diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..5038a347 --- /dev/null +++ b/.gitignore @@ -0,0 +1,20 @@ +# Environment variables +.env + +# Python +__pycache__/ +*.py[cod] +*$py.class + +# Virtual environments +venv/ +env/ +.venv/ + +# Django +*.log + +# Editors / OS +.vscode/ +.idea/ +.DS_Store diff --git a/FoodProject/.env b/FoodProject/.env deleted file mode 100644 index 44f9ae58..00000000 --- a/FoodProject/.env +++ /dev/null @@ -1 +0,0 @@ -SECRET_KEY=c@mzjzz2yu&idjufq$4k(gl_p5%e4x0f(k7(4))qqt*1k5w2p7 \ No newline at end of file diff --git a/FoodProject/.env.example b/FoodProject/.env.example new file mode 100644 index 00000000..399ece26 --- /dev/null +++ b/FoodProject/.env.example @@ -0,0 +1 @@ +SECRET_KEY=your-secret-key-here diff --git a/venv/bin/Activate.ps1 b/venv/bin/Activate.ps1 deleted file mode 100644 index 2fb3852c..00000000 --- a/venv/bin/Activate.ps1 +++ /dev/null @@ -1,241 +0,0 @@ -<# -.Synopsis -Activate a Python virtual environment for the current PowerShell session. - -.Description -Pushes the python executable for a virtual environment to the front of the -$Env:PATH environment variable and sets the prompt to signify that you are -in a Python virtual environment. Makes use of the command line switches as -well as the `pyvenv.cfg` file values present in the virtual environment. - -.Parameter VenvDir -Path to the directory that contains the virtual environment to activate. The -default value for this is the parent of the directory that the Activate.ps1 -script is located within. - -.Parameter Prompt -The prompt prefix to display when this virtual environment is activated. By -default, this prompt is the name of the virtual environment folder (VenvDir) -surrounded by parentheses and followed by a single space (ie. '(.venv) '). - -.Example -Activate.ps1 -Activates the Python virtual environment that contains the Activate.ps1 script. - -.Example -Activate.ps1 -Verbose -Activates the Python virtual environment that contains the Activate.ps1 script, -and shows extra information about the activation as it executes. - -.Example -Activate.ps1 -VenvDir C:\Users\MyUser\Common\.venv -Activates the Python virtual environment located in the specified location. - -.Example -Activate.ps1 -Prompt "MyPython" -Activates the Python virtual environment that contains the Activate.ps1 script, -and prefixes the current prompt with the specified string (surrounded in -parentheses) while the virtual environment is active. - -.Notes -On Windows, it may be required to enable this Activate.ps1 script by setting the -execution policy for the user. You can do this by issuing the following PowerShell -command: - -PS C:\> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser - -For more information on Execution Policies: -https://go.microsoft.com/fwlink/?LinkID=135170 - -#> -Param( - [Parameter(Mandatory = $false)] - [String] - $VenvDir, - [Parameter(Mandatory = $false)] - [String] - $Prompt -) - -<# Function declarations --------------------------------------------------- #> - -<# -.Synopsis -Remove all shell session elements added by the Activate script, including the -addition of the virtual environment's Python executable from the beginning of -the PATH variable. - -.Parameter NonDestructive -If present, do not remove this function from the global namespace for the -session. - -#> -function global:deactivate ([switch]$NonDestructive) { - # Revert to original values - - # The prior prompt: - if (Test-Path -Path Function:_OLD_VIRTUAL_PROMPT) { - Copy-Item -Path Function:_OLD_VIRTUAL_PROMPT -Destination Function:prompt - Remove-Item -Path Function:_OLD_VIRTUAL_PROMPT - } - - # The prior PYTHONHOME: - if (Test-Path -Path Env:_OLD_VIRTUAL_PYTHONHOME) { - Copy-Item -Path Env:_OLD_VIRTUAL_PYTHONHOME -Destination Env:PYTHONHOME - Remove-Item -Path Env:_OLD_VIRTUAL_PYTHONHOME - } - - # The prior PATH: - if (Test-Path -Path Env:_OLD_VIRTUAL_PATH) { - Copy-Item -Path Env:_OLD_VIRTUAL_PATH -Destination Env:PATH - Remove-Item -Path Env:_OLD_VIRTUAL_PATH - } - - # Just remove the VIRTUAL_ENV altogether: - if (Test-Path -Path Env:VIRTUAL_ENV) { - Remove-Item -Path env:VIRTUAL_ENV - } - - # Just remove the _PYTHON_VENV_PROMPT_PREFIX altogether: - if (Get-Variable -Name "_PYTHON_VENV_PROMPT_PREFIX" -ErrorAction SilentlyContinue) { - Remove-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Scope Global -Force - } - - # Leave deactivate function in the global namespace if requested: - if (-not $NonDestructive) { - Remove-Item -Path function:deactivate - } -} - -<# -.Description -Get-PyVenvConfig parses the values from the pyvenv.cfg file located in the -given folder, and returns them in a map. - -For each line in the pyvenv.cfg file, if that line can be parsed into exactly -two strings separated by `=` (with any amount of whitespace surrounding the =) -then it is considered a `key = value` line. The left hand string is the key, -the right hand is the value. - -If the value starts with a `'` or a `"` then the first and last character is -stripped from the value before being captured. - -.Parameter ConfigDir -Path to the directory that contains the `pyvenv.cfg` file. -#> -function Get-PyVenvConfig( - [String] - $ConfigDir -) { - Write-Verbose "Given ConfigDir=$ConfigDir, obtain values in pyvenv.cfg" - - # Ensure the file exists, and issue a warning if it doesn't (but still allow the function to continue). - $pyvenvConfigPath = Join-Path -Resolve -Path $ConfigDir -ChildPath 'pyvenv.cfg' -ErrorAction Continue - - # An empty map will be returned if no config file is found. - $pyvenvConfig = @{ } - - if ($pyvenvConfigPath) { - - Write-Verbose "File exists, parse `key = value` lines" - $pyvenvConfigContent = Get-Content -Path $pyvenvConfigPath - - $pyvenvConfigContent | ForEach-Object { - $keyval = $PSItem -split "\s*=\s*", 2 - if ($keyval[0] -and $keyval[1]) { - $val = $keyval[1] - - # Remove extraneous quotations around a string value. - if ("'""".Contains($val.Substring(0, 1))) { - $val = $val.Substring(1, $val.Length - 2) - } - - $pyvenvConfig[$keyval[0]] = $val - Write-Verbose "Adding Key: '$($keyval[0])'='$val'" - } - } - } - return $pyvenvConfig -} - - -<# Begin Activate script --------------------------------------------------- #> - -# Determine the containing directory of this script -$VenvExecPath = Split-Path -Parent $MyInvocation.MyCommand.Definition -$VenvExecDir = Get-Item -Path $VenvExecPath - -Write-Verbose "Activation script is located in path: '$VenvExecPath'" -Write-Verbose "VenvExecDir Fullname: '$($VenvExecDir.FullName)" -Write-Verbose "VenvExecDir Name: '$($VenvExecDir.Name)" - -# Set values required in priority: CmdLine, ConfigFile, Default -# First, get the location of the virtual environment, it might not be -# VenvExecDir if specified on the command line. -if ($VenvDir) { - Write-Verbose "VenvDir given as parameter, using '$VenvDir' to determine values" -} -else { - Write-Verbose "VenvDir not given as a parameter, using parent directory name as VenvDir." - $VenvDir = $VenvExecDir.Parent.FullName.TrimEnd("\\/") - Write-Verbose "VenvDir=$VenvDir" -} - -# Next, read the `pyvenv.cfg` file to determine any required value such -# as `prompt`. -$pyvenvCfg = Get-PyVenvConfig -ConfigDir $VenvDir - -# Next, set the prompt from the command line, or the config file, or -# just use the name of the virtual environment folder. -if ($Prompt) { - Write-Verbose "Prompt specified as argument, using '$Prompt'" -} -else { - Write-Verbose "Prompt not specified as argument to script, checking pyvenv.cfg value" - if ($pyvenvCfg -and $pyvenvCfg['prompt']) { - Write-Verbose " Setting based on value in pyvenv.cfg='$($pyvenvCfg['prompt'])'" - $Prompt = $pyvenvCfg['prompt']; - } - else { - Write-Verbose " Setting prompt based on parent's directory's name. (Is the directory name passed to venv module when creating the virutal environment)" - Write-Verbose " Got leaf-name of $VenvDir='$(Split-Path -Path $venvDir -Leaf)'" - $Prompt = Split-Path -Path $venvDir -Leaf - } -} - -Write-Verbose "Prompt = '$Prompt'" -Write-Verbose "VenvDir='$VenvDir'" - -# Deactivate any currently active virtual environment, but leave the -# deactivate function in place. -deactivate -nondestructive - -# Now set the environment variable VIRTUAL_ENV, used by many tools to determine -# that there is an activated venv. -$env:VIRTUAL_ENV = $VenvDir - -if (-not $Env:VIRTUAL_ENV_DISABLE_PROMPT) { - - Write-Verbose "Setting prompt to '$Prompt'" - - # Set the prompt to include the env name - # Make sure _OLD_VIRTUAL_PROMPT is global - function global:_OLD_VIRTUAL_PROMPT { "" } - Copy-Item -Path function:prompt -Destination function:_OLD_VIRTUAL_PROMPT - New-Variable -Name _PYTHON_VENV_PROMPT_PREFIX -Description "Python virtual environment prompt prefix" -Scope Global -Option ReadOnly -Visibility Public -Value $Prompt - - function global:prompt { - Write-Host -NoNewline -ForegroundColor Green "($_PYTHON_VENV_PROMPT_PREFIX) " - _OLD_VIRTUAL_PROMPT - } -} - -# Clear PYTHONHOME -if (Test-Path -Path Env:PYTHONHOME) { - Copy-Item -Path Env:PYTHONHOME -Destination Env:_OLD_VIRTUAL_PYTHONHOME - Remove-Item -Path Env:PYTHONHOME -} - -# Add the venv to the PATH -Copy-Item -Path Env:PATH -Destination Env:_OLD_VIRTUAL_PATH -$Env:PATH = "$VenvExecDir$([System.IO.Path]::PathSeparator)$Env:PATH" diff --git a/venv/bin/__pycache__/django-admin.cpython-38.pyc b/venv/bin/__pycache__/django-admin.cpython-38.pyc deleted file mode 100644 index 528db680..00000000 Binary files a/venv/bin/__pycache__/django-admin.cpython-38.pyc and /dev/null differ diff --git a/venv/bin/activate b/venv/bin/activate deleted file mode 100644 index acd42d2b..00000000 --- a/venv/bin/activate +++ /dev/null @@ -1,76 +0,0 @@ -# This file must be used with "source bin/activate" *from bash* -# you cannot run it directly - -deactivate () { - # reset old environment variables - if [ -n "${_OLD_VIRTUAL_PATH:-}" ] ; then - PATH="${_OLD_VIRTUAL_PATH:-}" - export PATH - unset _OLD_VIRTUAL_PATH - fi - if [ -n "${_OLD_VIRTUAL_PYTHONHOME:-}" ] ; then - PYTHONHOME="${_OLD_VIRTUAL_PYTHONHOME:-}" - export PYTHONHOME - unset _OLD_VIRTUAL_PYTHONHOME - fi - - # This should detect bash and zsh, which have a hash command that must - # be called to get it to forget past commands. Without forgetting - # past commands the $PATH changes we made may not be respected - if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then - hash -r - fi - - if [ -n "${_OLD_VIRTUAL_PS1:-}" ] ; then - PS1="${_OLD_VIRTUAL_PS1:-}" - export PS1 - unset _OLD_VIRTUAL_PS1 - fi - - unset VIRTUAL_ENV - if [ ! "${1:-}" = "nondestructive" ] ; then - # Self destruct! - unset -f deactivate - fi -} - -# unset irrelevant variables -deactivate nondestructive - -VIRTUAL_ENV="/home/cosmix-6/Downloads/FoodPlaza/venv" -export VIRTUAL_ENV - -_OLD_VIRTUAL_PATH="$PATH" -PATH="$VIRTUAL_ENV/bin:$PATH" -export PATH - -# unset PYTHONHOME if set -# this will fail if PYTHONHOME is set to the empty string (which is bad anyway) -# could use `if (set -u; : $PYTHONHOME) ;` in bash -if [ -n "${PYTHONHOME:-}" ] ; then - _OLD_VIRTUAL_PYTHONHOME="${PYTHONHOME:-}" - unset PYTHONHOME -fi - -if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT:-}" ] ; then - _OLD_VIRTUAL_PS1="${PS1:-}" - if [ "x(venv) " != x ] ; then - PS1="(venv) ${PS1:-}" - else - if [ "`basename \"$VIRTUAL_ENV\"`" = "__" ] ; then - # special case for Aspen magic directories - # see http://www.zetadev.com/software/aspen/ - PS1="[`basename \`dirname \"$VIRTUAL_ENV\"\``] $PS1" - else - PS1="(`basename \"$VIRTUAL_ENV\"`)$PS1" - fi - fi - export PS1 -fi - -# This should detect bash and zsh, which have a hash command that must -# be called to get it to forget past commands. Without forgetting -# past commands the $PATH changes we made may not be respected -if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then - hash -r -fi diff --git a/venv/bin/activate.csh b/venv/bin/activate.csh deleted file mode 100644 index 4397cb34..00000000 --- a/venv/bin/activate.csh +++ /dev/null @@ -1,37 +0,0 @@ -# This file must be used with "source bin/activate.csh" *from csh*. -# You cannot run it directly. -# Created by Davide Di Blasi . -# Ported to Python 3.3 venv by Andrew Svetlov - -alias deactivate 'test $?_OLD_VIRTUAL_PATH != 0 && setenv PATH "$_OLD_VIRTUAL_PATH" && unset _OLD_VIRTUAL_PATH; rehash; test $?_OLD_VIRTUAL_PROMPT != 0 && set prompt="$_OLD_VIRTUAL_PROMPT" && unset _OLD_VIRTUAL_PROMPT; unsetenv VIRTUAL_ENV; test "\!:*" != "nondestructive" && unalias deactivate' - -# Unset irrelevant variables. -deactivate nondestructive - -setenv VIRTUAL_ENV "/home/cosmix-6/Downloads/FoodPlaza/venv" - -set _OLD_VIRTUAL_PATH="$PATH" -setenv PATH "$VIRTUAL_ENV/bin:$PATH" - - -set _OLD_VIRTUAL_PROMPT="$prompt" - -if (! "$?VIRTUAL_ENV_DISABLE_PROMPT") then - if ("venv" != "") then - set env_name = "venv" - else - if (`basename "VIRTUAL_ENV"` == "__") then - # special case for Aspen magic directories - # see http://www.zetadev.com/software/aspen/ - set env_name = `basename \`dirname "$VIRTUAL_ENV"\`` - else - set env_name = `basename "$VIRTUAL_ENV"` - endif - endif - set prompt = "[$env_name] $prompt" - unset env_name -endif - -alias pydoc python -m pydoc - -rehash diff --git a/venv/bin/activate.fish b/venv/bin/activate.fish deleted file mode 100644 index ea909116..00000000 --- a/venv/bin/activate.fish +++ /dev/null @@ -1,75 +0,0 @@ -# This file must be used with ". bin/activate.fish" *from fish* (http://fishshell.org) -# you cannot run it directly - -function deactivate -d "Exit virtualenv and return to normal shell environment" - # reset old environment variables - if test -n "$_OLD_VIRTUAL_PATH" - set -gx PATH $_OLD_VIRTUAL_PATH - set -e _OLD_VIRTUAL_PATH - end - if test -n "$_OLD_VIRTUAL_PYTHONHOME" - set -gx PYTHONHOME $_OLD_VIRTUAL_PYTHONHOME - set -e _OLD_VIRTUAL_PYTHONHOME - end - - if test -n "$_OLD_FISH_PROMPT_OVERRIDE" - functions -e fish_prompt - set -e _OLD_FISH_PROMPT_OVERRIDE - functions -c _old_fish_prompt fish_prompt - functions -e _old_fish_prompt - end - - set -e VIRTUAL_ENV - if test "$argv[1]" != "nondestructive" - # Self destruct! - functions -e deactivate - end -end - -# unset irrelevant variables -deactivate nondestructive - -set -gx VIRTUAL_ENV "/home/cosmix-6/Downloads/FoodPlaza/venv" - -set -gx _OLD_VIRTUAL_PATH $PATH -set -gx PATH "$VIRTUAL_ENV/bin" $PATH - -# unset PYTHONHOME if set -if set -q PYTHONHOME - set -gx _OLD_VIRTUAL_PYTHONHOME $PYTHONHOME - set -e PYTHONHOME -end - -if test -z "$VIRTUAL_ENV_DISABLE_PROMPT" - # fish uses a function instead of an env var to generate the prompt. - - # save the current fish_prompt function as the function _old_fish_prompt - functions -c fish_prompt _old_fish_prompt - - # with the original prompt function renamed, we can override with our own. - function fish_prompt - # Save the return status of the last command - set -l old_status $status - - # Prompt override? - if test -n "(venv) " - printf "%s%s" "(venv) " (set_color normal) - else - # ...Otherwise, prepend env - set -l _checkbase (basename "$VIRTUAL_ENV") - if test $_checkbase = "__" - # special case for Aspen magic directories - # see http://www.zetadev.com/software/aspen/ - printf "%s[%s]%s " (set_color -b blue white) (basename (dirname "$VIRTUAL_ENV")) (set_color normal) - else - printf "%s(%s)%s" (set_color -b blue white) (basename "$VIRTUAL_ENV") (set_color normal) - end - end - - # Restore the return status of the previous command. - echo "exit $old_status" | . - _old_fish_prompt - end - - set -gx _OLD_FISH_PROMPT_OVERRIDE "$VIRTUAL_ENV" -end diff --git a/venv/bin/django-admin b/venv/bin/django-admin deleted file mode 100755 index cf62952d..00000000 --- a/venv/bin/django-admin +++ /dev/null @@ -1,8 +0,0 @@ -#!/home/cosmix-6/Downloads/FoodPlaza/venv/bin/python3 -# -*- coding: utf-8 -*- -import re -import sys -from django.core.management import execute_from_command_line -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) - sys.exit(execute_from_command_line()) diff --git a/venv/bin/django-admin.py b/venv/bin/django-admin.py deleted file mode 100755 index 04fa8375..00000000 --- a/venv/bin/django-admin.py +++ /dev/null @@ -1,21 +0,0 @@ -#!/home/cosmix-6/Downloads/FoodPlaza/venv/bin/python3 -# When the django-admin.py deprecation ends, remove this script. -import warnings - -from django.core import management - -try: - from django.utils.deprecation import RemovedInDjango40Warning -except ImportError: - raise ImportError( - 'django-admin.py was deprecated in Django 3.1 and removed in Django ' - '4.0. Please manually remove this script from your virtual environment ' - 'and use django-admin instead.' - ) - -if __name__ == "__main__": - warnings.warn( - 'django-admin.py is deprecated in favor of django-admin.', - RemovedInDjango40Warning, - ) - management.execute_from_command_line() diff --git a/venv/bin/easy_install b/venv/bin/easy_install deleted file mode 100755 index 608b4e8b..00000000 --- a/venv/bin/easy_install +++ /dev/null @@ -1,8 +0,0 @@ -#!/home/cosmix-6/Downloads/FoodPlaza/venv/bin/python3 -# -*- coding: utf-8 -*- -import re -import sys -from setuptools.command.easy_install import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) - sys.exit(main()) diff --git a/venv/bin/easy_install-3.8 b/venv/bin/easy_install-3.8 deleted file mode 100755 index 608b4e8b..00000000 --- a/venv/bin/easy_install-3.8 +++ /dev/null @@ -1,8 +0,0 @@ -#!/home/cosmix-6/Downloads/FoodPlaza/venv/bin/python3 -# -*- coding: utf-8 -*- -import re -import sys -from setuptools.command.easy_install import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) - sys.exit(main()) diff --git a/venv/bin/pip b/venv/bin/pip deleted file mode 100755 index d268dbf4..00000000 --- a/venv/bin/pip +++ /dev/null @@ -1,8 +0,0 @@ -#!/home/cosmix-6/Downloads/FoodPlaza/venv/bin/python3 -# -*- coding: utf-8 -*- -import re -import sys -from pip._internal.cli.main import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) - sys.exit(main()) diff --git a/venv/bin/pip3 b/venv/bin/pip3 deleted file mode 100755 index d268dbf4..00000000 --- a/venv/bin/pip3 +++ /dev/null @@ -1,8 +0,0 @@ -#!/home/cosmix-6/Downloads/FoodPlaza/venv/bin/python3 -# -*- coding: utf-8 -*- -import re -import sys -from pip._internal.cli.main import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) - sys.exit(main()) diff --git a/venv/bin/pip3.8 b/venv/bin/pip3.8 deleted file mode 100755 index d268dbf4..00000000 --- a/venv/bin/pip3.8 +++ /dev/null @@ -1,8 +0,0 @@ -#!/home/cosmix-6/Downloads/FoodPlaza/venv/bin/python3 -# -*- coding: utf-8 -*- -import re -import sys -from pip._internal.cli.main import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) - sys.exit(main()) diff --git a/venv/bin/python b/venv/bin/python deleted file mode 120000 index b8a0adbb..00000000 --- a/venv/bin/python +++ /dev/null @@ -1 +0,0 @@ -python3 \ No newline at end of file diff --git a/venv/bin/python3 b/venv/bin/python3 deleted file mode 120000 index ae65fdaa..00000000 --- a/venv/bin/python3 +++ /dev/null @@ -1 +0,0 @@ -/usr/bin/python3 \ No newline at end of file diff --git a/venv/bin/sqlformat b/venv/bin/sqlformat deleted file mode 100755 index 156f33db..00000000 --- a/venv/bin/sqlformat +++ /dev/null @@ -1,8 +0,0 @@ -#!/home/cosmix-6/Downloads/FoodPlaza/venv/bin/python3 -# -*- coding: utf-8 -*- -import re -import sys -from sqlparse.__main__ import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) - sys.exit(main()) diff --git a/venv/lib/python3.8/site-packages/Django-3.1.7.dist-info/AUTHORS b/venv/lib/python3.8/site-packages/Django-3.1.7.dist-info/AUTHORS deleted file mode 100644 index a77b219f..00000000 --- a/venv/lib/python3.8/site-packages/Django-3.1.7.dist-info/AUTHORS +++ /dev/null @@ -1,982 +0,0 @@ -Django was originally created in late 2003 at World Online, the Web division -of the Lawrence Journal-World newspaper in Lawrence, Kansas. - -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: - - Aaron Cannon - Aaron Swartz - Aaron T. Myers - Abeer Upadhyay - Abhijeet Viswa - Abhinav Patil - Abhishek Gautam - Adam Allred - Adam Bogdał - Adam Donaghy - Adam Johnson - Adam Malinowski - Adam Vandenberg - Adiyat Mubarak - Adnan Umer - Adrian Holovaty - Adrien Lemaire - Afonso Fernández Nogueira - AgarFu - Ahmad Alhashemi - Ahmad Al-Ibrahim - Ahmed Eltawela - ajs - Akash Agrawal - Akis Kesoglou - Aksel Ethem - Akshesh Doshi - alang@bright-green.com - Alasdair Nicol - Albert Wang - Alcides Fonseca - Aldian Fazrihady - Aleksandra Sendecka - Aleksi Häkli - Alexander Dutton - Alexander Myodov - Alexandr Tatarinov - Alex Aktsipetrov - Alex Becker - Alex Couper - Alex Dedul - Alex Gaynor - Alex Hill - Alex Ogier - Alex Robbins - Alexey Boriskin - Alexey Tsivunin - Aljosa Mohorovic - Amit Chakradeo - Amit Ramon - Amit Upadhyay - A. Murat Eren - Ana Belen Sarabia - Ana Krivokapic - Andi Albrecht - André Ericson - Andrei Kulakov - Andreas - Andreas Mock - Andreas Pelme - Andrés Torres Marroquín - Andrew Brehaut - Andrew Clark - Andrew Durdin - Andrew Godwin - Andrew Pinkham - Andrews Medina - Andriy Sokolovskiy - Andy Dustman - Andy Gayton - andy@jadedplanet.net - Anssi Kääriäinen - ant9000@netwise.it - Anthony Briggs - Anton Samarchyan - Antoni Aloy - Antonio Cavedoni - Antonis Christofides - Antti Haapala - Antti Kaihola - Anubhav Joshi - Aram Dulyan - arien - Armin Ronacher - Aron Podrigal - Artem Gnilov - Arthur - Arthur Koziel - Arthur Rio - Arvis Bickovskis - Aryeh Leib Taurog - A S Alam - Asif Saif Uddin - atlithorn - Audrey Roy - av0000@mail.ru - Axel Haustant - Aymeric Augustin - Bahadır Kandemir - Baishampayan Ghose - Baptiste Mispelon - Barry Pederson - Bartolome Sanchez Salado - Bartosz Grabski - Bashar Al-Abdulhadi - Bastian Kleineidam - Batiste Bieler - Batman - Batuhan Taskaya - Baurzhan Ismagulov - Ben Dean Kawamura - Ben Firshman - Ben Godfrey - Benjamin Wohlwend - Ben Khoo - Ben Slavin - Ben Sturmfels - Berker Peksag - Bernd Schlapsi - Bernhard Essl - berto - Bill Fenner - Bjørn Stabell - Bo Marchman - Bogdan Mateescu - Bojan Mihelac - Bouke Haarsma - Božidar Benko - Brad Melin - Brandon Chinn - Brant Harris - Brendan Hayward - Brendan Quinn - Brenton Simpson - Brett Cannon - Brett Hoerner - Brian Beck - Brian Fabian Crain - Brian Harring - Brian Helba - Brian Ray - Brian Rosner - Bruce Kroeze - Bruno Alla - Bruno Renié - brut.alll@gmail.com - Bryan Chow - Bryan Veloso - bthomas - btoll@bestweb.net - C8E - Caio Ariede - Calvin Spealman - Cameron Curry - Cameron Knight (ckknight) - Can Burak Çilingir - Can Sarıgöl - Carl Meyer - Carles Pina i Estany - Carlos Eduardo de Paula - Carlos Matías de la Torre - Carlton Gibson - cedric@terramater.net - Chad Whitman - ChaosKCW - Charlie Leifer - charly.wilhelm@gmail.com - Chason Chaffin - Cheng Zhang - Chris Adams - Chris Beaven - Chris Bennett - Chris Cahoon - Chris Chamberlin - Chris Jerdonek - Chris Jones - Chris Lamb - Chris Streeter - Christian Barcenas - Christian Metts - Christian Oudard - Christian Tanzer - Christoffer Sjöbergsson - Christophe Pettus - Christopher Adams - Christopher Babiak - Christopher Lenz - Christoph Mędrela - Chris Wagner - Chris Wesseling - Chris Wilson - Claude Paroz - Clint Ecker - colin@owlfish.com - Colin Wood - Collin Anderson - Collin Grady - Colton Hicks - Craig Blaszczyk - crankycoder@gmail.com - Curtis Maloney (FunkyBob) - dackze+django@gmail.com - Dagur Páll Ammendrup - Dane Springmeyer - Dan Fairs - Daniel Alves Barbosa de Oliveira Vaz - Daniel Duan - Daniele Procida - Daniel Greenfeld - dAniel hAhler - Daniel Jilg - Daniel Lindsley - Daniel Poelzleithner - Daniel Pyrathon - Daniel Roseman - Daniel Tao - Daniel Wiesmann - Danilo Bargen - Dan Johnson - Dan Palmer - Dan Poirier - Dan Stephenson - Dan Watson - dave@thebarproject.com - David Ascher - David Avsajanishvili - David Blewett - David Brenneman - David Cramer - David Danier - David Eklund - David Foster - David Gouldin - david@kazserve.org - David Krauth - David Larlet - David Reynolds - David Sanders - David Schein - David Tulig - David Wobrock - Davide Ceretti - Deep L. Sukhwani - Deepak Thukral - Denis Kuzmichyov - Dennis Schwertel - Derek Willis - Deric Crago - deric@monowerks.com - Deryck Hodge - Dimitris Glezos - Dirk Datzert - Dirk Eschler - Dmitri Fedortchenko - Dmitry Jemerov - dne@mayonnaise.net - Dolan Antenucci - Donald Harvey - Donald Stufft - Don Spaulding - Doug Beck - Doug Napoleone - dready - dusk@woofle.net - Dustyn Gibson - Ed Morley - eibaan@gmail.com - elky - Emmanuelle Delescolle - Emil Stenström - enlight - Enrico - Eric Boersma - Eric Brandwein - Eric Floehr - Eric Florenzano - Eric Holscher - Eric Moritz - Eric Palakovich Carr - Erik Karulf - Erik Romijn - eriks@win.tue.nl - Erwin Junge - Esdras Beleza - Espen Grindhaug - Eugene Lazutkin - Evan Grim - Fabrice Aneche - Farhaan Bukhsh - favo@exoweb.net - fdr - Federico Capoano - Felipe Lee - Filip Noetzel - Filip Wasilewski - Finn Gruwier Larsen - Flávio Juvenal da Silva Junior - flavio.curella@gmail.com - Florian Apolloner - Florian Moussous - Fran Hrženjak - Francisco Albarran Cristobal - Francisco Couzo - François Freitag - Frank Tegtmeyer - Frank Wierzbicki - Frank Wiles - František Malina - Fraser Nevett - Gabriel Grant - Gabriel Hurley - gandalf@owca.info - Garry Lawrence - Garry Polley - Garth Kidd - Gary Wilson - Gasper Koren - Gasper Zejn - Gavin Wahl - Ge Hanbin - geber@datacollect.com - Geert Vanderkelen - George Karpenkov - George Song - George Vilches - Georg "Hugo" Bauer - Georgi Stanojevski - Gerardo Orozco - Gil Gonçalves - Girish Kumar - Gisle Aas - Glenn Maynard - glin@seznam.cz - GomoX - Gonzalo Saavedra - Gopal Narayanan - Graham Carlyle - Grant Jenks - Greg Chapple - Gregor Allensworth - Gregor Müllegger - Grigory Fateyev - Grzegorz Ślusarek - Guilherme Mesquita Gondim - Guillaume Pannatier - Gustavo Picon - hambaloney - Hang Park - Hannes Ljungberg - Hannes Struß - Hasan Ramezani - Hawkeye - Helen Sherwood-Taylor - Henrique Romano - Henry Dang - Hidde Bultsma - Himanshu Chauhan - hipertracker@gmail.com - Hiroki Kiyohara - Honza Král - Horst Gutmann - Hugo Osvaldo Barrera - HyukJin Jang - Hyun Mi Ae - Iacopo Spalletti - Ian A Wilson - Ian Clelland - Ian G. Kelly - Ian Holsman - Ian Lee - Ibon - Idan Gazit - Idan Melamed - Ifedapo Olarewaju - Igor Kolar - Illia Volochii - Ilya Semenov - Ingo Klöcker - I.S. van Oostveen - ivan.chelubeev@gmail.com - Ivan Sagalaev (Maniac) - Jaap Roes - Jack Moffitt - Jacob Burch - Jacob Green - Jacob Kaplan-Moss - Jakub Paczkowski - Jakub Wilk - Jakub Wiśniowski - james_027@yahoo.com - James Aylett - James Bennett - James Murty - James Tauber - James Timmins - James Turk - James Wheare - Jannis Leidel - Janos Guljas - Jan Pazdziora - Jan Rademaker - Jarek Głowacki - Jarek Zgoda - Jason Davies (Esaj) - Jason Huggins - Jason McBrayer - jason.sidabras@gmail.com - Jason Yan - Javier Mansilla - Jay Parlar - Jay Welborn - Jay Wineinger - J. Clifford Dyer - jcrasta@gmail.com - jdetaeye - Jeff Anderson - Jeff Balogh - Jeff Hui - Jeffrey Gelens - Jeff Triplett - Jeffrey Yancey - Jens Diemer - Jens Page - Jensen Cochran - Jeong-Min Lee - Jérémie Blaser - Jeremy Bowman - Jeremy Carbaugh - Jeremy Dunck - Jeremy Lainé - Jesse Young - Jezeniel Zapanta - jhenry - Jim Dalton - Jimmy Song - Jiri Barton - Joachim Jablon - Joao Oliveira - Joao Pedro Silva - Joe Heck - Joel Bohman - Joel Heenan - Joel Watts - Joe Topjian - Johan C. Stöver - Johann Queuniet - john@calixto.net - John D'Agostino - John D'Ambrosio - John Huddleston - John Moses - John Paulett - John Shaffer - Jökull Sólberg Auðunsson - Jon Dufresne - Jonas Haag - Jonatas C. D. - Jonathan Buchanan - Jonathan Daugherty (cygnus) - Jonathan Feignberg - Jonathan Slenders - Jordan Dimov - Jordi J. Tablada - Jorge Bastida - Jorge Gajon - José Tomás Tocino García - Josef Rousek - Joseph Kocherhans - Josh Smeaton - Joshua Cannon - Joshua Ginsberg - Jozko Skrablin - J. Pablo Fernandez - jpellerin@gmail.com - Juan Catalano - Juan Manuel Caicedo - Juan Pedro Fisanotti - Julia Elman - Julia Matsieva - Julian Bez - Julien Phalip - Junyoung Choi - junzhang.jn@gmail.com - Jure Cuhalev - Justin Bronn - Justine Tunney - Justin Lilly - Justin Michalicek - Justin Myles Holmes - Jyrki Pulliainen - Kadesarin Sanjek - Karderio - Karen Tracey - Karol Sikora - Katherine “Kati” Michel - Kathryn Killebrew - Katie Miller - Keith Bussell - Kenneth Love - Kent Hauser - Kevin Grinberg - Kevin Kubasik - Kevin McConnell - Kieran Holland - kilian - Kim Joon Hwan 김준환 - Klaas van Schelven - knox - konrad@gwu.edu - Kowito Charoenratchatabhan - Krišjānis Vaiders - krzysiek.pawlik@silvermedia.pl - Krzysztof Jurewicz - Krzysztof Kulewski - kurtiss@meetro.com - Lakin Wecker - Lars Yencken - Lau Bech Lauritzen - Laurent Luce - Laurent Rahuel - lcordier@point45.com - Leah Culver - Leandra Finger - Lee Reilly - Lee Sanghyuck - Leo "hylje" Honkanen - Leo Shklovskii - Leo Soto - lerouxb@gmail.com - Lex Berezhny - Liang Feng - limodou - Lincoln Smith - Liu Yijie <007gzs@gmail.com> - Loek van Gent - Loïc Bistuer - Lowe Thiderman - Luan Pablo - Lucas Connors - Luciano Ramalho - Ludvig Ericson - Luis C. Berrocal - Łukasz Langa - Łukasz Rekucki - Luke Granger-Brown - Luke Plant - Maciej Fijalkowski - Maciej Wiśniowski - Mads Jensen - Makoto Tsuyuki - Malcolm Tredinnick - Manuel Saelices - Manuzhai - Marc Aymerich Gubern - Marc Egli - Marcel Telka - Marc Fargas - Marc Garcia - Marcin Wróbel - Marc Remolt - Marc Tamlyn - Marc-Aurèle Brothier - Marian Andre - Marijn Vriens - Mario Gonzalez - Mariusz Felisiak - Mark Biggers - Mark Gensler - mark@junklight.com - Mark Lavin - Mark Sandstrom - Markus Amalthea Magnuson - Markus Holtermann - Marten Kenbeek - Marti Raudsepp - martin.glueck@gmail.com - Martin Green - Martin Kosír - Martin Mahner - Martin Maney - Martin von Gagern - Mart Sõmermaa - Marty Alchin - Masashi Shibata - masonsimon+django@gmail.com - Massimiliano Ravelli - Massimo Scamarcia - Mathieu Agopian - Matías Bordese - Matt Boersma - Matt Croydon - Matt Deacalion Stevens - Matt Dennenbaum - Matthew Flanagan - Matthew Schinckel - Matthew Somerville - Matthew Tretter - Matthew Wilkes - Matthias Kestenholz - Matthias Pronk - Matt Hoskins - Matt McClanahan - Matt Riggott - Matt Robenolt - Mattia Larentis - Mattia Procopio - Mattias Loverot - mattycakes@gmail.com - Max Burstein - Max Derkachev - Max Smolens - Maxime Lorant - Maxime Turcotte - Maximilian Merz - Maximillian Dornseif - mccutchen@gmail.com - Meir Kriheli - Michael S. Brown - Michael Hall - Michael Josephson - Michael Manfre - michael.mcewan@gmail.com - Michael Placentra II - Michael Radziej - Michael Sanders - Michael Schwarz - Michael Sinov - Michael Thornhill - Michal Chruszcz - michal@plovarna.cz - Michał Modzelewski - Mihai Damian - Mihai Preda - Mikaël Barbero - Mike Axiak - Mike Grouchy - Mike Malone - Mike Richardson - Mike Wiacek - Mikhail Korobov - Mikko Hellsing - Mikołaj Siedlarek - milkomeda - Milton Waddams - mitakummaa@gmail.com - mmarshall - Moayad Mardini - Morgan Aubert - Moritz Sichert - Morten Bagai - msaelices - msundstr - Mushtaq Ali - Mykola Zamkovoi - Nadège Michel - Nagy Károly - Nasimul Haque - Nasir Hussain - Natalia Bidart - Nate Bragg - Nathan Gaberel - Neal Norwitz - Nebojša Dorđević - Ned Batchelder - Nena Kojadin - Niall Dalton - Niall Kelly - Nick Efford - Nick Lane - Nick Pope - Nick Presta - Nick Sandford - Nick Sarbicki - Niclas Olofsson - Nicola Larosa - Nicolas Lara - Nicolas Noé - Niran Babalola - Nis Jørgensen - Nowell Strite - Nuno Mariz - oggie rob - oggy - Oliver Beattie - Oliver Rutherfurd - Olivier Sels - Olivier Tabone - Orestis Markou - Orne Brocaar - Oscar Ramirez - Ossama M. Khayat - Owen Griffiths - Pablo Martín - Panos Laganakos - Paolo Melchiorre - Pascal Hartig - Pascal Varet - Patrik Sletmo - Paul Bissex - Paul Collier - Paul Collins - Paul Donohue - Paul Lanier - Paul McLanahan - Paul McMillan - Paulo Poiati - Paulo Scardine - Paul Smith - Pavel Kulikov - pavithran s - Pavlo Kapyshin - permonik@mesias.brnonet.cz - Petar Marić - Pete Crosier - peter@mymart.com - Peter Sheats - Peter van Kampen - Peter Zsoldos - Pete Shinners - Petr Marhoun - pgross@thoughtworks.com - phaedo - phil.h.smith@gmail.com - Philip Lindborg - Philippe Raoult - phil@produxion.net - Piotr Jakimiak - Piotr Lewandowski - plisk - polpak@yahoo.com - pradeep.gowda@gmail.com - Preston Holmes - Preston Timmons - Priyansh Saxena - Przemysław Buczkowski - Przemysław Suliga - Qi Zhao - Rachel Tobin - Rachel Willmer - Radek Švarz - Raffaele Salmaso - Rajesh Dhawan - Ramez Ashraf - Ramin Farajpour Cami - Ramiro Morales - Ramon Saraiva - Ram Rachum - Randy Barlow - Raphaël Barrois - Raphael Michel - Raúl Cumplido - Rebecca Smith - Remco Wendt - Renaud Parent - Renbi Yu - Reza Mohammadi - rhettg@gmail.com - Ricardo Javier Cárdenes Medina - ricardojbarrios@gmail.com - Riccardo Di Virgilio - Riccardo Magliocchetti - Richard Davies - Richard House - Rick Wagner - Rigel Di Scala - Robert Coup - Robert Myers - Roberto Aguilar - Robert Rock Howard - Robert Wittams - Rob Golding-Day - Rob Hudson - Rob Nguyen - Robin Munn - Rodrigo Pinheiro Marques de Araújo - Romain Garrigues - Ronny Haryanto - Ross Poulton - Rozza - Rudolph Froger - Rudy Mutter - Rune Rønde Laursen - Russell Cloran - Russell Keith-Magee - Russ Webber - Ryan Hall - ryankanno - Ryan Kelly - Ryan Niemeyer - Ryan Petrello - Ryan Rubin - Ryno Mathee - Sachin Jat - Sage M. Abdullah - Sam Newman - Sander Dijkhuis - Sanket Saurav - Sanyam Khurana - Sarthak Mehrish - schwank@gmail.com - Scot Hacker - Scott Barr - Scott Fitsimones - Scott Pashley - scott@staplefish.com - Sean Brant - Sebastian Hillig - Sebastian Spiegel - Segyo Myung - Selwin Ong - Sengtha Chay - Senko Rašić - serbaut@gmail.com - Sergei Maertens - Sergey Fedoseev - Sergey Kolosov - Seth Hill - Shai Berger - Shannon -jj Behrens - Shawn Milochik - Silvan Spross - Simeon Visser - Simon Blanchard - Simon Charette - Simon Greenhill - Simon Litchfield - Simon Meers - Simon Williams - Simon Willison - Sjoerd Job Postmus - Slawek Mikula - sloonz - smurf@smurf.noris.de - sopel - Srinivas Reddy Thatiparthy - Stanislas Guerra - Stanislaus Madueke - Stanislav Karpov - starrynight - Stefan R. Filipek - Stefane Fermgier - Stefano Rivera - Stéphane Raimbault - Stephan Jaekel - Stephen Burrows - Steven L. Smith (fvox13) - Steven Noorbergen (Xaroth) - Stuart Langridge - Subhav Gautam - Sujay S Kumar - Sune Kirkeby - Sung-Jin Hong - SuperJared - Susan Tan - Sutrisno Efendi - Swaroop C H - Szilveszter Farkas - Taavi Teska - Tai Lee - Takashi Matsuo - Tareque Hossain - Taylor Mitchell - Terry Huang - thebjorn - Thejaswi Puthraya - Thijs van Dien - Thom Wiggers - Thomas Chaumeny - Thomas Güttler - Thomas Kerpe - Thomas Sorrel - Thomas Steinacher - Thomas Stromberg - Thomas Tanner - tibimicu@gmx.net - Tim Allen - Tim Givois - Tim Graham - Tim Heap - Tim Saylor - Tobias Kunze - Tobias McNulty - tobias@neuyork.de - Todd O'Bryan - Tom Carrick - Tom Christie - Tom Forbes - Tom Insam - Tom Tobin - Tomáš Ehrlich - Tomáš Kopeček - Tome Cvitan - Tomek Paczkowski - Tomer Chachamu - Tommy Beadle - Tore Lundqvist - torne-django@wolfpuppy.org.uk - Travis Cline - Travis Pinney - Travis Swicegood - Travis Terry - Trevor Caira - Trey Long - tstromberg@google.com - tt@gurgle.no - Tyler Tarabula - Tyson Clugg - Tyson Tate - Unai Zalakain - Valentina Mukhamedzhanova - valtron - Vasiliy Stavenko - Vasil Vangelovski - Vibhu Agarwal - Victor Andrée - viestards.lists@gmail.com - Viktor Danyliuk - Ville Säävuori - Vinay Karanam - Vinay Sajip - Vincent Foley - Vinny Do - Vitaly Babiy - Vladimir Kuzma - Vlado - Vsevolod Solovyov - Vytis Banaitis - wam-djangobug@wamber.net - Wang Chun - Warren Smith - Waylan Limberg - Wiktor Kołodziej - Wiley Kestner - Wiliam Alves de Souza - Will Ayd - William Schwartz - Will Hardy - Wilson Miner - Wim Glenn - wojtek - Xavier Francisco - Xia Kai - Yann Fouillat - Yann Malet - Yasushi Masuda - ye7cakf02@sneakemail.com - ymasuda@ethercube.com - Yoong Kang Lim - Yusuke Miyazaki - Zac Hatfield-Dodds - Zachary Voase - Zach Liu - Zach Thompson - Zain Memon - Zak Johnson - Žan Anderle - Zbigniew Siciarz - zegor - Zeynel Özdemir - Zlatko Mašek - zriv - - -A big THANK YOU goes to: - - Rob Curley and Ralph Gage for letting us open-source Django. - - Frank Wiles for making excellent arguments for open-sourcing, and for - his sage sysadmin advice. - - Ian Bicking for convincing Adrian to ditch code generation. - - Mark Pilgrim for "Dive Into Python" (https://www.diveinto.org/python3/). - - Guido van Rossum for creating Python. diff --git a/venv/lib/python3.8/site-packages/Django-3.1.7.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/Django-3.1.7.dist-info/INSTALLER deleted file mode 100644 index a1b589e3..00000000 --- a/venv/lib/python3.8/site-packages/Django-3.1.7.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/venv/lib/python3.8/site-packages/Django-3.1.7.dist-info/LICENSE b/venv/lib/python3.8/site-packages/Django-3.1.7.dist-info/LICENSE deleted file mode 100644 index 5f4f225d..00000000 --- a/venv/lib/python3.8/site-packages/Django-3.1.7.dist-info/LICENSE +++ /dev/null @@ -1,27 +0,0 @@ -Copyright (c) Django Software Foundation and individual contributors. -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - 3. Neither the name of Django nor the names of its contributors may be used - to endorse or promote products derived from this software without - specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/venv/lib/python3.8/site-packages/Django-3.1.7.dist-info/LICENSE.python b/venv/lib/python3.8/site-packages/Django-3.1.7.dist-info/LICENSE.python deleted file mode 100644 index 8e1c6182..00000000 --- a/venv/lib/python3.8/site-packages/Django-3.1.7.dist-info/LICENSE.python +++ /dev/null @@ -1,265 +0,0 @@ -Django is licensed under the three-clause BSD license; see the file -LICENSE for details. - -Django includes code from the Python standard library, which is licensed under -the Python license, a permissive open source license. The copyright and license -is included below for compliance with Python's terms. - ----------------------------------------------------------------------- - -Copyright (c) 2001-present Python Software Foundation; All Rights Reserved - -A. HISTORY OF THE SOFTWARE -========================== - -Python was created in the early 1990s by Guido van Rossum at Stichting -Mathematisch Centrum (CWI, see http://www.cwi.nl) in the Netherlands -as a successor of a language called ABC. Guido remains Python's -principal author, although it includes many contributions from others. - -In 1995, Guido continued his work on Python at the Corporation for -National Research Initiatives (CNRI, see http://www.cnri.reston.va.us) -in Reston, Virginia where he released several versions of the -software. - -In May 2000, Guido and the Python core development team moved to -BeOpen.com to form the BeOpen PythonLabs team. In October of the same -year, the PythonLabs team moved to Digital Creations, which became -Zope Corporation. In 2001, the Python Software Foundation (PSF, see -https://www.python.org/psf/) was formed, a non-profit organization -created specifically to own Python-related Intellectual Property. -Zope Corporation was a sponsoring member of the PSF. - -All Python releases are Open Source (see http://www.opensource.org for -the Open Source Definition). Historically, most, but not all, Python -releases have also been GPL-compatible; the table below summarizes -the various releases. - - Release Derived Year Owner GPL- - from compatible? (1) - - 0.9.0 thru 1.2 1991-1995 CWI yes - 1.3 thru 1.5.2 1.2 1995-1999 CNRI yes - 1.6 1.5.2 2000 CNRI no - 2.0 1.6 2000 BeOpen.com no - 1.6.1 1.6 2001 CNRI yes (2) - 2.1 2.0+1.6.1 2001 PSF no - 2.0.1 2.0+1.6.1 2001 PSF yes - 2.1.1 2.1+2.0.1 2001 PSF yes - 2.1.2 2.1.1 2002 PSF yes - 2.1.3 2.1.2 2002 PSF yes - 2.2 and above 2.1.1 2001-now PSF yes - -Footnotes: - -(1) GPL-compatible doesn't mean that we're distributing Python under - the GPL. All Python licenses, unlike the GPL, let you distribute - a modified version without making your changes open source. The - GPL-compatible licenses make it possible to combine Python with - other software that is released under the GPL; the others don't. - -(2) According to Richard Stallman, 1.6.1 is not GPL-compatible, - because its license has a choice of law clause. According to - CNRI, however, Stallman's lawyer has told CNRI's lawyer that 1.6.1 - is "not incompatible" with the GPL. - -Thanks to the many outside volunteers who have worked under Guido's -direction to make these releases possible. - - -B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING PYTHON -=============================================================== - -PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2 --------------------------------------------- - -1. This LICENSE AGREEMENT is between the Python Software Foundation -("PSF"), and the Individual or Organization ("Licensee") accessing and -otherwise using this software ("Python") in source or binary form and -its associated documentation. - -2. Subject to the terms and conditions of this License Agreement, PSF hereby -grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce, -analyze, test, perform and/or display publicly, prepare derivative works, -distribute, and otherwise use Python alone or in any derivative version, -provided, however, that PSF's License Agreement and PSF's notice of copyright, -i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, -2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Python Software Foundation; -All Rights Reserved" are retained in Python alone or in any derivative version -prepared by Licensee. - -3. In the event Licensee prepares a derivative work that is based on -or incorporates Python or any part thereof, and wants to make -the derivative work available to others as provided herein, then -Licensee hereby agrees to include in any such work a brief summary of -the changes made to Python. - -4. PSF is making Python available to Licensee on an "AS IS" -basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR -IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT -INFRINGE ANY THIRD PARTY RIGHTS. - -5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON -FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS -A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, -OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. - -6. This License Agreement will automatically terminate upon a material -breach of its terms and conditions. - -7. Nothing in this License Agreement shall be deemed to create any -relationship of agency, partnership, or joint venture between PSF and -Licensee. This License Agreement does not grant permission to use PSF -trademarks or trade name in a trademark sense to endorse or promote -products or services of Licensee, or any third party. - -8. By copying, installing or otherwise using Python, Licensee -agrees to be bound by the terms and conditions of this License -Agreement. - - -BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0 -------------------------------------------- - -BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1 - -1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an -office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the -Individual or Organization ("Licensee") accessing and otherwise using -this software in source or binary form and its associated -documentation ("the Software"). - -2. Subject to the terms and conditions of this BeOpen Python License -Agreement, BeOpen hereby grants Licensee a non-exclusive, -royalty-free, world-wide license to reproduce, analyze, test, perform -and/or display publicly, prepare derivative works, distribute, and -otherwise use the Software alone or in any derivative version, -provided, however, that the BeOpen Python License is retained in the -Software, alone or in any derivative version prepared by Licensee. - -3. BeOpen is making the Software available to Licensee on an "AS IS" -basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR -IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT -INFRINGE ANY THIRD PARTY RIGHTS. - -4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE -SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS -AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY -DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. - -5. This License Agreement will automatically terminate upon a material -breach of its terms and conditions. - -6. This License Agreement shall be governed by and interpreted in all -respects by the law of the State of California, excluding conflict of -law provisions. Nothing in this License Agreement shall be deemed to -create any relationship of agency, partnership, or joint venture -between BeOpen and Licensee. This License Agreement does not grant -permission to use BeOpen trademarks or trade names in a trademark -sense to endorse or promote products or services of Licensee, or any -third party. As an exception, the "BeOpen Python" logos available at -http://www.pythonlabs.com/logos.html may be used according to the -permissions granted on that web page. - -7. By copying, installing or otherwise using the software, Licensee -agrees to be bound by the terms and conditions of this License -Agreement. - - -CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1 ---------------------------------------- - -1. This LICENSE AGREEMENT is between the Corporation for National -Research Initiatives, having an office at 1895 Preston White Drive, -Reston, VA 20191 ("CNRI"), and the Individual or Organization -("Licensee") accessing and otherwise using Python 1.6.1 software in -source or binary form and its associated documentation. - -2. Subject to the terms and conditions of this License Agreement, CNRI -hereby grants Licensee a nonexclusive, royalty-free, world-wide -license to reproduce, analyze, test, perform and/or display publicly, -prepare derivative works, distribute, and otherwise use Python 1.6.1 -alone or in any derivative version, provided, however, that CNRI's -License Agreement and CNRI's notice of copyright, i.e., "Copyright (c) -1995-2001 Corporation for National Research Initiatives; All Rights -Reserved" are retained in Python 1.6.1 alone or in any derivative -version prepared by Licensee. Alternately, in lieu of CNRI's License -Agreement, Licensee may substitute the following text (omitting the -quotes): "Python 1.6.1 is made available subject to the terms and -conditions in CNRI's License Agreement. This Agreement together with -Python 1.6.1 may be located on the Internet using the following -unique, persistent identifier (known as a handle): 1895.22/1013. This -Agreement may also be obtained from a proxy server on the Internet -using the following URL: http://hdl.handle.net/1895.22/1013". - -3. In the event Licensee prepares a derivative work that is based on -or incorporates Python 1.6.1 or any part thereof, and wants to make -the derivative work available to others as provided herein, then -Licensee hereby agrees to include in any such work a brief summary of -the changes made to Python 1.6.1. - -4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS" -basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR -IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT -INFRINGE ANY THIRD PARTY RIGHTS. - -5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON -1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS -A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1, -OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. - -6. This License Agreement will automatically terminate upon a material -breach of its terms and conditions. - -7. This License Agreement shall be governed by the federal -intellectual property law of the United States, including without -limitation the federal copyright law, and, to the extent such -U.S. federal law does not apply, by the law of the Commonwealth of -Virginia, excluding Virginia's conflict of law provisions. -Notwithstanding the foregoing, with regard to derivative works based -on Python 1.6.1 that incorporate non-separable material that was -previously distributed under the GNU General Public License (GPL), the -law of the Commonwealth of Virginia shall govern this License -Agreement only as to issues arising under or with respect to -Paragraphs 4, 5, and 7 of this License Agreement. Nothing in this -License Agreement shall be deemed to create any relationship of -agency, partnership, or joint venture between CNRI and Licensee. This -License Agreement does not grant permission to use CNRI trademarks or -trade name in a trademark sense to endorse or promote products or -services of Licensee, or any third party. - -8. By clicking on the "ACCEPT" button where indicated, or by copying, -installing or otherwise using Python 1.6.1, Licensee agrees to be -bound by the terms and conditions of this License Agreement. - - ACCEPT - - -CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2 --------------------------------------------------- - -Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam, -The Netherlands. All rights reserved. - -Permission to use, copy, modify, and distribute this software and its -documentation for any purpose and without fee is hereby granted, -provided that the above copyright notice appear in all copies and that -both that copyright notice and this permission notice appear in -supporting documentation, and that the name of Stichting Mathematisch -Centrum or CWI not be used in advertising or publicity pertaining to -distribution of the software without specific, written prior -permission. - -STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO -THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE -FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT -OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/venv/lib/python3.8/site-packages/Django-3.1.7.dist-info/METADATA b/venv/lib/python3.8/site-packages/Django-3.1.7.dist-info/METADATA deleted file mode 100644 index 55c50a9c..00000000 --- a/venv/lib/python3.8/site-packages/Django-3.1.7.dist-info/METADATA +++ /dev/null @@ -1,90 +0,0 @@ -Metadata-Version: 2.1 -Name: Django -Version: 3.1.7 -Summary: A high-level Python Web framework that encourages rapid development and clean, pragmatic design. -Home-page: https://www.djangoproject.com/ -Author: Django Software Foundation -Author-email: foundation@djangoproject.com -License: BSD-3-Clause -Project-URL: Documentation, https://docs.djangoproject.com/ -Project-URL: Release notes, https://docs.djangoproject.com/en/stable/releases/ -Project-URL: Funding, https://www.djangoproject.com/fundraising/ -Project-URL: Source, https://github.com/django/django -Project-URL: Tracker, https://code.djangoproject.com/ -Platform: UNKNOWN -Classifier: Development Status :: 5 - Production/Stable -Classifier: Environment :: Web Environment -Classifier: Framework :: Django -Classifier: Intended Audience :: Developers -Classifier: License :: OSI Approved :: BSD License -Classifier: Operating System :: OS Independent -Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3 :: Only -Classifier: Programming Language :: Python :: 3.6 -Classifier: Programming Language :: Python :: 3.7 -Classifier: Programming Language :: Python :: 3.8 -Classifier: Programming Language :: Python :: 3.9 -Classifier: Topic :: Internet :: WWW/HTTP -Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content -Classifier: Topic :: Internet :: WWW/HTTP :: WSGI -Classifier: Topic :: Software Development :: Libraries :: Application Frameworks -Classifier: Topic :: Software Development :: Libraries :: Python Modules -Requires-Python: >=3.6 -Requires-Dist: asgiref (<4,>=3.2.10) -Requires-Dist: pytz -Requires-Dist: sqlparse (>=0.2.2) -Provides-Extra: argon2 -Requires-Dist: argon2-cffi (>=16.1.0) ; extra == 'argon2' -Provides-Extra: bcrypt -Requires-Dist: bcrypt ; extra == 'bcrypt' - -====== -Django -====== - -Django is a high-level Python Web framework that encourages rapid development -and clean, pragmatic design. Thanks for checking it out. - -All documentation is in the "``docs``" directory and online at -https://docs.djangoproject.com/en/stable/. If you're just getting started, -here's how we recommend you read the docs: - -* First, read ``docs/intro/install.txt`` for instructions on installing Django. - -* Next, work through the tutorials in order (``docs/intro/tutorial01.txt``, - ``docs/intro/tutorial02.txt``, etc.). - -* If you want to set up an actual deployment server, read - ``docs/howto/deployment/index.txt`` for instructions. - -* You'll probably want to read through the topical guides (in ``docs/topics``) - next; from there you can jump to the HOWTOs (in ``docs/howto``) for specific - problems, and check out the reference (``docs/ref``) for gory details. - -* See ``docs/README`` for instructions on building an HTML version of the docs. - -Docs are updated rigorously. If you find any problems in the docs, or think -they should be clarified in any way, please take 30 seconds to fill out a -ticket here: https://code.djangoproject.com/newticket - -To get more help: - -* Join the ``#django`` channel on irc.freenode.net. Lots of helpful people hang - out there. See https://freenode.net/kb/answer/chat if you're new to IRC. - -* Join the django-users mailing list, or read the archives, at - https://groups.google.com/group/django-users. - -To contribute to Django: - -* Check out https://docs.djangoproject.com/en/dev/internals/contributing/ for - information about getting involved. - -To run Django's test suite: - -* Follow the instructions in the "Unit tests" section of - ``docs/internals/contributing/writing-code/unit-tests.txt``, published online at - https://docs.djangoproject.com/en/dev/internals/contributing/writing-code/unit-tests/#running-the-unit-tests - - diff --git a/venv/lib/python3.8/site-packages/Django-3.1.7.dist-info/RECORD b/venv/lib/python3.8/site-packages/Django-3.1.7.dist-info/RECORD deleted file mode 100644 index 32035a22..00000000 --- a/venv/lib/python3.8/site-packages/Django-3.1.7.dist-info/RECORD +++ /dev/null @@ -1,4346 +0,0 @@ -../../../bin/__pycache__/django-admin.cpython-38.pyc,, -../../../bin/django-admin,sha256=Su2Q1Xr6uCbP3bwhIVUdz7A2EIm-fNhbJCBxoVeCjyw,298 -../../../bin/django-admin.py,sha256=Pn4NyuLiOfbJedriyzMlXOSYwIoYB34w6oxCk80WMqE,643 -Django-3.1.7.dist-info/AUTHORS,sha256=MGEVNzjiuQ4gV18XkKKdUTzuAvBkLAXlg6GdXUmAf6A,37815 -Django-3.1.7.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -Django-3.1.7.dist-info/LICENSE,sha256=uEZBXRtRTpwd_xSiLeuQbXlLxUbKYSn5UKGM0JHipmk,1552 -Django-3.1.7.dist-info/LICENSE.python,sha256=KGS1UtMEsSD14oP7_VTQphIi5e4tJ_dmgieAi2_og3A,13227 -Django-3.1.7.dist-info/METADATA,sha256=RHeUWToj-OZ3obm9mNgEk2-lIt0NJvPcaSX_S4cN7Xw,3699 -Django-3.1.7.dist-info/RECORD,, -Django-3.1.7.dist-info/WHEEL,sha256=gm79cMopkncyn0iSnI0vQNiDJ8t9on0H4_iz-CrpXMk,92 -Django-3.1.7.dist-info/entry_points.txt,sha256=daYW_s0r8Z5eiRi_bNU6vodHqVUXQWzm-DHFOQHTV2Q,83 -Django-3.1.7.dist-info/top_level.txt,sha256=V_goijg9tfO20ox_7os6CcnPvmBavbxu46LpJiNLwjA,7 -django/__init__.py,sha256=p9dZqfx37hwm0IHM3cYxbRpAi1Gwb-YGGK7Z9JUTYMM,799 -django/__main__.py,sha256=9a5To1vQXqf2Jg_eh8nLvIc0GXmDjEXv4jE1QZEqBFk,211 -django/__pycache__/__init__.cpython-38.pyc,, -django/__pycache__/__main__.cpython-38.pyc,, -django/__pycache__/shortcuts.cpython-38.pyc,, -django/apps/__init__.py,sha256=t0F4yceU4SbybMeWBvpuE6RsGaENmQCVbNSdSuXiEMs,90 -django/apps/__pycache__/__init__.cpython-38.pyc,, -django/apps/__pycache__/config.cpython-38.pyc,, -django/apps/__pycache__/registry.cpython-38.pyc,, -django/apps/config.py,sha256=dqjIZ6ib8qPSJbGyyV7oTAQkg_WktfYx_kVos90mKbI,8708 -django/apps/registry.py,sha256=LY1_wYiHKjGZCKPmAB612fUje69mtrkth5vhBvE5UrM,17513 -django/bin/__pycache__/django-admin.cpython-38.pyc,, -django/bin/django-admin.py,sha256=jrlSFh4UnmMJLqRJNdJKgA_2nm24FYIEUBM0kL2RV8s,656 -django/conf/__init__.py,sha256=6PcRcHld2n0qDBVhnYBorOIKB6tOgMHYEutafiCAf44,10442 -django/conf/__pycache__/__init__.cpython-38.pyc,, -django/conf/__pycache__/global_settings.cpython-38.pyc,, -django/conf/app_template/__init__.py-tpl,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/app_template/admin.py-tpl,sha256=suMo4x8I3JBxAFBVIdE-5qnqZ6JAZV0FESABHOSc-vg,63 -django/conf/app_template/apps.py-tpl,sha256=lZ1k1B3K5ntPWSn-CSd0cvDuijeoQE43wztE0tXyeMQ,114 -django/conf/app_template/migrations/__init__.py-tpl,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/app_template/models.py-tpl,sha256=Vjc0p2XbAPgE6HyTF6vll98A4eDhA5AvaQqsc4kQ9AQ,57 -django/conf/app_template/tests.py-tpl,sha256=mrbGGRNg5jwbTJtWWa7zSKdDyeB4vmgZCRc2nk6VY-g,60 -django/conf/app_template/views.py-tpl,sha256=xc1IQHrsij7j33TUbo-_oewy3vs03pw_etpBWaMYJl0,63 -django/conf/global_settings.py,sha256=F4WSH7wGc-XLhcqbu53eLDguKnwQzFqAurYYZEtJYvQ,22667 -django/conf/locale/__init__.py,sha256=p8Y9IkNAxKfnaUwQ1OFUkWIciMjd1XmuDXm1EkYPuYY,13451 -django/conf/locale/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/af/LC_MESSAGES/django.mo,sha256=3KYsjZe0UVNs12pbY1C71twF3KuIQAnLD6yyFPxG0CM,21840 -django/conf/locale/af/LC_MESSAGES/django.po,sha256=v1ebpND1kYlrQFEWhYwCq-Zbe1ujvf3xYqcmUBDmvZk,26530 -django/conf/locale/ar/LC_MESSAGES/django.mo,sha256=QO9CMIzKOV56Mve13lc3KvkbLTQXNDxizLNsYzQWs78,35328 -django/conf/locale/ar/LC_MESSAGES/django.po,sha256=wtuLy6Ty3XdTicasSbv_2TZXM75KUQCFt3oXad_iiD0,38269 -django/conf/locale/ar/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/ar/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/ar/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/ar/formats.py,sha256=nm5cnBh1YYjwD4eydBZ5AoknwN54piwrpB25ijpDT-o,696 -django/conf/locale/ar_DZ/LC_MESSAGES/django.mo,sha256=1LjYIo3qTIliodHd4Mm7Gmh2tzuZRZzc6s0zohGsiNU,35409 -django/conf/locale/ar_DZ/LC_MESSAGES/django.po,sha256=a5lRnz_D4NgsMxCnU_lxE8JsQb3VEfXQ3xIXgH-VQrI,38151 -django/conf/locale/ar_DZ/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/ar_DZ/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/ar_DZ/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/ar_DZ/formats.py,sha256=qYoVLwXYkSbP13DGt8xHaNzru9v-7rhl_vUrpdz3Aos,907 -django/conf/locale/ast/LC_MESSAGES/django.mo,sha256=XSStt50HP-49AJ8wFcnbn55SLncJCsS2lx_4UwK-h-8,15579 -django/conf/locale/ast/LC_MESSAGES/django.po,sha256=7qZUb5JjfrWLqtXPRjpNOMNycbcsEYpNO-oYmazLTk4,23675 -django/conf/locale/az/LC_MESSAGES/django.mo,sha256=lsm6IvKmBmUxUCqVW3RowQxKXd6TPzwGKGw7jeO5FX0,27170 -django/conf/locale/az/LC_MESSAGES/django.po,sha256=yO6Qd6eTX9Z9JRVAynpwlZNz8Q8VFgNEkjw8-v9A-Ck,29059 -django/conf/locale/az/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/az/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/az/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/az/formats.py,sha256=Nk4qQqSl5CVtmA2sPA2WQAm12JZowENXH3TjiMxFZuk,1105 -django/conf/locale/be/LC_MESSAGES/django.mo,sha256=X1pJgJpw9oKz9KcZm__XqHEWJOV0xcNDKDnPHZ2x-zI,36053 -django/conf/locale/be/LC_MESSAGES/django.po,sha256=0SzhqeDH3FTgqUFeHbJj_N8MY1mN2bu46mUSZGkd2JI,38428 -django/conf/locale/bg/LC_MESSAGES/django.mo,sha256=CEeXFNvizpLjS7RcTeiohGJN_s6YqpPn8JUMwjb6lHY,23422 -django/conf/locale/bg/LC_MESSAGES/django.po,sha256=4YwzvFO8IBWjWbMIMBMZBa9HnbJHWoI24zD1cWhl1tI,30133 -django/conf/locale/bg/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/bg/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/bg/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/bg/formats.py,sha256=iC9zYHKphMaSnluBZfYvH1kV5aDyl3ycsqVjxOoqfOY,705 -django/conf/locale/bn/LC_MESSAGES/django.mo,sha256=sB0RIFrGS11Z8dx5829oOFw55vuO4vty3W4oVzIEe8Q,16660 -django/conf/locale/bn/LC_MESSAGES/django.po,sha256=rF9vML3LDOqXkmK6R_VF3tQaFEoZI7besJAPx5qHNM0,26877 -django/conf/locale/bn/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/bn/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/bn/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/bn/formats.py,sha256=INeNl0xlt9B-YJTkcdC2kSpJLly9d5AKT60GMyS-Bm4,964 -django/conf/locale/br/LC_MESSAGES/django.mo,sha256=lTdZNxvMgfKvAPfGVi0cKtlKK50mipozyK5-8yi22_4,14107 -django/conf/locale/br/LC_MESSAGES/django.po,sha256=0FLEdwwpjKSzcwwmZ7tG_OaQbZn8WQ0LdJXPDf6cUl0,24055 -django/conf/locale/bs/LC_MESSAGES/django.mo,sha256=Xa5QAbsHIdLkyG4nhLCD4UHdCngrw5Oh120abCNdWlA,10824 -django/conf/locale/bs/LC_MESSAGES/django.po,sha256=IB-2VvrQKUivAMLMpQo1LGRAxw3kj-7kB6ckPai0fug,22070 -django/conf/locale/bs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/bs/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/bs/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/bs/formats.py,sha256=NltIKZw0-WnZW0QY2D2EqqdctUyNc8FEARZ1RRYKtHo,705 -django/conf/locale/ca/LC_MESSAGES/django.mo,sha256=9RaSVgL7-567kx_8eYF6TEAuQA8bN4_WpcLSxjvkDV4,27023 -django/conf/locale/ca/LC_MESSAGES/django.po,sha256=8xpXWi070UeQ7eQzAWDCuVUT81b6O8jenXFzVZHlqGg,29386 -django/conf/locale/ca/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/ca/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/ca/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/ca/formats.py,sha256=rQJTIIy-DNSu0mASIoXLHWpS8rVar64zkJ-NTM1VMTM,951 -django/conf/locale/cs/LC_MESSAGES/django.mo,sha256=tfSDkvHcCouR32fPtVLbASKex8SyPjpWnXHOgPNYJ00,28954 -django/conf/locale/cs/LC_MESSAGES/django.po,sha256=rhJ-S8NG7kwZ8SDbPvvLwhhqpU2uhtNNYYUEG5CrwJs,31558 -django/conf/locale/cs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/cs/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/cs/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/cs/formats.py,sha256=SdYIul8ycV5SOzm1gCYmZLqYfZnlxqPbPFW8KuwevnM,1549 -django/conf/locale/cy/LC_MESSAGES/django.mo,sha256=s7mf895rsoiqrPrXpyWg2k85rN8umYB2aTExWMTux7s,18319 -django/conf/locale/cy/LC_MESSAGES/django.po,sha256=S-1PVWWVgYmugHoYUlmTFAzKCpI81n9MIAhkETbpUoo,25758 -django/conf/locale/cy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/cy/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/cy/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/cy/formats.py,sha256=Rg9qe-bsk7MXrSfQyDOHOsa9m0qey18nqocar93GuF4,1594 -django/conf/locale/da/LC_MESSAGES/django.mo,sha256=hLPWq5n55KATqCgWxksi67HlyEFxy0Mfk-_8jA4N7uk,26751 -django/conf/locale/da/LC_MESSAGES/django.po,sha256=m13HiaEFwyY5XZTfM_bovCIRxqtT7L6VsZT0XRcOaYk,28935 -django/conf/locale/da/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/da/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/da/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/da/formats.py,sha256=jquE6tLj9nOxcGtH_326w57sH9BKhP4BKtPz6eCi4k8,941 -django/conf/locale/de/LC_MESSAGES/django.mo,sha256=mJi5sIz8AXi5UG37KwF3ZeuqyCM4wAKXZ6qTeDgauTU,28125 -django/conf/locale/de/LC_MESSAGES/django.po,sha256=G_HkvboL5tJNlY3b-B3k0UXvXIPLz_2tJX5zJZCMqko,30312 -django/conf/locale/de/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/de/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/de/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/de/formats.py,sha256=cboIdd5DucaqpBdqckaZG6rEhu-OYubCNzrq-qYx0Uo,992 -django/conf/locale/de_CH/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/de_CH/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/de_CH/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/de_CH/formats.py,sha256=5lLsOvaCPtpJh-dlv9Ag75MeecDBeTyCJWJeHyt9oBA,1336 -django/conf/locale/dsb/LC_MESSAGES/django.mo,sha256=1I8ERqJyZO7J0Ul6fN_hgbxJwIeijf-LlshP3NvnALE,29482 -django/conf/locale/dsb/LC_MESSAGES/django.po,sha256=-ZBXFr_Q43KCTI07mvwvNEYD0PpJ_APGoHBtsjXi97E,31754 -django/conf/locale/el/LC_MESSAGES/django.mo,sha256=0s3haoOvNv89_-eypEed6GNJLnlTs7d-PZOF-XCB1Hg,26805 -django/conf/locale/el/LC_MESSAGES/django.po,sha256=T9bh5i35dma3C2TOQxfO21vpfR8OIgzzKzf6L7iU54w,32398 -django/conf/locale/el/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/el/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/el/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/el/formats.py,sha256=w_3KgU9IKNr7BUQw81drogSqEyK8Zw8W0O73EGiRxIw,1257 -django/conf/locale/en/LC_MESSAGES/django.mo,sha256=mVpSj1AoAdDdW3zPZIg5ZDsDbkSUQUMACg_BbWHGFig,356 -django/conf/locale/en/LC_MESSAGES/django.po,sha256=k8scUVAX1Rvyjcq1FadGCBG36MvPQHsr-XU6tEy4K8Y,29161 -django/conf/locale/en/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/en/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/en/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/en/formats.py,sha256=sr2fzOex-HRdvbYTr_bUiZFSQWyPpN2y5eq_h6zyceQ,1620 -django/conf/locale/en_AU/LC_MESSAGES/django.mo,sha256=js3_n3k5hOtU15__AYZ7pFtpfubIeoXZlav05O27sNg,15223 -django/conf/locale/en_AU/LC_MESSAGES/django.po,sha256=lvkcp457FspF5rNwHKY4RndXCdcjaRVygndWRsdKm4M,23302 -django/conf/locale/en_AU/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/en_AU/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/en_AU/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/en_AU/formats.py,sha256=q_a1ONYb130Lb5XIAbkbFRO_qgRk71tDi2grqiClAhw,1889 -django/conf/locale/en_GB/LC_MESSAGES/django.mo,sha256=jSIe44HYGfzQlPtUZ8tWK2vCYM9GqCKs-CxLURn4e1o,12108 -django/conf/locale/en_GB/LC_MESSAGES/django.po,sha256=PTXvOpkxgZFRoyiqftEAuMrFcYRLfLDd6w0K8crN8j4,22140 -django/conf/locale/en_GB/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/en_GB/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/en_GB/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/en_GB/formats.py,sha256=vJUVE_XIGGcwvGiO6tl2oNNzKSz1KjYOc8HnSvqhokg,1889 -django/conf/locale/eo/LC_MESSAGES/django.mo,sha256=bxU_9NOlTR6Y5lF31RzX8otmOmJ_haJSm_VA7ox-m2s,20345 -django/conf/locale/eo/LC_MESSAGES/django.po,sha256=D1OnehULWo53ynakFoFLSDJ6-G20QWJNFDPRnicO1E8,25725 -django/conf/locale/eo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/eo/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/eo/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/eo/formats.py,sha256=MTipqX6SDmgmGbY9gVTMdthz2lvF_caBNgzWDxYVt50,2162 -django/conf/locale/es/LC_MESSAGES/django.mo,sha256=dfLZcWiauB1DEA7Gf3J-tfCOEdW9YuHRpD1uWGteYwE,27452 -django/conf/locale/es/LC_MESSAGES/django.po,sha256=HyupuyICGSzFB1m43o3iN9kea-N77u9zpNUbXnFuhI8,30412 -django/conf/locale/es/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/es/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/es/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/es/formats.py,sha256=Z-aM3Z7h7Fjk2SAWKhnUYiuKbHpc7nZZ3-wnelK0NwI,949 -django/conf/locale/es_AR/LC_MESSAGES/django.mo,sha256=NA7l1jW0K6sB6rkt_lzYuXxxxTYVKV9dGRdgaRV6u4I,27837 -django/conf/locale/es_AR/LC_MESSAGES/django.po,sha256=fXf-IRuf4zw5zuqV1_GmV1ic2kOd6I5-ZzO_w9ZKAqU,29842 -django/conf/locale/es_AR/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/es_AR/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/es_AR/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/es_AR/formats.py,sha256=wY64-6a2hajRveIgJLpkKES_v-QejkkgExdnnJdYN1E,935 -django/conf/locale/es_CO/LC_MESSAGES/django.mo,sha256=ehUwvqz9InObH3fGnOLuBwivRTVMJriZmJzXcJHsfjc,18079 -django/conf/locale/es_CO/LC_MESSAGES/django.po,sha256=XRgn56QENxEixlyix3v4ZSTSjo4vn8fze8smkrv_gc4,25107 -django/conf/locale/es_CO/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/es_CO/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/es_CO/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/es_CO/formats.py,sha256=kvTsKSaK7oDWK6a-SeO3V3e__64SjtDBMWoq0ouVDJ4,700 -django/conf/locale/es_MX/LC_MESSAGES/django.mo,sha256=TLNwa9mcfepZqvKH4Xz2URNnKkAxc4Xs_QiwWrJZfuc,14677 -django/conf/locale/es_MX/LC_MESSAGES/django.po,sha256=0loQLEyEIgqNF8mQ3ZZKfOREOfK_l90ANCvu5mMdBKQ,23643 -django/conf/locale/es_MX/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/es_MX/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/es_MX/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/es_MX/formats.py,sha256=tny9CPrJJV5qRJ_myuiQ8fMfg3fnNtv3q6aOSxLdK0E,799 -django/conf/locale/es_NI/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/es_NI/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/es_NI/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/es_NI/formats.py,sha256=QMfHoEWcpR_8yLaE66w5UjmPjtgTAU7Yli8JHgSxGRI,740 -django/conf/locale/es_PR/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/es_PR/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/es_PR/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/es_PR/formats.py,sha256=mYKWumkfGElGDL92G0nO_loBoSOOFKs0ktsI3--nlLQ,671 -django/conf/locale/es_VE/LC_MESSAGES/django.mo,sha256=h-h1D_Kr-LI_DyUJuIG4Zbu1HcLWTM1s5X515EYLXO8,18840 -django/conf/locale/es_VE/LC_MESSAGES/django.po,sha256=Xj38imu4Yw-Mugwge5CqAqWlcnRWnAKpVBPuL06Twjs,25494 -django/conf/locale/et/LC_MESSAGES/django.mo,sha256=vmjgAq53BWS6BMK7TyW9r0cG8df_zTVyutkgXOVtcD4,26906 -django/conf/locale/et/LC_MESSAGES/django.po,sha256=cSiMy_crDIXWBiVvkraHtLlAeJDQVexBlNoNqCUhiFw,29115 -django/conf/locale/et/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/et/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/et/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/et/formats.py,sha256=kD0IrKxW4AlMhS6fUEXUtyPWfsdLuBzdDHiEmdfzadQ,707 -django/conf/locale/eu/LC_MESSAGES/django.mo,sha256=l07msMSyWE5fXmpWA4jp2NiKKG1ej3u017HiiimXYGs,20737 -django/conf/locale/eu/LC_MESSAGES/django.po,sha256=BIJfur2Wiu4t0W6byiOxrtpmBL71klxHGMnko-O87Ro,26140 -django/conf/locale/eu/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/eu/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/eu/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/eu/formats.py,sha256=R-Ex1e1CoDDIul2LGuhXH5-ZBsiRpTerqxqRAmB8gFM,749 -django/conf/locale/fa/LC_MESSAGES/django.mo,sha256=lzheZNAes4Yq4lJZ7XYDXDRJ8CUB5FdWAG2zPteFSA0,31785 -django/conf/locale/fa/LC_MESSAGES/django.po,sha256=xgG_pnAOa3Jpa1_JDHFIXmkjs0cZqpeKtxpGQJo9GOQ,34225 -django/conf/locale/fa/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/fa/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/fa/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/fa/formats.py,sha256=RCDlj-iiAS7MVgWwOFSvQ_-QROhBm-7d8OP6QhkcGZw,722 -django/conf/locale/fi/LC_MESSAGES/django.mo,sha256=viTrM0ADENZR4_Y23NVhNUTQQhBUbpee1gLj5zYrtc8,26719 -django/conf/locale/fi/LC_MESSAGES/django.po,sha256=OQcsYcDQGUcfj3upbSj1zpoR8WZ8AIECIuS7NviAazA,28829 -django/conf/locale/fi/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/fi/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/fi/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/fi/formats.py,sha256=j0LGmhPEQWf6rpShWVu5Vk-C7PaZrjZNpYzQf0HPAGA,1241 -django/conf/locale/fr/LC_MESSAGES/django.mo,sha256=cArVE_JGFylNC-OWW_413YW8wdWYP0sxdA8q6tpen_0,28377 -django/conf/locale/fr/LC_MESSAGES/django.po,sha256=pKv-rowathPrPR80qHYUwA9Ka44Yr3_8RbVS9wq8Mkg,30557 -django/conf/locale/fr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/fr/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/fr/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/fr/formats.py,sha256=3cj753pnN0YY-EUjyCIkiSAnpHpoE02eNB9UCtd2d88,1286 -django/conf/locale/fy/LC_MESSAGES/django.mo,sha256=9P7zoJtaYHfXly8d6zBoqkxLM98dO8uI6nmWtsGu-lM,2286 -django/conf/locale/fy/LC_MESSAGES/django.po,sha256=jveK-2MjopbqC9jWcrYbttIb4DUmFyW1_-0tYaD6R0I,19684 -django/conf/locale/fy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/fy/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/fy/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/fy/formats.py,sha256=mJXj1dHUnO883PYWPwuI07CNbjmnfBTQVRXZMg2hmOk,658 -django/conf/locale/ga/LC_MESSAGES/django.mo,sha256=abQpDgeTUIdZzldVuZLZiBOgf1s2YVSyrvEhxwl0GK8,14025 -django/conf/locale/ga/LC_MESSAGES/django.po,sha256=rppcWQVozZdsbl7Gud6KnJo6yDB8T0xH6hvIiLFi_zA,24343 -django/conf/locale/ga/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/ga/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/ga/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/ga/formats.py,sha256=Kotsp4o-6XvJ1sQrxIaab3qEW2k4oyPdJhcqvlgbGnU,682 -django/conf/locale/gd/LC_MESSAGES/django.mo,sha256=EcPtHahWVl2locL8_S7j0m_AYIcHUAuyRAuyt-ImMmI,30071 -django/conf/locale/gd/LC_MESSAGES/django.po,sha256=ODcoe7qHwVYlTmwGWzmN0hx6JwwtioLLRAC_CElf-m4,32441 -django/conf/locale/gd/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/gd/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/gd/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/gd/formats.py,sha256=tWbR1bTImiH457bq3pEyqdr4H2ONUdhOv2rZ2cYUdC8,715 -django/conf/locale/gl/LC_MESSAGES/django.mo,sha256=utB99vnkb5SLff8K0i3gFI8Nu_eirBxDEpFKbZ_voPY,14253 -django/conf/locale/gl/LC_MESSAGES/django.po,sha256=rvhCJsURGjM2ekm6NBjY5crVGc5lrQv2qpHj35dM3qc,23336 -django/conf/locale/gl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/gl/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/gl/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/gl/formats.py,sha256=Tr41ECf7XNn4iekgPGUSKI6-lDkcHj1SaHno5gPa5hw,757 -django/conf/locale/he/LC_MESSAGES/django.mo,sha256=6SM5oV1-EvXtELx77SyH16DCtJ2mgr2v6NliXrYD2Pw,31202 -django/conf/locale/he/LC_MESSAGES/django.po,sha256=pnL2ePAMKbg9JiEHJtTaMEvdVufJMeqBfKNumCKlqKE,33600 -django/conf/locale/he/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/he/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/he/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/he/formats.py,sha256=-3Yt81fQFRo7ZwRpwTdTTDLLtbMdGSyC5n5RWcnqINU,712 -django/conf/locale/hi/LC_MESSAGES/django.mo,sha256=Zi72xDA1RVm3S5Y9_tRA52_wke8PlvomklvUJBXwiF0,17619 -django/conf/locale/hi/LC_MESSAGES/django.po,sha256=R_DRspzGYZ5XxXS4OvpVD4EEVZ9LY3NzrfzD2LbXqIg,27594 -django/conf/locale/hi/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/hi/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/hi/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/hi/formats.py,sha256=dBY0JvWinGeNiDy4ZrnrtPaZQdwU7JugkzHE22C-M0A,684 -django/conf/locale/hr/LC_MESSAGES/django.mo,sha256=HP4PCb-i1yYsl5eqCamg5s3qBxZpS_aXDDKZ4Hlbbcc,19457 -django/conf/locale/hr/LC_MESSAGES/django.po,sha256=qeVJgKiAv5dKR2msD2iokSOApZozB3Gp0xqzC09jnvs,26329 -django/conf/locale/hr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/hr/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/hr/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/hr/formats.py,sha256=raeIndCpFhC146U_RnfVZPgBzqyHSEYRmWytkuYXvsY,1802 -django/conf/locale/hsb/LC_MESSAGES/django.mo,sha256=2EIq5zZ9r51R_HmLA-qkXuaK_EX5RMncotQ_aImv0zo,29151 -django/conf/locale/hsb/LC_MESSAGES/django.po,sha256=pK8JDHotB8FtQ5XgOVF-oNKaSh7FELTSyBkuEEojvoY,31395 -django/conf/locale/hu/LC_MESSAGES/django.mo,sha256=Ff2nkbTDAM1TyoExy_RrIWfVnP2vui4maBOPkNa1Tz4,28150 -django/conf/locale/hu/LC_MESSAGES/django.po,sha256=VWzRTIJq9LEbs1Mw2gZJNYgGuBj_TVx4W7HRozYlDP0,30435 -django/conf/locale/hu/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/hu/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/hu/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/hu/formats.py,sha256=weO4ndGVlEDNDLKYi2YRtCeyxoUj2kSrYYPO_cV1I7Q,1008 -django/conf/locale/hy/LC_MESSAGES/django.mo,sha256=KfmTnB-3ZUKDHeNgLiego2Af0WZoHTuNKss3zE-_XOE,22207 -django/conf/locale/hy/LC_MESSAGES/django.po,sha256=kNKlJ5NqZmeTnnxdqhmU3kXiqT9t8MgAFgxM2V09AIc,28833 -django/conf/locale/ia/LC_MESSAGES/django.mo,sha256=drP4pBfkeaVUGO2tAB6r-IUu2cvDQiOWUJfPqsA0iEo,18430 -django/conf/locale/ia/LC_MESSAGES/django.po,sha256=VKowp9naiGfou8TrMutWPoUob-tDFB6W99yswHInNcw,24900 -django/conf/locale/id/LC_MESSAGES/django.mo,sha256=TumauWgn_bfPXoRncaFSU8Nd2v2yjyARohDEuQbjuxk,26351 -django/conf/locale/id/LC_MESSAGES/django.po,sha256=eMSszj_Tb_skzp1uzzMMg-lUD2nygpi4lfMDk9y33Gg,28402 -django/conf/locale/id/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/id/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/id/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/id/formats.py,sha256=1nQp6j9Vfn7RQLsGV1bGdrLpgouo_ePnLnRXpOfNjD8,1920 -django/conf/locale/ig/LC_MESSAGES/django.mo,sha256=tAZG5GKhEbrUCJtLrUxzmrROe1RxOhep8w-RR7DaDYo,27188 -django/conf/locale/ig/LC_MESSAGES/django.po,sha256=DB_I4JXKMY4M7PdAeIsdqnLSFpq6ImkGPCuY82rNBpY,28931 -django/conf/locale/ig/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/ig/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/ig/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/ig/formats.py,sha256=x9zavr9_4PcNhy3CslobP2vYY4eEyjHavNFYIQtMu_Q,1161 -django/conf/locale/io/LC_MESSAGES/django.mo,sha256=uI78C7Qkytf3g1A6kVWiri_CbS55jReO2XmRfLTeNs0,14317 -django/conf/locale/io/LC_MESSAGES/django.po,sha256=FyN4ZTfNPV5TagM8NEhRts8y_FhehIPPouh_MfslnWY,23124 -django/conf/locale/is/LC_MESSAGES/django.mo,sha256=maGVBXO0fgqWsPbW76d27KpZ7HWwJc3QYFlMiWp_-uk,25331 -django/conf/locale/is/LC_MESSAGES/django.po,sha256=MSXrykvaFIMMp07dGV656mwl4hvoapq42ltNtvvWlrI,28802 -django/conf/locale/is/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/is/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/is/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/is/formats.py,sha256=4BbmtZUfTOsQ818Qi6NEZ54QUwd2I8H2wbnaTe0Df74,688 -django/conf/locale/it/LC_MESSAGES/django.mo,sha256=cneOmXRVlavM4qFrTl8rQkwkDd-NmR0ZdPQaCEK2hP4,27181 -django/conf/locale/it/LC_MESSAGES/django.po,sha256=DS22B1bhZMO3Jm6238vdgt48HEf_Qe8YJpkknRaRfAo,29706 -django/conf/locale/it/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/it/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/it/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/it/formats.py,sha256=BZvSU2pEB_5L3onVxeUXmASHn7HihVmNxNgubOTkMF4,1801 -django/conf/locale/ja/LC_MESSAGES/django.mo,sha256=3sDJ_Y4RunXAjPPj0NNb_B75aT8DI4bb9yygXo6i6_s,29358 -django/conf/locale/ja/LC_MESSAGES/django.po,sha256=gzCSyYMMgm-ZbReIegT8uSBTVhu7THVqYvNwfdIaIyY,31753 -django/conf/locale/ja/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/ja/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/ja/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/ja/formats.py,sha256=V6eTbaEUuWeJr-2NEAdQr08diKzOlFox1DbugC5xHpk,729 -django/conf/locale/ka/LC_MESSAGES/django.mo,sha256=4e8at-KNaxYJKIJd8r6iPrYhEdnaJ1qtPw-QHPMh-Sc,24759 -django/conf/locale/ka/LC_MESSAGES/django.po,sha256=pIgaLU6hXgVQ2WJp1DTFoubI7zHOUkkKMddwV3PTdt8,32088 -django/conf/locale/ka/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/ka/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/ka/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/ka/formats.py,sha256=5QZHpBvZ91i_hjfv_aoI6tq1EuSNp6Oq_wqmrJlrJjg,1897 -django/conf/locale/kab/LC_MESSAGES/django.mo,sha256=x5Kyq2Uf3XNlQP06--4lT8Q1MacA096hZbyMJRrHYIc,7139 -django/conf/locale/kab/LC_MESSAGES/django.po,sha256=DsFL3IzidcAnPoAWIfIbGJ6Teop1yKPBRALeLYrdiFA,20221 -django/conf/locale/kk/LC_MESSAGES/django.mo,sha256=krjcDvA5bu591zcP76bWp2mD2FL1VUl7wutaZjgD668,13148 -django/conf/locale/kk/LC_MESSAGES/django.po,sha256=RgM4kzn46ZjkSDHMAsyOoUg7GdxGiZ-vaEOdf7k0c5A,23933 -django/conf/locale/km/LC_MESSAGES/django.mo,sha256=kEvhZlH7lkY1DUIHTHhFVQzOMAPd_-QMItXTYX0j1xY,7223 -django/conf/locale/km/LC_MESSAGES/django.po,sha256=QgRxEiJMopO14drcmeSG6XEXQpiAyfQN0Ot6eH4gca8,21999 -django/conf/locale/km/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/km/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/km/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/km/formats.py,sha256=o0v-vZQaH-v-7ttAc0H0tSWAQPYQlxHDm0tvLzuPJfw,750 -django/conf/locale/kn/LC_MESSAGES/django.mo,sha256=fQ7AD5tUiV_PZFBxUjNPQN79dWBJKqfoYwRdrOaQjU4,17515 -django/conf/locale/kn/LC_MESSAGES/django.po,sha256=fS4Z7L4NGVQ6ipZ7lMHAqAopTBP0KkOc-eBK0IYdbBE,28133 -django/conf/locale/kn/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/kn/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/kn/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/kn/formats.py,sha256=FK0SWt0_88-SJkA1xz01sKOkAce5ZEyF-F0HUlO5N4k,680 -django/conf/locale/ko/LC_MESSAGES/django.mo,sha256=VioAHuoN4Lm_GWSwMczgeEKACmLVDfExQpR8VDEEoIE,28133 -django/conf/locale/ko/LC_MESSAGES/django.po,sha256=Jvfg_JyZByK_mVyY96a3BTFTWLXEfoFeBX9dgaPdFTs,30604 -django/conf/locale/ko/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/ko/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/ko/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/ko/formats.py,sha256=XTtpMsB_y_rRjsBoEV3ZXl77MLnlh0tcW0vj1o0I_WM,2125 -django/conf/locale/ky/LC_MESSAGES/django.mo,sha256=vqClhD-m9-q4wtJNhk_yldY9I5nV9fk_knQUMoQqhxw,31241 -django/conf/locale/ky/LC_MESSAGES/django.po,sha256=c8PWH-YSCUhorkgNk4fe5B-QUGD-0Kx7KwXJ21ddz4A,32934 -django/conf/locale/ky/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/ky/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/ky/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/ky/formats.py,sha256=EtnZLr0bi2-yShgyfOIseNVRUtWQEp1-0N5FW5gQv4s,1220 -django/conf/locale/lb/LC_MESSAGES/django.mo,sha256=tQSJLQUeD5iUt-eA2EsHuyYqsCSYFtbGdryATxisZsc,8008 -django/conf/locale/lb/LC_MESSAGES/django.po,sha256=GkKPLO3zfGTNync-xoYTf0vZ2GUSAotAjfPSP01SDMU,20622 -django/conf/locale/lt/LC_MESSAGES/django.mo,sha256=VWrkGGbkN_1UKH9QJcPqKVSRIY2JSJjK23B7oXQqpcA,22750 -django/conf/locale/lt/LC_MESSAGES/django.po,sha256=GDdmsy8FopCM8_VTQKoeGWB918aCT1su4VZktAbnmqA,28534 -django/conf/locale/lt/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/lt/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/lt/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/lt/formats.py,sha256=tEP5X-VHEikeb7BBkWoW4uuJQw6_OfVh5l_x_hKoGGU,1679 -django/conf/locale/lv/LC_MESSAGES/django.mo,sha256=uOSvBE4T8OlUlblnL5eMznsMyzR3nUxiXrOZV7RZ8ww,28134 -django/conf/locale/lv/LC_MESSAGES/django.po,sha256=D7rhzEwFNwXglsrYA-me0aYGmJQ1FSxqPVEc522FJRk,30522 -django/conf/locale/lv/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/lv/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/lv/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/lv/formats.py,sha256=72AwivAdil7DNTMeaZTRAHXt04PuN6gkw4uDeODlIpM,1755 -django/conf/locale/mk/LC_MESSAGES/django.mo,sha256=cHNERALIwiuMXcQmajHtzzEdo9O3ut82d03kvZURn50,23041 -django/conf/locale/mk/LC_MESSAGES/django.po,sha256=6ValPJeAYumnyUrJ-Rf0pOkWMhHoGE-kN_dfS8Oh2EE,29816 -django/conf/locale/mk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/mk/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/mk/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/mk/formats.py,sha256=8FUX0RYKaUN3_9g9JcGCl-W7q4_U-rUwgSDd5B6F7zE,1493 -django/conf/locale/ml/LC_MESSAGES/django.mo,sha256=NTiGRfaWimmV1bxyqzDeN6fqxxtiobN9MbRVeo1qWYg,32498 -django/conf/locale/ml/LC_MESSAGES/django.po,sha256=gvHg9YKgEp2W6sFKYtdp8eU0ZnHues_rw4LnilkAdmQ,38035 -django/conf/locale/ml/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/ml/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/ml/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/ml/formats.py,sha256=sr2fzOex-HRdvbYTr_bUiZFSQWyPpN2y5eq_h6zyceQ,1620 -django/conf/locale/mn/LC_MESSAGES/django.mo,sha256=sd860BHXfgAjDzU3CiwO3JirA8S83nSr4Vy3QUpXHyU,24783 -django/conf/locale/mn/LC_MESSAGES/django.po,sha256=VBgXVee15TTorC7zwYFwmHM4qgpYy11yclv_u7UTNwA,30004 -django/conf/locale/mn/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/mn/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/mn/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/mn/formats.py,sha256=ET9fum7iEOCGRt9E-tWXjvHHvr9YmAR5UxmEHXjJsTc,676 -django/conf/locale/mr/LC_MESSAGES/django.mo,sha256=aERpEBdJtkSwBj6zOtiKDaXuFzepi8_IwvPPHi8QtGU,1591 -django/conf/locale/mr/LC_MESSAGES/django.po,sha256=GFtk4tVQVi8b7N7KEhoNubVw_PV08pyRvcGOP270s1Q,19401 -django/conf/locale/my/LC_MESSAGES/django.mo,sha256=SjYOewwnVim3-GrANk2RNanOjo6Hy2omw0qnpkMzTlM,2589 -django/conf/locale/my/LC_MESSAGES/django.po,sha256=b_QSKXc3lS2Xzb45yVYVg307uZNaAnA0eoXX2ZmNiT0,19684 -django/conf/locale/nb/LC_MESSAGES/django.mo,sha256=EjPn100Jhuqd4VtTYs4UZVG3mPHqvOEJfGE3R9MA37M,26526 -django/conf/locale/nb/LC_MESSAGES/django.po,sha256=HivmVMfTBJ0Q6soyN5c_R-iJ8lGU-B3dnkK1DfNKx6U,28804 -django/conf/locale/nb/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/nb/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/nb/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/nb/formats.py,sha256=gfpEc1o0dLP11NK8miHV-jDMLxWzGvxYv8eayXbkbwM,1571 -django/conf/locale/ne/LC_MESSAGES/django.mo,sha256=BcK8z38SNWDXXWVWUmOyHEzwk2xHEeaW2t7JwrxehKM,27248 -django/conf/locale/ne/LC_MESSAGES/django.po,sha256=_Kj_i2zMb7JLU7EN7Z7JcUn89YgonJf6agSFCjXa49w,33369 -django/conf/locale/nl/LC_MESSAGES/django.mo,sha256=yIiuxrpS6L0qVxm11jnXphVICeyer7Dp-LwSmfb1omQ,27117 -django/conf/locale/nl/LC_MESSAGES/django.po,sha256=S-T7QOXjAJoJz2Vsb1uWQi0h69y9bWdeG9LnYrvmkQ4,29653 -django/conf/locale/nl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/nl/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/nl/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/nl/formats.py,sha256=2z34kqQeiIUg5P4Yme0sHw5r65GkO_iTsxpXhBZBcqM,4095 -django/conf/locale/nn/LC_MESSAGES/django.mo,sha256=8CoLejnImo9TMbt-CR7NK8WAbX3wm89AgZOuPn-werQ,13212 -django/conf/locale/nn/LC_MESSAGES/django.po,sha256=AWPfAtzROtcEjxr0YWGTcNBWF7qnyF3wxhGkLiBIQ5k,22582 -django/conf/locale/nn/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/nn/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/nn/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/nn/formats.py,sha256=gfpEc1o0dLP11NK8miHV-jDMLxWzGvxYv8eayXbkbwM,1571 -django/conf/locale/os/LC_MESSAGES/django.mo,sha256=LBpf_dyfBnvGOvthpn5-oJuFiSNHrgiVHBzJBR-FxOw,17994 -django/conf/locale/os/LC_MESSAGES/django.po,sha256=WYlAnNYwGFnH76Elnnth6YP2TWA-fEtvV5UinnNj7AA,26278 -django/conf/locale/pa/LC_MESSAGES/django.mo,sha256=H1hCnQzcq0EiSEaayT6t9H-WgONO5V4Cf7l25H2930M,11253 -django/conf/locale/pa/LC_MESSAGES/django.po,sha256=26ifUdCX9fOiXfWvgMkOXlsvS6h6nNskZcIBoASJec4,23013 -django/conf/locale/pl/LC_MESSAGES/django.mo,sha256=kKhmPiiv4Azyp5iQ5KrT1GYgrPnLFDhE-844bwsGXM0,29515 -django/conf/locale/pl/LC_MESSAGES/django.po,sha256=6eVHJOqC-cB7Lz0P8evDO3-vTYCBwTDco2dDjBl5sWQ,33024 -django/conf/locale/pl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/pl/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/pl/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/pl/formats.py,sha256=6aBumG-WeA7mWnDlfoP0_VadHiBZdYXCvPwT6JG2md8,1038 -django/conf/locale/pt/LC_MESSAGES/django.mo,sha256=nlj_L7Z2FkXs1w6wCGGseuZ_U-IecnlfYRtG5jPkGrs,20657 -django/conf/locale/pt/LC_MESSAGES/django.po,sha256=ETTedbjU2J4FLi2QDHNN8C7zlAsvLWNUlYzkEV1WB6s,26224 -django/conf/locale/pt/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/pt/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/pt/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/pt/formats.py,sha256=LeVTwDFRHkY9786T-lZx-iKOHTPiFReAiUPYdbrDcmI,1522 -django/conf/locale/pt_BR/LC_MESSAGES/django.mo,sha256=PgGmMWm9VP345t4RRUt2ZzBscsGxsbMNNC3qJug_cuU,27179 -django/conf/locale/pt_BR/LC_MESSAGES/django.po,sha256=B9YX3OGoBAoQJ8fG-0j2z7fasLSS9cR6z8FwlNNpHbY,30528 -django/conf/locale/pt_BR/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/pt_BR/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/pt_BR/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/pt_BR/formats.py,sha256=YvB8w7UVjacsAQgbSY76tQTX-W3pucfeAGPFIHwWcBo,1283 -django/conf/locale/ro/LC_MESSAGES/django.mo,sha256=IMUybfJat0koxf_jSv6urQQuiHlldUhjrqo3FR303WA,22141 -django/conf/locale/ro/LC_MESSAGES/django.po,sha256=mdMWVR6kXJwUSxul2bpu3IoWom6kWDiES6Iw5ziynj0,27499 -django/conf/locale/ro/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/ro/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/ro/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/ro/formats.py,sha256=hpxpg6HcFGX5HFpypZ-GA4GkAsXCWuivMHLyyV1U2Rw,928 -django/conf/locale/ru/LC_MESSAGES/django.mo,sha256=hcOOvE3etglSQaeXSfBWqbrehuh3lmZFe-KdIp3Y_Dc,37556 -django/conf/locale/ru/LC_MESSAGES/django.po,sha256=YPgQU89uSq2ydGg9mAdbZ_RKRBRtMrnsnDB9RDP3Mw4,40614 -django/conf/locale/ru/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/ru/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/ru/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/ru/formats.py,sha256=o9xwvKn2hIshuaZ4nea4Ecx-jBhxTzPDLg2W-gygkLw,1116 -django/conf/locale/sk/LC_MESSAGES/django.mo,sha256=M3eLAQW6d4N8fgIeg9L5rcuMFjUbM4Y02YqIbbQRqCE,22177 -django/conf/locale/sk/LC_MESSAGES/django.po,sha256=g4-ioagq5vYN_Te90XqVTCU8hNiN-akD-vH9X7K7r6A,27943 -django/conf/locale/sk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/sk/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/sk/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/sk/formats.py,sha256=YXxNfnkRJvAei2la5L-9m1IplCOouo3Jhxn0YKpSZ0w,1064 -django/conf/locale/sl/LC_MESSAGES/django.mo,sha256=uaPbjsAAam_SrzenHjeHgTC3Pxn6BEecXgnDY9HOzwg,21921 -django/conf/locale/sl/LC_MESSAGES/django.po,sha256=MZ8Lz3dN5JSxw7l8bFRN0ozeW4Sue0jnRURm2zpOcuI,27860 -django/conf/locale/sl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/sl/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/sl/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/sl/formats.py,sha256=iIH0ZrXpUEDQ1NvzND-e-UGAHiM8d4NDha8o9U1YPFY,1798 -django/conf/locale/sq/LC_MESSAGES/django.mo,sha256=N2T903FEIbqK32jnNC0i-fuCTbDO-eDaeEycWoQY-tw,27528 -django/conf/locale/sq/LC_MESSAGES/django.po,sha256=x9SjC2huOVlGG9LHKPX4kQIj3liP-_BACWucl1UrBX4,29741 -django/conf/locale/sq/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/sq/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/sq/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/sq/formats.py,sha256=X7IXRLlVWmlgNSa2TSvshv8Vhtjfv0V1Okg0adqVl3o,688 -django/conf/locale/sr/LC_MESSAGES/django.mo,sha256=DfrIpRYYwX-WMonyb5ZxPVGEx-tPnZph865JGtlbBi4,33665 -django/conf/locale/sr/LC_MESSAGES/django.po,sha256=I6N4KsxsHiA5pq9TgAYvgywNWpFvODqtlQwyqlcm4vg,35981 -django/conf/locale/sr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/sr/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/sr/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/sr/formats.py,sha256=1v-fbUFCpU1mjwQJX8-qZMFYUU0-d-9w_uFJ7NgMweY,1754 -django/conf/locale/sr_Latn/LC_MESSAGES/django.mo,sha256=GU7eUMfTg9dhnEu3j-JLR9ODD9WV-UXqQ_1Htn559fg,20081 -django/conf/locale/sr_Latn/LC_MESSAGES/django.po,sha256=yGYjQHnOSn82EHRIyGHS_l54IK0bJ4I_sx1sP4xP-zY,26192 -django/conf/locale/sr_Latn/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/sr_Latn/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/sr_Latn/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/sr_Latn/formats.py,sha256=1v-fbUFCpU1mjwQJX8-qZMFYUU0-d-9w_uFJ7NgMweY,1754 -django/conf/locale/sv/LC_MESSAGES/django.mo,sha256=UEnIZt9DYHRzPDsISXQkRLxMUmB42jUTe3EDWDZ1vRo,20646 -django/conf/locale/sv/LC_MESSAGES/django.po,sha256=6ZfuM8tUmG7trlqgRX-IEjneRpd9ZJdhoKmbM2n_-VQ,26135 -django/conf/locale/sv/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/sv/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/sv/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/sv/formats.py,sha256=46MJnftY5MjzTqgvNfBTV-nVAkbY--8NbXtiLFhT_Lg,1374 -django/conf/locale/sw/LC_MESSAGES/django.mo,sha256=aUmIVLANgSCTK5Lq8QZPEKWjZWnsnBvm_-ZUcih3J6g,13534 -django/conf/locale/sw/LC_MESSAGES/django.po,sha256=GOE6greXZoLhpccsfPZjE6lR3G4vpK230EnIOdjsgPk,22698 -django/conf/locale/ta/LC_MESSAGES/django.mo,sha256=WeM8tElbcmL11P_D60y5oHKtDxUNWZM9UNgXe1CsRQ4,7094 -django/conf/locale/ta/LC_MESSAGES/django.po,sha256=kgHTFqysEMj1hqktLr-bnL1NRM715zTpiwhelqC232s,22329 -django/conf/locale/ta/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/ta/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/ta/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/ta/formats.py,sha256=LbLmzaXdmz4UbzNCbINYOJLggyU1ytxWAME3iHVt9NY,682 -django/conf/locale/te/LC_MESSAGES/django.mo,sha256=Sk45kPC4capgRdW5ImOKYEVxiBjHXsosNyhVIDtHLBc,13259 -django/conf/locale/te/LC_MESSAGES/django.po,sha256=IQxpGTpsKUtBGN1P-KdGwvE7ojNCqKqPXEvYD3qT5A4,25378 -django/conf/locale/te/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/te/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/te/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/te/formats.py,sha256=aSddq7fhlOce3zBLdTNDQA5L_gfAhsmKRCuyQ8O5TyY,680 -django/conf/locale/tg/LC_MESSAGES/django.mo,sha256=ePzS2pD84CTkHBaiaMyXBxiizxfFBjHdsGH7hCt5p_4,28497 -django/conf/locale/tg/LC_MESSAGES/django.po,sha256=oSKu3YT3griCrDLPqptZmHcuviI99wvlfX6I6nLJnDk,33351 -django/conf/locale/tg/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/tg/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/tg/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/tg/formats.py,sha256=wM47-gl6N2XbknMIUAvNmqxNyso6bNnwU11RzoLK3RM,1202 -django/conf/locale/th/LC_MESSAGES/django.mo,sha256=SJeeJWbdF-Lae5BendxlyMKqx5zdDmh3GCQa8ER5FyY,18629 -django/conf/locale/th/LC_MESSAGES/django.po,sha256=K4ITjzHLq6DyTxgMAfu3CoGxrTd3aG2J6-ZxQj2KG1U,27507 -django/conf/locale/th/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/th/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/th/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/th/formats.py,sha256=vBGsPtMZkJZN0gVcX3eCDVE3KHsjJJ94EW2_9tCT0W4,1072 -django/conf/locale/tk/LC_MESSAGES/django.mo,sha256=HM4-efqIOSqXPpG139jZXI2WymL2b5GtnUxCXPlFgr8,27139 -django/conf/locale/tk/LC_MESSAGES/django.po,sha256=p-XA0sclJU0-5T9lRI1lQTxDpH0MGVPwn5rYHtABpCI,29133 -django/conf/locale/tk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/tk/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/tk/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/tk/formats.py,sha256=wM47-gl6N2XbknMIUAvNmqxNyso6bNnwU11RzoLK3RM,1202 -django/conf/locale/tr/LC_MESSAGES/django.mo,sha256=UQxQByV9iA795tI6l7xxG7VTdYmVpVDz8SAEN4nvfIU,27815 -django/conf/locale/tr/LC_MESSAGES/django.po,sha256=JeYJKlUvVD0rCHQm1Z_U9_6c4wep4cCMeITdmylAtkI,30164 -django/conf/locale/tr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/tr/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/tr/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/tr/formats.py,sha256=bzEkWCwULHmwyMHqN-1ACBn6Lr8VbvoL9TuvO4KInVI,1032 -django/conf/locale/tt/LC_MESSAGES/django.mo,sha256=r554DvdPjD_S8hBRjW8ehccEjEk8h7czQsp46FZZ_Do,14500 -django/conf/locale/tt/LC_MESSAGES/django.po,sha256=W8QgEAH7yXNmjWoF-UeqyVAu5jEMHZ5MXE60e5sawJc,24793 -django/conf/locale/udm/LC_MESSAGES/django.mo,sha256=cIf0i3TjY-yORRAcSev3mIsdGYT49jioTHZtTLYAEyc,12822 -django/conf/locale/udm/LC_MESSAGES/django.po,sha256=n9Az_8M8O5y16yE3iWmK20R9F9VoKBh3jR3iKwMgFlY,23113 -django/conf/locale/uk/LC_MESSAGES/django.mo,sha256=5eq_PnXRxEED_cYxneFTZ_GZuJX6X1zi07kZCQ_JBjc,28305 -django/conf/locale/uk/LC_MESSAGES/django.po,sha256=201SVYSNPZfKeET5embqBDUjyKQLkYdaXhSUWXTuA-E,34264 -django/conf/locale/uk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/uk/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/uk/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/uk/formats.py,sha256=R4i56pYlss2Ui6zyDT5OvwFZq0SBIxzf4hsyzmnip5U,1268 -django/conf/locale/ur/LC_MESSAGES/django.mo,sha256=M6R2DYFRBvcVRAsgVxVOLvH3e8v14b2mJs650UlUb2I,12291 -django/conf/locale/ur/LC_MESSAGES/django.po,sha256=Lr0DXaPqWtCFAxn10BQ0vlvZIMNRvCg_QJQxAC01eWk,23479 -django/conf/locale/uz/LC_MESSAGES/django.mo,sha256=c8eHLqubZqScsU8LjGK-j2uAGeWzHCSmCy-tYu9x_FA,27466 -django/conf/locale/uz/LC_MESSAGES/django.po,sha256=TxmmhZCC1zrAgo0xM0JQKywju0XBd1BujMKZ9HtOLKY,29376 -django/conf/locale/uz/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/uz/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/uz/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/uz/formats.py,sha256=VJC2U61827xc8v7XTv3eKfySbZUHL34KpCmQyWMKRQ0,1199 -django/conf/locale/vi/LC_MESSAGES/django.mo,sha256=TMsBzDnf9kZndozqVUnEKtKxfH2N1ajLdrm8hJ4HkYI,17396 -django/conf/locale/vi/LC_MESSAGES/django.po,sha256=tL2rvgunvaN_yqpPSBYAKImFDaFaeqbnpEw_egI11Lo,25342 -django/conf/locale/vi/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/vi/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/vi/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/vi/formats.py,sha256=H_lZwBQUKUWjtoN0oZOxXw0SsoNWnXg3pKADPYX3RrI,762 -django/conf/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=oYIsHiE4fm9BrQ7JPyfpoFVeJBhfxOTYcQCV0Pi5ylc,25977 -django/conf/locale/zh_Hans/LC_MESSAGES/django.po,sha256=Tj0VX3-iaTSeTBrDQvn1U6NmbwJDrNLV9JtWxTdBZlo,28676 -django/conf/locale/zh_Hans/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/zh_Hans/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/zh_Hans/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/zh_Hans/formats.py,sha256=U-1yJketLR187TFCBAzgUCt0UlZNvCxoLgBkYhZz2Ts,1745 -django/conf/locale/zh_Hant/LC_MESSAGES/django.mo,sha256=1U3cID-BpV09p0sgYryzJCCApQYVlCtb4fJ5IPB8wtc,19560 -django/conf/locale/zh_Hant/LC_MESSAGES/django.po,sha256=buHXYy_UKFoGW8xz6PNrSwbMx-p8gwmPRgdWGBYwT2U,24939 -django/conf/locale/zh_Hant/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/locale/zh_Hant/__pycache__/__init__.cpython-38.pyc,, -django/conf/locale/zh_Hant/__pycache__/formats.cpython-38.pyc,, -django/conf/locale/zh_Hant/formats.py,sha256=U-1yJketLR187TFCBAzgUCt0UlZNvCxoLgBkYhZz2Ts,1745 -django/conf/project_template/manage.py-tpl,sha256=JDuGG02670bELmn3XLUSxHFZ8VFhqZTT_oN9VbT5Acc,674 -django/conf/project_template/project_name/__init__.py-tpl,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/conf/project_template/project_name/asgi.py-tpl,sha256=q_6Jo5tLy6ba-S7pLs3YTK7byxSBmU0oYylYJlNvwHI,428 -django/conf/project_template/project_name/settings.py-tpl,sha256=UR7hduaYY1SqdnZvBioAPp8cCnPbXsK10VZg6wHoO4w,3184 -django/conf/project_template/project_name/urls.py-tpl,sha256=vrokVPIRgYajr3Osw2_D1gCndrJ-waGU3tkpnzhWync,775 -django/conf/project_template/project_name/wsgi.py-tpl,sha256=OCfjjCsdEeXPkJgFIrMml_FURt7msovNUPnjzb401fs,428 -django/conf/urls/__init__.py,sha256=kHy9_mgebuUHAbAMFrFJ1badWEJvbeZH_YMZA1FC_zQ,656 -django/conf/urls/__pycache__/__init__.cpython-38.pyc,, -django/conf/urls/__pycache__/i18n.cpython-38.pyc,, -django/conf/urls/__pycache__/static.cpython-38.pyc,, -django/conf/urls/i18n.py,sha256=TG_09WedGtcOhijJtDxxcQkcOU15Dikq0NkLGVvwvCI,1184 -django/conf/urls/static.py,sha256=WHZ7JNbBEQVshD0-sdImvAW635uV-msIyP2VYntzrPk,886 -django/contrib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/__pycache__/__init__.cpython-38.pyc,, -django/contrib/admin/__init__.py,sha256=bCfh_odjqF7M6XGgRJciYlwNwEdbW6TFXVMYH-OJRMg,1090 -django/contrib/admin/__pycache__/__init__.cpython-38.pyc,, -django/contrib/admin/__pycache__/actions.cpython-38.pyc,, -django/contrib/admin/__pycache__/apps.cpython-38.pyc,, -django/contrib/admin/__pycache__/checks.cpython-38.pyc,, -django/contrib/admin/__pycache__/decorators.cpython-38.pyc,, -django/contrib/admin/__pycache__/exceptions.cpython-38.pyc,, -django/contrib/admin/__pycache__/filters.cpython-38.pyc,, -django/contrib/admin/__pycache__/forms.cpython-38.pyc,, -django/contrib/admin/__pycache__/helpers.cpython-38.pyc,, -django/contrib/admin/__pycache__/models.cpython-38.pyc,, -django/contrib/admin/__pycache__/options.cpython-38.pyc,, -django/contrib/admin/__pycache__/sites.cpython-38.pyc,, -django/contrib/admin/__pycache__/tests.cpython-38.pyc,, -django/contrib/admin/__pycache__/utils.cpython-38.pyc,, -django/contrib/admin/__pycache__/widgets.cpython-38.pyc,, -django/contrib/admin/actions.py,sha256=S7p0NpRADNwhPidrN3rKN_LCJaFCKHXX9wcJyVpplsw,3018 -django/contrib/admin/apps.py,sha256=p0EKbVZEU82JyEKrGA5lIY6uPCWgJGzyJM_kij-Juvg,766 -django/contrib/admin/checks.py,sha256=pkDVAnp1NefaKPr0pQ22T4IA2BYZh3IXffg879tAuhY,45422 -django/contrib/admin/decorators.py,sha256=4myyB92dt6ZFMRriJiEWvfGreyAUZIX9zdjErS5m_QQ,969 -django/contrib/admin/exceptions.py,sha256=lWAupa8HTBROgZbDeYS1n_vOl_85dcmPhDwz0-Ke1ug,331 -django/contrib/admin/filters.py,sha256=T6wtE6En9nJrmVVXFprsDEMkU7-CCRyEuuZmGW7cGPE,19534 -django/contrib/admin/forms.py,sha256=uJth9S0kX0yijCg6uvbcV4fil5bAoJsZmoKWmvg31tA,1021 -django/contrib/admin/helpers.py,sha256=y6fzSTlqVkz1YHVRArdYG2t7tSWbnMOV0MvjCX61l8c,15538 -django/contrib/admin/locale/af/LC_MESSAGES/django.mo,sha256=3VNfQp5JaJy4XRqxM7Uu9uKHDihJCvKXYhdWPXOofc8,16216 -django/contrib/admin/locale/af/LC_MESSAGES/django.po,sha256=R2ix5AnK5X35wnhjT38K85JgwewQkmwrYwyVx4YqikQ,17667 -django/contrib/admin/locale/af/LC_MESSAGES/djangojs.mo,sha256=dmctO7tPkPwdbpp-tVmZrR0QLZekrJ1aE3rnm6vvUQM,4477 -django/contrib/admin/locale/af/LC_MESSAGES/djangojs.po,sha256=1wwspqp0rsSupVes7zjYLyNT_wY4lFefqhpXH5wBdJM,4955 -django/contrib/admin/locale/am/LC_MESSAGES/django.mo,sha256=UOwMxYH1r5AEBpu-P9zxHazk3kwI4CtsPosGIYtl6Hs,8309 -django/contrib/admin/locale/am/LC_MESSAGES/django.po,sha256=NmsIZoBEQwyBIqbKjkwCJ2_iMHnMKB87atoT0iuNXrw,14651 -django/contrib/admin/locale/ar/LC_MESSAGES/django.mo,sha256=e1TPsXhFUpNGLgdsOdF3VJgX4fqozB3jGhDLAY-DiOk,19693 -django/contrib/admin/locale/ar/LC_MESSAGES/django.po,sha256=5Kw2JgaC7H6UNoblB2ZmHrFCsS_KkT0Z8kLooogSk78,21173 -django/contrib/admin/locale/ar/LC_MESSAGES/djangojs.mo,sha256=5G1bV_2YhASuQqUgYY6mQDoV3zcJlRx70iPqDUxcCbU,5843 -django/contrib/admin/locale/ar/LC_MESSAGES/djangojs.po,sha256=BMi2aVzpeJtSIbpB0Ivhbj5WaKgNlrpQquYRqFcWpl8,6502 -django/contrib/admin/locale/ar_DZ/LC_MESSAGES/django.mo,sha256=IJlPu_ROkcvVEyTej2un1WMuCueOYBMYNxAmTCK7NbU,19657 -django/contrib/admin/locale/ar_DZ/LC_MESSAGES/django.po,sha256=qEHImGRyP-cOeA66387z9glbIhUEeliq-dI-iLhuweM,21027 -django/contrib/admin/locale/ar_DZ/LC_MESSAGES/djangojs.mo,sha256=bNJysHeUsNaSg2BgFh9r4FEnRAee9w6DNN4OvfQfYnc,5721 -django/contrib/admin/locale/ar_DZ/LC_MESSAGES/djangojs.po,sha256=dGIamisxnWLYkxJOsJQLqXTy9zC3B6Tn3gtPKlRiMBQ,6302 -django/contrib/admin/locale/ast/LC_MESSAGES/django.mo,sha256=3uffu2zPbQ1rExUsG_ambggq854Vy8HbullkCYdazA4,2476 -django/contrib/admin/locale/ast/LC_MESSAGES/django.po,sha256=wCWFh9viYUhTGOX0mW3fpN2z0kdE6b7IaA-A5zzb3Yo,11676 -django/contrib/admin/locale/ast/LC_MESSAGES/djangojs.mo,sha256=kiG-lzQidkXER5s_6POO1G91mcAv9VAkAXI25jdYBLE,2137 -django/contrib/admin/locale/ast/LC_MESSAGES/djangojs.po,sha256=s4s6aHocTlzGcFi0p7cFGTi3K8AgoPvFCv7-Hji6At0,4085 -django/contrib/admin/locale/az/LC_MESSAGES/django.mo,sha256=pOABf7ef6c4Apn3e0YE0bm-GJzXfKUsBYL7iUK5NdQs,14807 -django/contrib/admin/locale/az/LC_MESSAGES/django.po,sha256=ZQVARobZ9XzSbP9HLDV8DhmQpe08ExhoTj5RBpFu__g,17299 -django/contrib/admin/locale/az/LC_MESSAGES/djangojs.mo,sha256=3P3iKDFi9G1iMmxTVHWol1FgczmMl4gYHRoBT5W3fYw,4598 -django/contrib/admin/locale/az/LC_MESSAGES/djangojs.po,sha256=BpFkIKu93AVAYKPnCKSPswCIAm8L2909oh6NJSZJLu8,5125 -django/contrib/admin/locale/be/LC_MESSAGES/django.mo,sha256=CBomfJ6N52rJdkbZPuuyODMPPS7AJZnC4vUS8Qt_D5k,21096 -django/contrib/admin/locale/be/LC_MESSAGES/django.po,sha256=9nPIJ5aw1i4cTn_LN706sTnNWNngFt_1HArzCU3pE3M,22364 -django/contrib/admin/locale/be/LC_MESSAGES/djangojs.mo,sha256=vOaMe-sc-0hHcxlb9Sk8o8yqZCfDgI0Ml3YbbskL7eI,5908 -django/contrib/admin/locale/be/LC_MESSAGES/djangojs.po,sha256=h8ARmq2hTCt_D5SSmycOX21-9SbOVWKda1gUUkeloN0,6463 -django/contrib/admin/locale/bg/LC_MESSAGES/django.mo,sha256=iJzYciumvR_r42WmC3yjTdiWrQmS94p_x0gTWvV9lOc,20070 -django/contrib/admin/locale/bg/LC_MESSAGES/django.po,sha256=9ouezfohVViX6NFG57IFXTzcuMSvAafd6NKncMFJBds,21493 -django/contrib/admin/locale/bg/LC_MESSAGES/djangojs.mo,sha256=TGNzP1smzgZmo5-s4VKD1E-nWTMtCSjp_hco1a0j4BQ,5565 -django/contrib/admin/locale/bg/LC_MESSAGES/djangojs.po,sha256=5uiQqnTyz0R-1vJTHqY0opwnQhMfgPoB-PxOkGpxNwk,6016 -django/contrib/admin/locale/bn/LC_MESSAGES/django.mo,sha256=fKmzDwzLp0Qlv4bvWscf0evanPRAXwR04B6IeJ7wGSw,15247 -django/contrib/admin/locale/bn/LC_MESSAGES/django.po,sha256=-go1WtUozfqbnKlUQr-jNnvEXf98eIZjq-C8KjRJ6NA,19812 -django/contrib/admin/locale/bn/LC_MESSAGES/djangojs.mo,sha256=t_OiMyPMsR2IdH65qfD9qvQfpWbwFueNuY72XSed2Io,2313 -django/contrib/admin/locale/bn/LC_MESSAGES/djangojs.po,sha256=iFwEJi4k3ULklCq9eQNUhKVblivQPJIoC_6lbyEkotY,4576 -django/contrib/admin/locale/br/LC_MESSAGES/django.mo,sha256=yCuMwrrEB_H44UsnKwY0E87sLpect_AMo0GdBjMZRPs,6489 -django/contrib/admin/locale/br/LC_MESSAGES/django.po,sha256=WMU_sN0ENWgyEbKOm8uVQfTQh9sabvKihtSdMt4XQBM,13717 -django/contrib/admin/locale/br/LC_MESSAGES/djangojs.mo,sha256=n7Yx2k9sAVSNtdY-2Ao6VFsnsx4aiExZ3TF_DnnrKU0,1658 -django/contrib/admin/locale/br/LC_MESSAGES/djangojs.po,sha256=gjg-VapbI9n_827CqNYhbtIQ8W9UcMmMObCsxCzReUU,4108 -django/contrib/admin/locale/bs/LC_MESSAGES/django.mo,sha256=44D550fxiO59Pczu5HZ6gvWEClsfmMuaxQWbA4lCW2M,8845 -django/contrib/admin/locale/bs/LC_MESSAGES/django.po,sha256=FrieR1JB4ssdWwYitJVpZO-odzPBKrW4ZsGK9LA595I,14317 -django/contrib/admin/locale/bs/LC_MESSAGES/djangojs.mo,sha256=SupUK-RLDcqJkpLEsOVjgZOWBRKQMALZLRXGEnA623M,1183 -django/contrib/admin/locale/bs/LC_MESSAGES/djangojs.po,sha256=TOtcfw-Spn5Y8Yugv2OlPoaZ5DRwJjRIl-YKiyU092U,3831 -django/contrib/admin/locale/ca/LC_MESSAGES/django.mo,sha256=e1DVPxIYOO1kmf0AyuPfX0btv6_JA_DJkKdpsnymSXU,17166 -django/contrib/admin/locale/ca/LC_MESSAGES/django.po,sha256=37uCdR4zi4ycQhWeFanVNz8RwmU9Bkg4JXRmxrXJIgM,18760 -django/contrib/admin/locale/ca/LC_MESSAGES/djangojs.mo,sha256=xEkD4j5aPzRddlLC8W3aCZ7ah5RHC-MKTgFXI2uTPTI,4519 -django/contrib/admin/locale/ca/LC_MESSAGES/djangojs.po,sha256=CLxLUlg5GUQyWa-SC-8QpKdmdcpuzJl6TXHNRlO2s_E,5098 -django/contrib/admin/locale/cs/LC_MESSAGES/django.mo,sha256=kdfKK6BUnysuDqKyv6REMmzA-_BgYy2BpXmieYVzSQY,17448 -django/contrib/admin/locale/cs/LC_MESSAGES/django.po,sha256=K7ZZGmEP9X8Vq1mir6VZHfaZS_4IcMuk0ZJI0uaX1QM,18941 -django/contrib/admin/locale/cs/LC_MESSAGES/djangojs.mo,sha256=jnqU3fbLPR1Y0m665xzHoW2KCy9tBIjcAr4Zo-dg9TA,5054 -django/contrib/admin/locale/cs/LC_MESSAGES/djangojs.po,sha256=Pi3MW6zNs1cBxy9t0yC7i9oSKyKJzbVaLV4b3s-_z6s,5713 -django/contrib/admin/locale/cy/LC_MESSAGES/django.mo,sha256=7ifUyqraN1n0hbyTVb_UjRIG1jdn1HcwehugHBiQvHs,12521 -django/contrib/admin/locale/cy/LC_MESSAGES/django.po,sha256=bS_gUoKklZwd3Vs0YlRTt24-k5ure5ObTu-b5nB5qCA,15918 -django/contrib/admin/locale/cy/LC_MESSAGES/djangojs.mo,sha256=fOCA1fXEmJw_QaXEISLkuBhaMnEmP1ssP9lhqdCCC3c,3801 -django/contrib/admin/locale/cy/LC_MESSAGES/djangojs.po,sha256=OVcS-3tlMJS_T58qnZbWLGczHwFyAjbuWr35YwuxAVM,5082 -django/contrib/admin/locale/da/LC_MESSAGES/django.mo,sha256=jTtKti7NsWwvMyDA_sD8EWFjWopp7pUaSc4B8Imk2GE,16680 -django/contrib/admin/locale/da/LC_MESSAGES/django.po,sha256=kBfGE2OfUXd-Q8UALsQDErpiwxeaQX0lP4d9FIvyBTM,18093 -django/contrib/admin/locale/da/LC_MESSAGES/djangojs.mo,sha256=9dScUYZLinHdHS9gmAKtxrYADJ71nL0uNFBb70u5y8Y,4484 -django/contrib/admin/locale/da/LC_MESSAGES/djangojs.po,sha256=Vtu1bQ2UapC7VLudYBZOCyfN6G7hlW5vnx3f_yMvsA4,5137 -django/contrib/admin/locale/de/LC_MESSAGES/django.mo,sha256=Bf2WUKVyn8BpytW_v41pp4V-GtqvgeJ-12zB5pX5j7k,17517 -django/contrib/admin/locale/de/LC_MESSAGES/django.po,sha256=nXHESFCYsDtz_fwX3zhAGr6xzIlSOB6aDaVv3mloqoA,19021 -django/contrib/admin/locale/de/LC_MESSAGES/djangojs.mo,sha256=b_NzGtn_jeOUkPH_BweWuRtsT1Hts2AEDP-byynEB1I,4591 -django/contrib/admin/locale/de/LC_MESSAGES/djangojs.po,sha256=usHJodylqb3QltvaYYfyhUeP9-OpLoAXUE3lRKTQD2w,5198 -django/contrib/admin/locale/dsb/LC_MESSAGES/django.mo,sha256=xxvchve6F4k4rgc5N8hlOotmv3-2y9kx-FQn-7506vY,17570 -django/contrib/admin/locale/dsb/LC_MESSAGES/django.po,sha256=74YowJk3U5JApK8luxJ32HFoj6RTuVsoi4yg6kf2i_U,18784 -django/contrib/admin/locale/dsb/LC_MESSAGES/djangojs.mo,sha256=vAX2cKOL01m_x1OnYxds-1SGNb4HJy0zKqmGReVbl5M,4983 -django/contrib/admin/locale/dsb/LC_MESSAGES/djangojs.po,sha256=ZInnSKY1PDbhBmydAjEl4jyu0fGrdzCcMt6J-yDt-AU,5503 -django/contrib/admin/locale/el/LC_MESSAGES/django.mo,sha256=7pnFzsUwA3Z3AdqccRmr2K6A2hfrhNGsvtFJFI0uOZU,23088 -django/contrib/admin/locale/el/LC_MESSAGES/django.po,sha256=vnMzGKYAAgZqo03IdyEJQv1jAMPIlQ2INh3P7cR2HDc,24662 -django/contrib/admin/locale/el/LC_MESSAGES/djangojs.mo,sha256=vfha6S1wDTxgteeprHdCY6j1SnSWDdbC67aoks7TVFw,5888 -django/contrib/admin/locale/el/LC_MESSAGES/djangojs.po,sha256=GJQytMIHNrJeWWnpaoGud4M6aiJCtJ7csyXzmfS6GZs,6560 -django/contrib/admin/locale/en/LC_MESSAGES/django.mo,sha256=U0OV81NfbuNL9ctF-gbGUG5al1StqN-daB-F-gFBFC8,356 -django/contrib/admin/locale/en/LC_MESSAGES/django.po,sha256=FBxWjpNd8-k_q6UZ8fAKM6xNRKBRyiBFvb2deXR4x0o,23545 -django/contrib/admin/locale/en/LC_MESSAGES/djangojs.mo,sha256=U0OV81NfbuNL9ctF-gbGUG5al1StqN-daB-F-gFBFC8,356 -django/contrib/admin/locale/en/LC_MESSAGES/djangojs.po,sha256=yKHSTaV8gWsU8bcWZCSvJTJiQp91CFVagCDoTn5hwq0,6607 -django/contrib/admin/locale/en_AU/LC_MESSAGES/django.mo,sha256=DVjhYEbArfdAQLuE0YAG99eWxa9_eNEz2o9A6X6MrEY,2894 -django/contrib/admin/locale/en_AU/LC_MESSAGES/django.po,sha256=CO7AV-NmmmwnXyBIybSfNZLdXiavphWsd9LNZQNqDL4,11800 -django/contrib/admin/locale/en_AU/LC_MESSAGES/djangojs.mo,sha256=LWNYXUicANYZeiNx4mb6pFpjnsaggPTxTBCbNKxPtFw,1714 -django/contrib/admin/locale/en_AU/LC_MESSAGES/djangojs.po,sha256=UZk0oHToRtHzlviraFzWcZlpVAOk_W2oq4NquxevQoE,3966 -django/contrib/admin/locale/en_GB/LC_MESSAGES/django.mo,sha256=pFkTMRDDj76WA91wtGPjUB7Pq2PN7IJEC54Tewobrlc,11159 -django/contrib/admin/locale/en_GB/LC_MESSAGES/django.po,sha256=REUJMGLGRyDMkqh4kJdYXO9R0Y6CULFVumJ_P3a0nv0,15313 -django/contrib/admin/locale/en_GB/LC_MESSAGES/djangojs.mo,sha256=hW325c2HlYIIdvNE308c935_IaDu7_qeP-NlwPnklhQ,3147 -django/contrib/admin/locale/en_GB/LC_MESSAGES/djangojs.po,sha256=Ol5j1-BLbtSIDgbcC0o7tg_uHImcjJQmkA4-kSmZY9o,4581 -django/contrib/admin/locale/eo/LC_MESSAGES/django.mo,sha256=Kq-XFhLK56KXwDE2r2x93w9JVFSxgXqCU_XKb38DxhU,16252 -django/contrib/admin/locale/eo/LC_MESSAGES/django.po,sha256=Yr37pm5u1xEb9vuUucJmbs9aPErpog9AP9nIr8GQpBU,17752 -django/contrib/admin/locale/eo/LC_MESSAGES/djangojs.mo,sha256=I1Ue345qSHPmJpX4yiYgomQ8vMgshRt1S1D_ZVJWf7g,4452 -django/contrib/admin/locale/eo/LC_MESSAGES/djangojs.po,sha256=BdSRWCYCDxLxtbcPSfRdAMGoTRWOWaxRGpdCIm-3HA0,5040 -django/contrib/admin/locale/es/LC_MESSAGES/django.mo,sha256=8wTwwjDHa-vq64nEkJJVk-yWobNj7kRHsrI_3Y81SIk,17509 -django/contrib/admin/locale/es/LC_MESSAGES/django.po,sha256=PAXUTRrMzwBDcEwPuljyiqg0cbKRgv5I63Xv5aWsNig,19458 -django/contrib/admin/locale/es/LC_MESSAGES/djangojs.mo,sha256=jsYaURXmnLx2IIhssciAZgaZXDJhAI5FvDvRXGUOlNo,4589 -django/contrib/admin/locale/es/LC_MESSAGES/djangojs.po,sha256=Kg5O5afBtF61WAX2VKxmO4s8qFgWUQfc9jluTnXa6r4,5319 -django/contrib/admin/locale/es_AR/LC_MESSAGES/django.mo,sha256=qzOoMSod6ZNk-BhoiAgHyjUxTFk7Emef05A-4blJfEc,17592 -django/contrib/admin/locale/es_AR/LC_MESSAGES/django.po,sha256=M_kTd6Nj7Oo-Uco3NwnZ7YlLC9BjFX1JUecCKIvODLY,18906 -django/contrib/admin/locale/es_AR/LC_MESSAGES/djangojs.mo,sha256=zkJyZPZclEnVAPjH9Hqz77QnRlWm7wcUQIQY_qlRofo,4795 -django/contrib/admin/locale/es_AR/LC_MESSAGES/djangojs.po,sha256=7TcKxpkuQ3TiOP6tWyzZYu1CvJ_800xT4CmSE9PEe5M,5299 -django/contrib/admin/locale/es_CO/LC_MESSAGES/django.mo,sha256=0k8kSiwIawYCa-Lao0uetNPLUzd4m_me3tCAVBvgcSw,15156 -django/contrib/admin/locale/es_CO/LC_MESSAGES/django.po,sha256=4T_syIsVY-nyvn5gEAtfN-ejPrJSUpNT2dmzufxaBsE,17782 -django/contrib/admin/locale/es_CO/LC_MESSAGES/djangojs.mo,sha256=PLS10KgX10kxyy7MUkiyLjqhMzRgkAFGPmzugx9AGfs,3895 -django/contrib/admin/locale/es_CO/LC_MESSAGES/djangojs.po,sha256=Y4bkC8vkJE6kqLbN8t56dR5670B06sB2fbtVzmQygK8,5176 -django/contrib/admin/locale/es_MX/LC_MESSAGES/django.mo,sha256=oZQndBnTu5o0IwQIZCKjTtS5MGhRgsDipzQuIniRgSE,11628 -django/contrib/admin/locale/es_MX/LC_MESSAGES/django.po,sha256=oFhdB2JtS8zCPK5Zf9KFbm-B1M1u83nO5p0rfaVkL78,16138 -django/contrib/admin/locale/es_MX/LC_MESSAGES/djangojs.mo,sha256=2w3CMJFBugP8xMOmXsDU82xUm8cWGRUGZQX5XjiTCpM,3380 -django/contrib/admin/locale/es_MX/LC_MESSAGES/djangojs.po,sha256=OP9cBsdCf3zZAXiKBMJPvY1AHwC_WE1k2vKlzVCtUec,4761 -django/contrib/admin/locale/es_VE/LC_MESSAGES/django.mo,sha256=himCORjsM-U3QMYoURSRbVv09i0P7-cfVh26aQgGnKg,16837 -django/contrib/admin/locale/es_VE/LC_MESSAGES/django.po,sha256=mlmaSYIHpa-Vp3f3NJfdt2RXB88CVZRoPEMfl-tccr0,18144 -django/contrib/admin/locale/es_VE/LC_MESSAGES/djangojs.mo,sha256=Zy-Hj_Mr2FiMiGGrZyssN7GZJrbxRj3_yKQFZKR36Ro,4635 -django/contrib/admin/locale/es_VE/LC_MESSAGES/djangojs.po,sha256=RI8CIdewjL3bAivniMOl7lA9tD7caP4zEo2WK71cX7c,5151 -django/contrib/admin/locale/et/LC_MESSAGES/django.mo,sha256=glFzba5o4yqusgsbxgRN7sJhTRqAtbxYhiKi-opDDv0,16555 -django/contrib/admin/locale/et/LC_MESSAGES/django.po,sha256=0bku_wIqmVY7J2hukwv6aFpJoNaJKmXqHwcURIp_rTg,18001 -django/contrib/admin/locale/et/LC_MESSAGES/djangojs.mo,sha256=zz5w0acrz8cIa7YWLhkAk9MRu0WYbBPiXP9fpu8MFHM,4347 -django/contrib/admin/locale/et/LC_MESSAGES/djangojs.po,sha256=mpTcyrvIhSwpz8LtZ7AR-R30RWMXVeMXYyJh4NvQRzw,4971 -django/contrib/admin/locale/eu/LC_MESSAGES/django.mo,sha256=sutek-yBmp0yA673dBWQLg11138KCcAn9cBdfl_oVJw,16336 -django/contrib/admin/locale/eu/LC_MESSAGES/django.po,sha256=uR2eY8Y6gS95UYOpd-OjjwFzOVfGCl3QOuWnH3QFCr4,17702 -django/contrib/admin/locale/eu/LC_MESSAGES/djangojs.mo,sha256=bZHiuTFj8MNrO3AntBAY5iUhmCa6LSluGLYw504RKWg,4522 -django/contrib/admin/locale/eu/LC_MESSAGES/djangojs.po,sha256=eMpM70UTWIiCDigCgYVOZ9JKQ2IidYZxYcUWunvG8js,5051 -django/contrib/admin/locale/fa/LC_MESSAGES/django.mo,sha256=Zgs2MdtNBZE1UhjHbnNoKRHVpzxsj-WQN0oIh-CYFPE,15188 -django/contrib/admin/locale/fa/LC_MESSAGES/django.po,sha256=PnQCS4DAhSuIaCez9_8aqtgFAO5nNGBG2LerJYmTtYQ,18867 -django/contrib/admin/locale/fa/LC_MESSAGES/djangojs.mo,sha256=Rk8aJ5fq_iiwK_aome26hrryRTV3k9JTXuFWMNLhqFI,5356 -django/contrib/admin/locale/fa/LC_MESSAGES/djangojs.po,sha256=8CqgjfrlucH1E1xuXyjv7AfjInwaxLTDwPofhKfmXZI,6088 -django/contrib/admin/locale/fi/LC_MESSAGES/django.mo,sha256=IYKZxP-pH_AoPgkHZrEwKW_KUuzdhHG2NEj91SMnnOk,11797 -django/contrib/admin/locale/fi/LC_MESSAGES/django.po,sha256=sRO13UMW_2UwamfW07OZwX8G1nF9Q3oNEEYgvAx2CO4,15931 -django/contrib/admin/locale/fi/LC_MESSAGES/djangojs.mo,sha256=ez7WTtE6OE878kSxqXniDOQY-wdURYEfxYQXBQJTVpg,4561 -django/contrib/admin/locale/fi/LC_MESSAGES/djangojs.po,sha256=rquknGvUFlWNLcrOc1wwhAPn63PZA48qBN8oWiINiQ0,5045 -django/contrib/admin/locale/fr/LC_MESSAGES/django.mo,sha256=zUUmfY9uaLKnQV_CvZH6zGtWSnzKw7MKCOP8_djFnx8,18325 -django/contrib/admin/locale/fr/LC_MESSAGES/django.po,sha256=-r7PYAjE_LBOF8qJZ6OeT3XSBU05P1tCe0Nu-z42QAU,19613 -django/contrib/admin/locale/fr/LC_MESSAGES/djangojs.mo,sha256=mRR-ysg0oBpRux5MAt7zc7ZSv7GA7c-fIEXziNU4zBc,4707 -django/contrib/admin/locale/fr/LC_MESSAGES/djangojs.po,sha256=oFoFZxmABt_pwH7GJjbDo3sK0Wac_XDizdzXGpXnHbU,5246 -django/contrib/admin/locale/fy/LC_MESSAGES/django.mo,sha256=mWnHXGJUtiewo1F0bsuJCE_YBh7-Ak9gjTpwjOAv-HI,476 -django/contrib/admin/locale/fy/LC_MESSAGES/django.po,sha256=oSKEF_DInUC42Xzhw9HiTobJjE2fLNI1VE5_p6rqnCE,10499 -django/contrib/admin/locale/fy/LC_MESSAGES/djangojs.mo,sha256=YQQy7wpjBORD9Isd-p0lLzYrUgAqv770_56-vXa0EOc,476 -django/contrib/admin/locale/fy/LC_MESSAGES/djangojs.po,sha256=efBDCcu43j4SRxN8duO5Yfe7NlpcM88kUPzz-qOkC04,2864 -django/contrib/admin/locale/ga/LC_MESSAGES/django.mo,sha256=cIOjVge5KC37U6g-0MMaP5p8N0XJxzK6oJqWNUw9jfI,15075 -django/contrib/admin/locale/ga/LC_MESSAGES/django.po,sha256=Qx1D0cEGIIPnO10I_83IfU3faEYpp0lm-KHg48lJMxE,17687 -django/contrib/admin/locale/ga/LC_MESSAGES/djangojs.mo,sha256=G-9VfhiMcooTbAI1IMvbvUwj_h_ttNyxGS89nIgrpw4,5247 -django/contrib/admin/locale/ga/LC_MESSAGES/djangojs.po,sha256=DsDMYhm5PEpFBBGepf2iRD0qCkh2r45Y4tIHzFtjJAo,5920 -django/contrib/admin/locale/gd/LC_MESSAGES/django.mo,sha256=yurDs4pCJEvvC-Qd7V4O3evtHuQUU4-eKtPwBqm2HAI,18466 -django/contrib/admin/locale/gd/LC_MESSAGES/django.po,sha256=RqVgPVuB3y6ULy3lTxee1_9cRv3mn8uWcyoWl_UG97o,19765 -django/contrib/admin/locale/gd/LC_MESSAGES/djangojs.mo,sha256=GwtvzwSO_lE6yHEdZLNl3Vzxk0E8KAjhJyIn6aSyc0s,5304 -django/contrib/admin/locale/gd/LC_MESSAGES/djangojs.po,sha256=RJv2lrB2UamHczIbCzzLBnEWodMLqgNX9ihofmL6XRo,5809 -django/contrib/admin/locale/gl/LC_MESSAGES/django.mo,sha256=_9JW7LdCw2on4M1oz3Iyl_VMrhrw_0oVIQl4h_rCX6g,13246 -django/contrib/admin/locale/gl/LC_MESSAGES/django.po,sha256=xqdcVwIX5zPxq471crW0yxcOYcbZVaRwKiKx-MAGiqk,16436 -django/contrib/admin/locale/gl/LC_MESSAGES/djangojs.mo,sha256=YkT7l3U9ffSGqXmu6S41Ex0r7tbK-0BKH5lS6O8PAGs,3279 -django/contrib/admin/locale/gl/LC_MESSAGES/djangojs.po,sha256=EDccOpm1mpT8mVRvu5LBsq8nao50oP1V7aKEnuRmtF8,4803 -django/contrib/admin/locale/he/LC_MESSAGES/django.mo,sha256=cjuCAL-WDaX30oY1wXcRfa6cn8xeFBRDTin7ak9WzRo,16130 -django/contrib/admin/locale/he/LC_MESSAGES/django.po,sha256=0mfigxebLTxX71AEw9gOhMd7yB604wkUCAnyu2jNbZM,18719 -django/contrib/admin/locale/he/LC_MESSAGES/djangojs.mo,sha256=odvNcABcTGzBw9u3CYoUjG58toB_IVPV4B45NT6Qj8I,5117 -django/contrib/admin/locale/he/LC_MESSAGES/djangojs.po,sha256=Cx6k80Xb4jowscPTwMGjw69kpyeLq3LGmccHoPwk_YM,5781 -django/contrib/admin/locale/hi/LC_MESSAGES/django.mo,sha256=EogCHT8iAURSuE34kZ0kwEIoz5VjgUQUG2eAIqDxReU,18457 -django/contrib/admin/locale/hi/LC_MESSAGES/django.po,sha256=NcTFbFyHhWOIieUpzIVL7aSDWZ8ZNmfnv5gcxhON1zc,21770 -django/contrib/admin/locale/hi/LC_MESSAGES/djangojs.mo,sha256=yCUHDS17dQDKcAbqCg5q8ualaUgaa9qndORgM-tLCIw,4893 -django/contrib/admin/locale/hi/LC_MESSAGES/djangojs.po,sha256=U9rb5tPMICK50bRyTl40lvn-tvh6xL_6o7xIPkzfKi0,6378 -django/contrib/admin/locale/hr/LC_MESSAGES/django.mo,sha256=3TR3uFcd0pnkDi551WaB9IyKX1aOazH7USxqc0lA0KQ,14702 -django/contrib/admin/locale/hr/LC_MESSAGES/django.po,sha256=qcW7tvZoWZIR8l-nMRexGDD8VlrOD7l5Fah6-ecilMk,17378 -django/contrib/admin/locale/hr/LC_MESSAGES/djangojs.mo,sha256=KR34lviGYh1esCkPE9xcDE1pQ_q-RxK1R2LPjnG553w,3360 -django/contrib/admin/locale/hr/LC_MESSAGES/djangojs.po,sha256=w7AqbYcLtu88R3KIKKKXyRt2gwBBBnr-ulxONWbw01I,4870 -django/contrib/admin/locale/hsb/LC_MESSAGES/django.mo,sha256=xdFfD6IiKou_-oWJDKZt-L-FoxaYFXcqbh0LJ2tlXhQ,17310 -django/contrib/admin/locale/hsb/LC_MESSAGES/django.po,sha256=sBWUnTFK-d6ZAtmfk_RqyoreuXLZYeteOt75vvDl-bc,18520 -django/contrib/admin/locale/hsb/LC_MESSAGES/djangojs.mo,sha256=Mro-TJwfn6LHKeIqvnnGBdVkvdsRbbjEMAcoQIo_1GI,5054 -django/contrib/admin/locale/hsb/LC_MESSAGES/djangojs.po,sha256=fegO96m0wa0n1Ja88-muf0YysGJXDQycwIRXpkj2OVo,5577 -django/contrib/admin/locale/hu/LC_MESSAGES/django.mo,sha256=O_QBDJcYI_rVYvXdI3go3YA2Y1u-NOuKOwshF6Ic7bs,17427 -django/contrib/admin/locale/hu/LC_MESSAGES/django.po,sha256=Gt0lw5n8KxK0ReE0HWrMjPFOXxVGZxxZ3YX4MiV9z1M,18962 -django/contrib/admin/locale/hu/LC_MESSAGES/djangojs.mo,sha256=xzo6FcJjANVElfNogDZqvwPVnOFGGz-Q-p2obLql3aQ,4501 -django/contrib/admin/locale/hu/LC_MESSAGES/djangojs.po,sha256=0bTOc4UDZITrTRcQ1trL3_u1rsITvnfBpM251zNTwzk,5119 -django/contrib/admin/locale/hy/LC_MESSAGES/django.mo,sha256=Dcx9cOsYBfbgQgoAQoLhn_cG1d2sKGV6dag4DwnUTaY,18274 -django/contrib/admin/locale/hy/LC_MESSAGES/django.po,sha256=CnQlRZ_DUILMIqVEgUTT2sufAseEKJHHjWsYr_LAqi8,20771 -django/contrib/admin/locale/hy/LC_MESSAGES/djangojs.mo,sha256=ttfGmyEN0-3bM-WmfCge2lG8inubMPOzFXfZrfX9sfw,5636 -django/contrib/admin/locale/hy/LC_MESSAGES/djangojs.po,sha256=jf94wzUOMQaKSBR-77aijQXfdRAqiYSeAQopiT_8Obc,6046 -django/contrib/admin/locale/ia/LC_MESSAGES/django.mo,sha256=SRKlr8RqW8FQhzMsXdA9HNqttO3hc0xf4QdQJd4Dy8c,11278 -django/contrib/admin/locale/ia/LC_MESSAGES/django.po,sha256=pBQLQsMinRNh0UzIHBy3qEW0etUWMhFALu4-h-woFyE,15337 -django/contrib/admin/locale/ia/LC_MESSAGES/djangojs.mo,sha256=28MiqUf-0-p3PIaongqgPQp2F3D54MLAujPslVACAls,3177 -django/contrib/admin/locale/ia/LC_MESSAGES/djangojs.po,sha256=CauoEc8Fiowa8k6K-f9N8fQDle40qsgtXdNPDHBiudQ,4567 -django/contrib/admin/locale/id/LC_MESSAGES/django.mo,sha256=h21lPTonOu1Qp4BIJQ-dy8mr3rHAbyS79t1BFz2naeY,16276 -django/contrib/admin/locale/id/LC_MESSAGES/django.po,sha256=d_EJWjK5wvo764pURlXKEqBcADbY-lKN6Rg3P_wPXA8,17743 -django/contrib/admin/locale/id/LC_MESSAGES/djangojs.mo,sha256=IsrbImLKoye0KHfaJ1ddPh2TXtvcuoq5aRskTAUwRhE,4407 -django/contrib/admin/locale/id/LC_MESSAGES/djangojs.po,sha256=o7zQcSD2QkF_DVwHOKS4jxZi7atLPsQQIoG_szM4xFg,4915 -django/contrib/admin/locale/io/LC_MESSAGES/django.mo,sha256=URiYZQZpROBedC-AkpVo0q3Tz78VfkmwN1W7j6jYpMo,12624 -django/contrib/admin/locale/io/LC_MESSAGES/django.po,sha256=y0WXY7v_9ff-ZbFasj33loG-xWlFO8ttvCB6YPyF7FQ,15562 -django/contrib/admin/locale/io/LC_MESSAGES/djangojs.mo,sha256=nMu5JhIy8Fjie0g5bT8-h42YElCiS00b4h8ej_Ie-w0,464 -django/contrib/admin/locale/io/LC_MESSAGES/djangojs.po,sha256=WLh40q6yDs-8ZG1hpz6kfMQDXuUzOZa7cqtEPDywxG4,2852 -django/contrib/admin/locale/is/LC_MESSAGES/django.mo,sha256=csD3bmz3iQgLLdSqCKOmY_d893147TvDumrpRVoRTY0,16804 -django/contrib/admin/locale/is/LC_MESSAGES/django.po,sha256=tXgb3ARXP5tPa5iEYwwiHscDGfjS5JgIV2BsUX8OnjE,18222 -django/contrib/admin/locale/is/LC_MESSAGES/djangojs.mo,sha256=VcJvjwOJ8FgYiGRWVD1sPi-yuhFMR19ejIewhOQyP84,4554 -django/contrib/admin/locale/is/LC_MESSAGES/djangojs.po,sha256=lpbOnRlgNaESvPfojZskcAn4HNnsFfYK9rxV8D6ucQg,5150 -django/contrib/admin/locale/it/LC_MESSAGES/django.mo,sha256=7HRWy7l-f2g0CAGoX23M506h6eUeXeXGx5rgu7U_m38,17130 -django/contrib/admin/locale/it/LC_MESSAGES/django.po,sha256=qCuj2K9vBci9JB77tRjOWErirQgjIWDLu7Hbz473QO8,18790 -django/contrib/admin/locale/it/LC_MESSAGES/djangojs.mo,sha256=x93xOwcZbUHgCKt6RKY7poXo83oiQx3kvenngFJNiYg,4520 -django/contrib/admin/locale/it/LC_MESSAGES/djangojs.po,sha256=tGk1FK4w7uhDZR5DJw7MD5E8ypA7f3hCeChVoOIHOO8,5243 -django/contrib/admin/locale/ja/LC_MESSAGES/django.mo,sha256=2cD-sMuzpmr7HshliC9U4vvHgSsFoKcJN42JK-a4Jvo,18272 -django/contrib/admin/locale/ja/LC_MESSAGES/django.po,sha256=3RyI89GGZoxYKnnFiWL0LIUJOLfMmeePD3Oc_uM7vOk,19780 -django/contrib/admin/locale/ja/LC_MESSAGES/djangojs.mo,sha256=e1psnvl2PWI9RpwDRY0UV5cqn_jhz_ms6OlKUQnEBt0,4688 -django/contrib/admin/locale/ja/LC_MESSAGES/djangojs.po,sha256=5-4GlF-p7REuRaMvRGBTuTMJW6slZLqdR-UrEEEJjtA,5098 -django/contrib/admin/locale/ka/LC_MESSAGES/django.mo,sha256=M3FBRrXFFa87DlUi0HDD_n7a_0IYElQAOafJoIH_i60,20101 -django/contrib/admin/locale/ka/LC_MESSAGES/django.po,sha256=abkt7pw4Kc-Y74ZCpAk_VpFWIkr7trseCtQdM6IUYpQ,23527 -django/contrib/admin/locale/ka/LC_MESSAGES/djangojs.mo,sha256=GlPU3qUavvU0FXPfvCl-8KboYhDOmMsKM-tv14NqOac,5516 -django/contrib/admin/locale/ka/LC_MESSAGES/djangojs.po,sha256=jDpB9c_edcLoFPHFIogOSPrFkssOjIdxtCA_lum8UCs,6762 -django/contrib/admin/locale/kab/LC_MESSAGES/django.mo,sha256=9QKEWgr8YQV17OJ14rMusgV8b79ZgOOsX4aIFMZrEto,3531 -django/contrib/admin/locale/kab/LC_MESSAGES/django.po,sha256=cSOG_HqsNE4tA5YYDd6txMFoUul8d5UKvk77ZhaqOK0,11711 -django/contrib/admin/locale/kab/LC_MESSAGES/djangojs.mo,sha256=nqwZHJdtjHUSFDJmC0nPNyvWcAdcoRcN3f-4XPIItvs,1844 -django/contrib/admin/locale/kab/LC_MESSAGES/djangojs.po,sha256=tF3RH22p2E236Cv6lpIWQxtuPFeWOvJ-Ery3vBUv6co,3713 -django/contrib/admin/locale/kk/LC_MESSAGES/django.mo,sha256=f2WU3e7dOz0XXHFFe0gnCm1MAPCJ9sva2OUnWYTHOJg,12845 -django/contrib/admin/locale/kk/LC_MESSAGES/django.po,sha256=D1vF3nqANT46f17Gc2D2iGCKyysHAyEmv9nBei6NRA4,17837 -django/contrib/admin/locale/kk/LC_MESSAGES/djangojs.mo,sha256=cBxp5pFJYUF2-zXxPVBIG06UNq6XAeZ72uRLwGeLbiE,2387 -django/contrib/admin/locale/kk/LC_MESSAGES/djangojs.po,sha256=Y30fcDpi31Fn7DU7JGqROAiZY76iumoiW9qGAgPCCbU,4459 -django/contrib/admin/locale/km/LC_MESSAGES/django.mo,sha256=eOe9EcFPzAWrTjbGUr-m6RAz2TryC-qHKbqRP337lPY,10403 -django/contrib/admin/locale/km/LC_MESSAGES/django.po,sha256=RSxy5vY2sgC43h-9sl6eomkFvxClvH_Ka4lFiwTvc2I,17103 -django/contrib/admin/locale/km/LC_MESSAGES/djangojs.mo,sha256=Ja8PIXmw6FMREHZhhBtGrr3nRKQF_rVjgLasGPnU95w,1334 -django/contrib/admin/locale/km/LC_MESSAGES/djangojs.po,sha256=LH4h4toEgpVBb9yjw7d9JQ8sdU0WIZD-M025JNlLXAU,3846 -django/contrib/admin/locale/kn/LC_MESSAGES/django.mo,sha256=955iPq05ru6tm_iPFVMebxwvZMtEa5_7GaFG1mPt6HU,9203 -django/contrib/admin/locale/kn/LC_MESSAGES/django.po,sha256=xMGtsVCItMTs18xdFQHELdVZKCwTNNyKfb8n1ARcFws,16053 -django/contrib/admin/locale/kn/LC_MESSAGES/djangojs.mo,sha256=dHzxizjDQWiZeRfBqnVFcK1yk1-M5p1KOfQ1ya9TMVU,1872 -django/contrib/admin/locale/kn/LC_MESSAGES/djangojs.po,sha256=MqRj6ozyr1e9-qNORUTJXNahe6SL3ee3OveSm3efV4g,4214 -django/contrib/admin/locale/ko/LC_MESSAGES/django.mo,sha256=t-VhuZQjQDfGOyrvtvRvIrGvxEZ01cz-9SeYy5OHr80,17852 -django/contrib/admin/locale/ko/LC_MESSAGES/django.po,sha256=nlMbskDxKxE0ywhyEYfOUNc2Jp8WtLh3GFzZdx5UiTA,19587 -django/contrib/admin/locale/ko/LC_MESSAGES/djangojs.mo,sha256=StaaunOE52Uo9MgCvyTQpgKhicFsHlXktYSZAOn7u_Y,4462 -django/contrib/admin/locale/ko/LC_MESSAGES/djangojs.po,sha256=Tv1_SxJW_5y2tXMNVom5MxxTVt-sYiXvf5QMFloiJD4,5080 -django/contrib/admin/locale/ky/LC_MESSAGES/django.mo,sha256=g75TWW4A1Z_9DvgAlAyhNldHf44TBdg2jVoM3U0tK5Y,19915 -django/contrib/admin/locale/ky/LC_MESSAGES/django.po,sha256=zHHcUHMTgSCoA_TwmjUByeEgDiZmfGNsPxSos0EpC2o,21152 -django/contrib/admin/locale/ky/LC_MESSAGES/djangojs.mo,sha256=B20oPp0maOI-wDFkFPQaEjvwSjGWCSGq0LYcFvQD5wE,5238 -django/contrib/admin/locale/ky/LC_MESSAGES/djangojs.po,sha256=Cu3uuipGh-uzTugzd1b0J6pPApLR5O4qJpJgrE57WKw,5705 -django/contrib/admin/locale/lb/LC_MESSAGES/django.mo,sha256=8GGM2sYG6GQTQwQFJ7lbg7w32SvqgSzNRZIUi9dIe6M,913 -django/contrib/admin/locale/lb/LC_MESSAGES/django.po,sha256=PZ3sL-HvghnlIdrdPovNJP6wDrdDMSYp_M1ok6dodrw,11078 -django/contrib/admin/locale/lb/LC_MESSAGES/djangojs.mo,sha256=xokesKl7h7k9dXFKIJwGETgwx1Ytq6mk2erBSxkgY-o,474 -django/contrib/admin/locale/lb/LC_MESSAGES/djangojs.po,sha256=fiMelo6K0_RITx8b9k26X1R86Ck2daQXm86FLJpzt20,2862 -django/contrib/admin/locale/lt/LC_MESSAGES/django.mo,sha256=SpaNUiaGtDlX5qngVj0dWdqNLSin8EOXXyBvRM9AnKg,17033 -django/contrib/admin/locale/lt/LC_MESSAGES/django.po,sha256=tHnRrSNG2ENVduP0sOffCIYQUn69O6zIev3Bb7PjKb0,18497 -django/contrib/admin/locale/lt/LC_MESSAGES/djangojs.mo,sha256=vZtnYQupzdTjVHnWrtjkC2QKNpsca5yrpb4SDuFx0_0,5183 -django/contrib/admin/locale/lt/LC_MESSAGES/djangojs.po,sha256=dMjFClA0mh5g0aNFTyHC8nbYxwmFD0-j-7gCKD8NFnw,5864 -django/contrib/admin/locale/lv/LC_MESSAGES/django.mo,sha256=X8X5_tms9JliGku_YG-z21TnB6WLhVkxUx4fI3UPfyY,16880 -django/contrib/admin/locale/lv/LC_MESSAGES/django.po,sha256=ky9VntKirOLFY-TG_Mx4VsE691ZEreihW0BlgY2NYzc,18290 -django/contrib/admin/locale/lv/LC_MESSAGES/djangojs.mo,sha256=tJchRk78g3QS7OZCqY3Z934hPhS_igGMQ_HneschNAM,4875 -django/contrib/admin/locale/lv/LC_MESSAGES/djangojs.po,sha256=1a-Erfgt-n4QDQCDUDM0-aKFSxG5XCUGNgYsXCZL4Fs,5472 -django/contrib/admin/locale/mk/LC_MESSAGES/django.mo,sha256=AKTJbZ-w8TBsv9R7lyWGmzrkVg-nWGDHtZdHTC9KoyM,15194 -django/contrib/admin/locale/mk/LC_MESSAGES/django.po,sha256=85M2DfBMEAzjYCKPH4vJFcSmGEXG7IsCXJUoFDS6BVE,19095 -django/contrib/admin/locale/mk/LC_MESSAGES/djangojs.mo,sha256=ZyQQ49zqs8GiS73XBaSd5l3Rh3vOA0glMpX98GH6nhU,5633 -django/contrib/admin/locale/mk/LC_MESSAGES/djangojs.po,sha256=bWph0TVgwC-Fmlof8_4SiR21uCFm9rftp59AMZ3WIYA,6188 -django/contrib/admin/locale/ml/LC_MESSAGES/django.mo,sha256=4Y1KAip3NNsoRc9Zz3k0YFLzes3DNRFvAXWSTBivXDk,20830 -django/contrib/admin/locale/ml/LC_MESSAGES/django.po,sha256=jL9i3kmOnoKYDq2RiF90WCc55KeA8EBN9dmPHjuUfmo,24532 -django/contrib/admin/locale/ml/LC_MESSAGES/djangojs.mo,sha256=COohY0mAHAOkv1eNzLkaGZy8mimXzcDK1EgRd3tTB_E,6200 -django/contrib/admin/locale/ml/LC_MESSAGES/djangojs.po,sha256=NvN0sF_w5tkc3bND4lBtCHsIDLkwqdEPo-8wi2MTQ14,7128 -django/contrib/admin/locale/mn/LC_MESSAGES/django.mo,sha256=tsi1Lc7qcDD5dTjMQKy-9Hq-V2Akzyi994QY8wVaqNk,20545 -django/contrib/admin/locale/mn/LC_MESSAGES/django.po,sha256=T9WZQ5k0M9_pLCf5A-fDFIXKgN9fRisfsoZNnm4u-jk,21954 -django/contrib/admin/locale/mn/LC_MESSAGES/djangojs.mo,sha256=H7fIPdWTK3_iuC0WRBJdfXN8zO77p7-IzTviEUVQJ2U,5228 -django/contrib/admin/locale/mn/LC_MESSAGES/djangojs.po,sha256=vJIqqVG34Zd7q8-MhTgZcXTtl6gukOSb6egt70AOyAc,5757 -django/contrib/admin/locale/mr/LC_MESSAGES/django.mo,sha256=UAxGnGliid2PTx6SMgIuHVfbCcqVvcwC4FQUWtDuSTc,468 -django/contrib/admin/locale/mr/LC_MESSAGES/django.po,sha256=TNARpu8Pfmu9fGOLUP0bRwqqDdyFmlh9rWjFspboTyc,10491 -django/contrib/admin/locale/mr/LC_MESSAGES/djangojs.mo,sha256=2Z5jaGJzpiJTCnhCk8ulCDeAdj-WwR99scdHFPRoHoA,468 -django/contrib/admin/locale/mr/LC_MESSAGES/djangojs.po,sha256=uGe9kH2mwrab97Ue77oggJBlrpzZNckKGRUMU1vaigs,2856 -django/contrib/admin/locale/my/LC_MESSAGES/django.mo,sha256=xvlgM0vdYxZuA7kPQR7LhrLzgmyVCHAvqaqvFhKX9wY,3677 -django/contrib/admin/locale/my/LC_MESSAGES/django.po,sha256=zdUCYcyq2-vKudkYvFcjk95YUtbMDDSKQHCysmQ-Pvc,12522 -django/contrib/admin/locale/my/LC_MESSAGES/djangojs.mo,sha256=1fS9FfWi8b9NJKm3DBKETmuffsrTX-_OHo9fkCCXzpg,3268 -django/contrib/admin/locale/my/LC_MESSAGES/djangojs.po,sha256=-z1j108uoswi9YZfh3vSIswLXu1iUKgDXNdZNEA0yrA,5062 -django/contrib/admin/locale/nb/LC_MESSAGES/django.mo,sha256=viQKBFH6ospYn2sE-DokVJGGYhSqosTgbNMn5sBVnmM,16244 -django/contrib/admin/locale/nb/LC_MESSAGES/django.po,sha256=x0ANRpDhe1rxxAH0qjpPxRfccCvR73_4g5TNUdJqmrc,17682 -django/contrib/admin/locale/nb/LC_MESSAGES/djangojs.mo,sha256=XOG5jkA3iJsbGOSGwannXcZy_OsqwgI-rgKegJv59Sg,4343 -django/contrib/admin/locale/nb/LC_MESSAGES/djangojs.po,sha256=iZw5gP-_zY-eQoHcYwwFanry1YFfwfsrqp5hn6j7FWw,4954 -django/contrib/admin/locale/ne/LC_MESSAGES/django.mo,sha256=r01XjvWuPnnyQ8RXqK4-LsyFKA4WAFl5WNJ1g-UFIvk,15882 -django/contrib/admin/locale/ne/LC_MESSAGES/django.po,sha256=UNTRvBq1FpftJJpveiyC7VHxctbxhnrbC1ybDRYj-MA,20221 -django/contrib/admin/locale/ne/LC_MESSAGES/djangojs.mo,sha256=mJdtpLT9k4vDbN9fk2fOeiy4q720B3pLD3OjLbAjmUI,5362 -django/contrib/admin/locale/ne/LC_MESSAGES/djangojs.po,sha256=N91RciTV1m7e8-6Ihod5U2xR9K0vrLoFnyXjn2ta098,6458 -django/contrib/admin/locale/nl/LC_MESSAGES/django.mo,sha256=ndq_k6QUL6hwc9iuI-rlPbML_-HdcUslCXLRxiV10yw,17070 -django/contrib/admin/locale/nl/LC_MESSAGES/django.po,sha256=SaTkp0m6wEbwl79Q3Lj6vICGw61HI5Um4_8Bs2hfhg0,18768 -django/contrib/admin/locale/nl/LC_MESSAGES/djangojs.mo,sha256=yHX5iQjKqqrIxl_K-AQkBMFNQ8YmgdUxAJVkOEfWDE4,4592 -django/contrib/admin/locale/nl/LC_MESSAGES/djangojs.po,sha256=B9y-TjAFtDgnX7RcPlWWgCqdOUzWY5EWV-buuXtP468,5457 -django/contrib/admin/locale/nn/LC_MESSAGES/django.mo,sha256=zKIlvBLMvoqrXO90TqPJcdTEXkVweUWpz6ynsWeg8mU,10943 -django/contrib/admin/locale/nn/LC_MESSAGES/django.po,sha256=-CFana0-PPFwv1jcdyjYuLK2OYOPva-xxMjlVhvsoCw,14999 -django/contrib/admin/locale/nn/LC_MESSAGES/djangojs.mo,sha256=A7MT59BoyOSiM7W0phx8LLKQyH4Q8AEu6jUsBjUBOoE,3120 -django/contrib/admin/locale/nn/LC_MESSAGES/djangojs.po,sha256=tCXUV4F6FhMa-K0SBw9lQ0U2KY5kcMpGzT7jzKSvceo,4578 -django/contrib/admin/locale/os/LC_MESSAGES/django.mo,sha256=c51PwfOeLU2YcVNEEPCK6kG4ZyNc79jUFLuNopmsRR8,14978 -django/contrib/admin/locale/os/LC_MESSAGES/django.po,sha256=yugDw7iziHto6s6ATNDK4yuG6FN6yJUvYKhrGxvKmcY,18188 -django/contrib/admin/locale/os/LC_MESSAGES/djangojs.mo,sha256=0gMkAyO4Zi85e9qRuMYmxm6JV98WvyRffOKbBVJ_fLQ,3806 -django/contrib/admin/locale/os/LC_MESSAGES/djangojs.po,sha256=skiTlhgUEN8uKk7ihl2z-Rxr1ZXqu5qV4wB4q9qXVq0,5208 -django/contrib/admin/locale/pa/LC_MESSAGES/django.mo,sha256=n31qIjOVaJRpib4VU4EHZRua3tBnBM6t_ukH9Aj37GM,10185 -django/contrib/admin/locale/pa/LC_MESSAGES/django.po,sha256=MR6ZOTypay-qCvafn0J0rZF06rOsWz771CLDD1qvISE,16446 -django/contrib/admin/locale/pa/LC_MESSAGES/djangojs.mo,sha256=vdEMaVBuJtK1bnECgbqd_dS06PcmN7cgdv0hKGH5UKA,1207 -django/contrib/admin/locale/pa/LC_MESSAGES/djangojs.po,sha256=xU8tchSEH3MCLFSu4-71oVCR8pliKmILqFevM13IQ5M,3717 -django/contrib/admin/locale/pl/LC_MESSAGES/django.mo,sha256=vo3ARq9WcECb6vWNxGZnW7dPqiVA_0PvKMtrnXkmEMk,17455 -django/contrib/admin/locale/pl/LC_MESSAGES/django.po,sha256=N9L7bPkZgEaYqTjs-CYq3H_uxUVndAVgXYLn7N5SgPw,19282 -django/contrib/admin/locale/pl/LC_MESSAGES/djangojs.mo,sha256=7zqp_j1vQXpGKRIXtEQpktgjxZi47f0nDq5Cj4WQsDs,5073 -django/contrib/admin/locale/pl/LC_MESSAGES/djangojs.po,sha256=9VUJf4yZiK2QqwrKBOsm3eBn6cpVsfGVFCuVLAKWWr8,5907 -django/contrib/admin/locale/pt/LC_MESSAGES/django.mo,sha256=MTFRTfUKot-0r-h7qtggPe8l_q0JPAzVF9GzdtB9600,16912 -django/contrib/admin/locale/pt/LC_MESSAGES/django.po,sha256=gzRkbl35HZ-88mlA1Bdj1Y-CUJ752pZKCUIG-NNw2os,18436 -django/contrib/admin/locale/pt/LC_MESSAGES/djangojs.mo,sha256=D6-8QwX6lsACkEcYXq1tK_4W2q_NMc6g5lZQJDZRFHw,4579 -django/contrib/admin/locale/pt/LC_MESSAGES/djangojs.po,sha256=__a9WBgO_o0suf2xvMhyRk_Wkg2tfqNHmJOM5YF86sk,5118 -django/contrib/admin/locale/pt_BR/LC_MESSAGES/django.mo,sha256=s4TU28oyJkcmjawja2KOvBPVgXBPnAE4N0T6Yw8xdnw,17151 -django/contrib/admin/locale/pt_BR/LC_MESSAGES/django.po,sha256=dwb6qnw8lWlSrCj9kpZ9v_DXJl--E7aXtmHPHqewwfI,19492 -django/contrib/admin/locale/pt_BR/LC_MESSAGES/djangojs.mo,sha256=JJDsLpSDoewcBZiUiU5gUHKJZk0tIWriLQpVOoooC8s,4604 -django/contrib/admin/locale/pt_BR/LC_MESSAGES/djangojs.po,sha256=NN9FVMD8BWR0tkAz4z19r1wilWP51jzG_6fCyerK3AE,5346 -django/contrib/admin/locale/ro/LC_MESSAGES/django.mo,sha256=vkDRRqbQXemsY69kUYonzahIeafWAoIWEJ85aS33Hk8,14387 -django/contrib/admin/locale/ro/LC_MESSAGES/django.po,sha256=fyO2ylCXWZqU3GgHnZJtZfr5tssHMv8RUfkJFKhlvt0,17365 -django/contrib/admin/locale/ro/LC_MESSAGES/djangojs.mo,sha256=voEqSN3JUgJM9vumLxE_QNPV7kA0XOoTktN7E7AYV6o,4639 -django/contrib/admin/locale/ro/LC_MESSAGES/djangojs.po,sha256=SO7FAqNnuvIDfZ_tsWRiwSv91mHx5NZHyR2VnmoYBWY,5429 -django/contrib/admin/locale/ru/LC_MESSAGES/django.mo,sha256=QJ6L9257dATWvsiBLc9QLn886vKaaEIFWglBBG5zWJo,22080 -django/contrib/admin/locale/ru/LC_MESSAGES/django.po,sha256=GFDQeIY3pDT7CbKCttBkz81AzUE1ztaUUCLd62Il_vg,23779 -django/contrib/admin/locale/ru/LC_MESSAGES/djangojs.mo,sha256=gYF-k1TcK9lZBCwMmxnaVLqD4rjVNHTYK6tRQX-QDm0,6524 -django/contrib/admin/locale/ru/LC_MESSAGES/djangojs.po,sha256=ePiQixWraXo_GEBzu6-l5mLJ3zt_SJEK3loMo96tUeQ,7447 -django/contrib/admin/locale/sk/LC_MESSAGES/django.mo,sha256=sLMYAOOz90NPuWJJyQdA_pbK31-mdrtsL68d8Xd7Bps,16288 -django/contrib/admin/locale/sk/LC_MESSAGES/django.po,sha256=PDyJDjKEHPc_-y55W_FimqaHVTLDUey4-XHfqn8feAU,18228 -django/contrib/admin/locale/sk/LC_MESSAGES/djangojs.mo,sha256=0FifzbnJmubmNNUsePBcbM2MwExXmtnt699xtY2_uzo,4677 -django/contrib/admin/locale/sk/LC_MESSAGES/djangojs.po,sha256=F9lWj_7Ir6-VBYosrtbQnkxHR_tOVFO1V3VUnvfWNeI,5382 -django/contrib/admin/locale/sl/LC_MESSAGES/django.mo,sha256=iqcg1DYwwDVacRAKJ3QR4fTmKQhRGXU4WkwYco9ASaA,16136 -django/contrib/admin/locale/sl/LC_MESSAGES/django.po,sha256=VeIJDh1PojyUy-4AdPcVezbQ-XVWqp04vFE_u3KU2tU,17508 -django/contrib/admin/locale/sl/LC_MESSAGES/djangojs.mo,sha256=0jqGv5lgcfyxh9pdnB0Nt7e0bF2G0nO-iVWJjKwyZqI,4724 -django/contrib/admin/locale/sl/LC_MESSAGES/djangojs.po,sha256=1DEs7obfCCf-hNM2nIkMizcRcq1KoLBvngMaXLlozUo,5269 -django/contrib/admin/locale/sq/LC_MESSAGES/django.mo,sha256=uyn8IzRKrCUsVMgkkKiv8QFqtNC9c9nVr6Uw6E7sdrc,17324 -django/contrib/admin/locale/sq/LC_MESSAGES/django.po,sha256=nFyndUnCwyAgsPWMlM_fTcQlOO2q2NOeMMFNOjnglDc,18640 -django/contrib/admin/locale/sq/LC_MESSAGES/djangojs.mo,sha256=y02QplhGai4DzXtHZ2O9H-IGZJmKk6wgoGIR_ujC8gw,4563 -django/contrib/admin/locale/sq/LC_MESSAGES/djangojs.po,sha256=CajHKg5KBJMns2iIz6Lf2RNFe0XCFlqJgxeCL9Uq-I8,5126 -django/contrib/admin/locale/sr/LC_MESSAGES/django.mo,sha256=7OEFKgKl8bhP5sYQQ3GWGuof8fgFUvWI16fjZLL-X4A,20855 -django/contrib/admin/locale/sr/LC_MESSAGES/django.po,sha256=TRKZvSIH8dDUsq8AQsneQmcsDndxUFftOq9jzgCOTdg,22213 -django/contrib/admin/locale/sr/LC_MESSAGES/djangojs.mo,sha256=No_O4m32WrmnovKZ7CgusTPZOiMRDvMusQNS9FAg_pg,5221 -django/contrib/admin/locale/sr/LC_MESSAGES/djangojs.po,sha256=lj1TZE6I5YK0KUBD7ZVGMLV97sYwlIIwZjC5WQyxSyE,5729 -django/contrib/admin/locale/sr_Latn/LC_MESSAGES/django.mo,sha256=8wcRn4O2WYMFJal760MvjtSPBNoDgHAEYtedg8CC7Ao,12383 -django/contrib/admin/locale/sr_Latn/LC_MESSAGES/django.po,sha256=N4fPEJTtUrQnc8q1MioPZ2a7E55YXrE-JvfAcWZubfA,16150 -django/contrib/admin/locale/sr_Latn/LC_MESSAGES/djangojs.mo,sha256=GxyIGHkAtSwuAnIgnjBlO6t_w589LloYIQw4zB-QiGM,4337 -django/contrib/admin/locale/sr_Latn/LC_MESSAGES/djangojs.po,sha256=GyBQ4gDVdhcmwbYod5MFhO-c8XVhv5eHyA6hyxOz_ZA,4862 -django/contrib/admin/locale/sv/LC_MESSAGES/django.mo,sha256=jW8NONkrEqE5RRnXiPWsOM2gK3DUXBX4XAQmmN5PLwk,16453 -django/contrib/admin/locale/sv/LC_MESSAGES/django.po,sha256=l1L93L3z8gcrtjJAHn2MpTVVjXdLnSbQ4sCI-odgVbI,18018 -django/contrib/admin/locale/sv/LC_MESSAGES/djangojs.mo,sha256=D7Bo8rFeCT6daVSdjr8QWdmDpN5UYdFnwviV3zZW0_o,4500 -django/contrib/admin/locale/sv/LC_MESSAGES/djangojs.po,sha256=qdD922JzhXE5WK54ZYtgq9uL80n1tum0q5tEo1kHBqY,5182 -django/contrib/admin/locale/sw/LC_MESSAGES/django.mo,sha256=Mtj7jvbugkVTj0qyJ_AMokWEa2btJNSG2XrhpY0U1Mc,14353 -django/contrib/admin/locale/sw/LC_MESSAGES/django.po,sha256=ElU-s0MgtNKF_aXdo-uugBnuJIDzHqMmy1ToMDQhuD0,16419 -django/contrib/admin/locale/sw/LC_MESSAGES/djangojs.mo,sha256=p0pi6-Zg-qsDVMDjNHO4aav3GfJ3tKKhy6MK7mPtC50,3647 -django/contrib/admin/locale/sw/LC_MESSAGES/djangojs.po,sha256=lZFP7Po4BM_QMTj-SXGlew1hqyJApZxu0lxMP-YduHI,4809 -django/contrib/admin/locale/ta/LC_MESSAGES/django.mo,sha256=ZdtNRZLRqquwMk7mE0XmTzEjTno9Zni3mV6j4DXL4nI,10179 -django/contrib/admin/locale/ta/LC_MESSAGES/django.po,sha256=D0TCLM4FFF7K9NqUGXNFE2KfoEzx5IHcJQ6-dYQi2Eg,16881 -django/contrib/admin/locale/ta/LC_MESSAGES/djangojs.mo,sha256=2-37FOw9Bge0ahIRxFajzxvMkAZL2zBiQFaELmqyhhY,1379 -django/contrib/admin/locale/ta/LC_MESSAGES/djangojs.po,sha256=Qs-D7N3ZVzpZVxXtMWKOzJfSmu_Mk9pge5W15f21ihI,3930 -django/contrib/admin/locale/te/LC_MESSAGES/django.mo,sha256=aIAG0Ey4154R2wa-vNe2x8X4fz2L958zRmTpCaXZzds,10590 -django/contrib/admin/locale/te/LC_MESSAGES/django.po,sha256=-zJYrDNmIs5fp37VsG4EAOVefgbBNl75c-Pp3RGBDAM,16941 -django/contrib/admin/locale/te/LC_MESSAGES/djangojs.mo,sha256=VozLzWQwrY-USvin5XyVPtUUKEmCr0dxaWC6J14BReo,1362 -django/contrib/admin/locale/te/LC_MESSAGES/djangojs.po,sha256=HI8IfXqJf4I6i-XZB8ELGyp5ZNr-oi5hW9h7n_8XSaQ,3919 -django/contrib/admin/locale/tg/LC_MESSAGES/django.mo,sha256=gJfgsEn9doTT0erBK77OBDi7_0O7Rb6PF9tRPacliXU,15463 -django/contrib/admin/locale/tg/LC_MESSAGES/django.po,sha256=Wkx7Hk2a9OzZymgrt9N91OL9K5HZXTbpPBXMhyE0pjI,19550 -django/contrib/admin/locale/tg/LC_MESSAGES/djangojs.mo,sha256=SEaBcnnKupXbTKCJchkSu_dYFBBvOTAOQSZNbCYUuHE,5154 -django/contrib/admin/locale/tg/LC_MESSAGES/djangojs.po,sha256=CfUjLtwMmz1h_MLE7c4UYv05ZTz_SOclyKKWmVEP9Jg,5978 -django/contrib/admin/locale/th/LC_MESSAGES/django.mo,sha256=EVlUISdKOvNkGMG4nbQFzSn5p7d8c9zOGpXwoHsHNlY,16394 -django/contrib/admin/locale/th/LC_MESSAGES/django.po,sha256=OqhGCZ87VX-WKdC2EQ8A8WeXdWXu9mj6k8mG9RLZMpM,20187 -django/contrib/admin/locale/th/LC_MESSAGES/djangojs.mo,sha256=ukj5tyDor9COi5BT9oRLucO2wVTI6jZWclOM-wNpXHM,6250 -django/contrib/admin/locale/th/LC_MESSAGES/djangojs.po,sha256=3L5VU3BNcmfiqzrAWK0tvRRVOtgR8Ceg9YIxL54RGBc,6771 -django/contrib/admin/locale/tr/LC_MESSAGES/django.mo,sha256=lIH6Rxbni7csB5cHmZwmHQnpxa1SCwPr_8nAPFR9WJY,17266 -django/contrib/admin/locale/tr/LC_MESSAGES/django.po,sha256=GAm62Lh7u0T1aiNI5BjidNzOKTCHOiGAca8eAIgKvPE,18789 -django/contrib/admin/locale/tr/LC_MESSAGES/djangojs.mo,sha256=-JOjx27dXogxyCjINedRgDH-sPB-dQBZPTe0ZUPcbgs,4505 -django/contrib/admin/locale/tr/LC_MESSAGES/djangojs.po,sha256=marxQc6dPy1mUoYyTA2pq25tclWCnOa663lmQUzL5xY,5076 -django/contrib/admin/locale/tt/LC_MESSAGES/django.mo,sha256=ObJ8zwVLhFsS6XZK_36AkNRCeznoJJwLTMh4_LLGPAA,12952 -django/contrib/admin/locale/tt/LC_MESSAGES/django.po,sha256=VDjg5nDrLqRGXpxCyQudEC_n-6kTCIYsOl3izt1Eblc,17329 -django/contrib/admin/locale/tt/LC_MESSAGES/djangojs.mo,sha256=Sz5qnMHWfLXjaCIHxQNrwac4c0w4oeAAQubn5R7KL84,2607 -django/contrib/admin/locale/tt/LC_MESSAGES/djangojs.po,sha256=_Uh3yH_RXVB3PP75RFztvSzVykVq0SQjy9QtTnyH3Qk,4541 -django/contrib/admin/locale/udm/LC_MESSAGES/django.mo,sha256=2Q_lfocM7OEjFKebqNR24ZBqUiIee7Lm1rmS5tPGdZA,622 -django/contrib/admin/locale/udm/LC_MESSAGES/django.po,sha256=L4TgEk2Fm2mtKqhZroE6k_gfz1VC-_dXe39CiJvaOPE,10496 -django/contrib/admin/locale/udm/LC_MESSAGES/djangojs.mo,sha256=CNmoKj9Uc0qEInnV5t0Nt4ZnKSZCRdIG5fyfSsqwky4,462 -django/contrib/admin/locale/udm/LC_MESSAGES/djangojs.po,sha256=ZLYr0yHdMYAl7Z7ipNSNjRFIMNYmzIjT7PsKNMT6XVk,2811 -django/contrib/admin/locale/uk/LC_MESSAGES/django.mo,sha256=Wc1E8kLHTeu0GRg1vkj_kataySFcnrVk_oCLYMUpa6M,20988 -django/contrib/admin/locale/uk/LC_MESSAGES/django.po,sha256=n7NqZajp0dDWD9r5o1Aot8pQski1gtp6eZziqHg0gEU,22827 -django/contrib/admin/locale/uk/LC_MESSAGES/djangojs.mo,sha256=YL-bL4CeoOsvcXKY30FsakS6A8kG0egbvDf2yYdFfU8,5930 -django/contrib/admin/locale/uk/LC_MESSAGES/djangojs.po,sha256=lKHsuFkzp8_evIKm8mVyZKIf99EIo8BsLYkIiyN29UY,6654 -django/contrib/admin/locale/ur/LC_MESSAGES/django.mo,sha256=HvyjnSeLhUf1JVDy759V_TI7ygZfLaMhLnoCBJxhH_s,13106 -django/contrib/admin/locale/ur/LC_MESSAGES/django.po,sha256=BFxxLbHs-UZWEmbvtWJNA7xeuvO9wDc32H2ysKZQvF4,17531 -django/contrib/admin/locale/ur/LC_MESSAGES/djangojs.mo,sha256=eYN9Q9KKTV2W0UuqRc-gg7y42yFAvJP8avMeZM-W7mw,2678 -django/contrib/admin/locale/ur/LC_MESSAGES/djangojs.po,sha256=Nj-6L6axLrqA0RHUQbidNAT33sXYfVdGcX4egVua-Pk,4646 -django/contrib/admin/locale/uz/LC_MESSAGES/django.mo,sha256=NamB-o6uawT2c2FKO8A9u2I-GPOpW4jp4p7mbH3idzM,3645 -django/contrib/admin/locale/uz/LC_MESSAGES/django.po,sha256=ooURQ-uVQm4QDd8b6ErkeCtv6wsfCfRxjetaoY0JiEU,12516 -django/contrib/admin/locale/uz/LC_MESSAGES/djangojs.mo,sha256=LhMWp7foVSN65gP4RqFGzkLlSaEfqVQ8kW16X-5kJVs,4517 -django/contrib/admin/locale/uz/LC_MESSAGES/djangojs.po,sha256=-YpHNtdwmKeavDSVZZMUsNQ9MirfhNS_Kzox72FatS4,4950 -django/contrib/admin/locale/vi/LC_MESSAGES/django.mo,sha256=nkSrBQaktbMGWr8IMNoPoOVQBAIR1GJF13BvKLu2CeM,14860 -django/contrib/admin/locale/vi/LC_MESSAGES/django.po,sha256=FxcEsnT3-FvPXjnHp9y51jFPILUgSx27egwtwU_wbS0,17847 -django/contrib/admin/locale/vi/LC_MESSAGES/djangojs.mo,sha256=M_wqHg1NO-I7xfY-mMZ29BqUAqGzlizgJ3_DIGBWOUc,3733 -django/contrib/admin/locale/vi/LC_MESSAGES/djangojs.po,sha256=d3YtQhNuCqtfMO3u5-6zoNhhGBNYkoUhTrxz7I3PRkQ,5018 -django/contrib/admin/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=54flhrIfCICEolonPNRcP1Bfa6Zb2BUKREmP7TQwq7c,15844 -django/contrib/admin/locale/zh_Hans/LC_MESSAGES/django.po,sha256=-VcDFuL6GQn6SBktuCrdBIDnboFzwVnfxp_X3GZmtT0,17811 -django/contrib/admin/locale/zh_Hans/LC_MESSAGES/djangojs.mo,sha256=i3PW5SngxTBfjMTLBq55-AbY1bC8uqhoXJ_9cWSZxQs,4189 -django/contrib/admin/locale/zh_Hans/LC_MESSAGES/djangojs.po,sha256=jgmuWUwyCO1UckgXSjmdX4ut4hAvrkxl0iKqDGaIrVc,5000 -django/contrib/admin/locale/zh_Hant/LC_MESSAGES/django.mo,sha256=kEKX-cQPRFCNkiqNs1BnyzEvJQF-EzA814ASnYPFMsw,15152 -django/contrib/admin/locale/zh_Hant/LC_MESSAGES/django.po,sha256=iH3w7Xt_MelkZefKi8F0yAWN6QGdQCJBz8VaFY4maUg,16531 -django/contrib/admin/locale/zh_Hant/LC_MESSAGES/djangojs.mo,sha256=yFwS8aTJUAG5lN4tYLCxx-FLfTsiOxXrCEhlIA-9vcs,4230 -django/contrib/admin/locale/zh_Hant/LC_MESSAGES/djangojs.po,sha256=C4Yk5yuYcmaovVs_CS8YFYY2iS4RGi0oNaUpTm7akeU,4724 -django/contrib/admin/migrations/0001_initial.py,sha256=9EuqU1zlIQtP_U2z1orVgxGvIhZ57df9S3GhpDhNWgM,1892 -django/contrib/admin/migrations/0002_logentry_remove_auto_add.py,sha256=_7XFWubtQ7NG0eQ02MqtxXQmjBmYc6Od5rwcAiT1aCs,554 -django/contrib/admin/migrations/0003_logentry_add_action_flag_choices.py,sha256=UCS9mPrkhZ5YL_9RMSrgA7uWDTzvLzqSLq_LSXVXimM,539 -django/contrib/admin/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/admin/migrations/__pycache__/0001_initial.cpython-38.pyc,, -django/contrib/admin/migrations/__pycache__/0002_logentry_remove_auto_add.cpython-38.pyc,, -django/contrib/admin/migrations/__pycache__/0003_logentry_add_action_flag_choices.cpython-38.pyc,, -django/contrib/admin/migrations/__pycache__/__init__.cpython-38.pyc,, -django/contrib/admin/models.py,sha256=qqwq3V_KqV4_WJIYqKjIQnVxZZnIPzyHBDhnMg101Ho,5672 -django/contrib/admin/options.py,sha256=n1XLMbPW4uZ-8umesxR1991X0UPTnIo1cB1DiywfrpA,92818 -django/contrib/admin/sites.py,sha256=vxywQBF_pQL1FmsrH2JcWythqEUnZ_MGhUvL00Got1M,21067 -django/contrib/admin/static/admin/css/autocomplete.css,sha256=MGqRzeZ1idtUnRM7MnEHw7ClmOVe_Uo7SdLoudapNMU,8440 -django/contrib/admin/static/admin/css/base.css,sha256=oSENYSu7GnAozJuUT0bkGLgKQDLgWmC8ue3hAtfSb34,16307 -django/contrib/admin/static/admin/css/changelists.css,sha256=eGDAo86qDmfpWAWmCq4w8c1TMkBbWrIE1OL_j5qoJ_w,6302 -django/contrib/admin/static/admin/css/dashboard.css,sha256=i2OcDTa1R_bO6aBTZ66-aRlTXl0l4sjeHfasUrfzjd0,380 -django/contrib/admin/static/admin/css/fonts.css,sha256=SnBl3KjeUZqRmZw3F0iNm1YpqFhjrNC_fNN0H2TkuYc,423 -django/contrib/admin/static/admin/css/forms.css,sha256=FI6oXDAfW8KVe8beP3hYPhkA1io0lMx-BHGjirjRE20,8423 -django/contrib/admin/static/admin/css/login.css,sha256=zA6PkXB2FP0gzI8JytuyMYK6BMB_jHYyop24cgU2GAg,1185 -django/contrib/admin/static/admin/css/nav_sidebar.css,sha256=S2MET8unxw2kphcE_0Q04tFFpjW0GOASf688gMXUz5c,2138 -django/contrib/admin/static/admin/css/responsive.css,sha256=IqPHNXSyqckl4LuYQ9ZTwH6CKHpdTzxobmcsHFZTc3g,18344 -django/contrib/admin/static/admin/css/responsive_rtl.css,sha256=iM8FIfXLuXgurjYK0JwboVuilUg1hnaZw7wa3hx8aI0,1741 -django/contrib/admin/static/admin/css/rtl.css,sha256=t8h36wAiN9KWocOdpf0ZBVvCtf2qXlz4UpbSw9ff-pI,3487 -django/contrib/admin/static/admin/css/vendor/select2/LICENSE-SELECT2.md,sha256=TuDLxRNwr941hlKg-XeXIFNyntV4tqQvXioDfRFPCzk,1124 -django/contrib/admin/static/admin/css/vendor/select2/select2.css,sha256=kalgQ55Pfy9YBkT-4yYYd5N8Iobe-iWeBuzP7LjVO0o,17358 -django/contrib/admin/static/admin/css/vendor/select2/select2.min.css,sha256=FdatTf20PQr_rWg-cAKfl6j4_IY3oohFAJ7gVC3M34E,14966 -django/contrib/admin/static/admin/css/widgets.css,sha256=zdUCrmj046F4ELEP6pQLvrrrtiro0s3SWiH9s8WwGm4,10592 -django/contrib/admin/static/admin/fonts/LICENSE.txt,sha256=Pd-b5cKP4n2tFDpdx27qJSIq0d1ok0oEcGTlbtL6QMU,11560 -django/contrib/admin/static/admin/fonts/README.txt,sha256=E4rvl9Y9cvKx2wpkrgQZjhaKfRhEUG8pNLCoZoBq-rE,214 -django/contrib/admin/static/admin/fonts/Roboto-Bold-webfont.woff,sha256=sXZ6DD5d-zpQCe_uREX_FdY2LpKFRh4Xve0Ybx6UVvA,86184 -django/contrib/admin/static/admin/fonts/Roboto-Light-webfont.woff,sha256=GIJzScf-vUuNAaqQfGfqm4ARJCB4MmskcDl4RU_fNRo,85692 -django/contrib/admin/static/admin/fonts/Roboto-Regular-webfont.woff,sha256=munWVF19fYI_ipQBDbd8Gg_3Hjcei7FY3xy5g5UWJQc,85876 -django/contrib/admin/static/admin/img/LICENSE,sha256=0RT6_zSIwWwxmzI13EH5AjnT1j2YU3MwM9j3U19cAAQ,1081 -django/contrib/admin/static/admin/img/README.txt,sha256=XqN5MlT1SIi6sdnYnKJrOiJ6h9lTIejT7nLSY-Y74pk,319 -django/contrib/admin/static/admin/img/calendar-icons.svg,sha256=gbMu26nfxZphlqKFcVOXpcv5zhv5x_Qm_P4ba0Ze84I,1094 -django/contrib/admin/static/admin/img/gis/move_vertex_off.svg,sha256=ou-ppUNyy5QZCKFYlcrzGBwEEiTDX5mmJvM8rpwC5DM,1129 -django/contrib/admin/static/admin/img/gis/move_vertex_on.svg,sha256=DgmcezWDms_3VhgqgYUGn-RGFHyScBP0MeX8PwHy_nE,1129 -django/contrib/admin/static/admin/img/icon-addlink.svg,sha256=kBtPJJ3qeQPWeNftvprZiR51NYaZ2n_ZwJatY9-Zx1Q,331 -django/contrib/admin/static/admin/img/icon-alert.svg,sha256=aXtd9PA66tccls-TJfyECQrmdWrj8ROWKC0tJKa7twA,504 -django/contrib/admin/static/admin/img/icon-calendar.svg,sha256=_bcF7a_R94UpOfLf-R0plVobNUeeTto9UMiUIHBcSHY,1086 -django/contrib/admin/static/admin/img/icon-changelink.svg,sha256=clM2ew94bwVa2xQ6bvfKx8xLtk0i-u5AybNlyP8k-UM,380 -django/contrib/admin/static/admin/img/icon-clock.svg,sha256=k55Yv6R6-TyS8hlL3Kye0IMNihgORFjoJjHY21vtpEA,677 -django/contrib/admin/static/admin/img/icon-deletelink.svg,sha256=06XOHo5y59UfNBtO8jMBHQqmXt8UmohlSMloUuZ6d0A,392 -django/contrib/admin/static/admin/img/icon-no.svg,sha256=QqBaTrrp3KhYJxLYB5E-0cn_s4A_Y8PImYdWjfQSM-c,560 -django/contrib/admin/static/admin/img/icon-unknown-alt.svg,sha256=LyL9oJtR0U49kGHYKMxmmm1vAw3qsfXR7uzZH76sZ_g,655 -django/contrib/admin/static/admin/img/icon-unknown.svg,sha256=ePcXlyi7cob_IcJOpZ66uiymyFgMPHl8p9iEn_eE3fc,655 -django/contrib/admin/static/admin/img/icon-viewlink.svg,sha256=NL7fcy7mQOQ91sRzxoVRLfzWzXBRU59cFANOrGOwWM0,581 -django/contrib/admin/static/admin/img/icon-yes.svg,sha256=_H4JqLywJ-NxoPLqSqk9aGJcxEdZwtSFua1TuI9kIcM,436 -django/contrib/admin/static/admin/img/inline-delete.svg,sha256=Ni1z8eDYBOveVDqtoaGyEMWG5Mdnt9dniiuBWTlnr5Y,560 -django/contrib/admin/static/admin/img/search.svg,sha256=HgvLPNT7FfgYvmbt1Al1yhXgmzYHzMg8BuDLnU9qpMU,458 -django/contrib/admin/static/admin/img/selector-icons.svg,sha256=0RJyrulJ_UR9aYP7Wbvs5jYayBVhLoXR26zawNMZ0JQ,3291 -django/contrib/admin/static/admin/img/sorting-icons.svg,sha256=cCvcp4i3MAr-mo8LE_h8ZRu3LD7Ma9BtpK-p24O3lVA,1097 -django/contrib/admin/static/admin/img/tooltag-add.svg,sha256=fTZCouGMJC6Qq2xlqw_h9fFodVtLmDMrpmZacGVJYZQ,331 -django/contrib/admin/static/admin/img/tooltag-arrowright.svg,sha256=GIAqy_4Oor9cDMNC2fSaEGh-3gqScvqREaULnix3wHc,280 -django/contrib/admin/static/admin/js/SelectBox.js,sha256=hNoyjjk97t_o5Z7ZttqH3gPsbyGgojQR-FfzE02INrI,4257 -django/contrib/admin/static/admin/js/SelectFilter2.js,sha256=Nkgyinav9IBHIkJf8zCfAwArDZnY2Jbji2847SByUoU,12350 -django/contrib/admin/static/admin/js/actions.js,sha256=yOG2FkbKUCwPxB74LT2malK-7Rh514fLl9UZwd0RWvg,6783 -django/contrib/admin/static/admin/js/actions.min.js,sha256=ODZEAXLpzp0PHcfibtia-bBrn07k4Sg7a005Q1EGIVA,3237 -django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js,sha256=vqjI_mFJ4x7hgezEPEYZAX0zUwt6RI91Mc9_mr4juQs,19750 -django/contrib/admin/static/admin/js/admin/RelatedObjectLookups.js,sha256=ukCLO-_ftyymc2hveCrDvIk0C-OlWR74IjY6_wVFmlA,6078 -django/contrib/admin/static/admin/js/autocomplete.js,sha256=VmXi-25debLtf_cTnShThbZ5ZTJAyf0H2xiKXif1qN4,1127 -django/contrib/admin/static/admin/js/calendar.js,sha256=YkgymeVyqvI8OiZFBUvv7dSNhQYvVk2KshhLxdkckUY,7788 -django/contrib/admin/static/admin/js/cancel.js,sha256=YAc0VFGCDpTvvKqlVWEblphw4ZAyrrn4lA-DVfDEYSY,857 -django/contrib/admin/static/admin/js/change_form.js,sha256=zOTeORCq1i9XXV_saSBBDOXbou5UtZvxYFpVPqxQ02Q,606 -django/contrib/admin/static/admin/js/collapse.js,sha256=UONBUueHwsm5SMlG0Ufp4mlqdgu7UGimU6psKzpxbuE,1803 -django/contrib/admin/static/admin/js/collapse.min.js,sha256=Ehp3VOkwSIyPgMbNIXrsriOEykt-tUKChsgL5a8uevs,906 -django/contrib/admin/static/admin/js/core.js,sha256=FrbsB4KwKDk_lbGrAh2hNMJ5ZV9ApYNMKccvRhQkYLk,5418 -django/contrib/admin/static/admin/js/inlines.js,sha256=dSEFix4uxQPiv4U8WDt3JTWuczG4yc9kCdemKxt4V6Q,15225 -django/contrib/admin/static/admin/js/inlines.min.js,sha256=Ubkp1x-i_WS7qMLp0JX9BquofhnTGYVp1Xn3LP4jzhQ,5301 -django/contrib/admin/static/admin/js/jquery.init.js,sha256=uM_Kf7EOBMipcCmuQHbyubQkycleSWDCS8-c3WevFW0,347 -django/contrib/admin/static/admin/js/nav_sidebar.js,sha256=Ufbx1cSAoDA8ovlBg6VPSdDArY_-fRzt_YnQ-snuSHk,1360 -django/contrib/admin/static/admin/js/popup_response.js,sha256=H4ppG14jfrxB1XF5xZp5SS8PapYuYou5H7uwYjHd7eI,551 -django/contrib/admin/static/admin/js/prepopulate.js,sha256=UYkWrHNK1-OWp1a5IWZdg0udfo_dcR-jKSn5AlxxqgU,1531 -django/contrib/admin/static/admin/js/prepopulate.min.js,sha256=KWlXLa71ZJaVA-igy1N9XUhAotjfV80Crp_vS_JIf1U,388 -django/contrib/admin/static/admin/js/prepopulate_init.js,sha256=JdhYQLmheJU2wK3xAelyDN5VVesDXT9XU_xwRnKhlKA,492 -django/contrib/admin/static/admin/js/urlify.js,sha256=AQ-o15_pwn4BSCDwFjScCVlm0D-aU7wNlGDXzsNiMRE,8632 -django/contrib/admin/static/admin/js/vendor/jquery/LICENSE.txt,sha256=H_YDEY79sxN5lWfLSkCFlJVDhPQIQ8pvKcWW9bH4kH0,1095 -django/contrib/admin/static/admin/js/vendor/jquery/jquery.js,sha256=QWo7LDvxbWT2tbbQ97B53yJnYU3WhH_C8ycbRAkjPDc,287630 -django/contrib/admin/static/admin/js/vendor/jquery/jquery.min.js,sha256=9_aliU8dGd2tb6OSsuzixeV4y_faTqgFtohetphbbj0,89476 -django/contrib/admin/static/admin/js/vendor/select2/LICENSE.md,sha256=TuDLxRNwr941hlKg-XeXIFNyntV4tqQvXioDfRFPCzk,1124 -django/contrib/admin/static/admin/js/vendor/select2/i18n/af.js,sha256=IpI3uo19fo77jMtN5R3peoP0OriN-nQfPY2J4fufd8g,866 -django/contrib/admin/static/admin/js/vendor/select2/i18n/ar.js,sha256=zxQ3peSnbVIfrH1Ndjx4DrHDsmbpqu6mfeylVWFM5mY,905 -django/contrib/admin/static/admin/js/vendor/select2/i18n/az.js,sha256=N_KU7ftojf2HgvJRlpP8KqG6hKIbqigYN3K0YH_ctuQ,721 -django/contrib/admin/static/admin/js/vendor/select2/i18n/bg.js,sha256=5Z6IlHmuk_6IdZdAVvdigXnlj7IOaKXtcjuI0n0FmYQ,968 -django/contrib/admin/static/admin/js/vendor/select2/i18n/bn.js,sha256=wdQbgaxZ47TyGlwvso7GOjpmTXUKaWzvVUr_oCRemEE,1291 -django/contrib/admin/static/admin/js/vendor/select2/i18n/bs.js,sha256=g56kWSu9Rxyh_rarLSDa_8nrdqL51JqZai4QQx20jwQ,965 -django/contrib/admin/static/admin/js/vendor/select2/i18n/ca.js,sha256=DSyyAXJUI0wTp_TbFhLNGrgvgRsGWeV3IafxYUGBggM,900 -django/contrib/admin/static/admin/js/vendor/select2/i18n/cs.js,sha256=t_8OWVi6Yy29Kabqs_l1sM2SSrjUAgZTwbTX_m0MCL8,1292 -django/contrib/admin/static/admin/js/vendor/select2/i18n/da.js,sha256=tF2mvzFYSWYOU3Yktl3G93pCkf-V9gonCxk7hcA5J1o,828 -django/contrib/admin/static/admin/js/vendor/select2/i18n/de.js,sha256=5bspfcihMp8yXDwfcqvC_nV3QTbtBuQDmR3c7UPQtFw,866 -django/contrib/admin/static/admin/js/vendor/select2/i18n/dsb.js,sha256=KtP2xNoP75oWnobUrS7Ep_BOFPzcMNDt0wyPnkbIF_Q,1017 -django/contrib/admin/static/admin/js/vendor/select2/i18n/el.js,sha256=IdvD8eY_KpX9fdHvld3OMvQfYsnaoJjDeVkgbIemfn8,1182 -django/contrib/admin/static/admin/js/vendor/select2/i18n/en.js,sha256=C66AO-KOXNuXEWwhwfjYBFa3gGcIzsPFHQAZ9qSh3Go,844 -django/contrib/admin/static/admin/js/vendor/select2/i18n/es.js,sha256=IhZaIy8ufTduO2-vBrivswMCjlPk7vrk4P81pD6B0SM,922 -django/contrib/admin/static/admin/js/vendor/select2/i18n/et.js,sha256=LgLgdOkKjc63svxP1Ua7A0ze1L6Wrv0X6np-8iRD5zw,801 -django/contrib/admin/static/admin/js/vendor/select2/i18n/eu.js,sha256=rLmtP7bA_atkNIj81l_riTM7fi5CXxVrFBHFyddO-Hw,868 -django/contrib/admin/static/admin/js/vendor/select2/i18n/fa.js,sha256=fqZkE9e8tt2rZ7OrDGPiOsTNdj3S2r0CjbddVUBDeMA,1023 -django/contrib/admin/static/admin/js/vendor/select2/i18n/fi.js,sha256=KVGirhGGNee_iIpMGLX5EzH_UkNe-FOPC_0484G-QQ0,803 -django/contrib/admin/static/admin/js/vendor/select2/i18n/fr.js,sha256=aj0q2rdJN47BRBc9LqvsgxkuPOcWAbZsUFUlbguwdY0,924 -django/contrib/admin/static/admin/js/vendor/select2/i18n/gl.js,sha256=HSJafI85yKp4WzjFPT5_3eZ_-XQDYPzzf4BWmu6uXHk,924 -django/contrib/admin/static/admin/js/vendor/select2/i18n/he.js,sha256=DIPRKHw0NkDuUtLNGdTnYZcoCiN3ustHY-UMmw34V_s,984 -django/contrib/admin/static/admin/js/vendor/select2/i18n/hi.js,sha256=m6ZqiKZ_jzwzVFgC8vkYiwy4lH5fJEMV-LTPVO2Wu40,1175 -django/contrib/admin/static/admin/js/vendor/select2/i18n/hr.js,sha256=NclTlDTiNFX1y0W1Llj10-ZIoXUYd7vDXqyeUJ7v3B4,852 -django/contrib/admin/static/admin/js/vendor/select2/i18n/hsb.js,sha256=FTLszcrGaelTW66WV50u_rS6HV0SZxQ6Vhpi2tngC6M,1018 -django/contrib/admin/static/admin/js/vendor/select2/i18n/hu.js,sha256=3PdUk0SpHY-H-h62womw4AyyRMujlGc6_oxW-L1WyOs,831 -django/contrib/admin/static/admin/js/vendor/select2/i18n/hy.js,sha256=BLh0fntrwtwNwlQoiwLkdQOVyNXHdmRpL28p-W5FsDg,1028 -django/contrib/admin/static/admin/js/vendor/select2/i18n/id.js,sha256=fGJ--Aw70Ppzk3EgLjF1V_QvqD2q_ufXjnQIIyZqYgc,768 -django/contrib/admin/static/admin/js/vendor/select2/i18n/is.js,sha256=gn0ddIqTnJX4wk-tWC5gFORJs1dkgIH9MOwLljBuQK0,807 -django/contrib/admin/static/admin/js/vendor/select2/i18n/it.js,sha256=kGxtapwhRFj3u_IhY_7zWZhKgR5CrZmmasT5w-aoXRM,897 -django/contrib/admin/static/admin/js/vendor/select2/i18n/ja.js,sha256=tZ4sqdx_SEcJbiW5-coHDV8FVmElJRA3Z822EFHkjLM,862 -django/contrib/admin/static/admin/js/vendor/select2/i18n/ka.js,sha256=DH6VrnVdR8SX6kso2tzqnJqs32uCpBNyvP9Kxs3ssjI,1195 -django/contrib/admin/static/admin/js/vendor/select2/i18n/km.js,sha256=x9hyjennc1i0oeYrFUHQnYHakXpv7WD7MSF-c9AaTjg,1088 -django/contrib/admin/static/admin/js/vendor/select2/i18n/ko.js,sha256=ImmB9v7g2ZKEmPFUQeXrL723VEjbiEW3YelxeqHEgHc,855 -django/contrib/admin/static/admin/js/vendor/select2/i18n/lt.js,sha256=ZT-45ibVwdWnTyo-TqsqW2NjIp9zw4xs5So78KMb_s8,944 -django/contrib/admin/static/admin/js/vendor/select2/i18n/lv.js,sha256=hHpEK4eYSoJj_fvA2wl8QSuJluNxh-Tvp6UZm-ZYaeE,900 -django/contrib/admin/static/admin/js/vendor/select2/i18n/mk.js,sha256=PSpxrnBpL4SSs9Tb0qdWD7umUIyIoR2V1fpqRQvCXcA,1038 -django/contrib/admin/static/admin/js/vendor/select2/i18n/ms.js,sha256=NCz4RntkJZf8YDDC1TFBvK-nkn-D-cGNy7wohqqaQD4,811 -django/contrib/admin/static/admin/js/vendor/select2/i18n/nb.js,sha256=eduKCG76J3iIPrUekCDCq741rnG4xD7TU3E7Lib7sPE,778 -django/contrib/admin/static/admin/js/vendor/select2/i18n/ne.js,sha256=QQjDPQE6GDKXS5cxq2JRjk3MGDvjg3Izex71Zhonbj8,1357 -django/contrib/admin/static/admin/js/vendor/select2/i18n/nl.js,sha256=JctLfTpLQ5UFXtyAmgbCvSPUtW0fy1mE7oNYcMI90bI,904 -django/contrib/admin/static/admin/js/vendor/select2/i18n/pl.js,sha256=6gEuKYnJdf8cbPERsw-mtdcgdByUJuLf1QUH0aSajMo,947 -django/contrib/admin/static/admin/js/vendor/select2/i18n/ps.js,sha256=4J4sZtSavxr1vZdxmnub2J0H0qr1S8WnNsTehfdfq4M,1049 -django/contrib/admin/static/admin/js/vendor/select2/i18n/pt-BR.js,sha256=0DFe1Hu9fEDSXgpjPOQrA6Eq0rGb15NRbsGh1U4vEr0,876 -django/contrib/admin/static/admin/js/vendor/select2/i18n/pt.js,sha256=L5jqz8zc5BF8ukrhpI2vvGrNR34X7482dckX-IUuUpA,878 -django/contrib/admin/static/admin/js/vendor/select2/i18n/ro.js,sha256=Aadb6LV0u2L2mCOgyX2cYZ6xI5sDT9OI3V7HwuueivM,938 -django/contrib/admin/static/admin/js/vendor/select2/i18n/ru.js,sha256=bV6emVCE9lY0LzbVN87WKAAAFLUT3kKqEzn641pJ29o,1171 -django/contrib/admin/static/admin/js/vendor/select2/i18n/sk.js,sha256=MnbUcP6pInuBzTW_L_wmXY8gPLGCOcKyzQHthFkImZo,1306 -django/contrib/admin/static/admin/js/vendor/select2/i18n/sl.js,sha256=LPIKwp9gp_WcUc4UaVt_cySlNL5_lmfZlt0bgtwnkFk,925 -django/contrib/admin/static/admin/js/vendor/select2/i18n/sq.js,sha256=oIxJLYLtK0vG2g3s5jsGLn4lHuDgSodxYAWL0ByHRHo,903 -django/contrib/admin/static/admin/js/vendor/select2/i18n/sr-Cyrl.js,sha256=BoT2KdiceZGgxhESRz3W2J_7CFYqWyZyov2YktUo_2w,1109 -django/contrib/admin/static/admin/js/vendor/select2/i18n/sr.js,sha256=7EELYXwb0tISsuvL6eorxzTviMK-oedSvZvEZCMloGU,980 -django/contrib/admin/static/admin/js/vendor/select2/i18n/sv.js,sha256=c6nqUmitKs4_6AlYDviCe6HqLyOHqot2IrvJRGjj1JE,786 -django/contrib/admin/static/admin/js/vendor/select2/i18n/th.js,sha256=saDPLk-2dq5ftKCvW1wddkJOg-mXA-GUoPPVOlSZrIY,1074 -django/contrib/admin/static/admin/js/vendor/select2/i18n/tk.js,sha256=mUEGlb-9nQHvzcTYI-1kjsB7JsPRGpLxWbjrJ8URthU,771 -django/contrib/admin/static/admin/js/vendor/select2/i18n/tr.js,sha256=dDz8iSp07vbx9gciIqz56wmc2TLHj5v8o6es75vzmZU,775 -django/contrib/admin/static/admin/js/vendor/select2/i18n/uk.js,sha256=MixhFDvdRda-wj-TjrN018s7R7E34aQhRjz4baxrdKw,1156 -django/contrib/admin/static/admin/js/vendor/select2/i18n/vi.js,sha256=mwTeySsUAgqu_IA6hvFzMyhcSIM1zGhNYKq8G7X_tpM,796 -django/contrib/admin/static/admin/js/vendor/select2/i18n/zh-CN.js,sha256=olAdvPQ5qsN9IZuxAKgDVQM-blexUnWTDTXUtiorygI,768 -django/contrib/admin/static/admin/js/vendor/select2/i18n/zh-TW.js,sha256=DnDBG9ywBOfxVb2VXg71xBR_tECPAxw7QLhZOXiJ4fo,707 -django/contrib/admin/static/admin/js/vendor/select2/select2.full.js,sha256=ugZkER5OAEGzCwwb_4MvhBKE5Gvmc0S59MKn-dooZaI,173566 -django/contrib/admin/static/admin/js/vendor/select2/select2.full.min.js,sha256=XG_auAy4aieWldzMImofrFDiySK-pwJC7aoo9St7rS0,79212 -django/contrib/admin/static/admin/js/vendor/xregexp/LICENSE.txt,sha256=xnYLh4GL4QG4S1G_JWwF_AR18rY9KmrwD3kxq7PTZNw,1103 -django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.js,sha256=rtvcVZex5zUbQQpBDEwPXetC28nAEksnAblw2Flt9tA,232381 -django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.min.js,sha256=e2iDfG6V1sfGUB92i5yNqQamsMCc8An0SFzoo3vbylg,125266 -django/contrib/admin/templates/admin/404.html,sha256=zyawWu1I9IxDGBRsks6-DgtLUGDDYOKHfj9YQqPl0AA,282 -django/contrib/admin/templates/admin/500.html,sha256=rZNmFXr9POnc9TdZwD06qkY8h2W5K05vCyssrIzbZGE,551 -django/contrib/admin/templates/admin/actions.html,sha256=P4nfxM6n16V-LbM1TNHtDuBGOarvSbEgmAtfqn8p-k8,1224 -django/contrib/admin/templates/admin/app_index.html,sha256=X-ISFsSrON8osoS93ywjM11MLGhrcx-U0o6tJfpWRqY,389 -django/contrib/admin/templates/admin/app_list.html,sha256=Zg5jM2ehz66QsuxYIghQ0OyqDjhDMnvLoNeduulP7Ng,1686 -django/contrib/admin/templates/admin/auth/user/add_form.html,sha256=5DL3UbNWW2rTvWrpMsxy5XcVNT6_uYv8DjDZZksiVKQ,320 -django/contrib/admin/templates/admin/auth/user/change_password.html,sha256=iXApep52lKi_XvM8cMrMBRQPOsVaRvXWx83m5w-B1T8,2372 -django/contrib/admin/templates/admin/base.html,sha256=flYvdeb7QveFAHZfLaINx6LhfJ052J1lfHVPPcIRpC4,4233 -django/contrib/admin/templates/admin/base_site.html,sha256=1v0vGrcN4FNEIF_VBiQE6yf2HPdkKhag2_v0AUsaGmM,316 -django/contrib/admin/templates/admin/change_form.html,sha256=f58vbrT4Wv_nzYtV7ohffAOEFw8y91mnaGlemtsOGa8,3051 -django/contrib/admin/templates/admin/change_form_object_tools.html,sha256=C0l0BJF2HuSjIvtY-Yr-ByZ9dePFRrTc-MR-OVJD-AI,403 -django/contrib/admin/templates/admin/change_list.html,sha256=GTJpzqH3_Qq4ZwRs_AuqQ9rseEaraIYQs5pMLTyvhn0,3262 -django/contrib/admin/templates/admin/change_list_object_tools.html,sha256=-AX0bYTxDsdLtEpAEK3RFpY89tdvVChMAWPYBLqPn48,378 -django/contrib/admin/templates/admin/change_list_results.html,sha256=kQo0p2g014wZJjxF6-UsCLqZxnlt0yTthr2g9PNwJ78,1551 -django/contrib/admin/templates/admin/date_hierarchy.html,sha256=I9Nj9WJb3JM_9ZBHrg4xIFku_a59U-KoqO5yuSaqVJQ,518 -django/contrib/admin/templates/admin/delete_confirmation.html,sha256=GfcMpSIo6Xy4QWX1_oNYilY7c1C8FKSbGWiWfw61VlY,2426 -django/contrib/admin/templates/admin/delete_selected_confirmation.html,sha256=i2sUDTPuSlJqOh_JMKx5VsxOpZC9W5zD94R2XpiNPBk,2341 -django/contrib/admin/templates/admin/edit_inline/stacked.html,sha256=BdE_TyQ5bGsSaVeRhvQRpUohQTeCEAHph4piHhdVBDE,2412 -django/contrib/admin/templates/admin/edit_inline/tabular.html,sha256=WAvSLlj0E-F-t0kCyb3_iUHk84fo1ItCQdn4bcQ3d4I,4332 -django/contrib/admin/templates/admin/filter.html,sha256=V1sWCmJMSvBC_GzTtJkNWn-FfdzPpcBySERTVH5i8HY,338 -django/contrib/admin/templates/admin/includes/fieldset.html,sha256=DgcBbVUfkho33IMZGEg42Xr9P5y3ZAefFzqkxf74v1Q,1787 -django/contrib/admin/templates/admin/includes/object_delete_summary.html,sha256=OC7VhKQiczmi01Gt_3jyemelerSNrGyDiWghUK6xKEI,192 -django/contrib/admin/templates/admin/index.html,sha256=IJV2pH-Xi8rYmR1TzckraJ3A2fSjzejV6Dpk-oPqCEA,1861 -django/contrib/admin/templates/admin/invalid_setup.html,sha256=F5FS3o7S3l4idPrX29OKlM_azYmCRKzFdYjV_jpTqhE,447 -django/contrib/admin/templates/admin/login.html,sha256=yhk3veXIvM_efQLL4NcjfYWxZKqqAct3hPS6mYaWBJ0,1912 -django/contrib/admin/templates/admin/nav_sidebar.html,sha256=wZjmLWbRHWrCaBH0ZyMhWeYlAeTIS3PGWNmcBmWINVw,276 -django/contrib/admin/templates/admin/object_history.html,sha256=hr_yKkciaPU-ljl3XM_87c2q0076YhAQXHy7buayLIc,1472 -django/contrib/admin/templates/admin/pagination.html,sha256=OBvC2HWFaH3wIuk6gzKSyCli51NTaW8vnJFyBOpNo_8,549 -django/contrib/admin/templates/admin/popup_response.html,sha256=Lj8dfQrg1XWdA-52uNtWJ9hwBI98Wt2spSMkO4YBjEk,327 -django/contrib/admin/templates/admin/prepopulated_fields_js.html,sha256=vVRsVT_TxUddTdKI7ADfIbwg5Mog4XVQwoBWlivEjRc,214 -django/contrib/admin/templates/admin/search_form.html,sha256=Ea8OEGFRyiTpkqdeWGyQ0mVWK0tuHXVndnO77xmjBYg,1044 -django/contrib/admin/templates/admin/submit_line.html,sha256=DgxKlyJ2b8o5NVWzE47yt_2X-xnbobKjdIVK2Y7jXBU,1052 -django/contrib/admin/templates/admin/widgets/clearable_file_input.html,sha256=NWjHNdkTZMAxU5HWXrOQCReeAO5A6PXBDRWO8S9gSGI,618 -django/contrib/admin/templates/admin/widgets/foreign_key_raw_id.html,sha256=Sp46OiJ5ViQMXfSaug4UkqIiXbiGdlQ8GNEhA8kVLUo,341 -django/contrib/admin/templates/admin/widgets/many_to_many_raw_id.html,sha256=w18JMKnPKrw6QyqIXBcdPs3YJlTRtHK5HGxj0lVkMlY,54 -django/contrib/admin/templates/admin/widgets/radio.html,sha256=-ob26uqmvrEUMZPQq6kAqK4KBk2YZHTCWWCM6BnaL0w,57 -django/contrib/admin/templates/admin/widgets/related_widget_wrapper.html,sha256=LN8EMnad8qnyi2HIbOes3DkdbGkEsX4R4szGf_KByGM,1490 -django/contrib/admin/templates/admin/widgets/split_datetime.html,sha256=BQ9XNv3eqtvNqZZGW38VBM2Nan-5PBxokbo2Fm_wwCQ,238 -django/contrib/admin/templates/admin/widgets/url.html,sha256=Tf7PwdoKAiimfmDTVbWzRVxxUeyfhF0OlsuiOZ1tHgI,218 -django/contrib/admin/templates/registration/logged_out.html,sha256=CUO9snYMIOwRkd0j-Uk75xNyio7s_YezY9hnXZFt4QU,425 -django/contrib/admin/templates/registration/password_change_done.html,sha256=zCTCWnP78iaEYskE5yBtZtNNMQghgOW2gPpJZoQO04k,695 -django/contrib/admin/templates/registration/password_change_form.html,sha256=MHiHswn0AXxry9tH_TtiQCTDy13t2Ku0OSi4m2hPGvE,2084 -django/contrib/admin/templates/registration/password_reset_complete.html,sha256=W4qKfUgCVGpjqm350rbT3u1KJI1Ycjv7ExDhcsvQBeU,521 -django/contrib/admin/templates/registration/password_reset_confirm.html,sha256=8tHabvZL0eWDOewt1XJ9aWmiiyyAgn0YZSScsVcHSqY,1397 -django/contrib/admin/templates/registration/password_reset_done.html,sha256=znv0UHigbU5CxzBbHGwzctrAmElCTDqtqcovuXW86l0,691 -django/contrib/admin/templates/registration/password_reset_email.html,sha256=rqaoGa900-rsUasaGYP2W9nBd6KOGZTyc1PsGTFozHo,612 -django/contrib/admin/templates/registration/password_reset_form.html,sha256=9JU_KLBty9YmPpxtA07u_gRX7mkdrp1wftDJ0-2EQI4,988 -django/contrib/admin/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/admin/templatetags/__pycache__/__init__.cpython-38.pyc,, -django/contrib/admin/templatetags/__pycache__/admin_list.cpython-38.pyc,, -django/contrib/admin/templatetags/__pycache__/admin_modify.cpython-38.pyc,, -django/contrib/admin/templatetags/__pycache__/admin_urls.cpython-38.pyc,, -django/contrib/admin/templatetags/__pycache__/base.cpython-38.pyc,, -django/contrib/admin/templatetags/__pycache__/log.cpython-38.pyc,, -django/contrib/admin/templatetags/admin_list.py,sha256=BZZYykMK12VDN10PniqZ4lzowL7wMav2loC_1aEarJI,18574 -django/contrib/admin/templatetags/admin_modify.py,sha256=KFbvwVixlzFuXEnZx1MVu77_7ZhV9B94JPR8MnHiVw8,4399 -django/contrib/admin/templatetags/admin_urls.py,sha256=b_RxDLR7yLBTMe-_ylzO-m0R3ITq3ZP_pnddRyM_Nos,1791 -django/contrib/admin/templatetags/base.py,sha256=mCcrwBWbgutR3tpaduRKNG3ShTu5Yl0Tjba5O5Rp5hU,1318 -django/contrib/admin/templatetags/log.py,sha256=mxV6mvfVJo0qRCelkjRBNWfrurLABhZvGQlcp5Bn4IU,2079 -django/contrib/admin/tests.py,sha256=OZggadS3ej92dvnnUZux1JhXNfqO1Wg86R9jjFHMu9o,7594 -django/contrib/admin/utils.py,sha256=IyzizG6_AVb0SniSmWqXhRS9R6jK84rXP0RkJUZJxyo,19788 -django/contrib/admin/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/admin/views/__pycache__/__init__.cpython-38.pyc,, -django/contrib/admin/views/__pycache__/autocomplete.cpython-38.pyc,, -django/contrib/admin/views/__pycache__/decorators.cpython-38.pyc,, -django/contrib/admin/views/__pycache__/main.cpython-38.pyc,, -django/contrib/admin/views/autocomplete.py,sha256=jlHKUvRt08x5GjluQ-t67x3qXoevrNVjAsx8bax0b5g,1904 -django/contrib/admin/views/decorators.py,sha256=J4wYcyaFr_-xY1ANl6QF4cFhOupRvjjmBotN0FshVYg,658 -django/contrib/admin/views/main.py,sha256=kwBQ6wkQN3BIfIBLbQpZL5Eb1QZdVVYJiARtk3jwT4o,22916 -django/contrib/admin/widgets.py,sha256=_pDNLzNHkaEXYphpy-p8xjzDDHb0aU5AXBWBQdqPAdE,17006 -django/contrib/admindocs/__init__.py,sha256=oY-eBzAOwpf5g222-vlH5BWHpDzpkj_DW7_XGDj7zgI,69 -django/contrib/admindocs/__pycache__/__init__.cpython-38.pyc,, -django/contrib/admindocs/__pycache__/apps.cpython-38.pyc,, -django/contrib/admindocs/__pycache__/middleware.cpython-38.pyc,, -django/contrib/admindocs/__pycache__/urls.cpython-38.pyc,, -django/contrib/admindocs/__pycache__/utils.cpython-38.pyc,, -django/contrib/admindocs/__pycache__/views.cpython-38.pyc,, -django/contrib/admindocs/apps.py,sha256=rV3aWVevgI6o8_9WY0yQ62O5CSMRRZrVwZFt1gpfKk0,216 -django/contrib/admindocs/locale/af/LC_MESSAGES/django.mo,sha256=RnpPLulXkAXe6s5TmlkNbHWyK5R-0nGlOv-3TOFT_JU,702 -django/contrib/admindocs/locale/af/LC_MESSAGES/django.po,sha256=18HnMLlT8NzeujAJRPHGmwkKesl9Uy8Fllt3AP_lYgw,4608 -django/contrib/admindocs/locale/ar/LC_MESSAGES/django.mo,sha256=Gt6tFwPvlcMaOYZYGgKOFJBqF-TUoEm4tr4Ff3LYjUQ,7421 -django/contrib/admindocs/locale/ar/LC_MESSAGES/django.po,sha256=eO8WOK-lHFS0YaxjvW3M_gqwaWVrJbCpQm0MMmT_tdI,8025 -django/contrib/admindocs/locale/ar_DZ/LC_MESSAGES/django.mo,sha256=JfZf3pQPepUkAqcWj4XEKHGVg59E8U4sHI7wXxZ1F9Q,7445 -django/contrib/admindocs/locale/ar_DZ/LC_MESSAGES/django.po,sha256=fQLd1eOQppL7PFnjqDYq1cEJchxzNxi5ALOldU_68XA,7942 -django/contrib/admindocs/locale/ast/LC_MESSAGES/django.mo,sha256=d4u-2zZXnnueWm9CLSnt4TRWgZk2NMlrA6gaytJ2gdU,715 -django/contrib/admindocs/locale/ast/LC_MESSAGES/django.po,sha256=TUkc-Hm4h1kD0NKyndteW97jH6bWcJMFXUuw2Bd62qo,4578 -django/contrib/admindocs/locale/az/LC_MESSAGES/django.mo,sha256=yWjmqVrGit7XjELYepZ9R48eOKma5Wau2RkkSSiJrgc,1687 -django/contrib/admindocs/locale/az/LC_MESSAGES/django.po,sha256=wGdq-g4u8ssHHvODJB-knjZdrP6noxRW9APn_kmOz7w,4993 -django/contrib/admindocs/locale/be/LC_MESSAGES/django.mo,sha256=13T7uz8-xzRmaTNpB6Heu22WIl8KO2vTitm1EHZDr7k,8161 -django/contrib/admindocs/locale/be/LC_MESSAGES/django.po,sha256=mABAxE4F5vW5HcHhJexcJ394-hAT4EU0MCE6O_83zFs,8721 -django/contrib/admindocs/locale/bg/LC_MESSAGES/django.mo,sha256=n9GdBZljKJBmfups8Zt82lpHgEWvonacXztOS6qbAjM,7837 -django/contrib/admindocs/locale/bg/LC_MESSAGES/django.po,sha256=SrmOtJ6nOi3lrgEwr-s76jYzN7lZs05dbEwh9OFxFHU,8692 -django/contrib/admindocs/locale/bn/LC_MESSAGES/django.mo,sha256=NOKVcE8id9G1OctSly4C5lm64CgEF8dohX-Pdyt4kCM,3794 -django/contrib/admindocs/locale/bn/LC_MESSAGES/django.po,sha256=6M7LjIEjvDTjyraxz70On_TIsgqJPLW7omQ0Fz_zyfQ,6266 -django/contrib/admindocs/locale/br/LC_MESSAGES/django.mo,sha256=UsPTado4ZNJM_arSMXyuBGsKN-bCHXQZdFbh0GB3dtg,1571 -django/contrib/admindocs/locale/br/LC_MESSAGES/django.po,sha256=SHOxPSgozJbOkm8u5LQJ9VmL58ZSBmlxfOVw1fAGl2s,5139 -django/contrib/admindocs/locale/bs/LC_MESSAGES/django.mo,sha256=clvhu0z3IF5Nt0tZ85hOt4M37pnGEWeIYumE20vLpsI,1730 -django/contrib/admindocs/locale/bs/LC_MESSAGES/django.po,sha256=1-OrVWFqLpeXQFfh7JNjJtvWjVww7iB2s96dcSgLy90,5042 -django/contrib/admindocs/locale/ca/LC_MESSAGES/django.mo,sha256=0elCZBJul-zx5ofeQ7vu7hVYb5JEl5jo5vgSiKp2HOY,6661 -django/contrib/admindocs/locale/ca/LC_MESSAGES/django.po,sha256=5owS4x9uNL5ZMbh38DFL9GpVZ3MzUtXEv8o7bJTDy7Q,7402 -django/contrib/admindocs/locale/cs/LC_MESSAGES/django.mo,sha256=ok-p0uXqy0I-nx0fKiVN1vqt4bq2psqP8KEpUHXEfds,6618 -django/contrib/admindocs/locale/cs/LC_MESSAGES/django.po,sha256=cP2RDrCHb72nUmm5NNYHXrRid4HqC7EOR5Q2fokD_P0,7221 -django/contrib/admindocs/locale/cy/LC_MESSAGES/django.mo,sha256=sYeCCq0CMrFWjT6rKtmFrpC09OEFpYLSI3vu9WtpVTY,5401 -django/contrib/admindocs/locale/cy/LC_MESSAGES/django.po,sha256=GhdikiXtx8Aea459uifQtBjHuTlyUeiKu0_rR_mDKyg,6512 -django/contrib/admindocs/locale/da/LC_MESSAGES/django.mo,sha256=B4rF2QWO8lfQjjWDCVtUbwM6Ey7ks_bZHvrp4yRzwYk,6435 -django/contrib/admindocs/locale/da/LC_MESSAGES/django.po,sha256=mWlc9TNZO8YItwpJHxHuFzLZK3RLTYbulrDABgoOpvI,7077 -django/contrib/admindocs/locale/de/LC_MESSAGES/django.mo,sha256=tsaEPab2JJpJRq7hYbPK9Ulh_gK9rkbMXrsadyAqK1g,6561 -django/contrib/admindocs/locale/de/LC_MESSAGES/django.po,sha256=6g8iEaTVsrXYctYRM4LUqhUSaQ65ZNvz7pPLERA98x0,7125 -django/contrib/admindocs/locale/dsb/LC_MESSAGES/django.mo,sha256=T_jTzvIiB_jo8S7-W5U8WPWLuII9NIYdlgfqQIFne40,6805 -django/contrib/admindocs/locale/dsb/LC_MESSAGES/django.po,sha256=gkE1B74QAsMdfREpPIFBf1mei2L4W_zLFyg7vyjIMkU,7325 -django/contrib/admindocs/locale/el/LC_MESSAGES/django.mo,sha256=dJy15irtJqzPFc_yHS3LTeXYmPu0-bIlyrDPfbE5pSE,8598 -django/contrib/admindocs/locale/el/LC_MESSAGES/django.po,sha256=82wcERwp7_v3l66v3GKdlT-lVGhwGs8DK0184SbV3zk,9259 -django/contrib/admindocs/locale/en/LC_MESSAGES/django.mo,sha256=U0OV81NfbuNL9ctF-gbGUG5al1StqN-daB-F-gFBFC8,356 -django/contrib/admindocs/locale/en/LC_MESSAGES/django.po,sha256=krsJxXU6ST_081sGrrghisx_nQ5xZtpImUxTvL68ad8,10686 -django/contrib/admindocs/locale/en_AU/LC_MESSAGES/django.mo,sha256=BQ54LF9Tx88m-pG_QVz_nm_vqvoy6pVJzL8urSO4l1Q,486 -django/contrib/admindocs/locale/en_AU/LC_MESSAGES/django.po,sha256=ho7s1uKEs9FGooyZBurvSjvFz1gDSX6R4G2ZKpF1c9Q,5070 -django/contrib/admindocs/locale/en_GB/LC_MESSAGES/django.mo,sha256=xKGbswq1kuWCbn4zCgUQUb58fEGlICIOr00oSdCgtU4,1821 -django/contrib/admindocs/locale/en_GB/LC_MESSAGES/django.po,sha256=No09XHkzYVFBgZqo7bPlJk6QD9heE0oaI3JmnrU_p24,4992 -django/contrib/admindocs/locale/eo/LC_MESSAGES/django.mo,sha256=cwozZwZY0TylDQe7JguENqwGIqVhq0PCHK0htOixhsA,6391 -django/contrib/admindocs/locale/eo/LC_MESSAGES/django.po,sha256=WvbW_97wH7tBCbQqzDi0sr4hbsL74V621Bn7lFrMQ4U,6879 -django/contrib/admindocs/locale/es/LC_MESSAGES/django.mo,sha256=r1hA3p9Pw9Q3QmxKO_giqXKfk_NrBIb1lOR9zO0fX0k,6685 -django/contrib/admindocs/locale/es/LC_MESSAGES/django.po,sha256=b6xXrphj_7N0ahzye6RDMBf18TXSCUmuwYJBhoERXaI,7575 -django/contrib/admindocs/locale/es_AR/LC_MESSAGES/django.mo,sha256=8zlwejIMQwbC5NiLsf7lRkewsvO9u3fC5jmYZ71OukU,6656 -django/contrib/admindocs/locale/es_AR/LC_MESSAGES/django.po,sha256=d7YyXquK8QLZEhAXIqDTvJHvScC7CU7XyKrHL9MVgx0,7250 -django/contrib/admindocs/locale/es_CO/LC_MESSAGES/django.mo,sha256=KFjQyWtSxH_kTdSJ-kNUDAFt3qVZI_3Tlpg2pdkvJfs,6476 -django/contrib/admindocs/locale/es_CO/LC_MESSAGES/django.po,sha256=dwrTVjYmueLiVPu2yiJ_fkFF8ZeRntABoVND5H2WIRI,7038 -django/contrib/admindocs/locale/es_MX/LC_MESSAGES/django.mo,sha256=3hZiFFVO8J9cC624LUt4lBweqmpgdksRtvt2TLq5Jqs,1853 -django/contrib/admindocs/locale/es_MX/LC_MESSAGES/django.po,sha256=gNmx1QTbmyMxP3ftGXGWJH_sVGThiSe_VNKkd7M9jOY,5043 -django/contrib/admindocs/locale/es_VE/LC_MESSAGES/django.mo,sha256=sMwJ7t5GqPF496w-PvBYUneZ9uSwmi5jP-sWulhc6BM,6663 -django/contrib/admindocs/locale/es_VE/LC_MESSAGES/django.po,sha256=ZOcE0f95Q6uD9SelK6bQlKtS2c3JX9QxNYCihPdlM5o,7201 -django/contrib/admindocs/locale/et/LC_MESSAGES/django.mo,sha256=KwJDXghEgvQTDs7Tp2FM0EUedEtB2hvtd1D7neBFHB0,6380 -django/contrib/admindocs/locale/et/LC_MESSAGES/django.po,sha256=EDiJDtGgj7WwVhu0IlfV4HRrbHVxvElljF2Lt8GpI8Y,7062 -django/contrib/admindocs/locale/eu/LC_MESSAGES/django.mo,sha256=WHgK7vGaqjO4MwjBkWz2Y3ABPXCqfnwSGelazRhOiuo,6479 -django/contrib/admindocs/locale/eu/LC_MESSAGES/django.po,sha256=718XgJN7UQcHgE9ku0VyFp7Frs-cvmCTO1o-xS5kpqc,7099 -django/contrib/admindocs/locale/fa/LC_MESSAGES/django.mo,sha256=5LnONa6ZHXFffSvhtIHOc-nnbltpgasyeZK8nUkoyIs,7533 -django/contrib/admindocs/locale/fa/LC_MESSAGES/django.po,sha256=LqY_cJ3KiQ_SbRvn1gffAv4-8N64cpWuoMsJ53dm3UQ,8199 -django/contrib/admindocs/locale/fi/LC_MESSAGES/django.mo,sha256=-iPQyWSVn46CF-huqytiomENda1cM0VGAnnVRlwlezQ,6413 -django/contrib/admindocs/locale/fi/LC_MESSAGES/django.po,sha256=AG_WPvp2-c8mQy_Gp4tUACvqN-ACKbr-jxMKb86ilKQ,6945 -django/contrib/admindocs/locale/fr/LC_MESSAGES/django.mo,sha256=suc16e51gGbi9t-J_JbCbJptu9FxBvCMdhYIdTd_fcE,6753 -django/contrib/admindocs/locale/fr/LC_MESSAGES/django.po,sha256=-nb8hy4BNoP52I6QTsWT4VpzxkuhRd5qCAi4tdNIqNs,7322 -django/contrib/admindocs/locale/fy/LC_MESSAGES/django.mo,sha256=_xVO-FkPPoTla_R0CzktpRuafD9fuIP_G5N-Q08PxNg,476 -django/contrib/admindocs/locale/fy/LC_MESSAGES/django.po,sha256=b3CRH9bSUl_jjb9s51RlvFXp3bmsmuxTfN_MTmIIVNA,5060 -django/contrib/admindocs/locale/ga/LC_MESSAGES/django.mo,sha256=PkY5sLKd7gEIE2IkuuNJXP5RmjC-D4OODRv6KCCUDX8,1940 -django/contrib/admindocs/locale/ga/LC_MESSAGES/django.po,sha256=-l6VME96KR1KKNACVu7oHzlhCrnkC1PaJQyskOUqOvk,5211 -django/contrib/admindocs/locale/gd/LC_MESSAGES/django.mo,sha256=1cfTNUgFPK9zGj6r6y7jGGiHcW9QpCq5XAb5yvAawiU,6939 -django/contrib/admindocs/locale/gd/LC_MESSAGES/django.po,sha256=nUKSAF7cI9pjxV4qLswYMrPWUsD__rNRtD-j-Ir8efg,7476 -django/contrib/admindocs/locale/gl/LC_MESSAGES/django.mo,sha256=CYtHrSyH_Lw0YxmmmndEnMPU-cw5TMr-8NHUjz6v7JM,2265 -django/contrib/admindocs/locale/gl/LC_MESSAGES/django.po,sha256=0S2CJju3EIiEp6kqJIn0Jl1IyRAg2-5ovYMOW0YRtVA,5188 -django/contrib/admindocs/locale/he/LC_MESSAGES/django.mo,sha256=g9HBtvV5UTZg3V9TE4Q-qsF5apyMeLcPIJr1494PGXg,6985 -django/contrib/admindocs/locale/he/LC_MESSAGES/django.po,sha256=GX8X7-aPN9sbgbT_paJCFNYnq00b09fZ0HuZ4Jn3hT0,7522 -django/contrib/admindocs/locale/hi/LC_MESSAGES/django.mo,sha256=sZhObIxqrmFu5Y-ZOQC0JGM3ly4IVFr02yqOOOHnDag,2297 -django/contrib/admindocs/locale/hi/LC_MESSAGES/django.po,sha256=X6UfEc6q0BeaxVP_C4priFt8irhh-YGOUUzNQyVnEYY,5506 -django/contrib/admindocs/locale/hr/LC_MESSAGES/django.mo,sha256=fMsayjODNoCdbpBAk9GHtIUaGJGFz4sD9qYrguj-BQA,2550 -django/contrib/admindocs/locale/hr/LC_MESSAGES/django.po,sha256=qi2IB-fBkGovlEz2JAQRUNE54MDdf5gjNJWXM-dIG1s,5403 -django/contrib/admindocs/locale/hsb/LC_MESSAGES/django.mo,sha256=2-rS1sZ-IVX4MuRcV_8VNo1zRaZ7fatK6S0tOwPu2fo,6768 -django/contrib/admindocs/locale/hsb/LC_MESSAGES/django.po,sha256=rhB59Jq6A18aQ2IpX5UTLJyYp5p-Dew_IUadFd9fGSo,7291 -django/contrib/admindocs/locale/hu/LC_MESSAGES/django.mo,sha256=RbMTzsBSOD-KNkptea6qQDOLv8tMzpb3f1sF3DyjSPI,6663 -django/contrib/admindocs/locale/hu/LC_MESSAGES/django.po,sha256=AbegfB3hV6AZuRXrKWuq30BL-goagusBUJ1xC1jzG7A,7282 -django/contrib/admindocs/locale/ia/LC_MESSAGES/django.mo,sha256=KklX2loobVtA6PqHOZHwF1_A9YeVGlqORinHW09iupI,1860 -django/contrib/admindocs/locale/ia/LC_MESSAGES/django.po,sha256=Z7btOCeARREgdH4CIJlVob_f89r2M9j55IDtTLtgWJU,5028 -django/contrib/admindocs/locale/id/LC_MESSAGES/django.mo,sha256=55ze7c7MwxHf27I9Q6n9h--pczff43TWeUiMPjRw2zY,6337 -django/contrib/admindocs/locale/id/LC_MESSAGES/django.po,sha256=N7NrFJdFTpiIjKDPWMpa1FyOVpxdqZ9QChzOVbws6kE,7027 -django/contrib/admindocs/locale/io/LC_MESSAGES/django.mo,sha256=5t9Vurrh6hGqKohwsZIoveGeYCsUvRBRMz9M7k9XYY8,464 -django/contrib/admindocs/locale/io/LC_MESSAGES/django.po,sha256=SVZZEmaS1WbXFRlLLGg5bzUe09pXR23TeJtHUbhyl0w,5048 -django/contrib/admindocs/locale/is/LC_MESSAGES/django.mo,sha256=pEr-_MJi4D-WpNyFaQe3tVKVLq_9V-a4eIF18B3Qyko,1828 -django/contrib/admindocs/locale/is/LC_MESSAGES/django.po,sha256=-mD5fFnL6xUqeW4MITzm8Lvx6KXq4C9DGsEM9kDluZ8,5045 -django/contrib/admindocs/locale/it/LC_MESSAGES/django.mo,sha256=sQhq6CTX_y_qJHazR_-Sbk3CSvoLnJkgWBBBPEcH620,6450 -django/contrib/admindocs/locale/it/LC_MESSAGES/django.po,sha256=Qqorb6Rh44h-RdEqNTq2wRvbwR6lof3a1DEX88hZkmU,7163 -django/contrib/admindocs/locale/ja/LC_MESSAGES/django.mo,sha256=fvLD_Av1hMhX5qkdCz4SZGJeGDJrFp6r_JSplXHqzq8,7365 -django/contrib/admindocs/locale/ja/LC_MESSAGES/django.po,sha256=jZttM5OSRfMdvN6x9pdVkrcgzYCKgi_lL5UfkhIHPok,8009 -django/contrib/admindocs/locale/ka/LC_MESSAGES/django.mo,sha256=w2cHLI1O3pVt43H-h71cnNcjNNvDC8y9uMYxZ_XDBtg,4446 -django/contrib/admindocs/locale/ka/LC_MESSAGES/django.po,sha256=omKVSzNA3evF5Mk_Ud6utHql-Do7s9xDzCVQGQA0pSg,6800 -django/contrib/admindocs/locale/kab/LC_MESSAGES/django.mo,sha256=XTuWnZOdXhCFXEW4Hp0zFtUtAF0wJHaFpQqoDUTWYGw,1289 -django/contrib/admindocs/locale/kab/LC_MESSAGES/django.po,sha256=lQWewMZncWUvGhpkgU_rtwWHcgAyvhIkrDfjFu1l-d8,4716 -django/contrib/admindocs/locale/kk/LC_MESSAGES/django.mo,sha256=mmhLzn9lo4ff_LmlIW3zZuhE77LoSUfpaMMMi3oyi38,1587 -django/contrib/admindocs/locale/kk/LC_MESSAGES/django.po,sha256=72sxLw-QDSFnsH8kuzeQcV5jx7Hf1xisBmxI8XqSCYw,5090 -django/contrib/admindocs/locale/km/LC_MESSAGES/django.mo,sha256=Fff1K0qzialXE_tLiGM_iO5kh8eAmQhPZ0h-eB9iNOU,1476 -django/contrib/admindocs/locale/km/LC_MESSAGES/django.po,sha256=E_CaaYc4GqOPgPh2t7iuo0Uf4HSQQFWAoxSOCG-uEGU,4998 -django/contrib/admindocs/locale/kn/LC_MESSAGES/django.mo,sha256=lisxE1zzW-Spdm7hIzXxDAfS7bM-RdrAG_mQVwz9WMU,1656 -django/contrib/admindocs/locale/kn/LC_MESSAGES/django.po,sha256=fbiHUPdw_iXrOvgiIvPTJI3WPLD_T77VBfhqW6gjq1c,5178 -django/contrib/admindocs/locale/ko/LC_MESSAGES/django.mo,sha256=SZynW9hR503fzQCXSSeYvwwZChBF7ff3iHGMESh4ayA,6592 -django/contrib/admindocs/locale/ko/LC_MESSAGES/django.po,sha256=E81VE22vrKjgxDthgxOIO3sxgTVmNf-gZMba9Qcr9yY,7352 -django/contrib/admindocs/locale/ky/LC_MESSAGES/django.mo,sha256=9oD9-bDP7jqfWfrYuEEgY7KE5g0U3oLdILTs250SjhQ,7968 -django/contrib/admindocs/locale/ky/LC_MESSAGES/django.po,sha256=1_mobCRQupacSa4bSQ-Ub9pExoSj85syZUEAttHmdXo,8539 -django/contrib/admindocs/locale/lb/LC_MESSAGES/django.mo,sha256=N0hKFuAdDIq5clRKZirGh4_YDLsxi1PSX3DVe_CZe4k,474 -django/contrib/admindocs/locale/lb/LC_MESSAGES/django.po,sha256=B46-wRHMKUMcbvMCdojOCxqIVL5qVEh4Czo20Qgz6oU,5058 -django/contrib/admindocs/locale/lt/LC_MESSAGES/django.mo,sha256=KOnpaVeomKJIHcVLrkeRVnaqQHzFdYM_wXZbbqxWs4g,6741 -django/contrib/admindocs/locale/lt/LC_MESSAGES/django.po,sha256=-uzCS8193VCZPyhO8VOi11HijtBG9CWVKStFBZSXfI4,7444 -django/contrib/admindocs/locale/lv/LC_MESSAGES/django.mo,sha256=mLEsWg3Oxk_r_Vz6CHrhx8oPQ4KzjA-rRxxDUwXUnSs,6448 -django/contrib/admindocs/locale/lv/LC_MESSAGES/django.po,sha256=GjMKrHb-tgZpy6P9WmykioWoC6eubfWWVFB1b-Zdw4w,7079 -django/contrib/admindocs/locale/mk/LC_MESSAGES/django.mo,sha256=8H9IpRASM7O2-Ql1doVgM9c4ybZ2KcfnJr12PpprgP4,8290 -django/contrib/admindocs/locale/mk/LC_MESSAGES/django.po,sha256=Uew7tEljjgmslgfYJOP9JF9ELp6NbhkZG_v50CZgBg8,8929 -django/contrib/admindocs/locale/ml/LC_MESSAGES/django.mo,sha256=bm4tYwcaT8XyPcEW1PNZUqHJIds9CAq3qX_T1-iD4k4,6865 -django/contrib/admindocs/locale/ml/LC_MESSAGES/django.po,sha256=yNINX5M7JMTbYnFqQGetKGIXqOjGJtbN2DmIW9BKQ_c,8811 -django/contrib/admindocs/locale/mn/LC_MESSAGES/django.mo,sha256=KqdcvSpqmjRfA8M4nGB9Cnu9Auj4pTu9aH07XtCep3I,7607 -django/contrib/admindocs/locale/mn/LC_MESSAGES/django.po,sha256=PGhlnzDKyAIRzaPCbNujpxSpf_JaOG66LK_NMlnZy6I,8316 -django/contrib/admindocs/locale/mr/LC_MESSAGES/django.mo,sha256=LDGC7YRyVBU50W-iH0MuESunlRXrNfNjwjXRCBdfFVg,468 -django/contrib/admindocs/locale/mr/LC_MESSAGES/django.po,sha256=5cUgPltXyS2Z0kIKF5ER8f5DuBhwmAINJQyfHj652d0,5052 -django/contrib/admindocs/locale/my/LC_MESSAGES/django.mo,sha256=AsdUmou0FjCiML3QOeXMdbHiaSt2GdGMcEKRJFonLOQ,1721 -django/contrib/admindocs/locale/my/LC_MESSAGES/django.po,sha256=c75V-PprKrWzgrHbfrZOpm00U_zZRzxAUr2U_j8MF4w,5189 -django/contrib/admindocs/locale/nb/LC_MESSAGES/django.mo,sha256=W5bS2lOxmciyWQh6dqEh14KIxeb7vxmJ5fxjbmgfd-U,6311 -django/contrib/admindocs/locale/nb/LC_MESSAGES/django.po,sha256=OKLCn_vPpoI63ZxvcjXqBGqRVsjaVcmBTKtGYSV7Ges,6963 -django/contrib/admindocs/locale/ne/LC_MESSAGES/django.mo,sha256=fWPAUZOX9qrDIxGhVVouJCVDWEQLybZ129wGYymuS-c,2571 -django/contrib/admindocs/locale/ne/LC_MESSAGES/django.po,sha256=wb8pCm141YfGSHVW84FnAvsKt5KnKvzNyzGcPr-Wots,5802 -django/contrib/admindocs/locale/nl/LC_MESSAGES/django.mo,sha256=nZwZekyuJi9U8WhJHasdQ05O1Qky8kJzj3i6c4lj3rw,6463 -django/contrib/admindocs/locale/nl/LC_MESSAGES/django.po,sha256=aP59hIiCQwGCKyHnoJXYJIChzYMbNFlb2IotTX4WBwU,7188 -django/contrib/admindocs/locale/nn/LC_MESSAGES/django.mo,sha256=Dx-A4dlDEoOKrtvis1mWfvwA2Urj-QAiKNmBy--v0oY,1662 -django/contrib/admindocs/locale/nn/LC_MESSAGES/django.po,sha256=VAHAyol0YEaHd0TaGxaQuVUIR72QB3VUnB1ARtr-AWw,4974 -django/contrib/admindocs/locale/os/LC_MESSAGES/django.mo,sha256=zSQBgSj4jSu5Km0itNgDtbkb1SbxzRvQeZ5M9sXHI8k,2044 -django/contrib/admindocs/locale/os/LC_MESSAGES/django.po,sha256=hZlMmmqfbGmoiElGbJg7Fp791ZuOpRFrSu09xBXt6z4,5215 -django/contrib/admindocs/locale/pa/LC_MESSAGES/django.mo,sha256=yFeO0eZIksXeDhAl3CrnkL1CF7PHz1PII2kIxGA0opQ,1275 -django/contrib/admindocs/locale/pa/LC_MESSAGES/django.po,sha256=DA5LFFLOXHIJIqrrnj9k_rqL-wr63RYX_i-IJFhBuc0,4900 -django/contrib/admindocs/locale/pl/LC_MESSAGES/django.mo,sha256=qsj4xq56xSY9uehc4yEKLY6eCy8ouLLVhtR1F5wczKs,6617 -django/contrib/admindocs/locale/pl/LC_MESSAGES/django.po,sha256=vP7encvqv_hUIxA5UR-SaeyGOSyEoMkHuAcv1p70klc,7461 -django/contrib/admindocs/locale/pt/LC_MESSAGES/django.mo,sha256=WcXhSlbGdJgVMvydkPYYee7iOQ9SYdrLkquzgIBhVWU,6566 -django/contrib/admindocs/locale/pt/LC_MESSAGES/django.po,sha256=J98Hxa-ApyzRevBwcAldK9bRYbkn5DFw3Z5P7SMEwx0,7191 -django/contrib/admindocs/locale/pt_BR/LC_MESSAGES/django.mo,sha256=5vgEK-oGEZ_HfvWFSGV9HdSQXhP-y7MzBXjiz--AkkY,6595 -django/contrib/admindocs/locale/pt_BR/LC_MESSAGES/django.po,sha256=KyaDPsHl3WV6V5ty_MD1JdmrNju1puJTEPOusNKsAzI,7492 -django/contrib/admindocs/locale/ro/LC_MESSAGES/django.mo,sha256=9K8Sapn6sOg1wtt2mxn7u0cnqPjEHH70qjwM-XMPzNA,6755 -django/contrib/admindocs/locale/ro/LC_MESSAGES/django.po,sha256=b4AsPjWBYHQeThAtLP_TH4pJitwidtoPNkJ7dowUuRg,7476 -django/contrib/admindocs/locale/ru/LC_MESSAGES/django.mo,sha256=jW3cwiFyeUvRpbrI6KBquKJZQuosLz4JmgcLKDKijNA,8513 -django/contrib/admindocs/locale/ru/LC_MESSAGES/django.po,sha256=Unc-3ip4ZPWKa8aRTUQ12jh8ae0c8TRSLUO5OH6XOFQ,9237 -django/contrib/admindocs/locale/sk/LC_MESSAGES/django.mo,sha256=Y9vQluxcGX9liYofnZb80iwgrdLs9WneKHX4-JX4evY,6644 -django/contrib/admindocs/locale/sk/LC_MESSAGES/django.po,sha256=X9eNfQfHj-SBIEUq5beCU3l5hpVPgv5ktn7GHT__2Qc,7337 -django/contrib/admindocs/locale/sl/LC_MESSAGES/django.mo,sha256=FMg_s9ZpeRD42OsSF9bpe8pRQ7wP7-a9WWnaVliqXpU,6508 -django/contrib/admindocs/locale/sl/LC_MESSAGES/django.po,sha256=JWO_WZAwBpXw-4FoB7rkWXGhi9aEVq1tH2fOC69rcgg,7105 -django/contrib/admindocs/locale/sq/LC_MESSAGES/django.mo,sha256=wsEQkUiModpe_gQC7aUMLiMPndXwbYJ_YxDd4hoSYG4,6542 -django/contrib/admindocs/locale/sq/LC_MESSAGES/django.po,sha256=zTrVM6nqjeD80RoqOKKYCrPrzgR0wWFecPvhLn7-BTs,7096 -django/contrib/admindocs/locale/sr/LC_MESSAGES/django.mo,sha256=PyE8DXRYELzSs4RWh1jeADXOPrDEN3k-nLr8sbM1Ssw,3672 -django/contrib/admindocs/locale/sr/LC_MESSAGES/django.po,sha256=ri7v9WHXORY-3Dl-YDKGsCFfQzH-a5y8t1vT6yziIyo,6108 -django/contrib/admindocs/locale/sr_Latn/LC_MESSAGES/django.mo,sha256=au90IT43VR162L2jEsYqhRpso2dvOjpCPSCFiglokTc,1932 -django/contrib/admindocs/locale/sr_Latn/LC_MESSAGES/django.po,sha256=tJ4tHLJj0tDaVZba3WIkI0kg95_jEYWTmqXD0rFb6T8,5140 -django/contrib/admindocs/locale/sv/LC_MESSAGES/django.mo,sha256=FsErCRG8EAsZB7DhFxnvU_GeAv9gy5VC0gOYgV7-teA,6417 -django/contrib/admindocs/locale/sv/LC_MESSAGES/django.po,sha256=1sPLsQ6XXpmeIvqtKTFrsYpD39tg1ijy37iaBEmsq5Y,7042 -django/contrib/admindocs/locale/sw/LC_MESSAGES/django.mo,sha256=pyJfGL7UdPrJAVlCB3YimXxTjTfEkoZQWX-CSpDkcWc,1808 -django/contrib/admindocs/locale/sw/LC_MESSAGES/django.po,sha256=SIywrLX1UGx4OiPxoxUYelmQ1YaY2LMa3dxynGQpHp8,4929 -django/contrib/admindocs/locale/ta/LC_MESSAGES/django.mo,sha256=8SjQ9eGGyaZGhkuDoZTdtYKuqcVyEtWrJuSabvNRUVM,1675 -django/contrib/admindocs/locale/ta/LC_MESSAGES/django.po,sha256=k593yzVqpSQOsdpuF-rdsSLwKQU8S_QFMRpZXww__1A,5194 -django/contrib/admindocs/locale/te/LC_MESSAGES/django.mo,sha256=eAzNpYRy_G1erCcKDAMnJC4809ITRHvJjO3vpyAC_mk,1684 -django/contrib/admindocs/locale/te/LC_MESSAGES/django.po,sha256=oDg_J8JxepFKIe5m6lDKVC4YWQ_gDLibgNyQ3508VOM,5204 -django/contrib/admindocs/locale/tg/LC_MESSAGES/django.mo,sha256=jSMmwS6F_ChDAZDyTZxRa3YuxkXWlO-M16osP2NLRc0,7731 -django/contrib/admindocs/locale/tg/LC_MESSAGES/django.po,sha256=mewOHgRsFydk0d5IY3jy3rOWa6uHdatlSIvFNZFONsc,8441 -django/contrib/admindocs/locale/th/LC_MESSAGES/django.mo,sha256=bHK49r45Q1nX4qv0a0jtDja9swKbDHHJVLa3gM13Cb4,2167 -django/contrib/admindocs/locale/th/LC_MESSAGES/django.po,sha256=_GMgPrD8Zs0lPKQOMlBmVu1I59yXSV42kfkrHzeiehY,5372 -django/contrib/admindocs/locale/tr/LC_MESSAGES/django.mo,sha256=BHI6snNVjIk_lB3rkySECcLe5iOSojQuDIZ3udSnAIQ,6659 -django/contrib/admindocs/locale/tr/LC_MESSAGES/django.po,sha256=aKRTEYTRTg1RTSIcXBlvy0RGXmdkqCOcRF9TamUH0EA,7307 -django/contrib/admindocs/locale/tt/LC_MESSAGES/django.mo,sha256=pQmAQOPbrBVzBqtoQ0dsFWFwC6LxA5mQZ9QPqL6pSFw,1869 -django/contrib/admindocs/locale/tt/LC_MESSAGES/django.po,sha256=NCLv7sSwvEficUOSoMJlHGqjgjYvrvm2V3j1Gkviw80,5181 -django/contrib/admindocs/locale/udm/LC_MESSAGES/django.mo,sha256=hwDLYgadsKrQEPi9HiuMWF6jiiYUSy4y-7PVNJMaNpY,618 -django/contrib/admindocs/locale/udm/LC_MESSAGES/django.po,sha256=29fpfn4p8KxxrBdg4QB0GW_l8genZVV0kYi50zO-qKs,5099 -django/contrib/admindocs/locale/uk/LC_MESSAGES/django.mo,sha256=8LrLmRaZCxJL76RqROdH49rLsvq2TVuMTfuhsp8Wfjg,8449 -django/contrib/admindocs/locale/uk/LC_MESSAGES/django.po,sha256=uxziDeiYiDJ6TVk_fiquHe-6pxrGBtgK8ZRIn92KuJQ,9279 -django/contrib/admindocs/locale/ur/LC_MESSAGES/django.mo,sha256=VNg9o_7M0Z2LC0n3_-iwF3zYmncRJHaFqqpxuPmMq84,1836 -django/contrib/admindocs/locale/ur/LC_MESSAGES/django.po,sha256=QTg85c4Z13hMN_PnhjaLX3wx6TU4SH4hPTzNBfNVaMU,5148 -django/contrib/admindocs/locale/vi/LC_MESSAGES/django.mo,sha256=F6dyo00yeyUND_w1Ocm9SL_MUdXb60QQpmAQPto53IU,1306 -django/contrib/admindocs/locale/vi/LC_MESSAGES/django.po,sha256=JrVKjT848Y1cS4tpH-eRivFNwM-cUs886UEhY2FkTPw,4836 -django/contrib/admindocs/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=-L0FlYPyzwDVRJEIkDmZ9SyV6mMXKbCfHIE_CIUORxM,6081 -django/contrib/admindocs/locale/zh_Hans/LC_MESSAGES/django.po,sha256=f6XMkNBTSs_5YFr-jvTXjSlqePjDf6ns_oDfgLC3ZlY,6800 -django/contrib/admindocs/locale/zh_Hant/LC_MESSAGES/django.mo,sha256=7c2QywaTzF_GX8T2PUknQ_PN5s0Cx37_cO-walIg8mk,4725 -django/contrib/admindocs/locale/zh_Hant/LC_MESSAGES/django.po,sha256=uX-3zu8RQdntg__qYBweKtcuBgLsXPUYApf4bQx9eSU,6153 -django/contrib/admindocs/middleware.py,sha256=G9zA_mOiBAPE--yGBPTsXcea-DWyzlRYDisObqYXW8Y,1217 -django/contrib/admindocs/templates/admin_doc/bookmarklets.html,sha256=PnfojSYh6lJA03UPjWbvxci64CNPQmrhJhycdyqlT5U,1281 -django/contrib/admindocs/templates/admin_doc/index.html,sha256=o710lPn-AHBJfKSUS6x1eUjAOZYRO9dbnuq_Cg7HEiY,1369 -django/contrib/admindocs/templates/admin_doc/missing_docutils.html,sha256=pITw1xanpMNj-6YTGh8-3mfsKbytrgQhDlzjMhiBHts,784 -django/contrib/admindocs/templates/admin_doc/model_detail.html,sha256=0O5-Kxf8RNyZ_slYJ1kq26HmKoarGMkf0S27fqhrFYE,1880 -django/contrib/admindocs/templates/admin_doc/model_index.html,sha256=7fgybgDWYcWZaDPgf25DxFkdxtnrqnpLem7iVmPQmLk,1346 -django/contrib/admindocs/templates/admin_doc/template_detail.html,sha256=C_shsOpJiW0Rngv8ZSXi12dgoepUUCqU3dPdaq9Bmio,1049 -django/contrib/admindocs/templates/admin_doc/template_filter_index.html,sha256=U2HBVHXtgCqUp9hLuOMVqCxBbXyYMMgAORG8fziN7uc,1775 -django/contrib/admindocs/templates/admin_doc/template_tag_index.html,sha256=S4U-G05yi1YIlFEv-HG20bDiq4rhdiZCgebhVBzNzdY,1731 -django/contrib/admindocs/templates/admin_doc/view_detail.html,sha256=u2rjpM0cLlHxSY-Na7wxqnv76zaGf0P1FgdnHl9XqdQ,928 -django/contrib/admindocs/templates/admin_doc/view_index.html,sha256=ZLfmxMkVlPYETRFnjLmU3bagve4ZvY1Xzsya1Lntgkw,1734 -django/contrib/admindocs/urls.py,sha256=zdHaV60yJMjuLqO9xU0H-j7hz1PmSsepEWZA2GH-eI0,1310 -django/contrib/admindocs/utils.py,sha256=tCEGbV5-NyO6qkLIXjl-MX8kT9BgfWkiJuzgkfO1Mso,7735 -django/contrib/admindocs/views.py,sha256=ihtscs5Mnbme1dBl3pXdDXNDe6C2WBzqAN-GuuihSCw,16561 -django/contrib/auth/__init__.py,sha256=ZzbfJMVCaDD1ypyT6EUPZX0QiFPuUBfZCf_wCnAd2tQ,8056 -django/contrib/auth/__pycache__/__init__.cpython-38.pyc,, -django/contrib/auth/__pycache__/admin.cpython-38.pyc,, -django/contrib/auth/__pycache__/apps.cpython-38.pyc,, -django/contrib/auth/__pycache__/backends.cpython-38.pyc,, -django/contrib/auth/__pycache__/base_user.cpython-38.pyc,, -django/contrib/auth/__pycache__/checks.cpython-38.pyc,, -django/contrib/auth/__pycache__/context_processors.cpython-38.pyc,, -django/contrib/auth/__pycache__/decorators.cpython-38.pyc,, -django/contrib/auth/__pycache__/forms.cpython-38.pyc,, -django/contrib/auth/__pycache__/hashers.cpython-38.pyc,, -django/contrib/auth/__pycache__/middleware.cpython-38.pyc,, -django/contrib/auth/__pycache__/mixins.cpython-38.pyc,, -django/contrib/auth/__pycache__/models.cpython-38.pyc,, -django/contrib/auth/__pycache__/password_validation.cpython-38.pyc,, -django/contrib/auth/__pycache__/signals.cpython-38.pyc,, -django/contrib/auth/__pycache__/tokens.cpython-38.pyc,, -django/contrib/auth/__pycache__/urls.cpython-38.pyc,, -django/contrib/auth/__pycache__/validators.cpython-38.pyc,, -django/contrib/auth/__pycache__/views.cpython-38.pyc,, -django/contrib/auth/admin.py,sha256=YbVtoNYWSkoLWKePeJ0Pl6u6wrhaoxeS8dTd3n7hXws,8607 -django/contrib/auth/apps.py,sha256=NGdy1h4yrogCn9YZOkhnO7LcVFHZAS60j-Bb7-Rz17A,1168 -django/contrib/auth/backends.py,sha256=fvm2NFyd90CSCzv66G7RA8x5zszGu2u_0YnHhB_JlpY,8584 -django/contrib/auth/base_user.py,sha256=cfEtOcBOBiIU_WZ3yrXU0RbJEQRg0IxEoLUosf_gsVU,4995 -django/contrib/auth/checks.py,sha256=bfPEfMd1PH-K6H1aMIzXBDWaWRC-7YnnoeF8IF4Xsvc,8139 -django/contrib/auth/common-passwords.txt.gz,sha256=CnCdMuzzpa5EVwTpCqtO7-x3CIPsy47PWWw7GUT9C5M,81355 -django/contrib/auth/context_processors.py,sha256=Vb91feuKV9a3BBgR0hrrGmZvVPw0JyYgeA_mRX9QK1c,1822 -django/contrib/auth/decorators.py,sha256=2iowUAGrkZBzaX_Wf0UkUbd0po00UCxtdFQxXj1HIyo,2892 -django/contrib/auth/forms.py,sha256=9XAWo0AZB74-kXjtmwlYOUhjDiy-F6DxHkDS53W4fnc,16339 -django/contrib/auth/handlers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/auth/handlers/__pycache__/__init__.cpython-38.pyc,, -django/contrib/auth/handlers/__pycache__/modwsgi.cpython-38.pyc,, -django/contrib/auth/handlers/modwsgi.py,sha256=bTXKVMezywsn1KA2MVyDWeHvTNa2KrwIxn2olH7o_5I,1248 -django/contrib/auth/hashers.py,sha256=jQ6LrRvXu9CpiqAYdEJZvsF48f9DKM1HagvGRPMGIHI,22139 -django/contrib/auth/locale/af/LC_MESSAGES/django.mo,sha256=UKEGdzrpTwNnuhPcejOS-682hL88yV83xh-55dMZzyg,7392 -django/contrib/auth/locale/af/LC_MESSAGES/django.po,sha256=GFM0MbuRB9axSqvFQzZXhyeZF9JTKqoMMdfNEgNQVFY,7618 -django/contrib/auth/locale/ar/LC_MESSAGES/django.mo,sha256=XKjM5Jn83udiZh9re-nzOYDSNwaNeRA1ImR4nU38uSQ,9883 -django/contrib/auth/locale/ar/LC_MESSAGES/django.po,sha256=EBJw0OmfbYCjtsuwRQnd1lItGBw4Pha0ohmAAXadEyE,10347 -django/contrib/auth/locale/ar_DZ/LC_MESSAGES/django.mo,sha256=s6EoUozLpEw-OT2WllVMl8SwKrkBmIWgGO9qbG80xsQ,10167 -django/contrib/auth/locale/ar_DZ/LC_MESSAGES/django.po,sha256=P7GHKRC3hZiyVtbfzVGTcY81FuAGf0LFUgR6TZSEwfY,10494 -django/contrib/auth/locale/ast/LC_MESSAGES/django.mo,sha256=Pt3gYY3j8Eroo4lAEmf-LR6u9U56mpE3vqLhjR4Uq-o,2250 -django/contrib/auth/locale/ast/LC_MESSAGES/django.po,sha256=Kiq4s8d1HnYpo3DQGlgUl3bOkxmgGW8CvGp9AbryRk8,5440 -django/contrib/auth/locale/az/LC_MESSAGES/django.mo,sha256=h1bem16bDuYOFR7NEGt2b3ssLOXMHqeWmnZtlni4e9g,7448 -django/contrib/auth/locale/az/LC_MESSAGES/django.po,sha256=euNyhutfYGtuMhUHpGJrLVXnlhPEGkJOV4d_gEJn5no,7735 -django/contrib/auth/locale/be/LC_MESSAGES/django.mo,sha256=SgSeUlTJuQ4-YZj7h6WltiuUVcYldlBcVdlynQ4bT80,9976 -django/contrib/auth/locale/be/LC_MESSAGES/django.po,sha256=LFiM8UDOCw2AY_GAL3Sbwrah_Umg32Q5phkbvjV8UlE,10299 -django/contrib/auth/locale/bg/LC_MESSAGES/django.mo,sha256=ZwwXfAeWM92GObhxU6zzGu36KJUpkGOuEeprRMu5mZc,8751 -django/contrib/auth/locale/bg/LC_MESSAGES/django.po,sha256=_a2hoIiJRbvW3ymKAkAp-UZNk5AiUy5HqPBBby74Jew,9492 -django/contrib/auth/locale/bn/LC_MESSAGES/django.mo,sha256=cJSawQn3rNh2I57zK9vRi0r1xc598Wr26AyHh6D50ZQ,5455 -django/contrib/auth/locale/bn/LC_MESSAGES/django.po,sha256=5Vqd4n9ab98IMev4GHLxpO7f4r9nnhC3Nfx27HQNd8s,7671 -django/contrib/auth/locale/br/LC_MESSAGES/django.mo,sha256=nxLj88BBhT3Hudev1S_BRC8P6Jv7eoR8b6CHGt5eoPo,1436 -django/contrib/auth/locale/br/LC_MESSAGES/django.po,sha256=rFo68wfXMyju633KCAhg0Jcb3GVm3rk4opFQqI89d6Y,5433 -django/contrib/auth/locale/bs/LC_MESSAGES/django.mo,sha256=1i1CxyXwfskDZtItZQuEpZFlV3cpIo6Ls7Ocs0X3VTA,2963 -django/contrib/auth/locale/bs/LC_MESSAGES/django.po,sha256=C5CQ5vqjuLscWSKHVu0niGzmhxX0y-pf_eiuEr-ZmGU,5793 -django/contrib/auth/locale/ca/LC_MESSAGES/django.mo,sha256=Z-X0g_6qZpzzryBYS8yUX64ux3kaPb44G5ABd-k4C68,7616 -django/contrib/auth/locale/ca/LC_MESSAGES/django.po,sha256=MTOV5IKVcPlgaoOreoM5TxCJ-vWCGXJtEU8NlO4TCDA,8090 -django/contrib/auth/locale/cs/LC_MESSAGES/django.mo,sha256=cEcRFsiAyI8OOUf9_hpOg4VuhbDUDExaxjFgma7YrQs,7774 -django/contrib/auth/locale/cs/LC_MESSAGES/django.po,sha256=o8_TvjDtm3rCx2iUzop5KVeaPDl49-CjKhL_8M4eTqQ,8226 -django/contrib/auth/locale/cy/LC_MESSAGES/django.mo,sha256=lSfCwEVteW4PDaiGKPDxnSnlDUcGMkPfsxIluExZar0,4338 -django/contrib/auth/locale/cy/LC_MESSAGES/django.po,sha256=-LPAKGXNzB77lVHfCRmFlH3SUaLgOXk_YxfC0BomcEs,6353 -django/contrib/auth/locale/da/LC_MESSAGES/django.mo,sha256=321FuiFJg-xSrNri8oPSLKLU4OPqQBQBxd_w_tRFUQI,7418 -django/contrib/auth/locale/da/LC_MESSAGES/django.po,sha256=jv5xZta-NXpaJNdwpMapg3QCUy0-KwVrDx2JeMH7Bok,7811 -django/contrib/auth/locale/de/LC_MESSAGES/django.mo,sha256=b7ZXlKTff2vYkY7ldkQVD6SX-36KgWBW8VsuP4m8bSY,7477 -django/contrib/auth/locale/de/LC_MESSAGES/django.po,sha256=W9MRGmYgNk5n-nMd6SKfL3kQ-YjsUh_vOZ818CR10Tw,7938 -django/contrib/auth/locale/dsb/LC_MESSAGES/django.mo,sha256=iYj_y2xE4yetsuFgDAfpr5iQgyVCfJL4x5qPIuVPCO0,8081 -django/contrib/auth/locale/dsb/LC_MESSAGES/django.po,sha256=657tWjp8Wowyib_uQh2tFULEETaavrI9zqgmkKq2TCw,8381 -django/contrib/auth/locale/el/LC_MESSAGES/django.mo,sha256=tfjgL-_ZACj_GjsfR7jw1PTjxovgR51-LSo5ngtRX-U,10150 -django/contrib/auth/locale/el/LC_MESSAGES/django.po,sha256=IXkrUAGvMZrQTUb6DpdgftRkWg4aKy9vwyO6i-ajsjU,10753 -django/contrib/auth/locale/en/LC_MESSAGES/django.mo,sha256=U0OV81NfbuNL9ctF-gbGUG5al1StqN-daB-F-gFBFC8,356 -django/contrib/auth/locale/en/LC_MESSAGES/django.po,sha256=cPtY1qLoggZk3h9DztguWtUaLkeE4uQr3yVQfBesyh8,8012 -django/contrib/auth/locale/en_AU/LC_MESSAGES/django.mo,sha256=74v8gY8VcSrDgsPDaIMET5frCvtzgLE8oHgX1xNWUvw,3650 -django/contrib/auth/locale/en_AU/LC_MESSAGES/django.po,sha256=lg-LFEeZXxGsNNZ656ePDvAAncjuy0LKuQxUFvQCUJk,5921 -django/contrib/auth/locale/en_GB/LC_MESSAGES/django.mo,sha256=p57gDaYVvgEk1x80Hq4Pn2SZbsp9ly3XrJ5Ttlt2yOE,3179 -django/contrib/auth/locale/en_GB/LC_MESSAGES/django.po,sha256=-yDflw5-81VOlyqkmLJN17FRuwDrhYXItFUJwx2aqpE,5787 -django/contrib/auth/locale/eo/LC_MESSAGES/django.mo,sha256=4deiZv4tbjsp2HHn3O5DAidWPpI8gfhpoLbw9Mq_0a4,7347 -django/contrib/auth/locale/eo/LC_MESSAGES/django.po,sha256=KpeJqyXFj1ns0beDaXamNC6P7Rdq0Qff9i8rfHFKQug,7671 -django/contrib/auth/locale/es/LC_MESSAGES/django.mo,sha256=gajANBcmH_eF4cnVZpKyhpnVWXJr8r7SWOzm5FwN0-k,7729 -django/contrib/auth/locale/es/LC_MESSAGES/django.po,sha256=aUVmLldyKIQCnWkLrMMEt1n5kfkqnOTzaxR7YnFjbn4,8469 -django/contrib/auth/locale/es_AR/LC_MESSAGES/django.mo,sha256=ow-0zlgfVDS_IAr6OLoPqXdVrFGo02EZCPf3Hw3JGyQ,7890 -django/contrib/auth/locale/es_AR/LC_MESSAGES/django.po,sha256=c0z6f_s47yZ1UyaUY7dTr9S_v5dj6mL2YyuhK0qWBOs,8162 -django/contrib/auth/locale/es_CO/LC_MESSAGES/django.mo,sha256=K5VaKTyeV_WoKsLR1x8ZG4VQmk3azj6ZM8Phqjs81So,6529 -django/contrib/auth/locale/es_CO/LC_MESSAGES/django.po,sha256=qJywTaYi7TmeMB1sjwsiwG8GXtxAOaOX0voj7lLVZRw,7703 -django/contrib/auth/locale/es_MX/LC_MESSAGES/django.mo,sha256=dCav1yN5q3bU4PvXZd_NxHQ8cZ9KqQCiNoe4Xi8seoY,7822 -django/contrib/auth/locale/es_MX/LC_MESSAGES/django.po,sha256=_4un21ALfFsFaqpLrkE2_I18iEfJlcAnd_X8YChfdWo,8210 -django/contrib/auth/locale/es_VE/LC_MESSAGES/django.mo,sha256=GwpZytNHtK7Y9dqQKDiVi4SfA1AtPlk824_k7awqrdI,7415 -django/contrib/auth/locale/es_VE/LC_MESSAGES/django.po,sha256=G3mSCo_XGRUfOAKUeP_UNfWVzDPpbQrVYQt8Hv3VZVM,7824 -django/contrib/auth/locale/et/LC_MESSAGES/django.mo,sha256=yilio-iPwr09MPHPgrDLQ-G5d2xNg1o75lcv5-yzcM4,7393 -django/contrib/auth/locale/et/LC_MESSAGES/django.po,sha256=OvUyjbna_KS-bI4PUUHagS-JuwtB7G0J1__MtFGxB-M,7886 -django/contrib/auth/locale/eu/LC_MESSAGES/django.mo,sha256=K0AoFJGJJSnD1IzYqCY9qB4HZHwx-F7QaDTAGehyo7w,7396 -django/contrib/auth/locale/eu/LC_MESSAGES/django.po,sha256=y9BAASQYTTYfoTKWFVQUYs5-zPlminfJ6C5ZORD6g-s,7749 -django/contrib/auth/locale/fa/LC_MESSAGES/django.mo,sha256=eYicBjtar7IU6zkldkNtcbewhv4DGhf2xIt2pEnrCss,8944 -django/contrib/auth/locale/fa/LC_MESSAGES/django.po,sha256=JEnOdy86onxyUvfNQ6sVY76SG1XSoB6ePZgIlBXQGdI,9431 -django/contrib/auth/locale/fi/LC_MESSAGES/django.mo,sha256=OPQ9WRAp6F6TERy-r62D0hNDPQcmH2zGFlEqZab3keY,7492 -django/contrib/auth/locale/fi/LC_MESSAGES/django.po,sha256=bhwFsyeQtr_dCu3QU8EuyyVnHegU-78AfXp0ptCWcV0,7848 -django/contrib/auth/locale/fr/LC_MESSAGES/django.mo,sha256=CiCGqwKFoJnWDqi7QgHcLEkayZTA9JZX3SWCsIBxTK8,8105 -django/contrib/auth/locale/fr/LC_MESSAGES/django.po,sha256=Kij98WD0TShBZdMYXmjINji3SuCmKTafmxUL8-JLJt0,8481 -django/contrib/auth/locale/fy/LC_MESSAGES/django.mo,sha256=95N-77SHF0AzQEer5LuBKu5n5oWf3pbH6_hQGvDrlP4,476 -django/contrib/auth/locale/fy/LC_MESSAGES/django.po,sha256=8XOzOFx-WerF7whzTie03hgO-dkbUFZneyrpZtat5JY,3704 -django/contrib/auth/locale/ga/LC_MESSAGES/django.mo,sha256=Nd02Ed9ACCY6JCCSwtiWl3DTODLFFu9Mq6JVlr5YbYk,3572 -django/contrib/auth/locale/ga/LC_MESSAGES/django.po,sha256=FQJMR5DosuKqo4vvF0NAQnjfqbH54MSzqL2-4BO4-uM,6127 -django/contrib/auth/locale/gd/LC_MESSAGES/django.mo,sha256=-GSChZnB8t2BR6KoF-ZU2qlvfXNq5fAbomOBdoefEZE,8687 -django/contrib/auth/locale/gd/LC_MESSAGES/django.po,sha256=SN-QSmEG04qXHwoIzBgMjHEkqYqFQeJ7OvFXg496A6c,9044 -django/contrib/auth/locale/gl/LC_MESSAGES/django.mo,sha256=ZqVb1YCn_0_HyVtb_rnxmn0BSYAuKTVTFNHf2gftt5c,4022 -django/contrib/auth/locale/gl/LC_MESSAGES/django.po,sha256=YN_7iJTGc1Kh5llxHnwqq1kZmdQVMUMv1bkti30fMCI,6371 -django/contrib/auth/locale/he/LC_MESSAGES/django.mo,sha256=MeI7B43KSAIZL7_qxceKnnFKnyoUVYeZDRkGWabrclw,8606 -django/contrib/auth/locale/he/LC_MESSAGES/django.po,sha256=aDJlOsxyGpm-t6BydtqPMDB9lPcBCie8a1IfW_Ennvc,9012 -django/contrib/auth/locale/hi/LC_MESSAGES/django.mo,sha256=7CxV1H37hMbgKIhnAWx-aJmipLRosJe1qg8BH2CABfw,5364 -django/contrib/auth/locale/hi/LC_MESSAGES/django.po,sha256=DU5YM6r1kd5fo40yqFXzEaNh42ezFQFQ-0dmVqkaKQ0,7769 -django/contrib/auth/locale/hr/LC_MESSAGES/django.mo,sha256=GEap3QClwCkuwQZKJE7qOZl93RRxmyyvTTnOTYaAWUo,5894 -django/contrib/auth/locale/hr/LC_MESSAGES/django.po,sha256=ALftoYSaI1U90RNDEvnaFATbw1SL0m8fNXAyl6DkSvo,7355 -django/contrib/auth/locale/hsb/LC_MESSAGES/django.mo,sha256=EPvlwd_NX7HEYa9exou0QWR501uyNr8_3tRMz-l1_FA,7922 -django/contrib/auth/locale/hsb/LC_MESSAGES/django.po,sha256=oylGjyfqTtyTJGRpBEI3xfN5MFzgklZ5FtNVe54ugKM,8213 -django/contrib/auth/locale/hu/LC_MESSAGES/django.mo,sha256=TLGY7EaLD12NHYM1hQlqb4D4BM0T68jv8yhECOHIgcA,7655 -django/contrib/auth/locale/hu/LC_MESSAGES/django.po,sha256=E51MM5qqplgrOSrh60bfz-EvyL91Ik3kL3YJOK-dqzk,8040 -django/contrib/auth/locale/hy/LC_MESSAGES/django.mo,sha256=zoLe0EqIH8HQYC5XAWd8b8mA2DpbmDSEBsF-WIKX_OQ,8001 -django/contrib/auth/locale/hy/LC_MESSAGES/django.po,sha256=wIWLbz6f0n44ZcjEbZZsgoWTpzXRGND15hudr_DQ3l0,8787 -django/contrib/auth/locale/ia/LC_MESSAGES/django.mo,sha256=oTzOm7fRjn79_pU9zy6D_Ehex5FK7hjQYe4soeHhRkk,3314 -django/contrib/auth/locale/ia/LC_MESSAGES/django.po,sha256=LzJOXjj1Fa61zk3v2d-aWS48eva2S0b0jJ9r5CqiFDY,5881 -django/contrib/auth/locale/id/LC_MESSAGES/django.mo,sha256=gCVLTVK24TVnaaeb3JAqQ9Wzt0Cad0FLcCBr0gD76kU,7170 -django/contrib/auth/locale/id/LC_MESSAGES/django.po,sha256=0bxsUqjQMA2qCjBkx1Q62v007ow3S5J3UgcV2ll9sL4,7589 -django/contrib/auth/locale/io/LC_MESSAGES/django.mo,sha256=YwAS3aWljAGXWcBhGU_GLVuGJbHJnGY8kUCE89CPdks,464 -django/contrib/auth/locale/io/LC_MESSAGES/django.po,sha256=W36JXuA1HQ72LspixRxeuvxogVxtk7ZBbT0VWI38_oM,3692 -django/contrib/auth/locale/is/LC_MESSAGES/django.mo,sha256=0PBYGqQKJaAG9m2jmJUzcqRVPc16hCe2euECMCrNGgI,7509 -django/contrib/auth/locale/is/LC_MESSAGES/django.po,sha256=o6dQ8WMuPCw4brSzKUU3j8PYhkLBO7XQ3M7RlsIw-VY,7905 -django/contrib/auth/locale/it/LC_MESSAGES/django.mo,sha256=dI8wYt63mrZ02kL3r1XVY-AIussOMwQyvWBfefM4Zw0,7539 -django/contrib/auth/locale/it/LC_MESSAGES/django.po,sha256=wnIrW0RSky6QG7hrmof8Ow3-4YLouN6izMC2kik-PHA,8069 -django/contrib/auth/locale/ja/LC_MESSAGES/django.mo,sha256=qzCIy4-2ZpAPjeiBJWcrvcOCP6YyJl7CwdJtI8kn4P4,8024 -django/contrib/auth/locale/ja/LC_MESSAGES/django.po,sha256=l-txD5McDJSjRIG5t3XFWjaezvy0gmnGl3SUUVwumDg,8376 -django/contrib/auth/locale/ka/LC_MESSAGES/django.mo,sha256=0QWYd58Dz5Az3OfZo7wV3o-QCre2oc5dgEPu0rnLVJI,10625 -django/contrib/auth/locale/ka/LC_MESSAGES/django.po,sha256=oCtz7gS4--mhv7biS1rIh43I4v1UpZX4DKdrB-xZ2RA,11217 -django/contrib/auth/locale/kab/LC_MESSAGES/django.mo,sha256=9qKeQ-gDByoOdSxDpSbLaM4uSP5sIi7qlTn8tJidVDs,2982 -django/contrib/auth/locale/kab/LC_MESSAGES/django.po,sha256=8cq5_rjRXPzTvn1jPo6H_Jcrv6IXkWr8n9fTPvghsS8,5670 -django/contrib/auth/locale/kk/LC_MESSAGES/django.mo,sha256=RJablrXpRba6YVB_8ACSt2q_BjmxrHQZzX6RxMJImlA,3542 -django/contrib/auth/locale/kk/LC_MESSAGES/django.po,sha256=OebwPN9iWBvjDu0P2gQyBbShvIFxFIqCw8DpKuti3xk,6360 -django/contrib/auth/locale/km/LC_MESSAGES/django.mo,sha256=FahcwnCgzEamtWcDEPOiJ4KpXCIHbnSowfSRdRQ2F9U,2609 -django/contrib/auth/locale/km/LC_MESSAGES/django.po,sha256=lvRHHIkClbt_8-9Yn0xY57dMxcS72z4sUkxLb4cohP0,5973 -django/contrib/auth/locale/kn/LC_MESSAGES/django.mo,sha256=u0YygqGJYljBZwI9rm0rRk_DdgaBEMA1etL-Lk-7Mls,4024 -django/contrib/auth/locale/kn/LC_MESSAGES/django.po,sha256=HKQ1t2yhh9OwsqvMft337VpPmi8KU8PhF2M8gKOdtXw,6951 -django/contrib/auth/locale/ko/LC_MESSAGES/django.mo,sha256=eeIHHuqWmYIKdg4Awtzuiq73nJYGZGL912jDSKdK0tc,7578 -django/contrib/auth/locale/ko/LC_MESSAGES/django.po,sha256=ch1Eoy8J5B7wu35yvYPz5mhuXYzIxDocvVEsuICpv0M,8308 -django/contrib/auth/locale/ky/LC_MESSAGES/django.mo,sha256=fkRH2MlIvLbMGPWoey5LcT5CNK6CXjqnS2pftsnPnYc,8862 -django/contrib/auth/locale/ky/LC_MESSAGES/django.po,sha256=DxYSM23dbYT0oI1qkE5si5CngC2FHR3YX8EBVr3TzOI,9109 -django/contrib/auth/locale/lb/LC_MESSAGES/django.mo,sha256=OFhpMA1ZXhrs5fwZPO5IjubvWDiju4wfwWiV94SFkiA,474 -django/contrib/auth/locale/lb/LC_MESSAGES/django.po,sha256=dOfY9HjTfMQ0nkRYumw_3ZaywbUrTgT-oTXAnrRyfxo,3702 -django/contrib/auth/locale/lt/LC_MESSAGES/django.mo,sha256=-nlZHl7w__TsFUmBb5pQV_XJtKGsi9kzP6CBZXkfM8M,8146 -django/contrib/auth/locale/lt/LC_MESSAGES/django.po,sha256=-rdhB6eroSSemsdZkG1Jl4CruNZc_7dj4m5IVoyRBUQ,8620 -django/contrib/auth/locale/lv/LC_MESSAGES/django.mo,sha256=MeaR3wk2dhEJl0ib7sfLomLmO14r1dDDf9UCGkzgUtA,7582 -django/contrib/auth/locale/lv/LC_MESSAGES/django.po,sha256=o-lm18LyXAna2tVM4BX2aLYdLKsr59m_VWImsYaSvN8,7970 -django/contrib/auth/locale/mk/LC_MESSAGES/django.mo,sha256=XS9dslnD_YBeD07P8WQkss1gT7GIV-qLiCx4i5_Vd_k,9235 -django/contrib/auth/locale/mk/LC_MESSAGES/django.po,sha256=QOLgcwHub9Uo318P2z6sp69MI8syIIWCcr4VOom9vfs,9799 -django/contrib/auth/locale/ml/LC_MESSAGES/django.mo,sha256=UEaqq7nnGvcZ8vqFicLiuqsuEUhEjd2FpWfyzy2HqdU,12611 -django/contrib/auth/locale/ml/LC_MESSAGES/django.po,sha256=xBROIwJb5h2LmyBLAafZ2tUlPVTAOcMgt-olq5XnPT8,13107 -django/contrib/auth/locale/mn/LC_MESSAGES/django.mo,sha256=hBYT0p3LcvIKKPtIn2NzPk_2di9L8jYrUt9j3TcVvaY,9403 -django/contrib/auth/locale/mn/LC_MESSAGES/django.po,sha256=R3wAEwnefEHZsma8J-XOn4XlLtuWYKDPLwJ99DUYmvE,9913 -django/contrib/auth/locale/mr/LC_MESSAGES/django.mo,sha256=zGuqUTqcWZZn8lZY56lf5tB0_lELn7Dd0Gj78wwO5T4,468 -django/contrib/auth/locale/mr/LC_MESSAGES/django.po,sha256=yLW9WuaBHqdp9PXoDEw7c05Vt0oOtlks5TS8oxYPAO8,3696 -django/contrib/auth/locale/my/LC_MESSAGES/django.mo,sha256=gYzFJKi15RbphgG1IHbJF3yGz3P2D9vaPoHZpA7LoH8,1026 -django/contrib/auth/locale/my/LC_MESSAGES/django.po,sha256=lH5mrq-MyY8gvrNkH2_20rkjFnbviq23wIUqIjPIgFI,5130 -django/contrib/auth/locale/nb/LC_MESSAGES/django.mo,sha256=T6aK_x_t3c0uoALxmraqrK4--Ln5vTUMPb2m7iuR9bM,7191 -django/contrib/auth/locale/nb/LC_MESSAGES/django.po,sha256=jwECmnO6m_sk9O3PXnmEnh3FC9LJKVdSliRZ8nNPNLY,7585 -django/contrib/auth/locale/ne/LC_MESSAGES/django.mo,sha256=pq8dEr1ugF5ldwkCDHOq5sXaXV31InbLHYyXU56U_Ao,7722 -django/contrib/auth/locale/ne/LC_MESSAGES/django.po,sha256=bV-uWvT1ViEejrbRbVTtwC2cZVD2yX-KaESxKBnxeRI,8902 -django/contrib/auth/locale/nl/LC_MESSAGES/django.mo,sha256=g29u9ZMWBkbkWw6jA0UU74pMCAh9s-Gb9Ft3zi9aNn4,7451 -django/contrib/auth/locale/nl/LC_MESSAGES/django.po,sha256=U9JaMXlbuY9Lvu2pUK6x5vSD5m7ROaKt2P2rbBTDZ30,8176 -django/contrib/auth/locale/nn/LC_MESSAGES/django.mo,sha256=020nmL8b1yQL0ZyrDAdr0ZOsEGmNxvUpp9ISPBOVI8U,2801 -django/contrib/auth/locale/nn/LC_MESSAGES/django.po,sha256=SKgBiBM1llWFIvVjWRR0r2i3O8VcAdWe-PUhxckqmbE,5590 -django/contrib/auth/locale/os/LC_MESSAGES/django.mo,sha256=DVsYGz-31nofEjZla4YhM5L7qoBnQaYnZ4TBki03AI4,4434 -django/contrib/auth/locale/os/LC_MESSAGES/django.po,sha256=Akc1qelQWRA1DE6xseoK_zsY7SFI8SpiVflsSTUhQLw,6715 -django/contrib/auth/locale/pa/LC_MESSAGES/django.mo,sha256=PeOLukzQ_CZjWBa5FGVyBEysat4Gwv40xGMS29UKRww,3666 -django/contrib/auth/locale/pa/LC_MESSAGES/django.po,sha256=7ts9PUSuvfXGRLpfyVirJLDtsQcsVWFXDepVKUVlmtc,6476 -django/contrib/auth/locale/pl/LC_MESSAGES/django.mo,sha256=aFiv3R2tRWOKs2UOBg9s35wbYnOIxgLCEfr8fIJbIEw,7908 -django/contrib/auth/locale/pl/LC_MESSAGES/django.po,sha256=pHr8LAF2bobzBHnteZrNS_NL5pbzn-LW4uhWff5UGwA,8619 -django/contrib/auth/locale/pt/LC_MESSAGES/django.mo,sha256=oyKCSXRo55UiO3-JKcodMUnK7fuOuQxQrXcU7XkWidA,7756 -django/contrib/auth/locale/pt/LC_MESSAGES/django.po,sha256=tEazw0kctJ3BaP21IblsMhno6qooOGW54zwende522Q,8128 -django/contrib/auth/locale/pt_BR/LC_MESSAGES/django.mo,sha256=5oeVsEZTpuSXrh05QhaMDtgh-Lju6HdE8QROe-_uV_0,7546 -django/contrib/auth/locale/pt_BR/LC_MESSAGES/django.po,sha256=IFe28giz1RoK9IPKbXi4kJj8PYKqHvEtFuYGuBmGitY,8521 -django/contrib/auth/locale/ro/LC_MESSAGES/django.mo,sha256=GD04tb5R6nEeD6ZMAcZghVhXwr8en1omw0c6BxnyHas,7777 -django/contrib/auth/locale/ro/LC_MESSAGES/django.po,sha256=YfkFuPrMwAR50k6lfOYeBbMosEbvXGWwMBD8B7p_2ZA,8298 -django/contrib/auth/locale/ru/LC_MESSAGES/django.mo,sha256=CTaAUHtlzBBBxou_jkmyww7Op7-OHvNZCjxgct4LW0Y,10277 -django/contrib/auth/locale/ru/LC_MESSAGES/django.po,sha256=mm0SFL2KQlHNKEzFRC2VZa0OslYTODK3vH8Rlpu97Nc,10829 -django/contrib/auth/locale/sk/LC_MESSAGES/django.mo,sha256=hJ_ep7FCbG4DVZawMfx4GjOPcJc4ruFSki8bkYn2l2Y,7838 -django/contrib/auth/locale/sk/LC_MESSAGES/django.po,sha256=NOYdZ3dv3Vtl-5vOwJH26Rthl-5nn4JrXgnm3i-d0bY,8199 -django/contrib/auth/locale/sl/LC_MESSAGES/django.mo,sha256=UAzD5UAqHBdiCMIPjZdouGt14xoHuo5EXDctNSDTEJk,7552 -django/contrib/auth/locale/sl/LC_MESSAGES/django.po,sha256=tUqZLZJegGLteWOQiDwFRUGayBB2j9qATmL6SMgEhb8,7943 -django/contrib/auth/locale/sq/LC_MESSAGES/django.mo,sha256=3bm81rsRuQmV_1mD9JrAwSjRIDUlsb3lPmBxRNHfz8w,7813 -django/contrib/auth/locale/sq/LC_MESSAGES/django.po,sha256=BWfyT4qg1jMoDGwmpLq4uPHJ1hJXLHI7gyo4BnzVHZI,8128 -django/contrib/auth/locale/sr/LC_MESSAGES/django.mo,sha256=yVXEIE4iXPxxwIBp5H6P5tCPUoBaFdHYD5D6gIDAI5I,9698 -django/contrib/auth/locale/sr/LC_MESSAGES/django.po,sha256=-MA4QO64bs3Hk7k4h7hvv2njyib_o6gIvTz0jofLGTo,10019 -django/contrib/auth/locale/sr_Latn/LC_MESSAGES/django.mo,sha256=hwAo5ishpZZ9kb9WHrSMHdxmWV9afdxOHgVEwWqb4VE,3293 -django/contrib/auth/locale/sr_Latn/LC_MESSAGES/django.po,sha256=qccS0IkO-JT504Y2uVGY5nPYfN8EA_58I9z492iQHKI,5934 -django/contrib/auth/locale/sv/LC_MESSAGES/django.mo,sha256=gdDygCzmJZghqebC_Za9BqVjy2EHS9UgrWhi0Lm5rC0,7447 -django/contrib/auth/locale/sv/LC_MESSAGES/django.po,sha256=4csJy-CtwoOYh_tN7qk6yt_A7FICPwJfgHh8gqFyiZA,7970 -django/contrib/auth/locale/sw/LC_MESSAGES/django.mo,sha256=I_lEsKuMGm07X1vM3-ReGDx2j09PGLkWcG0onC8q1uQ,5029 -django/contrib/auth/locale/sw/LC_MESSAGES/django.po,sha256=TiZS5mh0oN0e6dFEdh-FK81Vk-tdv35ngJ-EbM1yX80,6455 -django/contrib/auth/locale/ta/LC_MESSAGES/django.mo,sha256=T1t5CKEb8hIumvbOtai-z4LKj2et8sX-PgBMd0B3zuA,2679 -django/contrib/auth/locale/ta/LC_MESSAGES/django.po,sha256=X8UDNmk02X9q1leNV1qWWwPNakhvNd45mCKkQ8EpZQQ,6069 -django/contrib/auth/locale/te/LC_MESSAGES/django.mo,sha256=i9hG4thA0P-Hc-S2oX7GufWFDO4Y_LF4RcdQ22cbLyE,2955 -django/contrib/auth/locale/te/LC_MESSAGES/django.po,sha256=txND8Izv2oEjSlcsx3q6l5fEUqsS-zv-sjVVILB1Bmc,6267 -django/contrib/auth/locale/tg/LC_MESSAGES/django.mo,sha256=MwdyYwC4ILX4MFsqCy46NNfPKLbW1GzRhFxMV0uIbLI,7932 -django/contrib/auth/locale/tg/LC_MESSAGES/django.po,sha256=miOPNThjHZODwjXMbON8PTMQhaCGJ0Gy6FZr6Jcj4J8,8938 -django/contrib/auth/locale/th/LC_MESSAGES/django.mo,sha256=zRpZ2xM5JEQoHtfXm2_XYdhe2FtaqH-hULJadLJ1MHU,6013 -django/contrib/auth/locale/th/LC_MESSAGES/django.po,sha256=Yhh_AQS_aM_9f_yHNNSu_3THbrU-gOoMpfiDKhkaSHo,7914 -django/contrib/auth/locale/tk/LC_MESSAGES/django.mo,sha256=AqCIDe-6QrLMN3CNbMZsfrL0KxnQ3zuZwN8KvFmwRhE,7343 -django/contrib/auth/locale/tk/LC_MESSAGES/django.po,sha256=LpVXh4T0ZS3EzbIpJud8Dlms0Bu1vWf6c0JqkpoD8q8,7605 -django/contrib/auth/locale/tr/LC_MESSAGES/django.mo,sha256=6tICZU_wVoghwiMS7A2xNlZvYz5uPAM-c7UMN_TJY0s,7458 -django/contrib/auth/locale/tr/LC_MESSAGES/django.po,sha256=L6i8nCpuLRRpbLwGtkRU78ejqpq48AAf7z09tJtHJ3E,8048 -django/contrib/auth/locale/tt/LC_MESSAGES/django.mo,sha256=g4pTk8QLQFCOkU29RZvR1wOd1hkOZe_o5GV9Cg5u8N4,1371 -django/contrib/auth/locale/tt/LC_MESSAGES/django.po,sha256=owkJ7iPT-zJYkuKLykfWsw8j7O8hbgzVTOD0DVv956E,5222 -django/contrib/auth/locale/udm/LC_MESSAGES/django.mo,sha256=zey19UQmS79AJFxHGrOziExPDDpJ1AbUegbCRm0x0hM,462 -django/contrib/auth/locale/udm/LC_MESSAGES/django.po,sha256=gLVgaMGg0GA3Tey1_nWIjV1lnM7czLC0XR9NFBgL2Zk,3690 -django/contrib/auth/locale/uk/LC_MESSAGES/django.mo,sha256=YEqVD82aG8LuY3WZ-q2p65M2nbgSOawv5xwHyvnsTQY,10079 -django/contrib/auth/locale/uk/LC_MESSAGES/django.po,sha256=tLWzzj6dbLutVkE5KZSWuFbQLwT2HSXLxfcz6t5XhBE,10688 -django/contrib/auth/locale/ur/LC_MESSAGES/django.mo,sha256=rippTNHoh49W19c4HDUF8G5Yo3SknL3C87Afu8YXxzA,698 -django/contrib/auth/locale/ur/LC_MESSAGES/django.po,sha256=gwSd8noEwbcvDE1Q4ZsrftvoWMwhw1J15gvdtK6E9ns,4925 -django/contrib/auth/locale/uz/LC_MESSAGES/django.mo,sha256=bDkhpvduocjekq6eZiuEfWJqnIt5hQmxxoIMhLQWzqM,2549 -django/contrib/auth/locale/uz/LC_MESSAGES/django.po,sha256=tPp8tRZwSMQCQ9AyAeUDtnRfmOk54UQMwok3HH8VNSQ,5742 -django/contrib/auth/locale/vi/LC_MESSAGES/django.mo,sha256=4YOb_ZbCI90UB01DpNsBAe6qqrc3P209Bz22FSVqvog,4703 -django/contrib/auth/locale/vi/LC_MESSAGES/django.po,sha256=1YjTrGYr04j9GtG8w0c7v71pHjHU8mHzT7tChroyfaw,6723 -django/contrib/auth/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=641K8I8SS1-SpD0q1YxaIQk_pQqRgB0oN7L6LHuM7yk,6753 -django/contrib/auth/locale/zh_Hans/LC_MESSAGES/django.po,sha256=Qn463Tzchv4tkbjbUcO-6mZyXJjM8e19DRZMA5FlkEE,7398 -django/contrib/auth/locale/zh_Hant/LC_MESSAGES/django.mo,sha256=yQ5Gllu4hXzuBpBNAgtJaBMVivJeXUUlpfDS4CT1wg4,6728 -django/contrib/auth/locale/zh_Hant/LC_MESSAGES/django.po,sha256=Rw18_ZEtobUhmj2oF544zdQ6Vrac0T9UI9RJO4plOdc,7145 -django/contrib/auth/management/__init__.py,sha256=9Dk5PxHrfnpYOloPc1ClI7KMLKIZtLB-eKGhd3cftm8,4938 -django/contrib/auth/management/__pycache__/__init__.cpython-38.pyc,, -django/contrib/auth/management/commands/__pycache__/changepassword.cpython-38.pyc,, -django/contrib/auth/management/commands/__pycache__/createsuperuser.cpython-38.pyc,, -django/contrib/auth/management/commands/changepassword.py,sha256=a2-qnd6ukL010OYJK03eHJLD0VUUXJsNcXWJlRHrKi4,2544 -django/contrib/auth/management/commands/createsuperuser.py,sha256=kvxsLYssHdE0NIcK27r0YNhGKphiGK1C69H27Ak3KNs,11440 -django/contrib/auth/middleware.py,sha256=uM_M3pXiyfjwWQFJRYdT1tsWm4R8wrq34Oks1FKcWck,5310 -django/contrib/auth/migrations/0001_initial.py,sha256=q5UGhGKIHnJD9gJOfnhHDVp3NWpH-NUMAD1mUIBGZ_U,4960 -django/contrib/auth/migrations/0002_alter_permission_name_max_length.py,sha256=xSlhMiUbrVCPMOwmwVNAUgYjZih3t-ieALNm7rQ1OI0,347 -django/contrib/auth/migrations/0003_alter_user_email_max_length.py,sha256=bPcpCTPAJV2NgrwEa6WFfxkhbPmj5J-EqU1HM3RXtq0,389 -django/contrib/auth/migrations/0004_alter_user_username_opts.py,sha256=aN0oHoA5q2bKpJN8SnI8T9GNtTBKzLRFozL87tNh8_I,785 -django/contrib/auth/migrations/0005_alter_user_last_login_null.py,sha256=0s9ZPGWNP9HT7TmXAuChMLLwL1Ml5SdQwNs9qfy5dN4,381 -django/contrib/auth/migrations/0006_require_contenttypes_0002.py,sha256=_S7o_MhU0lAnPhDEt0kh1sBmpCLXW88VBuATERiMBlk,370 -django/contrib/auth/migrations/0007_alter_validators_add_error_messages.py,sha256=JeJpm_jyu2CbBckw4xJt0DlwQ4SDg2fyHqduRLZ1HFI,740 -django/contrib/auth/migrations/0008_alter_user_username_max_length.py,sha256=KpeVuknt_7WErQO_WLDSCMg1sJkXCXjNQ5I4u_l99kc,752 -django/contrib/auth/migrations/0009_alter_user_last_name_max_length.py,sha256=rwLs5SDzFJsDKtCfyMP6XueUPHiRvRMein3wXMzHeDk,386 -django/contrib/auth/migrations/0010_alter_group_name_max_length.py,sha256=JQ2cqUnTooqDKlZ5LcXQDbQld9xQmC3up5_wCWn1LFg,379 -django/contrib/auth/migrations/0011_update_proxy_permissions.py,sha256=uSc1MAiLarJWy_SuoFAYrgUBoaTALUJ3Qq9Svqv5tZ0,2795 -django/contrib/auth/migrations/0012_alter_user_first_name_max_length.py,sha256=b_Xd1QsaC5Gc4kuJ-fQ5zKdheVkj4Yd6Asmno8iNkKM,382 -django/contrib/auth/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/auth/migrations/__pycache__/0001_initial.cpython-38.pyc,, -django/contrib/auth/migrations/__pycache__/0002_alter_permission_name_max_length.cpython-38.pyc,, -django/contrib/auth/migrations/__pycache__/0003_alter_user_email_max_length.cpython-38.pyc,, -django/contrib/auth/migrations/__pycache__/0004_alter_user_username_opts.cpython-38.pyc,, -django/contrib/auth/migrations/__pycache__/0005_alter_user_last_login_null.cpython-38.pyc,, -django/contrib/auth/migrations/__pycache__/0006_require_contenttypes_0002.cpython-38.pyc,, -django/contrib/auth/migrations/__pycache__/0007_alter_validators_add_error_messages.cpython-38.pyc,, -django/contrib/auth/migrations/__pycache__/0008_alter_user_username_max_length.cpython-38.pyc,, -django/contrib/auth/migrations/__pycache__/0009_alter_user_last_name_max_length.cpython-38.pyc,, -django/contrib/auth/migrations/__pycache__/0010_alter_group_name_max_length.cpython-38.pyc,, -django/contrib/auth/migrations/__pycache__/0011_update_proxy_permissions.cpython-38.pyc,, -django/contrib/auth/migrations/__pycache__/0012_alter_user_first_name_max_length.cpython-38.pyc,, -django/contrib/auth/migrations/__pycache__/__init__.cpython-38.pyc,, -django/contrib/auth/mixins.py,sha256=vLjOdOKpVIpg2XbxdvhlVC5TsvF4d5IdGQnGKQze4lg,3845 -django/contrib/auth/models.py,sha256=3gQGkMEPHwGTNo2aOYLAzQSfmnZ2wTWo20JQ4idlLz8,15543 -django/contrib/auth/password_validation.py,sha256=RAMoa_8HHQZkJ_X9H3TTluCNvgGXL7CQbHbSiMu4yL8,7566 -django/contrib/auth/signals.py,sha256=BFks70O0Y8s6p1fr8SCD4-yk2kjucv7HwTcdRUzVDFM,118 -django/contrib/auth/templates/auth/widgets/read_only_password_hash.html,sha256=cMrG-iMsrVQ6Qd6T_Xz21b6WIWhXxaIwgNDW2NpDpuM,185 -django/contrib/auth/templates/registration/password_reset_subject.txt,sha256=-TZcy_r0vArBgdPK7feeUY6mr9EkYwy7esQ62_onbBk,132 -django/contrib/auth/tokens.py,sha256=-c4I3ZB7C_yXLr6ijUCmPjQ7PXmreZ5RoqHONcZbsH4,4439 -django/contrib/auth/urls.py,sha256=6M54eTFdCFEqW0pzzKND4R5-8S9JrzoPcaVt0qA3JXc,1054 -django/contrib/auth/validators.py,sha256=4SU1JF5Dc4A3WTbdc45PxGusO8r6rgztgG5oEb_JhKw,687 -django/contrib/auth/views.py,sha256=b48oMCGgdg2wg131_uobg_7mqnl_bksLyO3CosbwqrE,13466 -django/contrib/contenttypes/__init__.py,sha256=OVcoCHYF9hFs-AnFfg2tjmdetuqx9-Zhi9pdGPAgwH4,75 -django/contrib/contenttypes/__pycache__/__init__.cpython-38.pyc,, -django/contrib/contenttypes/__pycache__/admin.cpython-38.pyc,, -django/contrib/contenttypes/__pycache__/apps.cpython-38.pyc,, -django/contrib/contenttypes/__pycache__/checks.cpython-38.pyc,, -django/contrib/contenttypes/__pycache__/fields.cpython-38.pyc,, -django/contrib/contenttypes/__pycache__/forms.cpython-38.pyc,, -django/contrib/contenttypes/__pycache__/models.cpython-38.pyc,, -django/contrib/contenttypes/__pycache__/views.cpython-38.pyc,, -django/contrib/contenttypes/admin.py,sha256=QeElFtZgIUzCWa1QfLhb9rpb-XZSY-xalx-RNAN5CoQ,5104 -django/contrib/contenttypes/apps.py,sha256=lVmnJW7DgIc42uc0V5vZL8qxnsnVijQmgelhs3nybIE,797 -django/contrib/contenttypes/checks.py,sha256=ooW997jE1y5goWgO3dzc7tfJt5Z4tJPWRRSG1P1-AcU,1234 -django/contrib/contenttypes/fields.py,sha256=HyxnN6q2bCCDyGSNxeWtrmKL9ibPgHPRPf3g3DOfZoQ,27641 -django/contrib/contenttypes/forms.py,sha256=95tGX_F2KkIjoBTFQcdvraypLz6Fj3LdCLOHx-8gCrQ,3615 -django/contrib/contenttypes/locale/af/LC_MESSAGES/django.mo,sha256=93nlniPFfVcxfBCs_PsLtMKrJ2BqpcofPRNYYTTlels,1070 -django/contrib/contenttypes/locale/af/LC_MESSAGES/django.po,sha256=SY04sW55-xpO_qBjv8pHoN7eqB2C5q_9CxQguMz7Q94,1244 -django/contrib/contenttypes/locale/ar/LC_MESSAGES/django.mo,sha256=2t3y_6wxi0khsYi6s9ZyJwjRB8bnRT1PKvazWOKhJcQ,1271 -django/contrib/contenttypes/locale/ar/LC_MESSAGES/django.po,sha256=t6M3XYQLotNMFCjzB8aWFXnlRI8fU744YZvAoFdScQY,1634 -django/contrib/contenttypes/locale/ar_DZ/LC_MESSAGES/django.mo,sha256=upFxoSvOvdmqCvC5irRV_8yYpFidanHfRk6i3tPrFAc,1233 -django/contrib/contenttypes/locale/ar_DZ/LC_MESSAGES/django.po,sha256=jUg-4BVi0arx5v-osaUDAfM6cQgaBh7mE8Mr8aVTp5A,1447 -django/contrib/contenttypes/locale/ast/LC_MESSAGES/django.mo,sha256=y88CPGGbwTVRmZYIipCNIWkn4OuzuxEk2QCYsBhc7RY,643 -django/contrib/contenttypes/locale/ast/LC_MESSAGES/django.po,sha256=H-qMo5ikva84ycnlmBT4XXEWhzMIw-r7J_zuqxo3wu4,1088 -django/contrib/contenttypes/locale/az/LC_MESSAGES/django.mo,sha256=VTQ2qQ7aoZYUVl2yht2DbYzj2acs71Szqz7iZyySAqI,1065 -django/contrib/contenttypes/locale/az/LC_MESSAGES/django.po,sha256=9NcmP1jMQPfjPraoXui6iqJn3z3f3uG1RYN7K5-_-dU,1359 -django/contrib/contenttypes/locale/be/LC_MESSAGES/django.mo,sha256=Kp1TpXX1v0IgGp9HZxleXJ6y5ZvMZ6AqJrSIVcDs7xA,1353 -django/contrib/contenttypes/locale/be/LC_MESSAGES/django.po,sha256=Oy5QXZBmBM_OYLT5OeXJQzTBCHXBp8NVMYuKmr_TUm0,1615 -django/contrib/contenttypes/locale/bg/LC_MESSAGES/django.mo,sha256=yVH2saAhE3bVtamkCeIBDQuJpn2awfF2M7ISujswiRU,1267 -django/contrib/contenttypes/locale/bg/LC_MESSAGES/django.po,sha256=YdzC82ifG-pPY5Iy4mXIBj9Qq583g37OqZir-jpbUpc,1576 -django/contrib/contenttypes/locale/bn/LC_MESSAGES/django.mo,sha256=2Z1GL6c1ukKQCMcls7R0_n4eNdH3YOXZSR8nCct7SLI,1201 -django/contrib/contenttypes/locale/bn/LC_MESSAGES/django.po,sha256=PLjnppx0FxfGBQMuWVjo0N4sW2QYc2DAEMK6ziGWUc8,1491 -django/contrib/contenttypes/locale/br/LC_MESSAGES/django.mo,sha256=kAlOemlwBvCdktgYoV-4NpC7XFDaIue_XN7GJYzDu88,1419 -django/contrib/contenttypes/locale/br/LC_MESSAGES/django.po,sha256=BQmHVQqOc6xJWJLeAo49rl_Ogfv-lFtx18mj82jT_to,1613 -django/contrib/contenttypes/locale/bs/LC_MESSAGES/django.mo,sha256=klj9n7AKBkTf7pIa9m9b-itsy4UlbYPnHiuvSLcFZXY,700 -django/contrib/contenttypes/locale/bs/LC_MESSAGES/django.po,sha256=pmJaMBLWbYtYFFXYBvPEvwXkTPdjQDv2WkFI5jNGmTI,1151 -django/contrib/contenttypes/locale/ca/LC_MESSAGES/django.mo,sha256=uYq1BXdw1AXjnLusUQfN7ox1ld6siiy41C8yKVTry7Q,1095 -django/contrib/contenttypes/locale/ca/LC_MESSAGES/django.po,sha256=-dsOzvzVzEPVvA9lYsIP-782BbtJxGRo-OHtS3fIjmU,1403 -django/contrib/contenttypes/locale/cs/LC_MESSAGES/django.mo,sha256=QexBQDuGdMFhVBtA9XWUs2geFBROcxyzdU_IBUGQ7x4,1108 -django/contrib/contenttypes/locale/cs/LC_MESSAGES/django.po,sha256=8pdPwZmpGOeSZjILGLZEAzqvmmV69ogpkh0c3tukT2g,1410 -django/contrib/contenttypes/locale/cy/LC_MESSAGES/django.mo,sha256=2QyCWeXFyymoFu0Jz1iVFgOIdLtt4N1rCZATZAwiH-8,1159 -django/contrib/contenttypes/locale/cy/LC_MESSAGES/django.po,sha256=ZWDxQTHJcw1UYav1C3MX08wCFrSeJNNI2mKjzRVd6H0,1385 -django/contrib/contenttypes/locale/da/LC_MESSAGES/django.mo,sha256=EyancRrTWxM6KTpLq65gIQB0sO_PLtVr1ESN2v1pSNU,1038 -django/contrib/contenttypes/locale/da/LC_MESSAGES/django.po,sha256=J09u3IjLgv4g77Kea_WQAhevHb8DskGU-nVxyucYf_0,1349 -django/contrib/contenttypes/locale/de/LC_MESSAGES/django.mo,sha256=MGUZ4Gw8rSFjBO2OfFX9ooGGpJYwAapgNkc-GdBMXa0,1055 -django/contrib/contenttypes/locale/de/LC_MESSAGES/django.po,sha256=T5ucSqa6VyfUcoN6nFWBtjUkrSrz7wxr8t0NGTBrWow,1308 -django/contrib/contenttypes/locale/dsb/LC_MESSAGES/django.mo,sha256=QpdSZObmfb-DQZb3Oh6I1bFRnaPorXMznNZMyVIM7Hc,1132 -django/contrib/contenttypes/locale/dsb/LC_MESSAGES/django.po,sha256=_tNajamEnnf9FEjI-XBRraKjJVilwvpv2TBf9PAzPxw,1355 -django/contrib/contenttypes/locale/el/LC_MESSAGES/django.mo,sha256=1ySEbSEzhH1lDjHQK9Kv59PMA3ZPdqY8EJe6xEQejIM,1286 -django/contrib/contenttypes/locale/el/LC_MESSAGES/django.po,sha256=8rlMKE5SCLTtm1myjLFBtbEIFyuRmSrL9HS2PA7gneQ,1643 -django/contrib/contenttypes/locale/en/LC_MESSAGES/django.mo,sha256=U0OV81NfbuNL9ctF-gbGUG5al1StqN-daB-F-gFBFC8,356 -django/contrib/contenttypes/locale/en/LC_MESSAGES/django.po,sha256=BRgOISCCJb4TU0dNxG4eeQJFe-aIe7U3GKLPip03d_Q,1110 -django/contrib/contenttypes/locale/en_AU/LC_MESSAGES/django.mo,sha256=dTndJxA-F1IE_nMUOtf1sRr7Kq2s_8yjgKk6mkWkVu4,486 -django/contrib/contenttypes/locale/en_AU/LC_MESSAGES/django.po,sha256=wmxyIJtz628AbsxgkB-MjdImcIJWhcW7NV3tWbDpedg,1001 -django/contrib/contenttypes/locale/en_GB/LC_MESSAGES/django.mo,sha256=_uM-jg43W7Pz8RQhMcR_o15wRkDaYD8aRcl2_NFGoNs,1053 -django/contrib/contenttypes/locale/en_GB/LC_MESSAGES/django.po,sha256=SyzwSvqAgKF8BEhXYh4598GYP583OK2GUXH1lc4iDMk,1298 -django/contrib/contenttypes/locale/eo/LC_MESSAGES/django.mo,sha256=MFC-mQeWLeFry7d2EXeAf2G47YRLLKFhenGLCwo5O9A,1087 -django/contrib/contenttypes/locale/eo/LC_MESSAGES/django.po,sha256=BgQ7lRtsjD-XHaNvlHMu9AxCCqx38XdOCG4zYpKgDn4,1279 -django/contrib/contenttypes/locale/es/LC_MESSAGES/django.mo,sha256=KzgypFDwIlVzr_h9Dq2X8dXu3XnsbdSaHwJKJWZ6qc8,1096 -django/contrib/contenttypes/locale/es/LC_MESSAGES/django.po,sha256=Dpn9dTvdy87bVf3It8pZFOdEEKnO91bDeYyY1YujkIA,1456 -django/contrib/contenttypes/locale/es_AR/LC_MESSAGES/django.mo,sha256=WkHABVDmtKidPyo6zaYGVGrgXpe6tZ69EkxaIBu6mtg,1084 -django/contrib/contenttypes/locale/es_AR/LC_MESSAGES/django.po,sha256=yVSu_fJSKwS4zTlRud9iDochIaY0zOPILF59biVfkeY,1337 -django/contrib/contenttypes/locale/es_CO/LC_MESSAGES/django.mo,sha256=aACo1rOrgs_BYK3AWzXEljCdAc4bC3BXpyXrwE4lzAs,1158 -django/contrib/contenttypes/locale/es_CO/LC_MESSAGES/django.po,sha256=vemhoL-sESessGmIlHoRvtWICqF2aO05WvcGesUZBRM,1338 -django/contrib/contenttypes/locale/es_MX/LC_MESSAGES/django.mo,sha256=vD9rSUAZC_rgkwiOOsrrra07Gnx7yEpNHI96tr8xD3U,840 -django/contrib/contenttypes/locale/es_MX/LC_MESSAGES/django.po,sha256=tLgjAi9Z1kZloJFVQuUdAvyiJy1J-5QHfoWmxbqQZCc,1237 -django/contrib/contenttypes/locale/es_VE/LC_MESSAGES/django.mo,sha256=TVGDydYVg_jGfnYghk_cUFjCCtpGchuoTB4Vf0XJPYk,1152 -django/contrib/contenttypes/locale/es_VE/LC_MESSAGES/django.po,sha256=vJW37vuKYb_KpXBPmoNSqtNstFgCDlKmw-8iOoSCenU,1342 -django/contrib/contenttypes/locale/et/LC_MESSAGES/django.mo,sha256=TE84lZl6EP54-pgmv275jiTOW0vIsnsGU97qmtxMEVg,1028 -django/contrib/contenttypes/locale/et/LC_MESSAGES/django.po,sha256=KO9fhmRCx25VeHNDGXVNhoFx3VFH-6PSLVXZJ6ohOSA,1368 -django/contrib/contenttypes/locale/eu/LC_MESSAGES/django.mo,sha256=K0f1cXEhfg_djPzgCL9wC0iHGWF_JGIhWGFL0Y970g0,1077 -django/contrib/contenttypes/locale/eu/LC_MESSAGES/django.po,sha256=sSuVV0o8MeWN6BxlaeKcjKA3h4H29fCo1kKEtkczEp4,1344 -django/contrib/contenttypes/locale/fa/LC_MESSAGES/django.mo,sha256=hW3A3_9b-NlLS4u6qDnPS1dmNdn1UJCt-nihXvnXywI,1130 -django/contrib/contenttypes/locale/fa/LC_MESSAGES/django.po,sha256=TPiYsGGN-j-VD--Rentx1p-IcrNJYoYxrxDO_5xeZHI,1471 -django/contrib/contenttypes/locale/fi/LC_MESSAGES/django.mo,sha256=yZNZ0btS15XQPW5sGVQWqUbQ3_ZIGD0JjgMcz2-_xgU,1073 -django/contrib/contenttypes/locale/fi/LC_MESSAGES/django.po,sha256=LTt_nF73_BxrerGmK4ly__1PeesGNpWlH3CSLETMvuI,1316 -django/contrib/contenttypes/locale/fr/LC_MESSAGES/django.mo,sha256=CTOu_JOAQeC72VX5z9cg8Bn3HtZsdgbtjA7XKcy681o,1078 -django/contrib/contenttypes/locale/fr/LC_MESSAGES/django.po,sha256=6LArEWoBpdaJa7UPcyv4HJKD3YoKUxrwGQGd16bi9DM,1379 -django/contrib/contenttypes/locale/fy/LC_MESSAGES/django.mo,sha256=YQQy7wpjBORD9Isd-p0lLzYrUgAqv770_56-vXa0EOc,476 -django/contrib/contenttypes/locale/fy/LC_MESSAGES/django.po,sha256=SB07aEGG7n4oX_5rqHB6OnjpK_K0KwFM7YxaWYNpB_4,991 -django/contrib/contenttypes/locale/ga/LC_MESSAGES/django.mo,sha256=GYQYfYWbgwL3nQJR5d7XGjc5KeYYXsB0yRQJz7zxd_k,1097 -django/contrib/contenttypes/locale/ga/LC_MESSAGES/django.po,sha256=byvw9sQ9VLVjS7Au81LcNpxOzwA29_4Al9nB1ZyV2b4,1408 -django/contrib/contenttypes/locale/gd/LC_MESSAGES/django.mo,sha256=dQz7j45qlY3M1rL2fCVdPnuHMUdUcJ0K6cKgRD7Js2w,1154 -django/contrib/contenttypes/locale/gd/LC_MESSAGES/django.po,sha256=_hwx9XqeX5QYRFtDpEYkChswn8WMdYTQlbzL1LjREbY,1368 -django/contrib/contenttypes/locale/gl/LC_MESSAGES/django.mo,sha256=gMDLuxVazSNvwLmi5AqJEsxugmDVLk8DlxseHRRoQoc,1072 -django/contrib/contenttypes/locale/gl/LC_MESSAGES/django.po,sha256=hFPL2GH-o6XN0SKu5kqgiEaGT8lKnbi_zmlUNCn3Obg,1364 -django/contrib/contenttypes/locale/he/LC_MESSAGES/django.mo,sha256=oaxWykyc3N63WpxyHPI5CyhCTBqhM5-2Sasp_DNm1xc,1219 -django/contrib/contenttypes/locale/he/LC_MESSAGES/django.po,sha256=wCm08UMCiCa6y1-5E-7bEz-8Kd0oMRMwgzoEJjMwFyw,1486 -django/contrib/contenttypes/locale/hi/LC_MESSAGES/django.mo,sha256=KAZuQMKOvIPj3a7GrNJE3yhT70O2abCEF2GOsbwTE5A,1321 -django/contrib/contenttypes/locale/hi/LC_MESSAGES/django.po,sha256=PcsNgu2YmT0biklhwOF_nSvoGTvWVKw2IsBxIwSVAtI,1577 -django/contrib/contenttypes/locale/hr/LC_MESSAGES/django.mo,sha256=DbOUA8ks3phsEwQvethkwZ9-ymrd36aQ6mP7OnGdpjU,1167 -django/contrib/contenttypes/locale/hr/LC_MESSAGES/django.po,sha256=722KxvayO6YXByAmO4gfsfzyVbT-HqqrLYQsr02KDc8,1445 -django/contrib/contenttypes/locale/hsb/LC_MESSAGES/django.mo,sha256=tPtv_lIzCPIUjGkAYalnNIUxVUQFE3MShhVXTnfVx3Q,1106 -django/contrib/contenttypes/locale/hsb/LC_MESSAGES/django.po,sha256=rbI3G8ARG7DF7uEe82SYCfotBnKTRJJ641bGhjdptTQ,1329 -django/contrib/contenttypes/locale/hu/LC_MESSAGES/django.mo,sha256=2nsylOwBIDOnkUjE2GYU-JRvgs_zxent7q3_PuscdXk,1102 -django/contrib/contenttypes/locale/hu/LC_MESSAGES/django.po,sha256=Dzcf94ZSvJtyNW9EUKpmyNJ1uZbXPvc7dIxCccZrDYc,1427 -django/contrib/contenttypes/locale/hy/LC_MESSAGES/django.mo,sha256=hKOErB5dzj44ThQ1_nZHak2-aXZlwMoxYcDWmPb3Xo8,1290 -django/contrib/contenttypes/locale/hy/LC_MESSAGES/django.po,sha256=UeGzaghsEt9Lt5DsEzRb9KCbuphWUQwLayt4AN194ao,1421 -django/contrib/contenttypes/locale/ia/LC_MESSAGES/django.mo,sha256=3yDFJFxh16B2WigXeJxZV9vOyRxnjZ4MAUq3T_-PHGs,1079 -django/contrib/contenttypes/locale/ia/LC_MESSAGES/django.po,sha256=4JsXrJxsMVVu9Y6OuFrwMV5L4Dglh9XJ5sp9CHDGHaA,1288 -django/contrib/contenttypes/locale/id/LC_MESSAGES/django.mo,sha256=4-6RBAvrtA1PY3LNxMrgwzBLZE0ZKwWaXa7SmtmAIyk,1031 -django/contrib/contenttypes/locale/id/LC_MESSAGES/django.po,sha256=xdxEOgfta1kaXyQAngmmbL8wDQzJU6boC9HdbmoM1iI,1424 -django/contrib/contenttypes/locale/io/LC_MESSAGES/django.mo,sha256=3SSRXx4tYiMUc00LZ9kGHuvTgaWpsICEf5G208CEqgg,1051 -django/contrib/contenttypes/locale/io/LC_MESSAGES/django.po,sha256=1ku9WPcenn47DOF05HL2eRqghZeRYfklo2huYUrkeJ0,1266 -django/contrib/contenttypes/locale/is/LC_MESSAGES/django.mo,sha256=ZYWbT4qeaco8h_J9SGF2Bs7Rdu3auZ969xZ0RQ_03go,1049 -django/contrib/contenttypes/locale/is/LC_MESSAGES/django.po,sha256=iNdghSbBVPZmfrHu52hRG8vHMgGUfOjLqie09fYcuso,1360 -django/contrib/contenttypes/locale/it/LC_MESSAGES/django.mo,sha256=GSP0BJc3bGLoNS0tnhiz_5dtSh5NXCrBiZbnwEhWbpk,1075 -django/contrib/contenttypes/locale/it/LC_MESSAGES/django.po,sha256=njEgvhDwWOc-CsGBDz1_mtEsXx2aTU6cP3jZzcLkkYk,1457 -django/contrib/contenttypes/locale/ja/LC_MESSAGES/django.mo,sha256=tVH6RvZ5tXz56lEM3aoJtFp5PKsSR-XXpi8ZNCHjiFw,1211 -django/contrib/contenttypes/locale/ja/LC_MESSAGES/django.po,sha256=5_-Uo7Ia3X9gAWm2f72ezQnNr_pQzf6Ax4AUutULuZU,1534 -django/contrib/contenttypes/locale/ka/LC_MESSAGES/django.mo,sha256=1_yGL68sK0QG_mhwFAVdksiDlB57_1W5QkL7NGGE5L0,1429 -django/contrib/contenttypes/locale/ka/LC_MESSAGES/django.po,sha256=fr8rGQDWgUQSv-ZjXhSAR5P_zWLhQ7bq1cHLKIzY4bY,1649 -django/contrib/contenttypes/locale/kk/LC_MESSAGES/django.mo,sha256=SNY0vydwLyR2ExofAHjmg1A2ykoLI7vU5Ryq-QFu5Gs,627 -django/contrib/contenttypes/locale/kk/LC_MESSAGES/django.po,sha256=PU-NAl6xUEeGV0jvJx9siVBTZIzHywL7oKc4DgUjNkc,1130 -django/contrib/contenttypes/locale/km/LC_MESSAGES/django.mo,sha256=BXifukxf48Lr0t0V3Y0GJUMhD1KiHN1wwbueoK0MW1A,678 -django/contrib/contenttypes/locale/km/LC_MESSAGES/django.po,sha256=fTPlBbnaNbLZxjzJutGvqe33t6dWsEKiHQYaw27m7KQ,1123 -django/contrib/contenttypes/locale/kn/LC_MESSAGES/django.mo,sha256=a4sDGaiyiWn-1jFozYI4vdAvuHXrs8gbZErP_SAUk9Y,714 -django/contrib/contenttypes/locale/kn/LC_MESSAGES/django.po,sha256=QDD_q_loZtGRlhmaqgNDtJ_5AjVFQ8fSmypvaWLOwp4,1162 -django/contrib/contenttypes/locale/ko/LC_MESSAGES/django.mo,sha256=myRfFxf2oKcbpmCboongTsL72RTM95nEmAC938M-ckE,1089 -django/contrib/contenttypes/locale/ko/LC_MESSAGES/django.po,sha256=uui_LhgGTrW0uo4p-oKr4JUzhjvkLbFCqRVLNMrptzY,1383 -django/contrib/contenttypes/locale/ky/LC_MESSAGES/django.mo,sha256=ULoIe36zGKPZZs113CenA6J9HviYcBOKagXrPGxyBUI,1182 -django/contrib/contenttypes/locale/ky/LC_MESSAGES/django.po,sha256=FnW5uO8OrTYqbvoRuZ6gnCD6CHnuLjN00s2Jo1HX1NE,1465 -django/contrib/contenttypes/locale/lb/LC_MESSAGES/django.mo,sha256=xokesKl7h7k9dXFKIJwGETgwx1Ytq6mk2erBSxkgY-o,474 -django/contrib/contenttypes/locale/lb/LC_MESSAGES/django.po,sha256=dwVKpCRYmXTD9h69v5ivkZe-yFtvdZNZ3VfuyIl4olY,989 -django/contrib/contenttypes/locale/lt/LC_MESSAGES/django.mo,sha256=HucsRl-eqfxw6ESTuXvl7IGjPGYSI9dxM5lMly_P1sc,1215 -django/contrib/contenttypes/locale/lt/LC_MESSAGES/django.po,sha256=odzYqHprxKFIrR8TzdxA4WeeMK0W0Nvn2gAVuzAsEqI,1488 -django/contrib/contenttypes/locale/lv/LC_MESSAGES/django.mo,sha256=nWfy7jv2VSsKYT6yhk_xqxjk1TlppJfsQcurC40CeTs,1065 -django/contrib/contenttypes/locale/lv/LC_MESSAGES/django.po,sha256=pHlbzgRpIJumDMp2rh1EKrxFBg_DRcvLLgkQ3mi_L0s,1356 -django/contrib/contenttypes/locale/mk/LC_MESSAGES/django.mo,sha256=KTFZWm0F4S6lmi1FX76YKOyJqIZN5cTsiTBI_D4ADHs,1258 -django/contrib/contenttypes/locale/mk/LC_MESSAGES/django.po,sha256=mQZosS90S-Bil6-EoGjs9BDWYlvOF6mtUDZ8h9NxEdE,1534 -django/contrib/contenttypes/locale/ml/LC_MESSAGES/django.mo,sha256=rtmLWfuxJED-1KuqkUT8F5CU1KGJP0Of718n2Gl_gI0,1378 -django/contrib/contenttypes/locale/ml/LC_MESSAGES/django.po,sha256=Z-kL9X9CD7rYfa4Uoykye2UgCNQlgyql0HTv1eUXAf4,1634 -django/contrib/contenttypes/locale/mn/LC_MESSAGES/django.mo,sha256=J6kKYjUOsQxptNXDcCaY4d3dHJio4HRibRk3qfwO6Xc,1225 -django/contrib/contenttypes/locale/mn/LC_MESSAGES/django.po,sha256=x8aRJH2WQvMBBWlQt3T3vpV4yHeZXLmRTT1U0at4ZIk,1525 -django/contrib/contenttypes/locale/mr/LC_MESSAGES/django.mo,sha256=2Z5jaGJzpiJTCnhCk8ulCDeAdj-WwR99scdHFPRoHoA,468 -django/contrib/contenttypes/locale/mr/LC_MESSAGES/django.po,sha256=FgZKD9E-By0NztUnBM4llpR59K0MJSIMZIrJYGKDqpc,983 -django/contrib/contenttypes/locale/my/LC_MESSAGES/django.mo,sha256=YYa2PFe9iJygqL-LZclfpgR6rBmIvx61JRpBkKS6Hrs,1554 -django/contrib/contenttypes/locale/my/LC_MESSAGES/django.po,sha256=6F3nXd9mBc-msMchkC8OwAHME1x1O90xrsZp7xmynpU,1732 -django/contrib/contenttypes/locale/nb/LC_MESSAGES/django.mo,sha256=EHU9Lm49U7WilR5u-Lq0Fg8ChR_OzOce4UyPlkZ6Zs4,1031 -django/contrib/contenttypes/locale/nb/LC_MESSAGES/django.po,sha256=lbktPYsJudrhe4vxnauzpzN9eNwyoVs0ZmZSdkwjkOk,1403 -django/contrib/contenttypes/locale/ne/LC_MESSAGES/django.mo,sha256=-zZAn5cex4PkScoZVqS74PUMThJJuovZSk3WUKZ8hnw,1344 -django/contrib/contenttypes/locale/ne/LC_MESSAGES/django.po,sha256=1ZCUkulQ9Gxb50yMKFKWaTJli2SinBeNj0KpXkKpsNE,1519 -django/contrib/contenttypes/locale/nl/LC_MESSAGES/django.mo,sha256=aXDHgg891TyTiMWNcbNaahfZQ2hqtl5yTkx5gNRocMU,1040 -django/contrib/contenttypes/locale/nl/LC_MESSAGES/django.po,sha256=zDJ_vyQxhP0mP06U-e4p6Uj6v1g863s8oaxc0JIAMjg,1396 -django/contrib/contenttypes/locale/nn/LC_MESSAGES/django.mo,sha256=jfxiglKOxjX2xdbLDnJhujJiGcbDJv3NDcUUCWrZmuU,1054 -django/contrib/contenttypes/locale/nn/LC_MESSAGES/django.po,sha256=c1sz3ssHULL1c5gpbEOy4Xo2Nh0_2ar_Zg4nECouM4k,1299 -django/contrib/contenttypes/locale/os/LC_MESSAGES/django.mo,sha256=QV533Wu-UpjV3XiCe83jlz7XGuwgRviV0ggoeMaIOIY,1116 -django/contrib/contenttypes/locale/os/LC_MESSAGES/django.po,sha256=UZahnxo8z6oWJfEz4JNHGng0EAifXYtJupB6lx0JB60,1334 -django/contrib/contenttypes/locale/pa/LC_MESSAGES/django.mo,sha256=qacd7eywof8rvJpstNfEmbHgvDiQ9gmkcyG7gfato8s,697 -django/contrib/contenttypes/locale/pa/LC_MESSAGES/django.po,sha256=Kq2NTzdbgq8Q9jLLgV-ZJaSRj43D1dDHcRIgNnJXu-s,1145 -django/contrib/contenttypes/locale/pl/LC_MESSAGES/django.mo,sha256=J5sC36QwKLvrMB4adsojhuw2kYuEckHz6eoTrZwYcnI,1208 -django/contrib/contenttypes/locale/pl/LC_MESSAGES/django.po,sha256=gxP59PjlIHKSiYZcbgIY4PUZSoKYx4YKCpm4W4Gj22g,1577 -django/contrib/contenttypes/locale/pt/LC_MESSAGES/django.mo,sha256=MjyyKlA75YtEG9m6hm0GxKhU-cF3m1PA_j63BuIPPlE,1125 -django/contrib/contenttypes/locale/pt/LC_MESSAGES/django.po,sha256=X2Rec6LXIqPa9AVqF4J2mzYrwfls1BdUfN8XOe0zkdQ,1379 -django/contrib/contenttypes/locale/pt_BR/LC_MESSAGES/django.mo,sha256=dNyjcuuOHAJQpbjSY3o7FImhmDGpIEuSyOvlxmSIOI8,1112 -django/contrib/contenttypes/locale/pt_BR/LC_MESSAGES/django.po,sha256=-Vl4bmkjnmEeJ8S8F1nYf6HgXrnKe0K93dl-MhwRjEM,1446 -django/contrib/contenttypes/locale/ro/LC_MESSAGES/django.mo,sha256=sCthDD10v7GY2cui9Jj9HK8cofVEg2WERCm6aktOM-4,1142 -django/contrib/contenttypes/locale/ro/LC_MESSAGES/django.po,sha256=n-BPEfua0Gd6FN0rsP7qAlTGbQEZ14NnDMA8jI2844Y,1407 -django/contrib/contenttypes/locale/ru/LC_MESSAGES/django.mo,sha256=OSf206SFmVLULHmwVhTaRhWTQtyDKsxe03gIzuvAUnY,1345 -django/contrib/contenttypes/locale/ru/LC_MESSAGES/django.po,sha256=xHyJYD66r8We3iN5Hqo69syWkjhz4zM7X9BWPIiI6mU,1718 -django/contrib/contenttypes/locale/sk/LC_MESSAGES/django.mo,sha256=Wkcfu7VTpa6IMqGHUH6Rra42ydbyyaLnMa6wg137E7o,1104 -django/contrib/contenttypes/locale/sk/LC_MESSAGES/django.po,sha256=oFmpjsUP8WXXd6TpObHcnM-mstebPAB4wCjsluH5EFc,1398 -django/contrib/contenttypes/locale/sl/LC_MESSAGES/django.mo,sha256=sMML-ubI_9YdKptzeri1du8FOdKcEzJbe4Tt0J4ePFI,1147 -django/contrib/contenttypes/locale/sl/LC_MESSAGES/django.po,sha256=0zxiyzRWWDNVpNNLlcwl-OLh5sLukma1vm-kYrGHYrE,1392 -django/contrib/contenttypes/locale/sq/LC_MESSAGES/django.mo,sha256=jYDQH3OpY4Vx9hp6ISFMI88uxBa2GDQK0BkLGm8Qulk,1066 -django/contrib/contenttypes/locale/sq/LC_MESSAGES/django.po,sha256=JIvguXVOFpQ3MRqRXHpxlg8_YhEzCsZBBMdpekYTxlk,1322 -django/contrib/contenttypes/locale/sr/LC_MESSAGES/django.mo,sha256=GUXj97VN15HdY7XMy5jmMLEu13juD3To5NsztcoyPGs,1204 -django/contrib/contenttypes/locale/sr/LC_MESSAGES/django.po,sha256=T1w_EeB6yT-PXr7mrwzqu270linf_KY3_ZCgl4wfLAQ,1535 -django/contrib/contenttypes/locale/sr_Latn/LC_MESSAGES/django.mo,sha256=m2plistrI8O-ztAs5HmDYXG8N_wChaDfXFev0GYWVys,1102 -django/contrib/contenttypes/locale/sr_Latn/LC_MESSAGES/django.po,sha256=lJrhLPDbJAcXgBPco-_lfUXqs31imj_vGwE5p1EXZjk,1390 -django/contrib/contenttypes/locale/sv/LC_MESSAGES/django.mo,sha256=I5bmwlJ8jVHoJW6-uGZ6r8FRIEVdg3xQseenfnhKkpg,1066 -django/contrib/contenttypes/locale/sv/LC_MESSAGES/django.po,sha256=KybZ8wY7r_ZU0beG8plP36ba8CEMKa3MTWwbL_Sf8zg,1331 -django/contrib/contenttypes/locale/sw/LC_MESSAGES/django.mo,sha256=XLPle0JYPPkmm5xpJRmWztMTF1_3a2ZubWE4ur2sav8,563 -django/contrib/contenttypes/locale/sw/LC_MESSAGES/django.po,sha256=jRc8Eh6VuWgqc4kM-rxjbVE3yV9uip6mOJLdD6yxGLM,1009 -django/contrib/contenttypes/locale/ta/LC_MESSAGES/django.mo,sha256=L3eF4z9QSmIPqzEWrNk8-2uLteQUMsuxiD9VZyRuSfo,678 -django/contrib/contenttypes/locale/ta/LC_MESSAGES/django.po,sha256=iDb9lRU_-YPmO5tEQeXEZeGeFe-wVZy4k444sp_vTgw,1123 -django/contrib/contenttypes/locale/te/LC_MESSAGES/django.mo,sha256=S_UF_mZbYfScD6Z36aB-kwtTflTeX3Wt4k7z_pEcOV8,690 -django/contrib/contenttypes/locale/te/LC_MESSAGES/django.po,sha256=aAGMMoJPg_pF9_rCNZmda5A_TvDCvQfYEL64Xdoa4jo,1135 -django/contrib/contenttypes/locale/tg/LC_MESSAGES/django.mo,sha256=dkLic6fD2EMzrB7m7MQazaGLoJ_pBw55O4nYZc5UYEs,864 -django/contrib/contenttypes/locale/tg/LC_MESSAGES/django.po,sha256=1nv1cVJewfr44gbQh1Szzy3DT4Y9Dy7rUgAZ81otJQs,1232 -django/contrib/contenttypes/locale/th/LC_MESSAGES/django.mo,sha256=qilt-uZMvt0uw-zFz7-eCmkGEx3XYz7NNo9Xbq3s7uI,1186 -django/contrib/contenttypes/locale/th/LC_MESSAGES/django.po,sha256=42F34fNEn_3yQKBBJnCLttNeyktuLVpilhMyepOd6dg,1444 -django/contrib/contenttypes/locale/tk/LC_MESSAGES/django.mo,sha256=0fuA3E487-pceoGpX9vMCwSnCItN_pbLUIUzzcrAGOE,1068 -django/contrib/contenttypes/locale/tk/LC_MESSAGES/django.po,sha256=pS8wX9dzxys3q8Vvz3PyoVJYqplXhNuAqfq7Dsb07fw,1283 -django/contrib/contenttypes/locale/tr/LC_MESSAGES/django.mo,sha256=gKg2FCxs2fHpDB1U6gh9xrP7mOpYG65pB4CNmdPYiDg,1057 -django/contrib/contenttypes/locale/tr/LC_MESSAGES/django.po,sha256=gmI3RDhq39IlDuvNohT_FTPY5QG8JD0gFxG5CTsvVZs,1345 -django/contrib/contenttypes/locale/tt/LC_MESSAGES/django.mo,sha256=_LQ1N04FgosdDLUYXJOEqpCB2Mg92q95cBRgYPi1MyY,659 -django/contrib/contenttypes/locale/tt/LC_MESSAGES/django.po,sha256=L7wMMpxGnpQiKd_mjv2bJpE2iqCJ8XwiXK0IN4EHSbM,1110 -django/contrib/contenttypes/locale/udm/LC_MESSAGES/django.mo,sha256=CNmoKj9Uc0qEInnV5t0Nt4ZnKSZCRdIG5fyfSsqwky4,462 -django/contrib/contenttypes/locale/udm/LC_MESSAGES/django.po,sha256=YVyej0nAhhEf7knk4vCeRQhmSQeGZLhMPPXyIyWObnM,977 -django/contrib/contenttypes/locale/uk/LC_MESSAGES/django.mo,sha256=LK_0RNZeRjH6l6F3IS_FfyGrnjjst__pSU-7SIfqMV4,1382 -django/contrib/contenttypes/locale/uk/LC_MESSAGES/django.po,sha256=hckQ42e_T3As0Yq_1yLwU3pX5wpcBdZyd7h2uin3bhw,1707 -django/contrib/contenttypes/locale/ur/LC_MESSAGES/django.mo,sha256=OJs_EmDBps-9a_KjFJnrS8IqtJfd25LaSWeyG8u8UfI,671 -django/contrib/contenttypes/locale/ur/LC_MESSAGES/django.po,sha256=f0FnsaAM_qrBuCXzLnkBrW5uFfVc6pUh7S-qp4918Ng,1122 -django/contrib/contenttypes/locale/vi/LC_MESSAGES/django.mo,sha256=kGYgEI1gHkyU4y_73mBJN1hlKC2JujVXMg6iCdWncDg,1155 -django/contrib/contenttypes/locale/vi/LC_MESSAGES/django.po,sha256=RIDUgsElfRF8bvBdUKtshizuMnupdMGAM896s7qZKD4,1439 -django/contrib/contenttypes/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=RviK0bqLZzPrZ46xUpc0f8IKkw3JLtsrt0gNA74Ypj0,1015 -django/contrib/contenttypes/locale/zh_Hans/LC_MESSAGES/django.po,sha256=vSKJDEQ_ANTj3-W8BFJd9u_QGdTMF12iS15rVgeujOs,1380 -django/contrib/contenttypes/locale/zh_Hant/LC_MESSAGES/django.mo,sha256=NMumOJ9dPX-7YjQH5Obm4Yj0-lnGXJmCMN5DGbsLQG4,1046 -django/contrib/contenttypes/locale/zh_Hant/LC_MESSAGES/django.po,sha256=7WIqYRpcs986MjUsegqIido5k6HG8d3FVvkrOQCRVCI,1338 -django/contrib/contenttypes/management/__init__.py,sha256=TXx5LvsBtM-750d_ImI4zpHKrXmsfVVXSgOxwecW11Y,4850 -django/contrib/contenttypes/management/__pycache__/__init__.cpython-38.pyc,, -django/contrib/contenttypes/management/commands/__pycache__/remove_stale_contenttypes.cpython-38.pyc,, -django/contrib/contenttypes/management/commands/remove_stale_contenttypes.py,sha256=1wDE5cS2qIPc8qq6QeyhxKAPLXWFLIqajCnJuzaLhmY,3838 -django/contrib/contenttypes/migrations/0001_initial.py,sha256=o3bVVr-O_eUNiloAC1z-JIHDoCJQ4ifdA-6DhdVUrp8,1157 -django/contrib/contenttypes/migrations/0002_remove_content_type_name.py,sha256=4h1AUWSWAvwfEMAaopJZce-yNj1AVpCYFAk2E-Ur-wM,1103 -django/contrib/contenttypes/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/contenttypes/migrations/__pycache__/0001_initial.cpython-38.pyc,, -django/contrib/contenttypes/migrations/__pycache__/0002_remove_content_type_name.cpython-38.pyc,, -django/contrib/contenttypes/migrations/__pycache__/__init__.cpython-38.pyc,, -django/contrib/contenttypes/models.py,sha256=kkLMgaQGfqBKEV-d7SKlU8Hik6dvu0uGBARADFmylN0,6662 -django/contrib/contenttypes/views.py,sha256=fnoup7g6T17YpfCkffdWehuaWlo-KPAZj0p7kkk7v1E,3549 -django/contrib/flatpages/__init__.py,sha256=pa6Mmr3sfZ2KBkXHAvYIw_haRx8tSqTNZluUKg5zQCk,69 -django/contrib/flatpages/__pycache__/__init__.cpython-38.pyc,, -django/contrib/flatpages/__pycache__/admin.cpython-38.pyc,, -django/contrib/flatpages/__pycache__/apps.cpython-38.pyc,, -django/contrib/flatpages/__pycache__/forms.cpython-38.pyc,, -django/contrib/flatpages/__pycache__/middleware.cpython-38.pyc,, -django/contrib/flatpages/__pycache__/models.cpython-38.pyc,, -django/contrib/flatpages/__pycache__/sitemaps.cpython-38.pyc,, -django/contrib/flatpages/__pycache__/urls.cpython-38.pyc,, -django/contrib/flatpages/__pycache__/views.cpython-38.pyc,, -django/contrib/flatpages/admin.py,sha256=m_TsFRA36bunPrg2dSdxDJpWLfJkiaVmE3kcYAO9trY,654 -django/contrib/flatpages/apps.py,sha256=EMKrGuulQwqXlcGKRvmISVaiqSNVwwUetEeEo3PTjxA,198 -django/contrib/flatpages/forms.py,sha256=XOqw37h_Itd4CU4qDk0K03Ql7y6oMkr-sC6Oj52YHZg,2420 -django/contrib/flatpages/locale/af/LC_MESSAGES/django.mo,sha256=c0XEKXJYgpy2snfmWFPQqeYeVla1F5s_wXIBaioiyPc,2297 -django/contrib/flatpages/locale/af/LC_MESSAGES/django.po,sha256=_psp14JfICDxrKx_mKF0uLnItkJPkCNMvrNOyE35nFw,2428 -django/contrib/flatpages/locale/ar/LC_MESSAGES/django.mo,sha256=dBHaqsaKH9QOIZ0h2lIDph8l9Bv2UAcD-Hr9TAxj8Ac,2636 -django/contrib/flatpages/locale/ar/LC_MESSAGES/django.po,sha256=-0ZdfA-sDU8fOucgT2Ow1iM3QnRMuQeslMOSwYhAH9M,2958 -django/contrib/flatpages/locale/ar_DZ/LC_MESSAGES/django.mo,sha256=jp6sS05alESJ4-SbEIf574UPVcbllAd_J-FW802lGyk,2637 -django/contrib/flatpages/locale/ar_DZ/LC_MESSAGES/django.po,sha256=yezpjWcROwloS08TEMo9oPXDKS1mfFE9NYI66FUuLaA,2799 -django/contrib/flatpages/locale/ast/LC_MESSAGES/django.mo,sha256=4SEsEE2hIZJwQUNs8jDgN6qVynnUYJUIE4w-usHKA6M,924 -django/contrib/flatpages/locale/ast/LC_MESSAGES/django.po,sha256=5UlyS59bVo1lccM6ZgdYSgHe9NLt_WeOdXX-swLKubU,1746 -django/contrib/flatpages/locale/az/LC_MESSAGES/django.mo,sha256=6ID6KejChxQzsUT4wevUAjd9u7Ly21mfJ22dgbitNN4,2373 -django/contrib/flatpages/locale/az/LC_MESSAGES/django.po,sha256=v7tkbuUUqkbUzXoOOWxS75TpvuMESqoZAEXDXisfbiA,2679 -django/contrib/flatpages/locale/be/LC_MESSAGES/django.mo,sha256=mOQlbfwwIZiwWCrFStwag2irCwsGYsXIn6wZDsPRvyA,2978 -django/contrib/flatpages/locale/be/LC_MESSAGES/django.po,sha256=wlIfhun5Jd6gxbkmmYPSIy_tzPVmSu4CjMwPzBNnvpo,3161 -django/contrib/flatpages/locale/bg/LC_MESSAGES/django.mo,sha256=p3RZmS9PAqdlAmbc7UswSoG0t1eeuXYDp1WZ3mWfFow,2569 -django/contrib/flatpages/locale/bg/LC_MESSAGES/django.po,sha256=DqRp9KTLxks9tNEXs2g_jvIp7dI92jXLkKNDNyLhHac,2779 -django/contrib/flatpages/locale/bn/LC_MESSAGES/django.mo,sha256=2oK2Rm0UtAI7QFRwpUR5aE3-fOltE6kTilsTbah737Y,2988 -django/contrib/flatpages/locale/bn/LC_MESSAGES/django.po,sha256=QrbX69iqXOD6oByLcgPkD1QzAkfthpfTjezIFQ-6kVg,3172 -django/contrib/flatpages/locale/br/LC_MESSAGES/django.mo,sha256=SKbykdilX_NcpkVi_lHF8LouB2G49ZAzdF09xw49ERc,2433 -django/contrib/flatpages/locale/br/LC_MESSAGES/django.po,sha256=O_mwrHIiEwV4oB1gZ7Yua4nVKRgyIf3j5UtedZWAtwk,2783 -django/contrib/flatpages/locale/bs/LC_MESSAGES/django.mo,sha256=bd7ID7OsEhp57JRw_TXoTwsVQNkFYiR_sxSkgi4WvZU,1782 -django/contrib/flatpages/locale/bs/LC_MESSAGES/django.po,sha256=IyFvI5mL_qesEjf6NO1nNQbRHhCAZQm0UhIpmGjrSwQ,2233 -django/contrib/flatpages/locale/ca/LC_MESSAGES/django.mo,sha256=GcMVbg4i5zKCd2Su7oN30WVJN7Q9K7FsFifgTB8jDPI,2237 -django/contrib/flatpages/locale/ca/LC_MESSAGES/django.po,sha256=-aJHSbWPVyNha_uF6R35Q6yn4-Hse3jTInr9jtaxKOI,2631 -django/contrib/flatpages/locale/cs/LC_MESSAGES/django.mo,sha256=8nwep22P86bMCbW7sj4n0BMGl_XaJIJV0fjnVp-_dqY,2340 -django/contrib/flatpages/locale/cs/LC_MESSAGES/django.po,sha256=1agUeRthwpam1UvZY4vRnZtLLbiop75IEXb6ul_e3mg,2611 -django/contrib/flatpages/locale/cy/LC_MESSAGES/django.mo,sha256=zr_2vsDZsrby3U8AmvlJMU3q1U_4IrrTmz6oS29OWtQ,2163 -django/contrib/flatpages/locale/cy/LC_MESSAGES/django.po,sha256=E_NC_wtuhWKYKB3YvYGB9ccJgKI3AfIZlB2HpXSyOsk,2370 -django/contrib/flatpages/locale/da/LC_MESSAGES/django.mo,sha256=nALoI50EvFPa4f3HTuaHUHATF1zHMjo4v5zcHj4n6sA,2277 -django/contrib/flatpages/locale/da/LC_MESSAGES/django.po,sha256=j4dpnreB7LWdZO7Drj7E9zBwFx_Leuj7ZLyEPi-ccAQ,2583 -django/contrib/flatpages/locale/de/LC_MESSAGES/django.mo,sha256=I4CHFzjYM_Wd-vuIYOMf8E58ntOgkLmgOAg35Chdz3s,2373 -django/contrib/flatpages/locale/de/LC_MESSAGES/django.po,sha256=P6tPVPumP9JwBIv-XXi1QQYJyj1PY3OWoM4yOAmgTRE,2592 -django/contrib/flatpages/locale/dsb/LC_MESSAGES/django.mo,sha256=oTILSe5teHa9XTYWoamstpyPu02yb_xo8S0AtkP7WP8,2391 -django/contrib/flatpages/locale/dsb/LC_MESSAGES/django.po,sha256=1xD2aH5alerranvee6QLZqgxDVXxHThXCHR4kOJAV48,2576 -django/contrib/flatpages/locale/el/LC_MESSAGES/django.mo,sha256=WxBbtlMvLwH2e7KUP7RcrxgEHP4DC9MKiO_KLCuFbmc,2870 -django/contrib/flatpages/locale/el/LC_MESSAGES/django.po,sha256=oIgwZoftZQVOrfsTDdL8iN9CpPN7UdmkCfpFOJoNHt0,3141 -django/contrib/flatpages/locale/en/LC_MESSAGES/django.mo,sha256=U0OV81NfbuNL9ctF-gbGUG5al1StqN-daB-F-gFBFC8,356 -django/contrib/flatpages/locale/en/LC_MESSAGES/django.po,sha256=0bNWKiu-1MkHFJ_UWrCLhp9ENr-pHzBz1lkhBkkrhJM,2169 -django/contrib/flatpages/locale/en_AU/LC_MESSAGES/django.mo,sha256=cuifXT2XlF4c_bR6ECRhlraSZyA7q4ZLhUgwvW73miw,486 -django/contrib/flatpages/locale/en_AU/LC_MESSAGES/django.po,sha256=ZMAJRrjovd_cdWvzkuEiJ-9ZU9rqRTwoA3x8uY2khcs,1533 -django/contrib/flatpages/locale/en_GB/LC_MESSAGES/django.mo,sha256=7zyXYOsqFkUGxclW-VPPxrQTZKDuiYQ7MQJy4m8FClo,1989 -django/contrib/flatpages/locale/en_GB/LC_MESSAGES/django.po,sha256=oHrBd6lVnO7-SdnO-Taa7iIyiqp_q2mQZjkuuU3Qa_s,2232 -django/contrib/flatpages/locale/eo/LC_MESSAGES/django.mo,sha256=EiyCzj22pdY0PboTmlaPgZdwRiuGuevHHzJcgU96su0,2295 -django/contrib/flatpages/locale/eo/LC_MESSAGES/django.po,sha256=WXTOk4Al2MlbfgWcHqBcwiY8HEzjVynds_3o-XJqhfg,2578 -django/contrib/flatpages/locale/es/LC_MESSAGES/django.mo,sha256=9Q7Qf1eSPvAfPTZSGWq7QMWrROY-CnpUkeRpiH8rpJw,2258 -django/contrib/flatpages/locale/es/LC_MESSAGES/django.po,sha256=3vGZ3uVCyWnIkDSUt6DMMOqyphv3EQteTPLx7e9J_sU,2663 -django/contrib/flatpages/locale/es_AR/LC_MESSAGES/django.mo,sha256=bUnFDa5vpxl27kn2ojTbNaCmwRkBCH-z9zKXAvXe3Z0,2275 -django/contrib/flatpages/locale/es_AR/LC_MESSAGES/django.po,sha256=vEg3wjL_7Ee-PK4FZTaGRCXFscthkoH9szJ7H01K8w8,2487 -django/contrib/flatpages/locale/es_CO/LC_MESSAGES/django.mo,sha256=jt8wzeYky5AEnoNuAv8W4nGgd45XsMbpEdRuLnptr3U,2140 -django/contrib/flatpages/locale/es_CO/LC_MESSAGES/django.po,sha256=xrbAayPoxT7yksXOGPb-0Nc-4g14UmWANaKTD4ItAFA,2366 -django/contrib/flatpages/locale/es_MX/LC_MESSAGES/django.mo,sha256=Y5IOKRzooJHIhJzD9q4PKOe39Z4Rrdz8dBKuvmGkqWU,2062 -django/contrib/flatpages/locale/es_MX/LC_MESSAGES/django.po,sha256=Y-EXhw-jISttA9FGMz7gY_kB-hQ3wEyKEaOc2gu2hKQ,2246 -django/contrib/flatpages/locale/es_VE/LC_MESSAGES/django.mo,sha256=EI6WskepXUmbwCPBNFKqLGNcWFVZIbvXayOHxOCLZKo,2187 -django/contrib/flatpages/locale/es_VE/LC_MESSAGES/django.po,sha256=ipG6a0A2d0Pyum8GcknA-aNExVLjSyuUqbgHM9VdRQo,2393 -django/contrib/flatpages/locale/et/LC_MESSAGES/django.mo,sha256=zriqETEWD-DDPiNzXgAzgEhjvPAaTo7KBosyvBebyc0,2233 -django/contrib/flatpages/locale/et/LC_MESSAGES/django.po,sha256=tMuITUlzy6LKJh3X3CxssFpTQogg8OaGHlKExzjwyOI,2525 -django/contrib/flatpages/locale/eu/LC_MESSAGES/django.mo,sha256=FoKazUkuPpDgsEEI6Gm-xnZYVHtxILiy6Yzvnu8y-L0,2244 -django/contrib/flatpages/locale/eu/LC_MESSAGES/django.po,sha256=POPFB5Jd8sE9Z_ivYSdnet14u-aaXneTUNDMuOrJy00,2478 -django/contrib/flatpages/locale/fa/LC_MESSAGES/django.mo,sha256=YKkn8-Xqv_GyYg3JMBJLrG6Up4pOrKSyws60MBAuftE,1864 -django/contrib/flatpages/locale/fa/LC_MESSAGES/django.po,sha256=GKRoBakfrhBpomXUVWRH-0u_MqPE4tTXjtb-WZpHJp0,2543 -django/contrib/flatpages/locale/fi/LC_MESSAGES/django.mo,sha256=K_-A8ccHnFcWnViuPAKR7IxhcG0YWNG7iCKYOxxXgMg,2127 -django/contrib/flatpages/locale/fi/LC_MESSAGES/django.po,sha256=-Ik04K4va6HcOoG8bWukAsHThf3IWREZGeRzewYfC7o,2366 -django/contrib/flatpages/locale/fr/LC_MESSAGES/django.mo,sha256=ZqD4O3_Ny8p5i6_RVHlANCnPiowMd19Qi_LOPfTHav4,2430 -django/contrib/flatpages/locale/fr/LC_MESSAGES/django.po,sha256=liAoOgT2CfpANL_rYzyzsET1MhsM19o7wA2GBnoDvMA,2745 -django/contrib/flatpages/locale/fy/LC_MESSAGES/django.mo,sha256=DRsFoZKo36F34XaiQg_0KUOr3NS_MG3UHptzOI4uEAU,476 -django/contrib/flatpages/locale/fy/LC_MESSAGES/django.po,sha256=9JIrRVsPL1m0NPN6uHiaAYxJXHp5IghZmQhVSkGo5g8,1523 -django/contrib/flatpages/locale/ga/LC_MESSAGES/django.mo,sha256=KKvDhZULHQ4JQ_31ltLkk88H2BKUbBXDQFSvdKFqjn8,2191 -django/contrib/flatpages/locale/ga/LC_MESSAGES/django.po,sha256=Yat7oU2XPQFQ8vhNq1nJFAlX2rqfxz4mjpU5TcnaYO8,2400 -django/contrib/flatpages/locale/gd/LC_MESSAGES/django.mo,sha256=KbaTL8kF9AxDBLDQWlxcP5hZ4zWnbkvY0l2xRKZ9Dg0,2469 -django/contrib/flatpages/locale/gd/LC_MESSAGES/django.po,sha256=DVY_1R0AhIaI1qXIeRej3XSHMtlimeKNUwzFjc4OmwA,2664 -django/contrib/flatpages/locale/gl/LC_MESSAGES/django.mo,sha256=VXyPsc6cXB97dJJFGfD8Oh2lYpn8TFYjIOeFUQeYpVU,2039 -django/contrib/flatpages/locale/gl/LC_MESSAGES/django.po,sha256=MzE7lepmRu60wy9gn6Wxx-LtKIO9JwScSdJ3SyLRU9s,2366 -django/contrib/flatpages/locale/he/LC_MESSAGES/django.mo,sha256=PbypHBhT3W_rp37u8wvaCJdtYB4IP-UeE02VUvSHPf0,2517 -django/contrib/flatpages/locale/he/LC_MESSAGES/django.po,sha256=f7phCRqJPFL7CsuSE1xg9xlaBoOpdd-0zoTYotff29M,2827 -django/contrib/flatpages/locale/hi/LC_MESSAGES/django.mo,sha256=w29ukoF48C7iJ6nE045YoWi7Zcrgu_oXoxT-r6gcQy8,2770 -django/contrib/flatpages/locale/hi/LC_MESSAGES/django.po,sha256=nXq5y1FqMGVhpXpQVdV3uU5JcUtBc2BIrf-n__C2q30,3055 -django/contrib/flatpages/locale/hr/LC_MESSAGES/django.mo,sha256=Mt4gpBuUXvcBl8K714ls4PimHQqee82jFxY1BEAYQOE,2188 -django/contrib/flatpages/locale/hr/LC_MESSAGES/django.po,sha256=ZbUMJY6a-os-xDmcDCJNrN4-YqRe9b_zJ4V5gt2wlGI,2421 -django/contrib/flatpages/locale/hsb/LC_MESSAGES/django.mo,sha256=Pk44puT-3LxzNdGYxMALWpFdw6j6W0G-dWwAfv8sopI,2361 -django/contrib/flatpages/locale/hsb/LC_MESSAGES/django.po,sha256=mhnBXgZSK19E4JU8p2qzqyZqozSzltK-3iY5glr9WG8,2538 -django/contrib/flatpages/locale/hu/LC_MESSAGES/django.mo,sha256=rZxICk460iWBubNq53g9j2JfKIw2W7OqyPG5ylGE92s,2363 -django/contrib/flatpages/locale/hu/LC_MESSAGES/django.po,sha256=DDP7OLBkNbWXr-wiulmQgG461qAubJ8VrfCCXbyPk2g,2700 -django/contrib/flatpages/locale/hy/LC_MESSAGES/django.mo,sha256=qocNtyLcQpjmGqQ130VGjJo-ruaOCtfmZehS9If_hWk,2536 -django/contrib/flatpages/locale/hy/LC_MESSAGES/django.po,sha256=WD8ohMnsaUGQItyqQmS46d76tKgzhQ17X_tGevqULO0,2619 -django/contrib/flatpages/locale/ia/LC_MESSAGES/django.mo,sha256=bochtCPlc268n0WLF0bJtUUT-XveZLPOZPQUetnOWfU,500 -django/contrib/flatpages/locale/ia/LC_MESSAGES/django.po,sha256=gOJ850e8sFcjR2G79zGn3_0-9-KSy591i7ketBRFjyw,1543 -django/contrib/flatpages/locale/id/LC_MESSAGES/django.mo,sha256=2kRHbcmfo09pIEuBb8q5AOkgC0sISJrAG37Rb5F0vts,2222 -django/contrib/flatpages/locale/id/LC_MESSAGES/django.po,sha256=1avfX88CkKMh2AjzN7dxRwj9pgohIBgKE0aXB_shZfc,2496 -django/contrib/flatpages/locale/io/LC_MESSAGES/django.mo,sha256=N8R9dXw_cnBSbZtwRbX6Tzw5XMr_ZdRkn0UmsQFDTi4,464 -django/contrib/flatpages/locale/io/LC_MESSAGES/django.po,sha256=_pJveonUOmMu3T6WS-tV1OFh-8egW0o7vU3i5YqgChA,1511 -django/contrib/flatpages/locale/is/LC_MESSAGES/django.mo,sha256=lFtP1N5CN-x2aMtBNpB6j5HsZYZIZYRm6Y-22gNe1Ek,2229 -django/contrib/flatpages/locale/is/LC_MESSAGES/django.po,sha256=9e132zDa-n6IZxB8jO5H8I0Wr7ubYxrFEMBYj2W49vI,2490 -django/contrib/flatpages/locale/it/LC_MESSAGES/django.mo,sha256=9yAXdShHd8EWeOTsT0PmIISVjK2lL6JIm_8lTxEsy8U,2223 -django/contrib/flatpages/locale/it/LC_MESSAGES/django.po,sha256=Ko-sUAu_OMYLthLSp6bffQTb6dK19tPvR-GD0rE3_Xw,2531 -django/contrib/flatpages/locale/ja/LC_MESSAGES/django.mo,sha256=Qax3t7FFRonMrszVEeiyQNMtYyWQB3dmOeeIklEmhAg,2469 -django/contrib/flatpages/locale/ja/LC_MESSAGES/django.po,sha256=N6PBvnXLEWELKTx8nHm5KwydDuFFKq5pn6AIHsBSM5M,2848 -django/contrib/flatpages/locale/ka/LC_MESSAGES/django.mo,sha256=R4OSbZ-lGxMdeJYsaXVXpo6-KSZWeKPuErKmEsUvEQE,3022 -django/contrib/flatpages/locale/ka/LC_MESSAGES/django.po,sha256=YCVnkX9uayvAQjYy_2jS7fYb36meoMJTKSc2lfoUbeM,3301 -django/contrib/flatpages/locale/kk/LC_MESSAGES/django.mo,sha256=lMPryzUQr21Uy-NAGQhuIZjHz-4LfBHE_zxEc2_UPaw,2438 -django/contrib/flatpages/locale/kk/LC_MESSAGES/django.po,sha256=3y9PbPw-Q8wM7tCq6u3KeYUT6pfTqcQwlNlSxpAXMxQ,2763 -django/contrib/flatpages/locale/km/LC_MESSAGES/django.mo,sha256=FYRfhNSqBtavYb10sHZNfB-xwLwdZEfVEzX116nBs-k,1942 -django/contrib/flatpages/locale/km/LC_MESSAGES/django.po,sha256=d2AfbR78U0rJqbFmJQvwiBl_QvYIeSwsPKEnfYM4JZA,2471 -django/contrib/flatpages/locale/kn/LC_MESSAGES/django.mo,sha256=n5HCZEPYN_YIVCXrgA1qhxvfhZtDbhfiannJy5EkHkI,1902 -django/contrib/flatpages/locale/kn/LC_MESSAGES/django.po,sha256=o9xnLjwDw7L49Mkyr8C6aQZ13Yq5MYx1JYXEtcIsiWU,2437 -django/contrib/flatpages/locale/ko/LC_MESSAGES/django.mo,sha256=M-IInVdIH24ORarb-KgY60tEorJZgrThDfJQOxW-S0c,2304 -django/contrib/flatpages/locale/ko/LC_MESSAGES/django.po,sha256=DjAtWVAN_fwOvZb-7CUSLtO8WN0Sr08z3jQLNqZ98wY,2746 -django/contrib/flatpages/locale/ky/LC_MESSAGES/django.mo,sha256=WmdWR6dRgmJ-nqSzFDUETypf373fj62igDVHC4ww7hQ,2667 -django/contrib/flatpages/locale/ky/LC_MESSAGES/django.po,sha256=0XDF6CjQTGkuaHADytG95lpFRVndlf_136q0lrQiU1U,2907 -django/contrib/flatpages/locale/lb/LC_MESSAGES/django.mo,sha256=Wkvlh5L_7CopayfNM5Z_xahmyVje1nYOBfQJyqucI_0,502 -django/contrib/flatpages/locale/lb/LC_MESSAGES/django.po,sha256=gGeTuniu3ZZ835t9HR-UtwCcd2s_Yr7ihIUm3jgQ7Y0,1545 -django/contrib/flatpages/locale/lt/LC_MESSAGES/django.mo,sha256=es6xV6X1twtqhIMkV-MByA7KZ5SoVsrx5Qh8BuzJS0Q,2506 -django/contrib/flatpages/locale/lt/LC_MESSAGES/django.po,sha256=T__44veTC_u4hpPvkLekDOWfntXYAMzCd5bffRtGxWA,2779 -django/contrib/flatpages/locale/lv/LC_MESSAGES/django.mo,sha256=RJbVUR8qS8iLL3dD5x1TOau4hcdscHUJBfxge3p3dsM,2359 -django/contrib/flatpages/locale/lv/LC_MESSAGES/django.po,sha256=M6GT6S-5-7__RtSbJ9oqkIlxfU3FIWMlGAQ03NEfcKo,2610 -django/contrib/flatpages/locale/mk/LC_MESSAGES/django.mo,sha256=55H8w6fB-B-RYlKKkGw3fg2m-djxUoEp_XpupK-ZL70,2699 -django/contrib/flatpages/locale/mk/LC_MESSAGES/django.po,sha256=OhHJ5OVWb0jvNaOB3wip9tSIZ1yaPPLkfQR--uUEyUI,2989 -django/contrib/flatpages/locale/ml/LC_MESSAGES/django.mo,sha256=VMMeOujp5fiLzrrbDeH24O2qKBPUkvI_YTSPH-LQjZc,3549 -django/contrib/flatpages/locale/ml/LC_MESSAGES/django.po,sha256=KR2CGnZ1sVuRzSGaPj5IlspoAkVuVEdf48XsAzt1se0,3851 -django/contrib/flatpages/locale/mn/LC_MESSAGES/django.mo,sha256=tqwROY6D-bJ4gbDQIowKXfuLIIdCWksGwecL2sj_wco,2776 -django/contrib/flatpages/locale/mn/LC_MESSAGES/django.po,sha256=jqiBpFLXlptDyU4F8ZWbP61S4APSPh0-nuTpNOejA6c,3003 -django/contrib/flatpages/locale/mr/LC_MESSAGES/django.mo,sha256=GvSfsp0Op7st6Ifd8zp8Cj4tTHoFMltQb4p64pebrqI,468 -django/contrib/flatpages/locale/mr/LC_MESSAGES/django.po,sha256=sayU0AfVaSFpBj0dT32Ri55LRafQFUHLi03K06kI7gc,1515 -django/contrib/flatpages/locale/my/LC_MESSAGES/django.mo,sha256=OcbiA7tJPkyt_WNrqyvoFjHt7WL7tMGHV06AZSxzkho,507 -django/contrib/flatpages/locale/my/LC_MESSAGES/django.po,sha256=EPWE566Vn7tax0PYUKq93vtydvmt-A4ooIau9Cwcdfc,1550 -django/contrib/flatpages/locale/nb/LC_MESSAGES/django.mo,sha256=L_XICESZ0nywkk1dn6RqzdUbFTcR92ju-zHCT1g3iEg,2208 -django/contrib/flatpages/locale/nb/LC_MESSAGES/django.po,sha256=ZtcBVD0UqIcsU8iLu5a2wnHLqu5WRLLboVFye2IuQew,2576 -django/contrib/flatpages/locale/ne/LC_MESSAGES/django.mo,sha256=gDZKhcku1NVlSs5ZPPupc7RI8HOF7ex0R4Rs8tMmrYE,1500 -django/contrib/flatpages/locale/ne/LC_MESSAGES/django.po,sha256=GWlzsDaMsJkOvw2TidJOEf1Fvxx9WxGdGAtfZIHkHwk,2178 -django/contrib/flatpages/locale/nl/LC_MESSAGES/django.mo,sha256=_yV_-SYYjpbo-rOHp8NlRzVHFPOSrfS-ndHOEJ9JP3Y,2231 -django/contrib/flatpages/locale/nl/LC_MESSAGES/django.po,sha256=xUuxx2b4ZTCA-1RIdoMqykLgjLLkmpO4ur1Vh93IITU,2669 -django/contrib/flatpages/locale/nn/LC_MESSAGES/django.mo,sha256=A50zQJ-0YYPjPCeeEa-gwqA2N5eON13YW8SJZvtJBZc,1693 -django/contrib/flatpages/locale/nn/LC_MESSAGES/django.po,sha256=H5hnBsH3sUdlPkMjxiqNnh8izcrTSAs6o-ywlNCTKtw,2119 -django/contrib/flatpages/locale/os/LC_MESSAGES/django.mo,sha256=cXGTA5M229UFsgc7hEiI9vI9SEBrNQ8d3A0XrtazO6w,2329 -django/contrib/flatpages/locale/os/LC_MESSAGES/django.po,sha256=m-qoTiKePeFviKGH1rJRjZRH-doJ2Fe4DcZ6W52rG8s,2546 -django/contrib/flatpages/locale/pa/LC_MESSAGES/django.mo,sha256=69_ZsZ4nWlQ0krS6Mx3oL6c4sP5W9mx-yAmOhZOnjPU,903 -django/contrib/flatpages/locale/pa/LC_MESSAGES/django.po,sha256=N6gkoRXP5MefEnjywzRiE3aeU6kHQ0TUG6IGdLV7uww,1780 -django/contrib/flatpages/locale/pl/LC_MESSAGES/django.mo,sha256=5M5-d-TOx2WHlD6BCw9BYIU6bYrSR0Wlem89ih5k3Pc,2448 -django/contrib/flatpages/locale/pl/LC_MESSAGES/django.po,sha256=oKeeo-vNfPaCYVUbufrJZGk0vsgzAE0kLQOTF5qHAK4,2793 -django/contrib/flatpages/locale/pt/LC_MESSAGES/django.mo,sha256=xD2pWdS3XMg7gAqBrUBmCEXFsOzEs0Npe8AJnlpueRY,2115 -django/contrib/flatpages/locale/pt/LC_MESSAGES/django.po,sha256=-K2jipPUWjXpfSPq3upnC_bvtaRAeOw0OLRFv03HWFY,2326 -django/contrib/flatpages/locale/pt_BR/LC_MESSAGES/django.mo,sha256=nVAvOdDJM-568sc_GG9o-PMj_7_HLfttnZNGdzkwqRA,2301 -django/contrib/flatpages/locale/pt_BR/LC_MESSAGES/django.po,sha256=HbWFiV6IjjLqpUA_GwpYIgB-BraT3xz7u4S6X8GCt2w,2904 -django/contrib/flatpages/locale/ro/LC_MESSAGES/django.mo,sha256=oS3MXuRh2USyLOMrMH0WfMSFpgBcZWfrbCrovYgbONo,2337 -django/contrib/flatpages/locale/ro/LC_MESSAGES/django.po,sha256=UNKGNSZKS92pJDjxKDLqVUW87DKCWP4_Q51xS16IZl0,2632 -django/contrib/flatpages/locale/ru/LC_MESSAGES/django.mo,sha256=AACtHEQuytEohUZVgk-o33O7rJTFAluq22VJOw5JqII,2934 -django/contrib/flatpages/locale/ru/LC_MESSAGES/django.po,sha256=H6JOPAXNxji1oni9kfga_hNZevodStpEl0O6cDnZ148,3312 -django/contrib/flatpages/locale/sk/LC_MESSAGES/django.mo,sha256=f_qbUdkwYKzg3DQT5x-ab883NUWF80gNMc7yekFctPM,2145 -django/contrib/flatpages/locale/sk/LC_MESSAGES/django.po,sha256=OD_E2Z-nElhfFcsnuK8Y3r341OXjLON2CoWjNJfHIt8,2482 -django/contrib/flatpages/locale/sl/LC_MESSAGES/django.mo,sha256=MBjwhw6wppQUl0Lb_rShXZj_Sq-JLSkdYU5Xhi0OtYY,2173 -django/contrib/flatpages/locale/sl/LC_MESSAGES/django.po,sha256=6zbOXzkLTsdWRKAhuLzBVBc53n6MQKpvOeHw4cRrAlc,2400 -django/contrib/flatpages/locale/sq/LC_MESSAGES/django.mo,sha256=Jv2sebdAM6CfiLzgi1b7rHo5hp-6_BFeeMQ4_BwYpjk,2328 -django/contrib/flatpages/locale/sq/LC_MESSAGES/django.po,sha256=Xm87FbWaQ1JGhhGx8uvtqwUltkTkwk5Oysagu8qIPUA,2548 -django/contrib/flatpages/locale/sr/LC_MESSAGES/django.mo,sha256=p--v7bpD8Pp6zeP3cdh8fnfC8g2nuhbzGJTdN9eoE58,2770 -django/contrib/flatpages/locale/sr/LC_MESSAGES/django.po,sha256=jxcyMN2Qh_osmo4Jf_6QUC2vW3KVKt1BupDWMMZyAXA,3071 -django/contrib/flatpages/locale/sr_Latn/LC_MESSAGES/django.mo,sha256=3N4mGacnZj0tI5tFniLqC2LQCPSopDEM1SGaw5N1bsw,2328 -django/contrib/flatpages/locale/sr_Latn/LC_MESSAGES/django.po,sha256=od7r3dPbZ7tRAJUW80Oe-nm_tHcmIiG6b2OZMsFg53s,2589 -django/contrib/flatpages/locale/sv/LC_MESSAGES/django.mo,sha256=ATOsOiNTLlCDWZO630xUUdnXfs7YW4nuqy9wUVOfzmU,2288 -django/contrib/flatpages/locale/sv/LC_MESSAGES/django.po,sha256=4bhfJNUKc1K1Z8IWSB9_YQVk_Gy3q4ZhkhfDS9FKaaw,2562 -django/contrib/flatpages/locale/sw/LC_MESSAGES/django.mo,sha256=Lhf99AGmazKJHzWk2tkGrMInoYOq0mtdCd8SGblnVCQ,1537 -django/contrib/flatpages/locale/sw/LC_MESSAGES/django.po,sha256=cos3eahuznpTfTdl1Vj_07fCOSYE8C9CRYHCBLYZrVw,1991 -django/contrib/flatpages/locale/ta/LC_MESSAGES/django.mo,sha256=nNuoOX-FPAmTvM79o7colM4C7TtBroTFxYtETPPatcQ,1945 -django/contrib/flatpages/locale/ta/LC_MESSAGES/django.po,sha256=XE4SndPZPLf1yXGl5xQSb0uor4OE8CKJ0EIXBRDA3qU,2474 -django/contrib/flatpages/locale/te/LC_MESSAGES/django.mo,sha256=bMxhDMTQc_WseqoeqJMCSNy71o4U5tJZYgD2G0p-jD0,1238 -django/contrib/flatpages/locale/te/LC_MESSAGES/django.po,sha256=tmUWOrAZ98B9T6Cai8AgLCfb_rLeoPVGjDTgdsMOY1Y,2000 -django/contrib/flatpages/locale/tg/LC_MESSAGES/django.mo,sha256=gpzjf_LxwWX6yUrcUfNepK1LGez6yvnuYhmfULDPZ6E,2064 -django/contrib/flatpages/locale/tg/LC_MESSAGES/django.po,sha256=lZFLes8BWdJ-VbczHFDWCSKhKg0qmmk10hTjKcBNr5o,2572 -django/contrib/flatpages/locale/th/LC_MESSAGES/django.mo,sha256=mct17_099pUn0aGuHu8AlZG6UqdKDpYLojqGYDLRXRg,2698 -django/contrib/flatpages/locale/th/LC_MESSAGES/django.po,sha256=PEcRx5AtXrDZvlNGWFH-0arroD8nZbutdJBe8_I02ag,2941 -django/contrib/flatpages/locale/tk/LC_MESSAGES/django.mo,sha256=5iVSzjcnJLfdAnrI1yOKua_OfHmgUu6ydixKkvayrzQ,753 -django/contrib/flatpages/locale/tk/LC_MESSAGES/django.po,sha256=0VK0Ju55wTvmYXqS9hPKLJXyTtTz9Z8mv_qw66ck5gg,1824 -django/contrib/flatpages/locale/tr/LC_MESSAGES/django.mo,sha256=pPNGylfG8S0iBI4ONZbky3V2Q5AG-M1njp27tFrhhZc,2290 -django/contrib/flatpages/locale/tr/LC_MESSAGES/django.po,sha256=0ULZu3Plp8H9zdirHy3MSduJ_QRdpoaaivf3bL9MCwA,2588 -django/contrib/flatpages/locale/tt/LC_MESSAGES/django.mo,sha256=9RfCKyn0ZNYsqLvFNmY18xVMl7wnmDq5uXscrsFfupk,2007 -django/contrib/flatpages/locale/tt/LC_MESSAGES/django.po,sha256=SUwalSl8JWI9tuDswmnGT8SjuWR3DQGND9roNxJtH1o,2402 -django/contrib/flatpages/locale/udm/LC_MESSAGES/django.mo,sha256=7KhzWgskBlHmi-v61Ax9fjc3NBwHB17WppdNMuz-rEc,490 -django/contrib/flatpages/locale/udm/LC_MESSAGES/django.po,sha256=zidjP05Hx1OpXGqWEmF2cg9SFxASM4loOV85uW7zV5U,1533 -django/contrib/flatpages/locale/uk/LC_MESSAGES/django.mo,sha256=4LPDGENnexeg6awO1IHjau7CTZ0Y1EIkeXMspY9gj1Q,2962 -django/contrib/flatpages/locale/uk/LC_MESSAGES/django.po,sha256=15bRsN4P6kkY08RXROnl7aT63tWsRO1xNwdH-6Qlzcw,3289 -django/contrib/flatpages/locale/ur/LC_MESSAGES/django.mo,sha256=Li4gVdFoNOskGKAKiNuse6B2sz6ePGqGvZu7aGXMNy0,1976 -django/contrib/flatpages/locale/ur/LC_MESSAGES/django.po,sha256=hDasKiKrYov9YaNIHIpoooJo0Bzba___IuN2Hl6ofSc,2371 -django/contrib/flatpages/locale/vi/LC_MESSAGES/django.mo,sha256=FsFUi96oGTWGlZwM4qSMpuL1M2TAxsW51qO70TrybSM,1035 -django/contrib/flatpages/locale/vi/LC_MESSAGES/django.po,sha256=ITX3MWd7nlWPxTCoNPl22_OMLTt0rfvajGvTVwo0QC8,1900 -django/contrib/flatpages/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=UTCQr9t2wSj6dYLK1ftpF8-pZ25dAMYLRE2wEUQva-o,2124 -django/contrib/flatpages/locale/zh_Hans/LC_MESSAGES/django.po,sha256=loi9RvOnrgFs4qp8FW4RGis7wgDzBBXuwha5pFfLRxY,2533 -django/contrib/flatpages/locale/zh_Hant/LC_MESSAGES/django.mo,sha256=Y5nDMQ3prLJ6OHuQEeEqjDLBC9_L-4XHDGJSLNoCgqg,2200 -django/contrib/flatpages/locale/zh_Hant/LC_MESSAGES/django.po,sha256=6dKCSJpw_8gnunfTY86_apXdH5Pqe0kKYSVaqRtOIh0,2475 -django/contrib/flatpages/middleware.py,sha256=aXeOeOkUmpdkGOyqZnkR-l1VrDQ161RWIWa3WPBhGac,784 -django/contrib/flatpages/migrations/0001_initial.py,sha256=7lhJRTsJCQrf_jyKbg9VXcyjPIWJSqLir-WgKQjJcl8,1719 -django/contrib/flatpages/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/flatpages/migrations/__pycache__/0001_initial.cpython-38.pyc,, -django/contrib/flatpages/migrations/__pycache__/__init__.cpython-38.pyc,, -django/contrib/flatpages/models.py,sha256=_CeWgWjhuD_y8FgMKpv9kvgolNz1on3DH0NkvJnwlOM,1742 -django/contrib/flatpages/sitemaps.py,sha256=0WGMLfr61H5aVX1inE4X_BJhx2b_lw4LKMO4OQGiDX4,554 -django/contrib/flatpages/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/flatpages/templatetags/__pycache__/__init__.cpython-38.pyc,, -django/contrib/flatpages/templatetags/__pycache__/flatpages.cpython-38.pyc,, -django/contrib/flatpages/templatetags/flatpages.py,sha256=q0wsGQqXHhSCH4_UR-wHkj_pJsxBOo_liODBT_BZcTc,3561 -django/contrib/flatpages/urls.py,sha256=v_bP8Axlf0XLgb2kJVdEPDqW8WY7RkwSwm7_BH_0eWE,179 -django/contrib/flatpages/views.py,sha256=ywkDuZHZwu_kZx6frjAFt7MAB3mo6-mLicyByw13EfY,2723 -django/contrib/gis/__init__.py,sha256=GTSQJbKqQkNiljWZylYy_ofRICJeqIkfqmnC9ZdxZ2I,57 -django/contrib/gis/__pycache__/__init__.cpython-38.pyc,, -django/contrib/gis/__pycache__/apps.cpython-38.pyc,, -django/contrib/gis/__pycache__/feeds.cpython-38.pyc,, -django/contrib/gis/__pycache__/geometry.cpython-38.pyc,, -django/contrib/gis/__pycache__/measure.cpython-38.pyc,, -django/contrib/gis/__pycache__/ptr.cpython-38.pyc,, -django/contrib/gis/__pycache__/shortcuts.cpython-38.pyc,, -django/contrib/gis/__pycache__/views.cpython-38.pyc,, -django/contrib/gis/admin/__init__.py,sha256=Hni2JCw5ihVuor2HupxDffokiBOG11tu74EcKhiO89w,486 -django/contrib/gis/admin/__pycache__/__init__.cpython-38.pyc,, -django/contrib/gis/admin/__pycache__/options.cpython-38.pyc,, -django/contrib/gis/admin/__pycache__/widgets.cpython-38.pyc,, -django/contrib/gis/admin/options.py,sha256=z4UrI7Pzb73FsT2WgIMX9zsMG_Hg6g89vkkvgKPHOz8,5145 -django/contrib/gis/admin/widgets.py,sha256=_X3Li-k9q0m7soBvu0Vu3jwwmODZWTx9A3IswYKeXLM,4720 -django/contrib/gis/apps.py,sha256=YkIbEk4rWlbN0zZru2uewGsLzqWsMDl7yqA4g_5pT10,341 -django/contrib/gis/db/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/gis/db/__pycache__/__init__.cpython-38.pyc,, -django/contrib/gis/db/backends/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/gis/db/backends/__pycache__/__init__.cpython-38.pyc,, -django/contrib/gis/db/backends/__pycache__/utils.cpython-38.pyc,, -django/contrib/gis/db/backends/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/gis/db/backends/base/__pycache__/__init__.cpython-38.pyc,, -django/contrib/gis/db/backends/base/__pycache__/adapter.cpython-38.pyc,, -django/contrib/gis/db/backends/base/__pycache__/features.cpython-38.pyc,, -django/contrib/gis/db/backends/base/__pycache__/models.cpython-38.pyc,, -django/contrib/gis/db/backends/base/__pycache__/operations.cpython-38.pyc,, -django/contrib/gis/db/backends/base/adapter.py,sha256=zBcccriBRK9JowhREgLKirkWllHzir0Hw3BkC3koAZs,481 -django/contrib/gis/db/backends/base/features.py,sha256=LD5DTxV8t-NhHJogQrkyRfl_T3VgtypGLUvLoY0Ioy4,3370 -django/contrib/gis/db/backends/base/models.py,sha256=vkDweNsExmKWkHNSae9G6P-fT-SMdIgHZ85i31ihXg0,3962 -django/contrib/gis/db/backends/base/operations.py,sha256=_6tp_lz5Iv2Zvl90h4Z5YhwElquLW-oL2qJvZ42XAdE,6355 -django/contrib/gis/db/backends/mysql/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/gis/db/backends/mysql/__pycache__/__init__.cpython-38.pyc,, -django/contrib/gis/db/backends/mysql/__pycache__/base.cpython-38.pyc,, -django/contrib/gis/db/backends/mysql/__pycache__/features.cpython-38.pyc,, -django/contrib/gis/db/backends/mysql/__pycache__/introspection.cpython-38.pyc,, -django/contrib/gis/db/backends/mysql/__pycache__/operations.cpython-38.pyc,, -django/contrib/gis/db/backends/mysql/__pycache__/schema.cpython-38.pyc,, -django/contrib/gis/db/backends/mysql/base.py,sha256=rz8tnvXJlY4V6liWxYshuxQE-uTNuKSBogCz_GtXoaY,507 -django/contrib/gis/db/backends/mysql/features.py,sha256=CDZbLeMgcGRdqwRtyup7V9cL_j_YpyCzOdIBy0Cn1Z0,919 -django/contrib/gis/db/backends/mysql/introspection.py,sha256=QuoJOaHeTxqr0eju8HWA5AmzGYpC15Kt9U5uCNxJWHA,1834 -django/contrib/gis/db/backends/mysql/operations.py,sha256=RKFLyjBpuNQ2lzzrcSBG0SxaYRhCLuSBLwV0VFuoO-k,3928 -django/contrib/gis/db/backends/mysql/schema.py,sha256=B86TeF5hvlmLzgY7TFZGTKaIzVbK87ByPmjhNz83JTA,2976 -django/contrib/gis/db/backends/oracle/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/gis/db/backends/oracle/__pycache__/__init__.cpython-38.pyc,, -django/contrib/gis/db/backends/oracle/__pycache__/adapter.cpython-38.pyc,, -django/contrib/gis/db/backends/oracle/__pycache__/base.cpython-38.pyc,, -django/contrib/gis/db/backends/oracle/__pycache__/features.cpython-38.pyc,, -django/contrib/gis/db/backends/oracle/__pycache__/introspection.cpython-38.pyc,, -django/contrib/gis/db/backends/oracle/__pycache__/models.cpython-38.pyc,, -django/contrib/gis/db/backends/oracle/__pycache__/operations.cpython-38.pyc,, -django/contrib/gis/db/backends/oracle/__pycache__/schema.cpython-38.pyc,, -django/contrib/gis/db/backends/oracle/adapter.py,sha256=GYINCIekUWRsloAnOIdaXJJKEtbK2n_7ti9qF93h3kc,1508 -django/contrib/gis/db/backends/oracle/base.py,sha256=NQYlEvE4ioobvMd7u2WC7vMtDiRq_KtilGprD6qfJCo,516 -django/contrib/gis/db/backends/oracle/features.py,sha256=deYDVaXK22Hx_LsrN8eTnh-u0vNMG3nrLV-fLtzavKU,463 -django/contrib/gis/db/backends/oracle/introspection.py,sha256=EfGUexqpa3yDX3IQ4PVx9AjVX8qY9djZtFLwdiqyNL8,1889 -django/contrib/gis/db/backends/oracle/models.py,sha256=pT32f_A1FRYwO5hWMigX7PU_ojpRmIhdUlhOqdz2R9k,2084 -django/contrib/gis/db/backends/oracle/operations.py,sha256=8zhgMQamyeBXLEGW8a1Sj2x5iqgX1KH4rCyxAgGJD_w,8468 -django/contrib/gis/db/backends/oracle/schema.py,sha256=EJOTAG4rPrnOMAWmwecnVwFSwmJOjZS5R_p48NybDi0,3909 -django/contrib/gis/db/backends/postgis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/gis/db/backends/postgis/__pycache__/__init__.cpython-38.pyc,, -django/contrib/gis/db/backends/postgis/__pycache__/adapter.cpython-38.pyc,, -django/contrib/gis/db/backends/postgis/__pycache__/base.cpython-38.pyc,, -django/contrib/gis/db/backends/postgis/__pycache__/const.cpython-38.pyc,, -django/contrib/gis/db/backends/postgis/__pycache__/features.cpython-38.pyc,, -django/contrib/gis/db/backends/postgis/__pycache__/introspection.cpython-38.pyc,, -django/contrib/gis/db/backends/postgis/__pycache__/models.cpython-38.pyc,, -django/contrib/gis/db/backends/postgis/__pycache__/operations.cpython-38.pyc,, -django/contrib/gis/db/backends/postgis/__pycache__/pgraster.cpython-38.pyc,, -django/contrib/gis/db/backends/postgis/__pycache__/schema.cpython-38.pyc,, -django/contrib/gis/db/backends/postgis/adapter.py,sha256=jDa5X2uIj6qRpgJ8DUfEkWBZETMifyxqDtnkA73kUu8,2117 -django/contrib/gis/db/backends/postgis/base.py,sha256=sFCNoMHRzd-a_MRc9hv-tyVHEODmGveyIopbP6CTPCg,937 -django/contrib/gis/db/backends/postgis/const.py,sha256=CMe_bpzcOcYakC3mu64EKfF2HgRxBT4yhoRX6zg3O_k,1967 -django/contrib/gis/db/backends/postgis/features.py,sha256=iBZqX6o1YBrmw5pSUYeft-ga6FGa05J-9ADFNsRtLgk,422 -django/contrib/gis/db/backends/postgis/introspection.py,sha256=htz45PonMVDsdiSLsQJg4xOlysaXdaXdyjiDNJxm6WI,2977 -django/contrib/gis/db/backends/postgis/models.py,sha256=tKiRZzO6p2YJnPbPXReMlFcAiFij-C_H_6w8FHhLqxk,2000 -django/contrib/gis/db/backends/postgis/operations.py,sha256=GgLB6_LMaPS8rQBgQ9dXye1Adlv4TJiv-_nlXdOBlzs,15801 -django/contrib/gis/db/backends/postgis/pgraster.py,sha256=nVS1pSMQFKffKcJNNvHMWDX8HxcYRIWG4RvK9fiwbH8,4558 -django/contrib/gis/db/backends/postgis/schema.py,sha256=g6jCw42pusahUc84Dw52QjnQpiSPTPYJlhjxGnfREHs,2864 -django/contrib/gis/db/backends/spatialite/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/gis/db/backends/spatialite/__pycache__/__init__.cpython-38.pyc,, -django/contrib/gis/db/backends/spatialite/__pycache__/adapter.cpython-38.pyc,, -django/contrib/gis/db/backends/spatialite/__pycache__/base.cpython-38.pyc,, -django/contrib/gis/db/backends/spatialite/__pycache__/client.cpython-38.pyc,, -django/contrib/gis/db/backends/spatialite/__pycache__/features.cpython-38.pyc,, -django/contrib/gis/db/backends/spatialite/__pycache__/introspection.cpython-38.pyc,, -django/contrib/gis/db/backends/spatialite/__pycache__/models.cpython-38.pyc,, -django/contrib/gis/db/backends/spatialite/__pycache__/operations.cpython-38.pyc,, -django/contrib/gis/db/backends/spatialite/__pycache__/schema.cpython-38.pyc,, -django/contrib/gis/db/backends/spatialite/adapter.py,sha256=y74p_UEgLtoYjNZEi72mwcJOh_b-MzJ7sZd68WJXBiY,317 -django/contrib/gis/db/backends/spatialite/base.py,sha256=pg7m0arvmnwOsDJo-Mj9NudCclRMThEhQzDBjQWQLNI,3011 -django/contrib/gis/db/backends/spatialite/client.py,sha256=NsqD2vAnfjqn_FbQnCQeAqbGyZf9oa6gl7EPsMTPf8c,138 -django/contrib/gis/db/backends/spatialite/features.py,sha256=HeeWFDRGxkgfTQ_ryzEKzRxJPnf5BJVs0ifYs8SEIXU,449 -django/contrib/gis/db/backends/spatialite/introspection.py,sha256=NQ2T3GsDYBrbTiVzjWPp_RElKMP-qNxUiGEnOFZTSrg,3076 -django/contrib/gis/db/backends/spatialite/models.py,sha256=iiodcKYWAMIz_xrJagr-1nbiiO2YJY_Q0vt_0uyaD54,1928 -django/contrib/gis/db/backends/spatialite/operations.py,sha256=voqw8YBhSdyT_-EZAPyGJicBzUI4Ayv3WtMq5cHCq1I,7856 -django/contrib/gis/db/backends/spatialite/schema.py,sha256=yGarSHxvb0f7pZ2CP5DnkhB4P2Pt14j6qfZuULZE4Sk,6800 -django/contrib/gis/db/backends/utils.py,sha256=y4q0N0oDplot6dZQIFnjGPqVsTiGyLTmEMt5-xj-2b4,784 -django/contrib/gis/db/models/__init__.py,sha256=BR3kQAefIv4O1NksiVCUShwlSO4OCNoUGan6dCRGIyU,817 -django/contrib/gis/db/models/__pycache__/__init__.cpython-38.pyc,, -django/contrib/gis/db/models/__pycache__/aggregates.cpython-38.pyc,, -django/contrib/gis/db/models/__pycache__/fields.cpython-38.pyc,, -django/contrib/gis/db/models/__pycache__/functions.cpython-38.pyc,, -django/contrib/gis/db/models/__pycache__/lookups.cpython-38.pyc,, -django/contrib/gis/db/models/__pycache__/proxy.cpython-38.pyc,, -django/contrib/gis/db/models/aggregates.py,sha256=dGTRWMPhKO94XNf8U8VDoiwuYWOtaxQEYXhumCCdHqM,2832 -django/contrib/gis/db/models/fields.py,sha256=3MpJlbnYHtLfxBnSbZ9UdTfQsRxed3xdVh44yaTaGDU,13748 -django/contrib/gis/db/models/functions.py,sha256=FkIYsjdRJbOowdH-xxf7JfyP4kBw4KpP3cFqM6_XcNU,17408 -django/contrib/gis/db/models/lookups.py,sha256=3zvAOFS0qy3vr5ZGWk5Vq8so5yPPgrLwTJoJHCDzXfU,11491 -django/contrib/gis/db/models/proxy.py,sha256=BSZoCQ1IG8n_M6dSOdF3wAzIHfMElSVnIGu8ZWj1-_0,3122 -django/contrib/gis/db/models/sql/__init__.py,sha256=oYJYL-5DAO-DIcpIQ7Jmeq_cuKapRB83V1KLVIs_5iU,139 -django/contrib/gis/db/models/sql/__pycache__/__init__.cpython-38.pyc,, -django/contrib/gis/db/models/sql/__pycache__/conversion.cpython-38.pyc,, -django/contrib/gis/db/models/sql/conversion.py,sha256=gG1mTUWb33YK_Uf1ZJRg5MRhkCTLtgajD3xxi7thODA,2400 -django/contrib/gis/feeds.py,sha256=43TmSa40LR3LguE4VDeBThJZgO_rbtfrT5Y6DQ7RBiQ,5732 -django/contrib/gis/forms/__init__.py,sha256=fREam1OSkDWr9ugUMNZMFn8Y9TufpRCn3Glj14DTMbQ,298 -django/contrib/gis/forms/__pycache__/__init__.cpython-38.pyc,, -django/contrib/gis/forms/__pycache__/fields.cpython-38.pyc,, -django/contrib/gis/forms/__pycache__/widgets.cpython-38.pyc,, -django/contrib/gis/forms/fields.py,sha256=JbFJe78zJIH51_Kku9F8pnpYyJlOcgfw4Las112eVIs,4487 -django/contrib/gis/forms/widgets.py,sha256=J8EMJkmHrGkZVqf6ktIwZbO8lYmg63CJQbUYILVsVNc,3739 -django/contrib/gis/gdal/LICENSE,sha256=VwoEWoNyts1qAOMOuv6OPo38Cn_j1O8sxfFtQZ62Ous,1526 -django/contrib/gis/gdal/__init__.py,sha256=UCuq9p1azua2uui6zycmyhwiRYtvyhX0UzZ0pu5z364,1793 -django/contrib/gis/gdal/__pycache__/__init__.cpython-38.pyc,, -django/contrib/gis/gdal/__pycache__/base.cpython-38.pyc,, -django/contrib/gis/gdal/__pycache__/datasource.cpython-38.pyc,, -django/contrib/gis/gdal/__pycache__/driver.cpython-38.pyc,, -django/contrib/gis/gdal/__pycache__/envelope.cpython-38.pyc,, -django/contrib/gis/gdal/__pycache__/error.cpython-38.pyc,, -django/contrib/gis/gdal/__pycache__/feature.cpython-38.pyc,, -django/contrib/gis/gdal/__pycache__/field.cpython-38.pyc,, -django/contrib/gis/gdal/__pycache__/geometries.cpython-38.pyc,, -django/contrib/gis/gdal/__pycache__/geomtype.cpython-38.pyc,, -django/contrib/gis/gdal/__pycache__/layer.cpython-38.pyc,, -django/contrib/gis/gdal/__pycache__/libgdal.cpython-38.pyc,, -django/contrib/gis/gdal/__pycache__/srs.cpython-38.pyc,, -django/contrib/gis/gdal/base.py,sha256=yymyL0vZRMBfiFUzrehvaeaunIxMH5ucGjPRfKj-rAo,181 -django/contrib/gis/gdal/datasource.py,sha256=xY5noWAHNAXWvb_QfzkqQRCUpTbxrJ0bhlBTtgO_gnc,4490 -django/contrib/gis/gdal/driver.py,sha256=E7Jj4z3z--WC2Idm5GvYtDGGErdtm1tAqzN8Lil-yRg,3264 -django/contrib/gis/gdal/envelope.py,sha256=lL13BYlaEyxDNkCJCPnFZk13eyRb9pOkOOrAdP16Qtw,6970 -django/contrib/gis/gdal/error.py,sha256=yv9yvtBPjLWRqQHlzglF-gLDW-nR7zF_F5xsej_oBx4,1576 -django/contrib/gis/gdal/feature.py,sha256=KYGyQYNWXrEJm2I0eIG1Kcd7WTOZWiC-asIjF5DmO9I,3926 -django/contrib/gis/gdal/field.py,sha256=AerdJ9sLeru9Z39PEtTAXp14vabMcwX_LIZjg0EyDAE,6626 -django/contrib/gis/gdal/geometries.py,sha256=2AOuNXJblzVZuwpj9D8yr6vJGCPclo5jNJ8nfa-7B2Y,23871 -django/contrib/gis/gdal/geomtype.py,sha256=hCHfxQsecBakIZUDZwEkECdH7dg3CdF4Y_kAFYkW9Og,3071 -django/contrib/gis/gdal/layer.py,sha256=2PPP3lpmljIA-KcuN1FI5dNQPkELR3eyPmarP2KYfYk,8527 -django/contrib/gis/gdal/libgdal.py,sha256=X5volIPZym0PXjMlDyHhzpBneSgjnpKLcjKkxdlGIt0,3384 -django/contrib/gis/gdal/prototypes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/gis/gdal/prototypes/__pycache__/__init__.cpython-38.pyc,, -django/contrib/gis/gdal/prototypes/__pycache__/ds.cpython-38.pyc,, -django/contrib/gis/gdal/prototypes/__pycache__/errcheck.cpython-38.pyc,, -django/contrib/gis/gdal/prototypes/__pycache__/generation.cpython-38.pyc,, -django/contrib/gis/gdal/prototypes/__pycache__/geom.cpython-38.pyc,, -django/contrib/gis/gdal/prototypes/__pycache__/raster.cpython-38.pyc,, -django/contrib/gis/gdal/prototypes/__pycache__/srs.cpython-38.pyc,, -django/contrib/gis/gdal/prototypes/ds.py,sha256=GnxQ4229MOZ5NQjJTtmCcstxGPH6HhUd9AsCWsih6_s,4586 -django/contrib/gis/gdal/prototypes/errcheck.py,sha256=ckjyqcZtrVZctrw-HvQb1isDavhUAblLqKuno9U4upw,4137 -django/contrib/gis/gdal/prototypes/generation.py,sha256=9UdPSqWR28AsUG7HDdHMRG2nI1-iKr1ru1V998uifP8,4867 -django/contrib/gis/gdal/prototypes/geom.py,sha256=ELRO7bR8RxO3HIuxtitr06yhsG4DxYTlRsTa6NenTqI,4946 -django/contrib/gis/gdal/prototypes/raster.py,sha256=zPIc-Vahtau1XQTADqxQNtzcAv6LunbhVHkWkMOEWKo,5690 -django/contrib/gis/gdal/prototypes/srs.py,sha256=R1ZUVFbrSULaaV8igO2g0tTKraibKk6aL2rC4JeSs74,3687 -django/contrib/gis/gdal/raster/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/gis/gdal/raster/__pycache__/__init__.cpython-38.pyc,, -django/contrib/gis/gdal/raster/__pycache__/band.cpython-38.pyc,, -django/contrib/gis/gdal/raster/__pycache__/base.cpython-38.pyc,, -django/contrib/gis/gdal/raster/__pycache__/const.cpython-38.pyc,, -django/contrib/gis/gdal/raster/__pycache__/source.cpython-38.pyc,, -django/contrib/gis/gdal/raster/band.py,sha256=dRikGQ6-cKCgOj3bjRSnIKd196FGRGM2Ee9BtPQGVk0,8247 -django/contrib/gis/gdal/raster/base.py,sha256=WLdZNgRlGAT6kyIXz5bBhPbpNY53ImxQkSeVLyv4Ohc,2861 -django/contrib/gis/gdal/raster/const.py,sha256=uPk8859YSREMtiQtXGkVOhISmgsF6gXP7JUfufQDXII,2891 -django/contrib/gis/gdal/raster/source.py,sha256=cYnqu3aSXncGAB7HaAPFlZRQk-9scTVOJYshpnmZmhI,16922 -django/contrib/gis/gdal/srs.py,sha256=fHVqlKU0DcCsA7e4yqRIUxAoz5BiZDpragE1yVsc6LA,12609 -django/contrib/gis/geoip2/__init__.py,sha256=uIUWQyMsbSrYL-oVqFsmhqQkYGrh7pHLIVvIM3W_EG4,822 -django/contrib/gis/geoip2/__pycache__/__init__.cpython-38.pyc,, -django/contrib/gis/geoip2/__pycache__/base.cpython-38.pyc,, -django/contrib/gis/geoip2/__pycache__/resources.cpython-38.pyc,, -django/contrib/gis/geoip2/base.py,sha256=yx8gZUBCkrVurux06tuJhnXsamzj7hg0iiGFYmfu0yE,8976 -django/contrib/gis/geoip2/resources.py,sha256=u39vbZzNV5bQKS0nKb0VbHsSRm3m69r29bZwpNbNs3Y,819 -django/contrib/gis/geometry.py,sha256=hA1SQGzGfTyV7A5kaBuxCzwkqZNAYz0kqZMaz3E1zIQ,662 -django/contrib/gis/geos/LICENSE,sha256=CL8kt1USOK4yUpUkVCWxyuua0PQvni0wPHs1NQJjIEU,1530 -django/contrib/gis/geos/__init__.py,sha256=DXFaljVp6gf-E0XAbfO1JnYjPYSDfGZQ2VLtGYBcUZQ,648 -django/contrib/gis/geos/__pycache__/__init__.cpython-38.pyc,, -django/contrib/gis/geos/__pycache__/base.cpython-38.pyc,, -django/contrib/gis/geos/__pycache__/collections.cpython-38.pyc,, -django/contrib/gis/geos/__pycache__/coordseq.cpython-38.pyc,, -django/contrib/gis/geos/__pycache__/error.cpython-38.pyc,, -django/contrib/gis/geos/__pycache__/factory.cpython-38.pyc,, -django/contrib/gis/geos/__pycache__/geometry.cpython-38.pyc,, -django/contrib/gis/geos/__pycache__/io.cpython-38.pyc,, -django/contrib/gis/geos/__pycache__/libgeos.cpython-38.pyc,, -django/contrib/gis/geos/__pycache__/linestring.cpython-38.pyc,, -django/contrib/gis/geos/__pycache__/mutable_list.cpython-38.pyc,, -django/contrib/gis/geos/__pycache__/point.cpython-38.pyc,, -django/contrib/gis/geos/__pycache__/polygon.cpython-38.pyc,, -django/contrib/gis/geos/__pycache__/prepared.cpython-38.pyc,, -django/contrib/gis/geos/base.py,sha256=NdlFg5l9akvDp87aqzh9dk0A3ZH2TI3cOq10mmmuHBk,181 -django/contrib/gis/geos/collections.py,sha256=yUMj02Akhu1BN9zpaPMSaoyfpRJWi282kkY_R6MF-kY,3895 -django/contrib/gis/geos/coordseq.py,sha256=kJEdoM6L_TW5SZYAgTivMnZbFRRm1ojf_2ycxjF7Ks0,7232 -django/contrib/gis/geos/error.py,sha256=r3SNTnwDBI6HtuyL3mQ_iEEeKlOqqqdkHnhNoUkMohw,104 -django/contrib/gis/geos/factory.py,sha256=f6u2m1AtmYYHk_KrIC9fxt7VGsJokJVoSWEx-DkPWx0,961 -django/contrib/gis/geos/geometry.py,sha256=Rw1DhUSSURUyfwytena2s-NFMJ0AHsN72exOp6o7lhE,25546 -django/contrib/gis/geos/io.py,sha256=Om5DBSlttixUc3WQAGZDhzPdb5JTe82728oImIj_l3k,787 -django/contrib/gis/geos/libgeos.py,sha256=dmktmuklfnViT3m3qQEwssEzOkCqyNDyg5ajuUw9HCM,4999 -django/contrib/gis/geos/linestring.py,sha256=mZnjmJQ3IUtwR8oKZsReTJ5nqZjLBv0cJqqoAlBfSvw,6293 -django/contrib/gis/geos/mutable_list.py,sha256=8uJ_9r48AlIIDzYaUb_qAD0eYslek9yvAX9ICdCmh5A,10131 -django/contrib/gis/geos/point.py,sha256=_5UI0cfAax9Q8_UuQeO25E3XhuS8PEVwkeZ2dgO0yQM,4757 -django/contrib/gis/geos/polygon.py,sha256=nAJFsaBXbIM9ZA_gSxVB_3WNXJHwakmhlxN_VzKs4WQ,6664 -django/contrib/gis/geos/prepared.py,sha256=rJf35HOTxPrrk_yA-YR9bQlL_pPDKecuhwZlcww8lxY,1575 -django/contrib/gis/geos/prototypes/__init__.py,sha256=gJo1iIH3eOITX_p20QqbWqOPAPps6fnhWQ8jPMzGMAY,1236 -django/contrib/gis/geos/prototypes/__pycache__/__init__.cpython-38.pyc,, -django/contrib/gis/geos/prototypes/__pycache__/coordseq.cpython-38.pyc,, -django/contrib/gis/geos/prototypes/__pycache__/errcheck.cpython-38.pyc,, -django/contrib/gis/geos/prototypes/__pycache__/geom.cpython-38.pyc,, -django/contrib/gis/geos/prototypes/__pycache__/io.cpython-38.pyc,, -django/contrib/gis/geos/prototypes/__pycache__/misc.cpython-38.pyc,, -django/contrib/gis/geos/prototypes/__pycache__/predicates.cpython-38.pyc,, -django/contrib/gis/geos/prototypes/__pycache__/prepared.cpython-38.pyc,, -django/contrib/gis/geos/prototypes/__pycache__/threadsafe.cpython-38.pyc,, -django/contrib/gis/geos/prototypes/__pycache__/topology.cpython-38.pyc,, -django/contrib/gis/geos/prototypes/coordseq.py,sha256=aBm_yTkis2ZloQeHqimjbMGYDkhEvv0FzeQGH3pVuqc,3103 -django/contrib/gis/geos/prototypes/errcheck.py,sha256=YTUBFoHU5pZOAamBPgogFymDswgnMr1_KL59sZfInYo,2654 -django/contrib/gis/geos/prototypes/geom.py,sha256=zKB1r_-6faLyq8OL4qJdM-lbMMpw8NKYYl8L9tCesBQ,3074 -django/contrib/gis/geos/prototypes/io.py,sha256=V2SlUEniZGfVnj_9r17XneT7w-OoCUpkL_sumKIhLbU,11229 -django/contrib/gis/geos/prototypes/misc.py,sha256=7Xwk0HG__JtPt6wJD-ieMkD-7KxpnofYrHSk6NEUeJo,1161 -django/contrib/gis/geos/prototypes/predicates.py,sha256=Ya06ir7LZQBSUypB05iv9gpvZowOSLIKa4fhCnhZuYY,1587 -django/contrib/gis/geos/prototypes/prepared.py,sha256=SC7g9_vvsW_ty7LKqlMzJfF9v3EvsJX9-j3kpSeCRfY,1184 -django/contrib/gis/geos/prototypes/threadsafe.py,sha256=Ll_TmpfJhRTmWV5dgKJx_Dh67ay1pa-SdlH558NRPw4,2309 -django/contrib/gis/geos/prototypes/topology.py,sha256=wd0OxkUQiMNioDXpJdRc1h9swsZ2CeOgqMvHxqJFY5s,2256 -django/contrib/gis/locale/af/LC_MESSAGES/django.mo,sha256=TN3GddZjlqXnhK8UKLlMoMIXNw2szzj7BeRjoKjsR5c,470 -django/contrib/gis/locale/af/LC_MESSAGES/django.po,sha256=XPdXaQsZ6yDPxF3jVMEI4bli_5jrEawoO-8DHMk8Q_A,1478 -django/contrib/gis/locale/ar/LC_MESSAGES/django.mo,sha256=5LCO903yJTtRVaaujBrmwMx8f8iLa3ihasgmj8te9eg,2301 -django/contrib/gis/locale/ar/LC_MESSAGES/django.po,sha256=pfUyK0VYgY0VC2_LvWZvG_EEIWa0OqIUfhiPT2Uov3Q,2569 -django/contrib/gis/locale/ar_DZ/LC_MESSAGES/django.mo,sha256=1e2lutVEjsa5vErMdjS6gaBbOLPTVIpDv15rax-wvKg,2403 -django/contrib/gis/locale/ar_DZ/LC_MESSAGES/django.po,sha256=dizXM36w-rUtI7Dv2mSoJDR5ouVR6Ar7zqjywX3xKr0,2555 -django/contrib/gis/locale/ast/LC_MESSAGES/django.mo,sha256=8o0Us4wR14bdv1M5oBeczYC4oW5uKnycWrj1-lMIqV4,850 -django/contrib/gis/locale/ast/LC_MESSAGES/django.po,sha256=0beyFcBkBOUNvPP45iqewTNv2ExvCPvDYwpafCJY5QM,1684 -django/contrib/gis/locale/az/LC_MESSAGES/django.mo,sha256=liiZOQ712WIdLolC8_uIHY6G4QPJ_sYhp5CfwxTXEv0,1976 -django/contrib/gis/locale/az/LC_MESSAGES/django.po,sha256=kUxBJdYhLZNnAO3IWKy4R3ijTZBiG-OFMg2wrZ7Jh28,2172 -django/contrib/gis/locale/be/LC_MESSAGES/django.mo,sha256=4B6F3HmhZmk1eLi42Bw90aipUHF4mT-Zlmsi0aKojHg,2445 -django/contrib/gis/locale/be/LC_MESSAGES/django.po,sha256=4QgQvhlM_O4N_8uikD7RASkS898vov-qT_FkQMhg4cE,2654 -django/contrib/gis/locale/bg/LC_MESSAGES/django.mo,sha256=1A5wo7PLz0uWsNMHv_affxjNnBsY3UQNz7zHszu56do,2452 -django/contrib/gis/locale/bg/LC_MESSAGES/django.po,sha256=5Onup09U6w85AFWvjs2QKnYXoMhnnw9u4eUlIa5QoXU,2670 -django/contrib/gis/locale/bn/LC_MESSAGES/django.mo,sha256=7oNsr_vHQfsanyP-o1FG8jZTSBK8jB3eK2fA9AqNOx4,1070 -django/contrib/gis/locale/bn/LC_MESSAGES/django.po,sha256=PTa9EFZdqfznUH7si3Rq3zp1kNkTOnn2HRTEYXQSOdM,1929 -django/contrib/gis/locale/br/LC_MESSAGES/django.mo,sha256=xN8hOvJi_gDlpdC5_lghXuX6yCBYDPfD_SQLjcvq8gU,1614 -django/contrib/gis/locale/br/LC_MESSAGES/django.po,sha256=LQw3Tp_ymJ_x7mJ6g4SOr6aP00bejkjuaxfFFRZnmaQ,2220 -django/contrib/gis/locale/bs/LC_MESSAGES/django.mo,sha256=9EdKtZkY0FX2NlX_q0tIxXD-Di0SNQJZk3jo7cend0A,1308 -django/contrib/gis/locale/bs/LC_MESSAGES/django.po,sha256=eu_qF8dbmlDiRKGNIz80XtIunrF8QIOcy8O28X02GvQ,1905 -django/contrib/gis/locale/ca/LC_MESSAGES/django.mo,sha256=nPWtfc4Fbm2uaY-gCASaye9CxzOYIfjG8mDTQGvn2As,2007 -django/contrib/gis/locale/ca/LC_MESSAGES/django.po,sha256=pPMDNc3hAWsbC_BM4UNmziX2Bq7vs6bHbNqVkEvCSic,2359 -django/contrib/gis/locale/cs/LC_MESSAGES/django.mo,sha256=V7MNXNsOaZ3x1G6LqYu6KJn6zeiFQCZKvF7Xk4J0fkg,2071 -django/contrib/gis/locale/cs/LC_MESSAGES/django.po,sha256=mPkcIWtWRILisD6jOlBpPV7CKYJjhTaBcRLf7OqifdM,2321 -django/contrib/gis/locale/cy/LC_MESSAGES/django.mo,sha256=vUG_wzZaMumPwIlKwuN7GFcS9gnE5rpflxoA_MPM_po,1430 -django/contrib/gis/locale/cy/LC_MESSAGES/django.po,sha256=_QjXT6cySUXrjtHaJ3046z-5PoXkCqtOhvA7MCZsXxk,1900 -django/contrib/gis/locale/da/LC_MESSAGES/django.mo,sha256=kH8GcLFe-XvmznQbiY5Ce2-Iz4uKJUfF4Be0yY13AEs,1894 -django/contrib/gis/locale/da/LC_MESSAGES/django.po,sha256=JOVTWeTnSUASbupCd2Fo0IY_veJb6XKDhyKFu6M2J_8,2179 -django/contrib/gis/locale/de/LC_MESSAGES/django.mo,sha256=1PBxHsFHDrbkCslumxKVD_kD2eIElGWOq2chQopcorY,1965 -django/contrib/gis/locale/de/LC_MESSAGES/django.po,sha256=0XnbUsy9yZHhFsGGhcSnXUqJpDlMVqmrRl-0c-kdcYk,2163 -django/contrib/gis/locale/dsb/LC_MESSAGES/django.mo,sha256=NzmmexcIC525FHQ5XvsKdzCZtkkb5wnrSd12fdAkZ-0,2071 -django/contrib/gis/locale/dsb/LC_MESSAGES/django.po,sha256=aTBfL_NB8uIDt2bWBxKCdKi-EUNo9lQ9JZ0ekWeI4Yk,2234 -django/contrib/gis/locale/el/LC_MESSAGES/django.mo,sha256=8QAS4MCktYLFsCgcIVflPXePYAWwr6iEZ7K8_axi_5U,2519 -django/contrib/gis/locale/el/LC_MESSAGES/django.po,sha256=6JVoYCUCUznxgQYlOCWJw1Ad6SR3Fa9jlorSCYkiwLw,2886 -django/contrib/gis/locale/en/LC_MESSAGES/django.mo,sha256=U0OV81NfbuNL9ctF-gbGUG5al1StqN-daB-F-gFBFC8,356 -django/contrib/gis/locale/en/LC_MESSAGES/django.po,sha256=8yvqHG1Mawkhx9RqD5tDXX8U0-a7RWr-wCQPGHWAqG0,2225 -django/contrib/gis/locale/en_AU/LC_MESSAGES/django.mo,sha256=IPn5kRqOvv5S7jpbIUw8PEUkHlyjEL-4GuOANd1iAzI,486 -django/contrib/gis/locale/en_AU/LC_MESSAGES/django.po,sha256=x_58HmrHRia2LoYhmmN_NLb1J3f7oTDvwumgTo0LowI,1494 -django/contrib/gis/locale/en_GB/LC_MESSAGES/django.mo,sha256=WkORQDOsFuV2bI7hwVsJr_JTWnDQ8ZaK-VYugqnLv3w,1369 -django/contrib/gis/locale/en_GB/LC_MESSAGES/django.po,sha256=KWPMoX-X-gQhb47zoVsa79-16-SiCGpO0s4xkcGv9z0,1910 -django/contrib/gis/locale/eo/LC_MESSAGES/django.mo,sha256=qls9V1jybymGCdsutcjP6fT5oMaI-GXnt_oNfwq-Yhs,1960 -django/contrib/gis/locale/eo/LC_MESSAGES/django.po,sha256=WPSkCxwq3ZnR-_L-W-CnS0_Qne3ekX7ZAZVaubiWw5s,2155 -django/contrib/gis/locale/es/LC_MESSAGES/django.mo,sha256=oMQQrOdtyzvfCE844C5vM7wUuqtjMQ_HsG0TkKmfhr4,2025 -django/contrib/gis/locale/es/LC_MESSAGES/django.po,sha256=Tqmpl0-dMQELpOc7o-ig9pf6W4p8X-7Hn1EhLTnBN4Q,2476 -django/contrib/gis/locale/es_AR/LC_MESSAGES/django.mo,sha256=J-A7H9J3DjwlJ-8KvO5MC-sq4hUsJhmioAE-wiwOA8E,2012 -django/contrib/gis/locale/es_AR/LC_MESSAGES/django.po,sha256=uWqoO-Tw7lOyPnOKC2SeSFD0MgPIQHWqTfroAws24aQ,2208 -django/contrib/gis/locale/es_CO/LC_MESSAGES/django.mo,sha256=P79E99bXjthakFYr1BMobTKqJN9S1aj3vfzMTbGRhCY,1865 -django/contrib/gis/locale/es_CO/LC_MESSAGES/django.po,sha256=tyu8_dFA9JKeQ2VCpCUy_6yX97SPJcDwVqqAuf_xgks,2347 -django/contrib/gis/locale/es_MX/LC_MESSAGES/django.mo,sha256=bC-uMgJXdbKHQ-w7ez-6vh9E_2YSgCF_LkOQlvb60BU,1441 -django/contrib/gis/locale/es_MX/LC_MESSAGES/django.po,sha256=MYO9fGclp_VvLG5tXDjXY3J_1FXI4lDv23rGElXAyjA,1928 -django/contrib/gis/locale/es_VE/LC_MESSAGES/django.mo,sha256=5YVIO9AOtmjky90DAXVyU0YltfQ4NLEpVYRTTk7SZ5o,486 -django/contrib/gis/locale/es_VE/LC_MESSAGES/django.po,sha256=R8suLsdDnSUEKNlXzow3O6WIT5NcboZoCjir9GfSTSQ,1494 -django/contrib/gis/locale/et/LC_MESSAGES/django.mo,sha256=xrNWaGCM9t14hygJ7a2g3KmhnFIAxVPrfKdJmP9ysrg,1921 -django/contrib/gis/locale/et/LC_MESSAGES/django.po,sha256=ejWpn0QAyxGCsfY1VpsJhUcY4ngNXG5vcwt_qOF5jbA,2282 -django/contrib/gis/locale/eu/LC_MESSAGES/django.mo,sha256=EChDnXv1Tgk0JvMp3RuDsk-0LkgZ2Xig8nckmikewLA,1973 -django/contrib/gis/locale/eu/LC_MESSAGES/django.po,sha256=sj_W9oCmbYENT-zGnTNtAT-ZsI3z7IOhgUxooQNFbpc,2191 -django/contrib/gis/locale/fa/LC_MESSAGES/django.mo,sha256=40t0F0vpKKPy9NW7OMuY-UnbkOI9ifM33A0CZG8i2dg,2281 -django/contrib/gis/locale/fa/LC_MESSAGES/django.po,sha256=cw9rOxFowluGpekFPAoaPvjAxwUOcXi4szNnCAvsBbI,2589 -django/contrib/gis/locale/fi/LC_MESSAGES/django.mo,sha256=L_1vFA-I0vQddIdLpNyATweN04E5cRw-4Xr81D67Q_c,1946 -django/contrib/gis/locale/fi/LC_MESSAGES/django.po,sha256=WSrldLannVh0Vnmm18X5FwHoieLQYXz0CoF2SY52w0M,2127 -django/contrib/gis/locale/fr/LC_MESSAGES/django.mo,sha256=BpmQ_09rbzFR-dRjX0_SbFAHQJs7bZekLTGwsN96j8A,2052 -django/contrib/gis/locale/fr/LC_MESSAGES/django.po,sha256=Nqsu2ILMuPVFGhHo7vYdQH7lwNupJRjl1SsMmFEo_Dw,2306 -django/contrib/gis/locale/fy/LC_MESSAGES/django.mo,sha256=2kCnWU_giddm3bAHMgDy0QqNwOb9qOiEyCEaYo1WdqQ,476 -django/contrib/gis/locale/fy/LC_MESSAGES/django.po,sha256=7ncWhxC5OLhXslQYv5unWurhyyu_vRsi4bGflZ6T2oQ,1484 -django/contrib/gis/locale/ga/LC_MESSAGES/django.mo,sha256=m6Owcr-5pln54TXcZFAkYEYDjYiAkT8bGFyw4nowNHA,1420 -django/contrib/gis/locale/ga/LC_MESSAGES/django.po,sha256=I0kyTnYBPSdYr8RontzhGPShJhylVAdRLBGWRQr2E7g,1968 -django/contrib/gis/locale/gd/LC_MESSAGES/django.mo,sha256=8TAogB3fzblx48Lv6V94mOlR6MKAW6NjZOkKmAhncRY,2082 -django/contrib/gis/locale/gd/LC_MESSAGES/django.po,sha256=vBafKOhKlhMXU2Qzgbiy7GhEGy-RBdHJi5ey5sHx5_I,2259 -django/contrib/gis/locale/gl/LC_MESSAGES/django.mo,sha256=4OUuNpkYRWjKz_EoY1zDzKOK8YptrwUutQqFvSKsLUs,1421 -django/contrib/gis/locale/gl/LC_MESSAGES/django.po,sha256=s9tiYQLnv1_uzyLpi3qqV_zwJNic1AGFsUGc3FhJbMo,2006 -django/contrib/gis/locale/he/LC_MESSAGES/django.mo,sha256=ngfIMxGYVgNCVs_bfNI2PwjSyj03DF3FmSugZuVti60,2190 -django/contrib/gis/locale/he/LC_MESSAGES/django.po,sha256=N-FTLS0TL8AW5Owtfuqt7mlmqszgfXLUZ_4MQo23F2w,2393 -django/contrib/gis/locale/hi/LC_MESSAGES/django.mo,sha256=3nsy5mxKTPtx0EpqBNA_TJXmLmVZ4BPUZG72ZEe8OPM,1818 -django/contrib/gis/locale/hi/LC_MESSAGES/django.po,sha256=jTFG2gqqYAQct9-to0xL2kUFQu-ebR4j7RGfxn4sBAg,2372 -django/contrib/gis/locale/hr/LC_MESSAGES/django.mo,sha256=0XrRj2oriNZxNhEwTryo2zdMf-85-4X7fy7OJhB5ub4,1549 -django/contrib/gis/locale/hr/LC_MESSAGES/django.po,sha256=iijzoBoD_EJ1n-a5ys5CKnjzZzG299zPoCN-REFkeqE,2132 -django/contrib/gis/locale/hsb/LC_MESSAGES/django.mo,sha256=hA9IBuEZ6JHsTIVjGZdlvD8NcFy6v56pTy1fmA_lWwo,2045 -django/contrib/gis/locale/hsb/LC_MESSAGES/django.po,sha256=LAGSJIa6wd3Dh4IRG5DLigL-mjQzmYwn0o2RmSAdBdw,2211 -django/contrib/gis/locale/hu/LC_MESSAGES/django.mo,sha256=9P8L1-RxODT4NCMBUQnWQJaydNs9FwcAZeuoVmaQUDY,1940 -django/contrib/gis/locale/hu/LC_MESSAGES/django.po,sha256=qTC31EofFBS4HZ5SvxRKDIt2afAV4OS52_LYFnX2OB8,2261 -django/contrib/gis/locale/hy/LC_MESSAGES/django.mo,sha256=4D6em091yzO4s3U_DIdocdlvxtAbXdMt6Ig1ATxRGrQ,2535 -django/contrib/gis/locale/hy/LC_MESSAGES/django.po,sha256=0nkAba1H7qrC5JSakzJuAqsldWPG7lsjH7H8jVfG1SU,2603 -django/contrib/gis/locale/ia/LC_MESSAGES/django.mo,sha256=9MZnSXkQUIfbYB2f4XEtYo_FzuVi5OlsYcX9K_REz3c,1899 -django/contrib/gis/locale/ia/LC_MESSAGES/django.po,sha256=f7OuqSzGHQNldBHp62VIWjqP0BB0bvo8qEx9_wzH090,2116 -django/contrib/gis/locale/id/LC_MESSAGES/django.mo,sha256=FPjGhjf4wy-Wi6f3GnsBhmpBJBFnAPOw5jUPbufHISM,1938 -django/contrib/gis/locale/id/LC_MESSAGES/django.po,sha256=ap7GLVlZO6mmAs6PHgchU5xrChWF-YbwtJU7t0tqz0k,2353 -django/contrib/gis/locale/io/LC_MESSAGES/django.mo,sha256=_yUgF2fBUxVAZAPNw2ROyWly5-Bq0niGdNEzo2qbp8k,464 -django/contrib/gis/locale/io/LC_MESSAGES/django.po,sha256=fgGJ1xzliMK0MlVoV9CQn_BuuS3Kl71Kh5YEybGFS0Y,1472 -django/contrib/gis/locale/is/LC_MESSAGES/django.mo,sha256=UQb3H5F1nUxJSrADpLiYe12TgRhYKCFQE5Xy13MzEqU,1350 -django/contrib/gis/locale/is/LC_MESSAGES/django.po,sha256=8QWtgdEZR7OUVXur0mBCeEjbXTBjJmE-DOiKe55FvMo,1934 -django/contrib/gis/locale/it/LC_MESSAGES/django.mo,sha256=8VddOMr-JMs5D-J5mq-UgNnhf98uutpoJYJKTr8E224,1976 -django/contrib/gis/locale/it/LC_MESSAGES/django.po,sha256=Vp1G-GChjjTsODwABsg5LbmR6_Z-KpslwkNUipuOqk4,2365 -django/contrib/gis/locale/ja/LC_MESSAGES/django.mo,sha256=Ro8-P0647LU_963TJT1uOWTohB77YaGGci_2sMLJwEo,2096 -django/contrib/gis/locale/ja/LC_MESSAGES/django.po,sha256=shMi1KrURuWbFGc3PpSrpatfEQJlW--QTDH6HwHbtv4,2352 -django/contrib/gis/locale/ka/LC_MESSAGES/django.mo,sha256=iqWQ9j8yanPjDhwi9cNSktYgfLVnofIsdICnAg2Y_to,1991 -django/contrib/gis/locale/ka/LC_MESSAGES/django.po,sha256=tWoXkbWfNsZ2A28_JUvc1wtyVT6m7Hl9nJgfxXGqkgY,2566 -django/contrib/gis/locale/kk/LC_MESSAGES/django.mo,sha256=NtgQONp0UncUNvrh0W2R7u7Ja8H33R-a-tsQShWq-QI,1349 -django/contrib/gis/locale/kk/LC_MESSAGES/django.po,sha256=_wNvDk36C_UegH0Ex6ov8P--cKm-J7XtusXYsjVVZno,1974 -django/contrib/gis/locale/km/LC_MESSAGES/django.mo,sha256=T0aZIZ_gHqHpQyejnBeX40jdcfhrCOjgKjNm2hLrpNE,459 -django/contrib/gis/locale/km/LC_MESSAGES/django.po,sha256=7ARjFcuPQJG0OGLJu9pVfSiAwc2Q-1tT6xcLeKeom1c,1467 -django/contrib/gis/locale/kn/LC_MESSAGES/django.mo,sha256=EkJRlJJSHZJvNZJuOLpO4IIUEoyi_fpKwNWe0OGFcy4,461 -django/contrib/gis/locale/kn/LC_MESSAGES/django.po,sha256=NM3FRy48SSVsUIQc8xh0ZKAgTVAP8iK8elp7NQ6-IdE,1469 -django/contrib/gis/locale/ko/LC_MESSAGES/django.mo,sha256=3cvrvesJ_JU-XWI5oaYSAANVjwFxn3SLd3UrdRSMAfA,1939 -django/contrib/gis/locale/ko/LC_MESSAGES/django.po,sha256=Gg9s__57BxLIYJx5O0c-UJ8cAzsU3TcLuKGE7abn1rE,2349 -django/contrib/gis/locale/ky/LC_MESSAGES/django.mo,sha256=1z_LnGCxvS3_6OBr9dBxsyHrDs7mR3Fzm76sdgNGJrU,2221 -django/contrib/gis/locale/ky/LC_MESSAGES/django.po,sha256=NyWhlb3zgb0iAa6C0hOqxYxA7zaR_XgyjJHffoCIw1g,2438 -django/contrib/gis/locale/lb/LC_MESSAGES/django.mo,sha256=XAyZQUi8jDr47VpSAHp_8nQb0KvSMJHo5THojsToFdk,474 -django/contrib/gis/locale/lb/LC_MESSAGES/django.po,sha256=5rfudPpH4snSq2iVm9E81EBwM0S2vbkY2WBGhpuga1Q,1482 -django/contrib/gis/locale/lt/LC_MESSAGES/django.mo,sha256=9I8bq0gbDGv7wBe60z3QtWZ5x_NgALjCTvR6rBtPPBY,2113 -django/contrib/gis/locale/lt/LC_MESSAGES/django.po,sha256=jD2vv47dySaH1nVzzf7mZYKM5vmofhmaKXFp4GvX1Iw,2350 -django/contrib/gis/locale/lv/LC_MESSAGES/django.mo,sha256=KkVqgndzTA8WAagHB4hg65PUvQKXl_O79fb2r04foXw,2025 -django/contrib/gis/locale/lv/LC_MESSAGES/django.po,sha256=21VWQDPMF27yZ-ctKO-f0sohyvVkIaTXk9MKF-WGmbo,2253 -django/contrib/gis/locale/mk/LC_MESSAGES/django.mo,sha256=PVw73LWWNvaNd95zQbAIA7LA7JNmpf61YIoyuOca2_s,2620 -django/contrib/gis/locale/mk/LC_MESSAGES/django.po,sha256=eusHVHXHRfdw1_JyuBW7H7WPCHFR_z1NBqr79AVqAk0,2927 -django/contrib/gis/locale/ml/LC_MESSAGES/django.mo,sha256=Kl9okrE3AzTPa5WQ-IGxYVNSRo2y_VEdgDcOyJ_Je78,2049 -django/contrib/gis/locale/ml/LC_MESSAGES/django.po,sha256=PWg8atPKfOsnVxg_uro8zYO9KCE1UVhfy_zmCWG0Bdk,2603 -django/contrib/gis/locale/mn/LC_MESSAGES/django.mo,sha256=-Nn70s2On94C-jmSZwTppW2q7_W5xgMpzPXYmxZSKXs,2433 -django/contrib/gis/locale/mn/LC_MESSAGES/django.po,sha256=I0ZHocPlRYrogJtzEGVPsWWHpoVEa7e2KYP9Ystlj60,2770 -django/contrib/gis/locale/mr/LC_MESSAGES/django.mo,sha256=sO2E__g61S0p5I6aEwnoAsA3epxv7_Jn55TyF0PZCUA,468 -django/contrib/gis/locale/mr/LC_MESSAGES/django.po,sha256=McWaLXfWmYTDeeDbIOrV80gwnv07KCtNIt0OXW_v7vw,1476 -django/contrib/gis/locale/my/LC_MESSAGES/django.mo,sha256=e6G8VbCCthUjV6tV6PRCy_ZzsXyZ-1OYjbYZIEShbXI,525 -django/contrib/gis/locale/my/LC_MESSAGES/django.po,sha256=R3v1S-904f8FWSVGHe822sWrOJI6cNJIk93-K7_E_1c,1580 -django/contrib/gis/locale/nb/LC_MESSAGES/django.mo,sha256=a89qhy9BBE_S-MYlOMLaYMdnOvUEJxh8V80jYJqFEj0,1879 -django/contrib/gis/locale/nb/LC_MESSAGES/django.po,sha256=UIk8oXTFdxTn22tTtIXowTl3Nxn2qvpQO72GoQDUmaw,2166 -django/contrib/gis/locale/ne/LC_MESSAGES/django.mo,sha256=nB-Ta8w57S6hIAhAdWZjDT0Dg6JYGbAt5FofIhJT7k8,982 -django/contrib/gis/locale/ne/LC_MESSAGES/django.po,sha256=eMH6uKZZZYn-P3kmHumiO4z9M4923s9tWGhHuJ0eWuI,1825 -django/contrib/gis/locale/nl/LC_MESSAGES/django.mo,sha256=d22j68OCI1Bevtl2WgXHSQHFCiDgkPXmrFHca_uUm14,1947 -django/contrib/gis/locale/nl/LC_MESSAGES/django.po,sha256=ffytg6K7pTQoIRfxY35i1FpolJeox-fpSsG1JQzvb-0,2381 -django/contrib/gis/locale/nn/LC_MESSAGES/django.mo,sha256=32x5_V6o_BQBefFmyajOg3ssClw-DMEdvzXkY90fV3Q,1202 -django/contrib/gis/locale/nn/LC_MESSAGES/django.po,sha256=NWA3nD8ZwAZxG9EkE6TW0POJgB6HTeC4J6GOlTMD7j4,1796 -django/contrib/gis/locale/os/LC_MESSAGES/django.mo,sha256=02NpGC8WPjxmPqQkfv9Kj2JbtECdQCtgecf_Tjk1CZc,1594 -django/contrib/gis/locale/os/LC_MESSAGES/django.po,sha256=JBIsv5nJg3Wof7Xy7odCI_xKRBLN_Hlbb__kNqNW4Xw,2161 -django/contrib/gis/locale/pa/LC_MESSAGES/django.mo,sha256=JR1NxG5_h_dFE_7p6trBWWIx-QqWYIgfGomnjaCsWAA,1265 -django/contrib/gis/locale/pa/LC_MESSAGES/django.po,sha256=Ejd_8dq_M0E9XFijk0qj4oC-8_oe48GWWHXhvOrFlnY,1993 -django/contrib/gis/locale/pl/LC_MESSAGES/django.mo,sha256=BkGcSOdz9VE7OYEeFzC9OLANJsTB3pFU1Xs8-CWFgb4,2095 -django/contrib/gis/locale/pl/LC_MESSAGES/django.po,sha256=IIy2N8M_UFanmHB6Ajne9g5NQ7tJCF5JvgrzasFUJDY,2531 -django/contrib/gis/locale/pt/LC_MESSAGES/django.mo,sha256=sE5PPOHzfT8QQXuV5w0m2pnBTRhKYs_vFhk8p_A4Jg0,2036 -django/contrib/gis/locale/pt/LC_MESSAGES/django.po,sha256=TFt6Oj1NlCM3pgs2dIgFZR3S3y_g7oR7S-XRBlM4924,2443 -django/contrib/gis/locale/pt_BR/LC_MESSAGES/django.mo,sha256=5HGIao480s3B6kXtSmdy1AYjGUZqbYuZ9Eapho_jkTk,1976 -django/contrib/gis/locale/pt_BR/LC_MESSAGES/django.po,sha256=4-2WPZT15YZPyYbH7xnBRc7A8675875kVFjM9tr1o5U,2333 -django/contrib/gis/locale/ro/LC_MESSAGES/django.mo,sha256=brEMR8zmBMK6otF_kmR2IVuwM9UImo24vwSVUdRysAY,1829 -django/contrib/gis/locale/ro/LC_MESSAGES/django.po,sha256=EDdumoPfwMHckneEl4OROll5KwYL0ljdY-yJTUkK2JA,2242 -django/contrib/gis/locale/ru/LC_MESSAGES/django.mo,sha256=Beo_YLNtenVNPIyWB-KKMlbxeK0z4DIxhLNkAE8p9Ko,2542 -django/contrib/gis/locale/ru/LC_MESSAGES/django.po,sha256=GKPf50Wm3evmbOdok022P2YZxh-6ROKgDRLyxewPy1g,2898 -django/contrib/gis/locale/sk/LC_MESSAGES/django.mo,sha256=_LWDbFebq9jEa1YYsSMOruTk0oRaU9sxPGml1YPuink,2010 -django/contrib/gis/locale/sk/LC_MESSAGES/django.po,sha256=Iz_iHKaDzNhLM5vJd3bbzsCXzKhoEGeqECZxEgBIiGc,2244 -django/contrib/gis/locale/sl/LC_MESSAGES/django.mo,sha256=9-efMT2MoEMa5-SApGWTRiyfvI6vmZzLeMg7qGAr7_A,2067 -django/contrib/gis/locale/sl/LC_MESSAGES/django.po,sha256=foZY7N5QkuAQS7nc3CdnJerCPk-lhSb1xZqU11pNGNo,2303 -django/contrib/gis/locale/sq/LC_MESSAGES/django.mo,sha256=WEq6Bdd9fM_aRhWUBpl_qTc417U9708u9sXNgyB8o1k,1708 -django/contrib/gis/locale/sq/LC_MESSAGES/django.po,sha256=mAOImw7HYWDO2VuoHU-VAp08u5DM-BUC633Lhkc3vRk,2075 -django/contrib/gis/locale/sr/LC_MESSAGES/django.mo,sha256=cQzh-8YOz0FSIE0-BkeQHiqG6Tl4ArHvSN3yMXiaoec,2454 -django/contrib/gis/locale/sr/LC_MESSAGES/django.po,sha256=PQ3FYEidoV200w8WQBFsid7ULKZyGLzCjfCVUUPKWrk,2719 -django/contrib/gis/locale/sr_Latn/LC_MESSAGES/django.mo,sha256=SASOtA8mOnMPxh1Lr_AC0yR82SqyTiPrlD8QmvYgG58,2044 -django/contrib/gis/locale/sr_Latn/LC_MESSAGES/django.po,sha256=BPkwFmsLHVN8jwjf1pqmrTXhxO0fgDzE0-C7QvaBeVg,2271 -django/contrib/gis/locale/sv/LC_MESSAGES/django.mo,sha256=XVr0uSQnEIRNJoOpgFlxvYnpF4cGDP2K2oTjqVHhmuA,1987 -django/contrib/gis/locale/sv/LC_MESSAGES/django.po,sha256=fqUAyUbjamnqbdie8Ecek0v99uo-4uUfaSvtFffz8v4,2275 -django/contrib/gis/locale/sw/LC_MESSAGES/django.mo,sha256=uBhpGHluGwYpODTE-xhdJD2e6PHleN07wLE-kjrXr_M,1426 -django/contrib/gis/locale/sw/LC_MESSAGES/django.po,sha256=nHXQQMYYXT1ec3lIBxQIDIAwLtXucX47M4Cozy08kko,1889 -django/contrib/gis/locale/ta/LC_MESSAGES/django.mo,sha256=Rboo36cGKwTebe_MiW4bOiMsRO2isB0EAyJJcoy_F6s,466 -django/contrib/gis/locale/ta/LC_MESSAGES/django.po,sha256=sLYW8_5BSVoSLWUr13BbKRe0hNJ_cBMEtmjCPBdTlAk,1474 -django/contrib/gis/locale/te/LC_MESSAGES/django.mo,sha256=xDkaSztnzQ33Oc-GxHoSuutSIwK9A5Bg3qXEdEvo4h4,824 -django/contrib/gis/locale/te/LC_MESSAGES/django.po,sha256=nYryhktJumcwtZDGZ43xBxWljvdd-cUeBrAYFZOryVg,1772 -django/contrib/gis/locale/tg/LC_MESSAGES/django.mo,sha256=6Jyeaq1ORsnE7Ceh_rrhbfslFskGe12Ar-dQl6NFyt0,611 -django/contrib/gis/locale/tg/LC_MESSAGES/django.po,sha256=9c1zPt7kz1OaRJPPLdqjQqO8MT99KtS9prUvoPa9qJk,1635 -django/contrib/gis/locale/th/LC_MESSAGES/django.mo,sha256=0kekAr7eXc_papwPAxEZ3TxHOBg6EPzdR3q4hmAxOjg,1835 -django/contrib/gis/locale/th/LC_MESSAGES/django.po,sha256=WJPdoZjLfvepGGMhfBB1EHCpxtxxfv80lRjPG9kGErM,2433 -django/contrib/gis/locale/tr/LC_MESSAGES/django.mo,sha256=_bNVyXHbuyM42-fAsL99wW7_Hwu5hF_WD7FzY-yfS8k,1961 -django/contrib/gis/locale/tr/LC_MESSAGES/django.po,sha256=W0pxShIqMePnQvn_7zcY_q4_C1PCnWwFMastDo_gHd0,2242 -django/contrib/gis/locale/tt/LC_MESSAGES/django.mo,sha256=cGVPrWCe4WquVV77CacaJwgLSnJN0oEAepTzNMD-OWk,1470 -django/contrib/gis/locale/tt/LC_MESSAGES/django.po,sha256=98yeRs-JcMGTyizOpEuQenlnWJMYTR1-rG3HGhKCykk,2072 -django/contrib/gis/locale/udm/LC_MESSAGES/django.mo,sha256=I6bfLvRfMn79DO6bVIGfYSVeZY54N6c8BNO7OyyOOsw,462 -django/contrib/gis/locale/udm/LC_MESSAGES/django.po,sha256=B1PCuPYtNOrrhu4fKKJgkqxUrcEyifS2Y3kw-iTmSIk,1470 -django/contrib/gis/locale/uk/LC_MESSAGES/django.mo,sha256=5uJgGDDQi8RTRNxbQToKE7FVLOK73w5Wgmf6zCa66Uk,2455 -django/contrib/gis/locale/uk/LC_MESSAGES/django.po,sha256=fsxwSb93uD59ms8jdO84qx8C5rKy74TDcH12yaKs8mY,2873 -django/contrib/gis/locale/ur/LC_MESSAGES/django.mo,sha256=tB5tz7EscuE9IksBofNuyFjk89-h5X7sJhCKlIho5SY,1410 -django/contrib/gis/locale/ur/LC_MESSAGES/django.po,sha256=16m0t10Syv76UcI7y-EXfQHETePmrWX4QMVfyeuX1fQ,2007 -django/contrib/gis/locale/vi/LC_MESSAGES/django.mo,sha256=NT5T0FRCC2XINdtaCFCVUxb5VRv8ta62nE8wwSHGTrc,1384 -django/contrib/gis/locale/vi/LC_MESSAGES/django.po,sha256=y77GtqH5bv1wR78xN5JLHusmQzoENTH9kLf9Y3xz5xk,1957 -django/contrib/gis/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=g_8mpfbj-6HJ-g1PrFU2qTTfvCbztNcjDym_SegaI8Q,1812 -django/contrib/gis/locale/zh_Hans/LC_MESSAGES/django.po,sha256=MBJpb5IJxUaI2k0Hq8Q1GLXHJPFAA-S1w6NRjsmrpBw,2286 -django/contrib/gis/locale/zh_Hant/LC_MESSAGES/django.mo,sha256=jEgcPJy_WzZa65-5rXb64tN_ehUku_yIj2d7tXwweP8,1975 -django/contrib/gis/locale/zh_Hant/LC_MESSAGES/django.po,sha256=iVnQKpbsQ4nJi65PHAO8uGRO6jhHWs22gTOUKPpb64s,2283 -django/contrib/gis/management/commands/__pycache__/inspectdb.cpython-38.pyc,, -django/contrib/gis/management/commands/__pycache__/ogrinspect.cpython-38.pyc,, -django/contrib/gis/management/commands/inspectdb.py,sha256=tpyZFocjeeRN6hE1yXfp1CANzyaQYqQpI8RLhKtGzBA,717 -django/contrib/gis/management/commands/ogrinspect.py,sha256=x8LUFS8Q43RdkA1EQxr-bngmgZ9QSZL25O5Wnc7GSvA,5714 -django/contrib/gis/measure.py,sha256=lRedUttyyugxiinBZpRUJuAz2YUYRciieujzzN0G6as,12010 -django/contrib/gis/ptr.py,sha256=RK-5GCUUaQtBuDD3lAoraS7G05fzYhR5p0acKrzpQVE,1289 -django/contrib/gis/serializers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/gis/serializers/__pycache__/__init__.cpython-38.pyc,, -django/contrib/gis/serializers/__pycache__/geojson.cpython-38.pyc,, -django/contrib/gis/serializers/geojson.py,sha256=IWR-98IYQXvJSJ4y3d09kh3ZxuFZuEKg-T9eAig5GEA,2710 -django/contrib/gis/shortcuts.py,sha256=fHf3HYP6MP8GeuBW6G3y6d30Mjxa6IL2xtmblDjS8k4,1027 -django/contrib/gis/sitemaps/__init__.py,sha256=eVHUxfzw1VQn6bqH3D8bE471s8bNJSB3phuAI-zg9gA,138 -django/contrib/gis/sitemaps/__pycache__/__init__.cpython-38.pyc,, -django/contrib/gis/sitemaps/__pycache__/kml.cpython-38.pyc,, -django/contrib/gis/sitemaps/__pycache__/views.cpython-38.pyc,, -django/contrib/gis/sitemaps/kml.py,sha256=yg-soUBEFDRSmf7iIPzdOFEi3lvcQNKp_Jisk-cwiR4,2406 -django/contrib/gis/sitemaps/views.py,sha256=vJt4Oya4IL6BHE7x8Z_FkQn1Do6caVRL8d5hE2XKVCo,2306 -django/contrib/gis/static/gis/css/ol3.css,sha256=pJADzfx4_NL2C1onFpU-muconAA5NThN4sEqSNyY_So,657 -django/contrib/gis/static/gis/img/draw_line_off.svg,sha256=6XW83xsR5-Guh27UH3y5UFn9y9FB9T_Zc4kSPA-xSOI,918 -django/contrib/gis/static/gis/img/draw_line_on.svg,sha256=Hx-pXu4ped11esG6YjXP1GfZC5q84zrFQDPUo1C7FGA,892 -django/contrib/gis/static/gis/img/draw_point_off.svg,sha256=PICrywZPwuBkaQAKxR9nBJ0AlfTzPHtVn_up_rSiHH4,803 -django/contrib/gis/static/gis/img/draw_point_on.svg,sha256=raGk3oc8w87rJfLdtZ4nIXJyU3OChCcTd4oH-XAMmmM,803 -django/contrib/gis/static/gis/img/draw_polygon_off.svg,sha256=gnVmjeZE2jOvjfyx7mhazMDBXJ6KtSDrV9f0nSzkv3A,981 -django/contrib/gis/static/gis/img/draw_polygon_on.svg,sha256=ybJ9Ww7-bsojKQJtjErLd2cCOgrIzyqgIR9QNhH_ZfA,982 -django/contrib/gis/static/gis/js/OLMapWidget.js,sha256=S26weu4y6DMJn_ez8ZSv9LIu_A0I0JlAM50B5WAaOXE,8820 -django/contrib/gis/templates/gis/admin/openlayers.html,sha256=N5HJ2DCNatDW1TwCU0o32VSae2KkcltBSVQYJaYRnpE,1425 -django/contrib/gis/templates/gis/admin/openlayers.js,sha256=KoT3VUMAez9-5QoT5U6OJXzt3MLxlTrJMMwINjQ_k7M,8975 -django/contrib/gis/templates/gis/admin/osm.html,sha256=yvYyZPmgP64r1JT3eZCDun5ENJaaN3d3wbTdCxIOvSo,111 -django/contrib/gis/templates/gis/admin/osm.js,sha256=0wFRJXKZ2plp7tb0F9fgkMzp4NrKZXcHiMkKDJeHMRw,128 -django/contrib/gis/templates/gis/kml/base.kml,sha256=VYnJaGgFVHRzDjiFjbcgI-jxlUos4B4Z1hx_JeI2ZXU,219 -django/contrib/gis/templates/gis/kml/placemarks.kml,sha256=TEC81sDL9RK2FVeH0aFJTwIzs6_YWcMeGnHkACJV1Uc,360 -django/contrib/gis/templates/gis/openlayers-osm.html,sha256=TeiUqCjt73W8Hgrp_6zAtk_ZMBxskNN6KHSmnJ1-GD4,378 -django/contrib/gis/templates/gis/openlayers.html,sha256=gp49iEA82IgDWPHRrAYyCqC0pvInPxTw5674RuxPM_M,1897 -django/contrib/gis/utils/__init__.py,sha256=F0GOFeUMUtapxuZ306T8d3uNblMhfWftOlpc84HeFVs,596 -django/contrib/gis/utils/__pycache__/__init__.cpython-38.pyc,, -django/contrib/gis/utils/__pycache__/layermapping.cpython-38.pyc,, -django/contrib/gis/utils/__pycache__/ogrinfo.cpython-38.pyc,, -django/contrib/gis/utils/__pycache__/ogrinspect.cpython-38.pyc,, -django/contrib/gis/utils/__pycache__/srs.cpython-38.pyc,, -django/contrib/gis/utils/layermapping.py,sha256=CY8jH56W7y2NXB2ksJBQBk8nmijm52yosw5VAW0pngA,27630 -django/contrib/gis/utils/ogrinfo.py,sha256=VmbxQ5Ri4zjtTxNymuxJp3t3cAntUC83YBMp9PuMMSU,1934 -django/contrib/gis/utils/ogrinspect.py,sha256=4lZA5_rbdo-IG7DnqddQyT_2JI_AXhuW9nduBwMWrQY,8924 -django/contrib/gis/utils/srs.py,sha256=5D5lPZwFYgZiVaKD7eCkl9vj-pGRB11HEgeNlxUAjfo,2991 -django/contrib/gis/views.py,sha256=zZfnPHc8wxomPp9NcpOfISLhwBKkVG-EtRTm90d2X_Q,700 -django/contrib/humanize/__init__.py,sha256=88gkwJxqbRpmigRG0Gu3GNQkXGtTNpica4nf3go-_cI,67 -django/contrib/humanize/__pycache__/__init__.cpython-38.pyc,, -django/contrib/humanize/__pycache__/apps.cpython-38.pyc,, -django/contrib/humanize/apps.py,sha256=ODfDrSH8m3y3xYlyIIwm7DZmrNcoYKG2K8l5mU64V7g,194 -django/contrib/humanize/locale/af/LC_MESSAGES/django.mo,sha256=bNLjjeZ3H-KD_pm-wa1_5eLCDOmG2FXgDHVOg5vgL7o,5097 -django/contrib/humanize/locale/af/LC_MESSAGES/django.po,sha256=p3OduzjtTGkwlgDJhPgSm9aXI2sWzORspsPf7_RnWjs,8923 -django/contrib/humanize/locale/ar/LC_MESSAGES/django.mo,sha256=-YDFm-RPAWqjWquABE0D-Y4WfELU2RTEjWGiHVFq2Uw,9580 -django/contrib/humanize/locale/ar/LC_MESSAGES/django.po,sha256=_LmxY73PR0hjoK6cqibEdfrczCtnqYGnNo8-v0rZrF4,15386 -django/contrib/humanize/locale/ar_DZ/LC_MESSAGES/django.mo,sha256=NwCrL5FX_xdxYdqkW_S8tmU8ktDM8LqimmUvkt8me74,9155 -django/contrib/humanize/locale/ar_DZ/LC_MESSAGES/django.po,sha256=tt0AxhohGX79OQ_lX1S5soIo-iSCC07SdAhPpy0O7Q4,15234 -django/contrib/humanize/locale/ast/LC_MESSAGES/django.mo,sha256=WvBk8V6g1vgzGqZ_rR-4p7SMh43PFnDnRhIS9HSwdoQ,3468 -django/contrib/humanize/locale/ast/LC_MESSAGES/django.po,sha256=S9lcUf2y5wR8Ufa-Rlz-M73Z3bMo7zji_63cXwtDK2I,5762 -django/contrib/humanize/locale/az/LC_MESSAGES/django.mo,sha256=G9dyDa8T8wwEJDVw5rrajGLQo2gfs7XqsW6LbURELvA,5286 -django/contrib/humanize/locale/az/LC_MESSAGES/django.po,sha256=G0_M87HUGSH280uvUzni0qlCGviv2uwtyr6gne5SszA,9139 -django/contrib/humanize/locale/be/LC_MESSAGES/django.mo,sha256=qpbjGVSQnPESRACvTjzc3p5REpxyRGv7qgxQCigrNBY,8409 -django/contrib/humanize/locale/be/LC_MESSAGES/django.po,sha256=pyudF4so8SQG-gfmSNcNdG5BQA27Q0p_nQF1tYMuw88,13148 -django/contrib/humanize/locale/bg/LC_MESSAGES/django.mo,sha256=1mRaFPsm5ITFyfdFdqdeY-_Om2OYKua5YWSEP192WR8,4645 -django/contrib/humanize/locale/bg/LC_MESSAGES/django.po,sha256=kTyRblfWlBUMxd_czXTOe-39CcX68X6e4DTmYm3V2gc,6684 -django/contrib/humanize/locale/bn/LC_MESSAGES/django.mo,sha256=jbL4ucZxxtexI10jgldtgnDie3I23XR3u-PrMMMqP6U,4026 -django/contrib/humanize/locale/bn/LC_MESSAGES/django.po,sha256=0l4yyy7q3OIWyFk_PW0y883Vw2Pmu48UcnLM9OBxB68,6545 -django/contrib/humanize/locale/br/LC_MESSAGES/django.mo,sha256=V_tPVAyQzVdDwWPNlVGWmlVJjmVZfbh35alkwsFlCNU,5850 -django/contrib/humanize/locale/br/LC_MESSAGES/django.po,sha256=BcAqEV2JpF0hiCQDttIMblp9xbB7zoHsmj7fJFV632k,12245 -django/contrib/humanize/locale/bs/LC_MESSAGES/django.mo,sha256=1-RNRHPgZR_9UyiEn9Djp4mggP3fywKZho45E1nGMjM,1416 -django/contrib/humanize/locale/bs/LC_MESSAGES/django.po,sha256=M017Iu3hyXmINZkhCmn2he-FB8rQ7rXN0KRkWgrp7LI,5498 -django/contrib/humanize/locale/ca/LC_MESSAGES/django.mo,sha256=I0A0wyJlSfGw34scNPoj9itqU8iz0twcyxUS15u5nJE,5230 -django/contrib/humanize/locale/ca/LC_MESSAGES/django.po,sha256=t-wxHJ0ZrXrc3bAjavz40eSu5HTJqJjz5wvfdiydJ6k,9153 -django/contrib/humanize/locale/cs/LC_MESSAGES/django.mo,sha256=PJeNGbrXH0yMbwVxv9rpVajMGXDFcTyNCSzJLTQvimA,6805 -django/contrib/humanize/locale/cs/LC_MESSAGES/django.po,sha256=tm42tsSZYzY-a_7szHB9yuJYUffQXz4nfEgvEY9vY9w,11579 -django/contrib/humanize/locale/cy/LC_MESSAGES/django.mo,sha256=VjJiaUUhvX9tjOEe6x2Bdp7scvZirVcUsA4-iE2-ElQ,5241 -django/contrib/humanize/locale/cy/LC_MESSAGES/django.po,sha256=sylmceSq-NPvtr_FjklQXoBAfueKu7hrjEpMAsVbQC4,7813 -django/contrib/humanize/locale/da/LC_MESSAGES/django.mo,sha256=V8u7uq8GNU7Gk3urruDnM2iR6fiio9RvLB8ou4e3EWY,5298 -django/contrib/humanize/locale/da/LC_MESSAGES/django.po,sha256=AnAvSgks2ph0MS2ZJlYKddKwQTbduEIpHK0kzsNphWM,9151 -django/contrib/humanize/locale/de/LC_MESSAGES/django.mo,sha256=7HZDGVn4FuGS2nNqHLg1RrnmQLB2Ansbri0ysHq-GfM,5418 -django/contrib/humanize/locale/de/LC_MESSAGES/django.po,sha256=wNFP1wO9hDhgyntigfVcHr7ZGao8a2PPgU24j4nl_O8,9184 -django/contrib/humanize/locale/dsb/LC_MESSAGES/django.mo,sha256=w2rgnclJnn1QQjqufly0NjUlP6kS6N8dcGwhbeBLq-w,7036 -django/contrib/humanize/locale/dsb/LC_MESSAGES/django.po,sha256=AAbtZ32HrIeB1SDn3xenPU8pFUL0Fy6D9eYlObt6EdU,11690 -django/contrib/humanize/locale/el/LC_MESSAGES/django.mo,sha256=o-yjhpzyGRbbdMzwUcG_dBP_FMEMZevm7Wz1p4Wd-pg,6740 -django/contrib/humanize/locale/el/LC_MESSAGES/django.po,sha256=UbD5QEw_-JNoNETaOyDfSReirkRsHnlHeSsZF5hOSkI,10658 -django/contrib/humanize/locale/en/LC_MESSAGES/django.mo,sha256=U0OV81NfbuNL9ctF-gbGUG5al1StqN-daB-F-gFBFC8,356 -django/contrib/humanize/locale/en/LC_MESSAGES/django.po,sha256=JJny3qazVIDtswuStyS6ZMV0UR0FUPWDqXVZ8PQRuU4,10689 -django/contrib/humanize/locale/en_AU/LC_MESSAGES/django.mo,sha256=dTndJxA-F1IE_nMUOtf1sRr7Kq2s_8yjgKk6mkWkVu4,486 -django/contrib/humanize/locale/en_AU/LC_MESSAGES/django.po,sha256=dVOlMtk3-d-KrNLM5Rji-Xrk6Y_n801ofjGQvxSu67M,4742 -django/contrib/humanize/locale/en_GB/LC_MESSAGES/django.mo,sha256=mkx192XQM3tt1xYG8EOacMfa-BvgzYCbSsJQsWZGeAo,3461 -django/contrib/humanize/locale/en_GB/LC_MESSAGES/django.po,sha256=MArKzXxY1104jxaq3kvDZs2WzOGYxicfJxFKsLzFavw,5801 -django/contrib/humanize/locale/eo/LC_MESSAGES/django.mo,sha256=b47HphXBi0cax_reCZiD3xIedavRHcH2iRG8pcwqb54,5386 -django/contrib/humanize/locale/eo/LC_MESSAGES/django.po,sha256=oN1YqOZgxKY3L1a1liluhM6X5YA5bawg91mHF_Vfqx8,9095 -django/contrib/humanize/locale/es/LC_MESSAGES/django.mo,sha256=qBSk64IcMaTrjGtTrlHP3qmNbKpA3rPz7ikNSwvOTKg,5393 -django/contrib/humanize/locale/es/LC_MESSAGES/django.po,sha256=YyTW90cMUAiF-Xec7aH6l-hBFu7mg9HFzYolkjw-wXw,9436 -django/contrib/humanize/locale/es_AR/LC_MESSAGES/django.mo,sha256=w3GNYZ0Cg9u7QTGWWnTPNI5JNS3PQkk0_XOlReDzLa4,5461 -django/contrib/humanize/locale/es_AR/LC_MESSAGES/django.po,sha256=zk18690pQF6URZmvOISW6OsoRQNiiU5lt_q07929Rko,9360 -django/contrib/humanize/locale/es_CO/LC_MESSAGES/django.mo,sha256=2GhQNtNOjK5mTov5RvnuJFTYbdoGBkDGLxzvJ8Vsrfs,4203 -django/contrib/humanize/locale/es_CO/LC_MESSAGES/django.po,sha256=JBf2fHO8jWi6dFdgZhstKXwyot_qT3iJBixQZc3l330,6326 -django/contrib/humanize/locale/es_MX/LC_MESSAGES/django.mo,sha256=82DL2ztdq10X5RIceshK1nO99DW5628ZIjaN8Xzp9ok,3939 -django/contrib/humanize/locale/es_MX/LC_MESSAGES/django.po,sha256=-O7AQluA5Kce9-bd04GN4tfQKoCxb8Sa7EZR6TZBCdM,6032 -django/contrib/humanize/locale/es_VE/LC_MESSAGES/django.mo,sha256=cJECzKpD99RRIpVFKQW65x0Nvpzrm5Fuhfi-nxOWmkM,942 -django/contrib/humanize/locale/es_VE/LC_MESSAGES/django.po,sha256=tDdYtvRILgeDMgZqKHSebe7Z5ZgI1bZhDdvGVtj_anM,4832 -django/contrib/humanize/locale/et/LC_MESSAGES/django.mo,sha256=qid7q1XcaF4Yso9EMvjjYHa4GpS2gEABZsjM6K7kvaw,5409 -django/contrib/humanize/locale/et/LC_MESSAGES/django.po,sha256=NwshOQjWccRg8Mc7l6W3am0BxEVM8xHSzRYtCeThWe8,9352 -django/contrib/humanize/locale/eu/LC_MESSAGES/django.mo,sha256=w2TlBudWWTI1M7RYCl_n2UY7U1CBzxIuwXl-7DCVl8o,5287 -django/contrib/humanize/locale/eu/LC_MESSAGES/django.po,sha256=77QrRqIsMuu-6HxHvaifKsPA9OVZR7686WFp26dQFMg,9146 -django/contrib/humanize/locale/fa/LC_MESSAGES/django.mo,sha256=-EfCvMVkX5VqYlXxiX8fLQntzZx8pBjmjtjvIdsaPvU,5808 -django/contrib/humanize/locale/fa/LC_MESSAGES/django.po,sha256=Xxv-FVTrSjbx0JB33F6O1wBzodwkHJpmTEiNssNTeYQ,9775 -django/contrib/humanize/locale/fi/LC_MESSAGES/django.mo,sha256=-ylgNKUDDMca8U6xAGPbVzKFi-iViLtZJIeN6ngI6xc,4616 -django/contrib/humanize/locale/fi/LC_MESSAGES/django.po,sha256=DLJd5OJR97gYPCcdSnFHDBXdCmmiPbRwSv1PlaoEWtU,9070 -django/contrib/humanize/locale/fr/LC_MESSAGES/django.mo,sha256=M7Qw0-T3752Scd4KXukhQHriG_2hgC8zYnGZGwBo_r8,5461 -django/contrib/humanize/locale/fr/LC_MESSAGES/django.po,sha256=xyn-d8-_ozUhfr25hpuUU5IQhZvtNI0JVDoUYoRzO88,9311 -django/contrib/humanize/locale/fy/LC_MESSAGES/django.mo,sha256=YQQy7wpjBORD9Isd-p0lLzYrUgAqv770_56-vXa0EOc,476 -django/contrib/humanize/locale/fy/LC_MESSAGES/django.po,sha256=pPvcGgBWiZwQ5yh30OlYs-YZUd_XsFro71T9wErVv0M,4732 -django/contrib/humanize/locale/ga/LC_MESSAGES/django.mo,sha256=AOEiBNOak_KQkBeGyUpTNO12zyg3CiK66h4kMoS15_0,5112 -django/contrib/humanize/locale/ga/LC_MESSAGES/django.po,sha256=jTXihbd-ysAUs0TEKkOBmXJJj69V0cFNOHM6VbcPCWw,11639 -django/contrib/humanize/locale/gd/LC_MESSAGES/django.mo,sha256=XNSpJUu4DxtlXryfUVeBOrvl2-WRyj2nKjips_qGDOg,7232 -django/contrib/humanize/locale/gd/LC_MESSAGES/django.po,sha256=I7s86NJDzeMsCGgXja--fTZNFm9bM7Cd8M1bstxabSY,11874 -django/contrib/humanize/locale/gl/LC_MESSAGES/django.mo,sha256=ChoVHsJ_bVIaHtHxhxuUK99Zu1tvRu0iY5vhtB1LDMg,3474 -django/contrib/humanize/locale/gl/LC_MESSAGES/django.po,sha256=U5D505aBKEdg80BGWddcwWuzmYdoNHx1WEPzVHQfbTE,5903 -django/contrib/humanize/locale/he/LC_MESSAGES/django.mo,sha256=zV7tqLeq2al9nSDKcTGp7cDD2pEuHD-J_34roqIYvZc,7857 -django/contrib/humanize/locale/he/LC_MESSAGES/django.po,sha256=gvUe-8PJc6dn-6lLpEi_PCDgITgJ6UzZls9cUHSA4Ss,12605 -django/contrib/humanize/locale/hi/LC_MESSAGES/django.mo,sha256=qrzm-6vXIUsxA7nOxa-210-6iO-3BPBj67vKfhTOPrY,4131 -django/contrib/humanize/locale/hi/LC_MESSAGES/django.po,sha256=BrypbKaQGOyY_Gl1-aHXiBVlRqrbSjGfZ2OK8omj_9M,6527 -django/contrib/humanize/locale/hr/LC_MESSAGES/django.mo,sha256=29XTvFJHex31hbu2qsOfl5kOusz-zls9eqlxtvw_H0s,1274 -django/contrib/humanize/locale/hr/LC_MESSAGES/django.po,sha256=OuEH4fJE6Fk-s0BMqoxxdlUAtndvvKK7N8Iy-9BP3qA,5424 -django/contrib/humanize/locale/hsb/LC_MESSAGES/django.mo,sha256=4ZQDrpkEyLSRtVHEbP31ejNrR6y-LSNDfW1Hhi7VczI,7146 -django/contrib/humanize/locale/hsb/LC_MESSAGES/django.po,sha256=GtSTgK-cKHMYeOYFvHtcUtUnLyWPP05F0ZM3tEYfshs,11800 -django/contrib/humanize/locale/hu/LC_MESSAGES/django.mo,sha256=8tEqiZHEc6YmfWjf7hO0Fb3Xd-HSleKaR1gT_XFTQ8g,5307 -django/contrib/humanize/locale/hu/LC_MESSAGES/django.po,sha256=KDVYBAGSuMrtwqO98-oGOOAp7Unfm7ode1sv8lfe81c,9124 -django/contrib/humanize/locale/hy/LC_MESSAGES/django.mo,sha256=C1yx1DrYTrZ7WkOzZ5hvunphWABvGX-DqXbChNQ5_yg,1488 -django/contrib/humanize/locale/hy/LC_MESSAGES/django.po,sha256=MGbuYylBt1C5hvSlktydD4oMLZ1Sjzj7DL_nl7uluTg,7823 -django/contrib/humanize/locale/ia/LC_MESSAGES/django.mo,sha256=d0m-FddFnKp08fQYQSC9Wr6M4THVU7ibt3zkIpx_Y_A,4167 -django/contrib/humanize/locale/ia/LC_MESSAGES/django.po,sha256=qX6fAZyn54hmtTU62oJcHF8p4QcYnoO2ZNczVjvjOeE,6067 -django/contrib/humanize/locale/id/LC_MESSAGES/django.mo,sha256=Wb_pFDfiAow4QUsbBiqvRYt49T6cBVFTMTB_F2QUbWI,4653 -django/contrib/humanize/locale/id/LC_MESSAGES/django.po,sha256=sNc4OeIE9wvxxOQlFC9xNawJkLxa2gPUVlaKGljovOw,8116 -django/contrib/humanize/locale/io/LC_MESSAGES/django.mo,sha256=nMu5JhIy8Fjie0g5bT8-h42YElCiS00b4h8ej_Ie-w0,464 -django/contrib/humanize/locale/io/LC_MESSAGES/django.po,sha256=RUs8JkpT0toKOLwdv1oCbcBP298EOk02dkdNSJiC-_A,4720 -django/contrib/humanize/locale/is/LC_MESSAGES/django.mo,sha256=D6ElUYj8rODRsZwlJlH0QyBSM44sVmuBCNoEkwPVxko,3805 -django/contrib/humanize/locale/is/LC_MESSAGES/django.po,sha256=1VddvtkhsK_5wmpYIqEFqFOo-NxIBnL9wwW74Tw9pbw,8863 -django/contrib/humanize/locale/it/LC_MESSAGES/django.mo,sha256=nOn-bSN3OVnqLwTlUfbb_iHLzwWt9hsR2GVHh4GZJZE,5940 -django/contrib/humanize/locale/it/LC_MESSAGES/django.po,sha256=r7sg7QtNFPzrENz5kj1wdktqdqMluA_RRtM8TKwe7PQ,10046 -django/contrib/humanize/locale/ja/LC_MESSAGES/django.mo,sha256=kYDryScxMRi2u2iOmpXc2dMytZ9_9DQMU3C3xD2REDE,4799 -django/contrib/humanize/locale/ja/LC_MESSAGES/django.po,sha256=6-W89FFg7x_JxJjACQhb4prK2Y7i1vlzm_nnIkgpNGw,8141 -django/contrib/humanize/locale/ka/LC_MESSAGES/django.mo,sha256=UeUbonYTkv1d2ljC0Qj8ZHw-59zHu83fuMvnME9Fkmw,4878 -django/contrib/humanize/locale/ka/LC_MESSAGES/django.po,sha256=-eAMexwjm8nSB4ARJU3f811UZnuatHKIFf8FevpJEpo,9875 -django/contrib/humanize/locale/kk/LC_MESSAGES/django.mo,sha256=jujbUM0jOpt3Mw8zN4LSIIkxCJ0ihk_24vR0bXoux78,2113 -django/contrib/humanize/locale/kk/LC_MESSAGES/django.po,sha256=hjZg_NRE9xMA5uEa2mVSv1Hr4rv8inG9es1Yq7uy9Zc,8283 -django/contrib/humanize/locale/km/LC_MESSAGES/django.mo,sha256=mfXs9p8VokORs6JqIfaSSnQshZEhS90rRFhOIHjW7CI,459 -django/contrib/humanize/locale/km/LC_MESSAGES/django.po,sha256=JQBEHtcy-hrV_GVWIjvUJyOf3dZ5jUzzN8DUTAbHKUg,4351 -django/contrib/humanize/locale/kn/LC_MESSAGES/django.mo,sha256=Oq3DIPjgCqkn8VZMb6ael7T8fQ7LnWobPPAZKQSFHl4,461 -django/contrib/humanize/locale/kn/LC_MESSAGES/django.po,sha256=yrXx6TInsxjnyJfhl8sXTLmYedd2jaAku9L_38CKR5A,4353 -django/contrib/humanize/locale/ko/LC_MESSAGES/django.mo,sha256=hDb7IOB8PRflKkZ81yQbgHtvN4TO35o5kWTK3WpiL4A,4817 -django/contrib/humanize/locale/ko/LC_MESSAGES/django.po,sha256=dZpSVF3l5wGTwKOXn0looag7Q23jyLGlzs083kpnqFc,8217 -django/contrib/humanize/locale/ky/LC_MESSAGES/django.mo,sha256=Az1jPnIXkf3NWnrfHUaptfRChqcgY5IzqO07fjBfswo,5039 -django/contrib/humanize/locale/ky/LC_MESSAGES/django.po,sha256=RZRDS9Fyd7wT9EYkGHdSipsYdXZB3FzbOPgbMrzBPHo,8297 -django/contrib/humanize/locale/lb/LC_MESSAGES/django.mo,sha256=xokesKl7h7k9dXFKIJwGETgwx1Ytq6mk2erBSxkgY-o,474 -django/contrib/humanize/locale/lb/LC_MESSAGES/django.po,sha256=_y0QFS5Kzx6uhwOnzmoHtCrbufMrhaTLsHD0LfMqtcM,4730 -django/contrib/humanize/locale/lt/LC_MESSAGES/django.mo,sha256=O0C-tPhxWNW5J4tCMlB7c7shVjNO6dmTURtIpTVO9uc,7333 -django/contrib/humanize/locale/lt/LC_MESSAGES/django.po,sha256=M5LlRxC1KWh1-3fwS93UqTijFuyRENmQJXfpxySSKik,12086 -django/contrib/humanize/locale/lv/LC_MESSAGES/django.mo,sha256=-XzcL0rlKmGkt28ukVIdwQZobR7RMmsOSstKH9eezuQ,6211 -django/contrib/humanize/locale/lv/LC_MESSAGES/django.po,sha256=fJOCQcPLCw1g-q8g4UNWR3MYFtBWSNkeOObjCMdWUp4,10572 -django/contrib/humanize/locale/mk/LC_MESSAGES/django.mo,sha256=htUgd6rcaeRPDf6UrEb18onz-Ayltw9LTvWRgEkXm08,4761 -django/contrib/humanize/locale/mk/LC_MESSAGES/django.po,sha256=Wl9Rt8j8WA_0jyxKCswIovSiCQD-ZWFYXbhFsCUKIWo,6665 -django/contrib/humanize/locale/ml/LC_MESSAGES/django.mo,sha256=5As-FXkEJIYetmV9dMtzLtsRPTOm1oUgyx-oeTH_guY,4655 -django/contrib/humanize/locale/ml/LC_MESSAGES/django.po,sha256=I9_Ln0C1nSj188_Zdq9Vy6lC8aLzg_YdNc5gy9hNGjE,10065 -django/contrib/humanize/locale/mn/LC_MESSAGES/django.mo,sha256=gi-b-GRPhg2s2O9wP2ENx4bVlgHBo0mSqoi58d_QpCw,6020 -django/contrib/humanize/locale/mn/LC_MESSAGES/django.po,sha256=0zV7fYPu6xs_DVOCUQ6li36JWOnpc-RQa0HXwo7FrWc,9797 -django/contrib/humanize/locale/mr/LC_MESSAGES/django.mo,sha256=2Z5jaGJzpiJTCnhCk8ulCDeAdj-WwR99scdHFPRoHoA,468 -django/contrib/humanize/locale/mr/LC_MESSAGES/django.po,sha256=M44sYiBJ7woVZZlDO8rPDQmS_Lz6pDTCajdheyxtdaI,4724 -django/contrib/humanize/locale/ms/LC_MESSAGES/django.mo,sha256=xSHIddCOU0bnfiyzQLaDaHAs1E4CaBlkyeXdLhJo1A8,842 -django/contrib/humanize/locale/ms/LC_MESSAGES/django.po,sha256=YhBKpxsTw9BleyaDIoDJAdwDleBFQdo1LckqLRmN8x4,7127 -django/contrib/humanize/locale/my/LC_MESSAGES/django.mo,sha256=55CWHz34sy9k6TfOeVI9GYvE9GRa3pjSRE6DSPk9uQ8,3479 -django/contrib/humanize/locale/my/LC_MESSAGES/django.po,sha256=jCiDhSqARfqKcMLEHJd-Xe6zo3Uc9QpiCh3BbAAA5UE,5433 -django/contrib/humanize/locale/nb/LC_MESSAGES/django.mo,sha256=ZQ8RSlS3DXBHmpjZrZza9FPSxb1vDBN87g87dRbGMkQ,5317 -django/contrib/humanize/locale/nb/LC_MESSAGES/django.po,sha256=fpfJStyZSHz0A6fVoRSOs_NKcUGo9fFKmXme4yll62s,9134 -django/contrib/humanize/locale/ne/LC_MESSAGES/django.mo,sha256=YFT2D-yEkUdJBO2GfuUowau1OZQA5mS86CZvMzH38Rk,3590 -django/contrib/humanize/locale/ne/LC_MESSAGES/django.po,sha256=SN7yH65hthOHohnyEmQUjXusRTDRjxWJG_kuv5g2Enk,9038 -django/contrib/humanize/locale/nl/LC_MESSAGES/django.mo,sha256=xSGou2yFmVuiMH3C1IefwHBSys0YI_qW8ZQ9rwLdlPQ,5262 -django/contrib/humanize/locale/nl/LC_MESSAGES/django.po,sha256=s7LbdXpSQxkqSr666oTwTNlfdrJpLeYGoCe1xlAkGH8,9217 -django/contrib/humanize/locale/nn/LC_MESSAGES/django.mo,sha256=_Qbyf366ApSCU09Er6CvEf5WrA8s6ZzsyZXs44BoT10,3482 -django/contrib/humanize/locale/nn/LC_MESSAGES/django.po,sha256=qkEeQKQ8XwPKtTv2Y8RscAnE4QarinOze3Y3BTIEMCk,5818 -django/contrib/humanize/locale/os/LC_MESSAGES/django.mo,sha256=BwS3Mj7z_Fg5s7Qm-bGLVhzYLZ8nPgXoB0gXLnrMGWc,3902 -django/contrib/humanize/locale/os/LC_MESSAGES/django.po,sha256=CGrxyL5l-5HexruOc7QDyRbum7piADf-nY8zjDP9wVM,6212 -django/contrib/humanize/locale/pa/LC_MESSAGES/django.mo,sha256=TH1GkAhaVVLk2jrcqAmdxZprWyikAX6qMP0eIlr2tWM,1569 -django/contrib/humanize/locale/pa/LC_MESSAGES/django.po,sha256=_7oP0Hn-IU7IPLv_Qxg_wstLEdhgWNBBTCWYwSycMb0,5200 -django/contrib/humanize/locale/pl/LC_MESSAGES/django.mo,sha256=UT-bQF-nGA9XBIuitXuld4JKrJKRct_HAbmHdPOE0eg,6977 -django/contrib/humanize/locale/pl/LC_MESSAGES/django.po,sha256=hgqkd9mPgYmacnv0y2RwMn5svKQO4BCSvh-0zuG2yeQ,11914 -django/contrib/humanize/locale/pt/LC_MESSAGES/django.mo,sha256=El9Sdr3kXS-yTol_sCg1dquxf0ThDdWyrWGjjim9Dj4,5408 -django/contrib/humanize/locale/pt/LC_MESSAGES/django.po,sha256=XudOc67ybF_fminrTR2XOCKEKwqB5FX14pl3clCNXGE,9281 -django/contrib/humanize/locale/pt_BR/LC_MESSAGES/django.mo,sha256=5GqZStkWlU0gGvtk_ufR3ZdLRqLEkSF6KJtbTuJb3pc,5427 -django/contrib/humanize/locale/pt_BR/LC_MESSAGES/django.po,sha256=Hz2kgq9Nv4jjGCyL16iE9ctJElxcLoIracR7DuVY-BE,9339 -django/contrib/humanize/locale/ro/LC_MESSAGES/django.mo,sha256=vP6o72bsgKPsbKGwH0PU8Xyz9BnQ_sPWT3EANLT2wRk,6188 -django/contrib/humanize/locale/ro/LC_MESSAGES/django.po,sha256=JZiW6Y9P5JdQe4vgCvcFg35kFa8bSX0lU_2zdeudQP0,10575 -django/contrib/humanize/locale/ru/LC_MESSAGES/django.mo,sha256=tkKePMXIA1h_TXxXmB2m-QbelTteNKEc5-SEzs7u6FM,8569 -django/contrib/humanize/locale/ru/LC_MESSAGES/django.po,sha256=fXkT7XpiU2_wmnR1__QCxIdndI2M3ssNus8rMM-TSOw,13609 -django/contrib/humanize/locale/sk/LC_MESSAGES/django.mo,sha256=uUeDN0iYDq_3vT3NcTOTpKCGcv2ner5WtkIk6GVIsu0,6931 -django/contrib/humanize/locale/sk/LC_MESSAGES/django.po,sha256=cwmpA5EbD4ZE8aK0I1enRE_4RVbtfp1HQy0g1n_IYAE,11708 -django/contrib/humanize/locale/sl/LC_MESSAGES/django.mo,sha256=f_07etc_G4OdYiUBKPkPqKm2iINqXoNsHUi3alUBgeo,5430 -django/contrib/humanize/locale/sl/LC_MESSAGES/django.po,sha256=mleF0fvn0oEfszhGLoaQkWofTwZJurKrJlIH8o-6kAI,8166 -django/contrib/humanize/locale/sq/LC_MESSAGES/django.mo,sha256=1XXRe0nurGUUxI7r7gbSIuluRuza7VOeNdkIVX3LIFU,5280 -django/contrib/humanize/locale/sq/LC_MESSAGES/django.po,sha256=BS-5o3aG8Im9dWTkx4E_IbbeTRFcjjohinz1823ZepI,9127 -django/contrib/humanize/locale/sr/LC_MESSAGES/django.mo,sha256=t_8Xa16yckJ6J0UOW1576TDMrjCCi1oZOpCZKKU7Uco,7205 -django/contrib/humanize/locale/sr/LC_MESSAGES/django.po,sha256=oP2901XyuUl0yaE6I-ggMzDcLoudU0YLcxB4DcFqSKU,11420 -django/contrib/humanize/locale/sr_Latn/LC_MESSAGES/django.mo,sha256=PaGxGtTZSzguwipvTdOhO7bvM8WlzCWb1RCEaIupRUQ,562 -django/contrib/humanize/locale/sr_Latn/LC_MESSAGES/django.po,sha256=FrPnMu6xX0NypoRYRAOBhdICGSv8geuHXQKKn3Gd9ck,5185 -django/contrib/humanize/locale/sv/LC_MESSAGES/django.mo,sha256=9BCahKoSjzfgXKCkubKvfyXAcrGAzaHvTtp-gSZzL84,5359 -django/contrib/humanize/locale/sv/LC_MESSAGES/django.po,sha256=-Agt-sWKqksZ_DCK1lRm4wzMnen4X28Gg1-hVfzI9FY,9224 -django/contrib/humanize/locale/sw/LC_MESSAGES/django.mo,sha256=cxjSUqegq1JX08xIAUgqq9ByP-HuqaXuxWM8Y2gHdB4,4146 -django/contrib/humanize/locale/sw/LC_MESSAGES/django.po,sha256=bPYrLJ2yY_lZ3y1K-RguNi-qrxq2r-GLlsz1gZcm2A8,6031 -django/contrib/humanize/locale/ta/LC_MESSAGES/django.mo,sha256=1X2vH0iZOwM0uYX9BccJUXqK-rOuhcu5isRzMpnjh2o,466 -django/contrib/humanize/locale/ta/LC_MESSAGES/django.po,sha256=8x1lMzq2KOJveX92ADSuqNmXGIEYf7fZ1JfIJPysS04,4722 -django/contrib/humanize/locale/te/LC_MESSAGES/django.mo,sha256=iKd4dW9tan8xPxgaSoenIGp1qQpvSHHXUw45Tj2ATKQ,1327 -django/contrib/humanize/locale/te/LC_MESSAGES/django.po,sha256=FQdjWKMsiv-qehYZ4AtN9iKRf8Rifzcm5TZzMkQVfQI,5103 -django/contrib/humanize/locale/tg/LC_MESSAGES/django.mo,sha256=1Fiqat0CZSyExRXRjRCBS0AFzwy0q1Iba-2RVnrXoZQ,1580 -django/contrib/humanize/locale/tg/LC_MESSAGES/django.po,sha256=j2iczgQDbqzpthKAAlMt1Jk7gprYLqZ1Ya0ASr2SgD0,7852 -django/contrib/humanize/locale/th/LC_MESSAGES/django.mo,sha256=jT7wGhYWP9HHwOvtr2rNPStiOgZW-rGMcO36w1U8Y4c,3709 -django/contrib/humanize/locale/th/LC_MESSAGES/django.po,sha256=ZO3_wU7z0VASS5E8RSLEtmTveMDjJ0O8QTynb2-jjt0,8318 -django/contrib/humanize/locale/tr/LC_MESSAGES/django.mo,sha256=Z7-3YuSHL0_5sVzsUglegY-jD9uQvw3nAzf2LVomTzU,5263 -django/contrib/humanize/locale/tr/LC_MESSAGES/django.po,sha256=aNI_MjfKWeb4UmukfkYWs1ZXj8JabBYG3WKkADGyOK8,9160 -django/contrib/humanize/locale/tt/LC_MESSAGES/django.mo,sha256=z8VgtMhlfyDo7bERDfrDmcYV5aqOeBY7LDgqa5DRxDM,3243 -django/contrib/humanize/locale/tt/LC_MESSAGES/django.po,sha256=j_tRbg1hzLBFAmPQt0HoN-_WzWFtA07PloCkqhvNkcY,5201 -django/contrib/humanize/locale/udm/LC_MESSAGES/django.mo,sha256=CNmoKj9Uc0qEInnV5t0Nt4ZnKSZCRdIG5fyfSsqwky4,462 -django/contrib/humanize/locale/udm/LC_MESSAGES/django.po,sha256=AR55jQHmMrbA6RyHGOtqdvUtTFlxWnqvfMy8vZK25Bo,4354 -django/contrib/humanize/locale/uk/LC_MESSAGES/django.mo,sha256=Y1DAAowIHg4ibKYa6blAjm_OAjE9DppWN0HIkW7FNCg,8809 -django/contrib/humanize/locale/uk/LC_MESSAGES/django.po,sha256=Kv644K7dXfAt4tustWP-2dVT5aV26wBlUeBHfYo1D50,13754 -django/contrib/humanize/locale/ur/LC_MESSAGES/django.mo,sha256=MF9uX26-4FFIz-QpDUbUHUNLQ1APaMLQmISMIaPsOBE,1347 -django/contrib/humanize/locale/ur/LC_MESSAGES/django.po,sha256=D5UhcPEcQ16fsBEdkk_zmpjIF6f0gEv0P86z_pK_1eA,5015 -django/contrib/humanize/locale/uz/LC_MESSAGES/django.mo,sha256=HDah_1qqUz5m_ABBVIEML3WMR2xyomFckX82i6b3n4k,1915 -django/contrib/humanize/locale/uz/LC_MESSAGES/django.po,sha256=Ql3GZOhuoVgS0xHEzxjyYkOWQUyi_jiizfAXBp2Y4uw,7296 -django/contrib/humanize/locale/vi/LC_MESSAGES/django.mo,sha256=ZUK_Na0vnfdhjo0MgnBWnGFU34sxcMf_h0MeyuysKG8,3646 -django/contrib/humanize/locale/vi/LC_MESSAGES/django.po,sha256=DzRpXObt9yP5RK_slWruaIhnVI0-JXux2hn_uGsVZiE,5235 -django/contrib/humanize/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=JcMWgxYXOPXTCR6t8szkuDHSQ6p0RJX7Tggq84gJhwQ,4709 -django/contrib/humanize/locale/zh_Hans/LC_MESSAGES/django.po,sha256=L7SmGldceykiGHJe42Hxx_qyJa9rBuAnJdYgIY-L-6o,8242 -django/contrib/humanize/locale/zh_Hant/LC_MESSAGES/django.mo,sha256=qYO9_rWuIMxnlL9Q8V9HfhUu7Ebv1HGOlvsnh7MvZkE,4520 -django/contrib/humanize/locale/zh_Hant/LC_MESSAGES/django.po,sha256=AijEfvIlJK9oVaLJ7lplmbvhGRKIbYcLh8WxoBYoQkA,7929 -django/contrib/humanize/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/humanize/templatetags/__pycache__/__init__.cpython-38.pyc,, -django/contrib/humanize/templatetags/__pycache__/humanize.cpython-38.pyc,, -django/contrib/humanize/templatetags/humanize.py,sha256=mOUNwdvczEP2iPs-8OkUs8N1vZMDvSpKlnMQ8StOFZk,12591 -django/contrib/messages/__init__.py,sha256=Sjt2mgia8vqSpISrs67N27rAXgvqR-MPq37VB-nmSvE,174 -django/contrib/messages/__pycache__/__init__.cpython-38.pyc,, -django/contrib/messages/__pycache__/api.cpython-38.pyc,, -django/contrib/messages/__pycache__/apps.cpython-38.pyc,, -django/contrib/messages/__pycache__/constants.cpython-38.pyc,, -django/contrib/messages/__pycache__/context_processors.cpython-38.pyc,, -django/contrib/messages/__pycache__/middleware.cpython-38.pyc,, -django/contrib/messages/__pycache__/utils.cpython-38.pyc,, -django/contrib/messages/__pycache__/views.cpython-38.pyc,, -django/contrib/messages/api.py,sha256=sWP2DP-n8ZWOTM-BLFDGrH_l-voGwrSxC0OgEyJt1F4,3071 -django/contrib/messages/apps.py,sha256=yGXBKfV5WF_ElcPbX4wJjXq6jzp39ttnO7sp8N_IzOQ,194 -django/contrib/messages/constants.py,sha256=WZxjzvEoKI7mgChSFp_g9e-zUH8r6JLhu9sFsftTGNA,312 -django/contrib/messages/context_processors.py,sha256=0LniZjxZ7Fx2BxYdJ0tcruhG4kkBEEhsc7Urcf31NnE,354 -django/contrib/messages/middleware.py,sha256=4L-bzgSjTw-Kgh8Wg8MOqkJPyilaxyXi_jH1UpP1h-U,986 -django/contrib/messages/storage/__init__.py,sha256=gXDHbQ9KgQdfhYOla9Qj59_SlE9WURQiKzIA0cFH0DQ,392 -django/contrib/messages/storage/__pycache__/__init__.cpython-38.pyc,, -django/contrib/messages/storage/__pycache__/base.cpython-38.pyc,, -django/contrib/messages/storage/__pycache__/cookie.cpython-38.pyc,, -django/contrib/messages/storage/__pycache__/fallback.cpython-38.pyc,, -django/contrib/messages/storage/__pycache__/session.cpython-38.pyc,, -django/contrib/messages/storage/base.py,sha256=Yv87oNn-aAFMatjSmwMJDzMw7rs_ip4F0mBkmiaFPY4,5675 -django/contrib/messages/storage/cookie.py,sha256=2d3irKauUHjdK0ggRAvkCdFnHoWp8lONnlmN_pO24zc,7266 -django/contrib/messages/storage/fallback.py,sha256=IbyyZg8cTU-19ZeRg6LndLfRK0SoevDwqKtrqzhVp6c,2095 -django/contrib/messages/storage/session.py,sha256=GVQjr7Xqke6AlFFrmB5XVlYSzB5mzInlbyZ04XdIUQk,1640 -django/contrib/messages/utils.py,sha256=6PzAryJ0e6oOwtSAMrjAIsYGu_nWIpgMG0p8f_rzOrg,256 -django/contrib/messages/views.py,sha256=R5xD2DLmAO0x6EGpE8TX5bku4zioOiYkQnAtf6r-VAE,523 -django/contrib/postgres/__init__.py,sha256=jtn9-mwOISc5D_YUoQ5z_3sN4bEPNxBOCDzbGNag_mc,67 -django/contrib/postgres/__pycache__/__init__.cpython-38.pyc,, -django/contrib/postgres/__pycache__/apps.cpython-38.pyc,, -django/contrib/postgres/__pycache__/constraints.cpython-38.pyc,, -django/contrib/postgres/__pycache__/functions.cpython-38.pyc,, -django/contrib/postgres/__pycache__/indexes.cpython-38.pyc,, -django/contrib/postgres/__pycache__/lookups.cpython-38.pyc,, -django/contrib/postgres/__pycache__/operations.cpython-38.pyc,, -django/contrib/postgres/__pycache__/search.cpython-38.pyc,, -django/contrib/postgres/__pycache__/serializers.cpython-38.pyc,, -django/contrib/postgres/__pycache__/signals.cpython-38.pyc,, -django/contrib/postgres/__pycache__/utils.cpython-38.pyc,, -django/contrib/postgres/__pycache__/validators.cpython-38.pyc,, -django/contrib/postgres/aggregates/__init__.py,sha256=QCznqMKqPbpraxSi1Y8-B7_MYlL42F1kEWZ1HeLgTKs,65 -django/contrib/postgres/aggregates/__pycache__/__init__.cpython-38.pyc,, -django/contrib/postgres/aggregates/__pycache__/general.cpython-38.pyc,, -django/contrib/postgres/aggregates/__pycache__/mixins.cpython-38.pyc,, -django/contrib/postgres/aggregates/__pycache__/statistics.cpython-38.pyc,, -django/contrib/postgres/aggregates/general.py,sha256=8N2RCtVFDx4PJ7GPzSkEqwPdyry96u59gYRH_A0xfzU,1545 -django/contrib/postgres/aggregates/mixins.py,sha256=kx0asjl1rWyuCc115jGlAAR4B-oIxCNuSBN3YLVs4_o,2064 -django/contrib/postgres/aggregates/statistics.py,sha256=Snn2JTyiri0m9k64ZWl7pr0LtN5D8N8oi2FIu2qoJ0o,1462 -django/contrib/postgres/apps.py,sha256=ewQL24-zYKPu2h0wjU8rJr9asoDSgbpEElf7b4pqa90,2932 -django/contrib/postgres/constraints.py,sha256=ppo-D4NLBiccV0YK2wRCQbccM2L-u_PzO1bfSLzzqKc,5022 -django/contrib/postgres/fields/__init__.py,sha256=Xo8wuWPwVNOkKY-EwV9U1zusQ2DjMXXtL7_8R_xAi5s,148 -django/contrib/postgres/fields/__pycache__/__init__.cpython-38.pyc,, -django/contrib/postgres/fields/__pycache__/array.cpython-38.pyc,, -django/contrib/postgres/fields/__pycache__/citext.cpython-38.pyc,, -django/contrib/postgres/fields/__pycache__/hstore.cpython-38.pyc,, -django/contrib/postgres/fields/__pycache__/jsonb.cpython-38.pyc,, -django/contrib/postgres/fields/__pycache__/ranges.cpython-38.pyc,, -django/contrib/postgres/fields/__pycache__/utils.cpython-38.pyc,, -django/contrib/postgres/fields/array.py,sha256=IMHHdUBZcALGxfbp6r9LY9U5E_OLWXWXY48jes97Yfs,9996 -django/contrib/postgres/fields/citext.py,sha256=G40UZv4zop8Zrq2vMhluZ-MT7yPLEc8IEDi3hZ27gGw,439 -django/contrib/postgres/fields/hstore.py,sha256=BfQ3ifm7NGTlKHqYvazgaWoDf6GDRiqDwAcdMgnZ0co,3243 -django/contrib/postgres/fields/jsonb.py,sha256=7OGh-sP4qtQkAZWLZf_2F0UBAOVAK8W5oUW2JcxiukU,1428 -django/contrib/postgres/fields/ranges.py,sha256=QynHfVwQlYI8LEyax-gLOQGu9bOLoG4EbBdcvyhHXCw,9723 -django/contrib/postgres/fields/utils.py,sha256=TV-Aj9VpBb13I2iuziSDURttZtz355XakxXnFwvtGio,95 -django/contrib/postgres/forms/__init__.py,sha256=GSqucR50I9jrZUYZUFVmb8nV_FSlXu1BcCpFck2pVXI,118 -django/contrib/postgres/forms/__pycache__/__init__.cpython-38.pyc,, -django/contrib/postgres/forms/__pycache__/array.cpython-38.pyc,, -django/contrib/postgres/forms/__pycache__/hstore.cpython-38.pyc,, -django/contrib/postgres/forms/__pycache__/jsonb.cpython-38.pyc,, -django/contrib/postgres/forms/__pycache__/ranges.cpython-38.pyc,, -django/contrib/postgres/forms/array.py,sha256=qWmxMDlo5UfKTET03kqyhXF1-b3rGCnuuAOhyvbzHL8,8065 -django/contrib/postgres/forms/hstore.py,sha256=f7PJ41fsd8D7cvyJG-_ugslM-hXL7qnZPdx08UZQNXY,1766 -django/contrib/postgres/forms/jsonb.py,sha256=WmDxuxhULUYO8_nKXXsOz26ta4oye0MQwHhDCW5Oe5g,484 -django/contrib/postgres/forms/ranges.py,sha256=GZX5dB4q5G1-FMo54r_gW3Jl89rbnL-EnDetSFNRH_A,3344 -django/contrib/postgres/functions.py,sha256=zHeAyKR5MhnsIGI5qbtmRdxPm8OtycEBE5OmCNyynD8,252 -django/contrib/postgres/indexes.py,sha256=kndWpMbJh0oMAaxKnkv8J7ShkRSY4AJmxqtEggUCCpY,7845 -django/contrib/postgres/jinja2/postgres/widgets/split_array.html,sha256=AzaPLlNLg91qkVQwwtAJxwOqDemrtt_btSkWLpboJDs,54 -django/contrib/postgres/locale/af/LC_MESSAGES/django.mo,sha256=kDeL_SZezO8DRNMRh2oXz94YtAK1ZzPiK5dftqAonKI,2841 -django/contrib/postgres/locale/af/LC_MESSAGES/django.po,sha256=ALKUHbZ8DE6IH80STMJhGOoyHB8HSSxI4PlX_SfxJWc,3209 -django/contrib/postgres/locale/ar/LC_MESSAGES/django.mo,sha256=UTBknYC-W7nclTrBCEiCpTglZxZQY80UqGki8I6j3EM,4294 -django/contrib/postgres/locale/ar/LC_MESSAGES/django.po,sha256=_PgF2T3ylO4vnixVoKRsgmpPDHO-Qhj3mShHtHeSna0,4821 -django/contrib/postgres/locale/ar_DZ/LC_MESSAGES/django.mo,sha256=fND1NtGTmEl7Rukt_VlqJeExdJjphBygmI-qJmE83P0,4352 -django/contrib/postgres/locale/ar_DZ/LC_MESSAGES/django.po,sha256=Z9y3h6lDnbwD4JOn7OACLjEZqNY8OpEwuzoUD8FSdwA,4868 -django/contrib/postgres/locale/az/LC_MESSAGES/django.mo,sha256=K-2weZNapdDjP5-ecOfQhhhWmVR53JneJ2n4amA_zTk,2855 -django/contrib/postgres/locale/az/LC_MESSAGES/django.po,sha256=Pn47g_NvMgSBjguFLT_AE1QzxOGXOYjA-g_heXAT_tU,3214 -django/contrib/postgres/locale/be/LC_MESSAGES/django.mo,sha256=0Y6S-XR45rgw0zEZgjpRJyNm7szHxr9XOUyolo_5cN0,4134 -django/contrib/postgres/locale/be/LC_MESSAGES/django.po,sha256=KIkbhabWDYo4iDaQ8Dt0kxH_VB2wTFsS0rGs9zzKoKU,4635 -django/contrib/postgres/locale/bg/LC_MESSAGES/django.mo,sha256=5YRXtACYtWmAdz7Nmr9Btqypb5Ncu8dswf8gzurOJuo,2969 -django/contrib/postgres/locale/bg/LC_MESSAGES/django.po,sha256=CN_a4ac_1ZLxUHFTbYf5BmYHKBaxuHd7OIBFep558m0,3645 -django/contrib/postgres/locale/ca/LC_MESSAGES/django.mo,sha256=XR1UEZV9AXKFz7XrchjRkd-tEdjnlmccW_I7XANyMns,2904 -django/contrib/postgres/locale/ca/LC_MESSAGES/django.po,sha256=5wPLvkODU_501cHPZ7v0n89rmFrsuctt7T8dUBMfQ0Q,3430 -django/contrib/postgres/locale/cs/LC_MESSAGES/django.mo,sha256=_EmT9NnoX3xeRU-AI5sPlAszjzC0XwryWOmj8d07ox8,3388 -django/contrib/postgres/locale/cs/LC_MESSAGES/django.po,sha256=dkWVucs3-avEVtk_Xh5p-C8Tvw_oKDASdgab_-ByP-w,3884 -django/contrib/postgres/locale/da/LC_MESSAGES/django.mo,sha256=Pi841HD7j9mPiKNTaBvQP2aa5cF9MtwqbY6zfiouwu4,2916 -django/contrib/postgres/locale/da/LC_MESSAGES/django.po,sha256=3D8kRTXX2nbuvRoDlTf5tHB2S_k2d571L678wa3nBA8,3339 -django/contrib/postgres/locale/de/LC_MESSAGES/django.mo,sha256=B3HwniAOjSHmhuuqpLVa3nqYD5HPzZ7vwtQ_oPKiByE,2993 -django/contrib/postgres/locale/de/LC_MESSAGES/django.po,sha256=dZu8_1FIFKw67QnhXsGibfWT2W3d07Ro9CU8Y_HolvE,3468 -django/contrib/postgres/locale/dsb/LC_MESSAGES/django.mo,sha256=4Ymt58bCjpZlmNDZbFO8TtI6agusGvTwlDCjip_q8nQ,3573 -django/contrib/postgres/locale/dsb/LC_MESSAGES/django.po,sha256=m1PlbIRBIkTnbe2jLzcR0_Oi9MujrsS82apXd8GDkcs,4033 -django/contrib/postgres/locale/el/LC_MESSAGES/django.mo,sha256=haeVSD4yQq0zxi5mpDItnRv9DpBVOgQ2IOIS6T9OGxQ,3428 -django/contrib/postgres/locale/el/LC_MESSAGES/django.po,sha256=VeB_UwU4IFZCSVum_vTekAaDsYEvanmDywLj3EsPYBo,4013 -django/contrib/postgres/locale/en/LC_MESSAGES/django.mo,sha256=U0OV81NfbuNL9ctF-gbGUG5al1StqN-daB-F-gFBFC8,356 -django/contrib/postgres/locale/en/LC_MESSAGES/django.po,sha256=FtuWLiTQcIvK-kpbZujmawA0yQeRERhzfoJeEiOAyJw,2865 -django/contrib/postgres/locale/eo/LC_MESSAGES/django.mo,sha256=1wqM_IVO8Dl9AefzvWYuoS4eNTrBg7LDH6XUMovKi9A,2742 -django/contrib/postgres/locale/eo/LC_MESSAGES/django.po,sha256=r2tpOblfLAAHMacDWU-OVXTQus_vvAPMjUzVfrV_T7U,3217 -django/contrib/postgres/locale/es/LC_MESSAGES/django.mo,sha256=GoDmVupnksF_ypFyzFSjsGYb6EKA--HwvJfByZtSlTA,2917 -django/contrib/postgres/locale/es/LC_MESSAGES/django.po,sha256=kPsH3ohAmLLkEI5xKqge39SDF8FrNTx1emhPPeReYUg,3518 -django/contrib/postgres/locale/es_AR/LC_MESSAGES/django.mo,sha256=f_gM-9Y0FK-y67lU2b4yYiFt0hz4ps9gH0NhCZScwaE,2917 -django/contrib/postgres/locale/es_AR/LC_MESSAGES/django.po,sha256=0qNlBk5v2QhZsb90xX3xHp8gw6jXevERbkOLBjwtJOc,3278 -django/contrib/postgres/locale/es_CO/LC_MESSAGES/django.mo,sha256=Q2eOegYKQFY3fAKZCX7VvZAN6lT304W51aGl0lzkbLU,2484 -django/contrib/postgres/locale/es_CO/LC_MESSAGES/django.po,sha256=bbgOn34B7CSq1Kf2IrJh6oRJWPur_Smc4ebljIxAFGE,3233 -django/contrib/postgres/locale/es_MX/LC_MESSAGES/django.mo,sha256=l6WdS59mDfjsV9EMULjKP2DhXR7x3bYax1iokL-AXcU,689 -django/contrib/postgres/locale/es_MX/LC_MESSAGES/django.po,sha256=_-jzhIT71zV539_4SUbwvOXfDHkxRy1FDGdx23iB7B4,2283 -django/contrib/postgres/locale/et/LC_MESSAGES/django.mo,sha256=oPGqGUQhU9xE7j6hQZSVdC-be2WV-_BNrSAaN4csFR4,2886 -django/contrib/postgres/locale/et/LC_MESSAGES/django.po,sha256=xKkb-0CQCAn37xe0G2jfQmjg2kuYBmXB5yBpTA5lYNI,3404 -django/contrib/postgres/locale/eu/LC_MESSAGES/django.mo,sha256=wpn3ZC3YgJ_ERw24Hc-xBx_3sW8HP3TTWs24K615xMM,2735 -django/contrib/postgres/locale/eu/LC_MESSAGES/django.po,sha256=xPow7IjtKrmDHxH9cMsgitkkeNskpK3AfYtjcIttlsM,3237 -django/contrib/postgres/locale/fa/LC_MESSAGES/django.mo,sha256=uLh9fJtCSKg5eaj9uGP2muN_71aFxpZwOjRHtnZhPik,3308 -django/contrib/postgres/locale/fa/LC_MESSAGES/django.po,sha256=adN7bh9Q_R0Wzlf2fWaQnTtvxo0NslyoHH5t5V0eeMM,3845 -django/contrib/postgres/locale/fi/LC_MESSAGES/django.mo,sha256=NsLkOHit39UJZD_S7IZf9GgaWJ-ydH7KHTIdu8_-Nms,2715 -django/contrib/postgres/locale/fi/LC_MESSAGES/django.po,sha256=XGQylOpM3vOYp274zoWpZzrhOwg8PSVx-oVbJ6RwmaI,3210 -django/contrib/postgres/locale/fr/LC_MESSAGES/django.mo,sha256=wmlIBo9os5o1u04uSvk9-VBCCfK47MWj6kIirqMvHMA,3081 -django/contrib/postgres/locale/fr/LC_MESSAGES/django.po,sha256=sLwnf7qCGv5buhPp6kEJhsjx_BqFTxT5k5o3gQQ8fEI,3463 -django/contrib/postgres/locale/gd/LC_MESSAGES/django.mo,sha256=okWU_Ke95EG2pm8rZ4PT5ScO-8f0Hqg65lYZgSid8tM,3541 -django/contrib/postgres/locale/gd/LC_MESSAGES/django.po,sha256=tjt5kfkUGryU3hFzPuAly2DBDLuLQTTD5p-XrxryFEI,4013 -django/contrib/postgres/locale/gl/LC_MESSAGES/django.mo,sha256=MjJ8iObaHWyy2vFg_pDepfkiVH8LlTVHdy5tSqt8Wbw,539 -django/contrib/postgres/locale/gl/LC_MESSAGES/django.po,sha256=uI-7M-VYa4rqbEZcNwfQHUYDGRsz5mmksdigRywKDQc,2222 -django/contrib/postgres/locale/he/LC_MESSAGES/django.mo,sha256=UDu--EyjTrPOqf-XI9rH_Z9z7mhBGnXvrpHrfdGBlKk,3713 -django/contrib/postgres/locale/he/LC_MESSAGES/django.po,sha256=ekkwIceJdQKqL9VlCYwipnrsckSLhGi5OwBKEloZWlU,4188 -django/contrib/postgres/locale/hr/LC_MESSAGES/django.mo,sha256=vdm5GxgpKuVdGoVl3VreD8IB1Mq5HGWuq-2YDeDrNnU,929 -django/contrib/postgres/locale/hr/LC_MESSAGES/django.po,sha256=8TxEnVH2yIQWbmbmDOpR7kksNFSaUGVhimRPQgSgDkM,2501 -django/contrib/postgres/locale/hsb/LC_MESSAGES/django.mo,sha256=fnzghbobisOaQTMu6Fm7FMAv7r6afzc8_hFHwlrHU0Y,3482 -django/contrib/postgres/locale/hsb/LC_MESSAGES/django.po,sha256=V35au4H4RIMcVq_T-KEfnQ2oUqxJqyXP--YFHWt_DNw,3933 -django/contrib/postgres/locale/hu/LC_MESSAGES/django.mo,sha256=6-9w_URPmVzSCcFea7eThbIE5Q-QSr5Q-i0zvKhpBBI,2872 -django/contrib/postgres/locale/hu/LC_MESSAGES/django.po,sha256=fx4w4FgjfP0dlik7zGCJsZEHmmwQUSA-GRzg4KeVd_s,3394 -django/contrib/postgres/locale/hy/LC_MESSAGES/django.mo,sha256=2QFIJdmh47IGPqI-8rvuHR0HdH2LOAmaYqEeCwUpRuw,3234 -django/contrib/postgres/locale/hy/LC_MESSAGES/django.po,sha256=MLHMbdwdo1txzFOG-fVK4VUvAoDtrLA8CdpQThybSCQ,3825 -django/contrib/postgres/locale/ia/LC_MESSAGES/django.mo,sha256=gn8lf-gOP4vv-iiqnkcxvjzhJ8pTdetBhHyjl4TapXo,582 -django/contrib/postgres/locale/ia/LC_MESSAGES/django.po,sha256=FsqhPQf0j4g06rGuWSTn8A1kJ7E5U9rX16mtB8CAiIE,2251 -django/contrib/postgres/locale/id/LC_MESSAGES/django.mo,sha256=KKI5fjmuD7jqiGe7SgGkWmF6unHNe8JMVoOSDVemB8o,2733 -django/contrib/postgres/locale/id/LC_MESSAGES/django.po,sha256=Me13R5Oi89IZ0T3CtY0MZ34YK3T-HIZ7GbtFiXl2h50,3300 -django/contrib/postgres/locale/is/LC_MESSAGES/django.mo,sha256=rNL5Un5K_iRAZDtpHo4egcySaaBnNEirYDuWw0eI7gk,2931 -django/contrib/postgres/locale/is/LC_MESSAGES/django.po,sha256=UO53ciyI0jCVtBOXWkaip2AbPE2Hd2YhzK1RAlcxyQ8,3313 -django/contrib/postgres/locale/it/LC_MESSAGES/django.mo,sha256=m7bI5A6ER8TNWQH7m5-vU4xbFeqDlw-Tslv02oLLWJs,2978 -django/contrib/postgres/locale/it/LC_MESSAGES/django.po,sha256=FgyUi-A3zHv-UC21oqQ8NuHKSccRaH5_UqSuOpJFlKk,3600 -django/contrib/postgres/locale/ja/LC_MESSAGES/django.mo,sha256=Up-87OUoJEieJkp8QecimVE-9q2krKt0pdHw1CcSxXs,3027 -django/contrib/postgres/locale/ja/LC_MESSAGES/django.po,sha256=mq2YnEbj6R6EEic2Gyhc56o-BbyJFv4PoJjXzz1CauI,3416 -django/contrib/postgres/locale/ka/LC_MESSAGES/django.mo,sha256=A_VhLUZbocGNF5_5mMoYfB3l654MrPIW4dL1ywd3Tw8,713 -django/contrib/postgres/locale/ka/LC_MESSAGES/django.po,sha256=kRIwQ1Nrzdf5arHHxOPzQcB-XwPNK5lUFKU0L3QHfC8,2356 -django/contrib/postgres/locale/kk/LC_MESSAGES/django.mo,sha256=xMc-UwyP1_jBHcGIAGWmDAjvSL50jJaiZbcT5TmzDOg,665 -django/contrib/postgres/locale/kk/LC_MESSAGES/django.po,sha256=f6Z3VUFRJ3FgSReC0JItjA0RaYbblqDb31lbJ3RRExQ,2327 -django/contrib/postgres/locale/ko/LC_MESSAGES/django.mo,sha256=vK52cwamFt1mrvpSaoVcf2RAmQghw_EbPVrx_EA9onI,2897 -django/contrib/postgres/locale/ko/LC_MESSAGES/django.po,sha256=N_HTD-HK_xI27gZJRm_sEX4qM_Wtgdy5Pwqb8A6h9C8,3445 -django/contrib/postgres/locale/ky/LC_MESSAGES/django.mo,sha256=F0Ws34MbE7zJa8FNxA-9rFm5sNLL22D24LyiBb927lE,3101 -django/contrib/postgres/locale/ky/LC_MESSAGES/django.po,sha256=yAzSeT2jBm7R2ZXiuYBQFSKQ_uWIUfNTAobE1UYnlPs,3504 -django/contrib/postgres/locale/lt/LC_MESSAGES/django.mo,sha256=kJ3ih8HrHt2M_hFW0H9BZg7zcj6sXy6H_fD1ReIzngM,3452 -django/contrib/postgres/locale/lt/LC_MESSAGES/django.po,sha256=PNADIV8hdpLoqwW4zpIhxtWnQN8cPkdcoXYngyjFeFw,3972 -django/contrib/postgres/locale/lv/LC_MESSAGES/django.mo,sha256=zSCp3i4tUkXh-o0uCnOntFhohUId8ctOQIooEgPbrtw,3099 -django/contrib/postgres/locale/lv/LC_MESSAGES/django.po,sha256=HaGoMy-idXgYHqxczydnQSZdzRv-YaShFU2ns4yuPAY,3626 -django/contrib/postgres/locale/mk/LC_MESSAGES/django.mo,sha256=WE4nRJKWAZvXuyU2qT2_FGqGlKYsP1KSACCtT10gQQY,3048 -django/contrib/postgres/locale/mk/LC_MESSAGES/django.po,sha256=CQX91LP1Gbkazpt4hTownJtSqZGR1OJfoD-1MCo6C1Y,3783 -django/contrib/postgres/locale/ml/LC_MESSAGES/django.mo,sha256=N47idWIsmtghZ_D5325TRsDFeoUa0MIvMFtdx7ozAHc,1581 -django/contrib/postgres/locale/ml/LC_MESSAGES/django.po,sha256=lt_7fGZV7BCB2XqFWIQQtH4niU4oMBfGzQQuN5sD0fo,2947 -django/contrib/postgres/locale/mn/LC_MESSAGES/django.mo,sha256=VWeXaMvdqhW0GHs1Irb1ikTceH7jMKH_xMzKLH0vKZg,3310 -django/contrib/postgres/locale/mn/LC_MESSAGES/django.po,sha256=p3141FJiYrkV8rocgqdxnV05FReQYZmosv9LI46FlfE,3867 -django/contrib/postgres/locale/nb/LC_MESSAGES/django.mo,sha256=3h8DqEFG39i6uHY0vpXuGFmoJnAxTtRFy1RazcYIXfg,2849 -django/contrib/postgres/locale/nb/LC_MESSAGES/django.po,sha256=gDUg-HDg3LiYMKzb2QaDrYopqaJmbvnw2Fo-qhUHFuI,3252 -django/contrib/postgres/locale/ne/LC_MESSAGES/django.mo,sha256=5XdBLGMkn20qeya3MgTCpsIDxLEa7PV-i2BmK993iRc,875 -django/contrib/postgres/locale/ne/LC_MESSAGES/django.po,sha256=1QLLfbrHneJmxM_5UTpNIYalP-qX7Bn7bmj4AfDLIzE,2421 -django/contrib/postgres/locale/nl/LC_MESSAGES/django.mo,sha256=ttUzGWvxJYw71fVbcXCwzetyTWERBsURTe_nsf_axq0,2951 -django/contrib/postgres/locale/nl/LC_MESSAGES/django.po,sha256=ENw-dI6FHFqxclQKdefthCIVgp41HoIYj0IBmRCz0Vw,3515 -django/contrib/postgres/locale/pl/LC_MESSAGES/django.mo,sha256=HZOPQ8tC_vWEqsCAtDquwnyhEiECyKSmVHuoklAj6hA,3444 -django/contrib/postgres/locale/pl/LC_MESSAGES/django.po,sha256=gKrgT2Mpuxhs6ym_D4yJQVC0tVr9KSaZBP7Fc4yW-wY,4150 -django/contrib/postgres/locale/pt/LC_MESSAGES/django.mo,sha256=KZvJXjrIdtxbffckcrRV3nJ5GnID6PvqAb7vpOiWpHE,2745 -django/contrib/postgres/locale/pt/LC_MESSAGES/django.po,sha256=2gIDOjnFo6Iom-oTkQek4IX6FYPI9rNp9V-6sJ55aL8,3281 -django/contrib/postgres/locale/pt_BR/LC_MESSAGES/django.mo,sha256=y4D_g5Er3BpERdgloYcjvrhd2b_H77HzLkNUPiQY7d4,2903 -django/contrib/postgres/locale/pt_BR/LC_MESSAGES/django.po,sha256=NTn26DdAGB90QPXwiWmhuB6un6sL2Rff5DJddtjLid4,3648 -django/contrib/postgres/locale/ro/LC_MESSAGES/django.mo,sha256=w4tyByrZlba_Ju_F2OzD52ut5JSD6UGJfjt3A7CG_uc,3188 -django/contrib/postgres/locale/ro/LC_MESSAGES/django.po,sha256=hnotgrr-zeEmE4lgpqDDiJ051GoGbL_2GVs4O9dVLXI,3700 -django/contrib/postgres/locale/ru/LC_MESSAGES/django.mo,sha256=TQ7EuEipMb-vduqTGhQY8PhjmDrCgujKGRX7Im0BymQ,4721 -django/contrib/postgres/locale/ru/LC_MESSAGES/django.po,sha256=Me728Qfq_PXRZDxjGQbs3lLMueG3bNaqGZuZPgqsZQA,5495 -django/contrib/postgres/locale/sk/LC_MESSAGES/django.mo,sha256=L_eckSvIZrjjZMLilvodoa-mjqHcr7BXuc7luqcrC6Q,3216 -django/contrib/postgres/locale/sk/LC_MESSAGES/django.po,sha256=Ehl9xx4OEotrgNLV4Rz108a9y3vAvXBGUOfiyvkT3gk,3728 -django/contrib/postgres/locale/sl/LC_MESSAGES/django.mo,sha256=rBO3S_wTGtqYq3PPasYZ9fMIxbNsCevNwNlj-csP53Y,3026 -django/contrib/postgres/locale/sl/LC_MESSAGES/django.po,sha256=-hQIB9eapgVP-jrewMbtlwZfiNn8N9w03BF9OkP73xE,3642 -django/contrib/postgres/locale/sq/LC_MESSAGES/django.mo,sha256=Pm-uXjVgLGsPwPueqLL4bLJooVzeRFwqk-gpIlxXRDE,2899 -django/contrib/postgres/locale/sq/LC_MESSAGES/django.po,sha256=hQq8PofZztjMCuvv4vZuWYIwHYErygvCz2zAsplfgWs,3281 -django/contrib/postgres/locale/sr/LC_MESSAGES/django.mo,sha256=xNuocml3ql2Cz5cp74N525eaJ7erKcEwLbFc6IZqYBk,3753 -django/contrib/postgres/locale/sr/LC_MESSAGES/django.po,sha256=jQJQzmmrdVOEQRFSmzPPW_rUOeCS6T-1u5_pRDXWRLI,4190 -django/contrib/postgres/locale/sr_Latn/LC_MESSAGES/django.mo,sha256=RsF_fhesv3GZ0cLY3sLrLjNWxy--tUnU3jj8zEDWu2g,3092 -django/contrib/postgres/locale/sr_Latn/LC_MESSAGES/django.po,sha256=6DwzkQTrhF-hhDd6GfyOZsthi84HKVy7mszvGYJXFpk,3488 -django/contrib/postgres/locale/sv/LC_MESSAGES/django.mo,sha256=ASNm2ZJRX_EDsz-4kUGiDlqZc62GzYceT76Yg_CqdDY,2787 -django/contrib/postgres/locale/sv/LC_MESSAGES/django.po,sha256=dVEH6Cuf-2afXl7tkaNK5vKRbrxyPGFz18MZ4MnyMFU,3342 -django/contrib/postgres/locale/tg/LC_MESSAGES/django.mo,sha256=3yW5NKKsa2f2qDGZ4NGlSn4DHatLOYEv5SEwB9voraA,2688 -django/contrib/postgres/locale/tg/LC_MESSAGES/django.po,sha256=Zuix5sJH5Fz9-joe_ivMRpNz2Fbzefsxz3OOoDV0o1c,3511 -django/contrib/postgres/locale/tk/LC_MESSAGES/django.mo,sha256=ytivs6cnECDuyVKToFQMRnH_RPr4PlVepg8xFHnr0W4,2789 -django/contrib/postgres/locale/tk/LC_MESSAGES/django.po,sha256=bfXIyKNOFRC3U34AEKCsYQn3XMBGtgqHsXpboHvRQq0,3268 -django/contrib/postgres/locale/tr/LC_MESSAGES/django.mo,sha256=2wed5sCHeOFoykqShgnZ1aJ2dF6b6RbygraHUBhcysU,2898 -django/contrib/postgres/locale/tr/LC_MESSAGES/django.po,sha256=9xd_-n_JNSZ8GeYI0NeegzLLsTvREWsD0xbBx6otQQ4,3267 -django/contrib/postgres/locale/uk/LC_MESSAGES/django.mo,sha256=pEHncZZaUWpMKkrc71TQRTzznI5qw149KxZAuSgNyI8,4263 -django/contrib/postgres/locale/uk/LC_MESSAGES/django.po,sha256=wzwS5S_AsziHeto6L2VH5y61EHRPxHTTzoPzpIMl43M,4980 -django/contrib/postgres/locale/uz/LC_MESSAGES/django.mo,sha256=PcmhhVC1spz3EFrQ2qdhfPFcA1ELHtBhHGWk9Z868Ss,703 -django/contrib/postgres/locale/uz/LC_MESSAGES/django.po,sha256=lbQxX2cmueGCT8sl6hsNWcrf9H-XEUbioP4L7JHGqiU,2291 -django/contrib/postgres/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=jUqnfwS-XMNKVytVLEcyVsxqyfIHGkSJfW0hi7Sh7w4,2574 -django/contrib/postgres/locale/zh_Hans/LC_MESSAGES/django.po,sha256=7L9pBCN-dScEAfPIe4u-jY14S6NgVe6seZHaqthgms0,3060 -django/contrib/postgres/locale/zh_Hant/LC_MESSAGES/django.mo,sha256=Twqt8SVetuVV6UQ8ne48RfXILh2I9_-5De7cIrd5Lvc,2586 -django/contrib/postgres/locale/zh_Hant/LC_MESSAGES/django.po,sha256=5qE-q9uXlHM59soKgNSqeCfP-DnFuYI4fXLAbQctJ8c,2962 -django/contrib/postgres/lookups.py,sha256=PzWopUkxh5JRkqAozJN-RaLs7gwaKhXzHkIE75yQ-g4,1478 -django/contrib/postgres/operations.py,sha256=e7l9Bj-qUcaFoLl7L-9gsWDOJfgOonLb95KG5NfdPNA,5142 -django/contrib/postgres/search.py,sha256=8MtUU6278Rov1qQLubZanx3O1DKT7RhKRrm4bWS6nf0,10427 -django/contrib/postgres/serializers.py,sha256=EPW4-JtgMV_x4_AosG4C-HLX3K4O9ls9Ezw9f07iHd8,435 -django/contrib/postgres/signals.py,sha256=MmUklgaTW1-UBMGQTxNO_1fsO7mZugGs9ScovuCIyJo,2245 -django/contrib/postgres/templates/postgres/widgets/split_array.html,sha256=AzaPLlNLg91qkVQwwtAJxwOqDemrtt_btSkWLpboJDs,54 -django/contrib/postgres/utils.py,sha256=gBGBmAYMKLkB6nyaRgx5Yz_00bXaOA6BDK9koiE-_co,1187 -django/contrib/postgres/validators.py,sha256=CA_iygE2q3o8tXlQ9JfMYxoO6HDJk3D0PIcmGrahwdI,2675 -django/contrib/redirects/__init__.py,sha256=9vdTkDvH0443yn0qXx59j4dXPn3P-Pf9lB8AWrSp_Bk,69 -django/contrib/redirects/__pycache__/__init__.cpython-38.pyc,, -django/contrib/redirects/__pycache__/admin.cpython-38.pyc,, -django/contrib/redirects/__pycache__/apps.cpython-38.pyc,, -django/contrib/redirects/__pycache__/middleware.cpython-38.pyc,, -django/contrib/redirects/__pycache__/models.cpython-38.pyc,, -django/contrib/redirects/admin.py,sha256=P9wp8yIvDjJSfIXpWYM2ftDlVhKvte_0AM9Ky_j1JIs,314 -django/contrib/redirects/apps.py,sha256=BvTvN3IXCv7yEKqhxwCDiSCZ3695YXNttEvmONHNxC4,197 -django/contrib/redirects/locale/af/LC_MESSAGES/django.mo,sha256=UqXzx3fQxw4n7RGNgnp4lzLJ93DPRAgIAg6bwPs5GFY,1119 -django/contrib/redirects/locale/af/LC_MESSAGES/django.po,sha256=JvDnHyWH_-IyOTSR36hwSBmd_fXa3trpUAgEThdtDvM,1260 -django/contrib/redirects/locale/ar/LC_MESSAGES/django.mo,sha256=45kuFTs85G4XxI1OrBnkrgQJJfQE0cveTs1GEsf3un4,1311 -django/contrib/redirects/locale/ar/LC_MESSAGES/django.po,sha256=L_mv0nptTvKi3ONK2yJBINoqPkQ0-FIpWu1FWKlzI-s,1565 -django/contrib/redirects/locale/ar_DZ/LC_MESSAGES/django.mo,sha256=Nt17Ugj4UVEsyg-y7UYgCnAttSX_pRR5OLS-qRbpZvI,1336 -django/contrib/redirects/locale/ar_DZ/LC_MESSAGES/django.po,sha256=ckrjwULi4Sx_mBOxadvywXOy6vyecQYWryACnyg1XGA,1511 -django/contrib/redirects/locale/ast/LC_MESSAGES/django.mo,sha256=a1ixBQQIdBZ7o-ADnF2r74CBtPLsuatG7txjc05_GXI,1071 -django/contrib/redirects/locale/ast/LC_MESSAGES/django.po,sha256=PguAqeIUeTMWsADOYLTxoC6AuKrCloi8HN18hbm3pZ0,1266 -django/contrib/redirects/locale/az/LC_MESSAGES/django.mo,sha256=KzpRUrONOi5Cdr9sSRz3p0X-gGhD1-3LNhen-XDhO3g,1092 -django/contrib/redirects/locale/az/LC_MESSAGES/django.po,sha256=RGjd2J_pRdSkin4UlKxg7kc3aA8PCQRjDPXkpGZHdn0,1347 -django/contrib/redirects/locale/be/LC_MESSAGES/django.mo,sha256=SnSSaDw89oonokFQ7r0hdSM9nfH_H9rlKTN8aVlZhkY,1407 -django/contrib/redirects/locale/be/LC_MESSAGES/django.po,sha256=BR3YGf7Q5OqTP_rh1WNNi1BS8O1q76JMBHNdfA0PyGU,1638 -django/contrib/redirects/locale/bg/LC_MESSAGES/django.mo,sha256=fEXrzyixSGCWaWu5XxVsjRKMlPwYkORpFtAiwNNShvM,1268 -django/contrib/redirects/locale/bg/LC_MESSAGES/django.po,sha256=_Xha-uOePDqOqOVmYgcR8auVgNT3CS-Z_V_vwyTlwfk,1493 -django/contrib/redirects/locale/bn/LC_MESSAGES/django.mo,sha256=SbQh_pgxNCogvUFud7xW9T6NTAvpaQb2jngXCtpjICM,1319 -django/contrib/redirects/locale/bn/LC_MESSAGES/django.po,sha256=LgUuiPryDLSXxo_4KMCdjM5XC3BiRfINuEk0s5PUQYQ,1511 -django/contrib/redirects/locale/br/LC_MESSAGES/django.mo,sha256=Yt8xo5B5LJ9HB8IChCkj5mljFQAAKlaW_gurtF8q8Yw,1429 -django/contrib/redirects/locale/br/LC_MESSAGES/django.po,sha256=L2qPx6mZEVUNay1yYEweKBLr_fXVURCnACfsezfP_pI,1623 -django/contrib/redirects/locale/bs/LC_MESSAGES/django.mo,sha256=0Yak4rXHjRRXLu3oYYzvS8qxvk2v4IFvUiDPA68a5YI,1115 -django/contrib/redirects/locale/bs/LC_MESSAGES/django.po,sha256=s9Nhx3H4074hlSqo1zgQRJbozakdJTwA1aTuMSqEJWw,1316 -django/contrib/redirects/locale/ca/LC_MESSAGES/django.mo,sha256=sp3kaIhlTGdtYeHjZ8fQypdYKINsea8C0tufuCAlFBY,1106 -django/contrib/redirects/locale/ca/LC_MESSAGES/django.po,sha256=SMB90_SWZQF1cpWYjEzwy9w3Y9w8rtZND6WW-degBCs,1417 -django/contrib/redirects/locale/cs/LC_MESSAGES/django.mo,sha256=M9xlGux_iL--U8s4M2qJNYKGD4j4OU6qfd09xb-w6m4,1175 -django/contrib/redirects/locale/cs/LC_MESSAGES/django.po,sha256=lM6-ofabOoT0RLvjHt3G1RHVnkAlaTL_EOb3lD4mF3o,1445 -django/contrib/redirects/locale/cy/LC_MESSAGES/django.mo,sha256=NSGoK12A7gbtuAuzQEVFPNSZMqqmhHyRvTEn9PUm9So,1132 -django/contrib/redirects/locale/cy/LC_MESSAGES/django.po,sha256=jDmC64z5exPnO9zwRkBmpa9v3DBlaeHRhqZYPoWqiIY,1360 -django/contrib/redirects/locale/da/LC_MESSAGES/django.mo,sha256=h1ahMUSbE_eZzb8QOHztyb6mzwnlM6BE8nY13FRfkNM,1091 -django/contrib/redirects/locale/da/LC_MESSAGES/django.po,sha256=LSf5K4BLG1Anvya22J5nl1ayimtbCA0EutpxttyxtWo,1317 -django/contrib/redirects/locale/de/LC_MESSAGES/django.mo,sha256=8Zn398kFjKp-I9CLi6wAMw_0PmDrK4cJc1SjnQ_K8bY,1095 -django/contrib/redirects/locale/de/LC_MESSAGES/django.po,sha256=hXoA4dzgP29HekziQtDHeQb_GcRCK9xAhICB7gMeHgE,1315 -django/contrib/redirects/locale/dsb/LC_MESSAGES/django.mo,sha256=6am19dy81KrC5h1HuQwuZb_ucppLLenun3TtXP8dbhw,1217 -django/contrib/redirects/locale/dsb/LC_MESSAGES/django.po,sha256=xDQ7cJNnajtHRKFFNDs3FZDX0xjZoQiUYrg4BjatTrQ,1407 -django/contrib/redirects/locale/el/LC_MESSAGES/django.mo,sha256=kzCurtbtzdZsJOzqLbTtn3kjltOnBq6Nd8p8EFTllF0,1384 -django/contrib/redirects/locale/el/LC_MESSAGES/django.po,sha256=-lFhtPYSaYaS81Zh1CX9vxx0lvQDpAUsTBRNT48ne94,1611 -django/contrib/redirects/locale/en/LC_MESSAGES/django.mo,sha256=U0OV81NfbuNL9ctF-gbGUG5al1StqN-daB-F-gFBFC8,356 -django/contrib/redirects/locale/en/LC_MESSAGES/django.po,sha256=3eabYEzjR72eSPB0YS6-y4thESdzhQMxAXwlwHX_bGs,1105 -django/contrib/redirects/locale/en_AU/LC_MESSAGES/django.mo,sha256=dTndJxA-F1IE_nMUOtf1sRr7Kq2s_8yjgKk6mkWkVu4,486 -django/contrib/redirects/locale/en_AU/LC_MESSAGES/django.po,sha256=CcP5GVZaImhRgohA5zy5K3rCscOlBtn81DB-V26-Wxg,958 -django/contrib/redirects/locale/en_GB/LC_MESSAGES/django.mo,sha256=VscL30uJnV-eiQZITpBCy0xk_FfKdnMh4O9Hk4HGxww,1053 -django/contrib/redirects/locale/en_GB/LC_MESSAGES/django.po,sha256=loe8xIVjZ7eyteQNLPoa-QceBZdgky22dR6deK5ubmA,1246 -django/contrib/redirects/locale/eo/LC_MESSAGES/django.mo,sha256=pZo0DSbfGGTHi-jgaTGp29kJK-iplaai-WXJoOPluMA,1138 -django/contrib/redirects/locale/eo/LC_MESSAGES/django.po,sha256=3AxFPHffYw3svHe-MR3zuVGLMtkJPL_SX_vB_ztx98c,1414 -django/contrib/redirects/locale/es/LC_MESSAGES/django.mo,sha256=DRiKBaG9rYzVxzTnJcFbDJtBrO99ShkDX1HW4EvrxF0,1119 -django/contrib/redirects/locale/es/LC_MESSAGES/django.po,sha256=Myb9nWktdv1Mm8d1A7kGdfPs3f0-OQK3EerktbwTS7c,1395 -django/contrib/redirects/locale/es_AR/LC_MESSAGES/django.mo,sha256=r692fI2lVfRy4G0y8iBc-j4gFB8URHZSLRFNVTHfhC0,1101 -django/contrib/redirects/locale/es_AR/LC_MESSAGES/django.po,sha256=UFTX4uDkhpd8Lo7ozQ_goAUkXsPlRuzdF8V5GMCbO7A,1316 -django/contrib/redirects/locale/es_CO/LC_MESSAGES/django.mo,sha256=wcAMOiqsgz2KEpRwirRH9FNoto6vmo_hxthrQJi0IHU,1147 -django/contrib/redirects/locale/es_CO/LC_MESSAGES/django.po,sha256=n8DM14vHekZRayH0B6Pm3L5XnSo4lto4ZAdu4OhcOmc,1291 -django/contrib/redirects/locale/es_MX/LC_MESSAGES/django.mo,sha256=38fbiReibMAmC75BCCbyo7pA2VA3QvmRqVEo_K6Ejow,1116 -django/contrib/redirects/locale/es_MX/LC_MESSAGES/django.po,sha256=t7R6PiQ1bCc7jhfMrjHlZxVQ6BRlWT2Vv4XXhxBD_Oo,1397 -django/contrib/redirects/locale/es_VE/LC_MESSAGES/django.mo,sha256=59fZBDut-htCj38ZUoqPjhXJPjZBz-xpU9__QFr3kLs,486 -django/contrib/redirects/locale/es_VE/LC_MESSAGES/django.po,sha256=f4XZW8OHjRJoztMJtSDCxd2_Mfy-XK44hLtigjGSsZY,958 -django/contrib/redirects/locale/et/LC_MESSAGES/django.mo,sha256=10TVT6ftY7UuZwJsUImwNuqo6mcHGgVG-YVNiyGd9Y4,1097 -django/contrib/redirects/locale/et/LC_MESSAGES/django.po,sha256=fI2Wf7WcAV2n-weyPMrQot-c7VOtciTks6QzGzh_RQE,1404 -django/contrib/redirects/locale/eu/LC_MESSAGES/django.mo,sha256=c0en4U_IaOUGF0Tt8lMwCm2Fmv3bAiT-D8BO9pNVFIM,1119 -django/contrib/redirects/locale/eu/LC_MESSAGES/django.po,sha256=W-tZOxWXSOzUgZSKRG_CoOf7XjxYuQEMZp0D59EZK9A,1304 -django/contrib/redirects/locale/fa/LC_MESSAGES/django.mo,sha256=WEtbdwPLTpiEZqTb6hJZMeLjL1snmGDWbzoYwa3BQnI,1241 -django/contrib/redirects/locale/fa/LC_MESSAGES/django.po,sha256=-XfgGc8mlwIWIk0NvtWZlwBrcDG3Mrj9k7FLDJMKQl4,1463 -django/contrib/redirects/locale/fi/LC_MESSAGES/django.mo,sha256=mCSVYBr0r3ieZPuORu4t1bsxHVnXg5_4cV8C59RC-vk,1158 -django/contrib/redirects/locale/fi/LC_MESSAGES/django.po,sha256=5hNG5JNitRLU1YrFwSOnyiMRTlRw4rXgyTjRImXEy-g,1368 -django/contrib/redirects/locale/fr/LC_MESSAGES/django.mo,sha256=I1P_kxyPHDIDVBDQN41n_YJ8XlQolXHGWA6zBicKdaQ,1115 -django/contrib/redirects/locale/fr/LC_MESSAGES/django.po,sha256=PNSeqiILgKrYphJu58dq557p_CELrVYjE3NMHaeMn70,1346 -django/contrib/redirects/locale/fy/LC_MESSAGES/django.mo,sha256=YQQy7wpjBORD9Isd-p0lLzYrUgAqv770_56-vXa0EOc,476 -django/contrib/redirects/locale/fy/LC_MESSAGES/django.po,sha256=D7xverCbf3kTCcFM8h7EKWM5DcxZRqeOSKDB1irbKeE,948 -django/contrib/redirects/locale/ga/LC_MESSAGES/django.mo,sha256=blwOMshClFZKvOZXVvqENK_E_OkdS1ydbjQCDXcHXd4,1075 -django/contrib/redirects/locale/ga/LC_MESSAGES/django.po,sha256=76rdrG4GVbcKwgUQN4bB-B0t6hpivCA_ehf4uzGM_mY,1341 -django/contrib/redirects/locale/gd/LC_MESSAGES/django.mo,sha256=D_gqvGcUh2X9888kwDdFG1tjuAJUtQ2LhK4K4xCyiuI,1219 -django/contrib/redirects/locale/gd/LC_MESSAGES/django.po,sha256=PnKpFPVIzSpflfuobqU6Z5aV3ke5kNWJHWfDl1oCF3w,1397 -django/contrib/redirects/locale/gl/LC_MESSAGES/django.mo,sha256=LoMrpBThJSmWzZ1wT66xGndnNCVCOq2eCEyo88qKwkA,1127 -django/contrib/redirects/locale/gl/LC_MESSAGES/django.po,sha256=d8qXhC2wI45yXtFJuMBgibzHsCkZSxAD3I6pVdpxlSU,1313 -django/contrib/redirects/locale/he/LC_MESSAGES/django.mo,sha256=MnCcK4Vb3Z5ZQ2A52tb0kM60hmoHQJ0UrWcrhuI2RK0,1204 -django/contrib/redirects/locale/he/LC_MESSAGES/django.po,sha256=gjFr6b15s5JoAT6OoLCA3ApfwiqZ_vhB-EXEWOiUEwo,1427 -django/contrib/redirects/locale/hi/LC_MESSAGES/django.mo,sha256=onR8L7Kvkx6HgFLK7jT-wA_zjarBN8pyltG6BbKFIWU,1409 -django/contrib/redirects/locale/hi/LC_MESSAGES/django.po,sha256=fNv9_qwR9iS-pjWNXnrUFIqvc10lwg3bfj5lgdQOy1U,1649 -django/contrib/redirects/locale/hr/LC_MESSAGES/django.mo,sha256=7wHi6Uu0czZhI6v0ndJJ1wSkalTRfn7D5ovyw8tr4U4,1207 -django/contrib/redirects/locale/hr/LC_MESSAGES/django.po,sha256=HtxZwZ-ymmf-XID0z5s7nGYg-4gJL8i6FDGWt9i4Wns,1406 -django/contrib/redirects/locale/hsb/LC_MESSAGES/django.mo,sha256=BWq3u0MayCCE_OEhXKmZpiGMgJ0FoVcx_1MhU1RwYCY,1202 -django/contrib/redirects/locale/hsb/LC_MESSAGES/django.po,sha256=1amIKvx5ekK-LFuGlYjDZECPdHB-3Jef7YkNIrixhZw,1396 -django/contrib/redirects/locale/hu/LC_MESSAGES/django.mo,sha256=Co0W08iPHHkK9gAn-XCMM2EVkT3Z1YPyO8RGKiweGHg,1104 -django/contrib/redirects/locale/hu/LC_MESSAGES/django.po,sha256=iEjHBh8B7VMXZDdwTnyvNf7I8IjKjzB0uH9YRL3YcgA,1371 -django/contrib/redirects/locale/hy/LC_MESSAGES/django.mo,sha256=gT5x1TZXMNyBwfmQ-C_cOB60JGYdKIM7tVb3-J5d6nw,1261 -django/contrib/redirects/locale/hy/LC_MESSAGES/django.po,sha256=40QTpth2AVeoy9P36rMJC2C82YsBh_KYup19WL6zM6w,1359 -django/contrib/redirects/locale/ia/LC_MESSAGES/django.mo,sha256=PDB5ZQP6iH31xN6N2YmPZYjt6zzc88TRmh9_gAWH2U0,1152 -django/contrib/redirects/locale/ia/LC_MESSAGES/django.po,sha256=GXjbzY-cQz2QLx_iuqgijT7VUMcoNKL7prbP6yIbj8E,1297 -django/contrib/redirects/locale/id/LC_MESSAGES/django.mo,sha256=O7EKMm1GR4o1JXQV5vFP58nFK-__2evesMPJFucOxsc,1067 -django/contrib/redirects/locale/id/LC_MESSAGES/django.po,sha256=4qK_1_82j2RmRm4d6JWMskOCy1QIeuNral9xP1x2s10,1364 -django/contrib/redirects/locale/io/LC_MESSAGES/django.mo,sha256=vz7TWRML-DFDFapbEXTByb9-pRQwoeJ0ApSdh6nOzXY,1019 -django/contrib/redirects/locale/io/LC_MESSAGES/django.po,sha256=obStuMYYSQ7x2utkGS3gekdPfnsNAwp3DcNwlwdg1sI,1228 -django/contrib/redirects/locale/is/LC_MESSAGES/django.mo,sha256=aMjlGilYfP7clGriAp1Za60uCD40rvLt9sKXuYX3ABg,1040 -django/contrib/redirects/locale/is/LC_MESSAGES/django.po,sha256=nw5fxVV20eQqsk4WKg6cIiKttG3zsITSVzH4p5xBV8s,1299 -django/contrib/redirects/locale/it/LC_MESSAGES/django.mo,sha256=EPoKbYSdy3e2YOXqR_cRkQ6HK7htzxR1VSf8wfiOFTs,1086 -django/contrib/redirects/locale/it/LC_MESSAGES/django.po,sha256=WUJmtCWtqmZQqN3bl7XZ-7iu3W16Yve9g7aqjCoBTQw,1377 -django/contrib/redirects/locale/ja/LC_MESSAGES/django.mo,sha256=gE1gwugGwKaDtpGI1PuThkuy8rBhxpoAO8Ecucp1iUY,1133 -django/contrib/redirects/locale/ja/LC_MESSAGES/django.po,sha256=aXGFOdUr825bNhtXi8ZMTLysw6MydtkIoztqPT1qO38,1402 -django/contrib/redirects/locale/ka/LC_MESSAGES/django.mo,sha256=0aOLKrhUX6YAIMNyt6KES9q2iFk2GupEr76WeGlJMkk,1511 -django/contrib/redirects/locale/ka/LC_MESSAGES/django.po,sha256=bK3ULAIG00Nszoz74r-W3W8CihaoijYkWlc6sUqJXrg,1720 -django/contrib/redirects/locale/kab/LC_MESSAGES/django.mo,sha256=Ogx9NXK1Nfw4ctZfp-slIL81ziDX3f4DZ01OkVNY5Tw,699 -django/contrib/redirects/locale/kab/LC_MESSAGES/django.po,sha256=gI6aUPkXH-XzKrStDsMCMNfQKDEc-D1ffqE-Z-ItQuI,1001 -django/contrib/redirects/locale/kk/LC_MESSAGES/django.mo,sha256=KVLc6PKL1MP_Px0LmpoW2lIvgLiSzlvoJ9062F-s3Zw,1261 -django/contrib/redirects/locale/kk/LC_MESSAGES/django.po,sha256=k3TtiYJ7x50M19DCu2eLcsCroKusJ3paiC2RvZ-920A,1473 -django/contrib/redirects/locale/km/LC_MESSAGES/django.mo,sha256=tcW1s7jvTG0cagtdRNT0jSNkhX-B903LKl7bK31ZvJU,1248 -django/contrib/redirects/locale/km/LC_MESSAGES/django.po,sha256=KJ4h1umpfFLdsWZtsfXoeOl6cUPUD97U4ISWt80UZ2U,1437 -django/contrib/redirects/locale/kn/LC_MESSAGES/django.mo,sha256=-gqNBZVFvxqOiPWUb9jH4myXufHHfdyr_yROTfpk2jU,1396 -django/contrib/redirects/locale/kn/LC_MESSAGES/django.po,sha256=qFM2v3ys7E5u-WJE7CR-2IMrDTqFjNq96OQ1syMDWoI,1588 -django/contrib/redirects/locale/ko/LC_MESSAGES/django.mo,sha256=RJRxocjiFAeDTEVtAawhpkv99axVeNmLDyBhwmjGCcM,1079 -django/contrib/redirects/locale/ko/LC_MESSAGES/django.po,sha256=QNDHQmvOgJnfpv9vMIIZVw--4YXSArJeOJks75m3zKo,1445 -django/contrib/redirects/locale/ky/LC_MESSAGES/django.mo,sha256=rAr9gnyGRhpSfct2VR6kPZTFuTCUWDUmUMHgPXg2s-Q,1241 -django/contrib/redirects/locale/ky/LC_MESSAGES/django.po,sha256=v2ZtrtmThD50BHmTVZs9v2zPUSM61g8muj5aDUOO06Q,1491 -django/contrib/redirects/locale/lb/LC_MESSAGES/django.mo,sha256=xokesKl7h7k9dXFKIJwGETgwx1Ytq6mk2erBSxkgY-o,474 -django/contrib/redirects/locale/lb/LC_MESSAGES/django.po,sha256=Hv1CF9CC78YuVVNpklDtPJDU5-iIUeuXcljewmc9akg,946 -django/contrib/redirects/locale/lt/LC_MESSAGES/django.mo,sha256=reiFMXJnvE4XUosbKjyvUFzl4IKjlJoFK1gVJE9Tbnc,1191 -django/contrib/redirects/locale/lt/LC_MESSAGES/django.po,sha256=3D3sSO1D9XyRpiT57l-0emy7V11uKCWJYqpEzmmpUzE,1377 -django/contrib/redirects/locale/lv/LC_MESSAGES/django.mo,sha256=VqRgNikYESXSN9jtuwSV1g-0diIEFHZum0OBFKa8beI,1156 -django/contrib/redirects/locale/lv/LC_MESSAGES/django.po,sha256=CY9aWK4HDemKARRc9HrCdaFQgDnebK0BR4BYXUvdlcs,1418 -django/contrib/redirects/locale/mk/LC_MESSAGES/django.mo,sha256=3XGgf2K60LclScPKcgw07TId6x535AW5jtGVJ9lC01A,1353 -django/contrib/redirects/locale/mk/LC_MESSAGES/django.po,sha256=Smsdpid5VByoxvnfzju_XOlp6aTPl8qshFptot3cRYM,1596 -django/contrib/redirects/locale/ml/LC_MESSAGES/django.mo,sha256=IhSkvbgX9xfE4GypOQ7W7SDM-wOOqx1xgSTW7L1JofU,1573 -django/contrib/redirects/locale/ml/LC_MESSAGES/django.po,sha256=9KpXf88GRUB5I51Rj3q9qhvhjHFINuiJ9ig0SZdYE6k,1755 -django/contrib/redirects/locale/mn/LC_MESSAGES/django.mo,sha256=14fdHC_hZrRaA0EAFzBJy8BHj4jMMX6l2e6rLLBtJ8E,1274 -django/contrib/redirects/locale/mn/LC_MESSAGES/django.po,sha256=7_QzUWf5l0P-7gM35p9UW7bOj33NabQq_zSrekUeZsY,1502 -django/contrib/redirects/locale/mr/LC_MESSAGES/django.mo,sha256=2Z5jaGJzpiJTCnhCk8ulCDeAdj-WwR99scdHFPRoHoA,468 -django/contrib/redirects/locale/mr/LC_MESSAGES/django.po,sha256=0aGKTlriCJoP-Tirl-qCl7tjjpjURhgCjRGmurHVO3c,940 -django/contrib/redirects/locale/my/LC_MESSAGES/django.mo,sha256=H5-y9A3_1yIXJzC4sSuHqhURxhOlnYEL8Nvc0IF4zUE,549 -django/contrib/redirects/locale/my/LC_MESSAGES/django.po,sha256=MZGNt0jMQA6aHA6OmjvaC_ajvRWfUfDiKkV0j3_E480,1052 -django/contrib/redirects/locale/nb/LC_MESSAGES/django.mo,sha256=1uEDrriymqt10Ixb6eizmJa7gZgU-CsHQ7-IRWv-txA,1111 -django/contrib/redirects/locale/nb/LC_MESSAGES/django.po,sha256=jc2kcpOGeh2uY1S8tzLbVLo-2mLIH1VjJO18nb6M6_I,1444 -django/contrib/redirects/locale/ne/LC_MESSAGES/django.mo,sha256=TxTnBGIi5k0PKAjADeCuOAJQV5dtzLrsFRXBXtfszWI,1420 -django/contrib/redirects/locale/ne/LC_MESSAGES/django.po,sha256=5b5R-6AlSIQrDyTtcmquoW5xrQRGZwlxZpBpZfVo5t4,1607 -django/contrib/redirects/locale/nl/LC_MESSAGES/django.mo,sha256=uGVQu5YnzWjf2aBtxY2ZdCHXz7M8T2GKz5EcQ20ODvM,1080 -django/contrib/redirects/locale/nl/LC_MESSAGES/django.po,sha256=fnEiqRdM-BOP2_6v4U-FC4cCmcVgXAXloiWKhYu-uOE,1400 -django/contrib/redirects/locale/nn/LC_MESSAGES/django.mo,sha256=oiw7wSgqGUrHIdec6sIa7OlHXGME5iWA9h1UUlhl6Mw,1072 -django/contrib/redirects/locale/nn/LC_MESSAGES/django.po,sha256=pfu1XKvB-9DS_5dAbvjGzZCKAYxBEtnStJlBJxRSEXk,1267 -django/contrib/redirects/locale/os/LC_MESSAGES/django.mo,sha256=joQ-ibV9_6ctGMNPLZQLCx5fUamRQngs6_LDd_s9sMQ,1150 -django/contrib/redirects/locale/os/LC_MESSAGES/django.po,sha256=ZwFWiuGS9comy7r2kMnKuqaPOvVehVdAAuFvXM5ldxM,1358 -django/contrib/redirects/locale/pa/LC_MESSAGES/django.mo,sha256=MY-OIDNXlZth-ZRoOJ52nlUPg_51_F5k0NBIpc7GZEw,748 -django/contrib/redirects/locale/pa/LC_MESSAGES/django.po,sha256=TPDTK2ZvDyvO1ob8Qfr64QDbHVWAREfEeBO5w9jf63E,1199 -django/contrib/redirects/locale/pl/LC_MESSAGES/django.mo,sha256=aGAOoNeL9rFfo9e0-cF_BR_rar_EdsvVRu4Dst13-Fo,1243 -django/contrib/redirects/locale/pl/LC_MESSAGES/django.po,sha256=HN7UDhyn68qUz9F3vbiHZ-I6blirCP0_cb67OG0lkOs,1556 -django/contrib/redirects/locale/pt/LC_MESSAGES/django.mo,sha256=WocPaVk3fQEz_MLmGVtFBGwsThD-gNU7GDocqEbeaBA,1129 -django/contrib/redirects/locale/pt/LC_MESSAGES/django.po,sha256=ptCzoE41c9uFAbgSjb6VHSFYPEUv_51YyBdoThXN3XA,1350 -django/contrib/redirects/locale/pt_BR/LC_MESSAGES/django.mo,sha256=iiTUzOttRMwbc9WCChjKZHSgHCAMUBtgie37GVCmjLs,1144 -django/contrib/redirects/locale/pt_BR/LC_MESSAGES/django.po,sha256=h8LeJYsNnEx_voB2nThLLkU3ROpmkYpIzqMe6NxmdTM,1537 -django/contrib/redirects/locale/ro/LC_MESSAGES/django.mo,sha256=D8FkmV6IxZOn5QAPBu9PwhStBpVQWudU62wKa7ADfJY,1158 -django/contrib/redirects/locale/ro/LC_MESSAGES/django.po,sha256=Z_-pDi2-A7_KXrEQtFlAJ_KLO0vXFKCbMphsNlqfNJk,1477 -django/contrib/redirects/locale/ru/LC_MESSAGES/django.mo,sha256=Psqbikq4od0YG0gSH0VfndoLe7K9YmS0wuTfdbShi9U,1397 -django/contrib/redirects/locale/ru/LC_MESSAGES/django.po,sha256=GLTJ0zMfrAwpjUe9atUVaahckw4jbCsbexDWhO-qTDk,1685 -django/contrib/redirects/locale/sk/LC_MESSAGES/django.mo,sha256=4U3JX_UnnYmBNtKseSUobgTslILeZWfn37Dg7q52svY,1160 -django/contrib/redirects/locale/sk/LC_MESSAGES/django.po,sha256=8tDwfdkGAXo4eAR66nfkIdegbyjc3-qBfrMZgrf_cF4,1376 -django/contrib/redirects/locale/sl/LC_MESSAGES/django.mo,sha256=GAZtOFSUxsOHdXs3AzT40D-3JFWIlNDZU_Z-cMvdaHo,1173 -django/contrib/redirects/locale/sl/LC_MESSAGES/django.po,sha256=gkZTyxNh8L2gNxyLVzm-M1HTiK8KDvughTa2MK9NzWo,1351 -django/contrib/redirects/locale/sq/LC_MESSAGES/django.mo,sha256=PPP6hwk_Rdh1PAui4uYeO0WYDiqp2s9xkff3otyU0Vw,1100 -django/contrib/redirects/locale/sq/LC_MESSAGES/django.po,sha256=4CMn93YtrtEWnyZg3grYTlgYrZfMGaBibCZsTemkYng,1328 -django/contrib/redirects/locale/sr/LC_MESSAGES/django.mo,sha256=gblzSVGuZh9aVAihdurzG8BzVDqSPb3y6IE9ViKRJH8,1322 -django/contrib/redirects/locale/sr/LC_MESSAGES/django.po,sha256=fSYMyx3333sZ_9qVIeHzdQ35O497HOAMjRq49oreccA,1579 -django/contrib/redirects/locale/sr_Latn/LC_MESSAGES/django.mo,sha256=PXtaFzKeUNt_YJzAyEmXL4xSBcHhZJlmr8_W3nn1LdA,1175 -django/contrib/redirects/locale/sr_Latn/LC_MESSAGES/django.po,sha256=OpWxCIMvZomPScUKKGr4XwXi3_2EvOo29vtemc4BG_E,1389 -django/contrib/redirects/locale/sv/LC_MESSAGES/django.mo,sha256=y1KpTjzF2FWY_x373UyaEFTTNYPT6hroB6zvA1ev010,1147 -django/contrib/redirects/locale/sv/LC_MESSAGES/django.po,sha256=7Us64PRHRyIZ8D7lY6HCef9xXnoSfwWI3YYtlNEaFSo,1362 -django/contrib/redirects/locale/sw/LC_MESSAGES/django.mo,sha256=oJnTp9CTgNsg5TSOV_aPZIUXdr6-l65hAZbaARZCO2w,1078 -django/contrib/redirects/locale/sw/LC_MESSAGES/django.po,sha256=CTVwA3O7GUQb7l1WpbmT8kOfqr7DpqnIyQt3HWJ6YTQ,1245 -django/contrib/redirects/locale/ta/LC_MESSAGES/django.mo,sha256=AE6Py2_CV2gQKjKQAa_UgkLT9i61x3i1hegQpRGuZZM,1502 -django/contrib/redirects/locale/ta/LC_MESSAGES/django.po,sha256=ojdq8p4HnwtK0n6By2I6_xuucOpJIobJEGRMGc_TrS8,1700 -django/contrib/redirects/locale/te/LC_MESSAGES/django.mo,sha256=Gtcs4cbgrD7-bSkPKiPbM5DcjONS2fSdHhvWdbs_E1M,467 -django/contrib/redirects/locale/te/LC_MESSAGES/django.po,sha256=RT-t3TjcOLyNQQWljVrIcPWErKssh_HQMyGujloy-EI,939 -django/contrib/redirects/locale/tg/LC_MESSAGES/django.mo,sha256=6e4Pk9vX1csvSz80spVLhNTd3N251JrXaCga9n60AP8,782 -django/contrib/redirects/locale/tg/LC_MESSAGES/django.po,sha256=2Cmle5usoNZBo8nTfAiqCRq3KqN1WKKdc-mogUOJm9I,1177 -django/contrib/redirects/locale/th/LC_MESSAGES/django.mo,sha256=1l6eO0k1KjcmuRJKUS4ZdtJGhAUmUDMAMIeNwEobQqY,1331 -django/contrib/redirects/locale/th/LC_MESSAGES/django.po,sha256=DVVqpGC6zL8Hy8e6P8ZkhKbvcMJmXV5euLxmfoTCtms,1513 -django/contrib/redirects/locale/tk/LC_MESSAGES/django.mo,sha256=KhWOArsItusTEzoZZflZ75hl9hhMU0lkm_p8foe8QiU,1113 -django/contrib/redirects/locale/tk/LC_MESSAGES/django.po,sha256=nBeAakgUKhHB21jEiwFrwLSyrJq2XYl8-N6Tq1Klq_Q,1292 -django/contrib/redirects/locale/tr/LC_MESSAGES/django.mo,sha256=JiOhL6RrAmUHv_ljhAb20__QFEKbv1OznJTm9RKDP_w,1099 -django/contrib/redirects/locale/tr/LC_MESSAGES/django.po,sha256=3Q80rTAcOtqptUPzct6E6PrQEDj5XzhQcXwjtvm9iBs,1369 -django/contrib/redirects/locale/tt/LC_MESSAGES/django.mo,sha256=Hf1JXcCGNwedxy1nVRM_pQ0yUebC-tvOXr7P0h86JyI,1178 -django/contrib/redirects/locale/tt/LC_MESSAGES/django.po,sha256=2WCyBQtqZk-8GXgtu-x94JYSNrryy2QoMnirhiBrgV0,1376 -django/contrib/redirects/locale/udm/LC_MESSAGES/django.mo,sha256=CNmoKj9Uc0qEInnV5t0Nt4ZnKSZCRdIG5fyfSsqwky4,462 -django/contrib/redirects/locale/udm/LC_MESSAGES/django.po,sha256=xsxlm4itpyLlLdPQRIHLuvTYRvruhM3Ezc9jtp3XSm4,934 -django/contrib/redirects/locale/uk/LC_MESSAGES/django.mo,sha256=nCpHZGF8aYaw3UDrSXugypDHEIkWYHXncmyC_YHzxw0,1414 -django/contrib/redirects/locale/uk/LC_MESSAGES/django.po,sha256=-UDqtKOxcTA4C4O0QW7GnjtnXtEmwDfvfLmNQFMI1No,1700 -django/contrib/redirects/locale/ur/LC_MESSAGES/django.mo,sha256=CQkt-yxyAaTd_Aj1ZZC8s5-4fI2TRyTEZ-SYJZgpRrQ,1138 -django/contrib/redirects/locale/ur/LC_MESSAGES/django.po,sha256=CkhmN49PvYTccvlSRu8qGpcbx2C-1aY7K3Lq1VC2fuM,1330 -django/contrib/redirects/locale/uz/LC_MESSAGES/django.mo,sha256=vD0Y920SSsRsLROKFaU6YM8CT5KjQxJcgMh5bZ4Pugo,743 -django/contrib/redirects/locale/uz/LC_MESSAGES/django.po,sha256=G2Rj-6g8Vse2Bp8L_hGIO84S--akagMXj8gSa7F2lK4,1195 -django/contrib/redirects/locale/vi/LC_MESSAGES/django.mo,sha256=BquXycJKh-7-D9p-rGUNnjqzs1d6S1YhEJjFW8_ARFA,1106 -django/contrib/redirects/locale/vi/LC_MESSAGES/django.po,sha256=xsCASrGZNbQk4d1mhsTZBcCpPJ0KO6Jr4Zz1wfnL67s,1301 -django/contrib/redirects/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=Ex7DF-VmwQ-8Un1yWFklwR7Hw-0Ck9CAszHQmRt9NQs,1076 -django/contrib/redirects/locale/zh_Hans/LC_MESSAGES/django.po,sha256=BmNLoJnEHoOpEhZnvWr5Kmos-VJiMkXdinYPQV3ZG2U,1422 -django/contrib/redirects/locale/zh_Hant/LC_MESSAGES/django.mo,sha256=-H2o5p5v8j5RqKZ6vOsWToFWGOn8CaO3KSTiU42Zqjk,1071 -django/contrib/redirects/locale/zh_Hant/LC_MESSAGES/django.po,sha256=fQicS5nmJLgloKM83l6NcSJp36-Wjn2Dl9jf03e0pGo,1334 -django/contrib/redirects/middleware.py,sha256=kJfTIj8G2loRgiEJkqiYEredzt4xhNAfDaTZkk9Coyo,1926 -django/contrib/redirects/migrations/0001_initial.py,sha256=-JUuBA7Ynmpo_RHV-_uQR2x-yT6RbJs9SwTpA_PwuAQ,1498 -django/contrib/redirects/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/redirects/migrations/__pycache__/0001_initial.cpython-38.pyc,, -django/contrib/redirects/migrations/__pycache__/__init__.cpython-38.pyc,, -django/contrib/redirects/models.py,sha256=RXshZ0GIrrT3tY6poA1eX95PZjnWBEFuPvea1reutFQ,991 -django/contrib/sessions/__init__.py,sha256=W7kKt-gCROzrUA6UpIRAit3SHa-coN4_A4fphGikCEk,67 -django/contrib/sessions/__pycache__/__init__.cpython-38.pyc,, -django/contrib/sessions/__pycache__/apps.cpython-38.pyc,, -django/contrib/sessions/__pycache__/base_session.cpython-38.pyc,, -django/contrib/sessions/__pycache__/exceptions.cpython-38.pyc,, -django/contrib/sessions/__pycache__/middleware.cpython-38.pyc,, -django/contrib/sessions/__pycache__/models.cpython-38.pyc,, -django/contrib/sessions/__pycache__/serializers.cpython-38.pyc,, -django/contrib/sessions/apps.py,sha256=q_fkp7a7_1GT14XHkHgNIET0sItgfBeFT7B137_KeZM,194 -django/contrib/sessions/backends/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/sessions/backends/__pycache__/__init__.cpython-38.pyc,, -django/contrib/sessions/backends/__pycache__/base.cpython-38.pyc,, -django/contrib/sessions/backends/__pycache__/cache.cpython-38.pyc,, -django/contrib/sessions/backends/__pycache__/cached_db.cpython-38.pyc,, -django/contrib/sessions/backends/__pycache__/db.cpython-38.pyc,, -django/contrib/sessions/backends/__pycache__/file.cpython-38.pyc,, -django/contrib/sessions/backends/__pycache__/signed_cookies.cpython-38.pyc,, -django/contrib/sessions/backends/base.py,sha256=LZGbZDSQdvRzOFq1l_Ir6FBBU_UlvDKPywQXo-OTAiM,13900 -django/contrib/sessions/backends/cache.py,sha256=-qeSz07gUidiY_xq7imMJ3SP17J_rLsIO50KxOhq_8E,2713 -django/contrib/sessions/backends/cached_db.py,sha256=c9JtGXxyJYRT7MMVrqwo0jw1v3JCpaBNXeL8d1tAfBE,2011 -django/contrib/sessions/backends/db.py,sha256=zzhv0nQ4OIFeyM2QXrIUG26l_IJosagKaGOI2NcZnz4,3770 -django/contrib/sessions/backends/file.py,sha256=0L3yDX0_eFtP9_GVl79OpRfHRtJ9o5vOUsRCYHFHOEA,7740 -django/contrib/sessions/backends/signed_cookies.py,sha256=L43gDpk-RFbMF_-fluEjzyUO5nKrEiCTX0yZs7cd5eI,2665 -django/contrib/sessions/base_session.py,sha256=5FofwClB_ukwCsXPfJbzUvKoYaMQ78B_lWXU0fqSg1k,1490 -django/contrib/sessions/exceptions.py,sha256=epvfG9haHc8p34Ic6IqUSC-Yj06Ruh2TSm9G6HQMdno,256 -django/contrib/sessions/locale/af/LC_MESSAGES/django.mo,sha256=0DS0pgVrMN-bUimDfesgHs8Lgr0loz2c6nJdz58RxyQ,717 -django/contrib/sessions/locale/af/LC_MESSAGES/django.po,sha256=ZJRLBshQCAiTTAUycdB3MZIadLeHR5LxbSlDvSWLnEo,838 -django/contrib/sessions/locale/ar/LC_MESSAGES/django.mo,sha256=yoepqaR68PTGLx--cAOzP94Sqyl5xIYpeQ0IFWgY380,846 -django/contrib/sessions/locale/ar/LC_MESSAGES/django.po,sha256=ZgwtBYIdtnqp_8nKHXF1NVJFzQU81-3yv9b7STrQHMc,995 -django/contrib/sessions/locale/ar_DZ/LC_MESSAGES/django.mo,sha256=_iSasR22CxvNWfei6aE_24woPhhhvNzQl5FUO_649dc,817 -django/contrib/sessions/locale/ar_DZ/LC_MESSAGES/django.po,sha256=vop5scstamgFSnO_FWXCEnI7R1N26t7jy_mZUAfETcY,978 -django/contrib/sessions/locale/ast/LC_MESSAGES/django.mo,sha256=hz2m-PkrHby2CKfIOARj6kCzisT-Vs0syfDSTx_iVVw,702 -django/contrib/sessions/locale/ast/LC_MESSAGES/django.po,sha256=M90j1Nx6oDJ16hguUkfKYlyb5OymUeZ5xzPixWxSC7I,846 -django/contrib/sessions/locale/az/LC_MESSAGES/django.mo,sha256=_4XcYdtRasbCjRoaWGoULsXX2cEa--KdRdqbnGoaRuM,731 -django/contrib/sessions/locale/az/LC_MESSAGES/django.po,sha256=qYd7vz6A-hHQNwewzI6wEsxRVLdoc2xLGm1RPW0Hxc4,891 -django/contrib/sessions/locale/be/LC_MESSAGES/django.mo,sha256=FHZ72QuOd-vAOjOXisLs4CaEk7uZuzjO_EfUSB6754M,854 -django/contrib/sessions/locale/be/LC_MESSAGES/django.po,sha256=tHsYVn3XNTcukB0SrHUWP1iV763rrQHCimOyJHRPiek,1023 -django/contrib/sessions/locale/bg/LC_MESSAGES/django.mo,sha256=DGp3j3E0-5bBjFCKx9c6Jcz9ZaXysd2DgVPuxROWDmU,783 -django/contrib/sessions/locale/bg/LC_MESSAGES/django.po,sha256=AEgnW2F8S85JZOh4JVJ6nLynsmHRZOBBoOluVxHosVo,942 -django/contrib/sessions/locale/bn/LC_MESSAGES/django.mo,sha256=0BdFN7ou9tmoVG00fCA-frb1Tri3iKz43W7SWal398s,762 -django/contrib/sessions/locale/bn/LC_MESSAGES/django.po,sha256=LycmTel6LXV2HGGN6qzlAfID-cVEQCNnW1Nv_hbWXJk,909 -django/contrib/sessions/locale/br/LC_MESSAGES/django.mo,sha256=6ubPQUyXX08KUssyVZBMMkTlD94mlA6wzsteAMiZ8C8,1027 -django/contrib/sessions/locale/br/LC_MESSAGES/django.po,sha256=LKxGGHOQejKpUp18rCU2FXW8D_H3WuP_P6dPlEluwcE,1201 -django/contrib/sessions/locale/bs/LC_MESSAGES/django.mo,sha256=M7TvlJMrSUAFhp7oUSpUKejnbTuIK-19yiGBBECl9Sc,759 -django/contrib/sessions/locale/bs/LC_MESSAGES/django.po,sha256=Ur0AeRjXUsLgDJhcGiw75hRk4Qe98DzPBOocD7GFDRQ,909 -django/contrib/sessions/locale/ca/LC_MESSAGES/django.mo,sha256=tbaZ48PaihGGD9-2oTKiMFY3kbXjU59nNciCRINOBNk,738 -django/contrib/sessions/locale/ca/LC_MESSAGES/django.po,sha256=tJuJdehKuD9aXOauWOkE5idQhsVsLbeg1Usmc6N_SP0,906 -django/contrib/sessions/locale/cs/LC_MESSAGES/django.mo,sha256=wEFP4NNaRQDbcbw96UC906jN4rOrlPJMn60VloXr944,759 -django/contrib/sessions/locale/cs/LC_MESSAGES/django.po,sha256=7XkKESwfOmbDRDbUYr1f62-fDOuyI-aCqLGaEiDrmX8,962 -django/contrib/sessions/locale/cy/LC_MESSAGES/django.mo,sha256=GeWVeV2PvgLQV8ecVUA2g3-VvdzMsedgIDUSpn8DByk,774 -django/contrib/sessions/locale/cy/LC_MESSAGES/django.po,sha256=zo18MXtkEdO1L0Q6ewFurx3lsEWTCdh0JpQJTmvw5bY,952 -django/contrib/sessions/locale/da/LC_MESSAGES/django.mo,sha256=7_YecCzfeYQp9zVYt2B7MtjhAAuVb0BcK2D5Qv_uAbg,681 -django/contrib/sessions/locale/da/LC_MESSAGES/django.po,sha256=qX_Oo7niVo57bazlIYFA6bnVmPBclUUTWvZFYNLaG04,880 -django/contrib/sessions/locale/de/LC_MESSAGES/django.mo,sha256=N3kTal0YK9z7Te3zYGLbJmoSB6oWaviWDLGdPlsPa9g,721 -django/contrib/sessions/locale/de/LC_MESSAGES/django.po,sha256=0qnfDeCUQN2buKn6R0MvwhQP05XWxSu-xgvfxvnJe3k,844 -django/contrib/sessions/locale/dsb/LC_MESSAGES/django.mo,sha256=RABl3WZmY6gLh4IqmTUhoBEXygDzjp_5lLF1MU9U5fA,810 -django/contrib/sessions/locale/dsb/LC_MESSAGES/django.po,sha256=cItKs5tASYHzDxfTg0A_dgBQounpzoGyOEFn18E_W_g,934 -django/contrib/sessions/locale/el/LC_MESSAGES/django.mo,sha256=QbTbmcfgc8_4r5hFrIghDhk2XQ4f8_emKmqupMG2ah0,809 -django/contrib/sessions/locale/el/LC_MESSAGES/django.po,sha256=HeaEbpVmFhhrZt2NsZteYaYoeo8FYKZF0IoNJwtzZkc,971 -django/contrib/sessions/locale/en/LC_MESSAGES/django.mo,sha256=U0OV81NfbuNL9ctF-gbGUG5al1StqN-daB-F-gFBFC8,356 -django/contrib/sessions/locale/en/LC_MESSAGES/django.po,sha256=afaM-IIUZtcRZduojUTS8tT0w7C4Ya9lXgReOvq_iF0,804 -django/contrib/sessions/locale/en_AU/LC_MESSAGES/django.mo,sha256=dTndJxA-F1IE_nMUOtf1sRr7Kq2s_8yjgKk6mkWkVu4,486 -django/contrib/sessions/locale/en_AU/LC_MESSAGES/django.po,sha256=gvnvUpim1l7oImnzPXqBww-Uz0TgGjzCLaaszpdkQ10,761 -django/contrib/sessions/locale/en_GB/LC_MESSAGES/django.mo,sha256=T5NQCTYkpERfP9yKbUvixT0VdBt1zGmGB8ITlkVc420,707 -django/contrib/sessions/locale/en_GB/LC_MESSAGES/django.po,sha256=1ks_VE1qpEfPcyKg0HybkTG0-DTttTHTfUPhQCR53sw,849 -django/contrib/sessions/locale/eo/LC_MESSAGES/django.mo,sha256=eBvYQbZS_WxVV3QCSZAOyHNIljC2ZXxVc4mktUuXVjI,727 -django/contrib/sessions/locale/eo/LC_MESSAGES/django.po,sha256=Ru9xicyTgHWVHh26hO2nQNFRQmwBnYKEagsS8TZRv3E,917 -django/contrib/sessions/locale/es/LC_MESSAGES/django.mo,sha256=jbHSvHjO2OCLlBD66LefocKOEbefWbPhj-l3NugiWuc,734 -django/contrib/sessions/locale/es/LC_MESSAGES/django.po,sha256=fY5WXeONEXHeuBlH0LkvzdZ2CSgbvLZ8BJc429aIbhI,909 -django/contrib/sessions/locale/es_AR/LC_MESSAGES/django.mo,sha256=_8icF2dMUWj4WW967rc5npgndXBAdJrIiz_VKf5D-Rw,694 -django/contrib/sessions/locale/es_AR/LC_MESSAGES/django.po,sha256=AnmvjeOA7EBTJ6wMOkCl8JRLVYRU8KS0egPijcKutns,879 -django/contrib/sessions/locale/es_CO/LC_MESSAGES/django.mo,sha256=UP7ia0gV9W-l0Qq5AS4ZPadJtml8iuzzlS5C9guMgh8,754 -django/contrib/sessions/locale/es_CO/LC_MESSAGES/django.po,sha256=_XeiiRWvDaGjofamsRHr5up_EQvcw0w-GLLeWK27Af8,878 -django/contrib/sessions/locale/es_MX/LC_MESSAGES/django.mo,sha256=MDM0K3xMvyf8ymvAurHYuacpxfG_YfJFyNnp1uuc6yY,756 -django/contrib/sessions/locale/es_MX/LC_MESSAGES/django.po,sha256=Y7VNa16F_yyK7_XJvF36rR2XNW8aBJK4UDweufyXpxE,892 -django/contrib/sessions/locale/es_VE/LC_MESSAGES/django.mo,sha256=59fZBDut-htCj38ZUoqPjhXJPjZBz-xpU9__QFr3kLs,486 -django/contrib/sessions/locale/es_VE/LC_MESSAGES/django.po,sha256=zWjgB0AmsmhX2tjk1PgldttqY56Czz8epOVCaYWXTLU,761 -django/contrib/sessions/locale/et/LC_MESSAGES/django.mo,sha256=aL1jZWourEC7jtjsuBZHD-Gw9lpL6L1SoqjTtzguxD0,737 -django/contrib/sessions/locale/et/LC_MESSAGES/django.po,sha256=VNBYohAOs59jYWkjVMY-v2zwVy5AKrtBbFRJZLwdCFg,899 -django/contrib/sessions/locale/eu/LC_MESSAGES/django.mo,sha256=M9piOB_t-ZnfN6pX-jeY0yWh2S_5cCuo1oGiy7X65A4,728 -django/contrib/sessions/locale/eu/LC_MESSAGES/django.po,sha256=bHdSoknoH0_dy26e93tWVdO4TT7rnCPXlSLPsYAhwyw,893 -django/contrib/sessions/locale/fa/LC_MESSAGES/django.mo,sha256=6DdJcqaYuBnhpFFHR42w-RqML0eQPFMAUEEDY0Redy8,755 -django/contrib/sessions/locale/fa/LC_MESSAGES/django.po,sha256=NgJlLPsS9FXjRzKqGgUTkNG9puYrBRf0KQK-QqXMIxQ,916 -django/contrib/sessions/locale/fi/LC_MESSAGES/django.mo,sha256=oAugvlTEvJmG8KsZw09WcfnifYY5oHnGo4lxcxqKeaY,721 -django/contrib/sessions/locale/fi/LC_MESSAGES/django.po,sha256=BVVrjbZZtLGAuZ9HK63p769CbjZFZMlS4BewSMfNMKU,889 -django/contrib/sessions/locale/fr/LC_MESSAGES/django.mo,sha256=aDGYdzx2eInF6IZ-UzPDEJkuYVPnvwVND3qVuSfJNWw,692 -django/contrib/sessions/locale/fr/LC_MESSAGES/django.po,sha256=hARxGdtBOzEZ_iVyzkNvcKlgyM8fOkdXTH3upj2XFYM,893 -django/contrib/sessions/locale/fy/LC_MESSAGES/django.mo,sha256=YQQy7wpjBORD9Isd-p0lLzYrUgAqv770_56-vXa0EOc,476 -django/contrib/sessions/locale/fy/LC_MESSAGES/django.po,sha256=U-VEY4WbmIkmrnPK4Mv-B-pbdtDzusBCVmE8iHyvzFU,751 -django/contrib/sessions/locale/ga/LC_MESSAGES/django.mo,sha256=zTrydRCRDiUQwF4tQ3cN1-5w36i6KptagsdA5_SaGy0,747 -django/contrib/sessions/locale/ga/LC_MESSAGES/django.po,sha256=Qpk1JaUWiHSEPdgBk-O_KfvGzwlZ4IAA6c6-nsJe400,958 -django/contrib/sessions/locale/gd/LC_MESSAGES/django.mo,sha256=Yi8blY_fUD5YTlnUD6YXZvv1qjm4QDriO6CJIUe1wIk,791 -django/contrib/sessions/locale/gd/LC_MESSAGES/django.po,sha256=fEa40AUqA5vh743Zqv0FO2WxSFXGYk4IzUR4BoaP-C4,890 -django/contrib/sessions/locale/gl/LC_MESSAGES/django.mo,sha256=uQ2ZmtUNoVCB2mSlMGSy-j4a_hu9PBfJDo796d8beFA,701 -django/contrib/sessions/locale/gl/LC_MESSAGES/django.po,sha256=FovTLHdVK15N9FI9lFFAOP4zt7GsvO0kKdocgeVDkNk,902 -django/contrib/sessions/locale/he/LC_MESSAGES/django.mo,sha256=qhgjSWfGAOgl-i7iwzSrJttx88xcj1pB0iLkEK64mJU,809 -django/contrib/sessions/locale/he/LC_MESSAGES/django.po,sha256=gtBgkC2bpVyWm8B5pjV3-9tBo0xqUsJuJz2neN79isg,969 -django/contrib/sessions/locale/hi/LC_MESSAGES/django.mo,sha256=naqxOjfAnNKy3qqnUG-4LGf9arLRJpjyWWmSj5tEfao,759 -django/contrib/sessions/locale/hi/LC_MESSAGES/django.po,sha256=WnTGvOz9YINMcUJg2BYCaHceZLKaTfsba_0AZtRNP38,951 -django/contrib/sessions/locale/hr/LC_MESSAGES/django.mo,sha256=axyJAmXmadpFxIhu8rroVD8NsGGadQemh9-_ZDo7L1U,819 -django/contrib/sessions/locale/hr/LC_MESSAGES/django.po,sha256=3G-qOYXBO-eMWWsa5LwTCW9M1oF0hlWgEz7hAK8hJqI,998 -django/contrib/sessions/locale/hsb/LC_MESSAGES/django.mo,sha256=_OXpOlCt4KU0i65Iw4LMjSsyn__E9wH20l9vDNBSEzw,805 -django/contrib/sessions/locale/hsb/LC_MESSAGES/django.po,sha256=yv3vX_UCDrdl07GQ79Mnytwgz2oTvySYOG9enzMpFJA,929 -django/contrib/sessions/locale/hu/LC_MESSAGES/django.mo,sha256=ik40LnsWkKYEUioJB9e11EX9XZ-qWMa-S7haxGhM-iI,727 -django/contrib/sessions/locale/hu/LC_MESSAGES/django.po,sha256=1-UWEEsFxRwmshP2x4pJbitWIGZ1YMeDDxnAX-XGNxc,884 -django/contrib/sessions/locale/hy/LC_MESSAGES/django.mo,sha256=x6VQWGdidRJFUJme-6jf1pcitktcQHQ7fhmw2UBej1Q,815 -django/contrib/sessions/locale/hy/LC_MESSAGES/django.po,sha256=eRMa3_A2Vx195mx2lvza1v-wcEcEeMrU63f0bgPPFjc,893 -django/contrib/sessions/locale/ia/LC_MESSAGES/django.mo,sha256=-o4aQPNJeqSDRSLqcKuYvJuKNBbFqDJDe3IzHgSgZeQ,744 -django/contrib/sessions/locale/ia/LC_MESSAGES/django.po,sha256=PULLDd3QOIU03kgradgQzT6IicoPhLPlUvFgRl-tGbA,869 -django/contrib/sessions/locale/id/LC_MESSAGES/django.mo,sha256=mOaIF0NGOO0-dt-nhHL-i3cfvt9-JKTbyUkFWPqDS9Y,705 -django/contrib/sessions/locale/id/LC_MESSAGES/django.po,sha256=EA6AJno3CaFOO-dEU9VQ_GEI-RAXS0v0uFqn1RJGjEs,914 -django/contrib/sessions/locale/io/LC_MESSAGES/django.mo,sha256=_rqAY6reegqmxmWc-pW8_kDaG9zflZuD-PGOVFsjRHo,683 -django/contrib/sessions/locale/io/LC_MESSAGES/django.po,sha256=tbKMxGuB6mh_m0ex9rO9KkTy6qyuRW2ERrQsGwmPiaw,840 -django/contrib/sessions/locale/is/LC_MESSAGES/django.mo,sha256=3QeMl-MCnBie9Sc_aQ1I7BrBhkbuArpoSJP95UEs4lg,706 -django/contrib/sessions/locale/is/LC_MESSAGES/django.po,sha256=LADIFJv8L5vgDJxiQUmKPSN64zzzrIKImh8wpLBEVWQ,853 -django/contrib/sessions/locale/it/LC_MESSAGES/django.mo,sha256=qTY3O-0FbbpZ5-BR5xOJWP0rlnIkBZf-oSawW_YJWlk,726 -django/contrib/sessions/locale/it/LC_MESSAGES/django.po,sha256=hEv0iTGLuUvEBk-lF-w7a9P3ifC0-eiodNtuSc7cXhg,869 -django/contrib/sessions/locale/ja/LC_MESSAGES/django.mo,sha256=hbv9FzWzXRIGRh_Kf_FLQB34xfmPU_9RQKn9u1kJqGU,757 -django/contrib/sessions/locale/ja/LC_MESSAGES/django.po,sha256=ppGx5ekOWGgDF3vzyrWsqnFUZ-sVZZhiOhvAzl_8v54,920 -django/contrib/sessions/locale/ka/LC_MESSAGES/django.mo,sha256=VZ-ysrDbea_-tMV-1xtlTeW62IAy2RWR94V3Y1iSh4U,803 -django/contrib/sessions/locale/ka/LC_MESSAGES/django.po,sha256=MDOG7BAO8Ez75CfgERCq1zA3syJbvQKpc4wBVlryfqQ,950 -django/contrib/sessions/locale/kab/LC_MESSAGES/django.mo,sha256=W_yE0NDPJrVznA2Qb89VuprJNwyxSg59ovvjkQe6mAs,743 -django/contrib/sessions/locale/kab/LC_MESSAGES/django.po,sha256=FJeEuv4P3NT_PpWHEUsQVSWXu65nYkJ6Z2AlbSKb0ZA,821 -django/contrib/sessions/locale/kk/LC_MESSAGES/django.mo,sha256=FROGz_MuIhsIU5_-EYV38cHnRZrc3-OxxkBeK0ax9Rk,810 -django/contrib/sessions/locale/kk/LC_MESSAGES/django.po,sha256=l5gu1XfvRMNhCHBl-NTGoUHWa0nRSxqSDt0zljpr7Kg,1024 -django/contrib/sessions/locale/km/LC_MESSAGES/django.mo,sha256=VOuKsIG2DEeCA5JdheuMIeJlpmAhKrI6lD4KWYqIIPk,929 -django/contrib/sessions/locale/km/LC_MESSAGES/django.po,sha256=09i6Nd_rUK7UqFpJ70LMXTR6xS0NuGETRLe0CopMVBk,1073 -django/contrib/sessions/locale/kn/LC_MESSAGES/django.mo,sha256=X5svX5_r3xZUy4OjUuo2gItc5PIOSjZOvE5IZwnM6Io,814 -django/contrib/sessions/locale/kn/LC_MESSAGES/django.po,sha256=Rq-I2veQe5l7Q7HG9pRY_mKeNcxhSRDgqphKbuNpoNc,961 -django/contrib/sessions/locale/ko/LC_MESSAGES/django.mo,sha256=EUyVQYGtiFJg01mP30a0iOqBYHvpzHAcGTZM28Ubs5Q,700 -django/contrib/sessions/locale/ko/LC_MESSAGES/django.po,sha256=PjntvSzRz_Aekj9VFhGsP5yO6rAsxTMzwFj58JqToIU,855 -django/contrib/sessions/locale/ky/LC_MESSAGES/django.mo,sha256=ME7YUgKOYQz9FF_IdrqHImieEONDrkcn4T3HxTZKSV0,742 -django/contrib/sessions/locale/ky/LC_MESSAGES/django.po,sha256=JZHTs9wYmlWzilRMyp-jZWFSzGxWtPiQefPmLL9yhtM,915 -django/contrib/sessions/locale/lb/LC_MESSAGES/django.mo,sha256=xokesKl7h7k9dXFKIJwGETgwx1Ytq6mk2erBSxkgY-o,474 -django/contrib/sessions/locale/lb/LC_MESSAGES/django.po,sha256=3igeAnQjDg6D7ItBkQQhyBoFJOZlBxT7NoZiExwD-Fo,749 -django/contrib/sessions/locale/lt/LC_MESSAGES/django.mo,sha256=L9w8-qxlDlCqR_2P0PZegfhok_I61n0mJ1koJxzufy4,786 -django/contrib/sessions/locale/lt/LC_MESSAGES/django.po,sha256=7e5BmXuaHHgGX5W1eC6wIH2QyMTNOg4JZjkZM0i-jTc,952 -django/contrib/sessions/locale/lv/LC_MESSAGES/django.mo,sha256=exEzDUNwNS0GLsUkKPu_SfqBxU7T6VRA_T2schIQZ88,753 -django/contrib/sessions/locale/lv/LC_MESSAGES/django.po,sha256=fBgQEbsGg1ECVm1PFDrS2sfKs2eqmsqrSYzx9ELotNQ,909 -django/contrib/sessions/locale/mk/LC_MESSAGES/django.mo,sha256=4oTWp8-qzUQBiqG32hNieABgT3O17q2C4iEhcFtAxLA,816 -django/contrib/sessions/locale/mk/LC_MESSAGES/django.po,sha256=afApb5YRhPXUWR8yF_TTym73u0ov7lWiwRda1-uNiLY,988 -django/contrib/sessions/locale/ml/LC_MESSAGES/django.mo,sha256=tff5TsHILSV1kAAB3bzHQZDB9fgMglZJTofzCunGBzc,854 -django/contrib/sessions/locale/ml/LC_MESSAGES/django.po,sha256=eRkeupt42kUey_9vJmlH8USshnXPZ8M7aYHq88u-5iY,1016 -django/contrib/sessions/locale/mn/LC_MESSAGES/django.mo,sha256=CcCH2ggVYrD29Q11ZMthcscBno2ePkQDbZfoYquTRPM,784 -django/contrib/sessions/locale/mn/LC_MESSAGES/django.po,sha256=nvcjbJzXiDvWFXrM5CxgOQIq8XucsZEUVdYkY8LnCRE,992 -django/contrib/sessions/locale/mr/LC_MESSAGES/django.mo,sha256=2Z5jaGJzpiJTCnhCk8ulCDeAdj-WwR99scdHFPRoHoA,468 -django/contrib/sessions/locale/mr/LC_MESSAGES/django.po,sha256=FQRdZ-qIDuvTCrwbnWfxoxNi8rywLSebcNbxGvr-hb0,743 -django/contrib/sessions/locale/my/LC_MESSAGES/django.mo,sha256=8zzzyfJYok969YuAwDUaa6YhxaSi3wcXy3HRNXDb_70,872 -django/contrib/sessions/locale/my/LC_MESSAGES/django.po,sha256=mfs0zRBI0tugyyEfXBZzZ_FMIohydq6EYPZGra678pw,997 -django/contrib/sessions/locale/nb/LC_MESSAGES/django.mo,sha256=hfJ1NCFgcAAtUvNEpaZ9b31PyidHxDGicifUWANIbM8,717 -django/contrib/sessions/locale/nb/LC_MESSAGES/django.po,sha256=yXr6oYuiu01oELdQKuztQFWz8x5C2zS5OzEfU9MHJsU,908 -django/contrib/sessions/locale/ne/LC_MESSAGES/django.mo,sha256=slFgMrqGVtLRHdGorLGPpB09SM92_WnbnRR0rlpNlPQ,802 -django/contrib/sessions/locale/ne/LC_MESSAGES/django.po,sha256=1vyoiGnnaB8f9SFz8PGfzpw6V_NoL78DQwjjnB6fS98,978 -django/contrib/sessions/locale/nl/LC_MESSAGES/django.mo,sha256=84BTlTyxa409moKbQMFyJisI65w22p09qjJHBAmQe-g,692 -django/contrib/sessions/locale/nl/LC_MESSAGES/django.po,sha256=smRr-QPGm6h6hdXxghggWES8b2NnL7yDQ07coUypa8g,909 -django/contrib/sessions/locale/nn/LC_MESSAGES/django.mo,sha256=042gOyJuXb51nG7gxI_rYst9QWuB3thtAeevKpDLFVQ,695 -django/contrib/sessions/locale/nn/LC_MESSAGES/django.po,sha256=j2kDL1vDsHoBX_ky6_S0tWxaqFst6v7OLqqlt6N2ECI,842 -django/contrib/sessions/locale/os/LC_MESSAGES/django.mo,sha256=xVux1Ag45Jo9HQBbkrRzcWrNjqP09nMQl16jIh0YVlo,732 -django/contrib/sessions/locale/os/LC_MESSAGES/django.po,sha256=1hG5Vsz2a2yW05_Z9cTNrBKtK9VRPZuQdx4KJ_0n98o,892 -django/contrib/sessions/locale/pa/LC_MESSAGES/django.mo,sha256=qEx4r_ONwXK1-qYD5uxxXEQPqK5I6rf38QZoUSm7UVA,771 -django/contrib/sessions/locale/pa/LC_MESSAGES/django.po,sha256=M7fmVGP8DtZGEuTV3iJhuWWqILVUTDZvUey_mrP4_fM,918 -django/contrib/sessions/locale/pl/LC_MESSAGES/django.mo,sha256=F9CQb7gQ1ltP6B82JNKu8IAsTdHK5TNke0rtDIgNz3c,828 -django/contrib/sessions/locale/pl/LC_MESSAGES/django.po,sha256=C_MJBB-vwTZbx-t4-mzun-RxHhdOVv04b6xrWdnTv8E,1084 -django/contrib/sessions/locale/pt/LC_MESSAGES/django.mo,sha256=dlJF7hF4GjLmQPdAJhtf-FCKX26XsOmZlChOcxxIqPk,738 -django/contrib/sessions/locale/pt/LC_MESSAGES/django.po,sha256=cOycrw3HCHjSYBadpalyrg5LdRTlqZCTyMh93GOQ8O0,896 -django/contrib/sessions/locale/pt_BR/LC_MESSAGES/django.mo,sha256=XHNF5D8oXIia3e3LYwxd46a2JOgDc_ykvc8yuo21fT0,757 -django/contrib/sessions/locale/pt_BR/LC_MESSAGES/django.po,sha256=K_zxKaUKngWPFpvHgXOcymJEsiONSw-OrVrroRXmUUk,924 -django/contrib/sessions/locale/ro/LC_MESSAGES/django.mo,sha256=WR9I9Gum_pq7Qg2Gzhf-zAv43OwR_uDtsbhtx4Ta5gE,776 -django/contrib/sessions/locale/ro/LC_MESSAGES/django.po,sha256=fEgVxL_0Llnjspu9EsXBf8AVL0DGdfF7NgV88G7WN1E,987 -django/contrib/sessions/locale/ru/LC_MESSAGES/django.mo,sha256=n-8vXR5spEbdfyeWOYWC_6kBbAppNoRrWYgqKFY6gJA,913 -django/contrib/sessions/locale/ru/LC_MESSAGES/django.po,sha256=sNqNGdoof6eXzFlh4YIp1O54MdDOAFDjD3GvAFsNP8k,1101 -django/contrib/sessions/locale/sk/LC_MESSAGES/django.mo,sha256=Yntm624Wt410RwuNPU1c-WwQoyrRrBs69VlKMlNUHeQ,766 -django/contrib/sessions/locale/sk/LC_MESSAGES/django.po,sha256=JIvzoKw_r4jZXWEaHvIYAZDAzrEkfpr0WM9dNfUlzBE,924 -django/contrib/sessions/locale/sl/LC_MESSAGES/django.mo,sha256=EE6mB8BiYRyAxK6qzurRWcaYVs96FO_4rERYQdtIt3k,770 -django/contrib/sessions/locale/sl/LC_MESSAGES/django.po,sha256=KTjBWyvaNCHbpV9K6vbnavwxxXqf2DlIqVPv7MVFcO8,928 -django/contrib/sessions/locale/sq/LC_MESSAGES/django.mo,sha256=eRaTy3WOC76EYLtMSD4xtJj2h8eE4W-TS4VvCVxI5bw,683 -django/contrib/sessions/locale/sq/LC_MESSAGES/django.po,sha256=9pzp7834LQKafe5fJzC4OKsAd6XfgtEQl6K6hVLaBQM,844 -django/contrib/sessions/locale/sr/LC_MESSAGES/django.mo,sha256=ZDBOYmWIoSyDeT0nYIIFeMtW5jwpr257CbdTZlkVeRQ,855 -django/contrib/sessions/locale/sr/LC_MESSAGES/django.po,sha256=OXQOYeac0ghuzLrwaErJGr1FczuORTu2yroFX5hvRnk,1027 -django/contrib/sessions/locale/sr_Latn/LC_MESSAGES/django.mo,sha256=f3x9f9hTOsJltghjzJMdd8ueDwzxJex6zTXsU-_Hf_Y,757 -django/contrib/sessions/locale/sr_Latn/LC_MESSAGES/django.po,sha256=HKjo7hjSAvgrIvlI0SkgF3zxz8TtKWyBT51UGNhDwek,946 -django/contrib/sessions/locale/sv/LC_MESSAGES/django.mo,sha256=SGbr0K_5iAMA22MfseAldMDgLSEBrI56pCtyV8tMAPc,707 -django/contrib/sessions/locale/sv/LC_MESSAGES/django.po,sha256=vraY3915wBYGeYu9Ro0-TlBeLWqGZP1fbckLv8y47Ys,853 -django/contrib/sessions/locale/sw/LC_MESSAGES/django.mo,sha256=Edhqp8yuBnrGtJqPO7jxobeXN4uU5wKSLrOsFO1F23k,743 -django/contrib/sessions/locale/sw/LC_MESSAGES/django.po,sha256=iY4rN4T-AA2FBQA7DiWWFvrclqKiDYQefqwwVw61-f8,858 -django/contrib/sessions/locale/ta/LC_MESSAGES/django.mo,sha256=qLIThhFQbJKc1_UVr7wVIm1rJfK2rO5m84BCB_oKq7s,801 -django/contrib/sessions/locale/ta/LC_MESSAGES/django.po,sha256=bYqtYf9XgP9IKKFJXh0u64JhRhDvPPUliI1J-NeRpKE,945 -django/contrib/sessions/locale/te/LC_MESSAGES/django.mo,sha256=kteZeivEckt4AmAeKgmgouMQo1qqSQrI8M42B16gMnQ,786 -django/contrib/sessions/locale/te/LC_MESSAGES/django.po,sha256=dQgiNS52RHrL6bV9CEO7Jk9lk3YUQrUBDCg_bP2OSZc,980 -django/contrib/sessions/locale/tg/LC_MESSAGES/django.mo,sha256=N6AiKfV47QTlO5Z_r4SQZXVLtouu-NVSwWkePgD17Tc,747 -django/contrib/sessions/locale/tg/LC_MESSAGES/django.po,sha256=wvvDNu060yqlTxy3swM0x3v6QpvCB9DkfNm0Q-kb9Xk,910 -django/contrib/sessions/locale/th/LC_MESSAGES/django.mo,sha256=D41vbkoYMdYPj3587p-c5yytLVi9pE5xvRZEYhZrxPs,814 -django/contrib/sessions/locale/th/LC_MESSAGES/django.po,sha256=43704TUv4ysKhL8T5MowZwlyv1JZrPyVGrpdIyb3r40,988 -django/contrib/sessions/locale/tk/LC_MESSAGES/django.mo,sha256=pT_hpKCwFT60GUXzD_4z8JOhmh1HRnkZj-QSouVEgUA,699 -django/contrib/sessions/locale/tk/LC_MESSAGES/django.po,sha256=trqXxfyIbh4V4szol0pXETmEWRxAAKywPZ9EzVMVE-I,865 -django/contrib/sessions/locale/tr/LC_MESSAGES/django.mo,sha256=STDnYOeO1d9nSCVf7pSkMq8R7z1aeqq-xAuIYjsofuE,685 -django/contrib/sessions/locale/tr/LC_MESSAGES/django.po,sha256=XYKo0_P5xitYehvjMzEw2MTp_Nza-cIXEECV3dA6BmY,863 -django/contrib/sessions/locale/tt/LC_MESSAGES/django.mo,sha256=Q-FGu_ljTsxXO_EWu7zCzGwoqFXkeoTzWSlvx85VLGc,806 -django/contrib/sessions/locale/tt/LC_MESSAGES/django.po,sha256=UC85dFs_1836noZTuZEzPqAjQMFfSvj7oGmEWOGcfCA,962 -django/contrib/sessions/locale/udm/LC_MESSAGES/django.mo,sha256=CNmoKj9Uc0qEInnV5t0Nt4ZnKSZCRdIG5fyfSsqwky4,462 -django/contrib/sessions/locale/udm/LC_MESSAGES/django.po,sha256=CPml2Fn9Ax_qO5brCFDLPBoTiNdvsvJb1btQ0COwUfY,737 -django/contrib/sessions/locale/uk/LC_MESSAGES/django.mo,sha256=jzNrLuFghQMCHNRQ0ihnKMCicgear0yWiTOLnvdPszw,841 -django/contrib/sessions/locale/uk/LC_MESSAGES/django.po,sha256=GM9kNL1VoFSRfbHB5KiivIbp-nJl1aZ69wL2xszNqlM,1017 -django/contrib/sessions/locale/ur/LC_MESSAGES/django.mo,sha256=FkGIiHegr8HR8zjVyJ9TTW1T9WYtAL5Mg77nRKnKqWk,729 -django/contrib/sessions/locale/ur/LC_MESSAGES/django.po,sha256=qR4QEBTP6CH09XFCzsPSPg2Dv0LqzbRV_I67HO2OUwk,879 -django/contrib/sessions/locale/uz/LC_MESSAGES/django.mo,sha256=asPu0RhMB_Ui1li-OTVL4qIXnM9XpjsYyx5yJldDYBY,744 -django/contrib/sessions/locale/uz/LC_MESSAGES/django.po,sha256=KsHuLgGJt-KDH0h6ND7JLP2dDJAdLVHSlau4DkkfqA8,880 -django/contrib/sessions/locale/vi/LC_MESSAGES/django.mo,sha256=KriTpT-Hgr10DMnY5Bmbd4isxmSFLmav8vg2tuL2Bb8,679 -django/contrib/sessions/locale/vi/LC_MESSAGES/django.po,sha256=M7S46Q0Q961ykz_5FCAN8SXQ54w8tp4rZeZpy6bPtXs,909 -django/contrib/sessions/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=zsbhIMocgB8Yn1XEBxbIIbBh8tLifvvYNlhe5U61ch8,722 -django/contrib/sessions/locale/zh_Hans/LC_MESSAGES/django.po,sha256=tPshgXjEv6pME4N082ztamJhd5whHB2_IV_egdP-LlQ,889 -django/contrib/sessions/locale/zh_Hant/LC_MESSAGES/django.mo,sha256=WZzfpFKZ41Pu8Q9SuhGu3hXwp4eiq8Dt8vdiQfxvF9M,733 -django/contrib/sessions/locale/zh_Hant/LC_MESSAGES/django.po,sha256=6IRDQu6-PAYh6SyEIcKdhuR172lX0buY8qqsU0QXlYU,898 -django/contrib/sessions/management/commands/__pycache__/clearsessions.cpython-38.pyc,, -django/contrib/sessions/management/commands/clearsessions.py,sha256=iU1m-Hfe46xwE2hcvdsDta1F71Tb5-BQOPjn6H33zes,664 -django/contrib/sessions/middleware.py,sha256=2NeGL9MTexXFFt_5MYolKiSjnBZuqPbHDrPQRE9ccFE,3646 -django/contrib/sessions/migrations/0001_initial.py,sha256=F7fzk2d9hDPjUwx2w-lXdZcFG1h4HyHnkfcJ6aK7C-0,955 -django/contrib/sessions/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/sessions/migrations/__pycache__/0001_initial.cpython-38.pyc,, -django/contrib/sessions/migrations/__pycache__/__init__.cpython-38.pyc,, -django/contrib/sessions/models.py,sha256=vmROoszsXHnPHoSbFca8k-U9Z8Wg6EAHYeEK87VHHk8,1257 -django/contrib/sessions/serializers.py,sha256=clq2ENNQ3ujEuuc5gHSDvaz30kWWHelnQPY6tzUu0qs,424 -django/contrib/sitemaps/__init__.py,sha256=FI4QoFGgY4j9UVt4Z3-W4M8HDBdQHzq109y7gG2Nu5s,5764 -django/contrib/sitemaps/__pycache__/__init__.cpython-38.pyc,, -django/contrib/sitemaps/__pycache__/apps.cpython-38.pyc,, -django/contrib/sitemaps/__pycache__/views.cpython-38.pyc,, -django/contrib/sitemaps/apps.py,sha256=ktY9PcWsmv5TOlvEdG6IL8ZBbGMtZRpO24j5g7DGilU,195 -django/contrib/sitemaps/management/commands/__pycache__/ping_google.cpython-38.pyc,, -django/contrib/sitemaps/management/commands/ping_google.py,sha256=gqfCpod-Wp3nFBc8mpWhbP2QSWsWE74IJ-hlcm8_7SY,558 -django/contrib/sitemaps/templates/sitemap.xml,sha256=KTiksPVpo22dkRjjavoJtckzo-Rin7aZ_QgbC42Y8O0,479 -django/contrib/sitemaps/templates/sitemap_index.xml,sha256=VqDmRlWMx9kC6taiBoi1h9JVspV54ou3nFjE8Nfofl8,209 -django/contrib/sitemaps/views.py,sha256=KP-cCkD4VGFbd4ZavWK79gAkZa83APeRgTx-eouny4M,3516 -django/contrib/sites/__init__.py,sha256=qIj6PsbyT_DVkvjrASve-9F8GeoCKv6sO0-jlEhRJv4,61 -django/contrib/sites/__pycache__/__init__.cpython-38.pyc,, -django/contrib/sites/__pycache__/admin.cpython-38.pyc,, -django/contrib/sites/__pycache__/apps.cpython-38.pyc,, -django/contrib/sites/__pycache__/management.cpython-38.pyc,, -django/contrib/sites/__pycache__/managers.cpython-38.pyc,, -django/contrib/sites/__pycache__/middleware.cpython-38.pyc,, -django/contrib/sites/__pycache__/models.cpython-38.pyc,, -django/contrib/sites/__pycache__/requests.cpython-38.pyc,, -django/contrib/sites/__pycache__/shortcuts.cpython-38.pyc,, -django/contrib/sites/admin.py,sha256=ClzCRn4fUPWO1dNlEWEPjSDInnK87XbNRmadvjYs1go,214 -django/contrib/sites/apps.py,sha256=xRYkn8bbxOK7rSsDiLHPkxUqAN4iscVMvwKIjiwdj94,365 -django/contrib/sites/locale/af/LC_MESSAGES/django.mo,sha256=A10bZFMs-wUetVfF5UrFwmuiKnN4ZnlrR4Rx8U4Ut1A,786 -django/contrib/sites/locale/af/LC_MESSAGES/django.po,sha256=O0-ZRvmXvV_34kONuqakuXV5OmYbQ569K1Puj3qQNac,907 -django/contrib/sites/locale/ar/LC_MESSAGES/django.mo,sha256=kLoytp2jvhWn6p1c8kNVua2sYAMnrpS4xnbluHD22Vs,947 -django/contrib/sites/locale/ar/LC_MESSAGES/django.po,sha256=HYA3pA29GktzXBP-soUEn9VP2vkZuhVIXVA8TNPCHCs,1135 -django/contrib/sites/locale/ar_DZ/LC_MESSAGES/django.mo,sha256=-ltwY57Th6LNqU3bgOPPP7qWtII5c6rj8Dv8eY7PZ84,918 -django/contrib/sites/locale/ar_DZ/LC_MESSAGES/django.po,sha256=KRTjZ2dFRWVPmE_hC5Hq8eDv3GQs3yQKCgV5ISFmEKk,1079 -django/contrib/sites/locale/ast/LC_MESSAGES/django.mo,sha256=eEvaeiGnZFBPGzKLlRz4M9AHemgJVAb-yNpbpxRqtd0,774 -django/contrib/sites/locale/ast/LC_MESSAGES/django.po,sha256=huBohKzLpdaJRFMFXXSDhDCUOqVqyWXfxb8_lLOkUd0,915 -django/contrib/sites/locale/az/LC_MESSAGES/django.mo,sha256=CjAGI4qGoXN95q4LpCLXLKvaNB33Ocf5SfXdurFBkas,773 -django/contrib/sites/locale/az/LC_MESSAGES/django.po,sha256=E84kNPFhgHmIfYT0uzCnTPGwPkAqKzqwFvJB7pETbVo,933 -django/contrib/sites/locale/be/LC_MESSAGES/django.mo,sha256=HGh78mI50ZldBtQ8jId26SI-lSHv4ZLcveRN2J8VzH8,983 -django/contrib/sites/locale/be/LC_MESSAGES/django.po,sha256=W5FhVJKcmd3WHl2Lpd5NJUsc7_sE_1Pipk3CVPoGPa4,1152 -django/contrib/sites/locale/bg/LC_MESSAGES/django.mo,sha256=a2R52umIQIhnzFaFYSRhQ6nBlywE8RGMj2FUOFmyb0A,904 -django/contrib/sites/locale/bg/LC_MESSAGES/django.po,sha256=awB8RMS-qByhNB6eH2f0Oyxb3SH8waLhrZ--rokGfaI,1118 -django/contrib/sites/locale/bn/LC_MESSAGES/django.mo,sha256=cI3a9_L-OC7gtdyRNaGX7A5w0Za0M4ERnYB7rSNkuRU,925 -django/contrib/sites/locale/bn/LC_MESSAGES/django.po,sha256=8ZxYF16bgtTZSZRZFok6IJxUV02vIztoVx2qXqwO8NM,1090 -django/contrib/sites/locale/br/LC_MESSAGES/django.mo,sha256=rI_dIznbwnadZbxOPtQxZ1pGYePNwcNNXt05iiPkchU,1107 -django/contrib/sites/locale/br/LC_MESSAGES/django.po,sha256=7Ein5Xw73DNGGtdd595Bx6ixfSD-dBXZNBUU44pSLuQ,1281 -django/contrib/sites/locale/bs/LC_MESSAGES/django.mo,sha256=bDeqQNme586LnQRQdvOWaLGZssjOoECef3vMq_OCXno,692 -django/contrib/sites/locale/bs/LC_MESSAGES/django.po,sha256=xRTWInDNiLxikjwsjgW_pYjhy24zOro90-909ns9fig,923 -django/contrib/sites/locale/ca/LC_MESSAGES/django.mo,sha256=lEUuQEpgDY3bVWzRONrPzYlojRoNduT16_oYDkkbdfk,791 -django/contrib/sites/locale/ca/LC_MESSAGES/django.po,sha256=aORAoVn69iG1ynmEfnkBzBO-UZOzzbkPVOU-ZvfMtZg,996 -django/contrib/sites/locale/cs/LC_MESSAGES/django.mo,sha256=mnXnpU7sLDTJ3OrIUTnGarPYsupNIUPV4ex_BPWU8fk,827 -django/contrib/sites/locale/cs/LC_MESSAGES/django.po,sha256=ONzFlwzmt7p5jdp6111qQkkevckRrd7GNS0lkDPKu-4,1035 -django/contrib/sites/locale/cy/LC_MESSAGES/django.mo,sha256=70pOie0K__hkmM9oBUaQfVwHjK8Cl48E26kRQL2mtew,835 -django/contrib/sites/locale/cy/LC_MESSAGES/django.po,sha256=FAZrVc72x-4R1A-1qYOBwADoXngC_F6FO8nRjr5-Z6g,1013 -django/contrib/sites/locale/da/LC_MESSAGES/django.mo,sha256=FTOyV1DIH9sMldyjgPw98d2HCotoO4zJ_KY_C9DCB7Y,753 -django/contrib/sites/locale/da/LC_MESSAGES/django.po,sha256=Po1Z6u52CFCyz9hLfK009pMbZzZgHrBse0ViX8wCYm8,957 -django/contrib/sites/locale/de/LC_MESSAGES/django.mo,sha256=5Q6X0_bDQ1ZRpkTy7UpPNzrhmQsB9Q0P1agB7koRyzs,792 -django/contrib/sites/locale/de/LC_MESSAGES/django.po,sha256=aD0wBinqtDUPvBbwtHrLEhFdoVRx1nOh17cJFuWhN3U,980 -django/contrib/sites/locale/dsb/LC_MESSAGES/django.mo,sha256=pPpWYsYp81MTrqCsGF0QnGktZNIll70bdBwSkuVE8go,868 -django/contrib/sites/locale/dsb/LC_MESSAGES/django.po,sha256=IA3G8AKJls20gzfxnrfPzivMNpL8A0zBQBg7OyzrP6g,992 -django/contrib/sites/locale/el/LC_MESSAGES/django.mo,sha256=G9o1zLGysUePGzZRicQ2aIIrc2UXMLTQmdpbrUMfWBU,878 -django/contrib/sites/locale/el/LC_MESSAGES/django.po,sha256=RBi_D-_znYuV6LXfTlSOf1Mvuyl96fIyEoiZ-lgeyWs,1133 -django/contrib/sites/locale/en/LC_MESSAGES/django.mo,sha256=U0OV81NfbuNL9ctF-gbGUG5al1StqN-daB-F-gFBFC8,356 -django/contrib/sites/locale/en/LC_MESSAGES/django.po,sha256=tSjfrNZ_FqLHsXjm5NuTyo5-JpdlPLsPZjFqF2APhy8,817 -django/contrib/sites/locale/en_AU/LC_MESSAGES/django.mo,sha256=dTndJxA-F1IE_nMUOtf1sRr7Kq2s_8yjgKk6mkWkVu4,486 -django/contrib/sites/locale/en_AU/LC_MESSAGES/django.po,sha256=7V9dBdbfHa9aGAfs9nw6ivSxX30CqaYc1ptfplTAPJc,791 -django/contrib/sites/locale/en_GB/LC_MESSAGES/django.mo,sha256=FbSh7msJdrHsXr0EtDMuODFzSANG_HJ3iBlW8ePpqFs,639 -django/contrib/sites/locale/en_GB/LC_MESSAGES/django.po,sha256=Ib-DIuTWlrN3kg99kLCuqWJVtt1NWaFD4UbDFK6d4KY,862 -django/contrib/sites/locale/eo/LC_MESSAGES/django.mo,sha256=N4KkH12OHxic3pp1okeBhpfDx8XxxpULk3UC219vjWU,792 -django/contrib/sites/locale/eo/LC_MESSAGES/django.po,sha256=ymXSJaFJWGBO903ObqR-ows-p4T3KyUplc_p_3r1uk8,1043 -django/contrib/sites/locale/es/LC_MESSAGES/django.mo,sha256=qLN1uoCdslxdYWgdjgSBi7szllP-mQZtHbuZnNOthsQ,804 -django/contrib/sites/locale/es/LC_MESSAGES/django.po,sha256=QClia2zY39269VSQzkQsLwwukthN6u2JBsjbLNxA1VQ,1066 -django/contrib/sites/locale/es_AR/LC_MESSAGES/django.mo,sha256=_O4rVk7IM2BBlZvjDP2SvTOo8WWqthQi5exQzt027-s,776 -django/contrib/sites/locale/es_AR/LC_MESSAGES/django.po,sha256=RwyNylXbyxdSXn6qRDXd99-GaEPlmr6TicHTUW0boaQ,969 -django/contrib/sites/locale/es_CO/LC_MESSAGES/django.mo,sha256=a4Xje2M26wyIx6Wlg6puHo_OXjiDEy7b0FquT9gbThA,825 -django/contrib/sites/locale/es_CO/LC_MESSAGES/django.po,sha256=9bnRhVD099JzkheO80l65dufjuawsj9aSFgFu5A-lnM,949 -django/contrib/sites/locale/es_MX/LC_MESSAGES/django.mo,sha256=AtGta5jBL9XNBvfSpsCcnDtDhvcb89ALl4hNjSPxibM,809 -django/contrib/sites/locale/es_MX/LC_MESSAGES/django.po,sha256=TnkpQp-7swH-x9cytUJe-QJRd2n_pYMVo0ltDw9Pu8o,991 -django/contrib/sites/locale/es_VE/LC_MESSAGES/django.mo,sha256=59fZBDut-htCj38ZUoqPjhXJPjZBz-xpU9__QFr3kLs,486 -django/contrib/sites/locale/es_VE/LC_MESSAGES/django.po,sha256=8PWXy2L1l67wDIi98Q45j7OpVITr0Lt4zwitAnB-d_o,791 -django/contrib/sites/locale/et/LC_MESSAGES/django.mo,sha256=I2E-49UQsG-F26OeAfnKlfUdA3YCkUSV8ffA-GMSkE0,788 -django/contrib/sites/locale/et/LC_MESSAGES/django.po,sha256=mEfD6EyQ15PPivb5FTlkabt3Lo_XGtomI9XzHrrh34Y,992 -django/contrib/sites/locale/eu/LC_MESSAGES/django.mo,sha256=1HTAFI3DvTAflLJsN7NVtSd4XOTlfoeLGFyYCOX69Ec,807 -django/contrib/sites/locale/eu/LC_MESSAGES/django.po,sha256=NWxdE5-mF6Ak4nPRpCFEgAMIsVDe9YBEZl81v9kEuX8,1023 -django/contrib/sites/locale/fa/LC_MESSAGES/django.mo,sha256=odtsOpZ6noNqwDb18HDc2e6nz3NMsa-wrTN-9dk7d9w,872 -django/contrib/sites/locale/fa/LC_MESSAGES/django.po,sha256=uL2I9XjqIxqTUKf6buewtm9rwflM23pxspFMs7w4SPM,1088 -django/contrib/sites/locale/fi/LC_MESSAGES/django.mo,sha256=I5DUeLk1ChUC32q5uzriABCLLJpJKNbEK4BfqylPQzg,786 -django/contrib/sites/locale/fi/LC_MESSAGES/django.po,sha256=LH2sFIKM3YHPoz9zIu10z1DFv1svXphBdOhXNy4a17s,929 -django/contrib/sites/locale/fr/LC_MESSAGES/django.mo,sha256=W7Ne5HqgnRcl42njzbUaDSY059jdhwvr0tgZzecVWD8,756 -django/contrib/sites/locale/fr/LC_MESSAGES/django.po,sha256=u24rHDJ47AoBgcmBwI1tIescAgbjFxov6y906H_uhK0,999 -django/contrib/sites/locale/fy/LC_MESSAGES/django.mo,sha256=YQQy7wpjBORD9Isd-p0lLzYrUgAqv770_56-vXa0EOc,476 -django/contrib/sites/locale/fy/LC_MESSAGES/django.po,sha256=Yh6Lw0QI2Me0zCtlyXraFLjERKqklB6-IJLDTjH_jTs,781 -django/contrib/sites/locale/ga/LC_MESSAGES/django.mo,sha256=g5popLirHXWn6ZWJHESQaG5MmKWZL_JNI_5Vgn5FTqU,683 -django/contrib/sites/locale/ga/LC_MESSAGES/django.po,sha256=34hj3ELt7GQ7CaHL246uBDmvsVUaaN5kTrzt8j7eETM,962 -django/contrib/sites/locale/gd/LC_MESSAGES/django.mo,sha256=df4XIGGD6FIyMUXsb-SoSqNfBFAsRXf4qYtolh_C964,858 -django/contrib/sites/locale/gd/LC_MESSAGES/django.po,sha256=NPKp7A5-y-MR7r8r4WqtcVQJEHCIOP5mLTd0cIfUsug,957 -django/contrib/sites/locale/gl/LC_MESSAGES/django.mo,sha256=QUJdJV71VT-4iVQ5mUAeyszTVhD2LlmmPQv0WpPWttU,742 -django/contrib/sites/locale/gl/LC_MESSAGES/django.po,sha256=cLcejsFyoFk0fRX9fAcl9owHoxiD593QZZeZTfObBVw,940 -django/contrib/sites/locale/he/LC_MESSAGES/django.mo,sha256=L3bganfG4gHqp2WXGh4rfWmmbaIxHaGc7-ypAqjSL_E,820 -django/contrib/sites/locale/he/LC_MESSAGES/django.po,sha256=nT0Gu0iWpFV7ZJ6SAdcogZccCz3CV-R5rgqwEl5NA6c,985 -django/contrib/sites/locale/hi/LC_MESSAGES/django.mo,sha256=J4oIS1vJnCvdCCUD4tlTUVyTe4Xn0gKcWedfhH4C0t0,665 -django/contrib/sites/locale/hi/LC_MESSAGES/django.po,sha256=INBrm37jL3okBHuzX8MSN1vMptj77a-4kwQkAyt8w_8,890 -django/contrib/sites/locale/hr/LC_MESSAGES/django.mo,sha256=KjDUhEaOuYSMexcURu2UgfkatN2rrUcAbCUbcpVSInk,876 -django/contrib/sites/locale/hr/LC_MESSAGES/django.po,sha256=-nFMFkVuDoKYDFV_zdNULOqQlnqtiCG57aakN5hqlmg,1055 -django/contrib/sites/locale/hsb/LC_MESSAGES/django.mo,sha256=RyHVb7u9aRn5BXmWzR1gApbZlOioPDJ59ufR1Oo3e8Y,863 -django/contrib/sites/locale/hsb/LC_MESSAGES/django.po,sha256=Aq54y5Gb14bIt28oDDrFltnSOk31Z2YalwaJMDMXfWc,987 -django/contrib/sites/locale/hu/LC_MESSAGES/django.mo,sha256=P--LN84U2BeZAvRVR-OiWl4R02cTTBi2o8XR2yHIwIU,796 -django/contrib/sites/locale/hu/LC_MESSAGES/django.po,sha256=b0VhyFdNaZZR5MH1vFsLL69FmICN8Dz-sTRk0PdK49E,953 -django/contrib/sites/locale/hy/LC_MESSAGES/django.mo,sha256=Hs9XwRHRkHicLWt_NvWvr7nMocmY-Kc8XphhVSAMQRc,906 -django/contrib/sites/locale/hy/LC_MESSAGES/django.po,sha256=MU4hXXGfjXKfYcjxDYzFfsEUIelz5ZzyQLkeSrUQKa0,1049 -django/contrib/sites/locale/ia/LC_MESSAGES/django.mo,sha256=gRMs-W5EiY26gqzwnDXEMbeb1vs0bYZ2DC2a9VCciew,809 -django/contrib/sites/locale/ia/LC_MESSAGES/django.po,sha256=HXZzn9ACIqfR2YoyvpK2FjZ7QuEq_RVZ1kSC4nxMgeg,934 -django/contrib/sites/locale/id/LC_MESSAGES/django.mo,sha256=__2E_2TmVUcbf1ygxtS1lHvkhv8L0mdTAtJpBsdH24Y,791 -django/contrib/sites/locale/id/LC_MESSAGES/django.po,sha256=e5teAHiMjLR8RDlg8q99qtW-K81ltcIiBIdb1MZw2sE,1000 -django/contrib/sites/locale/io/LC_MESSAGES/django.mo,sha256=W-NP0b-zR1oWUZnHZ6fPu5AC2Q6o7nUNoxssgeguUBo,760 -django/contrib/sites/locale/io/LC_MESSAGES/django.po,sha256=G4GUUz3rxoBjWTs-j5RFCvv52AEHiwrCBwom5hYeBSE,914 -django/contrib/sites/locale/is/LC_MESSAGES/django.mo,sha256=lkJgTzDjh5PNfIJpOS2DxKmwVUs9Sl5XwFHv4YdCB30,812 -django/contrib/sites/locale/is/LC_MESSAGES/django.po,sha256=1DVgAcHSZVyDd5xn483oqICIG4ooyZY8ko7A3aDogKM,976 -django/contrib/sites/locale/it/LC_MESSAGES/django.mo,sha256=6NQjjtDMudnAgnDCkemOXinzX0J-eAE5gSq1F8kjusY,795 -django/contrib/sites/locale/it/LC_MESSAGES/django.po,sha256=zxavlLMmp1t1rCDsgrw12kVgxiK5EyR_mOalSu8-ws8,984 -django/contrib/sites/locale/ja/LC_MESSAGES/django.mo,sha256=RNuCS6wv8uK5TmXkSH_7SjsbUFkf24spZfTsvfoTKro,814 -django/contrib/sites/locale/ja/LC_MESSAGES/django.po,sha256=e-cj92VOVc5ycIY6NwyFh5bO7Q9q5vp5CG4dOzd_eWQ,982 -django/contrib/sites/locale/ka/LC_MESSAGES/django.mo,sha256=m8GTqr9j0ijn0YJhvnsYwlk5oYcASKbHg_5hLqZ91TI,993 -django/contrib/sites/locale/ka/LC_MESSAGES/django.po,sha256=BCsMvNq-3Pi9-VnUvpUQaGx6pbCgI8rCcIHUA8VL4as,1155 -django/contrib/sites/locale/kab/LC_MESSAGES/django.mo,sha256=Utdj5gH5YPeaYMjeMzF-vjqYvYTCipre2qCBkEJSc-Y,808 -django/contrib/sites/locale/kab/LC_MESSAGES/django.po,sha256=d78Z-YanYZkyP5tpasj8oAa5RimVEmce6dlq5vDSscA,886 -django/contrib/sites/locale/kk/LC_MESSAGES/django.mo,sha256=T2dTZ83vBRfQb2dRaKOrhvO00BHQu_2bu0O0k7RsvGA,895 -django/contrib/sites/locale/kk/LC_MESSAGES/django.po,sha256=9ixNnoE3BxfBj4Xza0FM5qInd0uiNnAlXgDb_KaICn4,1057 -django/contrib/sites/locale/km/LC_MESSAGES/django.mo,sha256=Q7pn5E4qN957j20-iCHgrfI-p8sm3Tc8O2DWeuH0By8,701 -django/contrib/sites/locale/km/LC_MESSAGES/django.po,sha256=TOs76vlCMYOZrdHgXPWZhQH1kTBQTpzsDJ8N4kbJQ7E,926 -django/contrib/sites/locale/kn/LC_MESSAGES/django.mo,sha256=fikclDn-FKU_t9lZeBtQciisS3Kqv4tJHtu923OXLJI,676 -django/contrib/sites/locale/kn/LC_MESSAGES/django.po,sha256=p_P7L0KAUoKNLH8vuHV4_2mTWK1m1tjep5XgRqbWd2k,904 -django/contrib/sites/locale/ko/LC_MESSAGES/django.mo,sha256=wlfoWG-vmMSCipUJVVC0Y_W7QbGNNE-oEnVwl_6-AmY,807 -django/contrib/sites/locale/ko/LC_MESSAGES/django.po,sha256=TENAk9obGUxFwMnJQj_V9sZxEKJj4DyWMuGpx3Ft_pM,1049 -django/contrib/sites/locale/ky/LC_MESSAGES/django.mo,sha256=IYxp8jG5iyN81h7YJqOiSQdOH7DnwOiIvelKZfzP6ZA,811 -django/contrib/sites/locale/ky/LC_MESSAGES/django.po,sha256=rxPdgQoBtGQSi5diOy3MXyoM4ffpwdWCc4WE3pjIHEI,927 -django/contrib/sites/locale/lb/LC_MESSAGES/django.mo,sha256=xokesKl7h7k9dXFKIJwGETgwx1Ytq6mk2erBSxkgY-o,474 -django/contrib/sites/locale/lb/LC_MESSAGES/django.po,sha256=1yRdK9Zyh7kcWG7wUexuF9-zxEaKLS2gG3ggVOHbRJ8,779 -django/contrib/sites/locale/lt/LC_MESSAGES/django.mo,sha256=bK6PJtd7DaOgDukkzuqos5ktgdjSF_ffL9IJTQY839s,869 -django/contrib/sites/locale/lt/LC_MESSAGES/django.po,sha256=9q7QfFf_IR2A1Cr_9aLVIWf-McR0LivtRC284w2_bo0,1124 -django/contrib/sites/locale/lv/LC_MESSAGES/django.mo,sha256=t9bQiVqpAmXrq8QijN4Lh0n6EGUGQjnuH7hDcu21z4c,823 -django/contrib/sites/locale/lv/LC_MESSAGES/django.po,sha256=vMaEtXGosD3AcTomiuctbOpjLes8TRBnumLe8DC4yq4,1023 -django/contrib/sites/locale/mk/LC_MESSAGES/django.mo,sha256=_YXasRJRWjYmmiEWCrAoqnrKuHHPBG_v_EYTUe16Nfo,885 -django/contrib/sites/locale/mk/LC_MESSAGES/django.po,sha256=AgdIjiSpN0P5o5rr5Ie4sFhnmS5d4doB1ffk91lmOvY,1062 -django/contrib/sites/locale/ml/LC_MESSAGES/django.mo,sha256=axNQVBY0nbR7hYa5bzNtdxB17AUOs2WXhu0Rg--FA3Q,1007 -django/contrib/sites/locale/ml/LC_MESSAGES/django.po,sha256=Sg7hHfK8OMs05ebtTv8gxS6_2kZv-OODwf7okP95Jtk,1169 -django/contrib/sites/locale/mn/LC_MESSAGES/django.mo,sha256=w2sqJRAe0wyz_IuCZ_Ocubs_VHL6wV1BcutWPz0dseQ,867 -django/contrib/sites/locale/mn/LC_MESSAGES/django.po,sha256=Zh_Eao0kLZsrQ8wkL1f-pRrsAtNJOspu45uStq5t8Mo,1127 -django/contrib/sites/locale/mr/LC_MESSAGES/django.mo,sha256=2Z5jaGJzpiJTCnhCk8ulCDeAdj-WwR99scdHFPRoHoA,468 -django/contrib/sites/locale/mr/LC_MESSAGES/django.po,sha256=pqnjF5oxvpMyjijy6JfI8qJbbbowZzE5tZF0DMYiCBs,773 -django/contrib/sites/locale/my/LC_MESSAGES/django.mo,sha256=jN59e9wRheZYx1A4t_BKc7Hx11J5LJg2wQRd21aQv08,961 -django/contrib/sites/locale/my/LC_MESSAGES/django.po,sha256=EhqYIW5-rX33YjsDsBwfiFb3BK6fZKVc3CRYeJpZX1E,1086 -django/contrib/sites/locale/nb/LC_MESSAGES/django.mo,sha256=AaiHGcmcciy5IMBPVAShcc1OQOETJvBCv7GYHMcIQMA,793 -django/contrib/sites/locale/nb/LC_MESSAGES/django.po,sha256=936zoN1sPSiiq7GuH01umrw8W6BtymYEU3bCfOQyfWE,1000 -django/contrib/sites/locale/ne/LC_MESSAGES/django.mo,sha256=n96YovpBax3T5VZSmIfGmd7Zakn9FJShJs5rvUX7Kf0,863 -django/contrib/sites/locale/ne/LC_MESSAGES/django.po,sha256=B14rhDd8GAaIjxd1sYjxO2pZfS8gAwZ1C-kCdVkRXho,1078 -django/contrib/sites/locale/nl/LC_MESSAGES/django.mo,sha256=ghu-tNPNZuE4sVRDWDVmmmVNPYZLWYm_UPJRqh8wmec,735 -django/contrib/sites/locale/nl/LC_MESSAGES/django.po,sha256=1DCQNzMRhy4vW-KkmlPGy58UR27Np5ilmYhmjaq-8_k,1030 -django/contrib/sites/locale/nn/LC_MESSAGES/django.mo,sha256=m1SUw5bhDUemD8yMGDxcWdhbUMtzZ9WXWXtV2AHIzBs,633 -django/contrib/sites/locale/nn/LC_MESSAGES/django.po,sha256=i8BQyewiU2ymkAkj12M2MJBVbCJPp8PB8_NcQiScaD4,861 -django/contrib/sites/locale/os/LC_MESSAGES/django.mo,sha256=Su06FkWMOPzBxoung3bEju_EnyAEAXROoe33imO65uQ,806 -django/contrib/sites/locale/os/LC_MESSAGES/django.po,sha256=4i4rX6aXDUKjq64T02iStqV2V2erUsSVnTivh2XtQeY,963 -django/contrib/sites/locale/pa/LC_MESSAGES/django.mo,sha256=tOHiisOtZrTyIFoo4Ipn_XFH9hhu-ubJLMdOML5ZUgk,684 -django/contrib/sites/locale/pa/LC_MESSAGES/django.po,sha256=ztGyuqvzxRfNjqDG0rMLCu_oQ8V3Dxdsx0WZoYUyNv8,912 -django/contrib/sites/locale/pl/LC_MESSAGES/django.mo,sha256=lo5K262sZmo-hXvcHoBsEDqX8oJEPSxJY5EfRIqHZh0,903 -django/contrib/sites/locale/pl/LC_MESSAGES/django.po,sha256=-kQ49UvXITMy1vjJoN_emuazV_EjNDQnZDERXWNoKvw,1181 -django/contrib/sites/locale/pt/LC_MESSAGES/django.mo,sha256=PrcFQ04lFJ7mIYThXbW6acmDigEFIoLAC0PYk5hfaJs,797 -django/contrib/sites/locale/pt/LC_MESSAGES/django.po,sha256=Aj8hYI9W5nk5uxKHj1oE-b9bxmmuoeXLKaJDPfI2x2o,993 -django/contrib/sites/locale/pt_BR/LC_MESSAGES/django.mo,sha256=BsFfarOR6Qk67fB-tTWgGhuOReJSgjwJBkIzZsv28vo,824 -django/contrib/sites/locale/pt_BR/LC_MESSAGES/django.po,sha256=jfvgelpWn2VQqYe2_CE39SLTsscCckvjuZo6dWII28c,1023 -django/contrib/sites/locale/ro/LC_MESSAGES/django.mo,sha256=oGsZw4_uYpaH6adMxnAuifJgHeZ_ytRZ4rFhiNfRQkQ,857 -django/contrib/sites/locale/ro/LC_MESSAGES/django.po,sha256=tWbWVbjFFELNzSXX4_5ltmzEeEJsY3pKwgEOjgV_W_8,1112 -django/contrib/sites/locale/ru/LC_MESSAGES/django.mo,sha256=bIZJWMpm2O5S6RC_2cfkrp5NXaTU2GWSsMr0wHVEmcw,1016 -django/contrib/sites/locale/ru/LC_MESSAGES/django.po,sha256=jHy5GR05ZSjLmAwaVNq3m0WdhO9GYxge3rDBziqesA8,1300 -django/contrib/sites/locale/sk/LC_MESSAGES/django.mo,sha256=-EYdm14ZjoR8bd7Rv2b5G7UJVSKmZa1ItLsdATR3-Cg,822 -django/contrib/sites/locale/sk/LC_MESSAGES/django.po,sha256=L2YRNq26DdT3OUFhw25ncZBgs232v6kSsAUTc0beIC8,1019 -django/contrib/sites/locale/sl/LC_MESSAGES/django.mo,sha256=JmkpTKJGWgnBM3CqOUriGvrDnvg2YWabIU2kbYAOM4s,845 -django/contrib/sites/locale/sl/LC_MESSAGES/django.po,sha256=qWrWrSz5r3UOVraX08ILt3TTmfyTDGKbJKbTlN9YImU,1059 -django/contrib/sites/locale/sq/LC_MESSAGES/django.mo,sha256=DMLN1ZDJeDnslavjcKloXSXn6IvangVliVP3O6U8dAY,769 -django/contrib/sites/locale/sq/LC_MESSAGES/django.po,sha256=zg3ALcMNZErAS_xFxmtv6TmXZ0vxobX5AzCwOSRSwc8,930 -django/contrib/sites/locale/sr/LC_MESSAGES/django.mo,sha256=8kfi9IPdB2reF8C_eC2phaP6qonboHPwes_w3UgNtzw,935 -django/contrib/sites/locale/sr/LC_MESSAGES/django.po,sha256=A7xaen8H1W4uMBRAqCXT_0KQMoA2-45AUNDfGo9FydI,1107 -django/contrib/sites/locale/sr_Latn/LC_MESSAGES/django.mo,sha256=jMXiq18efq0wErJAQfJR1fCnkYcEb7OYXg8sv6kzP0s,815 -django/contrib/sites/locale/sr_Latn/LC_MESSAGES/django.po,sha256=9jkWYcZCTfQr2UZtyvhWDAmEHBrzunJUZcx7FlrFOis,1004 -django/contrib/sites/locale/sv/LC_MESSAGES/django.mo,sha256=qmhdn3N2C_DR_FYrUaFSacVjghgfb0CuWKanVRJSTq8,792 -django/contrib/sites/locale/sv/LC_MESSAGES/django.po,sha256=dDVuuuHGpZIoT6dU48aT2j4nEuGrd6zZ3FiZEs3TCeE,987 -django/contrib/sites/locale/sw/LC_MESSAGES/django.mo,sha256=cWjjDdFXBGmpUm03UDtgdDrREa2r75oMsXiEPT_Bx3g,781 -django/contrib/sites/locale/sw/LC_MESSAGES/django.po,sha256=oOKNdztQQU0sd6XmLI-n3ONmTL7jx3Q0z1YD8673Wi8,901 -django/contrib/sites/locale/ta/LC_MESSAGES/django.mo,sha256=CLO41KsSKqBrgtrHi6fmXaBk-_Y2l4KBLDJctZuZyWY,714 -django/contrib/sites/locale/ta/LC_MESSAGES/django.po,sha256=YsTITHg7ikkNcsP29tDgkZrUdtO0s9PrV1XPu4mgqCw,939 -django/contrib/sites/locale/te/LC_MESSAGES/django.mo,sha256=GmIWuVyIOcoQoAmr2HxCwBDE9JUYEktzYig93H_4v50,687 -django/contrib/sites/locale/te/LC_MESSAGES/django.po,sha256=jbncxU9H3EjXxWPsEoCKJhKi392XXTGvWyuenqLDxps,912 -django/contrib/sites/locale/tg/LC_MESSAGES/django.mo,sha256=wiWRlf3AN5zlFMNyP_rSDZS7M5rHQJ2DTUHARtXjim8,863 -django/contrib/sites/locale/tg/LC_MESSAGES/django.po,sha256=VBGZfJIw40JZe15ghsk-n3qUVX0VH2nFQQhpBy_lk1Y,1026 -django/contrib/sites/locale/th/LC_MESSAGES/django.mo,sha256=dQOp4JoP3gvfsxqEQ73L6F8FgH1YtAA9hYY-Uz5sv6Y,898 -django/contrib/sites/locale/th/LC_MESSAGES/django.po,sha256=auZBoKKKCHZbbh0PaUr9YKiWB1TEYZoj4bE7efAonV8,1077 -django/contrib/sites/locale/tk/LC_MESSAGES/django.mo,sha256=YhzSiVb_NdG1s7G1-SGGd4R3uweZQgnTs3G8Lv9r5z0,755 -django/contrib/sites/locale/tk/LC_MESSAGES/django.po,sha256=sigmzH3Ni2vJwLJ7ba8EeB4wnDXsg8rQRFExZAGycF4,917 -django/contrib/sites/locale/tr/LC_MESSAGES/django.mo,sha256=ryf01jcvvBMGPKkdViieDuor-Lr2KRXZeFF1gPupCOA,758 -django/contrib/sites/locale/tr/LC_MESSAGES/django.po,sha256=L9tsnwxw1BEJD-Nm3m1RAS7ekgdmyC0ETs_mr7tQw1E,1043 -django/contrib/sites/locale/tt/LC_MESSAGES/django.mo,sha256=gmmjXeEQUlBpfDmouhxE-qpEtv-iWdQSobYL5MWprZc,706 -django/contrib/sites/locale/tt/LC_MESSAGES/django.po,sha256=yj49TjwcZ4YrGqnJrKh3neKydlTgwYduto9KsmxI_eI,930 -django/contrib/sites/locale/udm/LC_MESSAGES/django.mo,sha256=CNmoKj9Uc0qEInnV5t0Nt4ZnKSZCRdIG5fyfSsqwky4,462 -django/contrib/sites/locale/udm/LC_MESSAGES/django.po,sha256=vrLZ0XJF63CO3IucbQpd12lxuoM9S8tTUv6cpu3g81c,767 -django/contrib/sites/locale/uk/LC_MESSAGES/django.mo,sha256=H4806mPqOoHJFm549F7drzsfkvAXWKmn1w_WVwQx9rk,960 -django/contrib/sites/locale/uk/LC_MESSAGES/django.po,sha256=jmJKTuGLhfP4rg8M_d86XR4X8qYB-JAtEf6jRKuzi3w,1187 -django/contrib/sites/locale/ur/LC_MESSAGES/django.mo,sha256=s6QL8AB_Mp9haXS4n1r9b0YhEUECPxUyPrHTMI3agts,654 -django/contrib/sites/locale/ur/LC_MESSAGES/django.po,sha256=R9tv3qtett8CUGackoHrc5XADeygVKAE0Fz8YzK2PZ4,885 -django/contrib/sites/locale/uz/LC_MESSAGES/django.mo,sha256=OsuqnLEDl9gUAwsmM2s1KH7VD74ID-k7JXcjGhjFlEY,799 -django/contrib/sites/locale/uz/LC_MESSAGES/django.po,sha256=RoaOwLDjkqqIJTuxpuY7eMLo42n6FoYAYutCfMaDk4I,935 -django/contrib/sites/locale/vi/LC_MESSAGES/django.mo,sha256=YOaKcdrN1238Zdm81jUkc2cpxjInAbdnhsSqHP_jQsI,762 -django/contrib/sites/locale/vi/LC_MESSAGES/django.po,sha256=AHcqR2p0fdscLvzbJO_a-CzMzaeRL4LOw4HB9K3noVQ,989 -django/contrib/sites/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=7D9_pDY5lBRpo1kfzIQL-PNvIg-ofCm7cBHE1-JWlMk,779 -django/contrib/sites/locale/zh_Hans/LC_MESSAGES/django.po,sha256=xI_N00xhV8dWDp4fg5Mmj9ivOBBdHP79T3-JYXPyc5M,946 -django/contrib/sites/locale/zh_Hant/LC_MESSAGES/django.mo,sha256=0F6Qmh1smIXlOUNDaDwDajyyGecc1azfwh8BhXrpETo,790 -django/contrib/sites/locale/zh_Hant/LC_MESSAGES/django.po,sha256=ixbXNBNKNfrpI_B0O_zktTfo63sRFMOk1B1uIh4DGGg,1046 -django/contrib/sites/management.py,sha256=K6cgSOdN4ins_TiWjUIkGFwuibJmshTlFonqYT2QKrw,1597 -django/contrib/sites/managers.py,sha256=OJfKicEOuqcD0B7NuH4scszrknQZ-X1Nf1PL0XgWqLM,1929 -django/contrib/sites/middleware.py,sha256=qYcVHsHOg0VxQNS4saoLHkdF503nJR-D7Z01vE0SvUM,309 -django/contrib/sites/migrations/0001_initial.py,sha256=7plQm1loCP4AuC1wwCpXlX3Fw8q5V0T6Vxi7lNzbyoY,1068 -django/contrib/sites/migrations/0002_alter_domain_unique.py,sha256=HECWqP0R0hp77p_ubI5bI9DqEXIiGOTTszAr4EpgtVE,517 -django/contrib/sites/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/contrib/sites/migrations/__pycache__/0001_initial.cpython-38.pyc,, -django/contrib/sites/migrations/__pycache__/0002_alter_domain_unique.cpython-38.pyc,, -django/contrib/sites/migrations/__pycache__/__init__.cpython-38.pyc,, -django/contrib/sites/models.py,sha256=fChMnUtphdlXyzGPh7uSDzjWBS3xJ0mIpjLRFk1Z54E,3696 -django/contrib/sites/requests.py,sha256=74RhONzbRqEGoNXLu4T7ZjAFKYvCLmY_XQWnGRz6jdw,640 -django/contrib/sites/shortcuts.py,sha256=RZr1iT8zY_z8o52PIWEBFCQL03pE28pp6708LveS240,581 -django/contrib/staticfiles/__init__.py,sha256=eGxMURIKxiv-dE7rP1hwNgUhfzUN36-Bc58jCpHgmCE,73 -django/contrib/staticfiles/__pycache__/__init__.cpython-38.pyc,, -django/contrib/staticfiles/__pycache__/apps.cpython-38.pyc,, -django/contrib/staticfiles/__pycache__/checks.cpython-38.pyc,, -django/contrib/staticfiles/__pycache__/finders.cpython-38.pyc,, -django/contrib/staticfiles/__pycache__/handlers.cpython-38.pyc,, -django/contrib/staticfiles/__pycache__/storage.cpython-38.pyc,, -django/contrib/staticfiles/__pycache__/testing.cpython-38.pyc,, -django/contrib/staticfiles/__pycache__/urls.cpython-38.pyc,, -django/contrib/staticfiles/__pycache__/utils.cpython-38.pyc,, -django/contrib/staticfiles/__pycache__/views.cpython-38.pyc,, -django/contrib/staticfiles/apps.py,sha256=4682vA5WgXhJ8DgOFQmGTBBw3b-xsYjkV1n-TVIc25o,423 -django/contrib/staticfiles/checks.py,sha256=rH9A8NIYtEkA_PRYXQJxndm243O6Mz6GwyqWSUe3f24,391 -django/contrib/staticfiles/finders.py,sha256=fPaY6cHU_uTIYUoVk86jYt_SK-sbJzIHIvUDcAk2oV8,10393 -django/contrib/staticfiles/handlers.py,sha256=dxjjvVISnAlCmFebHdiylRT16Ac2ddPXtu8WL0Dr49w,3462 -django/contrib/staticfiles/management/commands/__pycache__/collectstatic.cpython-38.pyc,, -django/contrib/staticfiles/management/commands/__pycache__/findstatic.cpython-38.pyc,, -django/contrib/staticfiles/management/commands/__pycache__/runserver.cpython-38.pyc,, -django/contrib/staticfiles/management/commands/collectstatic.py,sha256=OF-wPu9FvkHZPvfu1PHEy9yghcKwxKsoqpimqEacmzM,15136 -django/contrib/staticfiles/management/commands/findstatic.py,sha256=m4EXJJQwzvYGOPrcANJe3ihZPWGAZV5lvky8jAbZdKI,1561 -django/contrib/staticfiles/management/commands/runserver.py,sha256=uv-h6a8AOs0c92ILT_3Mu0UTBoCiQzThpUEmR-blj70,1318 -django/contrib/staticfiles/storage.py,sha256=FglRyoP7UuJdOSHuTud8Cukzwn8Lcb4_XmCJUVAiTsA,17618 -django/contrib/staticfiles/testing.py,sha256=4X-EtOfXnwkJAyFT8qe4H4sbVTKgM65klLUtY81KHiE,463 -django/contrib/staticfiles/urls.py,sha256=owDM_hdyPeRmxYxZisSMoplwnzWrptI_W8-3K2f7ITA,498 -django/contrib/staticfiles/utils.py,sha256=S-x2G7gXp67kjJ8cKLCljXETZt20UqsRdhjPyJTbLcg,2276 -django/contrib/staticfiles/views.py,sha256=43bHYTHVMWjweU_tqzXpBKEp7EtHru_7rwr2w7U-AZk,1261 -django/contrib/syndication/__init__.py,sha256=b5C6iIdbIOHf5wvcm1QJYsspErH3TyWJnCDYS9NjFY4,73 -django/contrib/syndication/__pycache__/__init__.cpython-38.pyc,, -django/contrib/syndication/__pycache__/apps.cpython-38.pyc,, -django/contrib/syndication/__pycache__/views.cpython-38.pyc,, -django/contrib/syndication/apps.py,sha256=hXquFH_3BL6NNR2cxLU-vHlBJZ3OCjbcl8jkzCNvE64,203 -django/contrib/syndication/views.py,sha256=GAvymnnvekrsklbS6bfEYQqdbrtjgy2fq_t3abgIktY,8663 -django/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/core/__pycache__/__init__.cpython-38.pyc,, -django/core/__pycache__/asgi.cpython-38.pyc,, -django/core/__pycache__/exceptions.cpython-38.pyc,, -django/core/__pycache__/paginator.cpython-38.pyc,, -django/core/__pycache__/signals.cpython-38.pyc,, -django/core/__pycache__/signing.cpython-38.pyc,, -django/core/__pycache__/validators.cpython-38.pyc,, -django/core/__pycache__/wsgi.cpython-38.pyc,, -django/core/asgi.py,sha256=N2L3GS6F6oL-yD9Tu2otspCi2UhbRQ90LEx3ExOP1m0,386 -django/core/cache/__init__.py,sha256=djbE71-P3Pe5W0C1q4wBcKeKiTwZXvO0BBAAVZDXsXk,3734 -django/core/cache/__pycache__/__init__.cpython-38.pyc,, -django/core/cache/__pycache__/utils.cpython-38.pyc,, -django/core/cache/backends/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/core/cache/backends/__pycache__/__init__.cpython-38.pyc,, -django/core/cache/backends/__pycache__/base.cpython-38.pyc,, -django/core/cache/backends/__pycache__/db.cpython-38.pyc,, -django/core/cache/backends/__pycache__/dummy.cpython-38.pyc,, -django/core/cache/backends/__pycache__/filebased.cpython-38.pyc,, -django/core/cache/backends/__pycache__/locmem.cpython-38.pyc,, -django/core/cache/backends/__pycache__/memcached.cpython-38.pyc,, -django/core/cache/backends/base.py,sha256=03eVXLBj0iw74MJkreNf1E44fUiyY3YlLlkPzqy30t8,10203 -django/core/cache/backends/db.py,sha256=GmfhmwwPGnJd3wH16qxj1m-RTRfGpRNJ-L7GQDZZd_M,11063 -django/core/cache/backends/dummy.py,sha256=DcfckCOdsfrmqarEQYyeLRDyI73PU3beCfltpofAYSc,1137 -django/core/cache/backends/filebased.py,sha256=6DqOisTScyE0F_q5xL6PmcIKqRiCERezNOkLnUPpNBo,5687 -django/core/cache/backends/locmem.py,sha256=UX9YHfgQDujCUxsxqmOuQmdubIBkuQbidYhhZktelMs,4130 -django/core/cache/backends/memcached.py,sha256=AWhUekLlky-GAw4hC5zGBKk9zoXckfuLzb-FvFBaqSI,8443 -django/core/cache/utils.py,sha256=nf_f2V3ToTSwtFftQ8fNgN0tsGylo_IE8kTL_Vq7OaI,375 -django/core/checks/__init__.py,sha256=BPnStYHYfhBvSIONGxIKP2Xj-01niFcnCjtVGL0PG2A,994 -django/core/checks/__pycache__/__init__.cpython-38.pyc,, -django/core/checks/__pycache__/async_checks.cpython-38.pyc,, -django/core/checks/__pycache__/caches.cpython-38.pyc,, -django/core/checks/__pycache__/database.cpython-38.pyc,, -django/core/checks/__pycache__/messages.cpython-38.pyc,, -django/core/checks/__pycache__/model_checks.cpython-38.pyc,, -django/core/checks/__pycache__/registry.cpython-38.pyc,, -django/core/checks/__pycache__/templates.cpython-38.pyc,, -django/core/checks/__pycache__/translation.cpython-38.pyc,, -django/core/checks/__pycache__/urls.cpython-38.pyc,, -django/core/checks/async_checks.py,sha256=rtYPbvAzZUbB23OTdfJgArNhVGCrepctB82PLaFTZ9k,403 -django/core/checks/caches.py,sha256=jhyfX_m6TepTYRBa-j3qh1owD1W-3jmceu8b8dIFqVk,415 -django/core/checks/compatibility/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/core/checks/compatibility/__pycache__/__init__.cpython-38.pyc,, -django/core/checks/database.py,sha256=sBj-8o4DmpG5QPy1KXgXtZ0FZ0T9xdlT4XBIc70wmEQ,341 -django/core/checks/messages.py,sha256=ZbasGH7L_MeIGIwb_nYiO9Z_MXF0-aXO1ru2xFACj6Y,2161 -django/core/checks/model_checks.py,sha256=41QRdKoW1f8A2HtwsrmdhQFqxtGskmHad-lTP8-snh4,8601 -django/core/checks/registry.py,sha256=kua3JtbM9YlcqxnJsYPP6s2i4K8BG5hSGo8V-Tnl0II,2981 -django/core/checks/security/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/core/checks/security/__pycache__/__init__.cpython-38.pyc,, -django/core/checks/security/__pycache__/base.cpython-38.pyc,, -django/core/checks/security/__pycache__/csrf.cpython-38.pyc,, -django/core/checks/security/__pycache__/sessions.cpython-38.pyc,, -django/core/checks/security/base.py,sha256=S1qoMNIO7a47oz8tPbsFVN5Uz3G3SZaNB07aVKvtxz0,7725 -django/core/checks/security/csrf.py,sha256=CH09reOHXQEdCMqhlejyh0IsGwDQkFeHRYO25glZTYE,1259 -django/core/checks/security/sessions.py,sha256=vvsxKEwb3qHgnCG0R5KUkfUpMHuZMfxjo9-X-2BTp-4,2558 -django/core/checks/templates.py,sha256=9_qZn_MWX94i209MVu2uS66NPRgbKWtk_XxetKczyfU,1092 -django/core/checks/translation.py,sha256=CkywI7a5HvzyWeJxKGaj54AKIynfxSMswGgg6NVV2LM,1974 -django/core/checks/urls.py,sha256=lA8wbw2WDC-e4ZAr-9ooEWtGvrNyMh1G-MZbojGq9W8,3246 -django/core/exceptions.py,sha256=12lhXTU_JyYUQFySoyLvJQu0OkYB2saZliAfZLjyR6I,5522 -django/core/files/__init__.py,sha256=OjalFLvs-vPaTE3vP0eYZWyNwMj9pLJZNgG4AcGn2_Y,60 -django/core/files/__pycache__/__init__.cpython-38.pyc,, -django/core/files/__pycache__/base.cpython-38.pyc,, -django/core/files/__pycache__/images.cpython-38.pyc,, -django/core/files/__pycache__/locks.cpython-38.pyc,, -django/core/files/__pycache__/move.cpython-38.pyc,, -django/core/files/__pycache__/storage.cpython-38.pyc,, -django/core/files/__pycache__/temp.cpython-38.pyc,, -django/core/files/__pycache__/uploadedfile.cpython-38.pyc,, -django/core/files/__pycache__/uploadhandler.cpython-38.pyc,, -django/core/files/__pycache__/utils.cpython-38.pyc,, -django/core/files/base.py,sha256=jsYsE3bNpAgaQcUvTE8m1UTj6HVXkHd4bh-Y38JmF84,4812 -django/core/files/images.py,sha256=jmF29FQ1RHZ1Sio6hNjJ6FYVAiz5JQTkAyqX7qWSAFA,2569 -django/core/files/locks.py,sha256=To-2wzZqSHdNSICJJgSavfKYyiHFJ-0R24VSLDKG5bI,3513 -django/core/files/move.py,sha256=_4xGm6hCV05X54VY0AkEjYFaNcN85x3hablD2J9jyS4,2973 -django/core/files/storage.py,sha256=GiK-oVGzSYfKXAIskYasZ2gesfVB_yiIN1nDQbgQNQg,14523 -django/core/files/temp.py,sha256=yy1ye2buKU2PB884jKmzp8jBGIPbPhCa3nflXulVafQ,2491 -django/core/files/uploadedfile.py,sha256=dzZcC1OWFMK52Wp6jzVGIo-MYbkkhSHOhRR4JZgaoQE,3890 -django/core/files/uploadhandler.py,sha256=b0sc54SjxNcf9FsjO8Er-8F0rfyx-UtSF7uoV-j5S_0,6471 -django/core/files/utils.py,sha256=5Ady6JuzCYb_VAtSwc9Dr-iTmpuMIVuJ3RKck1-sYzk,1752 -django/core/handlers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/core/handlers/__pycache__/__init__.cpython-38.pyc,, -django/core/handlers/__pycache__/asgi.cpython-38.pyc,, -django/core/handlers/__pycache__/base.cpython-38.pyc,, -django/core/handlers/__pycache__/exception.cpython-38.pyc,, -django/core/handlers/__pycache__/wsgi.cpython-38.pyc,, -django/core/handlers/asgi.py,sha256=S7STi-d4_-2np_jqjdZZpYuU_2enrfPnGCTZvsTuYdo,11170 -django/core/handlers/base.py,sha256=8kOkuIh-H7vvK2-DcLxFTE8K0Tk5ZeTpqSZfbwWzkg0,14428 -django/core/handlers/exception.py,sha256=hpL34mtC7w5cqFBf_tEuh1QkM2TcfjPpAPXMwB3TWKk,5250 -django/core/handlers/wsgi.py,sha256=qIfieIyZapfpIR1GmuIaBejuI9brrv_Po3SezAd-glQ,7829 -django/core/mail/__init__.py,sha256=LS59oJ0C1vGsNtVcAoEyLgYlDIAHVnHMLfqiMDauQfE,4875 -django/core/mail/__pycache__/__init__.cpython-38.pyc,, -django/core/mail/__pycache__/message.cpython-38.pyc,, -django/core/mail/__pycache__/utils.cpython-38.pyc,, -django/core/mail/backends/__init__.py,sha256=VJ_9dBWKA48MXBZXVUaTy9NhgfRonapA6UAjVFEPKD8,37 -django/core/mail/backends/__pycache__/__init__.cpython-38.pyc,, -django/core/mail/backends/__pycache__/base.cpython-38.pyc,, -django/core/mail/backends/__pycache__/console.cpython-38.pyc,, -django/core/mail/backends/__pycache__/dummy.cpython-38.pyc,, -django/core/mail/backends/__pycache__/filebased.cpython-38.pyc,, -django/core/mail/backends/__pycache__/locmem.cpython-38.pyc,, -django/core/mail/backends/__pycache__/smtp.cpython-38.pyc,, -django/core/mail/backends/base.py,sha256=f9Oeaw1RAiPHmsTdQakeYzEabfOtULz0UvldP4Cydpk,1660 -django/core/mail/backends/console.py,sha256=l1XFESBbk1Ney5bUgjCYVPoSDzjobzIK3GMQyxQX1Qk,1402 -django/core/mail/backends/dummy.py,sha256=sI7tAa3MfG43UHARduttBvEAYYfiLasgF39jzaZPu9E,234 -django/core/mail/backends/filebased.py,sha256=yriBReURf6y1c9fT2vnA2f_czy9cRJ9fSMipq9BX7tE,2300 -django/core/mail/backends/locmem.py,sha256=OgTK_4QGhsBdqtDKY6bwYNKw2MXudc0PSF5GNVqS7gk,884 -django/core/mail/backends/smtp.py,sha256=wJ3IsY94ust3PtXDUu-Vf59BuRUZIKb0ivJ7YCocKL0,5262 -django/core/mail/message.py,sha256=k7fyPYk6ecQTHDia6gfOSgv7LKrmR7L3hLku5egVL8Y,17026 -django/core/mail/utils.py,sha256=us5kx4w4lSev93Jjpv9chldLuxh3dskcQ1yDVS09MgM,506 -django/core/management/__init__.py,sha256=DE4_F5NkC7sJ4vzAiCGhJr658oX2wN9DU5bXE75pUoc,16522 -django/core/management/__pycache__/__init__.cpython-38.pyc,, -django/core/management/__pycache__/base.cpython-38.pyc,, -django/core/management/__pycache__/color.cpython-38.pyc,, -django/core/management/__pycache__/sql.cpython-38.pyc,, -django/core/management/__pycache__/templates.cpython-38.pyc,, -django/core/management/__pycache__/utils.cpython-38.pyc,, -django/core/management/base.py,sha256=HvR2ZSeGHPGb89M_YhdBwQDpQe9ty5FxUvGgc5CQirM,21508 -django/core/management/color.py,sha256=NMcrXnPbjG06BFbSg7uauASiGS44VO0FdqBDZf27tyQ,1775 -django/core/management/commands/__pycache__/check.cpython-38.pyc,, -django/core/management/commands/__pycache__/compilemessages.cpython-38.pyc,, -django/core/management/commands/__pycache__/createcachetable.cpython-38.pyc,, -django/core/management/commands/__pycache__/dbshell.cpython-38.pyc,, -django/core/management/commands/__pycache__/diffsettings.cpython-38.pyc,, -django/core/management/commands/__pycache__/dumpdata.cpython-38.pyc,, -django/core/management/commands/__pycache__/flush.cpython-38.pyc,, -django/core/management/commands/__pycache__/inspectdb.cpython-38.pyc,, -django/core/management/commands/__pycache__/loaddata.cpython-38.pyc,, -django/core/management/commands/__pycache__/makemessages.cpython-38.pyc,, -django/core/management/commands/__pycache__/makemigrations.cpython-38.pyc,, -django/core/management/commands/__pycache__/migrate.cpython-38.pyc,, -django/core/management/commands/__pycache__/runserver.cpython-38.pyc,, -django/core/management/commands/__pycache__/sendtestemail.cpython-38.pyc,, -django/core/management/commands/__pycache__/shell.cpython-38.pyc,, -django/core/management/commands/__pycache__/showmigrations.cpython-38.pyc,, -django/core/management/commands/__pycache__/sqlflush.cpython-38.pyc,, -django/core/management/commands/__pycache__/sqlmigrate.cpython-38.pyc,, -django/core/management/commands/__pycache__/sqlsequencereset.cpython-38.pyc,, -django/core/management/commands/__pycache__/squashmigrations.cpython-38.pyc,, -django/core/management/commands/__pycache__/startapp.cpython-38.pyc,, -django/core/management/commands/__pycache__/startproject.cpython-38.pyc,, -django/core/management/commands/__pycache__/test.cpython-38.pyc,, -django/core/management/commands/__pycache__/testserver.cpython-38.pyc,, -django/core/management/commands/check.py,sha256=Qw-PLXybBuXSOnc1PLu2It1iDSvxMg4tfbpZZIn-lCc,2463 -django/core/management/commands/compilemessages.py,sha256=yhlygni2xAauEp4UO96rtVPUoEmHYw8uu-xkXoy_0U4,6231 -django/core/management/commands/createcachetable.py,sha256=oH_qKMhsEcneim0yJgBeNHq46xU3mWcWpeceK2cokXk,4295 -django/core/management/commands/dbshell.py,sha256=wcSfQam834go31Wz7Bmzr7Z3F-h5oATx8ZNae3xOoow,1655 -django/core/management/commands/diffsettings.py,sha256=Iw-jYBG9fTbCoLBzS-lCTIMRPUK5ALKf2QtU5ZHWJDM,3373 -django/core/management/commands/dumpdata.py,sha256=XdSdMuDhRyspwTX3Ztow5GcVllOalq76XnCJ8-bdaiY,8898 -django/core/management/commands/flush.py,sha256=3dfcCqGnpZKWfx8_MMAqx47soMRqjhyXHfgFpbybXhc,3545 -django/core/management/commands/inspectdb.py,sha256=-2JkwgM3_P4_M4ZJC57tjswvSYUXirm94piJYzIRpp4,13689 -django/core/management/commands/loaddata.py,sha256=VtXUKi19pLnPXWZkSDCrmCnSKfUAfJZQ2ME-oM465BY,14502 -django/core/management/commands/makemessages.py,sha256=hXaf4JQ9jQA2kfr9dG93UrIFBGJSeSBBTh8IIM83cBw,26213 -django/core/management/commands/makemigrations.py,sha256=e9nMf32HDqW28zm_h2TEPQUuDdWFs5Qbhtze8oxvbuw,14487 -django/core/management/commands/migrate.py,sha256=A1AUiZylBHGrLwFaVPrjgoWD53CuWdWBXxxXQ8S21AY,16775 -django/core/management/commands/runserver.py,sha256=dep1XimSed1WP6esSZJ04qturnOzvDYKeArKvsFtUAs,6270 -django/core/management/commands/sendtestemail.py,sha256=LsiP5Xg4AWLtc0vS0JinaaAAKjBbLUnfCq0pa0r4FFw,1456 -django/core/management/commands/shell.py,sha256=iQjJWqFxmRpxaNL2CBCNzb6tUYFEMfECthcuvRXCNjA,4030 -django/core/management/commands/showmigrations.py,sha256=EYtkzVgj_utUogsQ_y7qoCpMQvAXY1u4KchtcVdH7hU,5855 -django/core/management/commands/sqlflush.py,sha256=mGOZHbMYSVkQRVJOPAmR5ZW9qZRAvcIC3rpmT4yLl7Y,946 -django/core/management/commands/sqlmigrate.py,sha256=iSaF13OoO5jSeW4mK-8WlnUaYkkb2Q1mJO_4dRPoHPc,3102 -django/core/management/commands/sqlsequencereset.py,sha256=whux0yEJxQDbZ-6B_PYOnAVkcrwLUZOrca0ZFynh97w,982 -django/core/management/commands/squashmigrations.py,sha256=TjKfRi5f_oXJJsTS5a0z5S9RP-Peb00Dqf_uaiJdFHg,9728 -django/core/management/commands/startapp.py,sha256=rvXApmLdP3gBinKaOMJtT1g3YrgVTlHteqNqFioNu8Y,503 -django/core/management/commands/startproject.py,sha256=ygP95ZEldotgEVmxDYBPUyAedNQTTwJulKLinGUxZtg,688 -django/core/management/commands/test.py,sha256=MZ8KXfCDUuq-ynHxURrHk5aJOmGg0Ue7bZw1G0v9nWg,2050 -django/core/management/commands/testserver.py,sha256=Veo-U69NUEyFuM_O9tG7GjRZ3aR2vWzcaVWahAIdS_M,2117 -django/core/management/sql.py,sha256=eafIdm7dMP4uPwujcGtNZA55mnB0H9X4AZH4U7Qqf-Q,1894 -django/core/management/templates.py,sha256=jWyFcN0eDMFET-hGsJZ0FpdKANi_FG-en2dvxRL_mvw,13648 -django/core/management/utils.py,sha256=k_YvRKOkaVDUjrRWkZe3MDGg6kB3iaCFymJDs30pJ_A,4873 -django/core/paginator.py,sha256=fVOS86mmRkcby5QGHI_qlQeAhiLePInjeXwtBMKn4j8,6095 -django/core/serializers/__init__.py,sha256=LYFhem-lYJIo0Xg4XgunbfNp6UTW7irjWAUn0fsWwBE,8582 -django/core/serializers/__pycache__/__init__.cpython-38.pyc,, -django/core/serializers/__pycache__/base.cpython-38.pyc,, -django/core/serializers/__pycache__/json.cpython-38.pyc,, -django/core/serializers/__pycache__/python.cpython-38.pyc,, -django/core/serializers/__pycache__/pyyaml.cpython-38.pyc,, -django/core/serializers/__pycache__/xml_serializer.cpython-38.pyc,, -django/core/serializers/base.py,sha256=qIocEiFhQAtQ-PNjEBJ_2CEXO_ioVXkQVQVvKDVDq9Y,11737 -django/core/serializers/json.py,sha256=peWRUbvjFzrMKl7wdF5gucyG68en8DvMrKKd9Y-qNB8,3411 -django/core/serializers/python.py,sha256=KcsSNcCYbOo5qb1sNRMsexIpig_q8f0h4asOLt8qnDY,5966 -django/core/serializers/pyyaml.py,sha256=4uBpVQt05FCGSBd7j3KklqEQPYVrrEeWSy9-_6noVEM,2896 -django/core/serializers/xml_serializer.py,sha256=qZ5oDy_AV16iY7f1UgqcJ7ga8woA1lb9SVc9sr06bFU,16643 -django/core/servers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/core/servers/__pycache__/__init__.cpython-38.pyc,, -django/core/servers/__pycache__/basehttp.cpython-38.pyc,, -django/core/servers/basehttp.py,sha256=rOURDedcu6Dxj_r6t9r4N6Kr7Sahu710sVXrq97Nyg8,7891 -django/core/signals.py,sha256=5vh1e7IgPN78WXPo7-hEMPN9tQcqJSZHu0WCibNgd-E,151 -django/core/signing.py,sha256=e3UQboGNKv1ottOHDt8DjU9NE0-99CPF5uUOmn8iPDA,7397 -django/core/validators.py,sha256=tmaXTX2qvxRSD_S1A2zU3BXBhUIBdCldkC9jq7xLO0Y,18572 -django/core/wsgi.py,sha256=2sYMSe3IBrENeQT7rys-04CRmf8hW2Q2CjlkBUIyjHk,388 -django/db/__init__.py,sha256=T8s-HTPRYj1ezRtUqzam8wQup01EhaQQXHQYVkAH8jY,1900 -django/db/__pycache__/__init__.cpython-38.pyc,, -django/db/__pycache__/transaction.cpython-38.pyc,, -django/db/__pycache__/utils.cpython-38.pyc,, -django/db/backends/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/db/backends/__pycache__/__init__.cpython-38.pyc,, -django/db/backends/__pycache__/ddl_references.cpython-38.pyc,, -django/db/backends/__pycache__/signals.cpython-38.pyc,, -django/db/backends/__pycache__/utils.cpython-38.pyc,, -django/db/backends/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/db/backends/base/__pycache__/__init__.cpython-38.pyc,, -django/db/backends/base/__pycache__/base.cpython-38.pyc,, -django/db/backends/base/__pycache__/client.cpython-38.pyc,, -django/db/backends/base/__pycache__/creation.cpython-38.pyc,, -django/db/backends/base/__pycache__/features.cpython-38.pyc,, -django/db/backends/base/__pycache__/introspection.cpython-38.pyc,, -django/db/backends/base/__pycache__/operations.cpython-38.pyc,, -django/db/backends/base/__pycache__/schema.cpython-38.pyc,, -django/db/backends/base/__pycache__/validation.cpython-38.pyc,, -django/db/backends/base/base.py,sha256=hVT2OdfXFaMQRJFQZsei9C_ZjS9Mh9k7jS5YAjG35OQ,24644 -django/db/backends/base/client.py,sha256=P-KiurUqzc-VJpBfuTBBpQZAPyTIPytCJmf6ZYZqcT4,525 -django/db/backends/base/creation.py,sha256=REMQxvzcJ_DmmEkQN9hXWcp0k6-xONXjr302ay8_FZY,13067 -django/db/backends/base/features.py,sha256=xmrGTs2dOU5r6IimhdaasOTLiHJljjX_ZMt4_DTWGf0,13062 -django/db/backends/base/introspection.py,sha256=jmwGFV5lTusn_990hegQN_LMRdCkpHwORQfQXNAb97Y,7718 -django/db/backends/base/operations.py,sha256=XA6QaWEtn1_KouEbVaQ3LMtJxjBaxHvXwhbo7OSHuBo,26923 -django/db/backends/base/schema.py,sha256=aAmBR5GFRybMUwtWpHpQDlHNGZdElGp22QQ22E-1TIQ,57233 -django/db/backends/base/validation.py,sha256=4zIAVsePyETiRtK7CAw78y4ZiCPISs0Pv17mFWy2Tr4,1040 -django/db/backends/ddl_references.py,sha256=GHar8YR-PrBRTWtm5FF9q40y4Q8SjYhDvcyLumDfJLs,6665 -django/db/backends/dummy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/db/backends/dummy/__pycache__/__init__.cpython-38.pyc,, -django/db/backends/dummy/__pycache__/base.cpython-38.pyc,, -django/db/backends/dummy/__pycache__/features.cpython-38.pyc,, -django/db/backends/dummy/base.py,sha256=ZsB_hKOW9tuaNbZt64fGY6tk0_FqMiF72rp8TE3NrDA,2244 -django/db/backends/dummy/features.py,sha256=Pg8_jND-aoJomTaBBXU3hJEjzpB-rLs6VwpoKkOYuQg,181 -django/db/backends/mysql/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/db/backends/mysql/__pycache__/__init__.cpython-38.pyc,, -django/db/backends/mysql/__pycache__/base.cpython-38.pyc,, -django/db/backends/mysql/__pycache__/client.cpython-38.pyc,, -django/db/backends/mysql/__pycache__/compiler.cpython-38.pyc,, -django/db/backends/mysql/__pycache__/creation.cpython-38.pyc,, -django/db/backends/mysql/__pycache__/features.cpython-38.pyc,, -django/db/backends/mysql/__pycache__/introspection.cpython-38.pyc,, -django/db/backends/mysql/__pycache__/operations.cpython-38.pyc,, -django/db/backends/mysql/__pycache__/schema.cpython-38.pyc,, -django/db/backends/mysql/__pycache__/validation.cpython-38.pyc,, -django/db/backends/mysql/base.py,sha256=jntLZHRlcM1AqT9vz2P5At3gCk4JPX68ZQQ2Y0B6Tyk,15246 -django/db/backends/mysql/client.py,sha256=CM75cHDXq9mw44AigAQGNosrzRXa68v-ikqWPfTklVA,1907 -django/db/backends/mysql/compiler.py,sha256=d0RDwkZP3eMGJlGM8NnLI20VCFQodni7T9a8dDcXKjg,1712 -django/db/backends/mysql/creation.py,sha256=2iH4Uo9KJUaJs12ZIWEXQHeXZmxkpzkIvY-x_dGJOZY,3035 -django/db/backends/mysql/features.py,sha256=Q5oO5r7AcB9hV6hAREMRerq5NnyAOVMGUF1V93hRvDk,6716 -django/db/backends/mysql/introspection.py,sha256=3QRGBONP5CeDBxhSEZ2O0Lj7HgQegsACOoIeL8Yii2o,12677 -django/db/backends/mysql/operations.py,sha256=SWdaFIv2SgwhNBHcfMcpKR6Uewc2845Vlkc1EiJ3dJo,16090 -django/db/backends/mysql/schema.py,sha256=8jEl0eHz6u4qeUvsJkE9jRo58h1a_GuLK27ny7hEt68,6647 -django/db/backends/mysql/validation.py,sha256=U11SbB91lcWzaZZPxY96Cik9s9wO61cm_fOxnX-Cvzo,2920 -django/db/backends/oracle/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/db/backends/oracle/__pycache__/__init__.cpython-38.pyc,, -django/db/backends/oracle/__pycache__/base.cpython-38.pyc,, -django/db/backends/oracle/__pycache__/client.cpython-38.pyc,, -django/db/backends/oracle/__pycache__/creation.cpython-38.pyc,, -django/db/backends/oracle/__pycache__/features.cpython-38.pyc,, -django/db/backends/oracle/__pycache__/functions.cpython-38.pyc,, -django/db/backends/oracle/__pycache__/introspection.cpython-38.pyc,, -django/db/backends/oracle/__pycache__/operations.cpython-38.pyc,, -django/db/backends/oracle/__pycache__/schema.cpython-38.pyc,, -django/db/backends/oracle/__pycache__/utils.cpython-38.pyc,, -django/db/backends/oracle/__pycache__/validation.cpython-38.pyc,, -django/db/backends/oracle/base.py,sha256=54UmolgeIaLkm9s9o9slPQWYDT-kUVuPunz9JEQhUts,23467 -django/db/backends/oracle/client.py,sha256=Vk4ATgDLc4xQzb06MFO-Nw6OA81sSpqTJGHREdvNFvk,543 -django/db/backends/oracle/creation.py,sha256=PIK2aKSL7ITWPV-HePu0jp0hab34b9iYXZKhQndEJog,19630 -django/db/backends/oracle/features.py,sha256=AFirCpP0yUPXbBDOrGwv4xxXqOsyUyxzpIz9DjKPZ3c,2417 -django/db/backends/oracle/functions.py,sha256=PHMO9cApG1EhZPD4E0Vd6dzPmE_Dzouf9GIWbF1X7kc,768 -django/db/backends/oracle/introspection.py,sha256=2usF8-F-LoQjTdvZW2lt19Kg-U-DQ7EqVyli01FH0xw,13652 -django/db/backends/oracle/operations.py,sha256=hsGpyEJH6D4Zdc_JSkvf_TbP5xudw_KYDYHMCjw0N2w,28230 -django/db/backends/oracle/schema.py,sha256=LU-lefeX97QUPCJvzJ82rtF_1VgESUpRHjqb47xnH0Q,7803 -django/db/backends/oracle/utils.py,sha256=4Xan7GDwo6YH6EmKr7zI3Xriv_NNf6bw9cxJZQM0Vps,2418 -django/db/backends/oracle/validation.py,sha256=O1Vx5ljfyEVo9W-o4OVsu_OTfZ5V5P9HX3kNMtdE75o,860 -django/db/backends/postgresql/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/db/backends/postgresql/__pycache__/__init__.cpython-38.pyc,, -django/db/backends/postgresql/__pycache__/base.cpython-38.pyc,, -django/db/backends/postgresql/__pycache__/client.cpython-38.pyc,, -django/db/backends/postgresql/__pycache__/creation.cpython-38.pyc,, -django/db/backends/postgresql/__pycache__/features.cpython-38.pyc,, -django/db/backends/postgresql/__pycache__/introspection.cpython-38.pyc,, -django/db/backends/postgresql/__pycache__/operations.cpython-38.pyc,, -django/db/backends/postgresql/__pycache__/schema.cpython-38.pyc,, -django/db/backends/postgresql/base.py,sha256=yoeRvaIhAdJq4gkLOBZcTBBhO0vnszHEYwx5o6Ze5Pk,13395 -django/db/backends/postgresql/client.py,sha256=HwhzhKfNpFlV8cHNe17SFDZVpZuGVolJvRj8o3voqyg,1847 -django/db/backends/postgresql/creation.py,sha256=YtzTqKB1406xZhJkPd4auKRoTpxyY74ZvDIhwVGYGW8,3344 -django/db/backends/postgresql/features.py,sha256=_MlbfQl3JAaaKGIRvoR8VEBP3q5o4yJTCnylz1Ats9g,3070 -django/db/backends/postgresql/introspection.py,sha256=-cMuzwBCm9P9-X7wcaWr5UkExjKFBRLczgyggurlKrg,9891 -django/db/backends/postgresql/operations.py,sha256=F4E6G2A_8ZBOtLJmbO86hKUQWBKqqTtTlo_jfxgK0lI,11981 -django/db/backends/postgresql/schema.py,sha256=I0uHMMRk5RhrZonqoxmh2ivdoWomGHpQg7fIEaiWMHg,9991 -django/db/backends/signals.py,sha256=Yl14KjYJijTt1ypIZirp90lS7UTJ8UogPFI_DwbcsSc,66 -django/db/backends/sqlite3/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/db/backends/sqlite3/__pycache__/__init__.cpython-38.pyc,, -django/db/backends/sqlite3/__pycache__/base.cpython-38.pyc,, -django/db/backends/sqlite3/__pycache__/client.cpython-38.pyc,, -django/db/backends/sqlite3/__pycache__/creation.cpython-38.pyc,, -django/db/backends/sqlite3/__pycache__/features.cpython-38.pyc,, -django/db/backends/sqlite3/__pycache__/introspection.cpython-38.pyc,, -django/db/backends/sqlite3/__pycache__/operations.cpython-38.pyc,, -django/db/backends/sqlite3/__pycache__/schema.cpython-38.pyc,, -django/db/backends/sqlite3/base.py,sha256=xPp8mqq8Q4-0YIYCJYHsl3wQNM9TG-6_AAv2aQRxAfU,25700 -django/db/backends/sqlite3/client.py,sha256=520bsra6udtcjz6FAksGnf5oCCtUS1F8NBSCr3C5jNc,506 -django/db/backends/sqlite3/creation.py,sha256=Z54YcyMPiVqGPwoMsVE4RWd5Bi3G7Yt4RaniLqgLTkw,4370 -django/db/backends/sqlite3/features.py,sha256=OSzUlrL91w7r5qZPLOjH2UuG2Upq_drfD5sHSBz4yDc,2836 -django/db/backends/sqlite3/introspection.py,sha256=vwEWi1JATTZp-uxRqY0PDgmd_l4b8mRXlnhrGMcxUQU,19222 -django/db/backends/sqlite3/operations.py,sha256=tZo5H7zlbn0PO5NRrZACFcFuKqIai691kwVPN9V4gfI,14863 -django/db/backends/sqlite3/schema.py,sha256=sK_Tels7ppc0ldL7P7OaFUAFOIbr3eQabGxcbU7ox_Q,20582 -django/db/backends/utils.py,sha256=ze_39D7cNv6fVgnVgc5GC85PDuvGE0xdEXluWTtOlPo,8433 -django/db/migrations/__init__.py,sha256=Oa4RvfEa6hITCqdcqwXYC66YknFKyluuy7vtNbSc-L4,97 -django/db/migrations/__pycache__/__init__.cpython-38.pyc,, -django/db/migrations/__pycache__/autodetector.cpython-38.pyc,, -django/db/migrations/__pycache__/exceptions.cpython-38.pyc,, -django/db/migrations/__pycache__/executor.cpython-38.pyc,, -django/db/migrations/__pycache__/graph.cpython-38.pyc,, -django/db/migrations/__pycache__/loader.cpython-38.pyc,, -django/db/migrations/__pycache__/migration.cpython-38.pyc,, -django/db/migrations/__pycache__/optimizer.cpython-38.pyc,, -django/db/migrations/__pycache__/questioner.cpython-38.pyc,, -django/db/migrations/__pycache__/recorder.cpython-38.pyc,, -django/db/migrations/__pycache__/serializer.cpython-38.pyc,, -django/db/migrations/__pycache__/state.cpython-38.pyc,, -django/db/migrations/__pycache__/utils.cpython-38.pyc,, -django/db/migrations/__pycache__/writer.cpython-38.pyc,, -django/db/migrations/autodetector.py,sha256=1bGQA47i3lHn4e1TwgwA4QbLjSd6tTvJmyL7ZCyYoOM,65210 -django/db/migrations/exceptions.py,sha256=XLTZ_ufpVJX_nL4egDEG5DqvB8eqSGUuVoMNZ1lpXek,1198 -django/db/migrations/executor.py,sha256=qOlba3wuiwoOsJaZ4r6MH3tRYxb5a7-DnWjvQZGcSto,17778 -django/db/migrations/graph.py,sha256=qho3dqkbm8QyaRebGQUBQWFv1TQ-70AS8aWtOmw3Ius,12841 -django/db/migrations/loader.py,sha256=_M8cNZFKDbSMIzcq9sQDYQBLc6whoYPzklNUunesNwA,16125 -django/db/migrations/migration.py,sha256=qK9faUXqRpPrZ8vnQ8t3beBLVHzqX5QgFyobiWNRkqI,8242 -django/db/migrations/operations/__init__.py,sha256=48VoWNmXeVdSqnMql-wdWVGmv8BWpfFLz2pH3I5RDCY,778 -django/db/migrations/operations/__pycache__/__init__.cpython-38.pyc,, -django/db/migrations/operations/__pycache__/base.cpython-38.pyc,, -django/db/migrations/operations/__pycache__/fields.cpython-38.pyc,, -django/db/migrations/operations/__pycache__/models.cpython-38.pyc,, -django/db/migrations/operations/__pycache__/special.cpython-38.pyc,, -django/db/migrations/operations/__pycache__/utils.cpython-38.pyc,, -django/db/migrations/operations/base.py,sha256=zew6sCdu7lQ-MIjVkNbJjKVFWz-46P4lhUM1TvBfDMs,4786 -django/db/migrations/operations/fields.py,sha256=RYN1KVEbDhpNanxMvSqfaM2uE07bn9XaCq84I_opFwU,14877 -django/db/migrations/operations/models.py,sha256=rk6DZtWf8lLIasflyNfHwcy_p3c_mVMKxDTh3WFheZo,33082 -django/db/migrations/operations/special.py,sha256=6vO2RRgaUPnxEjbkTX3QwAN-LaadZFHYpFHouAaMmig,7792 -django/db/migrations/operations/utils.py,sha256=T-yDzGuR-HPHTuHd5wOrTqdNP7J9UQAKwG5LWZA7Klg,3765 -django/db/migrations/optimizer.py,sha256=9taqZs5iJLXngtpgpN_DLOT8h61bimFGaP46yKjL_9o,3251 -django/db/migrations/questioner.py,sha256=Dvvktl3jWqmQMVRrTp7dNDBEm6an5L5nQFr25RSpMuE,9911 -django/db/migrations/recorder.py,sha256=ZOWNP5bCjsV9QpL54q0jhiKhdy2OfERB5-MWEMRrmkE,3457 -django/db/migrations/serializer.py,sha256=ZrXlnAP1DI-1Shvjb2Pq7LezLfrCDmkhI12kwmK_b-4,12350 -django/db/migrations/state.py,sha256=ZTmNCTG4Ae-d1pDvATN2K3hUEeCnfh63hZE5VpPZfyY,25275 -django/db/migrations/utils.py,sha256=ApIIVhNrnnZ79yzrbPeREFsk5kxLCuOd1rwh3dDaNLI,388 -django/db/migrations/writer.py,sha256=6QsSQ6jOSPBjMduPWEsLzibi4_Cr3Rd8wY7TdCWiNRU,11293 -django/db/models/__init__.py,sha256=7WtGjLKaxGsQomDTe1AOpm0qJkteGoDW163y5uc8SwU,2522 -django/db/models/__pycache__/__init__.cpython-38.pyc,, -django/db/models/__pycache__/aggregates.cpython-38.pyc,, -django/db/models/__pycache__/base.cpython-38.pyc,, -django/db/models/__pycache__/constants.cpython-38.pyc,, -django/db/models/__pycache__/constraints.cpython-38.pyc,, -django/db/models/__pycache__/deletion.cpython-38.pyc,, -django/db/models/__pycache__/enums.cpython-38.pyc,, -django/db/models/__pycache__/expressions.cpython-38.pyc,, -django/db/models/__pycache__/indexes.cpython-38.pyc,, -django/db/models/__pycache__/lookups.cpython-38.pyc,, -django/db/models/__pycache__/manager.cpython-38.pyc,, -django/db/models/__pycache__/options.cpython-38.pyc,, -django/db/models/__pycache__/query.cpython-38.pyc,, -django/db/models/__pycache__/query_utils.cpython-38.pyc,, -django/db/models/__pycache__/signals.cpython-38.pyc,, -django/db/models/__pycache__/utils.cpython-38.pyc,, -django/db/models/aggregates.py,sha256=c6JnF1FfI1-h90zX0-Ts2lpDwsl5raNoOC9SF_LfvkE,5933 -django/db/models/base.py,sha256=doX8r5Z04twfgKLRo3Lu4f5G8faiMTXSHry9-rosVOg,81841 -django/db/models/constants.py,sha256=BstFLrG_rKBHL-IZ7iqXY9uSKLL6IOKOjheXBetCan0,117 -django/db/models/constraints.py,sha256=wpq9Pm2j_jEjl2RCKyPWyK8nLyRQfOiKkhOcmjmVmH4,5934 -django/db/models/deletion.py,sha256=q09Z-ZbLWQ-u749ns6-StTr37bOzRWIsiAm_IILY418,19750 -django/db/models/enums.py,sha256=zgMWwMCKuetbVmgXAhWsssLF1Mwvzv-Knh8ps02LLpA,2740 -django/db/models/expressions.py,sha256=GOhBjGBf_Y8JmES9EJCW8wMXZwfjWRHdsRKatAu0YvA,49283 -django/db/models/fields/__init__.py,sha256=aYyPXE3ec2cPdLnRIftSxFopS-GGLxVe4RNK--TrjKU,88514 -django/db/models/fields/__pycache__/__init__.cpython-38.pyc,, -django/db/models/fields/__pycache__/files.cpython-38.pyc,, -django/db/models/fields/__pycache__/json.cpython-38.pyc,, -django/db/models/fields/__pycache__/mixins.cpython-38.pyc,, -django/db/models/fields/__pycache__/proxy.cpython-38.pyc,, -django/db/models/fields/__pycache__/related.cpython-38.pyc,, -django/db/models/fields/__pycache__/related_descriptors.cpython-38.pyc,, -django/db/models/fields/__pycache__/related_lookups.cpython-38.pyc,, -django/db/models/fields/__pycache__/reverse_related.cpython-38.pyc,, -django/db/models/fields/files.py,sha256=OAZ1_41utFI1prrARRO_I0R3R8AAQrcMetmpaPvmaHw,18433 -django/db/models/fields/json.py,sha256=WwyHIFegZetM2wGkAHxziiQengWmOZ7eR5_a7hC-DDI,19599 -django/db/models/fields/mixins.py,sha256=9KF0Yg0MpeSHYJFu0D4kSOq_hye0TxnofdfaOmG_NsY,1801 -django/db/models/fields/proxy.py,sha256=fcJ2d1ZiY0sEouSq9SV7W1fm5eE3C_nMGky3Ma347dk,515 -django/db/models/fields/related.py,sha256=dg383U1EfDgGuRCZ2aCDZgGl_RmypAbPmKpSn8TrIvg,70411 -django/db/models/fields/related_descriptors.py,sha256=eFaUugyXPN_TeW2Yi4h6u9TvTqpoXqhEyKKwoCGG4LQ,54044 -django/db/models/fields/related_lookups.py,sha256=aVkqKHxLqFpt5toGqyMUM-zUSuHxNc5e5B4dXUFIAjs,7073 -django/db/models/fields/reverse_related.py,sha256=H2fDLBo0lSG7cdFQROH3CzoUR3K8rswZUqXvcNrPNeQ,10311 -django/db/models/functions/__init__.py,sha256=VamCmZLBP7J6jGCiPNCWWe4TypPK5gDebWLwHb_7hAA,2010 -django/db/models/functions/__pycache__/__init__.cpython-38.pyc,, -django/db/models/functions/__pycache__/comparison.cpython-38.pyc,, -django/db/models/functions/__pycache__/datetime.cpython-38.pyc,, -django/db/models/functions/__pycache__/math.cpython-38.pyc,, -django/db/models/functions/__pycache__/mixins.cpython-38.pyc,, -django/db/models/functions/__pycache__/text.cpython-38.pyc,, -django/db/models/functions/__pycache__/window.cpython-38.pyc,, -django/db/models/functions/comparison.py,sha256=ahcKkYOAf3TJOkdcIbfjxmOk72aR_ahTY8emBNjiCpg,5488 -django/db/models/functions/datetime.py,sha256=8cRlB43cwH6LjnfzKJykPoajLfgZraQGLwiZHtebwQQ,11596 -django/db/models/functions/math.py,sha256=R_rvGZxqR9GEhuAUUXt7oJ2bcglOyCH6tPzlOg-7DNo,4629 -django/db/models/functions/mixins.py,sha256=BB5sSl-lVaFI5LkxK1BvhRl-2Z5UPBIMLrDc3VHMRwk,2111 -django/db/models/functions/text.py,sha256=TWsSg0A9ln6l7d1xqRPaZs0s_R0Ob6Qe12XdGrVrjkQ,10905 -django/db/models/functions/window.py,sha256=yL07Blhu1WudxHMbIfRA2bBIXuwZec8wLPbW6N5eOyc,2761 -django/db/models/indexes.py,sha256=0yROA6tguZGDM44LK95s6R8q-F6VvqFDTSF4wG722ao,5245 -django/db/models/lookups.py,sha256=ua76Lf8gGuPVdlzkSunW_ROmZ8SyNfqd5IC6CiMu_n4,22639 -django/db/models/manager.py,sha256=vBBpLaBxjKWaRZZgqC8uHHMTQrCZVKz3Ttk3DlO-O24,6836 -django/db/models/options.py,sha256=pKSv2IhDwf9RDe4CrnGXiD4Fn7xFsIOud4Y8OS90bnE,35497 -django/db/models/query.py,sha256=cgLU4Q5evMxTJrSsrlkok_WE3O_x2XBjrIjS38fvPlg,82845 -django/db/models/query_utils.py,sha256=6EsdYzazX823eH-InzYFtneVbwkf-NwRiV1jwQHeNTE,12606 -django/db/models/signals.py,sha256=qCf59m4zcQX6wXrbNSxIQCvWaFhaKagb6IxEkdx_5VY,1573 -django/db/models/sql/__init__.py,sha256=iwBpPl3WxYM7qrQ1qKaFGG-loqKwU5OOJt0SVH0m3RE,229 -django/db/models/sql/__pycache__/__init__.cpython-38.pyc,, -django/db/models/sql/__pycache__/compiler.cpython-38.pyc,, -django/db/models/sql/__pycache__/constants.cpython-38.pyc,, -django/db/models/sql/__pycache__/datastructures.cpython-38.pyc,, -django/db/models/sql/__pycache__/query.cpython-38.pyc,, -django/db/models/sql/__pycache__/subqueries.cpython-38.pyc,, -django/db/models/sql/__pycache__/where.cpython-38.pyc,, -django/db/models/sql/compiler.py,sha256=NSGkoCsbVKJ3ctgE2GQ9a5N4FEPKewrxAy0CJkQJ48w,73186 -django/db/models/sql/constants.py,sha256=0t7IbSsUSB_RIzYumXOG8qBEv6y99iKThVAvFowjAY0,533 -django/db/models/sql/datastructures.py,sha256=mLoKO_9r7gAg8AFjHH9c2nl9hHc-jhtwNWSkNNFCk9w,6592 -django/db/models/sql/query.py,sha256=Pk_7zxOAURW449f_xEGXjOr4EmgaQHjRW4PlKkj71ks,108046 -django/db/models/sql/subqueries.py,sha256=Ntcc9-z3erxHWmIOKWcYagEQk-xPZS7r20X5iV6ggu4,5798 -django/db/models/sql/where.py,sha256=tEeYXit18WhCHiXuglA54G18dF4y4jtO8Yl8a3uUfOo,8746 -django/db/models/utils.py,sha256=pmyzLPFu3cZk7H6ZwuGM_IyaAsfOcllSdNvoGn0A-ZQ,1085 -django/db/transaction.py,sha256=3sIxxLIk-wvXuGNFGYeoxutgAmvftcJPRfE1uAAgg0M,11535 -django/db/utils.py,sha256=hd9uCUhSu93OrCsa_YGiMRTnxttmqTPwrSyijCd5LMU,10398 -django/dispatch/__init__.py,sha256=qP203zNwjaolUFnXLNZHnuBn7HNzyw9_JkODECRKZbc,286 -django/dispatch/__pycache__/__init__.cpython-38.pyc,, -django/dispatch/__pycache__/dispatcher.cpython-38.pyc,, -django/dispatch/dispatcher.py,sha256=SiDx8kIZkPGK-gHZ-ctSml35Vmgg3E72j74OI8yeSW0,10861 -django/dispatch/license.txt,sha256=VABMS2BpZOvBY68W0EYHwW5Cj4p4oCb-y1P3DAn0qU8,1743 -django/forms/__init__.py,sha256=S6ckOMmvUX-vVST6AC-M8BzsfVQwuEUAdHWabMN-OGI,368 -django/forms/__pycache__/__init__.cpython-38.pyc,, -django/forms/__pycache__/boundfield.cpython-38.pyc,, -django/forms/__pycache__/fields.cpython-38.pyc,, -django/forms/__pycache__/forms.cpython-38.pyc,, -django/forms/__pycache__/formsets.cpython-38.pyc,, -django/forms/__pycache__/models.cpython-38.pyc,, -django/forms/__pycache__/renderers.cpython-38.pyc,, -django/forms/__pycache__/utils.cpython-38.pyc,, -django/forms/__pycache__/widgets.cpython-38.pyc,, -django/forms/boundfield.py,sha256=IRad_GjJb8UwQlqxr3o4fs17LmpHEQ7ds7g_2U1BkqY,10246 -django/forms/fields.py,sha256=v09BQe3Rk9Q_DnYNjF6XXGL7N8TRFaKUOrDH4RV3x7Y,46945 -django/forms/forms.py,sha256=nsUgGOxrnOd7apXpv0vCK6_nlsFDCbgWvrBJs5oNjHo,19875 -django/forms/formsets.py,sha256=vZMfv8qvppE5DDdN9l2-hEroAvucLrQiW5b7DkoaZfM,18577 -django/forms/jinja2/django/forms/widgets/attrs.html,sha256=_J2P-AOpHFhIwaqCNcrJFxEY4s-KPdy0Wcq0KlarIG0,172 -django/forms/jinja2/django/forms/widgets/checkbox.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 -django/forms/jinja2/django/forms/widgets/checkbox_option.html,sha256=U2dFtAXvOn_eK4ok0oO6BwKE-3-jozJboGah_PQFLVM,55 -django/forms/jinja2/django/forms/widgets/checkbox_select.html,sha256=-ob26uqmvrEUMZPQq6kAqK4KBk2YZHTCWWCM6BnaL0w,57 -django/forms/jinja2/django/forms/widgets/clearable_file_input.html,sha256=h5_tWYnKRjGTYkzOq6AfDpkffj31DdEolpdtInilitM,511 -django/forms/jinja2/django/forms/widgets/date.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 -django/forms/jinja2/django/forms/widgets/datetime.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 -django/forms/jinja2/django/forms/widgets/email.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 -django/forms/jinja2/django/forms/widgets/file.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 -django/forms/jinja2/django/forms/widgets/hidden.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 -django/forms/jinja2/django/forms/widgets/input.html,sha256=u12fZde-ugkEAAkPAtAfSxwGQmYBkXkssWohOUs-xoE,172 -django/forms/jinja2/django/forms/widgets/input_option.html,sha256=PyRNn9lmE9Da0-RK37zW4yJZUSiJWgIPCU9ou5oUC28,219 -django/forms/jinja2/django/forms/widgets/multiple_hidden.html,sha256=T54-n1ZeUlTd-svM3C4tLF42umKM0R5A7fdfsdthwkA,54 -django/forms/jinja2/django/forms/widgets/multiple_input.html,sha256=O9W9tLA_gdxNqN_No2Tesd8_2GhOTyKEkCOnp_rUBn4,431 -django/forms/jinja2/django/forms/widgets/multiwidget.html,sha256=pr-MxRyucRxn_HvBGZvbc3JbFyrAolbroxvA4zmPz2Y,86 -django/forms/jinja2/django/forms/widgets/number.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 -django/forms/jinja2/django/forms/widgets/password.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 -django/forms/jinja2/django/forms/widgets/radio.html,sha256=-ob26uqmvrEUMZPQq6kAqK4KBk2YZHTCWWCM6BnaL0w,57 -django/forms/jinja2/django/forms/widgets/radio_option.html,sha256=U2dFtAXvOn_eK4ok0oO6BwKE-3-jozJboGah_PQFLVM,55 -django/forms/jinja2/django/forms/widgets/select.html,sha256=ESyDzbLTtM7-OG34EuSUnvxCtyP5IrQsZh0jGFrIdEA,365 -django/forms/jinja2/django/forms/widgets/select_date.html,sha256=AzaPLlNLg91qkVQwwtAJxwOqDemrtt_btSkWLpboJDs,54 -django/forms/jinja2/django/forms/widgets/select_option.html,sha256=tNa1D3G8iy2ZcWeKyI-mijjDjRmMaqSo-jnAR_VS3Qc,110 -django/forms/jinja2/django/forms/widgets/splitdatetime.html,sha256=AzaPLlNLg91qkVQwwtAJxwOqDemrtt_btSkWLpboJDs,54 -django/forms/jinja2/django/forms/widgets/splithiddendatetime.html,sha256=AzaPLlNLg91qkVQwwtAJxwOqDemrtt_btSkWLpboJDs,54 -django/forms/jinja2/django/forms/widgets/text.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 -django/forms/jinja2/django/forms/widgets/textarea.html,sha256=Av1Y-hpXUU2AjrhnUivgZFKNBLdwCSZSeuSmCqmCkDA,145 -django/forms/jinja2/django/forms/widgets/time.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 -django/forms/jinja2/django/forms/widgets/url.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 -django/forms/models.py,sha256=fzZKex5ErOdlJBKOQuuW3KqFUcUpCW9AiOVx1FWAwiA,57395 -django/forms/renderers.py,sha256=22wW0hk6WpILRgUArrOYh2YJ4wxsNCbHJUFj7H0K0bQ,1970 -django/forms/templates/django/forms/widgets/attrs.html,sha256=9ylIPv5EZg-rx2qPLgobRkw6Zq_WJSM8kt106PpSYa0,172 -django/forms/templates/django/forms/widgets/checkbox.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 -django/forms/templates/django/forms/widgets/checkbox_option.html,sha256=U2dFtAXvOn_eK4ok0oO6BwKE-3-jozJboGah_PQFLVM,55 -django/forms/templates/django/forms/widgets/checkbox_select.html,sha256=-ob26uqmvrEUMZPQq6kAqK4KBk2YZHTCWWCM6BnaL0w,57 -django/forms/templates/django/forms/widgets/clearable_file_input.html,sha256=h5_tWYnKRjGTYkzOq6AfDpkffj31DdEolpdtInilitM,511 -django/forms/templates/django/forms/widgets/date.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 -django/forms/templates/django/forms/widgets/datetime.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 -django/forms/templates/django/forms/widgets/email.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 -django/forms/templates/django/forms/widgets/file.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 -django/forms/templates/django/forms/widgets/hidden.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 -django/forms/templates/django/forms/widgets/input.html,sha256=dwzzrLocGLZQIaGe-_X8k7z87jV6AFtn28LilnUnUH0,189 -django/forms/templates/django/forms/widgets/input_option.html,sha256=PyRNn9lmE9Da0-RK37zW4yJZUSiJWgIPCU9ou5oUC28,219 -django/forms/templates/django/forms/widgets/multiple_hidden.html,sha256=T54-n1ZeUlTd-svM3C4tLF42umKM0R5A7fdfsdthwkA,54 -django/forms/templates/django/forms/widgets/multiple_input.html,sha256=HwEaZLEiZYdPJ6brC9QWRGaIKzcX5UA2Tj5Rsq_NvOk,462 -django/forms/templates/django/forms/widgets/multiwidget.html,sha256=slk4AgCdXnVmFvavhjVcsza0quTOP2LG50D8wna0dw0,117 -django/forms/templates/django/forms/widgets/number.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 -django/forms/templates/django/forms/widgets/password.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 -django/forms/templates/django/forms/widgets/radio.html,sha256=-ob26uqmvrEUMZPQq6kAqK4KBk2YZHTCWWCM6BnaL0w,57 -django/forms/templates/django/forms/widgets/radio_option.html,sha256=U2dFtAXvOn_eK4ok0oO6BwKE-3-jozJboGah_PQFLVM,55 -django/forms/templates/django/forms/widgets/select.html,sha256=7U0RzjeESG87ENzQjPRUF71gvKvGjVVvXcpsW2-BTR4,384 -django/forms/templates/django/forms/widgets/select_date.html,sha256=AzaPLlNLg91qkVQwwtAJxwOqDemrtt_btSkWLpboJDs,54 -django/forms/templates/django/forms/widgets/select_option.html,sha256=N_psd0JYCqNhx2eh2oyvkF2KU2dv7M9mtMw_4BLYq8A,127 -django/forms/templates/django/forms/widgets/splitdatetime.html,sha256=AzaPLlNLg91qkVQwwtAJxwOqDemrtt_btSkWLpboJDs,54 -django/forms/templates/django/forms/widgets/splithiddendatetime.html,sha256=AzaPLlNLg91qkVQwwtAJxwOqDemrtt_btSkWLpboJDs,54 -django/forms/templates/django/forms/widgets/text.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 -django/forms/templates/django/forms/widgets/textarea.html,sha256=Av1Y-hpXUU2AjrhnUivgZFKNBLdwCSZSeuSmCqmCkDA,145 -django/forms/templates/django/forms/widgets/time.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 -django/forms/templates/django/forms/widgets/url.html,sha256=fXpbxMzAdbv_avfWC5464gD2jFng931Eq7vzbzy1-yA,48 -django/forms/utils.py,sha256=6IRHrAKaB5-q-AEP3r-u2_4Rw5GsthmcwiE3T9B-wnc,5748 -django/forms/widgets.py,sha256=fjXiNj285hr3GyNCi2FvhyaWF9MsWU3JL7v5qDLSCwc,37370 -django/http/__init__.py,sha256=5JImoB1BZNuZBOt5qyDX7t51McYbkDLX45eKmNN_Fes,1010 -django/http/__pycache__/__init__.cpython-38.pyc,, -django/http/__pycache__/cookie.cpython-38.pyc,, -django/http/__pycache__/multipartparser.cpython-38.pyc,, -django/http/__pycache__/request.cpython-38.pyc,, -django/http/__pycache__/response.cpython-38.pyc,, -django/http/cookie.py,sha256=Zpg6OEW9-dGvr5ByQhlHyGjLJzvNNrnGL1WzolnsM6U,818 -django/http/multipartparser.py,sha256=NM4hf7m32dD1KRbtGDA8Q8-njTrJtXXk65rJlGL68oo,25082 -django/http/request.py,sha256=WvBpPl-ULq9RkDY44pvlsoaTG7MXtOh6RtaA-MzaBg0,24334 -django/http/response.py,sha256=nc6_--UXtQYM-DT-9swmQJxeVSvM6r8jwHkHHyBZSN4,20186 -django/middleware/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/middleware/__pycache__/__init__.cpython-38.pyc,, -django/middleware/__pycache__/cache.cpython-38.pyc,, -django/middleware/__pycache__/clickjacking.cpython-38.pyc,, -django/middleware/__pycache__/common.cpython-38.pyc,, -django/middleware/__pycache__/csrf.cpython-38.pyc,, -django/middleware/__pycache__/gzip.cpython-38.pyc,, -django/middleware/__pycache__/http.cpython-38.pyc,, -django/middleware/__pycache__/locale.cpython-38.pyc,, -django/middleware/__pycache__/security.cpython-38.pyc,, -django/middleware/cache.py,sha256=R53yhubcKlNhcS2ujCnqmXcwHm00ShMNAz_qLRIOh2k,8227 -django/middleware/clickjacking.py,sha256=0AZde0p2OTy_h67GZkit60BGJ2mJ79XFoxcmWrtHF6U,1721 -django/middleware/common.py,sha256=mdEcByHwNg4F68xvf2OBsejkE2uHNo4AIUO602iX5o4,7362 -django/middleware/csrf.py,sha256=KJgUcXSlb29bjlNF7nX_iOSTFtueSH5BsxXRyd-lw6c,13796 -django/middleware/gzip.py,sha256=RYJlhyFyyz_7KkXI6NP36YwngZ9vXN3SMeV70KXeeWY,2110 -django/middleware/http.py,sha256=JiRGXvtfmXxYTomy7gde5pcG45GX7R0qpXiI5Fk06dE,1624 -django/middleware/locale.py,sha256=xcvY4JdMA5whoedqtt_OJwSGuJFUXRtWXxJ173DtvvA,3006 -django/middleware/security.py,sha256=pQJGUen-cieBJfWXdglpJ2r8j_51FnamPYlxev1Prsw,2492 -django/shortcuts.py,sha256=XdSS1JMI7C96gr2IF9k28vIuBIcP8uTPNH96_5Ol4oY,4896 -django/template/__init__.py,sha256=Spya_MCD2UAaGMDzQKFCehGRTYcD6GseSI345kVxQgg,1846 -django/template/__pycache__/__init__.cpython-38.pyc,, -django/template/__pycache__/base.cpython-38.pyc,, -django/template/__pycache__/context.cpython-38.pyc,, -django/template/__pycache__/context_processors.cpython-38.pyc,, -django/template/__pycache__/defaultfilters.cpython-38.pyc,, -django/template/__pycache__/defaulttags.cpython-38.pyc,, -django/template/__pycache__/engine.cpython-38.pyc,, -django/template/__pycache__/exceptions.cpython-38.pyc,, -django/template/__pycache__/library.cpython-38.pyc,, -django/template/__pycache__/loader.cpython-38.pyc,, -django/template/__pycache__/loader_tags.cpython-38.pyc,, -django/template/__pycache__/response.cpython-38.pyc,, -django/template/__pycache__/smartif.cpython-38.pyc,, -django/template/__pycache__/utils.cpython-38.pyc,, -django/template/backends/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/template/backends/__pycache__/__init__.cpython-38.pyc,, -django/template/backends/__pycache__/base.cpython-38.pyc,, -django/template/backends/__pycache__/django.cpython-38.pyc,, -django/template/backends/__pycache__/dummy.cpython-38.pyc,, -django/template/backends/__pycache__/jinja2.cpython-38.pyc,, -django/template/backends/__pycache__/utils.cpython-38.pyc,, -django/template/backends/base.py,sha256=P8dvOmQppJ8YMZ5_XyOJGDzspbQMNGV82GxL5IwrMFM,2751 -django/template/backends/django.py,sha256=ev9gJ21Hwik6ZYREvo_WMsHkZwElSUaFDFAjloO2snA,4172 -django/template/backends/dummy.py,sha256=GRerKCIHVU0LjcioT9CmY8NaP0yIeQA4Wrv6lxdY9NM,1720 -django/template/backends/jinja2.py,sha256=nJBIoZ3nb3wq_5zSab9BlXnTyYdUF39fAERaAmaOpok,4075 -django/template/backends/utils.py,sha256=NORFWk_tz1IsX6WNZjP7Iz5Az6X8pUP0dmBfNC4vodk,418 -django/template/base.py,sha256=AcpakRI_AOiVAN7c4rwauxXa2ujf_q8tMSqwEFJegMA,38288 -django/template/context.py,sha256=4Zgmka6B7nfNsoIXD6O-f6FlnCH2IyCQxxXI8qesORU,8940 -django/template/context_processors.py,sha256=l7ZmqrfkR2KY-52TXWQHg-QkfeeoYLlCjL8mZvTrxgs,2408 -django/template/defaultfilters.py,sha256=6PlZNn-YqEEAR4UmQR8acsR6CyqjZeKyvooF5AwoJTc,26047 -django/template/defaulttags.py,sha256=sDOiBrALTzbhP7Zw-90WH75vz92atqiu2jZ-GqRA08I,50026 -django/template/engine.py,sha256=HPV4TrvBvq_--wmnJzKhnnUYTj1pR1-ASRgdmxIhOeU,6882 -django/template/exceptions.py,sha256=awd7B80xhFB574Lt2IdIyHCpD6KGGyuKGkIoalr9deo,1340 -django/template/library.py,sha256=ehca-hPsWo00yH07zINB6lA7IeEoZZ9ncoMzUpci9uU,12826 -django/template/loader.py,sha256=-t5cTnWJrxtS2vyg9cguz4rXxlTBni4XoJUuqJNglPI,2054 -django/template/loader_tags.py,sha256=X006SqPjdgfQa0kSWDi4fuhS7sQn_A7jEWVT_4o9PVg,12485 -django/template/loaders/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/template/loaders/__pycache__/__init__.cpython-38.pyc,, -django/template/loaders/__pycache__/app_directories.cpython-38.pyc,, -django/template/loaders/__pycache__/base.cpython-38.pyc,, -django/template/loaders/__pycache__/cached.cpython-38.pyc,, -django/template/loaders/__pycache__/filesystem.cpython-38.pyc,, -django/template/loaders/__pycache__/locmem.cpython-38.pyc,, -django/template/loaders/app_directories.py,sha256=w3a84EAXWX12w7F1CyxIQ_lFiTwxFS7xf3rCEcnUqyc,313 -django/template/loaders/base.py,sha256=kvjmN-UHxdd6Pwgkexw7IHL0YeJQgXXbuz_tdj5ciKc,1558 -django/template/loaders/cached.py,sha256=VNhREXUV34NeSJXwXvQZwvC7aM0hqkZVLEAST-Nt-cw,3505 -django/template/loaders/filesystem.py,sha256=OWTnIwWbVj-Td5VrOkKw1G_6pIuz1Vnh5CedZN5glyU,1507 -django/template/loaders/locmem.py,sha256=8cBYI8wPOOnIx_3v7fC5jezA_6pJLqgqObeLwHXQJKo,673 -django/template/response.py,sha256=Q_BrPN7acOZg8bWhDDxKteL17X2FVqPDlk8_J6TNmRk,5399 -django/template/smartif.py,sha256=QBvsTtD4YiyGoU4hXrW8vqR0CBAFOZGuDoRP3aGEgOs,6408 -django/template/utils.py,sha256=7bjK3PEM-yEu6LbMVsAh3VQqXEguYBDJSRIPWBII52c,3560 -django/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/templatetags/__pycache__/__init__.cpython-38.pyc,, -django/templatetags/__pycache__/cache.cpython-38.pyc,, -django/templatetags/__pycache__/i18n.cpython-38.pyc,, -django/templatetags/__pycache__/l10n.cpython-38.pyc,, -django/templatetags/__pycache__/static.cpython-38.pyc,, -django/templatetags/__pycache__/tz.cpython-38.pyc,, -django/templatetags/cache.py,sha256=otY3c4Ti9YLxFfOuIX5TZ7w12aGDPkyGfQNsaPVZ_M0,3401 -django/templatetags/i18n.py,sha256=ZD0Ry0U23npSHfX4EAd5Mn3XB_5xpvy1_qMcrPOoeTg,19087 -django/templatetags/l10n.py,sha256=I6jRSBLvL34H-_rwGuHfU22VBhO2IHNRue78KWb8pTc,1723 -django/templatetags/static.py,sha256=om3cu4NVaH4MVUq-XPLxPVNlLUCxTbbp0qAVVSaClj4,4502 -django/templatetags/tz.py,sha256=HFzJsvh-x9yjoju4kiIpKAI0U_4crtoftqiT8llM_u8,5400 -django/test/__init__.py,sha256=QtKYTxK0z6qQQk1M4q_QQ1jztJce7Gfs_bPdNWHhl68,767 -django/test/__pycache__/__init__.cpython-38.pyc,, -django/test/__pycache__/client.cpython-38.pyc,, -django/test/__pycache__/html.cpython-38.pyc,, -django/test/__pycache__/runner.cpython-38.pyc,, -django/test/__pycache__/selenium.cpython-38.pyc,, -django/test/__pycache__/signals.cpython-38.pyc,, -django/test/__pycache__/testcases.cpython-38.pyc,, -django/test/__pycache__/utils.cpython-38.pyc,, -django/test/client.py,sha256=N3FQ3d16tsICqxJw0uyEAhys3rAzN7hVZiuJpaGwGMQ,36999 -django/test/html.py,sha256=kurDoez9RrFV_wehlBGCiwSMTGKa-IbvtHwQWrBpzWo,7675 -django/test/runner.py,sha256=N999I5MxAqCv4n0GcMWNIBarb6NNjD6ysngpTvWKdPs,28785 -django/test/selenium.py,sha256=MN1zXbgesil9CIJ1JmjEJyEXxg8IJVgcbiTcm20BMDg,5129 -django/test/signals.py,sha256=hKF0xmSzzGEHkd-6Wb8mr-YWe1O9kHqSLANev4GGqgw,6725 -django/test/testcases.py,sha256=iEpqJEi5Y8g3A1hmT0MiapakLPxmT4jVg2JWVzj_UhI,60764 -django/test/utils.py,sha256=2gauBe1StWstj8ON5-mfKk8-Wi2oX5uyQDq-pFy1YeA,29564 -django/urls/__init__.py,sha256=FdHfNv5NwWEIt1EqEpRY7xJ-i4tD-SCLj0tq3qT6X1E,959 -django/urls/__pycache__/__init__.cpython-38.pyc,, -django/urls/__pycache__/base.cpython-38.pyc,, -django/urls/__pycache__/conf.cpython-38.pyc,, -django/urls/__pycache__/converters.cpython-38.pyc,, -django/urls/__pycache__/exceptions.cpython-38.pyc,, -django/urls/__pycache__/resolvers.cpython-38.pyc,, -django/urls/__pycache__/utils.cpython-38.pyc,, -django/urls/base.py,sha256=YlZAILhjcYGrmpV71tkzBH6WObTJRNT6kOV6Poyj2JA,5596 -django/urls/conf.py,sha256=8Xug9NhJXDEysRXWrY2iHf0snfJMUmQkYZAomPltWMY,2946 -django/urls/converters.py,sha256=_eluhZBczkfMwCZJEQtM7s7KJQYbwoO4lygFQvtWSHA,1216 -django/urls/exceptions.py,sha256=alLNjkORtAxneC00g4qnRpG5wouOHvJvGbymdpKtG_I,115 -django/urls/resolvers.py,sha256=yzi1aMKQZtpxBlOqCl6aGs-m4I07rUdgA_k_2wrVOO4,27614 -django/urls/utils.py,sha256=VHDcmggNRHSbPJAql5KJhe7wX4pSjrKb64Fu-p14D9Q,2152 -django/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/utils/__pycache__/__init__.cpython-38.pyc,, -django/utils/__pycache__/_os.cpython-38.pyc,, -django/utils/__pycache__/archive.cpython-38.pyc,, -django/utils/__pycache__/asyncio.cpython-38.pyc,, -django/utils/__pycache__/autoreload.cpython-38.pyc,, -django/utils/__pycache__/baseconv.cpython-38.pyc,, -django/utils/__pycache__/cache.cpython-38.pyc,, -django/utils/__pycache__/crypto.cpython-38.pyc,, -django/utils/__pycache__/datastructures.cpython-38.pyc,, -django/utils/__pycache__/dateformat.cpython-38.pyc,, -django/utils/__pycache__/dateparse.cpython-38.pyc,, -django/utils/__pycache__/dates.cpython-38.pyc,, -django/utils/__pycache__/datetime_safe.cpython-38.pyc,, -django/utils/__pycache__/deconstruct.cpython-38.pyc,, -django/utils/__pycache__/decorators.cpython-38.pyc,, -django/utils/__pycache__/deprecation.cpython-38.pyc,, -django/utils/__pycache__/duration.cpython-38.pyc,, -django/utils/__pycache__/encoding.cpython-38.pyc,, -django/utils/__pycache__/feedgenerator.cpython-38.pyc,, -django/utils/__pycache__/formats.cpython-38.pyc,, -django/utils/__pycache__/functional.cpython-38.pyc,, -django/utils/__pycache__/hashable.cpython-38.pyc,, -django/utils/__pycache__/html.cpython-38.pyc,, -django/utils/__pycache__/http.cpython-38.pyc,, -django/utils/__pycache__/inspect.cpython-38.pyc,, -django/utils/__pycache__/ipv6.cpython-38.pyc,, -django/utils/__pycache__/itercompat.cpython-38.pyc,, -django/utils/__pycache__/jslex.cpython-38.pyc,, -django/utils/__pycache__/log.cpython-38.pyc,, -django/utils/__pycache__/lorem_ipsum.cpython-38.pyc,, -django/utils/__pycache__/module_loading.cpython-38.pyc,, -django/utils/__pycache__/numberformat.cpython-38.pyc,, -django/utils/__pycache__/regex_helper.cpython-38.pyc,, -django/utils/__pycache__/safestring.cpython-38.pyc,, -django/utils/__pycache__/termcolors.cpython-38.pyc,, -django/utils/__pycache__/text.cpython-38.pyc,, -django/utils/__pycache__/timesince.cpython-38.pyc,, -django/utils/__pycache__/timezone.cpython-38.pyc,, -django/utils/__pycache__/topological_sort.cpython-38.pyc,, -django/utils/__pycache__/tree.cpython-38.pyc,, -django/utils/__pycache__/version.cpython-38.pyc,, -django/utils/__pycache__/xmlutils.cpython-38.pyc,, -django/utils/_os.py,sha256=_C_v7KbojT-CD3fn2yJGFbjCbV5HkJr3MBqZrjjxK-s,2295 -django/utils/archive.py,sha256=PnKzyQtuG_m7DXeyaE_m34vH5hzO2uPWm6APos2gP5A,7855 -django/utils/asyncio.py,sha256=sFRUKbrTnXo5uGRNI9RHOZ1bb0dFFOge5UzT7qwGyQ8,1165 -django/utils/autoreload.py,sha256=YhRaW7P5E0H0fzgqlZ8xzeo-4uMKPJXznRMgXmRG2jc,23450 -django/utils/baseconv.py,sha256=xYReIqcF2FFD85BqDrl48xo4UijII9D6YyC-FHsUPbw,2989 -django/utils/cache.py,sha256=S7RFhtSDh8deciaQXCD1DXdQf-5Ej2ja5vfScdnBU_k,16266 -django/utils/crypto.py,sha256=Q44QgPdTND2mVrZRRf4skCoSxLB1LV-OHRUsDRpo3dY,3104 -django/utils/datastructures.py,sha256=loLZmeX0egRU3KKBuQiMRZU1X9i9YHB_i3Zz2JN4Bfg,10113 -django/utils/dateformat.py,sha256=suKtY5ajzwmo0lNj97BD43m-jL69grVPZw5wnXHK3U4,10850 -django/utils/dateparse.py,sha256=f86b87hrUsML5sCtnpNesNb_RWK-XCyv0YEISEOc4Ug,4825 -django/utils/dates.py,sha256=hl7plurNHC7tj_9Olb7H7-LCtOhOV71oWg-xx5PBFh4,2021 -django/utils/datetime_safe.py,sha256=JsosYYXcRNqnHSCC2VajcW5tC4KnkxUb5gOYmDURRkY,2854 -django/utils/deconstruct.py,sha256=hcO_7qassSI5dTfQ5CPttA8s3f9yaF8UnqKKma3bI6M,1975 -django/utils/decorators.py,sha256=P3Is7I_Xe_evMKH5ho_ssHynuFmTzB7uTysnJwW-XnI,6834 -django/utils/deprecation.py,sha256=wWFu76PAonZaFDuhKf8Hp5hfQTCoMOoP2tAfOuoxZek,5144 -django/utils/duration.py,sha256=VtDUAQKIPFuv6XkwG6gIjLQYtcs8vgGMcS4OQpSFx-E,1234 -django/utils/encoding.py,sha256=g41xTq1TPKSstCG0sD47-GfPLyiB18w8xCF7danfrcI,9336 -django/utils/feedgenerator.py,sha256=rI74OiJ8cWgt9AhA0RnYdKTVi7IXUM6FCLpFUQjDRmc,15109 -django/utils/formats.py,sha256=sORcm7Pr_hBG4kfZYC8Dp7pCP2o-CSjpBKJmluWRjbU,9033 -django/utils/functional.py,sha256=FdT7FuhLQGyakQga9ZVlrULa0oGCpBX1VPwqjcDc35c,13993 -django/utils/hashable.py,sha256=oKA7b4KMSFYou8278uoKN8OhIr1v_4HvqpnFuWX6CcY,541 -django/utils/html.py,sha256=9bDmR5GPXrTUGIJjO8pCm2vZrOuB4U37Y6zAOeBl2Is,13151 -django/utils/http.py,sha256=r9pjDqwSCjSYDE-iKAV72Tpa2euhbE3HgkGhOth-ZAM,16878 -django/utils/inspect.py,sha256=6UgUGkYM4O6tgD2xLf4-_SwccNsYyCj-qm-eV-UuQsU,1789 -django/utils/ipv6.py,sha256=WBkmZXdtbIHgcaWDKm4ElRvzyu_wKLCW2aA18g1RCJo,1350 -django/utils/itercompat.py,sha256=lacIDjczhxbwG4ON_KfG1H6VNPOGOpbRhnVhbedo2CY,184 -django/utils/jslex.py,sha256=FkgHjH5lbd9i0X-ockJlVK6TAa8iq22qR3Y1qrnmLDY,7695 -django/utils/log.py,sha256=EPL1Ns4NX_oUzYZ-yWYOcGP6StU3-eBBVHWE6Uaubgg,7737 -django/utils/lorem_ipsum.py,sha256=P_BSLsITDP2ZW9EJPy6ciFneib0iz9ezBz2LD7CViRE,4775 -django/utils/module_loading.py,sha256=0aH8A5ceSe90pYMpm04JkiUSSivkVqCtyQduDmKlIJM,3592 -django/utils/numberformat.py,sha256=vZy07ugV3tUwTPqDYLyJuuNKxPkIbed2pNcRZT_rUUY,3619 -django/utils/regex_helper.py,sha256=rDwP-EYSHtD_tLLiNG3RCx7rOi5t_FH7COfhDPO1rKg,12739 -django/utils/safestring.py,sha256=zesWIkFq4lAONEDpDVsIxwTDV0wHGq-duKQQGMdzh0w,1764 -django/utils/termcolors.py,sha256=sXUFjND4TFmBqJgoMex1IMhoDGzD5U27iHqNtIMa3rk,7362 -django/utils/text.py,sha256=0SRZpvVTE9KJjfoDkz9-o966vaZQFCHas3Zpa1lAasU,14062 -django/utils/timesince.py,sha256=dKLRobflTWs4YlNUbeniN_JsgbdYMx9XkQzaAwCF6zw,3183 -django/utils/timezone.py,sha256=E1erCidfuX08P2Of1zRssHCzV7RzDlbbL3sVdtW7l0k,7410 -django/utils/topological_sort.py,sha256=JAPUKIset8fuFwQT2FYjyTR8zjJWv3QplaBN0nAVdhQ,1206 -django/utils/translation/__init__.py,sha256=Cx0JVXSGsVtCsM8unby1kadp2lWH4QlqBRdgbqEQlJc,10874 -django/utils/translation/__pycache__/__init__.cpython-38.pyc,, -django/utils/translation/__pycache__/reloader.cpython-38.pyc,, -django/utils/translation/__pycache__/template.cpython-38.pyc,, -django/utils/translation/__pycache__/trans_null.cpython-38.pyc,, -django/utils/translation/__pycache__/trans_real.cpython-38.pyc,, -django/utils/translation/reloader.py,sha256=hktywGYvzn9ZmcaaZRd-N_okqCHxuIEzndr4J66SNcc,1209 -django/utils/translation/template.py,sha256=SVpfKA8df41wf7Q-WqNluORBWhL4pHiAv5FNufWP9Lo,10035 -django/utils/translation/trans_null.py,sha256=yp82bHt5oqqL95Z5PFoYCZeENOulxzp-IqMmkWz0l9Y,1257 -django/utils/translation/trans_real.py,sha256=D-3v-8HfqGQJ6nEN9K9EoppBl085NibMdo3VYQu_4Mo,19914 -django/utils/tree.py,sha256=HKi-DFkh6PCmWxwQhKRvMPDP5AufD_BY3DpZM1ivnNo,4886 -django/utils/version.py,sha256=lf4G3gOmEBh8O8mmWl3u6ZoEgQR5bqqfmmh0IvTJT_0,3219 -django/utils/xmlutils.py,sha256=ABVrtMX1Vbv3z8BM8-oc2Bi1FxmwTgvSqafZM0gxVjM,1142 -django/views/__init__.py,sha256=DGdAuGC0t1bMju9i-B9p_gqPgRIFHtLXTdIxNKWFGsw,63 -django/views/__pycache__/__init__.cpython-38.pyc,, -django/views/__pycache__/csrf.cpython-38.pyc,, -django/views/__pycache__/debug.cpython-38.pyc,, -django/views/__pycache__/defaults.cpython-38.pyc,, -django/views/__pycache__/i18n.cpython-38.pyc,, -django/views/__pycache__/static.cpython-38.pyc,, -django/views/csrf.py,sha256=5mynqyN7oXhC_U99fVmA1LexDnh9PVhXWRTV3hH4Pvc,6276 -django/views/debug.py,sha256=fuz4fgHz816JRQUjnwbip2WgfDufX70J6ePmn73UyBQ,21406 -django/views/decorators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -django/views/decorators/__pycache__/__init__.cpython-38.pyc,, -django/views/decorators/__pycache__/cache.cpython-38.pyc,, -django/views/decorators/__pycache__/clickjacking.cpython-38.pyc,, -django/views/decorators/__pycache__/csrf.cpython-38.pyc,, -django/views/decorators/__pycache__/debug.cpython-38.pyc,, -django/views/decorators/__pycache__/gzip.cpython-38.pyc,, -django/views/decorators/__pycache__/http.cpython-38.pyc,, -django/views/decorators/__pycache__/vary.cpython-38.pyc,, -django/views/decorators/cache.py,sha256=bBPXOx7_yZogkQwp_82AkjAtn49kgIjJvwcDfmXWX9o,1705 -django/views/decorators/clickjacking.py,sha256=EW-DRe2dR8yg4Rf8HRHl8c4-C8mL3HKGa6PxZRKmFtU,1565 -django/views/decorators/csrf.py,sha256=xPWVVNw_DBidvX_ZVYvN7CePt1HpxpUxsb6wMr0Oe4Y,2073 -django/views/decorators/debug.py,sha256=RbK_DO_Vg_120u0-tEqW1BcTYqcgZRccYMuW-X7JjnQ,3090 -django/views/decorators/gzip.py,sha256=PtpSGd8BePa1utGqvKMFzpLtZJxpV2_Jej8llw5bCJY,253 -django/views/decorators/http.py,sha256=NgZFNkaX0DwDJWUNNgj-FRbBOQEyW4KwbrWDZOa_9Go,4713 -django/views/decorators/vary.py,sha256=6wEXI5yBFZYDVednNPc0bYbXGG-QzkIUQ-50ErDrA_k,1084 -django/views/defaults.py,sha256=cFxfvjxuyvV9d0X5FQEB6Pd52lCRcxk5Y1xmC_NsMx8,4923 -django/views/generic/__init__.py,sha256=WTnzEXnKyJqzHlLu_VsXInYg-GokDNBCUYNV_U6U-ok,822 -django/views/generic/__pycache__/__init__.cpython-38.pyc,, -django/views/generic/__pycache__/base.cpython-38.pyc,, -django/views/generic/__pycache__/dates.cpython-38.pyc,, -django/views/generic/__pycache__/detail.cpython-38.pyc,, -django/views/generic/__pycache__/edit.cpython-38.pyc,, -django/views/generic/__pycache__/list.cpython-38.pyc,, -django/views/generic/base.py,sha256=BNYQqth5Bbs3EXydbXtwrmjVi2kQyPp-XuM1Z8h8BD8,7771 -django/views/generic/dates.py,sha256=gtBty1gMf2wuV0LMvsyh8OvCXf8AceLyURBUe6MjmZw,25431 -django/views/generic/detail.py,sha256=m8otoffJXPW9ml-vAtXeM4asTT5I4pvuoR4BhjpWB6A,6507 -django/views/generic/edit.py,sha256=zPO3D8rFrSDjJG1OnRYn0frGqVq8VMKAEUihZU2NrIk,8332 -django/views/generic/list.py,sha256=whDapHWQc65L-jspWDMegzGGo6pJ_4pYsDSGQ2vukwg,7676 -django/views/i18n.py,sha256=-Cwr06GyAkVIHSj3ahPx32im5-Vkh4LgPtG2krIKkso,11516 -django/views/static.py,sha256=dEqVcWqNQ4HlWW3EGs1cjQ6IZd5OXMHLvBCe9bgy0mc,4553 -django/views/templates/default_urlconf.html,sha256=zqfwUolL9moZH6_Qh8w61NHJnCUGZ3uSD9RT3FsmwmQ,16737 -django/views/templates/technical_404.html,sha256=nZT2gkPAYc7G8VNJXst-dEyim0t83xjX-TtCGtxJZwc,2453 -django/views/templates/technical_500.html,sha256=N8qdNGwhWmtCvwmicv9kHhwofjLEjpUjIwLNmbw799E,17351 -django/views/templates/technical_500.txt,sha256=KX6_zLNECd3skhITfosD_5UqGLZ4bQRVTsLJX-EhVlI,3471 diff --git a/venv/lib/python3.8/site-packages/Django-3.1.7.dist-info/WHEEL b/venv/lib/python3.8/site-packages/Django-3.1.7.dist-info/WHEEL deleted file mode 100644 index 0863016b..00000000 --- a/venv/lib/python3.8/site-packages/Django-3.1.7.dist-info/WHEEL +++ /dev/null @@ -1,5 +0,0 @@ -Wheel-Version: 1.0 -Generator: bdist_wheel (0.36.0) -Root-Is-Purelib: true -Tag: py3-none-any - diff --git a/venv/lib/python3.8/site-packages/Django-3.1.7.dist-info/entry_points.txt b/venv/lib/python3.8/site-packages/Django-3.1.7.dist-info/entry_points.txt deleted file mode 100644 index 22df67eb..00000000 --- a/venv/lib/python3.8/site-packages/Django-3.1.7.dist-info/entry_points.txt +++ /dev/null @@ -1,3 +0,0 @@ -[console_scripts] -django-admin = django.core.management:execute_from_command_line - diff --git a/venv/lib/python3.8/site-packages/Django-3.1.7.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/Django-3.1.7.dist-info/top_level.txt deleted file mode 100644 index d3e4ba56..00000000 --- a/venv/lib/python3.8/site-packages/Django-3.1.7.dist-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -django diff --git a/venv/lib/python3.8/site-packages/PIL/BdfFontFile.py b/venv/lib/python3.8/site-packages/PIL/BdfFontFile.py deleted file mode 100644 index 102b72e1..00000000 --- a/venv/lib/python3.8/site-packages/PIL/BdfFontFile.py +++ /dev/null @@ -1,110 +0,0 @@ -# -# The Python Imaging Library -# $Id$ -# -# bitmap distribution font (bdf) file parser -# -# history: -# 1996-05-16 fl created (as bdf2pil) -# 1997-08-25 fl converted to FontFile driver -# 2001-05-25 fl removed bogus __init__ call -# 2002-11-20 fl robustification (from Kevin Cazabon, Dmitry Vasiliev) -# 2003-04-22 fl more robustification (from Graham Dumpleton) -# -# Copyright (c) 1997-2003 by Secret Labs AB. -# Copyright (c) 1997-2003 by Fredrik Lundh. -# -# See the README file for information on usage and redistribution. -# - -""" -Parse X Bitmap Distribution Format (BDF) -""" - - -from . import FontFile, Image - -bdf_slant = { - "R": "Roman", - "I": "Italic", - "O": "Oblique", - "RI": "Reverse Italic", - "RO": "Reverse Oblique", - "OT": "Other", -} - -bdf_spacing = {"P": "Proportional", "M": "Monospaced", "C": "Cell"} - - -def bdf_char(f): - # skip to STARTCHAR - while True: - s = f.readline() - if not s: - return None - if s[:9] == b"STARTCHAR": - break - id = s[9:].strip().decode("ascii") - - # load symbol properties - props = {} - while True: - s = f.readline() - if not s or s[:6] == b"BITMAP": - break - i = s.find(b" ") - props[s[:i].decode("ascii")] = s[i + 1 : -1].decode("ascii") - - # load bitmap - bitmap = [] - while True: - s = f.readline() - if not s or s[:7] == b"ENDCHAR": - break - bitmap.append(s[:-1]) - bitmap = b"".join(bitmap) - - [x, y, l, d] = [int(p) for p in props["BBX"].split()] - [dx, dy] = [int(p) for p in props["DWIDTH"].split()] - - bbox = (dx, dy), (l, -d - y, x + l, -d), (0, 0, x, y) - - try: - im = Image.frombytes("1", (x, y), bitmap, "hex", "1") - except ValueError: - # deal with zero-width characters - im = Image.new("1", (x, y)) - - return id, int(props["ENCODING"]), bbox, im - - -class BdfFontFile(FontFile.FontFile): - """Font file plugin for the X11 BDF format.""" - - def __init__(self, fp): - super().__init__() - - s = fp.readline() - if s[:13] != b"STARTFONT 2.1": - raise SyntaxError("not a valid BDF file") - - props = {} - comments = [] - - while True: - s = fp.readline() - if not s or s[:13] == b"ENDPROPERTIES": - break - i = s.find(b" ") - props[s[:i].decode("ascii")] = s[i + 1 : -1].decode("ascii") - if s[:i] in [b"COMMENT", b"COPYRIGHT"]: - if s.find(b"LogicalFontDescription") < 0: - comments.append(s[i + 1 : -1].decode("ascii")) - - while True: - c = bdf_char(fp) - if not c: - break - id, ch, (xy, dst, src), im = c - if 0 <= ch < len(self.glyph): - self.glyph[ch] = xy, dst, src, im diff --git a/venv/lib/python3.8/site-packages/PIL/BlpImagePlugin.py b/venv/lib/python3.8/site-packages/PIL/BlpImagePlugin.py deleted file mode 100644 index d5d7c0e0..00000000 --- a/venv/lib/python3.8/site-packages/PIL/BlpImagePlugin.py +++ /dev/null @@ -1,422 +0,0 @@ -""" -Blizzard Mipmap Format (.blp) -Jerome Leclanche - -The contents of this file are hereby released in the public domain (CC0) -Full text of the CC0 license: - https://creativecommons.org/publicdomain/zero/1.0/ - -BLP1 files, used mostly in Warcraft III, are not fully supported. -All types of BLP2 files used in World of Warcraft are supported. - -The BLP file structure consists of a header, up to 16 mipmaps of the -texture - -Texture sizes must be powers of two, though the two dimensions do -not have to be equal; 512x256 is valid, but 512x200 is not. -The first mipmap (mipmap #0) is the full size image; each subsequent -mipmap halves both dimensions. The final mipmap should be 1x1. - -BLP files come in many different flavours: -* JPEG-compressed (type == 0) - only supported for BLP1. -* RAW images (type == 1, encoding == 1). Each mipmap is stored as an - array of 8-bit values, one per pixel, left to right, top to bottom. - Each value is an index to the palette. -* DXT-compressed (type == 1, encoding == 2): -- DXT1 compression is used if alpha_encoding == 0. - - An additional alpha bit is used if alpha_depth == 1. - - DXT3 compression is used if alpha_encoding == 1. - - DXT5 compression is used if alpha_encoding == 7. -""" - -import struct -from io import BytesIO - -from . import Image, ImageFile - -BLP_FORMAT_JPEG = 0 - -BLP_ENCODING_UNCOMPRESSED = 1 -BLP_ENCODING_DXT = 2 -BLP_ENCODING_UNCOMPRESSED_RAW_BGRA = 3 - -BLP_ALPHA_ENCODING_DXT1 = 0 -BLP_ALPHA_ENCODING_DXT3 = 1 -BLP_ALPHA_ENCODING_DXT5 = 7 - - -def unpack_565(i): - return (((i >> 11) & 0x1F) << 3, ((i >> 5) & 0x3F) << 2, (i & 0x1F) << 3) - - -def decode_dxt1(data, alpha=False): - """ - input: one "row" of data (i.e. will produce 4*width pixels) - """ - - blocks = len(data) // 8 # number of blocks in row - ret = (bytearray(), bytearray(), bytearray(), bytearray()) - - for block in range(blocks): - # Decode next 8-byte block. - idx = block * 8 - color0, color1, bits = struct.unpack_from("> 2 - - a = 0xFF - if control == 0: - r, g, b = r0, g0, b0 - elif control == 1: - r, g, b = r1, g1, b1 - elif control == 2: - if color0 > color1: - r = (2 * r0 + r1) // 3 - g = (2 * g0 + g1) // 3 - b = (2 * b0 + b1) // 3 - else: - r = (r0 + r1) // 2 - g = (g0 + g1) // 2 - b = (b0 + b1) // 2 - elif control == 3: - if color0 > color1: - r = (2 * r1 + r0) // 3 - g = (2 * g1 + g0) // 3 - b = (2 * b1 + b0) // 3 - else: - r, g, b, a = 0, 0, 0, 0 - - if alpha: - ret[j].extend([r, g, b, a]) - else: - ret[j].extend([r, g, b]) - - return ret - - -def decode_dxt3(data): - """ - input: one "row" of data (i.e. will produce 4*width pixels) - """ - - blocks = len(data) // 16 # number of blocks in row - ret = (bytearray(), bytearray(), bytearray(), bytearray()) - - for block in range(blocks): - idx = block * 16 - block = data[idx : idx + 16] - # Decode next 16-byte block. - bits = struct.unpack_from("<8B", block) - color0, color1 = struct.unpack_from(">= 4 - else: - high = True - a &= 0xF - a *= 17 # We get a value between 0 and 15 - - color_code = (code >> 2 * (4 * j + i)) & 0x03 - - if color_code == 0: - r, g, b = r0, g0, b0 - elif color_code == 1: - r, g, b = r1, g1, b1 - elif color_code == 2: - r = (2 * r0 + r1) // 3 - g = (2 * g0 + g1) // 3 - b = (2 * b0 + b1) // 3 - elif color_code == 3: - r = (2 * r1 + r0) // 3 - g = (2 * g1 + g0) // 3 - b = (2 * b1 + b0) // 3 - - ret[j].extend([r, g, b, a]) - - return ret - - -def decode_dxt5(data): - """ - input: one "row" of data (i.e. will produce 4 * width pixels) - """ - - blocks = len(data) // 16 # number of blocks in row - ret = (bytearray(), bytearray(), bytearray(), bytearray()) - - for block in range(blocks): - idx = block * 16 - block = data[idx : idx + 16] - # Decode next 16-byte block. - a0, a1 = struct.unpack_from("> alphacode_index) & 0x07 - elif alphacode_index == 15: - alphacode = (alphacode2 >> 15) | ((alphacode1 << 1) & 0x06) - else: # alphacode_index >= 18 and alphacode_index <= 45 - alphacode = (alphacode1 >> (alphacode_index - 16)) & 0x07 - - if alphacode == 0: - a = a0 - elif alphacode == 1: - a = a1 - elif a0 > a1: - a = ((8 - alphacode) * a0 + (alphacode - 1) * a1) // 7 - elif alphacode == 6: - a = 0 - elif alphacode == 7: - a = 255 - else: - a = ((6 - alphacode) * a0 + (alphacode - 1) * a1) // 5 - - color_code = (code >> 2 * (4 * j + i)) & 0x03 - - if color_code == 0: - r, g, b = r0, g0, b0 - elif color_code == 1: - r, g, b = r1, g1, b1 - elif color_code == 2: - r = (2 * r0 + r1) // 3 - g = (2 * g0 + g1) // 3 - b = (2 * b0 + b1) // 3 - elif color_code == 3: - r = (2 * r1 + r0) // 3 - g = (2 * g1 + g0) // 3 - b = (2 * b1 + b0) // 3 - - ret[j].extend([r, g, b, a]) - - return ret - - -class BLPFormatError(NotImplementedError): - pass - - -class BlpImageFile(ImageFile.ImageFile): - """ - Blizzard Mipmap Format - """ - - format = "BLP" - format_description = "Blizzard Mipmap Format" - - def _open(self): - self.magic = self.fp.read(4) - self._read_blp_header() - - if self.magic == b"BLP1": - decoder = "BLP1" - self.mode = "RGB" - elif self.magic == b"BLP2": - decoder = "BLP2" - self.mode = "RGBA" if self._blp_alpha_depth else "RGB" - else: - raise BLPFormatError(f"Bad BLP magic {repr(self.magic)}") - - self.tile = [(decoder, (0, 0) + self.size, 0, (self.mode, 0, 1))] - - def _read_blp_header(self): - (self._blp_compression,) = struct.unpack(" mode, rawmode - 1: ("P", "P;1"), - 4: ("P", "P;4"), - 8: ("P", "P"), - 16: ("RGB", "BGR;15"), - 24: ("RGB", "BGR"), - 32: ("RGB", "BGRX"), -} - - -def _accept(prefix): - return prefix[:2] == b"BM" - - -def _dib_accept(prefix): - return i32(prefix) in [12, 40, 64, 108, 124] - - -# ============================================================================= -# Image plugin for the Windows BMP format. -# ============================================================================= -class BmpImageFile(ImageFile.ImageFile): - """ Image plugin for the Windows Bitmap format (BMP) """ - - # ------------------------------------------------------------- Description - format_description = "Windows Bitmap" - format = "BMP" - - # -------------------------------------------------- BMP Compression values - COMPRESSIONS = {"RAW": 0, "RLE8": 1, "RLE4": 2, "BITFIELDS": 3, "JPEG": 4, "PNG": 5} - for k, v in COMPRESSIONS.items(): - vars()[k] = v - - def _bitmap(self, header=0, offset=0): - """ Read relevant info about the BMP """ - read, seek = self.fp.read, self.fp.seek - if header: - seek(header) - file_info = {} - # read bmp header size @offset 14 (this is part of the header size) - file_info["header_size"] = i32(read(4)) - file_info["direction"] = -1 - - # -------------------- If requested, read header at a specific position - # read the rest of the bmp header, without its size - header_data = ImageFile._safe_read(self.fp, file_info["header_size"] - 4) - - # -------------------------------------------------- IBM OS/2 Bitmap v1 - # ----- This format has different offsets because of width/height types - if file_info["header_size"] == 12: - file_info["width"] = i16(header_data, 0) - file_info["height"] = i16(header_data, 2) - file_info["planes"] = i16(header_data, 4) - file_info["bits"] = i16(header_data, 6) - file_info["compression"] = self.RAW - file_info["palette_padding"] = 3 - - # --------------------------------------------- Windows Bitmap v2 to v5 - # v3, OS/2 v2, v4, v5 - elif file_info["header_size"] in (40, 64, 108, 124): - file_info["y_flip"] = header_data[7] == 0xFF - file_info["direction"] = 1 if file_info["y_flip"] else -1 - file_info["width"] = i32(header_data, 0) - file_info["height"] = ( - i32(header_data, 4) - if not file_info["y_flip"] - else 2 ** 32 - i32(header_data, 4) - ) - file_info["planes"] = i16(header_data, 8) - file_info["bits"] = i16(header_data, 10) - file_info["compression"] = i32(header_data, 12) - # byte size of pixel data - file_info["data_size"] = i32(header_data, 16) - file_info["pixels_per_meter"] = ( - i32(header_data, 20), - i32(header_data, 24), - ) - file_info["colors"] = i32(header_data, 28) - file_info["palette_padding"] = 4 - self.info["dpi"] = tuple( - int(x / 39.3701 + 0.5) for x in file_info["pixels_per_meter"] - ) - if file_info["compression"] == self.BITFIELDS: - if len(header_data) >= 52: - for idx, mask in enumerate( - ["r_mask", "g_mask", "b_mask", "a_mask"] - ): - file_info[mask] = i32(header_data, 36 + idx * 4) - else: - # 40 byte headers only have the three components in the - # bitfields masks, ref: - # https://msdn.microsoft.com/en-us/library/windows/desktop/dd183376(v=vs.85).aspx - # See also - # https://github.com/python-pillow/Pillow/issues/1293 - # There is a 4th component in the RGBQuad, in the alpha - # location, but it is listed as a reserved component, - # and it is not generally an alpha channel - file_info["a_mask"] = 0x0 - for mask in ["r_mask", "g_mask", "b_mask"]: - file_info[mask] = i32(read(4)) - file_info["rgb_mask"] = ( - file_info["r_mask"], - file_info["g_mask"], - file_info["b_mask"], - ) - file_info["rgba_mask"] = ( - file_info["r_mask"], - file_info["g_mask"], - file_info["b_mask"], - file_info["a_mask"], - ) - else: - raise OSError(f"Unsupported BMP header type ({file_info['header_size']})") - - # ------------------ Special case : header is reported 40, which - # ---------------------- is shorter than real size for bpp >= 16 - self._size = file_info["width"], file_info["height"] - - # ------- If color count was not found in the header, compute from bits - file_info["colors"] = ( - file_info["colors"] - if file_info.get("colors", 0) - else (1 << file_info["bits"]) - ) - - # ---------------------- Check bit depth for unusual unsupported values - self.mode, raw_mode = BIT2MODE.get(file_info["bits"], (None, None)) - if self.mode is None: - raise OSError(f"Unsupported BMP pixel depth ({file_info['bits']})") - - # ---------------- Process BMP with Bitfields compression (not palette) - if file_info["compression"] == self.BITFIELDS: - SUPPORTED = { - 32: [ - (0xFF0000, 0xFF00, 0xFF, 0x0), - (0xFF0000, 0xFF00, 0xFF, 0xFF000000), - (0xFF, 0xFF00, 0xFF0000, 0xFF000000), - (0x0, 0x0, 0x0, 0x0), - (0xFF000000, 0xFF0000, 0xFF00, 0x0), - ], - 24: [(0xFF0000, 0xFF00, 0xFF)], - 16: [(0xF800, 0x7E0, 0x1F), (0x7C00, 0x3E0, 0x1F)], - } - MASK_MODES = { - (32, (0xFF0000, 0xFF00, 0xFF, 0x0)): "BGRX", - (32, (0xFF000000, 0xFF0000, 0xFF00, 0x0)): "XBGR", - (32, (0xFF, 0xFF00, 0xFF0000, 0xFF000000)): "RGBA", - (32, (0xFF0000, 0xFF00, 0xFF, 0xFF000000)): "BGRA", - (32, (0x0, 0x0, 0x0, 0x0)): "BGRA", - (24, (0xFF0000, 0xFF00, 0xFF)): "BGR", - (16, (0xF800, 0x7E0, 0x1F)): "BGR;16", - (16, (0x7C00, 0x3E0, 0x1F)): "BGR;15", - } - if file_info["bits"] in SUPPORTED: - if ( - file_info["bits"] == 32 - and file_info["rgba_mask"] in SUPPORTED[file_info["bits"]] - ): - raw_mode = MASK_MODES[(file_info["bits"], file_info["rgba_mask"])] - self.mode = "RGBA" if "A" in raw_mode else self.mode - elif ( - file_info["bits"] in (24, 16) - and file_info["rgb_mask"] in SUPPORTED[file_info["bits"]] - ): - raw_mode = MASK_MODES[(file_info["bits"], file_info["rgb_mask"])] - else: - raise OSError("Unsupported BMP bitfields layout") - else: - raise OSError("Unsupported BMP bitfields layout") - elif file_info["compression"] == self.RAW: - if file_info["bits"] == 32 and header == 22: # 32-bit .cur offset - raw_mode, self.mode = "BGRA", "RGBA" - else: - raise OSError(f"Unsupported BMP compression ({file_info['compression']})") - - # --------------- Once the header is processed, process the palette/LUT - if self.mode == "P": # Paletted for 1, 4 and 8 bit images - - # ---------------------------------------------------- 1-bit images - if not (0 < file_info["colors"] <= 65536): - raise OSError(f"Unsupported BMP Palette size ({file_info['colors']})") - else: - padding = file_info["palette_padding"] - palette = read(padding * file_info["colors"]) - greyscale = True - indices = ( - (0, 255) - if file_info["colors"] == 2 - else list(range(file_info["colors"])) - ) - - # ----------------- Check if greyscale and ignore palette if so - for ind, val in enumerate(indices): - rgb = palette[ind * padding : ind * padding + 3] - if rgb != o8(val) * 3: - greyscale = False - - # ------- If all colors are grey, white or black, ditch palette - if greyscale: - self.mode = "1" if file_info["colors"] == 2 else "L" - raw_mode = self.mode - else: - self.mode = "P" - self.palette = ImagePalette.raw( - "BGRX" if padding == 4 else "BGR", palette - ) - - # ---------------------------- Finally set the tile data for the plugin - self.info["compression"] = file_info["compression"] - self.tile = [ - ( - "raw", - (0, 0, file_info["width"], file_info["height"]), - offset or self.fp.tell(), - ( - raw_mode, - ((file_info["width"] * file_info["bits"] + 31) >> 3) & (~3), - file_info["direction"], - ), - ) - ] - - def _open(self): - """ Open file, check magic number and read header """ - # read 14 bytes: magic number, filesize, reserved, header final offset - head_data = self.fp.read(14) - # choke if the file does not have the required magic bytes - if not _accept(head_data): - raise SyntaxError("Not a BMP file") - # read the start position of the BMP image data (u32) - offset = i32(head_data, 10) - # load bitmap information (offset=raster info) - self._bitmap(offset=offset) - - -# ============================================================================= -# Image plugin for the DIB format (BMP alias) -# ============================================================================= -class DibImageFile(BmpImageFile): - - format = "DIB" - format_description = "Windows Bitmap" - - def _open(self): - self._bitmap() - - -# -# -------------------------------------------------------------------- -# Write BMP file - - -SAVE = { - "1": ("1", 1, 2), - "L": ("L", 8, 256), - "P": ("P", 8, 256), - "RGB": ("BGR", 24, 0), - "RGBA": ("BGRA", 32, 0), -} - - -def _dib_save(im, fp, filename): - _save(im, fp, filename, False) - - -def _save(im, fp, filename, bitmap_header=True): - try: - rawmode, bits, colors = SAVE[im.mode] - except KeyError as e: - raise OSError(f"cannot write mode {im.mode} as BMP") from e - - info = im.encoderinfo - - dpi = info.get("dpi", (96, 96)) - - # 1 meter == 39.3701 inches - ppm = tuple(map(lambda x: int(x * 39.3701 + 0.5), dpi)) - - stride = ((im.size[0] * bits + 7) // 8 + 3) & (~3) - header = 40 # or 64 for OS/2 version 2 - image = stride * im.size[1] - - # bitmap header - if bitmap_header: - offset = 14 + header + colors * 4 - file_size = offset + image - if file_size > 2 ** 32 - 1: - raise ValueError("File size is too large for the BMP format") - fp.write( - b"BM" # file type (magic) - + o32(file_size) # file size - + o32(0) # reserved - + o32(offset) # image data offset - ) - - # bitmap info header - fp.write( - o32(header) # info header size - + o32(im.size[0]) # width - + o32(im.size[1]) # height - + o16(1) # planes - + o16(bits) # depth - + o32(0) # compression (0=uncompressed) - + o32(image) # size of bitmap - + o32(ppm[0]) # resolution - + o32(ppm[1]) # resolution - + o32(colors) # colors used - + o32(colors) # colors important - ) - - fp.write(b"\0" * (header - 40)) # padding (for OS/2 format) - - if im.mode == "1": - for i in (0, 255): - fp.write(o8(i) * 4) - elif im.mode == "L": - for i in range(256): - fp.write(o8(i) * 4) - elif im.mode == "P": - fp.write(im.im.getpalette("RGB", "BGRX")) - - ImageFile._save(im, fp, [("raw", (0, 0) + im.size, 0, (rawmode, stride, -1))]) - - -# -# -------------------------------------------------------------------- -# Registry - - -Image.register_open(BmpImageFile.format, BmpImageFile, _accept) -Image.register_save(BmpImageFile.format, _save) - -Image.register_extension(BmpImageFile.format, ".bmp") - -Image.register_mime(BmpImageFile.format, "image/bmp") - -Image.register_open(DibImageFile.format, DibImageFile, _dib_accept) -Image.register_save(DibImageFile.format, _dib_save) - -Image.register_extension(DibImageFile.format, ".dib") - -Image.register_mime(DibImageFile.format, "image/bmp") diff --git a/venv/lib/python3.8/site-packages/PIL/BufrStubImagePlugin.py b/venv/lib/python3.8/site-packages/PIL/BufrStubImagePlugin.py deleted file mode 100644 index 48f21e1b..00000000 --- a/venv/lib/python3.8/site-packages/PIL/BufrStubImagePlugin.py +++ /dev/null @@ -1,73 +0,0 @@ -# -# The Python Imaging Library -# $Id$ -# -# BUFR stub adapter -# -# Copyright (c) 1996-2003 by Fredrik Lundh -# -# See the README file for information on usage and redistribution. -# - -from . import Image, ImageFile - -_handler = None - - -def register_handler(handler): - """ - Install application-specific BUFR image handler. - - :param handler: Handler object. - """ - global _handler - _handler = handler - - -# -------------------------------------------------------------------- -# Image adapter - - -def _accept(prefix): - return prefix[:4] == b"BUFR" or prefix[:4] == b"ZCZC" - - -class BufrStubImageFile(ImageFile.StubImageFile): - - format = "BUFR" - format_description = "BUFR" - - def _open(self): - - offset = self.fp.tell() - - if not _accept(self.fp.read(4)): - raise SyntaxError("Not a BUFR file") - - self.fp.seek(offset) - - # make something up - self.mode = "F" - self._size = 1, 1 - - loader = self._load() - if loader: - loader.open(self) - - def _load(self): - return _handler - - -def _save(im, fp, filename): - if _handler is None or not hasattr("_handler", "save"): - raise OSError("BUFR save handler not installed") - _handler.save(im, fp, filename) - - -# -------------------------------------------------------------------- -# Registry - -Image.register_open(BufrStubImageFile.format, BufrStubImageFile, _accept) -Image.register_save(BufrStubImageFile.format, _save) - -Image.register_extension(BufrStubImageFile.format, ".bufr") diff --git a/venv/lib/python3.8/site-packages/PIL/ContainerIO.py b/venv/lib/python3.8/site-packages/PIL/ContainerIO.py deleted file mode 100644 index 45e80b39..00000000 --- a/venv/lib/python3.8/site-packages/PIL/ContainerIO.py +++ /dev/null @@ -1,120 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# a class to read from a container file -# -# History: -# 1995-06-18 fl Created -# 1995-09-07 fl Added readline(), readlines() -# -# Copyright (c) 1997-2001 by Secret Labs AB -# Copyright (c) 1995 by Fredrik Lundh -# -# See the README file for information on usage and redistribution. -# - - -import io - - -class ContainerIO: - """ - A file object that provides read access to a part of an existing - file (for example a TAR file). - """ - - def __init__(self, file, offset, length): - """ - Create file object. - - :param file: Existing file. - :param offset: Start of region, in bytes. - :param length: Size of region, in bytes. - """ - self.fh = file - self.pos = 0 - self.offset = offset - self.length = length - self.fh.seek(offset) - - ## - # Always false. - - def isatty(self): - return False - - def seek(self, offset, mode=io.SEEK_SET): - """ - Move file pointer. - - :param offset: Offset in bytes. - :param mode: Starting position. Use 0 for beginning of region, 1 - for current offset, and 2 for end of region. You cannot move - the pointer outside the defined region. - """ - if mode == 1: - self.pos = self.pos + offset - elif mode == 2: - self.pos = self.length + offset - else: - self.pos = offset - # clamp - self.pos = max(0, min(self.pos, self.length)) - self.fh.seek(self.offset + self.pos) - - def tell(self): - """ - Get current file pointer. - - :returns: Offset from start of region, in bytes. - """ - return self.pos - - def read(self, n=0): - """ - Read data. - - :param n: Number of bytes to read. If omitted or zero, - read until end of region. - :returns: An 8-bit string. - """ - if n: - n = min(n, self.length - self.pos) - else: - n = self.length - self.pos - if not n: # EOF - return b"" if "b" in self.fh.mode else "" - self.pos = self.pos + n - return self.fh.read(n) - - def readline(self): - """ - Read a line of text. - - :returns: An 8-bit string. - """ - s = b"" if "b" in self.fh.mode else "" - newline_character = b"\n" if "b" in self.fh.mode else "\n" - while True: - c = self.read(1) - if not c: - break - s = s + c - if c == newline_character: - break - return s - - def readlines(self): - """ - Read multiple lines of text. - - :returns: A list of 8-bit strings. - """ - lines = [] - while True: - s = self.readline() - if not s: - break - lines.append(s) - return lines diff --git a/venv/lib/python3.8/site-packages/PIL/CurImagePlugin.py b/venv/lib/python3.8/site-packages/PIL/CurImagePlugin.py deleted file mode 100644 index 42af5caf..00000000 --- a/venv/lib/python3.8/site-packages/PIL/CurImagePlugin.py +++ /dev/null @@ -1,75 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# Windows Cursor support for PIL -# -# notes: -# uses BmpImagePlugin.py to read the bitmap data. -# -# history: -# 96-05-27 fl Created -# -# Copyright (c) Secret Labs AB 1997. -# Copyright (c) Fredrik Lundh 1996. -# -# See the README file for information on usage and redistribution. -# -from . import BmpImagePlugin, Image -from ._binary import i16le as i16 -from ._binary import i32le as i32 - -# -# -------------------------------------------------------------------- - - -def _accept(prefix): - return prefix[:4] == b"\0\0\2\0" - - -## -# Image plugin for Windows Cursor files. - - -class CurImageFile(BmpImagePlugin.BmpImageFile): - - format = "CUR" - format_description = "Windows Cursor" - - def _open(self): - - offset = self.fp.tell() - - # check magic - s = self.fp.read(6) - if not _accept(s): - raise SyntaxError("not a CUR file") - - # pick the largest cursor in the file - m = b"" - for i in range(i16(s, 4)): - s = self.fp.read(16) - if not m: - m = s - elif s[0] > m[0] and s[1] > m[1]: - m = s - if not m: - raise TypeError("No cursors were found") - - # load as bitmap - self._bitmap(i32(m, 12) + offset) - - # patch up the bitmap height - self._size = self.size[0], self.size[1] // 2 - d, e, o, a = self.tile[0] - self.tile[0] = d, (0, 0) + self.size, o, a - - return - - -# -# -------------------------------------------------------------------- - -Image.register_open(CurImageFile.format, CurImageFile, _accept) - -Image.register_extension(CurImageFile.format, ".cur") diff --git a/venv/lib/python3.8/site-packages/PIL/DcxImagePlugin.py b/venv/lib/python3.8/site-packages/PIL/DcxImagePlugin.py deleted file mode 100644 index de21db8f..00000000 --- a/venv/lib/python3.8/site-packages/PIL/DcxImagePlugin.py +++ /dev/null @@ -1,89 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# DCX file handling -# -# DCX is a container file format defined by Intel, commonly used -# for fax applications. Each DCX file consists of a directory -# (a list of file offsets) followed by a set of (usually 1-bit) -# PCX files. -# -# History: -# 1995-09-09 fl Created -# 1996-03-20 fl Properly derived from PcxImageFile. -# 1998-07-15 fl Renamed offset attribute to avoid name clash -# 2002-07-30 fl Fixed file handling -# -# Copyright (c) 1997-98 by Secret Labs AB. -# Copyright (c) 1995-96 by Fredrik Lundh. -# -# See the README file for information on usage and redistribution. -# - -from . import Image -from ._binary import i32le as i32 -from .PcxImagePlugin import PcxImageFile - -MAGIC = 0x3ADE68B1 # QUIZ: what's this value, then? - - -def _accept(prefix): - return len(prefix) >= 4 and i32(prefix) == MAGIC - - -## -# Image plugin for the Intel DCX format. - - -class DcxImageFile(PcxImageFile): - - format = "DCX" - format_description = "Intel DCX" - _close_exclusive_fp_after_loading = False - - def _open(self): - - # Header - s = self.fp.read(4) - if not _accept(s): - raise SyntaxError("not a DCX file") - - # Component directory - self._offset = [] - for i in range(1024): - offset = i32(self.fp.read(4)) - if not offset: - break - self._offset.append(offset) - - self.__fp = self.fp - self.frame = None - self.n_frames = len(self._offset) - self.is_animated = self.n_frames > 1 - self.seek(0) - - def seek(self, frame): - if not self._seek_check(frame): - return - self.frame = frame - self.fp = self.__fp - self.fp.seek(self._offset[frame]) - PcxImageFile._open(self) - - def tell(self): - return self.frame - - def _close__fp(self): - try: - if self.__fp != self.fp: - self.__fp.close() - except AttributeError: - pass - finally: - self.__fp = None - - -Image.register_open(DcxImageFile.format, DcxImageFile, _accept) - -Image.register_extension(DcxImageFile.format, ".dcx") diff --git a/venv/lib/python3.8/site-packages/PIL/DdsImagePlugin.py b/venv/lib/python3.8/site-packages/PIL/DdsImagePlugin.py deleted file mode 100644 index df2d0060..00000000 --- a/venv/lib/python3.8/site-packages/PIL/DdsImagePlugin.py +++ /dev/null @@ -1,190 +0,0 @@ -""" -A Pillow loader for .dds files (S3TC-compressed aka DXTC) -Jerome Leclanche - -Documentation: - https://web.archive.org/web/20170802060935/http://oss.sgi.com/projects/ogl-sample/registry/EXT/texture_compression_s3tc.txt - -The contents of this file are hereby released in the public domain (CC0) -Full text of the CC0 license: - https://creativecommons.org/publicdomain/zero/1.0/ -""" - -import struct -from io import BytesIO - -from . import Image, ImageFile - -# Magic ("DDS ") -DDS_MAGIC = 0x20534444 - -# DDS flags -DDSD_CAPS = 0x1 -DDSD_HEIGHT = 0x2 -DDSD_WIDTH = 0x4 -DDSD_PITCH = 0x8 -DDSD_PIXELFORMAT = 0x1000 -DDSD_MIPMAPCOUNT = 0x20000 -DDSD_LINEARSIZE = 0x80000 -DDSD_DEPTH = 0x800000 - -# DDS caps -DDSCAPS_COMPLEX = 0x8 -DDSCAPS_TEXTURE = 0x1000 -DDSCAPS_MIPMAP = 0x400000 - -DDSCAPS2_CUBEMAP = 0x200 -DDSCAPS2_CUBEMAP_POSITIVEX = 0x400 -DDSCAPS2_CUBEMAP_NEGATIVEX = 0x800 -DDSCAPS2_CUBEMAP_POSITIVEY = 0x1000 -DDSCAPS2_CUBEMAP_NEGATIVEY = 0x2000 -DDSCAPS2_CUBEMAP_POSITIVEZ = 0x4000 -DDSCAPS2_CUBEMAP_NEGATIVEZ = 0x8000 -DDSCAPS2_VOLUME = 0x200000 - -# Pixel Format -DDPF_ALPHAPIXELS = 0x1 -DDPF_ALPHA = 0x2 -DDPF_FOURCC = 0x4 -DDPF_PALETTEINDEXED8 = 0x20 -DDPF_RGB = 0x40 -DDPF_LUMINANCE = 0x20000 - - -# dds.h - -DDS_FOURCC = DDPF_FOURCC -DDS_RGB = DDPF_RGB -DDS_RGBA = DDPF_RGB | DDPF_ALPHAPIXELS -DDS_LUMINANCE = DDPF_LUMINANCE -DDS_LUMINANCEA = DDPF_LUMINANCE | DDPF_ALPHAPIXELS -DDS_ALPHA = DDPF_ALPHA -DDS_PAL8 = DDPF_PALETTEINDEXED8 - -DDS_HEADER_FLAGS_TEXTURE = DDSD_CAPS | DDSD_HEIGHT | DDSD_WIDTH | DDSD_PIXELFORMAT -DDS_HEADER_FLAGS_MIPMAP = DDSD_MIPMAPCOUNT -DDS_HEADER_FLAGS_VOLUME = DDSD_DEPTH -DDS_HEADER_FLAGS_PITCH = DDSD_PITCH -DDS_HEADER_FLAGS_LINEARSIZE = DDSD_LINEARSIZE - -DDS_HEIGHT = DDSD_HEIGHT -DDS_WIDTH = DDSD_WIDTH - -DDS_SURFACE_FLAGS_TEXTURE = DDSCAPS_TEXTURE -DDS_SURFACE_FLAGS_MIPMAP = DDSCAPS_COMPLEX | DDSCAPS_MIPMAP -DDS_SURFACE_FLAGS_CUBEMAP = DDSCAPS_COMPLEX - -DDS_CUBEMAP_POSITIVEX = DDSCAPS2_CUBEMAP | DDSCAPS2_CUBEMAP_POSITIVEX -DDS_CUBEMAP_NEGATIVEX = DDSCAPS2_CUBEMAP | DDSCAPS2_CUBEMAP_NEGATIVEX -DDS_CUBEMAP_POSITIVEY = DDSCAPS2_CUBEMAP | DDSCAPS2_CUBEMAP_POSITIVEY -DDS_CUBEMAP_NEGATIVEY = DDSCAPS2_CUBEMAP | DDSCAPS2_CUBEMAP_NEGATIVEY -DDS_CUBEMAP_POSITIVEZ = DDSCAPS2_CUBEMAP | DDSCAPS2_CUBEMAP_POSITIVEZ -DDS_CUBEMAP_NEGATIVEZ = DDSCAPS2_CUBEMAP | DDSCAPS2_CUBEMAP_NEGATIVEZ - - -# DXT1 -DXT1_FOURCC = 0x31545844 - -# DXT3 -DXT3_FOURCC = 0x33545844 - -# DXT5 -DXT5_FOURCC = 0x35545844 - - -# dxgiformat.h - -DXGI_FORMAT_R8G8B8A8_TYPELESS = 27 -DXGI_FORMAT_R8G8B8A8_UNORM = 28 -DXGI_FORMAT_R8G8B8A8_UNORM_SRGB = 29 -DXGI_FORMAT_BC7_TYPELESS = 97 -DXGI_FORMAT_BC7_UNORM = 98 -DXGI_FORMAT_BC7_UNORM_SRGB = 99 - - -class DdsImageFile(ImageFile.ImageFile): - format = "DDS" - format_description = "DirectDraw Surface" - - def _open(self): - magic, header_size = struct.unpack(" 0: - s = fp.read(min(lengthfile, 100 * 1024)) - if not s: - break - lengthfile -= len(s) - f.write(s) - - # Build Ghostscript command - command = [ - "gs", - "-q", # quiet mode - "-g%dx%d" % size, # set output geometry (pixels) - "-r%fx%f" % res, # set input DPI (dots per inch) - "-dBATCH", # exit after processing - "-dNOPAUSE", # don't pause between pages - "-dSAFER", # safe mode - "-sDEVICE=ppmraw", # ppm driver - f"-sOutputFile={outfile}", # output file - # adjust for image origin - "-c", - f"{-bbox[0]} {-bbox[1]} translate", - "-f", - infile, # input file - # showpage (see https://bugs.ghostscript.com/show_bug.cgi?id=698272) - "-c", - "showpage", - ] - - if gs_windows_binary is not None: - if not gs_windows_binary: - raise OSError("Unable to locate Ghostscript on paths") - command[0] = gs_windows_binary - - # push data through Ghostscript - try: - startupinfo = None - if sys.platform.startswith("win"): - startupinfo = subprocess.STARTUPINFO() - startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW - subprocess.check_call(command, startupinfo=startupinfo) - out_im = Image.open(outfile) - out_im.load() - finally: - try: - os.unlink(outfile) - if infile_temp: - os.unlink(infile_temp) - except OSError: - pass - - im = out_im.im.copy() - out_im.close() - return im - - -class PSFile: - """ - Wrapper for bytesio object that treats either CR or LF as end of line. - """ - - def __init__(self, fp): - self.fp = fp - self.char = None - - def seek(self, offset, whence=io.SEEK_SET): - self.char = None - self.fp.seek(offset, whence) - - def readline(self): - s = self.char or b"" - self.char = None - - c = self.fp.read(1) - while c not in b"\r\n": - s = s + c - c = self.fp.read(1) - - self.char = self.fp.read(1) - # line endings can be 1 or 2 of \r \n, in either order - if self.char in b"\r\n": - self.char = None - - return s.decode("latin-1") - - -def _accept(prefix): - return prefix[:4] == b"%!PS" or (len(prefix) >= 4 and i32(prefix) == 0xC6D3D0C5) - - -## -# Image plugin for Encapsulated PostScript. This plugin supports only -# a few variants of this format. - - -class EpsImageFile(ImageFile.ImageFile): - """EPS File Parser for the Python Imaging Library""" - - format = "EPS" - format_description = "Encapsulated Postscript" - - mode_map = {1: "L", 2: "LAB", 3: "RGB", 4: "CMYK"} - - def _open(self): - (length, offset) = self._find_offset(self.fp) - - # Rewrap the open file pointer in something that will - # convert line endings and decode to latin-1. - fp = PSFile(self.fp) - - # go to offset - start of "%!PS" - fp.seek(offset) - - box = None - - self.mode = "RGB" - self._size = 1, 1 # FIXME: huh? - - # - # Load EPS header - - s_raw = fp.readline() - s = s_raw.strip("\r\n") - - while s_raw: - if s: - if len(s) > 255: - raise SyntaxError("not an EPS file") - - try: - m = split.match(s) - except re.error as e: - raise SyntaxError("not an EPS file") from e - - if m: - k, v = m.group(1, 2) - self.info[k] = v - if k == "BoundingBox": - try: - # Note: The DSC spec says that BoundingBox - # fields should be integers, but some drivers - # put floating point values there anyway. - box = [int(float(i)) for i in v.split()] - self._size = box[2] - box[0], box[3] - box[1] - self.tile = [ - ("eps", (0, 0) + self.size, offset, (length, box)) - ] - except Exception: - pass - - else: - m = field.match(s) - if m: - k = m.group(1) - - if k == "EndComments": - break - if k[:8] == "PS-Adobe": - self.info[k[:8]] = k[9:] - else: - self.info[k] = "" - elif s[0] == "%": - # handle non-DSC PostScript comments that some - # tools mistakenly put in the Comments section - pass - else: - raise OSError("bad EPS header") - - s_raw = fp.readline() - s = s_raw.strip("\r\n") - - if s and s[:1] != "%": - break - - # - # Scan for an "ImageData" descriptor - - while s[:1] == "%": - - if len(s) > 255: - raise SyntaxError("not an EPS file") - - if s[:11] == "%ImageData:": - # Encoded bitmapped image. - x, y, bi, mo = s[11:].split(None, 7)[:4] - - if int(bi) != 8: - break - try: - self.mode = self.mode_map[int(mo)] - except ValueError: - break - - self._size = int(x), int(y) - return - - s = fp.readline().strip("\r\n") - if not s: - break - - if not box: - raise OSError("cannot determine EPS bounding box") - - def _find_offset(self, fp): - - s = fp.read(160) - - if s[:4] == b"%!PS": - # for HEAD without binary preview - fp.seek(0, io.SEEK_END) - length = fp.tell() - offset = 0 - elif i32(s, 0) == 0xC6D3D0C5: - # FIX for: Some EPS file not handled correctly / issue #302 - # EPS can contain binary data - # or start directly with latin coding - # more info see: - # https://web.archive.org/web/20160528181353/http://partners.adobe.com/public/developer/en/ps/5002.EPSF_Spec.pdf - offset = i32(s, 4) - length = i32(s, 8) - else: - raise SyntaxError("not an EPS file") - - return (length, offset) - - def load(self, scale=1): - # Load EPS via Ghostscript - if not self.tile: - return - self.im = Ghostscript(self.tile, self.size, self.fp, scale) - self.mode = self.im.mode - self._size = self.im.size - self.tile = [] - - def load_seek(self, *args, **kwargs): - # we can't incrementally load, so force ImageFile.parser to - # use our custom load method by defining this method. - pass - - -# -# -------------------------------------------------------------------- - - -def _save(im, fp, filename, eps=1): - """EPS Writer for the Python Imaging Library.""" - - # - # make sure image data is available - im.load() - - # - # determine PostScript image mode - if im.mode == "L": - operator = (8, 1, "image") - elif im.mode == "RGB": - operator = (8, 3, "false 3 colorimage") - elif im.mode == "CMYK": - operator = (8, 4, "false 4 colorimage") - else: - raise ValueError("image mode is not supported") - - base_fp = fp - wrapped_fp = False - if fp != sys.stdout: - fp = io.TextIOWrapper(fp, encoding="latin-1") - wrapped_fp = True - - try: - if eps: - # - # write EPS header - fp.write("%!PS-Adobe-3.0 EPSF-3.0\n") - fp.write("%%Creator: PIL 0.1 EpsEncode\n") - # fp.write("%%CreationDate: %s"...) - fp.write("%%%%BoundingBox: 0 0 %d %d\n" % im.size) - fp.write("%%Pages: 1\n") - fp.write("%%EndComments\n") - fp.write("%%Page: 1 1\n") - fp.write("%%ImageData: %d %d " % im.size) - fp.write('%d %d 0 1 1 "%s"\n' % operator) - - # - # image header - fp.write("gsave\n") - fp.write("10 dict begin\n") - fp.write(f"/buf {im.size[0] * operator[1]} string def\n") - fp.write("%d %d scale\n" % im.size) - fp.write("%d %d 8\n" % im.size) # <= bits - fp.write(f"[{im.size[0]} 0 0 -{im.size[1]} 0 {im.size[1]}]\n") - fp.write("{ currentfile buf readhexstring pop } bind\n") - fp.write(operator[2] + "\n") - if hasattr(fp, "flush"): - fp.flush() - - ImageFile._save(im, base_fp, [("eps", (0, 0) + im.size, 0, None)]) - - fp.write("\n%%%%EndBinary\n") - fp.write("grestore end\n") - if hasattr(fp, "flush"): - fp.flush() - finally: - if wrapped_fp: - fp.detach() - - -# -# -------------------------------------------------------------------- - - -Image.register_open(EpsImageFile.format, EpsImageFile, _accept) - -Image.register_save(EpsImageFile.format, _save) - -Image.register_extensions(EpsImageFile.format, [".ps", ".eps"]) - -Image.register_mime(EpsImageFile.format, "application/postscript") diff --git a/venv/lib/python3.8/site-packages/PIL/ExifTags.py b/venv/lib/python3.8/site-packages/PIL/ExifTags.py deleted file mode 100644 index f1c037e5..00000000 --- a/venv/lib/python3.8/site-packages/PIL/ExifTags.py +++ /dev/null @@ -1,318 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# EXIF tags -# -# Copyright (c) 2003 by Secret Labs AB -# -# See the README file for information on usage and redistribution. -# - -""" -This module provides constants and clear-text names for various -well-known EXIF tags. -""" - - -TAGS = { - # possibly incomplete - 0x000B: "ProcessingSoftware", - 0x00FE: "NewSubfileType", - 0x00FF: "SubfileType", - 0x0100: "ImageWidth", - 0x0101: "ImageLength", - 0x0102: "BitsPerSample", - 0x0103: "Compression", - 0x0106: "PhotometricInterpretation", - 0x0107: "Thresholding", - 0x0108: "CellWidth", - 0x0109: "CellLength", - 0x010A: "FillOrder", - 0x010D: "DocumentName", - 0x010E: "ImageDescription", - 0x010F: "Make", - 0x0110: "Model", - 0x0111: "StripOffsets", - 0x0112: "Orientation", - 0x0115: "SamplesPerPixel", - 0x0116: "RowsPerStrip", - 0x0117: "StripByteCounts", - 0x0118: "MinSampleValue", - 0x0119: "MaxSampleValue", - 0x011A: "XResolution", - 0x011B: "YResolution", - 0x011C: "PlanarConfiguration", - 0x011D: "PageName", - 0x0120: "FreeOffsets", - 0x0121: "FreeByteCounts", - 0x0122: "GrayResponseUnit", - 0x0123: "GrayResponseCurve", - 0x0124: "T4Options", - 0x0125: "T6Options", - 0x0128: "ResolutionUnit", - 0x0129: "PageNumber", - 0x012D: "TransferFunction", - 0x0131: "Software", - 0x0132: "DateTime", - 0x013B: "Artist", - 0x013C: "HostComputer", - 0x013D: "Predictor", - 0x013E: "WhitePoint", - 0x013F: "PrimaryChromaticities", - 0x0140: "ColorMap", - 0x0141: "HalftoneHints", - 0x0142: "TileWidth", - 0x0143: "TileLength", - 0x0144: "TileOffsets", - 0x0145: "TileByteCounts", - 0x014A: "SubIFDs", - 0x014C: "InkSet", - 0x014D: "InkNames", - 0x014E: "NumberOfInks", - 0x0150: "DotRange", - 0x0151: "TargetPrinter", - 0x0152: "ExtraSamples", - 0x0153: "SampleFormat", - 0x0154: "SMinSampleValue", - 0x0155: "SMaxSampleValue", - 0x0156: "TransferRange", - 0x0157: "ClipPath", - 0x0158: "XClipPathUnits", - 0x0159: "YClipPathUnits", - 0x015A: "Indexed", - 0x015B: "JPEGTables", - 0x015F: "OPIProxy", - 0x0200: "JPEGProc", - 0x0201: "JpegIFOffset", - 0x0202: "JpegIFByteCount", - 0x0203: "JpegRestartInterval", - 0x0205: "JpegLosslessPredictors", - 0x0206: "JpegPointTransforms", - 0x0207: "JpegQTables", - 0x0208: "JpegDCTables", - 0x0209: "JpegACTables", - 0x0211: "YCbCrCoefficients", - 0x0212: "YCbCrSubSampling", - 0x0213: "YCbCrPositioning", - 0x0214: "ReferenceBlackWhite", - 0x02BC: "XMLPacket", - 0x1000: "RelatedImageFileFormat", - 0x1001: "RelatedImageWidth", - 0x1002: "RelatedImageLength", - 0x4746: "Rating", - 0x4749: "RatingPercent", - 0x800D: "ImageID", - 0x828D: "CFARepeatPatternDim", - 0x828E: "CFAPattern", - 0x828F: "BatteryLevel", - 0x8298: "Copyright", - 0x829A: "ExposureTime", - 0x829D: "FNumber", - 0x83BB: "IPTCNAA", - 0x8649: "ImageResources", - 0x8769: "ExifOffset", - 0x8773: "InterColorProfile", - 0x8822: "ExposureProgram", - 0x8824: "SpectralSensitivity", - 0x8825: "GPSInfo", - 0x8827: "ISOSpeedRatings", - 0x8828: "OECF", - 0x8829: "Interlace", - 0x882A: "TimeZoneOffset", - 0x882B: "SelfTimerMode", - 0x9000: "ExifVersion", - 0x9003: "DateTimeOriginal", - 0x9004: "DateTimeDigitized", - 0x9101: "ComponentsConfiguration", - 0x9102: "CompressedBitsPerPixel", - 0x9201: "ShutterSpeedValue", - 0x9202: "ApertureValue", - 0x9203: "BrightnessValue", - 0x9204: "ExposureBiasValue", - 0x9205: "MaxApertureValue", - 0x9206: "SubjectDistance", - 0x9207: "MeteringMode", - 0x9208: "LightSource", - 0x9209: "Flash", - 0x920A: "FocalLength", - 0x920B: "FlashEnergy", - 0x920C: "SpatialFrequencyResponse", - 0x920D: "Noise", - 0x9211: "ImageNumber", - 0x9212: "SecurityClassification", - 0x9213: "ImageHistory", - 0x9214: "SubjectLocation", - 0x9215: "ExposureIndex", - 0x9216: "TIFF/EPStandardID", - 0x927C: "MakerNote", - 0x9286: "UserComment", - 0x9290: "SubsecTime", - 0x9291: "SubsecTimeOriginal", - 0x9292: "SubsecTimeDigitized", - 0x9400: "AmbientTemperature", - 0x9401: "Humidity", - 0x9402: "Pressure", - 0x9403: "WaterDepth", - 0x9404: "Acceleration", - 0x9405: "CameraElevationAngle", - 0x9C9B: "XPTitle", - 0x9C9C: "XPComment", - 0x9C9D: "XPAuthor", - 0x9C9E: "XPKeywords", - 0x9C9F: "XPSubject", - 0xA000: "FlashPixVersion", - 0xA001: "ColorSpace", - 0xA002: "ExifImageWidth", - 0xA003: "ExifImageHeight", - 0xA004: "RelatedSoundFile", - 0xA005: "ExifInteroperabilityOffset", - 0xA20B: "FlashEnergy", - 0xA20C: "SpatialFrequencyResponse", - 0xA20E: "FocalPlaneXResolution", - 0xA20F: "FocalPlaneYResolution", - 0xA210: "FocalPlaneResolutionUnit", - 0xA214: "SubjectLocation", - 0xA215: "ExposureIndex", - 0xA217: "SensingMethod", - 0xA300: "FileSource", - 0xA301: "SceneType", - 0xA302: "CFAPattern", - 0xA401: "CustomRendered", - 0xA402: "ExposureMode", - 0xA403: "WhiteBalance", - 0xA404: "DigitalZoomRatio", - 0xA405: "FocalLengthIn35mmFilm", - 0xA406: "SceneCaptureType", - 0xA407: "GainControl", - 0xA408: "Contrast", - 0xA409: "Saturation", - 0xA40A: "Sharpness", - 0xA40B: "DeviceSettingDescription", - 0xA40C: "SubjectDistanceRange", - 0xA420: "ImageUniqueID", - 0xA430: "CameraOwnerName", - 0xA431: "BodySerialNumber", - 0xA432: "LensSpecification", - 0xA433: "LensMake", - 0xA434: "LensModel", - 0xA435: "LensSerialNumber", - 0xA500: "Gamma", - 0xC4A5: "PrintImageMatching", - 0xC612: "DNGVersion", - 0xC613: "DNGBackwardVersion", - 0xC614: "UniqueCameraModel", - 0xC615: "LocalizedCameraModel", - 0xC616: "CFAPlaneColor", - 0xC617: "CFALayout", - 0xC618: "LinearizationTable", - 0xC619: "BlackLevelRepeatDim", - 0xC61A: "BlackLevel", - 0xC61B: "BlackLevelDeltaH", - 0xC61C: "BlackLevelDeltaV", - 0xC61D: "WhiteLevel", - 0xC61E: "DefaultScale", - 0xC61F: "DefaultCropOrigin", - 0xC620: "DefaultCropSize", - 0xC621: "ColorMatrix1", - 0xC622: "ColorMatrix2", - 0xC623: "CameraCalibration1", - 0xC624: "CameraCalibration2", - 0xC625: "ReductionMatrix1", - 0xC626: "ReductionMatrix2", - 0xC627: "AnalogBalance", - 0xC628: "AsShotNeutral", - 0xC629: "AsShotWhiteXY", - 0xC62A: "BaselineExposure", - 0xC62B: "BaselineNoise", - 0xC62C: "BaselineSharpness", - 0xC62D: "BayerGreenSplit", - 0xC62E: "LinearResponseLimit", - 0xC62F: "CameraSerialNumber", - 0xC630: "LensInfo", - 0xC631: "ChromaBlurRadius", - 0xC632: "AntiAliasStrength", - 0xC633: "ShadowScale", - 0xC634: "DNGPrivateData", - 0xC635: "MakerNoteSafety", - 0xC65A: "CalibrationIlluminant1", - 0xC65B: "CalibrationIlluminant2", - 0xC65C: "BestQualityScale", - 0xC65D: "RawDataUniqueID", - 0xC68B: "OriginalRawFileName", - 0xC68C: "OriginalRawFileData", - 0xC68D: "ActiveArea", - 0xC68E: "MaskedAreas", - 0xC68F: "AsShotICCProfile", - 0xC690: "AsShotPreProfileMatrix", - 0xC691: "CurrentICCProfile", - 0xC692: "CurrentPreProfileMatrix", - 0xC6BF: "ColorimetricReference", - 0xC6F3: "CameraCalibrationSignature", - 0xC6F4: "ProfileCalibrationSignature", - 0xC6F6: "AsShotProfileName", - 0xC6F7: "NoiseReductionApplied", - 0xC6F8: "ProfileName", - 0xC6F9: "ProfileHueSatMapDims", - 0xC6FA: "ProfileHueSatMapData1", - 0xC6FB: "ProfileHueSatMapData2", - 0xC6FC: "ProfileToneCurve", - 0xC6FD: "ProfileEmbedPolicy", - 0xC6FE: "ProfileCopyright", - 0xC714: "ForwardMatrix1", - 0xC715: "ForwardMatrix2", - 0xC716: "PreviewApplicationName", - 0xC717: "PreviewApplicationVersion", - 0xC718: "PreviewSettingsName", - 0xC719: "PreviewSettingsDigest", - 0xC71A: "PreviewColorSpace", - 0xC71B: "PreviewDateTime", - 0xC71C: "RawImageDigest", - 0xC71D: "OriginalRawFileDigest", - 0xC71E: "SubTileBlockSize", - 0xC71F: "RowInterleaveFactor", - 0xC725: "ProfileLookTableDims", - 0xC726: "ProfileLookTableData", - 0xC740: "OpcodeList1", - 0xC741: "OpcodeList2", - 0xC74E: "OpcodeList3", - 0xC761: "NoiseProfile", -} -"""Maps EXIF tags to tag names.""" - - -GPSTAGS = { - 0: "GPSVersionID", - 1: "GPSLatitudeRef", - 2: "GPSLatitude", - 3: "GPSLongitudeRef", - 4: "GPSLongitude", - 5: "GPSAltitudeRef", - 6: "GPSAltitude", - 7: "GPSTimeStamp", - 8: "GPSSatellites", - 9: "GPSStatus", - 10: "GPSMeasureMode", - 11: "GPSDOP", - 12: "GPSSpeedRef", - 13: "GPSSpeed", - 14: "GPSTrackRef", - 15: "GPSTrack", - 16: "GPSImgDirectionRef", - 17: "GPSImgDirection", - 18: "GPSMapDatum", - 19: "GPSDestLatitudeRef", - 20: "GPSDestLatitude", - 21: "GPSDestLongitudeRef", - 22: "GPSDestLongitude", - 23: "GPSDestBearingRef", - 24: "GPSDestBearing", - 25: "GPSDestDistanceRef", - 26: "GPSDestDistance", - 27: "GPSProcessingMethod", - 28: "GPSAreaInformation", - 29: "GPSDateStamp", - 30: "GPSDifferential", - 31: "GPSHPositioningError", -} -"""Maps EXIF GPS tags to tag names.""" diff --git a/venv/lib/python3.8/site-packages/PIL/FitsStubImagePlugin.py b/venv/lib/python3.8/site-packages/PIL/FitsStubImagePlugin.py deleted file mode 100644 index c2ce8651..00000000 --- a/venv/lib/python3.8/site-packages/PIL/FitsStubImagePlugin.py +++ /dev/null @@ -1,76 +0,0 @@ -# -# The Python Imaging Library -# $Id$ -# -# FITS stub adapter -# -# Copyright (c) 1998-2003 by Fredrik Lundh -# -# See the README file for information on usage and redistribution. -# - -from . import Image, ImageFile - -_handler = None - - -def register_handler(handler): - """ - Install application-specific FITS image handler. - - :param handler: Handler object. - """ - global _handler - _handler = handler - - -# -------------------------------------------------------------------- -# Image adapter - - -def _accept(prefix): - return prefix[:6] == b"SIMPLE" - - -class FITSStubImageFile(ImageFile.StubImageFile): - - format = "FITS" - format_description = "FITS" - - def _open(self): - - offset = self.fp.tell() - - if not _accept(self.fp.read(6)): - raise SyntaxError("Not a FITS file") - - # FIXME: add more sanity checks here; mandatory header items - # include SIMPLE, BITPIX, NAXIS, etc. - - self.fp.seek(offset) - - # make something up - self.mode = "F" - self._size = 1, 1 - - loader = self._load() - if loader: - loader.open(self) - - def _load(self): - return _handler - - -def _save(im, fp, filename): - if _handler is None or not hasattr("_handler", "save"): - raise OSError("FITS save handler not installed") - _handler.save(im, fp, filename) - - -# -------------------------------------------------------------------- -# Registry - -Image.register_open(FITSStubImageFile.format, FITSStubImageFile, _accept) -Image.register_save(FITSStubImageFile.format, _save) - -Image.register_extensions(FITSStubImageFile.format, [".fit", ".fits"]) diff --git a/venv/lib/python3.8/site-packages/PIL/FliImagePlugin.py b/venv/lib/python3.8/site-packages/PIL/FliImagePlugin.py deleted file mode 100644 index f2d4857f..00000000 --- a/venv/lib/python3.8/site-packages/PIL/FliImagePlugin.py +++ /dev/null @@ -1,171 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# FLI/FLC file handling. -# -# History: -# 95-09-01 fl Created -# 97-01-03 fl Fixed parser, setup decoder tile -# 98-07-15 fl Renamed offset attribute to avoid name clash -# -# Copyright (c) Secret Labs AB 1997-98. -# Copyright (c) Fredrik Lundh 1995-97. -# -# See the README file for information on usage and redistribution. -# - - -from . import Image, ImageFile, ImagePalette -from ._binary import i16le as i16 -from ._binary import i32le as i32 -from ._binary import o8 - -# -# decoder - - -def _accept(prefix): - return len(prefix) >= 6 and i16(prefix, 4) in [0xAF11, 0xAF12] - - -## -# Image plugin for the FLI/FLC animation format. Use the seek -# method to load individual frames. - - -class FliImageFile(ImageFile.ImageFile): - - format = "FLI" - format_description = "Autodesk FLI/FLC Animation" - _close_exclusive_fp_after_loading = False - - def _open(self): - - # HEAD - s = self.fp.read(128) - if not ( - _accept(s) - and i16(s, 14) in [0, 3] # flags - and s[20:22] == b"\x00\x00" # reserved - ): - raise SyntaxError("not an FLI/FLC file") - - # frames - self.n_frames = i16(s, 6) - self.is_animated = self.n_frames > 1 - - # image characteristics - self.mode = "P" - self._size = i16(s, 8), i16(s, 10) - - # animation speed - duration = i32(s, 16) - magic = i16(s, 4) - if magic == 0xAF11: - duration = (duration * 1000) // 70 - self.info["duration"] = duration - - # look for palette - palette = [(a, a, a) for a in range(256)] - - s = self.fp.read(16) - - self.__offset = 128 - - if i16(s, 4) == 0xF100: - # prefix chunk; ignore it - self.__offset = self.__offset + i32(s) - s = self.fp.read(16) - - if i16(s, 4) == 0xF1FA: - # look for palette chunk - s = self.fp.read(6) - if i16(s, 4) == 11: - self._palette(palette, 2) - elif i16(s, 4) == 4: - self._palette(palette, 0) - - palette = [o8(r) + o8(g) + o8(b) for (r, g, b) in palette] - self.palette = ImagePalette.raw("RGB", b"".join(palette)) - - # set things up to decode first frame - self.__frame = -1 - self.__fp = self.fp - self.__rewind = self.fp.tell() - self.seek(0) - - def _palette(self, palette, shift): - # load palette - - i = 0 - for e in range(i16(self.fp.read(2))): - s = self.fp.read(2) - i = i + s[0] - n = s[1] - if n == 0: - n = 256 - s = self.fp.read(n * 3) - for n in range(0, len(s), 3): - r = s[n] << shift - g = s[n + 1] << shift - b = s[n + 2] << shift - palette[i] = (r, g, b) - i += 1 - - def seek(self, frame): - if not self._seek_check(frame): - return - if frame < self.__frame: - self._seek(0) - - for f in range(self.__frame + 1, frame + 1): - self._seek(f) - - def _seek(self, frame): - if frame == 0: - self.__frame = -1 - self.__fp.seek(self.__rewind) - self.__offset = 128 - else: - # ensure that the previous frame was loaded - self.load() - - if frame != self.__frame + 1: - raise ValueError(f"cannot seek to frame {frame}") - self.__frame = frame - - # move to next frame - self.fp = self.__fp - self.fp.seek(self.__offset) - - s = self.fp.read(4) - if not s: - raise EOFError - - framesize = i32(s) - - self.decodermaxblock = framesize - self.tile = [("fli", (0, 0) + self.size, self.__offset, None)] - - self.__offset += framesize - - def tell(self): - return self.__frame - - def _close__fp(self): - try: - if self.__fp != self.fp: - self.__fp.close() - except AttributeError: - pass - finally: - self.__fp = None - - -# -# registry - -Image.register_open(FliImageFile.format, FliImageFile, _accept) - -Image.register_extensions(FliImageFile.format, [".fli", ".flc"]) diff --git a/venv/lib/python3.8/site-packages/PIL/FontFile.py b/venv/lib/python3.8/site-packages/PIL/FontFile.py deleted file mode 100644 index c5fc80b3..00000000 --- a/venv/lib/python3.8/site-packages/PIL/FontFile.py +++ /dev/null @@ -1,111 +0,0 @@ -# -# The Python Imaging Library -# $Id$ -# -# base class for raster font file parsers -# -# history: -# 1997-06-05 fl created -# 1997-08-19 fl restrict image width -# -# Copyright (c) 1997-1998 by Secret Labs AB -# Copyright (c) 1997-1998 by Fredrik Lundh -# -# See the README file for information on usage and redistribution. -# - - -import os - -from . import Image, _binary - -WIDTH = 800 - - -def puti16(fp, values): - """Write network order (big-endian) 16-bit sequence""" - for v in values: - if v < 0: - v += 65536 - fp.write(_binary.o16be(v)) - - -class FontFile: - """Base class for raster font file handlers.""" - - bitmap = None - - def __init__(self): - - self.info = {} - self.glyph = [None] * 256 - - def __getitem__(self, ix): - return self.glyph[ix] - - def compile(self): - """Create metrics and bitmap""" - - if self.bitmap: - return - - # create bitmap large enough to hold all data - h = w = maxwidth = 0 - lines = 1 - for glyph in self: - if glyph: - d, dst, src, im = glyph - h = max(h, src[3] - src[1]) - w = w + (src[2] - src[0]) - if w > WIDTH: - lines += 1 - w = src[2] - src[0] - maxwidth = max(maxwidth, w) - - xsize = maxwidth - ysize = lines * h - - if xsize == 0 and ysize == 0: - return "" - - self.ysize = h - - # paste glyphs into bitmap - self.bitmap = Image.new("1", (xsize, ysize)) - self.metrics = [None] * 256 - x = y = 0 - for i in range(256): - glyph = self[i] - if glyph: - d, dst, src, im = glyph - xx = src[2] - src[0] - # yy = src[3] - src[1] - x0, y0 = x, y - x = x + xx - if x > WIDTH: - x, y = 0, y + h - x0, y0 = x, y - x = xx - s = src[0] + x0, src[1] + y0, src[2] + x0, src[3] + y0 - self.bitmap.paste(im.crop(src), s) - self.metrics[i] = d, dst, s - - def save(self, filename): - """Save font""" - - self.compile() - - # font data - self.bitmap.save(os.path.splitext(filename)[0] + ".pbm", "PNG") - - # font metrics - with open(os.path.splitext(filename)[0] + ".pil", "wb") as fp: - fp.write(b"PILfont\n") - fp.write(f";;;;;;{self.ysize};\n".encode("ascii")) # HACK!!! - fp.write(b"DATA\n") - for id in range(256): - m = self.metrics[id] - if not m: - puti16(fp, [0] * 10) - else: - puti16(fp, m[0] + m[1] + m[2]) diff --git a/venv/lib/python3.8/site-packages/PIL/FpxImagePlugin.py b/venv/lib/python3.8/site-packages/PIL/FpxImagePlugin.py deleted file mode 100644 index 5e385469..00000000 --- a/venv/lib/python3.8/site-packages/PIL/FpxImagePlugin.py +++ /dev/null @@ -1,242 +0,0 @@ -# -# THIS IS WORK IN PROGRESS -# -# The Python Imaging Library. -# $Id$ -# -# FlashPix support for PIL -# -# History: -# 97-01-25 fl Created (reads uncompressed RGB images only) -# -# Copyright (c) Secret Labs AB 1997. -# Copyright (c) Fredrik Lundh 1997. -# -# See the README file for information on usage and redistribution. -# -import olefile - -from . import Image, ImageFile -from ._binary import i32le as i32 - -# we map from colour field tuples to (mode, rawmode) descriptors -MODES = { - # opacity - (0x00007FFE): ("A", "L"), - # monochrome - (0x00010000,): ("L", "L"), - (0x00018000, 0x00017FFE): ("RGBA", "LA"), - # photo YCC - (0x00020000, 0x00020001, 0x00020002): ("RGB", "YCC;P"), - (0x00028000, 0x00028001, 0x00028002, 0x00027FFE): ("RGBA", "YCCA;P"), - # standard RGB (NIFRGB) - (0x00030000, 0x00030001, 0x00030002): ("RGB", "RGB"), - (0x00038000, 0x00038001, 0x00038002, 0x00037FFE): ("RGBA", "RGBA"), -} - - -# -# -------------------------------------------------------------------- - - -def _accept(prefix): - return prefix[:8] == olefile.MAGIC - - -## -# Image plugin for the FlashPix images. - - -class FpxImageFile(ImageFile.ImageFile): - - format = "FPX" - format_description = "FlashPix" - - def _open(self): - # - # read the OLE directory and see if this is a likely - # to be a FlashPix file - - try: - self.ole = olefile.OleFileIO(self.fp) - except OSError as e: - raise SyntaxError("not an FPX file; invalid OLE file") from e - - if self.ole.root.clsid != "56616700-C154-11CE-8553-00AA00A1F95B": - raise SyntaxError("not an FPX file; bad root CLSID") - - self._open_index(1) - - def _open_index(self, index=1): - # - # get the Image Contents Property Set - - prop = self.ole.getproperties( - [f"Data Object Store {index:06d}", "\005Image Contents"] - ) - - # size (highest resolution) - - self._size = prop[0x1000002], prop[0x1000003] - - size = max(self.size) - i = 1 - while size > 64: - size = size / 2 - i += 1 - self.maxid = i - 1 - - # mode. instead of using a single field for this, flashpix - # requires you to specify the mode for each channel in each - # resolution subimage, and leaves it to the decoder to make - # sure that they all match. for now, we'll cheat and assume - # that this is always the case. - - id = self.maxid << 16 - - s = prop[0x2000002 | id] - - colors = [] - bands = i32(s, 4) - if bands > 4: - raise OSError("Invalid number of bands") - for i in range(bands): - # note: for now, we ignore the "uncalibrated" flag - colors.append(i32(s, 8 + i * 4) & 0x7FFFFFFF) - - self.mode, self.rawmode = MODES[tuple(colors)] - - # load JPEG tables, if any - self.jpeg = {} - for i in range(256): - id = 0x3000001 | (i << 16) - if id in prop: - self.jpeg[i] = prop[id] - - self._open_subimage(1, self.maxid) - - def _open_subimage(self, index=1, subimage=0): - # - # setup tile descriptors for a given subimage - - stream = [ - f"Data Object Store {index:06d}", - f"Resolution {subimage:04d}", - "Subimage 0000 Header", - ] - - fp = self.ole.openstream(stream) - - # skip prefix - fp.read(28) - - # header stream - s = fp.read(36) - - size = i32(s, 4), i32(s, 8) - # tilecount = i32(s, 12) - tilesize = i32(s, 16), i32(s, 20) - # channels = i32(s, 24) - offset = i32(s, 28) - length = i32(s, 32) - - if size != self.size: - raise OSError("subimage mismatch") - - # get tile descriptors - fp.seek(28 + offset) - s = fp.read(i32(s, 12) * length) - - x = y = 0 - xsize, ysize = size - xtile, ytile = tilesize - self.tile = [] - - for i in range(0, len(s), length): - - compression = i32(s, i + 8) - - if compression == 0: - self.tile.append( - ( - "raw", - (x, y, x + xtile, y + ytile), - i32(s, i) + 28, - (self.rawmode), - ) - ) - - elif compression == 1: - - # FIXME: the fill decoder is not implemented - self.tile.append( - ( - "fill", - (x, y, x + xtile, y + ytile), - i32(s, i) + 28, - (self.rawmode, s[12:16]), - ) - ) - - elif compression == 2: - - internal_color_conversion = s[14] - jpeg_tables = s[15] - rawmode = self.rawmode - - if internal_color_conversion: - # The image is stored as usual (usually YCbCr). - if rawmode == "RGBA": - # For "RGBA", data is stored as YCbCrA based on - # negative RGB. The following trick works around - # this problem : - jpegmode, rawmode = "YCbCrK", "CMYK" - else: - jpegmode = None # let the decoder decide - - else: - # The image is stored as defined by rawmode - jpegmode = rawmode - - self.tile.append( - ( - "jpeg", - (x, y, x + xtile, y + ytile), - i32(s, i) + 28, - (rawmode, jpegmode), - ) - ) - - # FIXME: jpeg tables are tile dependent; the prefix - # data must be placed in the tile descriptor itself! - - if jpeg_tables: - self.tile_prefix = self.jpeg[jpeg_tables] - - else: - raise OSError("unknown/invalid compression") - - x = x + xtile - if x >= xsize: - x, y = 0, y + ytile - if y >= ysize: - break # isn't really required - - self.stream = stream - self.fp = None - - def load(self): - - if not self.fp: - self.fp = self.ole.openstream(self.stream[:2] + ["Subimage 0000 Data"]) - - return ImageFile.ImageFile.load(self) - - -# -# -------------------------------------------------------------------- - - -Image.register_open(FpxImageFile.format, FpxImageFile, _accept) - -Image.register_extension(FpxImageFile.format, ".fpx") diff --git a/venv/lib/python3.8/site-packages/PIL/FtexImagePlugin.py b/venv/lib/python3.8/site-packages/PIL/FtexImagePlugin.py deleted file mode 100644 index 90066123..00000000 --- a/venv/lib/python3.8/site-packages/PIL/FtexImagePlugin.py +++ /dev/null @@ -1,106 +0,0 @@ -""" -A Pillow loader for .ftc and .ftu files (FTEX) -Jerome Leclanche - -The contents of this file are hereby released in the public domain (CC0) -Full text of the CC0 license: - https://creativecommons.org/publicdomain/zero/1.0/ - -Independence War 2: Edge Of Chaos - Texture File Format - 16 October 2001 - -The textures used for 3D objects in Independence War 2: Edge Of Chaos are in a -packed custom format called FTEX. This file format uses file extensions FTC -and FTU. -* FTC files are compressed textures (using standard texture compression). -* FTU files are not compressed. -Texture File Format -The FTC and FTU texture files both use the same format. This -has the following structure: -{header} -{format_directory} -{data} -Where: -{header} = { - u32:magic, - u32:version, - u32:width, - u32:height, - u32:mipmap_count, - u32:format_count -} - -* The "magic" number is "FTEX". -* "width" and "height" are the dimensions of the texture. -* "mipmap_count" is the number of mipmaps in the texture. -* "format_count" is the number of texture formats (different versions of the -same texture) in this file. - -{format_directory} = format_count * { u32:format, u32:where } - -The format value is 0 for DXT1 compressed textures and 1 for 24-bit RGB -uncompressed textures. -The texture data for a format starts at the position "where" in the file. - -Each set of texture data in the file has the following structure: -{data} = format_count * { u32:mipmap_size, mipmap_size * { u8 } } -* "mipmap_size" is the number of bytes in that mip level. For compressed -textures this is the size of the texture data compressed with DXT1. For 24 bit -uncompressed textures, this is 3 * width * height. Following this are the image -bytes for that mipmap level. - -Note: All data is stored in little-Endian (Intel) byte order. -""" - -import struct -from io import BytesIO - -from . import Image, ImageFile - -MAGIC = b"FTEX" -FORMAT_DXT1 = 0 -FORMAT_UNCOMPRESSED = 1 - - -class FtexImageFile(ImageFile.ImageFile): - format = "FTEX" - format_description = "Texture File Format (IW2:EOC)" - - def _open(self): - struct.unpack("= 8 and i32(prefix, 0) >= 20 and i32(prefix, 4) in (1, 2) - - -## -# Image plugin for the GIMP brush format. - - -class GbrImageFile(ImageFile.ImageFile): - - format = "GBR" - format_description = "GIMP brush file" - - def _open(self): - header_size = i32(self.fp.read(4)) - version = i32(self.fp.read(4)) - if header_size < 20: - raise SyntaxError("not a GIMP brush") - if version not in (1, 2): - raise SyntaxError(f"Unsupported GIMP brush version: {version}") - - width = i32(self.fp.read(4)) - height = i32(self.fp.read(4)) - color_depth = i32(self.fp.read(4)) - if width <= 0 or height <= 0: - raise SyntaxError("not a GIMP brush") - if color_depth not in (1, 4): - raise SyntaxError(f"Unsupported GIMP brush color depth: {color_depth}") - - if version == 1: - comment_length = header_size - 20 - else: - comment_length = header_size - 28 - magic_number = self.fp.read(4) - if magic_number != b"GIMP": - raise SyntaxError("not a GIMP brush, bad magic number") - self.info["spacing"] = i32(self.fp.read(4)) - - comment = self.fp.read(comment_length)[:-1] - - if color_depth == 1: - self.mode = "L" - else: - self.mode = "RGBA" - - self._size = width, height - - self.info["comment"] = comment - - # Image might not be small - Image._decompression_bomb_check(self.size) - - # Data is an uncompressed block of w * h * bytes/pixel - self._data_size = width * height * color_depth - - def load(self): - if self.im: - # Already loaded - return - - self.im = Image.core.new(self.mode, self.size) - self.frombytes(self.fp.read(self._data_size)) - - -# -# registry - - -Image.register_open(GbrImageFile.format, GbrImageFile, _accept) -Image.register_extension(GbrImageFile.format, ".gbr") diff --git a/venv/lib/python3.8/site-packages/PIL/GdImageFile.py b/venv/lib/python3.8/site-packages/PIL/GdImageFile.py deleted file mode 100644 index 9c34adaa..00000000 --- a/venv/lib/python3.8/site-packages/PIL/GdImageFile.py +++ /dev/null @@ -1,90 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# GD file handling -# -# History: -# 1996-04-12 fl Created -# -# Copyright (c) 1997 by Secret Labs AB. -# Copyright (c) 1996 by Fredrik Lundh. -# -# See the README file for information on usage and redistribution. -# - - -""" -.. note:: - This format cannot be automatically recognized, so the - class is not registered for use with :py:func:`PIL.Image.open()`. To open a - gd file, use the :py:func:`PIL.GdImageFile.open()` function instead. - -.. warning:: - THE GD FORMAT IS NOT DESIGNED FOR DATA INTERCHANGE. This - implementation is provided for convenience and demonstrational - purposes only. -""" - - -from . import ImageFile, ImagePalette, UnidentifiedImageError -from ._binary import i16be as i16 -from ._binary import i32be as i32 - - -class GdImageFile(ImageFile.ImageFile): - """ - Image plugin for the GD uncompressed format. Note that this format - is not supported by the standard :py:func:`PIL.Image.open()` function. To use - this plugin, you have to import the :py:mod:`PIL.GdImageFile` module and - use the :py:func:`PIL.GdImageFile.open()` function. - """ - - format = "GD" - format_description = "GD uncompressed images" - - def _open(self): - - # Header - s = self.fp.read(1037) - - if not i16(s) in [65534, 65535]: - raise SyntaxError("Not a valid GD 2.x .gd file") - - self.mode = "L" # FIXME: "P" - self._size = i16(s, 2), i16(s, 4) - - trueColor = s[6] - trueColorOffset = 2 if trueColor else 0 - - # transparency index - tindex = i32(s, 7 + trueColorOffset) - if tindex < 256: - self.info["transparency"] = tindex - - self.palette = ImagePalette.raw( - "XBGR", s[7 + trueColorOffset + 4 : 7 + trueColorOffset + 4 + 256 * 4] - ) - - self.tile = [ - ("raw", (0, 0) + self.size, 7 + trueColorOffset + 4 + 256 * 4, ("L", 0, 1)) - ] - - -def open(fp, mode="r"): - """ - Load texture from a GD image file. - - :param filename: GD file name, or an opened file handle. - :param mode: Optional mode. In this version, if the mode argument - is given, it must be "r". - :returns: An image instance. - :raises OSError: If the image could not be read. - """ - if mode != "r": - raise ValueError("bad mode") - - try: - return GdImageFile(fp) - except SyntaxError as e: - raise UnidentifiedImageError("cannot identify this image file") from e diff --git a/venv/lib/python3.8/site-packages/PIL/GifImagePlugin.py b/venv/lib/python3.8/site-packages/PIL/GifImagePlugin.py deleted file mode 100644 index 7c083bd8..00000000 --- a/venv/lib/python3.8/site-packages/PIL/GifImagePlugin.py +++ /dev/null @@ -1,888 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# GIF file handling -# -# History: -# 1995-09-01 fl Created -# 1996-12-14 fl Added interlace support -# 1996-12-30 fl Added animation support -# 1997-01-05 fl Added write support, fixed local colour map bug -# 1997-02-23 fl Make sure to load raster data in getdata() -# 1997-07-05 fl Support external decoder (0.4) -# 1998-07-09 fl Handle all modes when saving (0.5) -# 1998-07-15 fl Renamed offset attribute to avoid name clash -# 2001-04-16 fl Added rewind support (seek to frame 0) (0.6) -# 2001-04-17 fl Added palette optimization (0.7) -# 2002-06-06 fl Added transparency support for save (0.8) -# 2004-02-24 fl Disable interlacing for small images -# -# Copyright (c) 1997-2004 by Secret Labs AB -# Copyright (c) 1995-2004 by Fredrik Lundh -# -# See the README file for information on usage and redistribution. -# - -import itertools -import math -import os -import subprocess - -from . import Image, ImageChops, ImageFile, ImagePalette, ImageSequence -from ._binary import i16le as i16 -from ._binary import o8 -from ._binary import o16le as o16 - -# -------------------------------------------------------------------- -# Identify/read GIF files - - -def _accept(prefix): - return prefix[:6] in [b"GIF87a", b"GIF89a"] - - -## -# Image plugin for GIF images. This plugin supports both GIF87 and -# GIF89 images. - - -class GifImageFile(ImageFile.ImageFile): - - format = "GIF" - format_description = "Compuserve GIF" - _close_exclusive_fp_after_loading = False - - global_palette = None - - def data(self): - s = self.fp.read(1) - if s and s[0]: - return self.fp.read(s[0]) - return None - - def _open(self): - - # Screen - s = self.fp.read(13) - if not _accept(s): - raise SyntaxError("not a GIF file") - - self.info["version"] = s[:6] - self._size = i16(s, 6), i16(s, 8) - self.tile = [] - flags = s[10] - bits = (flags & 7) + 1 - - if flags & 128: - # get global palette - self.info["background"] = s[11] - # check if palette contains colour indices - p = self.fp.read(3 << bits) - for i in range(0, len(p), 3): - if not (i // 3 == p[i] == p[i + 1] == p[i + 2]): - p = ImagePalette.raw("RGB", p) - self.global_palette = self.palette = p - break - - self.__fp = self.fp # FIXME: hack - self.__rewind = self.fp.tell() - self._n_frames = None - self._is_animated = None - self._seek(0) # get ready to read first frame - - @property - def n_frames(self): - if self._n_frames is None: - current = self.tell() - try: - while True: - self.seek(self.tell() + 1) - except EOFError: - self._n_frames = self.tell() + 1 - self.seek(current) - return self._n_frames - - @property - def is_animated(self): - if self._is_animated is None: - if self._n_frames is not None: - self._is_animated = self._n_frames != 1 - else: - current = self.tell() - - try: - self.seek(1) - self._is_animated = True - except EOFError: - self._is_animated = False - - self.seek(current) - return self._is_animated - - def seek(self, frame): - if not self._seek_check(frame): - return - if frame < self.__frame: - if frame != 0: - self.im = None - self._seek(0) - - last_frame = self.__frame - for f in range(self.__frame + 1, frame + 1): - try: - self._seek(f) - except EOFError as e: - self.seek(last_frame) - raise EOFError("no more images in GIF file") from e - - def _seek(self, frame): - - if frame == 0: - # rewind - self.__offset = 0 - self.dispose = None - self.dispose_extent = [0, 0, 0, 0] # x0, y0, x1, y1 - self.__frame = -1 - self.__fp.seek(self.__rewind) - self._prev_im = None - self.disposal_method = 0 - else: - # ensure that the previous frame was loaded - if not self.im: - self.load() - - if frame != self.__frame + 1: - raise ValueError(f"cannot seek to frame {frame}") - self.__frame = frame - - self.tile = [] - - self.fp = self.__fp - if self.__offset: - # backup to last frame - self.fp.seek(self.__offset) - while self.data(): - pass - self.__offset = 0 - - if self.dispose: - self.im.paste(self.dispose, self.dispose_extent) - - from copy import copy - - self.palette = copy(self.global_palette) - - info = {} - while True: - - s = self.fp.read(1) - if not s or s == b";": - break - - elif s == b"!": - # - # extensions - # - s = self.fp.read(1) - block = self.data() - if s[0] == 249: - # - # graphic control extension - # - flags = block[0] - if flags & 1: - info["transparency"] = block[3] - info["duration"] = i16(block, 1) * 10 - - # disposal method - find the value of bits 4 - 6 - dispose_bits = 0b00011100 & flags - dispose_bits = dispose_bits >> 2 - if dispose_bits: - # only set the dispose if it is not - # unspecified. I'm not sure if this is - # correct, but it seems to prevent the last - # frame from looking odd for some animations - self.disposal_method = dispose_bits - elif s[0] == 254: - # - # comment extension - # - while block: - if "comment" in info: - info["comment"] += block - else: - info["comment"] = block - block = self.data() - continue - elif s[0] == 255: - # - # application extension - # - info["extension"] = block, self.fp.tell() - if block[:11] == b"NETSCAPE2.0": - block = self.data() - if len(block) >= 3 and block[0] == 1: - info["loop"] = i16(block, 1) - while self.data(): - pass - - elif s == b",": - # - # local image - # - s = self.fp.read(9) - - # extent - x0, y0 = i16(s, 0), i16(s, 2) - x1, y1 = x0 + i16(s, 4), y0 + i16(s, 6) - if x1 > self.size[0] or y1 > self.size[1]: - self._size = max(x1, self.size[0]), max(y1, self.size[1]) - self.dispose_extent = x0, y0, x1, y1 - flags = s[8] - - interlace = (flags & 64) != 0 - - if flags & 128: - bits = (flags & 7) + 1 - self.palette = ImagePalette.raw("RGB", self.fp.read(3 << bits)) - - # image data - bits = self.fp.read(1)[0] - self.__offset = self.fp.tell() - self.tile = [ - ("gif", (x0, y0, x1, y1), self.__offset, (bits, interlace)) - ] - break - - else: - pass - # raise OSError, "illegal GIF tag `%x`" % s[0] - - try: - if self.disposal_method < 2: - # do not dispose or none specified - self.dispose = None - elif self.disposal_method == 2: - # replace with background colour - Image._decompression_bomb_check(self.size) - self.dispose = Image.core.fill("P", self.size, self.info["background"]) - else: - # replace with previous contents - if self.im: - self.dispose = self.im.copy() - - # only dispose the extent in this frame - if self.dispose: - self.dispose = self._crop(self.dispose, self.dispose_extent) - except (AttributeError, KeyError): - pass - - if not self.tile: - # self.__fp = None - raise EOFError - - for k in ["transparency", "duration", "comment", "extension", "loop"]: - if k in info: - self.info[k] = info[k] - elif k in self.info: - del self.info[k] - - self.mode = "L" - if self.palette: - self.mode = "P" - - def tell(self): - return self.__frame - - def load_end(self): - ImageFile.ImageFile.load_end(self) - - # if the disposal method is 'do not dispose', transparent - # pixels should show the content of the previous frame - if self._prev_im and self._prev_disposal_method == 1: - # we do this by pasting the updated area onto the previous - # frame which we then use as the current image content - updated = self._crop(self.im, self.dispose_extent) - self._prev_im.paste(updated, self.dispose_extent, updated.convert("RGBA")) - self.im = self._prev_im - self._prev_im = self.im.copy() - self._prev_disposal_method = self.disposal_method - - def _close__fp(self): - try: - if self.__fp != self.fp: - self.__fp.close() - except AttributeError: - pass - finally: - self.__fp = None - - -# -------------------------------------------------------------------- -# Write GIF files - - -RAWMODE = {"1": "L", "L": "L", "P": "P"} - - -def _normalize_mode(im, initial_call=False): - """ - Takes an image (or frame), returns an image in a mode that is appropriate - for saving in a Gif. - - It may return the original image, or it may return an image converted to - palette or 'L' mode. - - UNDONE: What is the point of mucking with the initial call palette, for - an image that shouldn't have a palette, or it would be a mode 'P' and - get returned in the RAWMODE clause. - - :param im: Image object - :param initial_call: Default false, set to true for a single frame. - :returns: Image object - """ - if im.mode in RAWMODE: - im.load() - return im - if Image.getmodebase(im.mode) == "RGB": - if initial_call: - palette_size = 256 - if im.palette: - palette_size = len(im.palette.getdata()[1]) // 3 - return im.convert("P", palette=Image.ADAPTIVE, colors=palette_size) - else: - return im.convert("P") - return im.convert("L") - - -def _normalize_palette(im, palette, info): - """ - Normalizes the palette for image. - - Sets the palette to the incoming palette, if provided. - - Ensures that there's a palette for L mode images - - Optimizes the palette if necessary/desired. - - :param im: Image object - :param palette: bytes object containing the source palette, or .... - :param info: encoderinfo - :returns: Image object - """ - source_palette = None - if palette: - # a bytes palette - if isinstance(palette, (bytes, bytearray, list)): - source_palette = bytearray(palette[:768]) - if isinstance(palette, ImagePalette.ImagePalette): - source_palette = bytearray( - itertools.chain.from_iterable( - zip( - palette.palette[:256], - palette.palette[256:512], - palette.palette[512:768], - ) - ) - ) - - if im.mode == "P": - if not source_palette: - source_palette = im.im.getpalette("RGB")[:768] - else: # L-mode - if not source_palette: - source_palette = bytearray(i // 3 for i in range(768)) - im.palette = ImagePalette.ImagePalette("RGB", palette=source_palette) - - used_palette_colors = _get_optimize(im, info) - if used_palette_colors is not None: - return im.remap_palette(used_palette_colors, source_palette) - - im.palette.palette = source_palette - return im - - -def _write_single_frame(im, fp, palette): - im_out = _normalize_mode(im, True) - for k, v in im_out.info.items(): - im.encoderinfo.setdefault(k, v) - im_out = _normalize_palette(im_out, palette, im.encoderinfo) - - for s in _get_global_header(im_out, im.encoderinfo): - fp.write(s) - - # local image header - flags = 0 - if get_interlace(im): - flags = flags | 64 - _write_local_header(fp, im, (0, 0), flags) - - im_out.encoderconfig = (8, get_interlace(im)) - ImageFile._save(im_out, fp, [("gif", (0, 0) + im.size, 0, RAWMODE[im_out.mode])]) - - fp.write(b"\0") # end of image data - - -def _write_multiple_frames(im, fp, palette): - - duration = im.encoderinfo.get("duration", im.info.get("duration")) - disposal = im.encoderinfo.get("disposal", im.info.get("disposal")) - - im_frames = [] - frame_count = 0 - background_im = None - for imSequence in itertools.chain([im], im.encoderinfo.get("append_images", [])): - for im_frame in ImageSequence.Iterator(imSequence): - # a copy is required here since seek can still mutate the image - im_frame = _normalize_mode(im_frame.copy()) - if frame_count == 0: - for k, v in im_frame.info.items(): - im.encoderinfo.setdefault(k, v) - im_frame = _normalize_palette(im_frame, palette, im.encoderinfo) - - encoderinfo = im.encoderinfo.copy() - if isinstance(duration, (list, tuple)): - encoderinfo["duration"] = duration[frame_count] - if isinstance(disposal, (list, tuple)): - encoderinfo["disposal"] = disposal[frame_count] - frame_count += 1 - - if im_frames: - # delta frame - previous = im_frames[-1] - if encoderinfo.get("disposal") == 2: - if background_im is None: - background = _get_background( - im, - im.encoderinfo.get("background", im.info.get("background")), - ) - background_im = Image.new("P", im_frame.size, background) - background_im.putpalette(im_frames[0]["im"].palette) - base_im = background_im - else: - base_im = previous["im"] - if _get_palette_bytes(im_frame) == _get_palette_bytes(base_im): - delta = ImageChops.subtract_modulo(im_frame, base_im) - else: - delta = ImageChops.subtract_modulo( - im_frame.convert("RGB"), base_im.convert("RGB") - ) - bbox = delta.getbbox() - if not bbox: - # This frame is identical to the previous frame - if duration: - previous["encoderinfo"]["duration"] += encoderinfo["duration"] - continue - else: - bbox = None - im_frames.append({"im": im_frame, "bbox": bbox, "encoderinfo": encoderinfo}) - - if len(im_frames) > 1: - for frame_data in im_frames: - im_frame = frame_data["im"] - if not frame_data["bbox"]: - # global header - for s in _get_global_header(im_frame, frame_data["encoderinfo"]): - fp.write(s) - offset = (0, 0) - else: - # compress difference - frame_data["encoderinfo"]["include_color_table"] = True - - im_frame = im_frame.crop(frame_data["bbox"]) - offset = frame_data["bbox"][:2] - _write_frame_data(fp, im_frame, offset, frame_data["encoderinfo"]) - return True - elif "duration" in im.encoderinfo and isinstance( - im.encoderinfo["duration"], (list, tuple) - ): - # Since multiple frames will not be written, add together the frame durations - im.encoderinfo["duration"] = sum(im.encoderinfo["duration"]) - - -def _save_all(im, fp, filename): - _save(im, fp, filename, save_all=True) - - -def _save(im, fp, filename, save_all=False): - # header - if "palette" in im.encoderinfo or "palette" in im.info: - palette = im.encoderinfo.get("palette", im.info.get("palette")) - else: - palette = None - im.encoderinfo["optimize"] = im.encoderinfo.get("optimize", True) - - if not save_all or not _write_multiple_frames(im, fp, palette): - _write_single_frame(im, fp, palette) - - fp.write(b";") # end of file - - if hasattr(fp, "flush"): - fp.flush() - - -def get_interlace(im): - interlace = im.encoderinfo.get("interlace", 1) - - # workaround for @PIL153 - if min(im.size) < 16: - interlace = 0 - - return interlace - - -def _write_local_header(fp, im, offset, flags): - transparent_color_exists = False - try: - transparency = im.encoderinfo["transparency"] - except KeyError: - pass - else: - transparency = int(transparency) - # optimize the block away if transparent color is not used - transparent_color_exists = True - - used_palette_colors = _get_optimize(im, im.encoderinfo) - if used_palette_colors is not None: - # adjust the transparency index after optimize - try: - transparency = used_palette_colors.index(transparency) - except ValueError: - transparent_color_exists = False - - if "duration" in im.encoderinfo: - duration = int(im.encoderinfo["duration"] / 10) - else: - duration = 0 - - disposal = int(im.encoderinfo.get("disposal", 0)) - - if transparent_color_exists or duration != 0 or disposal: - packed_flag = 1 if transparent_color_exists else 0 - packed_flag |= disposal << 2 - if not transparent_color_exists: - transparency = 0 - - fp.write( - b"!" - + o8(249) # extension intro - + o8(4) # length - + o8(packed_flag) # packed fields - + o16(duration) # duration - + o8(transparency) # transparency index - + o8(0) - ) - - if "comment" in im.encoderinfo and 1 <= len(im.encoderinfo["comment"]): - fp.write(b"!" + o8(254)) # extension intro - comment = im.encoderinfo["comment"] - if isinstance(comment, str): - comment = comment.encode() - for i in range(0, len(comment), 255): - subblock = comment[i : i + 255] - fp.write(o8(len(subblock)) + subblock) - fp.write(o8(0)) - if "loop" in im.encoderinfo: - number_of_loops = im.encoderinfo["loop"] - fp.write( - b"!" - + o8(255) # extension intro - + o8(11) - + b"NETSCAPE2.0" - + o8(3) - + o8(1) - + o16(number_of_loops) # number of loops - + o8(0) - ) - include_color_table = im.encoderinfo.get("include_color_table") - if include_color_table: - palette_bytes = _get_palette_bytes(im) - color_table_size = _get_color_table_size(palette_bytes) - if color_table_size: - flags = flags | 128 # local color table flag - flags = flags | color_table_size - - fp.write( - b"," - + o16(offset[0]) # offset - + o16(offset[1]) - + o16(im.size[0]) # size - + o16(im.size[1]) - + o8(flags) # flags - ) - if include_color_table and color_table_size: - fp.write(_get_header_palette(palette_bytes)) - fp.write(o8(8)) # bits - - -def _save_netpbm(im, fp, filename): - - # Unused by default. - # To use, uncomment the register_save call at the end of the file. - # - # If you need real GIF compression and/or RGB quantization, you - # can use the external NETPBM/PBMPLUS utilities. See comments - # below for information on how to enable this. - tempfile = im._dump() - - try: - with open(filename, "wb") as f: - if im.mode != "RGB": - subprocess.check_call( - ["ppmtogif", tempfile], stdout=f, stderr=subprocess.DEVNULL - ) - else: - # Pipe ppmquant output into ppmtogif - # "ppmquant 256 %s | ppmtogif > %s" % (tempfile, filename) - quant_cmd = ["ppmquant", "256", tempfile] - togif_cmd = ["ppmtogif"] - quant_proc = subprocess.Popen( - quant_cmd, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL - ) - togif_proc = subprocess.Popen( - togif_cmd, - stdin=quant_proc.stdout, - stdout=f, - stderr=subprocess.DEVNULL, - ) - - # Allow ppmquant to receive SIGPIPE if ppmtogif exits - quant_proc.stdout.close() - - retcode = quant_proc.wait() - if retcode: - raise subprocess.CalledProcessError(retcode, quant_cmd) - - retcode = togif_proc.wait() - if retcode: - raise subprocess.CalledProcessError(retcode, togif_cmd) - finally: - try: - os.unlink(tempfile) - except OSError: - pass - - -# Force optimization so that we can test performance against -# cases where it took lots of memory and time previously. -_FORCE_OPTIMIZE = False - - -def _get_optimize(im, info): - """ - Palette optimization is a potentially expensive operation. - - This function determines if the palette should be optimized using - some heuristics, then returns the list of palette entries in use. - - :param im: Image object - :param info: encoderinfo - :returns: list of indexes of palette entries in use, or None - """ - if im.mode in ("P", "L") and info and info.get("optimize", 0): - # Potentially expensive operation. - - # The palette saves 3 bytes per color not used, but palette - # lengths are restricted to 3*(2**N) bytes. Max saving would - # be 768 -> 6 bytes if we went all the way down to 2 colors. - # * If we're over 128 colors, we can't save any space. - # * If there aren't any holes, it's not worth collapsing. - # * If we have a 'large' image, the palette is in the noise. - - # create the new palette if not every color is used - optimise = _FORCE_OPTIMIZE or im.mode == "L" - if optimise or im.width * im.height < 512 * 512: - # check which colors are used - used_palette_colors = [] - for i, count in enumerate(im.histogram()): - if count: - used_palette_colors.append(i) - - if optimise or ( - len(used_palette_colors) <= 128 - and max(used_palette_colors) > len(used_palette_colors) - ): - return used_palette_colors - - -def _get_color_table_size(palette_bytes): - # calculate the palette size for the header - if not palette_bytes: - return 0 - elif len(palette_bytes) < 9: - return 1 - else: - return math.ceil(math.log(len(palette_bytes) // 3, 2)) - 1 - - -def _get_header_palette(palette_bytes): - """ - Returns the palette, null padded to the next power of 2 (*3) bytes - suitable for direct inclusion in the GIF header - - :param palette_bytes: Unpadded palette bytes, in RGBRGB form - :returns: Null padded palette - """ - color_table_size = _get_color_table_size(palette_bytes) - - # add the missing amount of bytes - # the palette has to be 2< 0: - palette_bytes += o8(0) * 3 * actual_target_size_diff - return palette_bytes - - -def _get_palette_bytes(im): - """ - Gets the palette for inclusion in the gif header - - :param im: Image object - :returns: Bytes, len<=768 suitable for inclusion in gif header - """ - return im.palette.palette - - -def _get_background(im, infoBackground): - background = 0 - if infoBackground: - background = infoBackground - if isinstance(background, tuple): - # WebPImagePlugin stores an RGBA value in info["background"] - # So it must be converted to the same format as GifImagePlugin's - # info["background"] - a global color table index - background = im.palette.getcolor(background) - return background - - -def _get_global_header(im, info): - """Return a list of strings representing a GIF header""" - - # Header Block - # http://www.matthewflickinger.com/lab/whatsinagif/bits_and_bytes.asp - - version = b"87a" - for extensionKey in ["transparency", "duration", "loop", "comment"]: - if info and extensionKey in info: - if (extensionKey == "duration" and info[extensionKey] == 0) or ( - extensionKey == "comment" and not (1 <= len(info[extensionKey]) <= 255) - ): - continue - version = b"89a" - break - else: - if im.info.get("version") == b"89a": - version = b"89a" - - background = _get_background(im, info.get("background")) - - palette_bytes = _get_palette_bytes(im) - color_table_size = _get_color_table_size(palette_bytes) - - return [ - b"GIF" # signature - + version # version - + o16(im.size[0]) # canvas width - + o16(im.size[1]), # canvas height - # Logical Screen Descriptor - # size of global color table + global color table flag - o8(color_table_size + 128), # packed fields - # background + reserved/aspect - o8(background) + o8(0), - # Global Color Table - _get_header_palette(palette_bytes), - ] - - -def _write_frame_data(fp, im_frame, offset, params): - try: - im_frame.encoderinfo = params - - # local image header - _write_local_header(fp, im_frame, offset, 0) - - ImageFile._save( - im_frame, fp, [("gif", (0, 0) + im_frame.size, 0, RAWMODE[im_frame.mode])] - ) - - fp.write(b"\0") # end of image data - finally: - del im_frame.encoderinfo - - -# -------------------------------------------------------------------- -# Legacy GIF utilities - - -def getheader(im, palette=None, info=None): - """ - Legacy Method to get Gif data from image. - - Warning:: May modify image data. - - :param im: Image object - :param palette: bytes object containing the source palette, or .... - :param info: encoderinfo - :returns: tuple of(list of header items, optimized palette) - - """ - used_palette_colors = _get_optimize(im, info) - - if info is None: - info = {} - - if "background" not in info and "background" in im.info: - info["background"] = im.info["background"] - - im_mod = _normalize_palette(im, palette, info) - im.palette = im_mod.palette - im.im = im_mod.im - header = _get_global_header(im, info) - - return header, used_palette_colors - - -# To specify duration, add the time in milliseconds to getdata(), -# e.g. getdata(im_frame, duration=1000) -def getdata(im, offset=(0, 0), **params): - """ - Legacy Method - - Return a list of strings representing this image. - The first string is a local image header, the rest contains - encoded image data. - - :param im: Image object - :param offset: Tuple of (x, y) pixels. Defaults to (0,0) - :param \\**params: E.g. duration or other encoder info parameters - :returns: List of Bytes containing gif encoded frame data - - """ - - class Collector: - data = [] - - def write(self, data): - self.data.append(data) - - im.load() # make sure raster data is available - - fp = Collector() - - _write_frame_data(fp, im, offset, params) - - return fp.data - - -# -------------------------------------------------------------------- -# Registry - -Image.register_open(GifImageFile.format, GifImageFile, _accept) -Image.register_save(GifImageFile.format, _save) -Image.register_save_all(GifImageFile.format, _save_all) -Image.register_extension(GifImageFile.format, ".gif") -Image.register_mime(GifImageFile.format, "image/gif") - -# -# Uncomment the following line if you wish to use NETPBM/PBMPLUS -# instead of the built-in "uncompressed" GIF encoder - -# Image.register_save(GifImageFile.format, _save_netpbm) diff --git a/venv/lib/python3.8/site-packages/PIL/GimpGradientFile.py b/venv/lib/python3.8/site-packages/PIL/GimpGradientFile.py deleted file mode 100644 index 7ab7f999..00000000 --- a/venv/lib/python3.8/site-packages/PIL/GimpGradientFile.py +++ /dev/null @@ -1,140 +0,0 @@ -# -# Python Imaging Library -# $Id$ -# -# stuff to read (and render) GIMP gradient files -# -# History: -# 97-08-23 fl Created -# -# Copyright (c) Secret Labs AB 1997. -# Copyright (c) Fredrik Lundh 1997. -# -# See the README file for information on usage and redistribution. -# - -""" -Stuff to translate curve segments to palette values (derived from -the corresponding code in GIMP, written by Federico Mena Quintero. -See the GIMP distribution for more information.) -""" - - -from math import log, pi, sin, sqrt - -from ._binary import o8 - -EPSILON = 1e-10 -"""""" # Enable auto-doc for data member - - -def linear(middle, pos): - if pos <= middle: - if middle < EPSILON: - return 0.0 - else: - return 0.5 * pos / middle - else: - pos = pos - middle - middle = 1.0 - middle - if middle < EPSILON: - return 1.0 - else: - return 0.5 + 0.5 * pos / middle - - -def curved(middle, pos): - return pos ** (log(0.5) / log(max(middle, EPSILON))) - - -def sine(middle, pos): - return (sin((-pi / 2.0) + pi * linear(middle, pos)) + 1.0) / 2.0 - - -def sphere_increasing(middle, pos): - return sqrt(1.0 - (linear(middle, pos) - 1.0) ** 2) - - -def sphere_decreasing(middle, pos): - return 1.0 - sqrt(1.0 - linear(middle, pos) ** 2) - - -SEGMENTS = [linear, curved, sine, sphere_increasing, sphere_decreasing] -"""""" # Enable auto-doc for data member - - -class GradientFile: - - gradient = None - - def getpalette(self, entries=256): - - palette = [] - - ix = 0 - x0, x1, xm, rgb0, rgb1, segment = self.gradient[ix] - - for i in range(entries): - - x = i / (entries - 1) - - while x1 < x: - ix += 1 - x0, x1, xm, rgb0, rgb1, segment = self.gradient[ix] - - w = x1 - x0 - - if w < EPSILON: - scale = segment(0.5, 0.5) - else: - scale = segment((xm - x0) / w, (x - x0) / w) - - # expand to RGBA - r = o8(int(255 * ((rgb1[0] - rgb0[0]) * scale + rgb0[0]) + 0.5)) - g = o8(int(255 * ((rgb1[1] - rgb0[1]) * scale + rgb0[1]) + 0.5)) - b = o8(int(255 * ((rgb1[2] - rgb0[2]) * scale + rgb0[2]) + 0.5)) - a = o8(int(255 * ((rgb1[3] - rgb0[3]) * scale + rgb0[3]) + 0.5)) - - # add to palette - palette.append(r + g + b + a) - - return b"".join(palette), "RGBA" - - -class GimpGradientFile(GradientFile): - """File handler for GIMP's gradient format.""" - - def __init__(self, fp): - - if fp.readline()[:13] != b"GIMP Gradient": - raise SyntaxError("not a GIMP gradient file") - - line = fp.readline() - - # GIMP 1.2 gradient files don't contain a name, but GIMP 1.3 files do - if line.startswith(b"Name: "): - line = fp.readline().strip() - - count = int(line) - - gradient = [] - - for i in range(count): - - s = fp.readline().split() - w = [float(x) for x in s[:11]] - - x0, x1 = w[0], w[2] - xm = w[1] - rgb0 = w[3:7] - rgb1 = w[7:11] - - segment = SEGMENTS[int(s[11])] - cspace = int(s[12]) - - if cspace != 0: - raise OSError("cannot handle HSV colour space") - - gradient.append((x0, x1, xm, rgb0, rgb1, segment)) - - self.gradient = gradient diff --git a/venv/lib/python3.8/site-packages/PIL/GimpPaletteFile.py b/venv/lib/python3.8/site-packages/PIL/GimpPaletteFile.py deleted file mode 100644 index 10fd3ad8..00000000 --- a/venv/lib/python3.8/site-packages/PIL/GimpPaletteFile.py +++ /dev/null @@ -1,56 +0,0 @@ -# -# Python Imaging Library -# $Id$ -# -# stuff to read GIMP palette files -# -# History: -# 1997-08-23 fl Created -# 2004-09-07 fl Support GIMP 2.0 palette files. -# -# Copyright (c) Secret Labs AB 1997-2004. All rights reserved. -# Copyright (c) Fredrik Lundh 1997-2004. -# -# See the README file for information on usage and redistribution. -# - -import re - -from ._binary import o8 - - -class GimpPaletteFile: - """File handler for GIMP's palette format.""" - - rawmode = "RGB" - - def __init__(self, fp): - - self.palette = [o8(i) * 3 for i in range(256)] - - if fp.readline()[:12] != b"GIMP Palette": - raise SyntaxError("not a GIMP palette file") - - for i in range(256): - - s = fp.readline() - if not s: - break - - # skip fields and comment lines - if re.match(br"\w+:|#", s): - continue - if len(s) > 100: - raise SyntaxError("bad palette file") - - v = tuple(map(int, s.split()[:3])) - if len(v) != 3: - raise ValueError("bad palette entry") - - self.palette[i] = o8(v[0]) + o8(v[1]) + o8(v[2]) - - self.palette = b"".join(self.palette) - - def getpalette(self): - - return self.palette, self.rawmode diff --git a/venv/lib/python3.8/site-packages/PIL/GribStubImagePlugin.py b/venv/lib/python3.8/site-packages/PIL/GribStubImagePlugin.py deleted file mode 100644 index b9bdd16e..00000000 --- a/venv/lib/python3.8/site-packages/PIL/GribStubImagePlugin.py +++ /dev/null @@ -1,73 +0,0 @@ -# -# The Python Imaging Library -# $Id$ -# -# GRIB stub adapter -# -# Copyright (c) 1996-2003 by Fredrik Lundh -# -# See the README file for information on usage and redistribution. -# - -from . import Image, ImageFile - -_handler = None - - -def register_handler(handler): - """ - Install application-specific GRIB image handler. - - :param handler: Handler object. - """ - global _handler - _handler = handler - - -# -------------------------------------------------------------------- -# Image adapter - - -def _accept(prefix): - return prefix[0:4] == b"GRIB" and prefix[7] == 1 - - -class GribStubImageFile(ImageFile.StubImageFile): - - format = "GRIB" - format_description = "GRIB" - - def _open(self): - - offset = self.fp.tell() - - if not _accept(self.fp.read(8)): - raise SyntaxError("Not a GRIB file") - - self.fp.seek(offset) - - # make something up - self.mode = "F" - self._size = 1, 1 - - loader = self._load() - if loader: - loader.open(self) - - def _load(self): - return _handler - - -def _save(im, fp, filename): - if _handler is None or not hasattr("_handler", "save"): - raise OSError("GRIB save handler not installed") - _handler.save(im, fp, filename) - - -# -------------------------------------------------------------------- -# Registry - -Image.register_open(GribStubImageFile.format, GribStubImageFile, _accept) -Image.register_save(GribStubImageFile.format, _save) - -Image.register_extension(GribStubImageFile.format, ".grib") diff --git a/venv/lib/python3.8/site-packages/PIL/Hdf5StubImagePlugin.py b/venv/lib/python3.8/site-packages/PIL/Hdf5StubImagePlugin.py deleted file mode 100644 index 362f2d39..00000000 --- a/venv/lib/python3.8/site-packages/PIL/Hdf5StubImagePlugin.py +++ /dev/null @@ -1,73 +0,0 @@ -# -# The Python Imaging Library -# $Id$ -# -# HDF5 stub adapter -# -# Copyright (c) 2000-2003 by Fredrik Lundh -# -# See the README file for information on usage and redistribution. -# - -from . import Image, ImageFile - -_handler = None - - -def register_handler(handler): - """ - Install application-specific HDF5 image handler. - - :param handler: Handler object. - """ - global _handler - _handler = handler - - -# -------------------------------------------------------------------- -# Image adapter - - -def _accept(prefix): - return prefix[:8] == b"\x89HDF\r\n\x1a\n" - - -class HDF5StubImageFile(ImageFile.StubImageFile): - - format = "HDF5" - format_description = "HDF5" - - def _open(self): - - offset = self.fp.tell() - - if not _accept(self.fp.read(8)): - raise SyntaxError("Not an HDF file") - - self.fp.seek(offset) - - # make something up - self.mode = "F" - self._size = 1, 1 - - loader = self._load() - if loader: - loader.open(self) - - def _load(self): - return _handler - - -def _save(im, fp, filename): - if _handler is None or not hasattr("_handler", "save"): - raise OSError("HDF5 save handler not installed") - _handler.save(im, fp, filename) - - -# -------------------------------------------------------------------- -# Registry - -Image.register_open(HDF5StubImageFile.format, HDF5StubImageFile, _accept) -Image.register_save(HDF5StubImageFile.format, _save) - -Image.register_extensions(HDF5StubImageFile.format, [".h5", ".hdf"]) diff --git a/venv/lib/python3.8/site-packages/PIL/IcnsImagePlugin.py b/venv/lib/python3.8/site-packages/PIL/IcnsImagePlugin.py deleted file mode 100644 index 2a63d75c..00000000 --- a/venv/lib/python3.8/site-packages/PIL/IcnsImagePlugin.py +++ /dev/null @@ -1,383 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# macOS icns file decoder, based on icns.py by Bob Ippolito. -# -# history: -# 2004-10-09 fl Turned into a PIL plugin; removed 2.3 dependencies. -# -# Copyright (c) 2004 by Bob Ippolito. -# Copyright (c) 2004 by Secret Labs. -# Copyright (c) 2004 by Fredrik Lundh. -# Copyright (c) 2014 by Alastair Houghton. -# -# See the README file for information on usage and redistribution. -# - -import io -import os -import shutil -import struct -import subprocess -import sys -import tempfile - -from PIL import Image, ImageFile, PngImagePlugin, features - -enable_jpeg2k = features.check_codec("jpg_2000") -if enable_jpeg2k: - from PIL import Jpeg2KImagePlugin - -HEADERSIZE = 8 - - -def nextheader(fobj): - return struct.unpack(">4sI", fobj.read(HEADERSIZE)) - - -def read_32t(fobj, start_length, size): - # The 128x128 icon seems to have an extra header for some reason. - (start, length) = start_length - fobj.seek(start) - sig = fobj.read(4) - if sig != b"\x00\x00\x00\x00": - raise SyntaxError("Unknown signature, expecting 0x00000000") - return read_32(fobj, (start + 4, length - 4), size) - - -def read_32(fobj, start_length, size): - """ - Read a 32bit RGB icon resource. Seems to be either uncompressed or - an RLE packbits-like scheme. - """ - (start, length) = start_length - fobj.seek(start) - pixel_size = (size[0] * size[2], size[1] * size[2]) - sizesq = pixel_size[0] * pixel_size[1] - if length == sizesq * 3: - # uncompressed ("RGBRGBGB") - indata = fobj.read(length) - im = Image.frombuffer("RGB", pixel_size, indata, "raw", "RGB", 0, 1) - else: - # decode image - im = Image.new("RGB", pixel_size, None) - for band_ix in range(3): - data = [] - bytesleft = sizesq - while bytesleft > 0: - byte = fobj.read(1) - if not byte: - break - byte = byte[0] - if byte & 0x80: - blocksize = byte - 125 - byte = fobj.read(1) - for i in range(blocksize): - data.append(byte) - else: - blocksize = byte + 1 - data.append(fobj.read(blocksize)) - bytesleft -= blocksize - if bytesleft <= 0: - break - if bytesleft != 0: - raise SyntaxError(f"Error reading channel [{repr(bytesleft)} left]") - band = Image.frombuffer("L", pixel_size, b"".join(data), "raw", "L", 0, 1) - im.im.putband(band.im, band_ix) - return {"RGB": im} - - -def read_mk(fobj, start_length, size): - # Alpha masks seem to be uncompressed - start = start_length[0] - fobj.seek(start) - pixel_size = (size[0] * size[2], size[1] * size[2]) - sizesq = pixel_size[0] * pixel_size[1] - band = Image.frombuffer("L", pixel_size, fobj.read(sizesq), "raw", "L", 0, 1) - return {"A": band} - - -def read_png_or_jpeg2000(fobj, start_length, size): - (start, length) = start_length - fobj.seek(start) - sig = fobj.read(12) - if sig[:8] == b"\x89PNG\x0d\x0a\x1a\x0a": - fobj.seek(start) - im = PngImagePlugin.PngImageFile(fobj) - return {"RGBA": im} - elif ( - sig[:4] == b"\xff\x4f\xff\x51" - or sig[:4] == b"\x0d\x0a\x87\x0a" - or sig == b"\x00\x00\x00\x0cjP \x0d\x0a\x87\x0a" - ): - if not enable_jpeg2k: - raise ValueError( - "Unsupported icon subimage format (rebuild PIL " - "with JPEG 2000 support to fix this)" - ) - # j2k, jpc or j2c - fobj.seek(start) - jp2kstream = fobj.read(length) - f = io.BytesIO(jp2kstream) - im = Jpeg2KImagePlugin.Jpeg2KImageFile(f) - if im.mode != "RGBA": - im = im.convert("RGBA") - return {"RGBA": im} - else: - raise ValueError("Unsupported icon subimage format") - - -class IcnsFile: - - SIZES = { - (512, 512, 2): [(b"ic10", read_png_or_jpeg2000)], - (512, 512, 1): [(b"ic09", read_png_or_jpeg2000)], - (256, 256, 2): [(b"ic14", read_png_or_jpeg2000)], - (256, 256, 1): [(b"ic08", read_png_or_jpeg2000)], - (128, 128, 2): [(b"ic13", read_png_or_jpeg2000)], - (128, 128, 1): [ - (b"ic07", read_png_or_jpeg2000), - (b"it32", read_32t), - (b"t8mk", read_mk), - ], - (64, 64, 1): [(b"icp6", read_png_or_jpeg2000)], - (32, 32, 2): [(b"ic12", read_png_or_jpeg2000)], - (48, 48, 1): [(b"ih32", read_32), (b"h8mk", read_mk)], - (32, 32, 1): [ - (b"icp5", read_png_or_jpeg2000), - (b"il32", read_32), - (b"l8mk", read_mk), - ], - (16, 16, 2): [(b"ic11", read_png_or_jpeg2000)], - (16, 16, 1): [ - (b"icp4", read_png_or_jpeg2000), - (b"is32", read_32), - (b"s8mk", read_mk), - ], - } - - def __init__(self, fobj): - """ - fobj is a file-like object as an icns resource - """ - # signature : (start, length) - self.dct = dct = {} - self.fobj = fobj - sig, filesize = nextheader(fobj) - if sig != b"icns": - raise SyntaxError("not an icns file") - i = HEADERSIZE - while i < filesize: - sig, blocksize = nextheader(fobj) - if blocksize <= 0: - raise SyntaxError("invalid block header") - i += HEADERSIZE - blocksize -= HEADERSIZE - dct[sig] = (i, blocksize) - fobj.seek(blocksize, io.SEEK_CUR) - i += blocksize - - def itersizes(self): - sizes = [] - for size, fmts in self.SIZES.items(): - for (fmt, reader) in fmts: - if fmt in self.dct: - sizes.append(size) - break - return sizes - - def bestsize(self): - sizes = self.itersizes() - if not sizes: - raise SyntaxError("No 32bit icon resources found") - return max(sizes) - - def dataforsize(self, size): - """ - Get an icon resource as {channel: array}. Note that - the arrays are bottom-up like windows bitmaps and will likely - need to be flipped or transposed in some way. - """ - dct = {} - for code, reader in self.SIZES[size]: - desc = self.dct.get(code) - if desc is not None: - dct.update(reader(self.fobj, desc, size)) - return dct - - def getimage(self, size=None): - if size is None: - size = self.bestsize() - if len(size) == 2: - size = (size[0], size[1], 1) - channels = self.dataforsize(size) - - im = channels.get("RGBA", None) - if im: - return im - - im = channels.get("RGB").copy() - try: - im.putalpha(channels["A"]) - except KeyError: - pass - return im - - -## -# Image plugin for Mac OS icons. - - -class IcnsImageFile(ImageFile.ImageFile): - """ - PIL image support for Mac OS .icns files. - Chooses the best resolution, but will possibly load - a different size image if you mutate the size attribute - before calling 'load'. - - The info dictionary has a key 'sizes' that is a list - of sizes that the icns file has. - """ - - format = "ICNS" - format_description = "Mac OS icns resource" - - def _open(self): - self.icns = IcnsFile(self.fp) - self.mode = "RGBA" - self.info["sizes"] = self.icns.itersizes() - self.best_size = self.icns.bestsize() - self.size = ( - self.best_size[0] * self.best_size[2], - self.best_size[1] * self.best_size[2], - ) - - @property - def size(self): - return self._size - - @size.setter - def size(self, value): - info_size = value - if info_size not in self.info["sizes"] and len(info_size) == 2: - info_size = (info_size[0], info_size[1], 1) - if ( - info_size not in self.info["sizes"] - and len(info_size) == 3 - and info_size[2] == 1 - ): - simple_sizes = [ - (size[0] * size[2], size[1] * size[2]) for size in self.info["sizes"] - ] - if value in simple_sizes: - info_size = self.info["sizes"][simple_sizes.index(value)] - if info_size not in self.info["sizes"]: - raise ValueError("This is not one of the allowed sizes of this image") - self._size = value - - def load(self): - if len(self.size) == 3: - self.best_size = self.size - self.size = ( - self.best_size[0] * self.best_size[2], - self.best_size[1] * self.best_size[2], - ) - - Image.Image.load(self) - if self.im and self.im.size == self.size: - # Already loaded - return - self.load_prepare() - # This is likely NOT the best way to do it, but whatever. - im = self.icns.getimage(self.best_size) - - # If this is a PNG or JPEG 2000, it won't be loaded yet - im.load() - - self.im = im.im - self.mode = im.mode - self.size = im.size - self.load_end() - - -def _save(im, fp, filename): - """ - Saves the image as a series of PNG files, - that are then converted to a .icns file - using the macOS command line utility 'iconutil'. - - macOS only. - """ - if hasattr(fp, "flush"): - fp.flush() - - # create the temporary set of pngs - with tempfile.TemporaryDirectory(".iconset") as iconset: - provided_images = { - im.width: im for im in im.encoderinfo.get("append_images", []) - } - last_w = None - second_path = None - for w in [16, 32, 128, 256, 512]: - prefix = f"icon_{w}x{w}" - - first_path = os.path.join(iconset, prefix + ".png") - if last_w == w: - shutil.copyfile(second_path, first_path) - else: - im_w = provided_images.get(w, im.resize((w, w), Image.LANCZOS)) - im_w.save(first_path) - - second_path = os.path.join(iconset, prefix + "@2x.png") - im_w2 = provided_images.get(w * 2, im.resize((w * 2, w * 2), Image.LANCZOS)) - im_w2.save(second_path) - last_w = w * 2 - - # iconutil -c icns -o {} {} - - fp_only = not filename - if fp_only: - f, filename = tempfile.mkstemp(".icns") - os.close(f) - convert_cmd = ["iconutil", "-c", "icns", "-o", filename, iconset] - convert_proc = subprocess.Popen( - convert_cmd, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL - ) - - convert_proc.stdout.close() - - retcode = convert_proc.wait() - - if retcode: - raise subprocess.CalledProcessError(retcode, convert_cmd) - - if fp_only: - with open(filename, "rb") as f: - fp.write(f.read()) - - -Image.register_open(IcnsImageFile.format, IcnsImageFile, lambda x: x[:4] == b"icns") -Image.register_extension(IcnsImageFile.format, ".icns") - -if sys.platform == "darwin": - Image.register_save(IcnsImageFile.format, _save) - - Image.register_mime(IcnsImageFile.format, "image/icns") - - -if __name__ == "__main__": - - if len(sys.argv) < 2: - print("Syntax: python IcnsImagePlugin.py [file]") - sys.exit() - - with open(sys.argv[1], "rb") as fp: - imf = IcnsImageFile(fp) - for size in imf.info["sizes"]: - imf.size = size - imf.save("out-%s-%s-%s.png" % size) - with Image.open(sys.argv[1]) as im: - im.save("out.png") - if sys.platform == "windows": - os.startfile("out.png") diff --git a/venv/lib/python3.8/site-packages/PIL/IcoImagePlugin.py b/venv/lib/python3.8/site-packages/PIL/IcoImagePlugin.py deleted file mode 100644 index e1bfa7a5..00000000 --- a/venv/lib/python3.8/site-packages/PIL/IcoImagePlugin.py +++ /dev/null @@ -1,328 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# Windows Icon support for PIL -# -# History: -# 96-05-27 fl Created -# -# Copyright (c) Secret Labs AB 1997. -# Copyright (c) Fredrik Lundh 1996. -# -# See the README file for information on usage and redistribution. -# - -# This plugin is a refactored version of Win32IconImagePlugin by Bryan Davis -# . -# https://code.google.com/archive/p/casadebender/wikis/Win32IconImagePlugin.wiki -# -# Icon format references: -# * https://en.wikipedia.org/wiki/ICO_(file_format) -# * https://msdn.microsoft.com/en-us/library/ms997538.aspx - - -import struct -import warnings -from io import BytesIO -from math import ceil, log - -from . import BmpImagePlugin, Image, ImageFile, PngImagePlugin -from ._binary import i16le as i16 -from ._binary import i32le as i32 - -# -# -------------------------------------------------------------------- - -_MAGIC = b"\0\0\1\0" - - -def _save(im, fp, filename): - fp.write(_MAGIC) # (2+2) - sizes = im.encoderinfo.get( - "sizes", - [(16, 16), (24, 24), (32, 32), (48, 48), (64, 64), (128, 128), (256, 256)], - ) - width, height = im.size - sizes = filter( - lambda x: False - if (x[0] > width or x[1] > height or x[0] > 256 or x[1] > 256) - else True, - sizes, - ) - sizes = list(sizes) - fp.write(struct.pack("=8bpp) - "reserved": s[3], - "planes": i16(s, 4), - "bpp": i16(s, 6), - "size": i32(s, 8), - "offset": i32(s, 12), - } - - # See Wikipedia - for j in ("width", "height"): - if not icon_header[j]: - icon_header[j] = 256 - - # See Wikipedia notes about color depth. - # We need this just to differ images with equal sizes - icon_header["color_depth"] = ( - icon_header["bpp"] - or ( - icon_header["nb_color"] != 0 - and ceil(log(icon_header["nb_color"], 2)) - ) - or 256 - ) - - icon_header["dim"] = (icon_header["width"], icon_header["height"]) - icon_header["square"] = icon_header["width"] * icon_header["height"] - - self.entry.append(icon_header) - - self.entry = sorted(self.entry, key=lambda x: x["color_depth"]) - # ICO images are usually squares - # self.entry = sorted(self.entry, key=lambda x: x['width']) - self.entry = sorted(self.entry, key=lambda x: x["square"]) - self.entry.reverse() - - def sizes(self): - """ - Get a list of all available icon sizes and color depths. - """ - return {(h["width"], h["height"]) for h in self.entry} - - def getentryindex(self, size, bpp=False): - for (i, h) in enumerate(self.entry): - if size == h["dim"] and (bpp is False or bpp == h["color_depth"]): - return i - return 0 - - def getimage(self, size, bpp=False): - """ - Get an image from the icon - """ - return self.frame(self.getentryindex(size, bpp)) - - def frame(self, idx): - """ - Get an image from frame idx - """ - - header = self.entry[idx] - - self.buf.seek(header["offset"]) - data = self.buf.read(8) - self.buf.seek(header["offset"]) - - if data[:8] == PngImagePlugin._MAGIC: - # png frame - im = PngImagePlugin.PngImageFile(self.buf) - else: - # XOR + AND mask bmp frame - im = BmpImagePlugin.DibImageFile(self.buf) - Image._decompression_bomb_check(im.size) - - # change tile dimension to only encompass XOR image - im._size = (im.size[0], int(im.size[1] / 2)) - d, e, o, a = im.tile[0] - im.tile[0] = d, (0, 0) + im.size, o, a - - # figure out where AND mask image starts - mode = a[0] - bpp = 8 - for k, v in BmpImagePlugin.BIT2MODE.items(): - if mode == v[1]: - bpp = k - break - - if 32 == bpp: - # 32-bit color depth icon image allows semitransparent areas - # PIL's DIB format ignores transparency bits, recover them. - # The DIB is packed in BGRX byte order where X is the alpha - # channel. - - # Back up to start of bmp data - self.buf.seek(o) - # extract every 4th byte (eg. 3,7,11,15,...) - alpha_bytes = self.buf.read(im.size[0] * im.size[1] * 4)[3::4] - - # convert to an 8bpp grayscale image - mask = Image.frombuffer( - "L", # 8bpp - im.size, # (w, h) - alpha_bytes, # source chars - "raw", # raw decoder - ("L", 0, -1), # 8bpp inverted, unpadded, reversed - ) - else: - # get AND image from end of bitmap - w = im.size[0] - if (w % 32) > 0: - # bitmap row data is aligned to word boundaries - w += 32 - (im.size[0] % 32) - - # the total mask data is - # padded row size * height / bits per char - - and_mask_offset = o + int(im.size[0] * im.size[1] * (bpp / 8.0)) - total_bytes = int((w * im.size[1]) / 8) - - self.buf.seek(and_mask_offset) - mask_data = self.buf.read(total_bytes) - - # convert raw data to image - mask = Image.frombuffer( - "1", # 1 bpp - im.size, # (w, h) - mask_data, # source chars - "raw", # raw decoder - ("1;I", int(w / 8), -1), # 1bpp inverted, padded, reversed - ) - - # now we have two images, im is XOR image and mask is AND image - - # apply mask image as alpha channel - im = im.convert("RGBA") - im.putalpha(mask) - - return im - - -## -# Image plugin for Windows Icon files. - - -class IcoImageFile(ImageFile.ImageFile): - """ - PIL read-only image support for Microsoft Windows .ico files. - - By default the largest resolution image in the file will be loaded. This - can be changed by altering the 'size' attribute before calling 'load'. - - The info dictionary has a key 'sizes' that is a list of the sizes available - in the icon file. - - Handles classic, XP and Vista icon formats. - - When saving, PNG compression is used. Support for this was only added in - Windows Vista. - - This plugin is a refactored version of Win32IconImagePlugin by Bryan Davis - . - https://code.google.com/archive/p/casadebender/wikis/Win32IconImagePlugin.wiki - """ - - format = "ICO" - format_description = "Windows Icon" - - def _open(self): - self.ico = IcoFile(self.fp) - self.info["sizes"] = self.ico.sizes() - self.size = self.ico.entry[0]["dim"] - self.load() - - @property - def size(self): - return self._size - - @size.setter - def size(self, value): - if value not in self.info["sizes"]: - raise ValueError("This is not one of the allowed sizes of this image") - self._size = value - - def load(self): - if self.im and self.im.size == self.size: - # Already loaded - return - im = self.ico.getimage(self.size) - # if tile is PNG, it won't really be loaded yet - im.load() - self.im = im.im - self.mode = im.mode - if im.size != self.size: - warnings.warn("Image was not the expected size") - - index = self.ico.getentryindex(self.size) - sizes = list(self.info["sizes"]) - sizes[index] = im.size - self.info["sizes"] = set(sizes) - - self.size = im.size - - def load_seek(self): - # Flag the ImageFile.Parser so that it - # just does all the decode at the end. - pass - - -# -# -------------------------------------------------------------------- - - -Image.register_open(IcoImageFile.format, IcoImageFile, _accept) -Image.register_save(IcoImageFile.format, _save) -Image.register_extension(IcoImageFile.format, ".ico") - -Image.register_mime(IcoImageFile.format, "image/x-icon") diff --git a/venv/lib/python3.8/site-packages/PIL/ImImagePlugin.py b/venv/lib/python3.8/site-packages/PIL/ImImagePlugin.py deleted file mode 100644 index 1dfc808c..00000000 --- a/venv/lib/python3.8/site-packages/PIL/ImImagePlugin.py +++ /dev/null @@ -1,376 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# IFUNC IM file handling for PIL -# -# history: -# 1995-09-01 fl Created. -# 1997-01-03 fl Save palette images -# 1997-01-08 fl Added sequence support -# 1997-01-23 fl Added P and RGB save support -# 1997-05-31 fl Read floating point images -# 1997-06-22 fl Save floating point images -# 1997-08-27 fl Read and save 1-bit images -# 1998-06-25 fl Added support for RGB+LUT images -# 1998-07-02 fl Added support for YCC images -# 1998-07-15 fl Renamed offset attribute to avoid name clash -# 1998-12-29 fl Added I;16 support -# 2001-02-17 fl Use 're' instead of 'regex' (Python 2.1) (0.7) -# 2003-09-26 fl Added LA/PA support -# -# Copyright (c) 1997-2003 by Secret Labs AB. -# Copyright (c) 1995-2001 by Fredrik Lundh. -# -# See the README file for information on usage and redistribution. -# - - -import os -import re - -from . import Image, ImageFile, ImagePalette - -# -------------------------------------------------------------------- -# Standard tags - -COMMENT = "Comment" -DATE = "Date" -EQUIPMENT = "Digitalization equipment" -FRAMES = "File size (no of images)" -LUT = "Lut" -NAME = "Name" -SCALE = "Scale (x,y)" -SIZE = "Image size (x*y)" -MODE = "Image type" - -TAGS = { - COMMENT: 0, - DATE: 0, - EQUIPMENT: 0, - FRAMES: 0, - LUT: 0, - NAME: 0, - SCALE: 0, - SIZE: 0, - MODE: 0, -} - -OPEN = { - # ifunc93/p3cfunc formats - "0 1 image": ("1", "1"), - "L 1 image": ("1", "1"), - "Greyscale image": ("L", "L"), - "Grayscale image": ("L", "L"), - "RGB image": ("RGB", "RGB;L"), - "RLB image": ("RGB", "RLB"), - "RYB image": ("RGB", "RLB"), - "B1 image": ("1", "1"), - "B2 image": ("P", "P;2"), - "B4 image": ("P", "P;4"), - "X 24 image": ("RGB", "RGB"), - "L 32 S image": ("I", "I;32"), - "L 32 F image": ("F", "F;32"), - # old p3cfunc formats - "RGB3 image": ("RGB", "RGB;T"), - "RYB3 image": ("RGB", "RYB;T"), - # extensions - "LA image": ("LA", "LA;L"), - "PA image": ("LA", "PA;L"), - "RGBA image": ("RGBA", "RGBA;L"), - "RGBX image": ("RGBX", "RGBX;L"), - "CMYK image": ("CMYK", "CMYK;L"), - "YCC image": ("YCbCr", "YCbCr;L"), -} - -# ifunc95 extensions -for i in ["8", "8S", "16", "16S", "32", "32F"]: - OPEN[f"L {i} image"] = ("F", f"F;{i}") - OPEN[f"L*{i} image"] = ("F", f"F;{i}") -for i in ["16", "16L", "16B"]: - OPEN[f"L {i} image"] = (f"I;{i}", f"I;{i}") - OPEN[f"L*{i} image"] = (f"I;{i}", f"I;{i}") -for i in ["32S"]: - OPEN[f"L {i} image"] = ("I", f"I;{i}") - OPEN[f"L*{i} image"] = ("I", f"I;{i}") -for i in range(2, 33): - OPEN[f"L*{i} image"] = ("F", f"F;{i}") - - -# -------------------------------------------------------------------- -# Read IM directory - -split = re.compile(br"^([A-Za-z][^:]*):[ \t]*(.*)[ \t]*$") - - -def number(s): - try: - return int(s) - except ValueError: - return float(s) - - -## -# Image plugin for the IFUNC IM file format. - - -class ImImageFile(ImageFile.ImageFile): - - format = "IM" - format_description = "IFUNC Image Memory" - _close_exclusive_fp_after_loading = False - - def _open(self): - - # Quick rejection: if there's not an LF among the first - # 100 bytes, this is (probably) not a text header. - - if b"\n" not in self.fp.read(100): - raise SyntaxError("not an IM file") - self.fp.seek(0) - - n = 0 - - # Default values - self.info[MODE] = "L" - self.info[SIZE] = (512, 512) - self.info[FRAMES] = 1 - - self.rawmode = "L" - - while True: - - s = self.fp.read(1) - - # Some versions of IFUNC uses \n\r instead of \r\n... - if s == b"\r": - continue - - if not s or s == b"\0" or s == b"\x1A": - break - - # FIXME: this may read whole file if not a text file - s = s + self.fp.readline() - - if len(s) > 100: - raise SyntaxError("not an IM file") - - if s[-2:] == b"\r\n": - s = s[:-2] - elif s[-1:] == b"\n": - s = s[:-1] - - try: - m = split.match(s) - except re.error as e: - raise SyntaxError("not an IM file") from e - - if m: - - k, v = m.group(1, 2) - - # Don't know if this is the correct encoding, - # but a decent guess (I guess) - k = k.decode("latin-1", "replace") - v = v.decode("latin-1", "replace") - - # Convert value as appropriate - if k in [FRAMES, SCALE, SIZE]: - v = v.replace("*", ",") - v = tuple(map(number, v.split(","))) - if len(v) == 1: - v = v[0] - elif k == MODE and v in OPEN: - v, self.rawmode = OPEN[v] - - # Add to dictionary. Note that COMMENT tags are - # combined into a list of strings. - if k == COMMENT: - if k in self.info: - self.info[k].append(v) - else: - self.info[k] = [v] - else: - self.info[k] = v - - if k in TAGS: - n += 1 - - else: - - raise SyntaxError( - "Syntax error in IM header: " + s.decode("ascii", "replace") - ) - - if not n: - raise SyntaxError("Not an IM file") - - # Basic attributes - self._size = self.info[SIZE] - self.mode = self.info[MODE] - - # Skip forward to start of image data - while s and s[0:1] != b"\x1A": - s = self.fp.read(1) - if not s: - raise SyntaxError("File truncated") - - if LUT in self.info: - # convert lookup table to palette or lut attribute - palette = self.fp.read(768) - greyscale = 1 # greyscale palette - linear = 1 # linear greyscale palette - for i in range(256): - if palette[i] == palette[i + 256] == palette[i + 512]: - if palette[i] != i: - linear = 0 - else: - greyscale = 0 - if self.mode in ["L", "LA", "P", "PA"]: - if greyscale: - if not linear: - self.lut = list(palette[:256]) - else: - if self.mode in ["L", "P"]: - self.mode = self.rawmode = "P" - elif self.mode in ["LA", "PA"]: - self.mode = "PA" - self.rawmode = "PA;L" - self.palette = ImagePalette.raw("RGB;L", palette) - elif self.mode == "RGB": - if not greyscale or not linear: - self.lut = list(palette) - - self.frame = 0 - - self.__offset = offs = self.fp.tell() - - self.__fp = self.fp # FIXME: hack - - if self.rawmode[:2] == "F;": - - # ifunc95 formats - try: - # use bit decoder (if necessary) - bits = int(self.rawmode[2:]) - if bits not in [8, 16, 32]: - self.tile = [("bit", (0, 0) + self.size, offs, (bits, 8, 3, 0, -1))] - return - except ValueError: - pass - - if self.rawmode in ["RGB;T", "RYB;T"]: - # Old LabEye/3PC files. Would be very surprised if anyone - # ever stumbled upon such a file ;-) - size = self.size[0] * self.size[1] - self.tile = [ - ("raw", (0, 0) + self.size, offs, ("G", 0, -1)), - ("raw", (0, 0) + self.size, offs + size, ("R", 0, -1)), - ("raw", (0, 0) + self.size, offs + 2 * size, ("B", 0, -1)), - ] - else: - # LabEye/IFUNC files - self.tile = [("raw", (0, 0) + self.size, offs, (self.rawmode, 0, -1))] - - @property - def n_frames(self): - return self.info[FRAMES] - - @property - def is_animated(self): - return self.info[FRAMES] > 1 - - def seek(self, frame): - if not self._seek_check(frame): - return - - self.frame = frame - - if self.mode == "1": - bits = 1 - else: - bits = 8 * len(self.mode) - - size = ((self.size[0] * bits + 7) // 8) * self.size[1] - offs = self.__offset + frame * size - - self.fp = self.__fp - - self.tile = [("raw", (0, 0) + self.size, offs, (self.rawmode, 0, -1))] - - def tell(self): - return self.frame - - def _close__fp(self): - try: - if self.__fp != self.fp: - self.__fp.close() - except AttributeError: - pass - finally: - self.__fp = None - - -# -# -------------------------------------------------------------------- -# Save IM files - - -SAVE = { - # mode: (im type, raw mode) - "1": ("0 1", "1"), - "L": ("Greyscale", "L"), - "LA": ("LA", "LA;L"), - "P": ("Greyscale", "P"), - "PA": ("LA", "PA;L"), - "I": ("L 32S", "I;32S"), - "I;16": ("L 16", "I;16"), - "I;16L": ("L 16L", "I;16L"), - "I;16B": ("L 16B", "I;16B"), - "F": ("L 32F", "F;32F"), - "RGB": ("RGB", "RGB;L"), - "RGBA": ("RGBA", "RGBA;L"), - "RGBX": ("RGBX", "RGBX;L"), - "CMYK": ("CMYK", "CMYK;L"), - "YCbCr": ("YCC", "YCbCr;L"), -} - - -def _save(im, fp, filename): - - try: - image_type, rawmode = SAVE[im.mode] - except KeyError as e: - raise ValueError(f"Cannot save {im.mode} images as IM") from e - - frames = im.encoderinfo.get("frames", 1) - - fp.write(f"Image type: {image_type} image\r\n".encode("ascii")) - if filename: - # Each line must be 100 characters or less, - # or: SyntaxError("not an IM file") - # 8 characters are used for "Name: " and "\r\n" - # Keep just the filename, ditch the potentially overlong path - name, ext = os.path.splitext(os.path.basename(filename)) - name = "".join([name[: 92 - len(ext)], ext]) - - fp.write(f"Name: {name}\r\n".encode("ascii")) - fp.write(("Image size (x*y): %d*%d\r\n" % im.size).encode("ascii")) - fp.write(f"File size (no of images): {frames}\r\n".encode("ascii")) - if im.mode in ["P", "PA"]: - fp.write(b"Lut: 1\r\n") - fp.write(b"\000" * (511 - fp.tell()) + b"\032") - if im.mode in ["P", "PA"]: - fp.write(im.im.getpalette("RGB", "RGB;L")) # 768 bytes - ImageFile._save(im, fp, [("raw", (0, 0) + im.size, 0, (rawmode, 0, -1))]) - - -# -# -------------------------------------------------------------------- -# Registry - - -Image.register_open(ImImageFile.format, ImImageFile) -Image.register_save(ImImageFile.format, _save) - -Image.register_extension(ImImageFile.format, ".im") diff --git a/venv/lib/python3.8/site-packages/PIL/Image.py b/venv/lib/python3.8/site-packages/PIL/Image.py deleted file mode 100644 index e2540a2b..00000000 --- a/venv/lib/python3.8/site-packages/PIL/Image.py +++ /dev/null @@ -1,3491 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# the Image class wrapper -# -# partial release history: -# 1995-09-09 fl Created -# 1996-03-11 fl PIL release 0.0 (proof of concept) -# 1996-04-30 fl PIL release 0.1b1 -# 1999-07-28 fl PIL release 1.0 final -# 2000-06-07 fl PIL release 1.1 -# 2000-10-20 fl PIL release 1.1.1 -# 2001-05-07 fl PIL release 1.1.2 -# 2002-03-15 fl PIL release 1.1.3 -# 2003-05-10 fl PIL release 1.1.4 -# 2005-03-28 fl PIL release 1.1.5 -# 2006-12-02 fl PIL release 1.1.6 -# 2009-11-15 fl PIL release 1.1.7 -# -# Copyright (c) 1997-2009 by Secret Labs AB. All rights reserved. -# Copyright (c) 1995-2009 by Fredrik Lundh. -# -# See the README file for information on usage and redistribution. -# - -import atexit -import builtins -import io -import logging -import math -import numbers -import os -import struct -import sys -import tempfile -import warnings -import xml.etree.ElementTree -from collections.abc import Callable, MutableMapping -from pathlib import Path - -# VERSION was removed in Pillow 6.0.0. -# PILLOW_VERSION is deprecated and will be removed in a future release. -# Use __version__ instead. -from . import ( - ImageMode, - TiffTags, - UnidentifiedImageError, - __version__, - _plugins, - _raise_version_warning, -) -from ._binary import i32le -from ._util import deferred_error, isPath - -if sys.version_info >= (3, 7): - - def __getattr__(name): - if name == "PILLOW_VERSION": - _raise_version_warning() - return __version__ - raise AttributeError(f"module '{__name__}' has no attribute '{name}'") - - -else: - - from . import PILLOW_VERSION - - # Silence warning - assert PILLOW_VERSION - - -logger = logging.getLogger(__name__) - - -class DecompressionBombWarning(RuntimeWarning): - pass - - -class DecompressionBombError(Exception): - pass - - -# Limit to around a quarter gigabyte for a 24-bit (3 bpp) image -MAX_IMAGE_PIXELS = int(1024 * 1024 * 1024 // 4 // 3) - - -try: - # If the _imaging C module is not present, Pillow will not load. - # Note that other modules should not refer to _imaging directly; - # import Image and use the Image.core variable instead. - # Also note that Image.core is not a publicly documented interface, - # and should be considered private and subject to change. - from . import _imaging as core - - if __version__ != getattr(core, "PILLOW_VERSION", None): - raise ImportError( - "The _imaging extension was built for another version of Pillow or PIL:\n" - f"Core version: {getattr(core, 'PILLOW_VERSION', None)}\n" - f"Pillow version: {__version__}" - ) - -except ImportError as v: - core = deferred_error(ImportError("The _imaging C module is not installed.")) - # Explanations for ways that we know we might have an import error - if str(v).startswith("Module use of python"): - # The _imaging C module is present, but not compiled for - # the right version (windows only). Print a warning, if - # possible. - warnings.warn( - "The _imaging extension was built for another version of Python.", - RuntimeWarning, - ) - elif str(v).startswith("The _imaging extension"): - warnings.warn(str(v), RuntimeWarning) - # Fail here anyway. Don't let people run with a mostly broken Pillow. - # see docs/porting.rst - raise - - -# works everywhere, win for pypy, not cpython -USE_CFFI_ACCESS = hasattr(sys, "pypy_version_info") -try: - import cffi -except ImportError: - cffi = None - - -def isImageType(t): - """ - Checks if an object is an image object. - - .. warning:: - - This function is for internal use only. - - :param t: object to check if it's an image - :returns: True if the object is an image - """ - return hasattr(t, "im") - - -# -# Constants - -NONE = 0 - -# transpose -FLIP_LEFT_RIGHT = 0 -FLIP_TOP_BOTTOM = 1 -ROTATE_90 = 2 -ROTATE_180 = 3 -ROTATE_270 = 4 -TRANSPOSE = 5 -TRANSVERSE = 6 - -# transforms (also defined in Imaging.h) -AFFINE = 0 -EXTENT = 1 -PERSPECTIVE = 2 -QUAD = 3 -MESH = 4 - -# resampling filters (also defined in Imaging.h) -NEAREST = NONE = 0 -BOX = 4 -BILINEAR = LINEAR = 2 -HAMMING = 5 -BICUBIC = CUBIC = 3 -LANCZOS = ANTIALIAS = 1 - -_filters_support = {BOX: 0.5, BILINEAR: 1.0, HAMMING: 1.0, BICUBIC: 2.0, LANCZOS: 3.0} - - -# dithers -NEAREST = NONE = 0 -ORDERED = 1 # Not yet implemented -RASTERIZE = 2 # Not yet implemented -FLOYDSTEINBERG = 3 # default - -# palettes/quantizers -WEB = 0 -ADAPTIVE = 1 - -MEDIANCUT = 0 -MAXCOVERAGE = 1 -FASTOCTREE = 2 -LIBIMAGEQUANT = 3 - -# categories -NORMAL = 0 -SEQUENCE = 1 -CONTAINER = 2 - -if hasattr(core, "DEFAULT_STRATEGY"): - DEFAULT_STRATEGY = core.DEFAULT_STRATEGY - FILTERED = core.FILTERED - HUFFMAN_ONLY = core.HUFFMAN_ONLY - RLE = core.RLE - FIXED = core.FIXED - - -# -------------------------------------------------------------------- -# Registries - -ID = [] -OPEN = {} -MIME = {} -SAVE = {} -SAVE_ALL = {} -EXTENSION = {} -DECODERS = {} -ENCODERS = {} - -# -------------------------------------------------------------------- -# Modes supported by this version - -_MODEINFO = { - # NOTE: this table will be removed in future versions. use - # getmode* functions or ImageMode descriptors instead. - # official modes - "1": ("L", "L", ("1",)), - "L": ("L", "L", ("L",)), - "I": ("L", "I", ("I",)), - "F": ("L", "F", ("F",)), - "P": ("P", "L", ("P",)), - "RGB": ("RGB", "L", ("R", "G", "B")), - "RGBX": ("RGB", "L", ("R", "G", "B", "X")), - "RGBA": ("RGB", "L", ("R", "G", "B", "A")), - "CMYK": ("RGB", "L", ("C", "M", "Y", "K")), - "YCbCr": ("RGB", "L", ("Y", "Cb", "Cr")), - "LAB": ("RGB", "L", ("L", "A", "B")), - "HSV": ("RGB", "L", ("H", "S", "V")), - # Experimental modes include I;16, I;16L, I;16B, RGBa, BGR;15, and - # BGR;24. Use these modes only if you know exactly what you're - # doing... -} - -if sys.byteorder == "little": - _ENDIAN = "<" -else: - _ENDIAN = ">" - -_MODE_CONV = { - # official modes - "1": ("|b1", None), # Bits need to be extended to bytes - "L": ("|u1", None), - "LA": ("|u1", 2), - "I": (_ENDIAN + "i4", None), - "F": (_ENDIAN + "f4", None), - "P": ("|u1", None), - "RGB": ("|u1", 3), - "RGBX": ("|u1", 4), - "RGBA": ("|u1", 4), - "CMYK": ("|u1", 4), - "YCbCr": ("|u1", 3), - "LAB": ("|u1", 3), # UNDONE - unsigned |u1i1i1 - "HSV": ("|u1", 3), - # I;16 == I;16L, and I;32 == I;32L - "I;16": ("u2", None), - "I;16L": ("i2", None), - "I;16LS": ("u4", None), - "I;32L": ("i4", None), - "I;32LS": ("= 1: - return - - try: - from . import BmpImagePlugin - - assert BmpImagePlugin - except ImportError: - pass - try: - from . import GifImagePlugin - - assert GifImagePlugin - except ImportError: - pass - try: - from . import JpegImagePlugin - - assert JpegImagePlugin - except ImportError: - pass - try: - from . import PpmImagePlugin - - assert PpmImagePlugin - except ImportError: - pass - try: - from . import PngImagePlugin - - assert PngImagePlugin - except ImportError: - pass - # try: - # import TiffImagePlugin - # assert TiffImagePlugin - # except ImportError: - # pass - - _initialized = 1 - - -def init(): - """ - Explicitly initializes the Python Imaging Library. This function - loads all available file format drivers. - """ - - global _initialized - if _initialized >= 2: - return 0 - - for plugin in _plugins: - try: - logger.debug("Importing %s", plugin) - __import__(f"PIL.{plugin}", globals(), locals(), []) - except ImportError as e: - logger.debug("Image: failed to import %s: %s", plugin, e) - - if OPEN or SAVE: - _initialized = 2 - return 1 - - -# -------------------------------------------------------------------- -# Codec factories (used by tobytes/frombytes and ImageFile.load) - - -def _getdecoder(mode, decoder_name, args, extra=()): - - # tweak arguments - if args is None: - args = () - elif not isinstance(args, tuple): - args = (args,) - - try: - decoder = DECODERS[decoder_name] - except KeyError: - pass - else: - return decoder(mode, *args + extra) - - try: - # get decoder - decoder = getattr(core, decoder_name + "_decoder") - except AttributeError as e: - raise OSError(f"decoder {decoder_name} not available") from e - return decoder(mode, *args + extra) - - -def _getencoder(mode, encoder_name, args, extra=()): - - # tweak arguments - if args is None: - args = () - elif not isinstance(args, tuple): - args = (args,) - - try: - encoder = ENCODERS[encoder_name] - except KeyError: - pass - else: - return encoder(mode, *args + extra) - - try: - # get encoder - encoder = getattr(core, encoder_name + "_encoder") - except AttributeError as e: - raise OSError(f"encoder {encoder_name} not available") from e - return encoder(mode, *args + extra) - - -# -------------------------------------------------------------------- -# Simple expression analyzer - - -def coerce_e(value): - return value if isinstance(value, _E) else _E(value) - - -class _E: - def __init__(self, data): - self.data = data - - def __add__(self, other): - return _E((self.data, "__add__", coerce_e(other).data)) - - def __mul__(self, other): - return _E((self.data, "__mul__", coerce_e(other).data)) - - -def _getscaleoffset(expr): - stub = ["stub"] - data = expr(_E(stub)).data - try: - (a, b, c) = data # simplified syntax - if a is stub and b == "__mul__" and isinstance(c, numbers.Number): - return c, 0.0 - if a is stub and b == "__add__" and isinstance(c, numbers.Number): - return 1.0, c - except TypeError: - pass - try: - ((a, b, c), d, e) = data # full syntax - if ( - a is stub - and b == "__mul__" - and isinstance(c, numbers.Number) - and d == "__add__" - and isinstance(e, numbers.Number) - ): - return c, e - except TypeError: - pass - raise ValueError("illegal expression") - - -# -------------------------------------------------------------------- -# Implementation wrapper - - -class Image: - """ - This class represents an image object. To create - :py:class:`~PIL.Image.Image` objects, use the appropriate factory - functions. There's hardly ever any reason to call the Image constructor - directly. - - * :py:func:`~PIL.Image.open` - * :py:func:`~PIL.Image.new` - * :py:func:`~PIL.Image.frombytes` - """ - - format = None - format_description = None - _close_exclusive_fp_after_loading = True - - def __init__(self): - # FIXME: take "new" parameters / other image? - # FIXME: turn mode and size into delegating properties? - self.im = None - self.mode = "" - self._size = (0, 0) - self.palette = None - self.info = {} - self.category = NORMAL - self.readonly = 0 - self.pyaccess = None - self._exif = None - - @property - def width(self): - return self.size[0] - - @property - def height(self): - return self.size[1] - - @property - def size(self): - return self._size - - def _new(self, im): - new = Image() - new.im = im - new.mode = im.mode - new._size = im.size - if im.mode in ("P", "PA"): - if self.palette: - new.palette = self.palette.copy() - else: - from . import ImagePalette - - new.palette = ImagePalette.ImagePalette() - new.info = self.info.copy() - return new - - # Context manager support - def __enter__(self): - return self - - def __exit__(self, *args): - if hasattr(self, "fp") and getattr(self, "_exclusive_fp", False): - if hasattr(self, "_close__fp"): - self._close__fp() - if self.fp: - self.fp.close() - self.fp = None - - def close(self): - """ - Closes the file pointer, if possible. - - This operation will destroy the image core and release its memory. - The image data will be unusable afterward. - - This function is only required to close images that have not - had their file read and closed by the - :py:meth:`~PIL.Image.Image.load` method. See - :ref:`file-handling` for more information. - """ - try: - if hasattr(self, "_close__fp"): - self._close__fp() - if self.fp: - self.fp.close() - self.fp = None - except Exception as msg: - logger.debug("Error closing: %s", msg) - - if getattr(self, "map", None): - self.map = None - - # Instead of simply setting to None, we're setting up a - # deferred error that will better explain that the core image - # object is gone. - self.im = deferred_error(ValueError("Operation on closed image")) - - def _copy(self): - self.load() - self.im = self.im.copy() - self.pyaccess = None - self.readonly = 0 - - def _ensure_mutable(self): - if self.readonly: - self._copy() - else: - self.load() - - def _dump(self, file=None, format=None, **options): - suffix = "" - if format: - suffix = "." + format - - if not file: - f, filename = tempfile.mkstemp(suffix) - os.close(f) - else: - filename = file - if not filename.endswith(suffix): - filename = filename + suffix - - self.load() - - if not format or format == "PPM": - self.im.save_ppm(filename) - else: - self.save(filename, format, **options) - - return filename - - def __eq__(self, other): - return ( - self.__class__ is other.__class__ - and self.mode == other.mode - and self.size == other.size - and self.info == other.info - and self.category == other.category - and self.readonly == other.readonly - and self.getpalette() == other.getpalette() - and self.tobytes() == other.tobytes() - ) - - def __repr__(self): - return "<%s.%s image mode=%s size=%dx%d at 0x%X>" % ( - self.__class__.__module__, - self.__class__.__name__, - self.mode, - self.size[0], - self.size[1], - id(self), - ) - - def _repr_png_(self): - """iPython display hook support - - :returns: png version of the image as bytes - """ - b = io.BytesIO() - try: - self.save(b, "PNG") - except Exception as e: - raise ValueError("Could not save to PNG for display") from e - return b.getvalue() - - @property - def __array_interface__(self): - # numpy array interface support - new = {} - shape, typestr = _conv_type_shape(self) - new["shape"] = shape - new["typestr"] = typestr - new["version"] = 3 - if self.mode == "1": - # Binary images need to be extended from bits to bytes - # See: https://github.com/python-pillow/Pillow/issues/350 - new["data"] = self.tobytes("raw", "L") - else: - new["data"] = self.tobytes() - return new - - def __getstate__(self): - return [self.info, self.mode, self.size, self.getpalette(), self.tobytes()] - - def __setstate__(self, state): - Image.__init__(self) - self.tile = [] - info, mode, size, palette, data = state - self.info = info - self.mode = mode - self._size = size - self.im = core.new(mode, size) - if mode in ("L", "LA", "P", "PA") and palette: - self.putpalette(palette) - self.frombytes(data) - - def tobytes(self, encoder_name="raw", *args): - """ - Return image as a bytes object. - - .. warning:: - - This method returns the raw image data from the internal - storage. For compressed image data (e.g. PNG, JPEG) use - :meth:`~.save`, with a BytesIO parameter for in-memory - data. - - :param encoder_name: What encoder to use. The default is to - use the standard "raw" encoder. - :param args: Extra arguments to the encoder. - :returns: A :py:class:`bytes` object. - """ - - # may pass tuple instead of argument list - if len(args) == 1 and isinstance(args[0], tuple): - args = args[0] - - if encoder_name == "raw" and args == (): - args = self.mode - - self.load() - - # unpack data - e = _getencoder(self.mode, encoder_name, args) - e.setimage(self.im) - - bufsize = max(65536, self.size[0] * 4) # see RawEncode.c - - data = [] - while True: - l, s, d = e.encode(bufsize) - data.append(d) - if s: - break - if s < 0: - raise RuntimeError(f"encoder error {s} in tobytes") - - return b"".join(data) - - def tobitmap(self, name="image"): - """ - Returns the image converted to an X11 bitmap. - - .. note:: This method only works for mode "1" images. - - :param name: The name prefix to use for the bitmap variables. - :returns: A string containing an X11 bitmap. - :raises ValueError: If the mode is not "1" - """ - - self.load() - if self.mode != "1": - raise ValueError("not a bitmap") - data = self.tobytes("xbm") - return b"".join( - [ - f"#define {name}_width {self.size[0]}\n".encode("ascii"), - f"#define {name}_height {self.size[1]}\n".encode("ascii"), - f"static char {name}_bits[] = {{\n".encode("ascii"), - data, - b"};", - ] - ) - - def frombytes(self, data, decoder_name="raw", *args): - """ - Loads this image with pixel data from a bytes object. - - This method is similar to the :py:func:`~PIL.Image.frombytes` function, - but loads data into this image instead of creating a new image object. - """ - - # may pass tuple instead of argument list - if len(args) == 1 and isinstance(args[0], tuple): - args = args[0] - - # default format - if decoder_name == "raw" and args == (): - args = self.mode - - # unpack data - d = _getdecoder(self.mode, decoder_name, args) - d.setimage(self.im) - s = d.decode(data) - - if s[0] >= 0: - raise ValueError("not enough image data") - if s[1] != 0: - raise ValueError("cannot decode image data") - - def load(self): - """ - Allocates storage for the image and loads the pixel data. In - normal cases, you don't need to call this method, since the - Image class automatically loads an opened image when it is - accessed for the first time. - - If the file associated with the image was opened by Pillow, then this - method will close it. The exception to this is if the image has - multiple frames, in which case the file will be left open for seek - operations. See :ref:`file-handling` for more information. - - :returns: An image access object. - :rtype: :ref:`PixelAccess` or :py:class:`PIL.PyAccess` - """ - if self.im and self.palette and self.palette.dirty: - # realize palette - mode, arr = self.palette.getdata() - if mode == "RGBA": - mode = "RGB" - self.info["transparency"] = arr[3::4] - arr = bytes( - value for (index, value) in enumerate(arr) if index % 4 != 3 - ) - self.im.putpalette(mode, arr) - self.palette.dirty = 0 - self.palette.rawmode = None - if "transparency" in self.info: - if isinstance(self.info["transparency"], int): - self.im.putpalettealpha(self.info["transparency"], 0) - else: - self.im.putpalettealphas(self.info["transparency"]) - self.palette.mode = "RGBA" - else: - self.palette.mode = "RGB" - - if self.im: - if cffi and USE_CFFI_ACCESS: - if self.pyaccess: - return self.pyaccess - from . import PyAccess - - self.pyaccess = PyAccess.new(self, self.readonly) - if self.pyaccess: - return self.pyaccess - return self.im.pixel_access(self.readonly) - - def verify(self): - """ - Verifies the contents of a file. For data read from a file, this - method attempts to determine if the file is broken, without - actually decoding the image data. If this method finds any - problems, it raises suitable exceptions. If you need to load - the image after using this method, you must reopen the image - file. - """ - pass - - def convert(self, mode=None, matrix=None, dither=None, palette=WEB, colors=256): - """ - Returns a converted copy of this image. For the "P" mode, this - method translates pixels through the palette. If mode is - omitted, a mode is chosen so that all information in the image - and the palette can be represented without a palette. - - The current version supports all possible conversions between - "L", "RGB" and "CMYK." The ``matrix`` argument only supports "L" - and "RGB". - - When translating a color image to greyscale (mode "L"), - the library uses the ITU-R 601-2 luma transform:: - - L = R * 299/1000 + G * 587/1000 + B * 114/1000 - - The default method of converting a greyscale ("L") or "RGB" - image into a bilevel (mode "1") image uses Floyd-Steinberg - dither to approximate the original image luminosity levels. If - dither is :data:`NONE`, all values larger than 128 are set to 255 (white), - all other values to 0 (black). To use other thresholds, use the - :py:meth:`~PIL.Image.Image.point` method. - - When converting from "RGBA" to "P" without a ``matrix`` argument, - this passes the operation to :py:meth:`~PIL.Image.Image.quantize`, - and ``dither`` and ``palette`` are ignored. - - :param mode: The requested mode. See: :ref:`concept-modes`. - :param matrix: An optional conversion matrix. If given, this - should be 4- or 12-tuple containing floating point values. - :param dither: Dithering method, used when converting from - mode "RGB" to "P" or from "RGB" or "L" to "1". - Available methods are :data:`NONE` or :data:`FLOYDSTEINBERG` (default). - Note that this is not used when ``matrix`` is supplied. - :param palette: Palette to use when converting from mode "RGB" - to "P". Available palettes are :data:`WEB` or :data:`ADAPTIVE`. - :param colors: Number of colors to use for the :data:`ADAPTIVE` palette. - Defaults to 256. - :rtype: :py:class:`~PIL.Image.Image` - :returns: An :py:class:`~PIL.Image.Image` object. - """ - - self.load() - - if not mode and self.mode == "P": - # determine default mode - if self.palette: - mode = self.palette.mode - else: - mode = "RGB" - if not mode or (mode == self.mode and not matrix): - return self.copy() - - has_transparency = self.info.get("transparency") is not None - if matrix: - # matrix conversion - if mode not in ("L", "RGB"): - raise ValueError("illegal conversion") - im = self.im.convert_matrix(mode, matrix) - new = self._new(im) - if has_transparency and self.im.bands == 3: - transparency = new.info["transparency"] - - def convert_transparency(m, v): - v = m[0] * v[0] + m[1] * v[1] + m[2] * v[2] + m[3] * 0.5 - return max(0, min(255, int(v))) - - if mode == "L": - transparency = convert_transparency(matrix, transparency) - elif len(mode) == 3: - transparency = tuple( - [ - convert_transparency( - matrix[i * 4 : i * 4 + 4], transparency - ) - for i in range(0, len(transparency)) - ] - ) - new.info["transparency"] = transparency - return new - - if mode == "P" and self.mode == "RGBA": - return self.quantize(colors) - - trns = None - delete_trns = False - # transparency handling - if has_transparency: - if self.mode in ("1", "L", "I", "RGB") and mode == "RGBA": - # Use transparent conversion to promote from transparent - # color to an alpha channel. - new_im = self._new( - self.im.convert_transparent(mode, self.info["transparency"]) - ) - del new_im.info["transparency"] - return new_im - elif self.mode in ("L", "RGB", "P") and mode in ("L", "RGB", "P"): - t = self.info["transparency"] - if isinstance(t, bytes): - # Dragons. This can't be represented by a single color - warnings.warn( - "Palette images with Transparency expressed in bytes should be " - "converted to RGBA images" - ) - delete_trns = True - else: - # get the new transparency color. - # use existing conversions - trns_im = Image()._new(core.new(self.mode, (1, 1))) - if self.mode == "P": - trns_im.putpalette(self.palette) - if isinstance(t, tuple): - try: - t = trns_im.palette.getcolor(t) - except Exception as e: - raise ValueError( - "Couldn't allocate a palette color for transparency" - ) from e - trns_im.putpixel((0, 0), t) - - if mode in ("L", "RGB"): - trns_im = trns_im.convert(mode) - else: - # can't just retrieve the palette number, got to do it - # after quantization. - trns_im = trns_im.convert("RGB") - trns = trns_im.getpixel((0, 0)) - - elif self.mode == "P" and mode == "RGBA": - t = self.info["transparency"] - delete_trns = True - - if isinstance(t, bytes): - self.im.putpalettealphas(t) - elif isinstance(t, int): - self.im.putpalettealpha(t, 0) - else: - raise ValueError("Transparency for P mode should be bytes or int") - - if mode == "P" and palette == ADAPTIVE: - im = self.im.quantize(colors) - new = self._new(im) - from . import ImagePalette - - new.palette = ImagePalette.raw("RGB", new.im.getpalette("RGB")) - if delete_trns: - # This could possibly happen if we requantize to fewer colors. - # The transparency would be totally off in that case. - del new.info["transparency"] - if trns is not None: - try: - new.info["transparency"] = new.palette.getcolor(trns) - except Exception: - # if we can't make a transparent color, don't leave the old - # transparency hanging around to mess us up. - del new.info["transparency"] - warnings.warn("Couldn't allocate palette entry for transparency") - return new - - # colorspace conversion - if dither is None: - dither = FLOYDSTEINBERG - - try: - im = self.im.convert(mode, dither) - except ValueError: - try: - # normalize source image and try again - im = self.im.convert(getmodebase(self.mode)) - im = im.convert(mode, dither) - except KeyError as e: - raise ValueError("illegal conversion") from e - - new_im = self._new(im) - if delete_trns: - # crash fail if we leave a bytes transparency in an rgb/l mode. - del new_im.info["transparency"] - if trns is not None: - if new_im.mode == "P": - try: - new_im.info["transparency"] = new_im.palette.getcolor(trns) - except Exception: - del new_im.info["transparency"] - warnings.warn("Couldn't allocate palette entry for transparency") - else: - new_im.info["transparency"] = trns - return new_im - - def quantize(self, colors=256, method=None, kmeans=0, palette=None, dither=1): - """ - Convert the image to 'P' mode with the specified number - of colors. - - :param colors: The desired number of colors, <= 256 - :param method: :data:`MEDIANCUT` (median cut), - :data:`MAXCOVERAGE` (maximum coverage), - :data:`FASTOCTREE` (fast octree), - :data:`LIBIMAGEQUANT` (libimagequant; check support using - :py:func:`PIL.features.check_feature` - with ``feature="libimagequant"``). - :param kmeans: Integer - :param palette: Quantize to the palette of given - :py:class:`PIL.Image.Image`. - :param dither: Dithering method, used when converting from - mode "RGB" to "P" or from "RGB" or "L" to "1". - Available methods are :data:`NONE` or :data:`FLOYDSTEINBERG` (default). - Default: 1 (legacy setting) - :returns: A new image - - """ - - self.load() - - if method is None: - # defaults: - method = 0 - if self.mode == "RGBA": - method = 2 - - if self.mode == "RGBA" and method not in (2, 3): - # Caller specified an invalid mode. - raise ValueError( - "Fast Octree (method == 2) and libimagequant (method == 3) " - "are the only valid methods for quantizing RGBA images" - ) - - if palette: - # use palette from reference image - palette.load() - if palette.mode != "P": - raise ValueError("bad mode for palette image") - if self.mode != "RGB" and self.mode != "L": - raise ValueError( - "only RGB or L mode images can be quantized to a palette" - ) - im = self.im.convert("P", dither, palette.im) - return self._new(im) - - im = self._new(self.im.quantize(colors, method, kmeans)) - - from . import ImagePalette - - mode = im.im.getpalettemode() - im.palette = ImagePalette.ImagePalette(mode, im.im.getpalette(mode, mode)) - - return im - - def copy(self): - """ - Copies this image. Use this method if you wish to paste things - into an image, but still retain the original. - - :rtype: :py:class:`~PIL.Image.Image` - :returns: An :py:class:`~PIL.Image.Image` object. - """ - self.load() - return self._new(self.im.copy()) - - __copy__ = copy - - def crop(self, box=None): - """ - Returns a rectangular region from this image. The box is a - 4-tuple defining the left, upper, right, and lower pixel - coordinate. See :ref:`coordinate-system`. - - Note: Prior to Pillow 3.4.0, this was a lazy operation. - - :param box: The crop rectangle, as a (left, upper, right, lower)-tuple. - :rtype: :py:class:`~PIL.Image.Image` - :returns: An :py:class:`~PIL.Image.Image` object. - """ - - if box is None: - return self.copy() - - self.load() - return self._new(self._crop(self.im, box)) - - def _crop(self, im, box): - """ - Returns a rectangular region from the core image object im. - - This is equivalent to calling im.crop((x0, y0, x1, y1)), but - includes additional sanity checks. - - :param im: a core image object - :param box: The crop rectangle, as a (left, upper, right, lower)-tuple. - :returns: A core image object. - """ - - x0, y0, x1, y1 = map(int, map(round, box)) - - absolute_values = (abs(x1 - x0), abs(y1 - y0)) - - _decompression_bomb_check(absolute_values) - - return im.crop((x0, y0, x1, y1)) - - def draft(self, mode, size): - """ - Configures the image file loader so it returns a version of the - image that as closely as possible matches the given mode and - size. For example, you can use this method to convert a color - JPEG to greyscale while loading it. - - If any changes are made, returns a tuple with the chosen ``mode`` and - ``box`` with coordinates of the original image within the altered one. - - Note that this method modifies the :py:class:`~PIL.Image.Image` object - in place. If the image has already been loaded, this method has no - effect. - - Note: This method is not implemented for most images. It is - currently implemented only for JPEG and MPO images. - - :param mode: The requested mode. - :param size: The requested size. - """ - pass - - def _expand(self, xmargin, ymargin=None): - if ymargin is None: - ymargin = xmargin - self.load() - return self._new(self.im.expand(xmargin, ymargin, 0)) - - def filter(self, filter): - """ - Filters this image using the given filter. For a list of - available filters, see the :py:mod:`~PIL.ImageFilter` module. - - :param filter: Filter kernel. - :returns: An :py:class:`~PIL.Image.Image` object.""" - - from . import ImageFilter - - self.load() - - if isinstance(filter, Callable): - filter = filter() - if not hasattr(filter, "filter"): - raise TypeError( - "filter argument should be ImageFilter.Filter instance or class" - ) - - multiband = isinstance(filter, ImageFilter.MultibandFilter) - if self.im.bands == 1 or multiband: - return self._new(filter.filter(self.im)) - - ims = [] - for c in range(self.im.bands): - ims.append(self._new(filter.filter(self.im.getband(c)))) - return merge(self.mode, ims) - - def getbands(self): - """ - Returns a tuple containing the name of each band in this image. - For example, ``getbands`` on an RGB image returns ("R", "G", "B"). - - :returns: A tuple containing band names. - :rtype: tuple - """ - return ImageMode.getmode(self.mode).bands - - def getbbox(self): - """ - Calculates the bounding box of the non-zero regions in the - image. - - :returns: The bounding box is returned as a 4-tuple defining the - left, upper, right, and lower pixel coordinate. See - :ref:`coordinate-system`. If the image is completely empty, this - method returns None. - - """ - - self.load() - return self.im.getbbox() - - def getcolors(self, maxcolors=256): - """ - Returns a list of colors used in this image. - - :param maxcolors: Maximum number of colors. If this number is - exceeded, this method returns None. The default limit is - 256 colors. - :returns: An unsorted list of (count, pixel) values. - """ - - self.load() - if self.mode in ("1", "L", "P"): - h = self.im.histogram() - out = [] - for i in range(256): - if h[i]: - out.append((h[i], i)) - if len(out) > maxcolors: - return None - return out - return self.im.getcolors(maxcolors) - - def getdata(self, band=None): - """ - Returns the contents of this image as a sequence object - containing pixel values. The sequence object is flattened, so - that values for line one follow directly after the values of - line zero, and so on. - - Note that the sequence object returned by this method is an - internal PIL data type, which only supports certain sequence - operations. To convert it to an ordinary sequence (e.g. for - printing), use ``list(im.getdata())``. - - :param band: What band to return. The default is to return - all bands. To return a single band, pass in the index - value (e.g. 0 to get the "R" band from an "RGB" image). - :returns: A sequence-like object. - """ - - self.load() - if band is not None: - return self.im.getband(band) - return self.im # could be abused - - def getextrema(self): - """ - Gets the the minimum and maximum pixel values for each band in - the image. - - :returns: For a single-band image, a 2-tuple containing the - minimum and maximum pixel value. For a multi-band image, - a tuple containing one 2-tuple for each band. - """ - - self.load() - if self.im.bands > 1: - extrema = [] - for i in range(self.im.bands): - extrema.append(self.im.getband(i).getextrema()) - return tuple(extrema) - return self.im.getextrema() - - def getexif(self): - if self._exif is None: - self._exif = Exif() - - exif_info = self.info.get("exif") - if exif_info is None and "Raw profile type exif" in self.info: - exif_info = bytes.fromhex( - "".join(self.info["Raw profile type exif"].split("\n")[3:]) - ) - self._exif.load(exif_info) - - # XMP tags - if 0x0112 not in self._exif: - xmp_tags = self.info.get("XML:com.adobe.xmp") - if xmp_tags: - root = xml.etree.ElementTree.fromstring(xmp_tags) - for elem in root.iter(): - if elem.tag.endswith("}Description"): - orientation = elem.attrib.get( - "{http://ns.adobe.com/tiff/1.0/}Orientation" - ) - if orientation: - self._exif[0x0112] = int(orientation) - break - - return self._exif - - def getim(self): - """ - Returns a capsule that points to the internal image memory. - - :returns: A capsule object. - """ - - self.load() - return self.im.ptr - - def getpalette(self): - """ - Returns the image palette as a list. - - :returns: A list of color values [r, g, b, ...], or None if the - image has no palette. - """ - - self.load() - try: - return list(self.im.getpalette()) - except ValueError: - return None # no palette - - def getpixel(self, xy): - """ - Returns the pixel value at a given position. - - :param xy: The coordinate, given as (x, y). See - :ref:`coordinate-system`. - :returns: The pixel value. If the image is a multi-layer image, - this method returns a tuple. - """ - - self.load() - if self.pyaccess: - return self.pyaccess.getpixel(xy) - return self.im.getpixel(xy) - - def getprojection(self): - """ - Get projection to x and y axes - - :returns: Two sequences, indicating where there are non-zero - pixels along the X-axis and the Y-axis, respectively. - """ - - self.load() - x, y = self.im.getprojection() - return list(x), list(y) - - def histogram(self, mask=None, extrema=None): - """ - Returns a histogram for the image. The histogram is returned as - a list of pixel counts, one for each pixel value in the source - image. If the image has more than one band, the histograms for - all bands are concatenated (for example, the histogram for an - "RGB" image contains 768 values). - - A bilevel image (mode "1") is treated as a greyscale ("L") image - by this method. - - If a mask is provided, the method returns a histogram for those - parts of the image where the mask image is non-zero. The mask - image must have the same size as the image, and be either a - bi-level image (mode "1") or a greyscale image ("L"). - - :param mask: An optional mask. - :param extrema: An optional tuple of manually-specified extrema. - :returns: A list containing pixel counts. - """ - self.load() - if mask: - mask.load() - return self.im.histogram((0, 0), mask.im) - if self.mode in ("I", "F"): - if extrema is None: - extrema = self.getextrema() - return self.im.histogram(extrema) - return self.im.histogram() - - def entropy(self, mask=None, extrema=None): - """ - Calculates and returns the entropy for the image. - - A bilevel image (mode "1") is treated as a greyscale ("L") - image by this method. - - If a mask is provided, the method employs the histogram for - those parts of the image where the mask image is non-zero. - The mask image must have the same size as the image, and be - either a bi-level image (mode "1") or a greyscale image ("L"). - - :param mask: An optional mask. - :param extrema: An optional tuple of manually-specified extrema. - :returns: A float value representing the image entropy - """ - self.load() - if mask: - mask.load() - return self.im.entropy((0, 0), mask.im) - if self.mode in ("I", "F"): - if extrema is None: - extrema = self.getextrema() - return self.im.entropy(extrema) - return self.im.entropy() - - def paste(self, im, box=None, mask=None): - """ - Pastes another image into this image. The box argument is either - a 2-tuple giving the upper left corner, a 4-tuple defining the - left, upper, right, and lower pixel coordinate, or None (same as - (0, 0)). See :ref:`coordinate-system`. If a 4-tuple is given, the size - of the pasted image must match the size of the region. - - If the modes don't match, the pasted image is converted to the mode of - this image (see the :py:meth:`~PIL.Image.Image.convert` method for - details). - - Instead of an image, the source can be a integer or tuple - containing pixel values. The method then fills the region - with the given color. When creating RGB images, you can - also use color strings as supported by the ImageColor module. - - If a mask is given, this method updates only the regions - indicated by the mask. You can use either "1", "L" or "RGBA" - images (in the latter case, the alpha band is used as mask). - Where the mask is 255, the given image is copied as is. Where - the mask is 0, the current value is preserved. Intermediate - values will mix the two images together, including their alpha - channels if they have them. - - See :py:meth:`~PIL.Image.Image.alpha_composite` if you want to - combine images with respect to their alpha channels. - - :param im: Source image or pixel value (integer or tuple). - :param box: An optional 4-tuple giving the region to paste into. - If a 2-tuple is used instead, it's treated as the upper left - corner. If omitted or None, the source is pasted into the - upper left corner. - - If an image is given as the second argument and there is no - third, the box defaults to (0, 0), and the second argument - is interpreted as a mask image. - :param mask: An optional mask image. - """ - - if isImageType(box) and mask is None: - # abbreviated paste(im, mask) syntax - mask = box - box = None - - if box is None: - box = (0, 0) - - if len(box) == 2: - # upper left corner given; get size from image or mask - if isImageType(im): - size = im.size - elif isImageType(mask): - size = mask.size - else: - # FIXME: use self.size here? - raise ValueError("cannot determine region size; use 4-item box") - box += (box[0] + size[0], box[1] + size[1]) - - if isinstance(im, str): - from . import ImageColor - - im = ImageColor.getcolor(im, self.mode) - - elif isImageType(im): - im.load() - if self.mode != im.mode: - if self.mode != "RGB" or im.mode not in ("RGBA", "RGBa"): - # should use an adapter for this! - im = im.convert(self.mode) - im = im.im - - self._ensure_mutable() - - if mask: - mask.load() - self.im.paste(im, box, mask.im) - else: - self.im.paste(im, box) - - def alpha_composite(self, im, dest=(0, 0), source=(0, 0)): - """'In-place' analog of Image.alpha_composite. Composites an image - onto this image. - - :param im: image to composite over this one - :param dest: Optional 2 tuple (left, top) specifying the upper - left corner in this (destination) image. - :param source: Optional 2 (left, top) tuple for the upper left - corner in the overlay source image, or 4 tuple (left, top, right, - bottom) for the bounds of the source rectangle - - Performance Note: Not currently implemented in-place in the core layer. - """ - - if not isinstance(source, (list, tuple)): - raise ValueError("Source must be a tuple") - if not isinstance(dest, (list, tuple)): - raise ValueError("Destination must be a tuple") - if not len(source) in (2, 4): - raise ValueError("Source must be a 2 or 4-tuple") - if not len(dest) == 2: - raise ValueError("Destination must be a 2-tuple") - if min(source) < 0: - raise ValueError("Source must be non-negative") - if min(dest) < 0: - raise ValueError("Destination must be non-negative") - - if len(source) == 2: - source = source + im.size - - # over image, crop if it's not the whole thing. - if source == (0, 0) + im.size: - overlay = im - else: - overlay = im.crop(source) - - # target for the paste - box = dest + (dest[0] + overlay.width, dest[1] + overlay.height) - - # destination image. don't copy if we're using the whole image. - if box == (0, 0) + self.size: - background = self - else: - background = self.crop(box) - - result = alpha_composite(background, overlay) - self.paste(result, box) - - def point(self, lut, mode=None): - """ - Maps this image through a lookup table or function. - - :param lut: A lookup table, containing 256 (or 65536 if - self.mode=="I" and mode == "L") values per band in the - image. A function can be used instead, it should take a - single argument. The function is called once for each - possible pixel value, and the resulting table is applied to - all bands of the image. - - It may also be an :py:class:`~PIL.Image.ImagePointHandler` - object:: - - class Example(Image.ImagePointHandler): - def point(self, data): - # Return result - :param mode: Output mode (default is same as input). In the - current version, this can only be used if the source image - has mode "L" or "P", and the output has mode "1" or the - source image mode is "I" and the output mode is "L". - :returns: An :py:class:`~PIL.Image.Image` object. - """ - - self.load() - - if isinstance(lut, ImagePointHandler): - return lut.point(self) - - if callable(lut): - # if it isn't a list, it should be a function - if self.mode in ("I", "I;16", "F"): - # check if the function can be used with point_transform - # UNDONE wiredfool -- I think this prevents us from ever doing - # a gamma function point transform on > 8bit images. - scale, offset = _getscaleoffset(lut) - return self._new(self.im.point_transform(scale, offset)) - # for other modes, convert the function to a table - lut = [lut(i) for i in range(256)] * self.im.bands - - if self.mode == "F": - # FIXME: _imaging returns a confusing error message for this case - raise ValueError("point operation not supported for this mode") - - return self._new(self.im.point(lut, mode)) - - def putalpha(self, alpha): - """ - Adds or replaces the alpha layer in this image. If the image - does not have an alpha layer, it's converted to "LA" or "RGBA". - The new layer must be either "L" or "1". - - :param alpha: The new alpha layer. This can either be an "L" or "1" - image having the same size as this image, or an integer or - other color value. - """ - - self._ensure_mutable() - - if self.mode not in ("LA", "PA", "RGBA"): - # attempt to promote self to a matching alpha mode - try: - mode = getmodebase(self.mode) + "A" - try: - self.im.setmode(mode) - except (AttributeError, ValueError) as e: - # do things the hard way - im = self.im.convert(mode) - if im.mode not in ("LA", "PA", "RGBA"): - raise ValueError from e # sanity check - self.im = im - self.pyaccess = None - self.mode = self.im.mode - except KeyError as e: - raise ValueError("illegal image mode") from e - - if self.mode in ("LA", "PA"): - band = 1 - else: - band = 3 - - if isImageType(alpha): - # alpha layer - if alpha.mode not in ("1", "L"): - raise ValueError("illegal image mode") - alpha.load() - if alpha.mode == "1": - alpha = alpha.convert("L") - else: - # constant alpha - try: - self.im.fillband(band, alpha) - except (AttributeError, ValueError): - # do things the hard way - alpha = new("L", self.size, alpha) - else: - return - - self.im.putband(alpha.im, band) - - def putdata(self, data, scale=1.0, offset=0.0): - """ - Copies pixel data to this image. This method copies data from a - sequence object into the image, starting at the upper left - corner (0, 0), and continuing until either the image or the - sequence ends. The scale and offset values are used to adjust - the sequence values: **pixel = value*scale + offset**. - - :param data: A sequence object. - :param scale: An optional scale value. The default is 1.0. - :param offset: An optional offset value. The default is 0.0. - """ - - self._ensure_mutable() - - self.im.putdata(data, scale, offset) - - def putpalette(self, data, rawmode="RGB"): - """ - Attaches a palette to this image. The image must be a "P", "PA", "L" - or "LA" image. - - The palette sequence must contain either 768 integer values, or 1024 - integer values if alpha is included. Each group of values represents - the red, green, blue (and alpha if included) values for the - corresponding pixel index. Instead of an integer sequence, you can use - an 8-bit string. - - :param data: A palette sequence (either a list or a string). - :param rawmode: The raw mode of the palette. - """ - from . import ImagePalette - - if self.mode not in ("L", "LA", "P", "PA"): - raise ValueError("illegal image mode") - self.load() - if isinstance(data, ImagePalette.ImagePalette): - palette = ImagePalette.raw(data.rawmode, data.palette) - else: - if not isinstance(data, bytes): - data = bytes(data) - palette = ImagePalette.raw(rawmode, data) - self.mode = "PA" if "A" in self.mode else "P" - self.palette = palette - self.palette.mode = "RGB" - self.load() # install new palette - - def putpixel(self, xy, value): - """ - Modifies the pixel at the given position. The color is given as - a single numerical value for single-band images, and a tuple for - multi-band images. In addition to this, RGB and RGBA tuples are - accepted for P images. - - Note that this method is relatively slow. For more extensive changes, - use :py:meth:`~PIL.Image.Image.paste` or the :py:mod:`~PIL.ImageDraw` - module instead. - - See: - - * :py:meth:`~PIL.Image.Image.paste` - * :py:meth:`~PIL.Image.Image.putdata` - * :py:mod:`~PIL.ImageDraw` - - :param xy: The pixel coordinate, given as (x, y). See - :ref:`coordinate-system`. - :param value: The pixel value. - """ - - if self.readonly: - self._copy() - self.load() - - if self.pyaccess: - return self.pyaccess.putpixel(xy, value) - - if ( - self.mode == "P" - and isinstance(value, (list, tuple)) - and len(value) in [3, 4] - ): - # RGB or RGBA value for a P image - value = self.palette.getcolor(value) - return self.im.putpixel(xy, value) - - def remap_palette(self, dest_map, source_palette=None): - """ - Rewrites the image to reorder the palette. - - :param dest_map: A list of indexes into the original palette. - e.g. ``[1,0]`` would swap a two item palette, and ``list(range(256))`` - is the identity transform. - :param source_palette: Bytes or None. - :returns: An :py:class:`~PIL.Image.Image` object. - - """ - from . import ImagePalette - - if self.mode not in ("L", "P"): - raise ValueError("illegal image mode") - - if source_palette is None: - if self.mode == "P": - real_source_palette = self.im.getpalette("RGB")[:768] - else: # L-mode - real_source_palette = bytearray(i // 3 for i in range(768)) - else: - real_source_palette = source_palette - - palette_bytes = b"" - new_positions = [0] * 256 - - # pick only the used colors from the palette - for i, oldPosition in enumerate(dest_map): - palette_bytes += real_source_palette[oldPosition * 3 : oldPosition * 3 + 3] - new_positions[oldPosition] = i - - # replace the palette color id of all pixel with the new id - - # Palette images are [0..255], mapped through a 1 or 3 - # byte/color map. We need to remap the whole image - # from palette 1 to palette 2. New_positions is - # an array of indexes into palette 1. Palette 2 is - # palette 1 with any holes removed. - - # We're going to leverage the convert mechanism to use the - # C code to remap the image from palette 1 to palette 2, - # by forcing the source image into 'L' mode and adding a - # mapping 'L' mode palette, then converting back to 'L' - # sans palette thus converting the image bytes, then - # assigning the optimized RGB palette. - - # perf reference, 9500x4000 gif, w/~135 colors - # 14 sec prepatch, 1 sec postpatch with optimization forced. - - mapping_palette = bytearray(new_positions) - - m_im = self.copy() - m_im.mode = "P" - - m_im.palette = ImagePalette.ImagePalette( - "RGB", palette=mapping_palette * 3, size=768 - ) - # possibly set palette dirty, then - # m_im.putpalette(mapping_palette, 'L') # converts to 'P' - # or just force it. - # UNDONE -- this is part of the general issue with palettes - m_im.im.putpalette(*m_im.palette.getdata()) - - m_im = m_im.convert("L") - - # Internally, we require 768 bytes for a palette. - new_palette_bytes = palette_bytes + (768 - len(palette_bytes)) * b"\x00" - m_im.putpalette(new_palette_bytes) - m_im.palette = ImagePalette.ImagePalette( - "RGB", palette=palette_bytes, size=len(palette_bytes) - ) - - return m_im - - def _get_safe_box(self, size, resample, box): - """Expands the box so it includes adjacent pixels - that may be used by resampling with the given resampling filter. - """ - filter_support = _filters_support[resample] - 0.5 - scale_x = (box[2] - box[0]) / size[0] - scale_y = (box[3] - box[1]) / size[1] - support_x = filter_support * scale_x - support_y = filter_support * scale_y - - return ( - max(0, int(box[0] - support_x)), - max(0, int(box[1] - support_y)), - min(self.size[0], math.ceil(box[2] + support_x)), - min(self.size[1], math.ceil(box[3] + support_y)), - ) - - def resize(self, size, resample=BICUBIC, box=None, reducing_gap=None): - """ - Returns a resized copy of this image. - - :param size: The requested size in pixels, as a 2-tuple: - (width, height). - :param resample: An optional resampling filter. This can be - one of :py:data:`PIL.Image.NEAREST`, :py:data:`PIL.Image.BOX`, - :py:data:`PIL.Image.BILINEAR`, :py:data:`PIL.Image.HAMMING`, - :py:data:`PIL.Image.BICUBIC` or :py:data:`PIL.Image.LANCZOS`. - Default filter is :py:data:`PIL.Image.BICUBIC`. - If the image has mode "1" or "P", it is - always set to :py:data:`PIL.Image.NEAREST`. - See: :ref:`concept-filters`. - :param box: An optional 4-tuple of floats providing - the source image region to be scaled. - The values must be within (0, 0, width, height) rectangle. - If omitted or None, the entire source is used. - :param reducing_gap: Apply optimization by resizing the image - in two steps. First, reducing the image by integer times - using :py:meth:`~PIL.Image.Image.reduce`. - Second, resizing using regular resampling. The last step - changes size no less than by ``reducing_gap`` times. - ``reducing_gap`` may be None (no first step is performed) - or should be greater than 1.0. The bigger ``reducing_gap``, - the closer the result to the fair resampling. - The smaller ``reducing_gap``, the faster resizing. - With ``reducing_gap`` greater or equal to 3.0, the result is - indistinguishable from fair resampling in most cases. - The default value is None (no optimization). - :returns: An :py:class:`~PIL.Image.Image` object. - """ - - if resample not in (NEAREST, BILINEAR, BICUBIC, LANCZOS, BOX, HAMMING): - message = f"Unknown resampling filter ({resample})." - - filters = [ - "{} ({})".format(filter[1], filter[0]) - for filter in ( - (NEAREST, "Image.NEAREST"), - (LANCZOS, "Image.LANCZOS"), - (BILINEAR, "Image.BILINEAR"), - (BICUBIC, "Image.BICUBIC"), - (BOX, "Image.BOX"), - (HAMMING, "Image.HAMMING"), - ) - ] - raise ValueError( - message + " Use " + ", ".join(filters[:-1]) + " or " + filters[-1] - ) - - if reducing_gap is not None and reducing_gap < 1.0: - raise ValueError("reducing_gap must be 1.0 or greater") - - size = tuple(size) - - if box is None: - box = (0, 0) + self.size - else: - box = tuple(box) - - if self.size == size and box == (0, 0) + self.size: - return self.copy() - - if self.mode in ("1", "P"): - resample = NEAREST - - if self.mode in ["LA", "RGBA"]: - im = self.convert(self.mode[:-1] + "a") - im = im.resize(size, resample, box) - return im.convert(self.mode) - - self.load() - - if reducing_gap is not None and resample != NEAREST: - factor_x = int((box[2] - box[0]) / size[0] / reducing_gap) or 1 - factor_y = int((box[3] - box[1]) / size[1] / reducing_gap) or 1 - if factor_x > 1 or factor_y > 1: - reduce_box = self._get_safe_box(size, resample, box) - factor = (factor_x, factor_y) - if callable(self.reduce): - self = self.reduce(factor, box=reduce_box) - else: - self = Image.reduce(self, factor, box=reduce_box) - box = ( - (box[0] - reduce_box[0]) / factor_x, - (box[1] - reduce_box[1]) / factor_y, - (box[2] - reduce_box[0]) / factor_x, - (box[3] - reduce_box[1]) / factor_y, - ) - - return self._new(self.im.resize(size, resample, box)) - - def reduce(self, factor, box=None): - """ - Returns a copy of the image reduced ``factor`` times. - If the size of the image is not dividable by ``factor``, - the resulting size will be rounded up. - - :param factor: A greater than 0 integer or tuple of two integers - for width and height separately. - :param box: An optional 4-tuple of ints providing - the source image region to be reduced. - The values must be within ``(0, 0, width, height)`` rectangle. - If omitted or ``None``, the entire source is used. - """ - if not isinstance(factor, (list, tuple)): - factor = (factor, factor) - - if box is None: - box = (0, 0) + self.size - else: - box = tuple(box) - - if factor == (1, 1) and box == (0, 0) + self.size: - return self.copy() - - if self.mode in ["LA", "RGBA"]: - im = self.convert(self.mode[:-1] + "a") - im = im.reduce(factor, box) - return im.convert(self.mode) - - self.load() - - return self._new(self.im.reduce(factor, box)) - - def rotate( - self, - angle, - resample=NEAREST, - expand=0, - center=None, - translate=None, - fillcolor=None, - ): - """ - Returns a rotated copy of this image. This method returns a - copy of this image, rotated the given number of degrees counter - clockwise around its centre. - - :param angle: In degrees counter clockwise. - :param resample: An optional resampling filter. This can be - one of :py:data:`PIL.Image.NEAREST` (use nearest neighbour), - :py:data:`PIL.Image.BILINEAR` (linear interpolation in a 2x2 - environment), or :py:data:`PIL.Image.BICUBIC` - (cubic spline interpolation in a 4x4 environment). - If omitted, or if the image has mode "1" or "P", it is - set to :py:data:`PIL.Image.NEAREST`. See :ref:`concept-filters`. - :param expand: Optional expansion flag. If true, expands the output - image to make it large enough to hold the entire rotated image. - If false or omitted, make the output image the same size as the - input image. Note that the expand flag assumes rotation around - the center and no translation. - :param center: Optional center of rotation (a 2-tuple). Origin is - the upper left corner. Default is the center of the image. - :param translate: An optional post-rotate translation (a 2-tuple). - :param fillcolor: An optional color for area outside the rotated image. - :returns: An :py:class:`~PIL.Image.Image` object. - """ - - angle = angle % 360.0 - - # Fast paths regardless of filter, as long as we're not - # translating or changing the center. - if not (center or translate): - if angle == 0: - return self.copy() - if angle == 180: - return self.transpose(ROTATE_180) - if angle == 90 and expand: - return self.transpose(ROTATE_90) - if angle == 270 and expand: - return self.transpose(ROTATE_270) - - # Calculate the affine matrix. Note that this is the reverse - # transformation (from destination image to source) because we - # want to interpolate the (discrete) destination pixel from - # the local area around the (floating) source pixel. - - # The matrix we actually want (note that it operates from the right): - # (1, 0, tx) (1, 0, cx) ( cos a, sin a, 0) (1, 0, -cx) - # (0, 1, ty) * (0, 1, cy) * (-sin a, cos a, 0) * (0, 1, -cy) - # (0, 0, 1) (0, 0, 1) ( 0, 0, 1) (0, 0, 1) - - # The reverse matrix is thus: - # (1, 0, cx) ( cos -a, sin -a, 0) (1, 0, -cx) (1, 0, -tx) - # (0, 1, cy) * (-sin -a, cos -a, 0) * (0, 1, -cy) * (0, 1, -ty) - # (0, 0, 1) ( 0, 0, 1) (0, 0, 1) (0, 0, 1) - - # In any case, the final translation may be updated at the end to - # compensate for the expand flag. - - w, h = self.size - - if translate is None: - post_trans = (0, 0) - else: - post_trans = translate - if center is None: - # FIXME These should be rounded to ints? - rotn_center = (w / 2.0, h / 2.0) - else: - rotn_center = center - - angle = -math.radians(angle) - matrix = [ - round(math.cos(angle), 15), - round(math.sin(angle), 15), - 0.0, - round(-math.sin(angle), 15), - round(math.cos(angle), 15), - 0.0, - ] - - def transform(x, y, matrix): - (a, b, c, d, e, f) = matrix - return a * x + b * y + c, d * x + e * y + f - - matrix[2], matrix[5] = transform( - -rotn_center[0] - post_trans[0], -rotn_center[1] - post_trans[1], matrix - ) - matrix[2] += rotn_center[0] - matrix[5] += rotn_center[1] - - if expand: - # calculate output size - xx = [] - yy = [] - for x, y in ((0, 0), (w, 0), (w, h), (0, h)): - x, y = transform(x, y, matrix) - xx.append(x) - yy.append(y) - nw = math.ceil(max(xx)) - math.floor(min(xx)) - nh = math.ceil(max(yy)) - math.floor(min(yy)) - - # We multiply a translation matrix from the right. Because of its - # special form, this is the same as taking the image of the - # translation vector as new translation vector. - matrix[2], matrix[5] = transform(-(nw - w) / 2.0, -(nh - h) / 2.0, matrix) - w, h = nw, nh - - return self.transform((w, h), AFFINE, matrix, resample, fillcolor=fillcolor) - - def save(self, fp, format=None, **params): - """ - Saves this image under the given filename. If no format is - specified, the format to use is determined from the filename - extension, if possible. - - Keyword options can be used to provide additional instructions - to the writer. If a writer doesn't recognise an option, it is - silently ignored. The available options are described in the - :doc:`image format documentation - <../handbook/image-file-formats>` for each writer. - - You can use a file object instead of a filename. In this case, - you must always specify the format. The file object must - implement the ``seek``, ``tell``, and ``write`` - methods, and be opened in binary mode. - - :param fp: A filename (string), pathlib.Path object or file object. - :param format: Optional format override. If omitted, the - format to use is determined from the filename extension. - If a file object was used instead of a filename, this - parameter should always be used. - :param params: Extra parameters to the image writer. - :returns: None - :exception ValueError: If the output format could not be determined - from the file name. Use the format option to solve this. - :exception OSError: If the file could not be written. The file - may have been created, and may contain partial data. - """ - - filename = "" - open_fp = False - if isPath(fp): - filename = fp - open_fp = True - elif isinstance(fp, Path): - filename = str(fp) - open_fp = True - if not filename and hasattr(fp, "name") and isPath(fp.name): - # only set the name for metadata purposes - filename = fp.name - - # may mutate self! - self._ensure_mutable() - - save_all = params.pop("save_all", False) - self.encoderinfo = params - self.encoderconfig = () - - preinit() - - ext = os.path.splitext(filename)[1].lower() - - if not format: - if ext not in EXTENSION: - init() - try: - format = EXTENSION[ext] - except KeyError as e: - raise ValueError(f"unknown file extension: {ext}") from e - - if format.upper() not in SAVE: - init() - if save_all: - save_handler = SAVE_ALL[format.upper()] - else: - save_handler = SAVE[format.upper()] - - if open_fp: - if params.get("append", False): - # Open also for reading ("+"), because TIFF save_all - # writer needs to go back and edit the written data. - fp = builtins.open(filename, "r+b") - else: - fp = builtins.open(filename, "w+b") - - try: - save_handler(self, fp, filename) - finally: - # do what we can to clean up - if open_fp: - fp.close() - - def seek(self, frame): - """ - Seeks to the given frame in this sequence file. If you seek - beyond the end of the sequence, the method raises an - ``EOFError`` exception. When a sequence file is opened, the - library automatically seeks to frame 0. - - See :py:meth:`~PIL.Image.Image.tell`. - - If defined, :attr:`~PIL.Image.Image.n_frames` refers to the - number of available frames. - - :param frame: Frame number, starting at 0. - :exception EOFError: If the call attempts to seek beyond the end - of the sequence. - """ - - # overridden by file handlers - if frame != 0: - raise EOFError - - def show(self, title=None, command=None): - """ - Displays this image. This method is mainly intended for debugging purposes. - - This method calls :py:func:`PIL.ImageShow.show` internally. You can use - :py:func:`PIL.ImageShow.register` to override its default behaviour. - - The image is first saved to a temporary file. By default, it will be in - PNG format. - - On Unix, the image is then opened using the **display**, **eog** or - **xv** utility, depending on which one can be found. - - On macOS, the image is opened with the native Preview application. - - On Windows, the image is opened with the standard PNG display utility. - - :param title: Optional title to use for the image window, where possible. - """ - - if command is not None: - warnings.warn( - "The command parameter is deprecated and will be removed in Pillow 9 " - "(2022-01-02). Use a subclass of ImageShow.Viewer instead.", - DeprecationWarning, - ) - - _show(self, title=title, command=command) - - def split(self): - """ - Split this image into individual bands. This method returns a - tuple of individual image bands from an image. For example, - splitting an "RGB" image creates three new images each - containing a copy of one of the original bands (red, green, - blue). - - If you need only one band, :py:meth:`~PIL.Image.Image.getchannel` - method can be more convenient and faster. - - :returns: A tuple containing bands. - """ - - self.load() - if self.im.bands == 1: - ims = [self.copy()] - else: - ims = map(self._new, self.im.split()) - return tuple(ims) - - def getchannel(self, channel): - """ - Returns an image containing a single channel of the source image. - - :param channel: What channel to return. Could be index - (0 for "R" channel of "RGB") or channel name - ("A" for alpha channel of "RGBA"). - :returns: An image in "L" mode. - - .. versionadded:: 4.3.0 - """ - self.load() - - if isinstance(channel, str): - try: - channel = self.getbands().index(channel) - except ValueError as e: - raise ValueError(f'The image has no channel "{channel}"') from e - - return self._new(self.im.getband(channel)) - - def tell(self): - """ - Returns the current frame number. See :py:meth:`~PIL.Image.Image.seek`. - - If defined, :attr:`~PIL.Image.Image.n_frames` refers to the - number of available frames. - - :returns: Frame number, starting with 0. - """ - return 0 - - def thumbnail(self, size, resample=BICUBIC, reducing_gap=2.0): - """ - Make this image into a thumbnail. This method modifies the - image to contain a thumbnail version of itself, no larger than - the given size. This method calculates an appropriate thumbnail - size to preserve the aspect of the image, calls the - :py:meth:`~PIL.Image.Image.draft` method to configure the file reader - (where applicable), and finally resizes the image. - - Note that this function modifies the :py:class:`~PIL.Image.Image` - object in place. If you need to use the full resolution image as well, - apply this method to a :py:meth:`~PIL.Image.Image.copy` of the original - image. - - :param size: Requested size. - :param resample: Optional resampling filter. This can be one - of :py:data:`PIL.Image.NEAREST`, :py:data:`PIL.Image.BOX`, - :py:data:`PIL.Image.BILINEAR`, :py:data:`PIL.Image.HAMMING`, - :py:data:`PIL.Image.BICUBIC` or :py:data:`PIL.Image.LANCZOS`. - If omitted, it defaults to :py:data:`PIL.Image.BICUBIC`. - (was :py:data:`PIL.Image.NEAREST` prior to version 2.5.0). - See: :ref:`concept-filters`. - :param reducing_gap: Apply optimization by resizing the image - in two steps. First, reducing the image by integer times - using :py:meth:`~PIL.Image.Image.reduce` or - :py:meth:`~PIL.Image.Image.draft` for JPEG images. - Second, resizing using regular resampling. The last step - changes size no less than by ``reducing_gap`` times. - ``reducing_gap`` may be None (no first step is performed) - or should be greater than 1.0. The bigger ``reducing_gap``, - the closer the result to the fair resampling. - The smaller ``reducing_gap``, the faster resizing. - With ``reducing_gap`` greater or equal to 3.0, the result is - indistinguishable from fair resampling in most cases. - The default value is 2.0 (very close to fair resampling - while still being faster in many cases). - :returns: None - """ - - x, y = map(math.floor, size) - if x >= self.width and y >= self.height: - return - - def round_aspect(number, key): - return max(min(math.floor(number), math.ceil(number), key=key), 1) - - # preserve aspect ratio - aspect = self.width / self.height - if x / y >= aspect: - x = round_aspect(y * aspect, key=lambda n: abs(aspect - n / y)) - else: - y = round_aspect( - x / aspect, key=lambda n: 0 if n == 0 else abs(aspect - x / n) - ) - size = (x, y) - - box = None - if reducing_gap is not None: - res = self.draft(None, (size[0] * reducing_gap, size[1] * reducing_gap)) - if res is not None: - box = res[1] - - if self.size != size: - im = self.resize(size, resample, box=box, reducing_gap=reducing_gap) - - self.im = im.im - self._size = size - self.mode = self.im.mode - - self.readonly = 0 - self.pyaccess = None - - # FIXME: the different transform methods need further explanation - # instead of bloating the method docs, add a separate chapter. - def transform( - self, size, method, data=None, resample=NEAREST, fill=1, fillcolor=None - ): - """ - Transforms this image. This method creates a new image with the - given size, and the same mode as the original, and copies data - to the new image using the given transform. - - :param size: The output size. - :param method: The transformation method. This is one of - :py:data:`PIL.Image.EXTENT` (cut out a rectangular subregion), - :py:data:`PIL.Image.AFFINE` (affine transform), - :py:data:`PIL.Image.PERSPECTIVE` (perspective transform), - :py:data:`PIL.Image.QUAD` (map a quadrilateral to a rectangle), or - :py:data:`PIL.Image.MESH` (map a number of source quadrilaterals - in one operation). - - It may also be an :py:class:`~PIL.Image.ImageTransformHandler` - object:: - - class Example(Image.ImageTransformHandler): - def transform(self, size, data, resample, fill=1): - # Return result - - It may also be an object with a ``method.getdata`` method - that returns a tuple supplying new ``method`` and ``data`` values:: - - class Example: - def getdata(self): - method = Image.EXTENT - data = (0, 0, 100, 100) - return method, data - :param data: Extra data to the transformation method. - :param resample: Optional resampling filter. It can be one of - :py:data:`PIL.Image.NEAREST` (use nearest neighbour), - :py:data:`PIL.Image.BILINEAR` (linear interpolation in a 2x2 - environment), or :py:data:`PIL.Image.BICUBIC` (cubic spline - interpolation in a 4x4 environment). If omitted, or if the image - has mode "1" or "P", it is set to :py:data:`PIL.Image.NEAREST`. - See: :ref:`concept-filters`. - :param fill: If ``method`` is an - :py:class:`~PIL.Image.ImageTransformHandler` object, this is one of - the arguments passed to it. Otherwise, it is unused. - :param fillcolor: Optional fill color for the area outside the - transform in the output image. - :returns: An :py:class:`~PIL.Image.Image` object. - """ - - if self.mode == "LA": - return ( - self.convert("La") - .transform(size, method, data, resample, fill, fillcolor) - .convert("LA") - ) - - if self.mode == "RGBA": - return ( - self.convert("RGBa") - .transform(size, method, data, resample, fill, fillcolor) - .convert("RGBA") - ) - - if isinstance(method, ImageTransformHandler): - return method.transform(size, self, resample=resample, fill=fill) - - if hasattr(method, "getdata"): - # compatibility w. old-style transform objects - method, data = method.getdata() - - if data is None: - raise ValueError("missing method data") - - im = new(self.mode, size, fillcolor) - im.info = self.info.copy() - if method == MESH: - # list of quads - for box, quad in data: - im.__transformer(box, self, QUAD, quad, resample, fillcolor is None) - else: - im.__transformer( - (0, 0) + size, self, method, data, resample, fillcolor is None - ) - - return im - - def __transformer(self, box, image, method, data, resample=NEAREST, fill=1): - w = box[2] - box[0] - h = box[3] - box[1] - - if method == AFFINE: - data = data[0:6] - - elif method == EXTENT: - # convert extent to an affine transform - x0, y0, x1, y1 = data - xs = (x1 - x0) / w - ys = (y1 - y0) / h - method = AFFINE - data = (xs, 0, x0, 0, ys, y0) - - elif method == PERSPECTIVE: - data = data[0:8] - - elif method == QUAD: - # quadrilateral warp. data specifies the four corners - # given as NW, SW, SE, and NE. - nw = data[0:2] - sw = data[2:4] - se = data[4:6] - ne = data[6:8] - x0, y0 = nw - As = 1.0 / w - At = 1.0 / h - data = ( - x0, - (ne[0] - x0) * As, - (sw[0] - x0) * At, - (se[0] - sw[0] - ne[0] + x0) * As * At, - y0, - (ne[1] - y0) * As, - (sw[1] - y0) * At, - (se[1] - sw[1] - ne[1] + y0) * As * At, - ) - - else: - raise ValueError("unknown transformation method") - - if resample not in (NEAREST, BILINEAR, BICUBIC): - if resample in (BOX, HAMMING, LANCZOS): - message = { - BOX: "Image.BOX", - HAMMING: "Image.HAMMING", - LANCZOS: "Image.LANCZOS/Image.ANTIALIAS", - }[resample] + f" ({resample}) cannot be used." - else: - message = f"Unknown resampling filter ({resample})." - - filters = [ - "{} ({})".format(filter[1], filter[0]) - for filter in ( - (NEAREST, "Image.NEAREST"), - (BILINEAR, "Image.BILINEAR"), - (BICUBIC, "Image.BICUBIC"), - ) - ] - raise ValueError( - message + " Use " + ", ".join(filters[:-1]) + " or " + filters[-1] - ) - - image.load() - - self.load() - - if image.mode in ("1", "P"): - resample = NEAREST - - self.im.transform2(box, image.im, method, data, resample, fill) - - def transpose(self, method): - """ - Transpose image (flip or rotate in 90 degree steps) - - :param method: One of :py:data:`PIL.Image.FLIP_LEFT_RIGHT`, - :py:data:`PIL.Image.FLIP_TOP_BOTTOM`, :py:data:`PIL.Image.ROTATE_90`, - :py:data:`PIL.Image.ROTATE_180`, :py:data:`PIL.Image.ROTATE_270`, - :py:data:`PIL.Image.TRANSPOSE` or :py:data:`PIL.Image.TRANSVERSE`. - :returns: Returns a flipped or rotated copy of this image. - """ - - self.load() - return self._new(self.im.transpose(method)) - - def effect_spread(self, distance): - """ - Randomly spread pixels in an image. - - :param distance: Distance to spread pixels. - """ - self.load() - return self._new(self.im.effect_spread(distance)) - - def toqimage(self): - """Returns a QImage copy of this image""" - from . import ImageQt - - if not ImageQt.qt_is_installed: - raise ImportError("Qt bindings are not installed") - return ImageQt.toqimage(self) - - def toqpixmap(self): - """Returns a QPixmap copy of this image""" - from . import ImageQt - - if not ImageQt.qt_is_installed: - raise ImportError("Qt bindings are not installed") - return ImageQt.toqpixmap(self) - - -# -------------------------------------------------------------------- -# Abstract handlers. - - -class ImagePointHandler: - """ - Used as a mixin by point transforms - (for use with :py:meth:`~PIL.Image.Image.point`) - """ - - pass - - -class ImageTransformHandler: - """ - Used as a mixin by geometry transforms - (for use with :py:meth:`~PIL.Image.Image.transform`) - """ - - pass - - -# -------------------------------------------------------------------- -# Factories - -# -# Debugging - - -def _wedge(): - """Create greyscale wedge (for debugging only)""" - - return Image()._new(core.wedge("L")) - - -def _check_size(size): - """ - Common check to enforce type and sanity check on size tuples - - :param size: Should be a 2 tuple of (width, height) - :returns: True, or raises a ValueError - """ - - if not isinstance(size, (list, tuple)): - raise ValueError("Size must be a tuple") - if len(size) != 2: - raise ValueError("Size must be a tuple of length 2") - if size[0] < 0 or size[1] < 0: - raise ValueError("Width and height must be >= 0") - - return True - - -def new(mode, size, color=0): - """ - Creates a new image with the given mode and size. - - :param mode: The mode to use for the new image. See: - :ref:`concept-modes`. - :param size: A 2-tuple, containing (width, height) in pixels. - :param color: What color to use for the image. Default is black. - If given, this should be a single integer or floating point value - for single-band modes, and a tuple for multi-band modes (one value - per band). When creating RGB images, you can also use color - strings as supported by the ImageColor module. If the color is - None, the image is not initialised. - :returns: An :py:class:`~PIL.Image.Image` object. - """ - - _check_size(size) - - if color is None: - # don't initialize - return Image()._new(core.new(mode, size)) - - if isinstance(color, str): - # css3-style specifier - - from . import ImageColor - - color = ImageColor.getcolor(color, mode) - - im = Image() - if mode == "P" and isinstance(color, (list, tuple)) and len(color) in [3, 4]: - # RGB or RGBA value for a P image - from . import ImagePalette - - im.palette = ImagePalette.ImagePalette() - color = im.palette.getcolor(color) - return im._new(core.fill(mode, size, color)) - - -def frombytes(mode, size, data, decoder_name="raw", *args): - """ - Creates a copy of an image memory from pixel data in a buffer. - - In its simplest form, this function takes three arguments - (mode, size, and unpacked pixel data). - - You can also use any pixel decoder supported by PIL. For more - information on available decoders, see the section - :ref:`Writing Your Own File Decoder `. - - Note that this function decodes pixel data only, not entire images. - If you have an entire image in a string, wrap it in a - :py:class:`~io.BytesIO` object, and use :py:func:`~PIL.Image.open` to load - it. - - :param mode: The image mode. See: :ref:`concept-modes`. - :param size: The image size. - :param data: A byte buffer containing raw data for the given mode. - :param decoder_name: What decoder to use. - :param args: Additional parameters for the given decoder. - :returns: An :py:class:`~PIL.Image.Image` object. - """ - - _check_size(size) - - # may pass tuple instead of argument list - if len(args) == 1 and isinstance(args[0], tuple): - args = args[0] - - if decoder_name == "raw" and args == (): - args = mode - - im = new(mode, size) - im.frombytes(data, decoder_name, args) - return im - - -def frombuffer(mode, size, data, decoder_name="raw", *args): - """ - Creates an image memory referencing pixel data in a byte buffer. - - This function is similar to :py:func:`~PIL.Image.frombytes`, but uses data - in the byte buffer, where possible. This means that changes to the - original buffer object are reflected in this image). Not all modes can - share memory; supported modes include "L", "RGBX", "RGBA", and "CMYK". - - Note that this function decodes pixel data only, not entire images. - If you have an entire image file in a string, wrap it in a - :py:class:`~io.BytesIO` object, and use :py:func:`~PIL.Image.open` to load it. - - In the current version, the default parameters used for the "raw" decoder - differs from that used for :py:func:`~PIL.Image.frombytes`. This is a - bug, and will probably be fixed in a future release. The current release - issues a warning if you do this; to disable the warning, you should provide - the full set of parameters. See below for details. - - :param mode: The image mode. See: :ref:`concept-modes`. - :param size: The image size. - :param data: A bytes or other buffer object containing raw - data for the given mode. - :param decoder_name: What decoder to use. - :param args: Additional parameters for the given decoder. For the - default encoder ("raw"), it's recommended that you provide the - full set of parameters:: - - frombuffer(mode, size, data, "raw", mode, 0, 1) - - :returns: An :py:class:`~PIL.Image.Image` object. - - .. versionadded:: 1.1.4 - """ - - _check_size(size) - - # may pass tuple instead of argument list - if len(args) == 1 and isinstance(args[0], tuple): - args = args[0] - - if decoder_name == "raw": - if args == (): - args = mode, 0, 1 - if args[0] in _MAPMODES: - im = new(mode, (1, 1)) - im = im._new(core.map_buffer(data, size, decoder_name, 0, args)) - im.readonly = 1 - return im - - return frombytes(mode, size, data, decoder_name, args) - - -def fromarray(obj, mode=None): - """ - Creates an image memory from an object exporting the array interface - (using the buffer protocol). - - If ``obj`` is not contiguous, then the ``tobytes`` method is called - and :py:func:`~PIL.Image.frombuffer` is used. - - If you have an image in NumPy:: - - from PIL import Image - import numpy as np - im = Image.open('hopper.jpg') - a = np.asarray(im) - - Then this can be used to convert it to a Pillow image:: - - im = Image.fromarray(a) - - :param obj: Object with array interface - :param mode: Mode to use (will be determined from type if None) - See: :ref:`concept-modes`. - :returns: An image object. - - .. versionadded:: 1.1.6 - """ - arr = obj.__array_interface__ - shape = arr["shape"] - ndim = len(shape) - strides = arr.get("strides", None) - if mode is None: - try: - typekey = (1, 1) + shape[2:], arr["typestr"] - except KeyError as e: - raise TypeError("Cannot handle this data type") from e - try: - mode, rawmode = _fromarray_typemap[typekey] - except KeyError as e: - raise TypeError("Cannot handle this data type: %s, %s" % typekey) from e - else: - rawmode = mode - if mode in ["1", "L", "I", "P", "F"]: - ndmax = 2 - elif mode == "RGB": - ndmax = 3 - else: - ndmax = 4 - if ndim > ndmax: - raise ValueError(f"Too many dimensions: {ndim} > {ndmax}.") - - size = 1 if ndim == 1 else shape[1], shape[0] - if strides is not None: - if hasattr(obj, "tobytes"): - obj = obj.tobytes() - else: - obj = obj.tostring() - - return frombuffer(mode, size, obj, "raw", rawmode, 0, 1) - - -def fromqimage(im): - """Creates an image instance from a QImage image""" - from . import ImageQt - - if not ImageQt.qt_is_installed: - raise ImportError("Qt bindings are not installed") - return ImageQt.fromqimage(im) - - -def fromqpixmap(im): - """Creates an image instance from a QPixmap image""" - from . import ImageQt - - if not ImageQt.qt_is_installed: - raise ImportError("Qt bindings are not installed") - return ImageQt.fromqpixmap(im) - - -_fromarray_typemap = { - # (shape, typestr) => mode, rawmode - # first two members of shape are set to one - ((1, 1), "|b1"): ("1", "1;8"), - ((1, 1), "|u1"): ("L", "L"), - ((1, 1), "|i1"): ("I", "I;8"), - ((1, 1), "u2"): ("I", "I;16B"), - ((1, 1), "i2"): ("I", "I;16BS"), - ((1, 1), "u4"): ("I", "I;32B"), - ((1, 1), "i4"): ("I", "I;32BS"), - ((1, 1), "f4"): ("F", "F;32BF"), - ((1, 1), "f8"): ("F", "F;64BF"), - ((1, 1, 2), "|u1"): ("LA", "LA"), - ((1, 1, 3), "|u1"): ("RGB", "RGB"), - ((1, 1, 4), "|u1"): ("RGBA", "RGBA"), -} - -# shortcuts -_fromarray_typemap[((1, 1), _ENDIAN + "i4")] = ("I", "I") -_fromarray_typemap[((1, 1), _ENDIAN + "f4")] = ("F", "F") - - -def _decompression_bomb_check(size): - if MAX_IMAGE_PIXELS is None: - return - - pixels = size[0] * size[1] - - if pixels > 2 * MAX_IMAGE_PIXELS: - raise DecompressionBombError( - f"Image size ({pixels} pixels) exceeds limit of {2 * MAX_IMAGE_PIXELS} " - "pixels, could be decompression bomb DOS attack." - ) - - if pixels > MAX_IMAGE_PIXELS: - warnings.warn( - f"Image size ({pixels} pixels) exceeds limit of {MAX_IMAGE_PIXELS} pixels, " - "could be decompression bomb DOS attack.", - DecompressionBombWarning, - ) - - -def open(fp, mode="r", formats=None): - """ - Opens and identifies the given image file. - - This is a lazy operation; this function identifies the file, but - the file remains open and the actual image data is not read from - the file until you try to process the data (or call the - :py:meth:`~PIL.Image.Image.load` method). See - :py:func:`~PIL.Image.new`. See :ref:`file-handling`. - - :param fp: A filename (string), pathlib.Path object or a file object. - The file object must implement ``file.read``, - ``file.seek``, and ``file.tell`` methods, - and be opened in binary mode. - :param mode: The mode. If given, this argument must be "r". - :param formats: A list or tuple of formats to attempt to load the file in. - This can be used to restrict the set of formats checked. - Pass ``None`` to try all supported formats. You can print the set of - available formats by running ``python -m PIL`` or using - the :py:func:`PIL.features.pilinfo` function. - :returns: An :py:class:`~PIL.Image.Image` object. - :exception FileNotFoundError: If the file cannot be found. - :exception PIL.UnidentifiedImageError: If the image cannot be opened and - identified. - :exception ValueError: If the ``mode`` is not "r", or if a ``StringIO`` - instance is used for ``fp``. - :exception TypeError: If ``formats`` is not ``None``, a list or a tuple. - """ - - if mode != "r": - raise ValueError(f"bad mode {repr(mode)}") - elif isinstance(fp, io.StringIO): - raise ValueError( - "StringIO cannot be used to open an image. " - "Binary data must be used instead." - ) - - if formats is None: - formats = ID - elif not isinstance(formats, (list, tuple)): - raise TypeError("formats must be a list or tuple") - - exclusive_fp = False - filename = "" - if isinstance(fp, Path): - filename = str(fp.resolve()) - elif isPath(fp): - filename = fp - - if filename: - fp = builtins.open(filename, "rb") - exclusive_fp = True - - try: - fp.seek(0) - except (AttributeError, io.UnsupportedOperation): - fp = io.BytesIO(fp.read()) - exclusive_fp = True - - prefix = fp.read(16) - - preinit() - - accept_warnings = [] - - def _open_core(fp, filename, prefix, formats): - for i in formats: - if i not in OPEN: - init() - try: - factory, accept = OPEN[i] - result = not accept or accept(prefix) - if type(result) in [str, bytes]: - accept_warnings.append(result) - elif result: - fp.seek(0) - im = factory(fp, filename) - _decompression_bomb_check(im.size) - return im - except (SyntaxError, IndexError, TypeError, struct.error): - # Leave disabled by default, spams the logs with image - # opening failures that are entirely expected. - # logger.debug("", exc_info=True) - continue - except BaseException: - if exclusive_fp: - fp.close() - raise - return None - - im = _open_core(fp, filename, prefix, formats) - - if im is None: - if init(): - im = _open_core(fp, filename, prefix, formats) - - if im: - im._exclusive_fp = exclusive_fp - return im - - if exclusive_fp: - fp.close() - for message in accept_warnings: - warnings.warn(message) - raise UnidentifiedImageError( - "cannot identify image file %r" % (filename if filename else fp) - ) - - -# -# Image processing. - - -def alpha_composite(im1, im2): - """ - Alpha composite im2 over im1. - - :param im1: The first image. Must have mode RGBA. - :param im2: The second image. Must have mode RGBA, and the same size as - the first image. - :returns: An :py:class:`~PIL.Image.Image` object. - """ - - im1.load() - im2.load() - return im1._new(core.alpha_composite(im1.im, im2.im)) - - -def blend(im1, im2, alpha): - """ - Creates a new image by interpolating between two input images, using - a constant alpha.:: - - out = image1 * (1.0 - alpha) + image2 * alpha - - :param im1: The first image. - :param im2: The second image. Must have the same mode and size as - the first image. - :param alpha: The interpolation alpha factor. If alpha is 0.0, a - copy of the first image is returned. If alpha is 1.0, a copy of - the second image is returned. There are no restrictions on the - alpha value. If necessary, the result is clipped to fit into - the allowed output range. - :returns: An :py:class:`~PIL.Image.Image` object. - """ - - im1.load() - im2.load() - return im1._new(core.blend(im1.im, im2.im, alpha)) - - -def composite(image1, image2, mask): - """ - Create composite image by blending images using a transparency mask. - - :param image1: The first image. - :param image2: The second image. Must have the same mode and - size as the first image. - :param mask: A mask image. This image can have mode - "1", "L", or "RGBA", and must have the same size as the - other two images. - """ - - image = image2.copy() - image.paste(image1, None, mask) - return image - - -def eval(image, *args): - """ - Applies the function (which should take one argument) to each pixel - in the given image. If the image has more than one band, the same - function is applied to each band. Note that the function is - evaluated once for each possible pixel value, so you cannot use - random components or other generators. - - :param image: The input image. - :param function: A function object, taking one integer argument. - :returns: An :py:class:`~PIL.Image.Image` object. - """ - - return image.point(args[0]) - - -def merge(mode, bands): - """ - Merge a set of single band images into a new multiband image. - - :param mode: The mode to use for the output image. See: - :ref:`concept-modes`. - :param bands: A sequence containing one single-band image for - each band in the output image. All bands must have the - same size. - :returns: An :py:class:`~PIL.Image.Image` object. - """ - - if getmodebands(mode) != len(bands) or "*" in mode: - raise ValueError("wrong number of bands") - for band in bands[1:]: - if band.mode != getmodetype(mode): - raise ValueError("mode mismatch") - if band.size != bands[0].size: - raise ValueError("size mismatch") - for band in bands: - band.load() - return bands[0]._new(core.merge(mode, *[b.im for b in bands])) - - -# -------------------------------------------------------------------- -# Plugin registry - - -def register_open(id, factory, accept=None): - """ - Register an image file plugin. This function should not be used - in application code. - - :param id: An image format identifier. - :param factory: An image file factory method. - :param accept: An optional function that can be used to quickly - reject images having another format. - """ - id = id.upper() - ID.append(id) - OPEN[id] = factory, accept - - -def register_mime(id, mimetype): - """ - Registers an image MIME type. This function should not be used - in application code. - - :param id: An image format identifier. - :param mimetype: The image MIME type for this format. - """ - MIME[id.upper()] = mimetype - - -def register_save(id, driver): - """ - Registers an image save function. This function should not be - used in application code. - - :param id: An image format identifier. - :param driver: A function to save images in this format. - """ - SAVE[id.upper()] = driver - - -def register_save_all(id, driver): - """ - Registers an image function to save all the frames - of a multiframe format. This function should not be - used in application code. - - :param id: An image format identifier. - :param driver: A function to save images in this format. - """ - SAVE_ALL[id.upper()] = driver - - -def register_extension(id, extension): - """ - Registers an image extension. This function should not be - used in application code. - - :param id: An image format identifier. - :param extension: An extension used for this format. - """ - EXTENSION[extension.lower()] = id.upper() - - -def register_extensions(id, extensions): - """ - Registers image extensions. This function should not be - used in application code. - - :param id: An image format identifier. - :param extensions: A list of extensions used for this format. - """ - for extension in extensions: - register_extension(id, extension) - - -def registered_extensions(): - """ - Returns a dictionary containing all file extensions belonging - to registered plugins - """ - if not EXTENSION: - init() - return EXTENSION - - -def register_decoder(name, decoder): - """ - Registers an image decoder. This function should not be - used in application code. - - :param name: The name of the decoder - :param decoder: A callable(mode, args) that returns an - ImageFile.PyDecoder object - - .. versionadded:: 4.1.0 - """ - DECODERS[name] = decoder - - -def register_encoder(name, encoder): - """ - Registers an image encoder. This function should not be - used in application code. - - :param name: The name of the encoder - :param encoder: A callable(mode, args) that returns an - ImageFile.PyEncoder object - - .. versionadded:: 4.1.0 - """ - ENCODERS[name] = encoder - - -# -------------------------------------------------------------------- -# Simple display support. - - -def _show(image, **options): - options["_internal_pillow"] = True - _showxv(image, **options) - - -def _showxv(image, title=None, **options): - from . import ImageShow - - if "_internal_pillow" in options: - del options["_internal_pillow"] - else: - warnings.warn( - "_showxv is deprecated and will be removed in Pillow 9 (2022-01-02). " - "Use Image.show instead.", - DeprecationWarning, - ) - ImageShow.show(image, title, **options) - - -# -------------------------------------------------------------------- -# Effects - - -def effect_mandelbrot(size, extent, quality): - """ - Generate a Mandelbrot set covering the given extent. - - :param size: The requested size in pixels, as a 2-tuple: - (width, height). - :param extent: The extent to cover, as a 4-tuple: - (x0, y0, x1, y2). - :param quality: Quality. - """ - return Image()._new(core.effect_mandelbrot(size, extent, quality)) - - -def effect_noise(size, sigma): - """ - Generate Gaussian noise centered around 128. - - :param size: The requested size in pixels, as a 2-tuple: - (width, height). - :param sigma: Standard deviation of noise. - """ - return Image()._new(core.effect_noise(size, sigma)) - - -def linear_gradient(mode): - """ - Generate 256x256 linear gradient from black to white, top to bottom. - - :param mode: Input mode. - """ - return Image()._new(core.linear_gradient(mode)) - - -def radial_gradient(mode): - """ - Generate 256x256 radial gradient from black to white, centre to edge. - - :param mode: Input mode. - """ - return Image()._new(core.radial_gradient(mode)) - - -# -------------------------------------------------------------------- -# Resources - - -def _apply_env_variables(env=None): - if env is None: - env = os.environ - - for var_name, setter in [ - ("PILLOW_ALIGNMENT", core.set_alignment), - ("PILLOW_BLOCK_SIZE", core.set_block_size), - ("PILLOW_BLOCKS_MAX", core.set_blocks_max), - ]: - if var_name not in env: - continue - - var = env[var_name].lower() - - units = 1 - for postfix, mul in [("k", 1024), ("m", 1024 * 1024)]: - if var.endswith(postfix): - units = mul - var = var[: -len(postfix)] - - try: - var = int(var) * units - except ValueError: - warnings.warn(f"{var_name} is not int") - continue - - try: - setter(var) - except ValueError as e: - warnings.warn(f"{var_name}: {e}") - - -_apply_env_variables() -atexit.register(core.clear_cache) - - -class Exif(MutableMapping): - endian = "<" - - def __init__(self): - self._data = {} - self._ifds = {} - self._info = None - self._loaded_exif = None - - def _fixup(self, value): - try: - if len(value) == 1 and isinstance(value, tuple): - return value[0] - except Exception: - pass - return value - - def _fixup_dict(self, src_dict): - # Helper function - # returns a dict with any single item tuples/lists as individual values - return {k: self._fixup(v) for k, v in src_dict.items()} - - def _get_ifd_dict(self, tag): - try: - # an offset pointer to the location of the nested embedded IFD. - # It should be a long, but may be corrupted. - self.fp.seek(self[tag]) - except (KeyError, TypeError): - pass - else: - from . import TiffImagePlugin - - info = TiffImagePlugin.ImageFileDirectory_v2(self.head) - info.load(self.fp) - return self._fixup_dict(info) - - def load(self, data): - # Extract EXIF information. This is highly experimental, - # and is likely to be replaced with something better in a future - # version. - - # The EXIF record consists of a TIFF file embedded in a JPEG - # application marker (!). - if data == self._loaded_exif: - return - self._loaded_exif = data - self._data.clear() - self._ifds.clear() - self._info = None - if not data: - return - - if data.startswith(b"Exif\x00\x00"): - data = data[6:] - self.fp = io.BytesIO(data) - self.head = self.fp.read(8) - # process dictionary - from . import TiffImagePlugin - - self._info = TiffImagePlugin.ImageFileDirectory_v2(self.head) - self.endian = self._info._endian - self.fp.seek(self._info.next) - self._info.load(self.fp) - - # get EXIF extension - ifd = self._get_ifd_dict(0x8769) - if ifd: - self._data.update(ifd) - self._ifds[0x8769] = ifd - - def tobytes(self, offset=8): - from . import TiffImagePlugin - - if self.endian == "<": - head = b"II\x2A\x00\x08\x00\x00\x00" - else: - head = b"MM\x00\x2A\x00\x00\x00\x08" - ifd = TiffImagePlugin.ImageFileDirectory_v2(ifh=head) - for tag, value in self.items(): - ifd[tag] = value - return b"Exif\x00\x00" + head + ifd.tobytes(offset) - - def get_ifd(self, tag): - if tag not in self._ifds and tag in self: - if tag in [0x8825, 0xA005]: - # gpsinfo, interop - self._ifds[tag] = self._get_ifd_dict(tag) - elif tag == 0x927C: # makernote - from .TiffImagePlugin import ImageFileDirectory_v2 - - if self[0x927C][:8] == b"FUJIFILM": - exif_data = self[0x927C] - ifd_offset = i32le(exif_data, 8) - ifd_data = exif_data[ifd_offset:] - - makernote = {} - for i in range(0, struct.unpack(" 4: - (offset,) = struct.unpack("H", ifd_data[:2])[0]): - ifd_tag, typ, count, data = struct.unpack( - ">HHL4s", ifd_data[i * 12 + 2 : (i + 1) * 12 + 2] - ) - if ifd_tag == 0x1101: - # CameraInfo - (offset,) = struct.unpack(">L", data) - self.fp.seek(offset) - - camerainfo = {"ModelID": self.fp.read(4)} - - self.fp.read(4) - # Seconds since 2000 - camerainfo["TimeStamp"] = i32le(self.fp.read(12)) - - self.fp.read(4) - camerainfo["InternalSerialNumber"] = self.fp.read(4) - - self.fp.read(12) - parallax = self.fp.read(4) - handler = ImageFileDirectory_v2._load_dispatch[ - TiffTags.FLOAT - ][1] - camerainfo["Parallax"] = handler( - ImageFileDirectory_v2(), parallax, False - ) - - self.fp.read(4) - camerainfo["Category"] = self.fp.read(2) - - makernote = {0x1101: dict(self._fixup_dict(camerainfo))} - self._ifds[0x927C] = makernote - return self._ifds.get(tag, {}) - - def __str__(self): - if self._info is not None: - # Load all keys into self._data - for tag in self._info.keys(): - self[tag] - - return str(self._data) - - def __len__(self): - keys = set(self._data) - if self._info is not None: - keys.update(self._info) - return len(keys) - - def __getitem__(self, tag): - if self._info is not None and tag not in self._data and tag in self._info: - self._data[tag] = self._fixup(self._info[tag]) - if tag == 0x8825: - self._data[tag] = self.get_ifd(tag) - del self._info[tag] - return self._data[tag] - - def __contains__(self, tag): - return tag in self._data or (self._info is not None and tag in self._info) - - def __setitem__(self, tag, value): - if self._info is not None and tag in self._info: - del self._info[tag] - self._data[tag] = value - - def __delitem__(self, tag): - if self._info is not None and tag in self._info: - del self._info[tag] - else: - del self._data[tag] - - def __iter__(self): - keys = set(self._data) - if self._info is not None: - keys.update(self._info) - return iter(keys) diff --git a/venv/lib/python3.8/site-packages/PIL/ImageChops.py b/venv/lib/python3.8/site-packages/PIL/ImageChops.py deleted file mode 100644 index 61d3a295..00000000 --- a/venv/lib/python3.8/site-packages/PIL/ImageChops.py +++ /dev/null @@ -1,328 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# standard channel operations -# -# History: -# 1996-03-24 fl Created -# 1996-08-13 fl Added logical operations (for "1" images) -# 2000-10-12 fl Added offset method (from Image.py) -# -# Copyright (c) 1997-2000 by Secret Labs AB -# Copyright (c) 1996-2000 by Fredrik Lundh -# -# See the README file for information on usage and redistribution. -# - -from . import Image - - -def constant(image, value): - """Fill a channel with a given grey level. - - :rtype: :py:class:`~PIL.Image.Image` - """ - - return Image.new("L", image.size, value) - - -def duplicate(image): - """Copy a channel. Alias for :py:meth:`PIL.Image.Image.copy`. - - :rtype: :py:class:`~PIL.Image.Image` - """ - - return image.copy() - - -def invert(image): - """ - Invert an image (channel). - - .. code-block:: python - - out = MAX - image - - :rtype: :py:class:`~PIL.Image.Image` - """ - - image.load() - return image._new(image.im.chop_invert()) - - -def lighter(image1, image2): - """ - Compares the two images, pixel by pixel, and returns a new image containing - the lighter values. - - .. code-block:: python - - out = max(image1, image2) - - :rtype: :py:class:`~PIL.Image.Image` - """ - - image1.load() - image2.load() - return image1._new(image1.im.chop_lighter(image2.im)) - - -def darker(image1, image2): - """ - Compares the two images, pixel by pixel, and returns a new image containing - the darker values. - - .. code-block:: python - - out = min(image1, image2) - - :rtype: :py:class:`~PIL.Image.Image` - """ - - image1.load() - image2.load() - return image1._new(image1.im.chop_darker(image2.im)) - - -def difference(image1, image2): - """ - Returns the absolute value of the pixel-by-pixel difference between the two - images. - - .. code-block:: python - - out = abs(image1 - image2) - - :rtype: :py:class:`~PIL.Image.Image` - """ - - image1.load() - image2.load() - return image1._new(image1.im.chop_difference(image2.im)) - - -def multiply(image1, image2): - """ - Superimposes two images on top of each other. - - If you multiply an image with a solid black image, the result is black. If - you multiply with a solid white image, the image is unaffected. - - .. code-block:: python - - out = image1 * image2 / MAX - - :rtype: :py:class:`~PIL.Image.Image` - """ - - image1.load() - image2.load() - return image1._new(image1.im.chop_multiply(image2.im)) - - -def screen(image1, image2): - """ - Superimposes two inverted images on top of each other. - - .. code-block:: python - - out = MAX - ((MAX - image1) * (MAX - image2) / MAX) - - :rtype: :py:class:`~PIL.Image.Image` - """ - - image1.load() - image2.load() - return image1._new(image1.im.chop_screen(image2.im)) - - -def soft_light(image1, image2): - """ - Superimposes two images on top of each other using the Soft Light algorithm - - :rtype: :py:class:`~PIL.Image.Image` - """ - - image1.load() - image2.load() - return image1._new(image1.im.chop_soft_light(image2.im)) - - -def hard_light(image1, image2): - """ - Superimposes two images on top of each other using the Hard Light algorithm - - :rtype: :py:class:`~PIL.Image.Image` - """ - - image1.load() - image2.load() - return image1._new(image1.im.chop_hard_light(image2.im)) - - -def overlay(image1, image2): - """ - Superimposes two images on top of each other using the Overlay algorithm - - :rtype: :py:class:`~PIL.Image.Image` - """ - - image1.load() - image2.load() - return image1._new(image1.im.chop_overlay(image2.im)) - - -def add(image1, image2, scale=1.0, offset=0): - """ - Adds two images, dividing the result by scale and adding the - offset. If omitted, scale defaults to 1.0, and offset to 0.0. - - .. code-block:: python - - out = ((image1 + image2) / scale + offset) - - :rtype: :py:class:`~PIL.Image.Image` - """ - - image1.load() - image2.load() - return image1._new(image1.im.chop_add(image2.im, scale, offset)) - - -def subtract(image1, image2, scale=1.0, offset=0): - """ - Subtracts two images, dividing the result by scale and adding the offset. - If omitted, scale defaults to 1.0, and offset to 0.0. - - .. code-block:: python - - out = ((image1 - image2) / scale + offset) - - :rtype: :py:class:`~PIL.Image.Image` - """ - - image1.load() - image2.load() - return image1._new(image1.im.chop_subtract(image2.im, scale, offset)) - - -def add_modulo(image1, image2): - """Add two images, without clipping the result. - - .. code-block:: python - - out = ((image1 + image2) % MAX) - - :rtype: :py:class:`~PIL.Image.Image` - """ - - image1.load() - image2.load() - return image1._new(image1.im.chop_add_modulo(image2.im)) - - -def subtract_modulo(image1, image2): - """Subtract two images, without clipping the result. - - .. code-block:: python - - out = ((image1 - image2) % MAX) - - :rtype: :py:class:`~PIL.Image.Image` - """ - - image1.load() - image2.load() - return image1._new(image1.im.chop_subtract_modulo(image2.im)) - - -def logical_and(image1, image2): - """Logical AND between two images. - - Both of the images must have mode "1". If you would like to perform a - logical AND on an image with a mode other than "1", try - :py:meth:`~PIL.ImageChops.multiply` instead, using a black-and-white mask - as the second image. - - .. code-block:: python - - out = ((image1 and image2) % MAX) - - :rtype: :py:class:`~PIL.Image.Image` - """ - - image1.load() - image2.load() - return image1._new(image1.im.chop_and(image2.im)) - - -def logical_or(image1, image2): - """Logical OR between two images. - - Both of the images must have mode "1". - - .. code-block:: python - - out = ((image1 or image2) % MAX) - - :rtype: :py:class:`~PIL.Image.Image` - """ - - image1.load() - image2.load() - return image1._new(image1.im.chop_or(image2.im)) - - -def logical_xor(image1, image2): - """Logical XOR between two images. - - Both of the images must have mode "1". - - .. code-block:: python - - out = ((bool(image1) != bool(image2)) % MAX) - - :rtype: :py:class:`~PIL.Image.Image` - """ - - image1.load() - image2.load() - return image1._new(image1.im.chop_xor(image2.im)) - - -def blend(image1, image2, alpha): - """Blend images using constant transparency weight. Alias for - :py:func:`PIL.Image.blend`. - - :rtype: :py:class:`~PIL.Image.Image` - """ - - return Image.blend(image1, image2, alpha) - - -def composite(image1, image2, mask): - """Create composite using transparency mask. Alias for - :py:func:`PIL.Image.composite`. - - :rtype: :py:class:`~PIL.Image.Image` - """ - - return Image.composite(image1, image2, mask) - - -def offset(image, xoffset, yoffset=None): - """Returns a copy of the image where data has been offset by the given - distances. Data wraps around the edges. If ``yoffset`` is omitted, it - is assumed to be equal to ``xoffset``. - - :param xoffset: The horizontal distance. - :param yoffset: The vertical distance. If omitted, both - distances are set to the same value. - :rtype: :py:class:`~PIL.Image.Image` - """ - - if yoffset is None: - yoffset = xoffset - image.load() - return image._new(image.im.offset(xoffset, yoffset)) diff --git a/venv/lib/python3.8/site-packages/PIL/ImageCms.py b/venv/lib/python3.8/site-packages/PIL/ImageCms.py deleted file mode 100644 index 8c4740dd..00000000 --- a/venv/lib/python3.8/site-packages/PIL/ImageCms.py +++ /dev/null @@ -1,999 +0,0 @@ -# The Python Imaging Library. -# $Id$ - -# Optional color management support, based on Kevin Cazabon's PyCMS -# library. - -# History: - -# 2009-03-08 fl Added to PIL. - -# Copyright (C) 2002-2003 Kevin Cazabon -# Copyright (c) 2009 by Fredrik Lundh -# Copyright (c) 2013 by Eric Soroos - -# See the README file for information on usage and redistribution. See -# below for the original description. - -import sys - -from PIL import Image - -try: - from PIL import _imagingcms -except ImportError as ex: - # Allow error import for doc purposes, but error out when accessing - # anything in core. - from ._util import deferred_error - - _imagingcms = deferred_error(ex) - -DESCRIPTION = """ -pyCMS - - a Python / PIL interface to the littleCMS ICC Color Management System - Copyright (C) 2002-2003 Kevin Cazabon - kevin@cazabon.com - http://www.cazabon.com - - pyCMS home page: http://www.cazabon.com/pyCMS - littleCMS home page: http://www.littlecms.com - (littleCMS is Copyright (C) 1998-2001 Marti Maria) - - Originally released under LGPL. Graciously donated to PIL in - March 2009, for distribution under the standard PIL license - - The pyCMS.py module provides a "clean" interface between Python/PIL and - pyCMSdll, taking care of some of the more complex handling of the direct - pyCMSdll functions, as well as error-checking and making sure that all - relevant data is kept together. - - While it is possible to call pyCMSdll functions directly, it's not highly - recommended. - - Version History: - - 1.0.0 pil Oct 2013 Port to LCMS 2. - - 0.1.0 pil mod March 10, 2009 - - Renamed display profile to proof profile. The proof - profile is the profile of the device that is being - simulated, not the profile of the device which is - actually used to display/print the final simulation - (that'd be the output profile) - also see LCMSAPI.txt - input colorspace -> using 'renderingIntent' -> proof - colorspace -> using 'proofRenderingIntent' -> output - colorspace - - Added LCMS FLAGS support. - Added FLAGS["SOFTPROOFING"] as default flag for - buildProofTransform (otherwise the proof profile/intent - would be ignored). - - 0.1.0 pil March 2009 - added to PIL, as PIL.ImageCms - - 0.0.2 alpha Jan 6, 2002 - - Added try/except statements around type() checks of - potential CObjects... Python won't let you use type() - on them, and raises a TypeError (stupid, if you ask - me!) - - Added buildProofTransformFromOpenProfiles() function. - Additional fixes in DLL, see DLL code for details. - - 0.0.1 alpha first public release, Dec. 26, 2002 - - Known to-do list with current version (of Python interface, not pyCMSdll): - - none - -""" - -VERSION = "1.0.0 pil" - -# --------------------------------------------------------------------. - -core = _imagingcms - -# -# intent/direction values - -INTENT_PERCEPTUAL = 0 -INTENT_RELATIVE_COLORIMETRIC = 1 -INTENT_SATURATION = 2 -INTENT_ABSOLUTE_COLORIMETRIC = 3 - -DIRECTION_INPUT = 0 -DIRECTION_OUTPUT = 1 -DIRECTION_PROOF = 2 - -# -# flags - -FLAGS = { - "MATRIXINPUT": 1, - "MATRIXOUTPUT": 2, - "MATRIXONLY": (1 | 2), - "NOWHITEONWHITEFIXUP": 4, # Don't hot fix scum dot - # Don't create prelinearization tables on precalculated transforms - # (internal use): - "NOPRELINEARIZATION": 16, - "GUESSDEVICECLASS": 32, # Guess device class (for transform2devicelink) - "NOTCACHE": 64, # Inhibit 1-pixel cache - "NOTPRECALC": 256, - "NULLTRANSFORM": 512, # Don't transform anyway - "HIGHRESPRECALC": 1024, # Use more memory to give better accuracy - "LOWRESPRECALC": 2048, # Use less memory to minimize resources - "WHITEBLACKCOMPENSATION": 8192, - "BLACKPOINTCOMPENSATION": 8192, - "GAMUTCHECK": 4096, # Out of Gamut alarm - "SOFTPROOFING": 16384, # Do softproofing - "PRESERVEBLACK": 32768, # Black preservation - "NODEFAULTRESOURCEDEF": 16777216, # CRD special - "GRIDPOINTS": lambda n: ((n) & 0xFF) << 16, # Gridpoints -} - -_MAX_FLAG = 0 -for flag in FLAGS.values(): - if isinstance(flag, int): - _MAX_FLAG = _MAX_FLAG | flag - - -# --------------------------------------------------------------------. -# Experimental PIL-level API -# --------------------------------------------------------------------. - -## -# Profile. - - -class ImageCmsProfile: - def __init__(self, profile): - """ - :param profile: Either a string representing a filename, - a file like object containing a profile or a - low-level profile object - - """ - - if isinstance(profile, str): - if sys.platform == "win32": - profile_bytes_path = profile.encode() - try: - profile_bytes_path.decode("ascii") - except UnicodeDecodeError: - with open(profile, "rb") as f: - self._set(core.profile_frombytes(f.read())) - return - self._set(core.profile_open(profile), profile) - elif hasattr(profile, "read"): - self._set(core.profile_frombytes(profile.read())) - elif isinstance(profile, _imagingcms.CmsProfile): - self._set(profile) - else: - raise TypeError("Invalid type for Profile") - - def _set(self, profile, filename=None): - self.profile = profile - self.filename = filename - if profile: - self.product_name = None # profile.product_name - self.product_info = None # profile.product_info - else: - self.product_name = None - self.product_info = None - - def tobytes(self): - """ - Returns the profile in a format suitable for embedding in - saved images. - - :returns: a bytes object containing the ICC profile. - """ - - return core.profile_tobytes(self.profile) - - -class ImageCmsTransform(Image.ImagePointHandler): - - """ - Transform. This can be used with the procedural API, or with the standard - :py:func:`~PIL.Image.Image.point` method. - - Will return the output profile in the ``output.info['icc_profile']``. - """ - - def __init__( - self, - input, - output, - input_mode, - output_mode, - intent=INTENT_PERCEPTUAL, - proof=None, - proof_intent=INTENT_ABSOLUTE_COLORIMETRIC, - flags=0, - ): - if proof is None: - self.transform = core.buildTransform( - input.profile, output.profile, input_mode, output_mode, intent, flags - ) - else: - self.transform = core.buildProofTransform( - input.profile, - output.profile, - proof.profile, - input_mode, - output_mode, - intent, - proof_intent, - flags, - ) - # Note: inputMode and outputMode are for pyCMS compatibility only - self.input_mode = self.inputMode = input_mode - self.output_mode = self.outputMode = output_mode - - self.output_profile = output - - def point(self, im): - return self.apply(im) - - def apply(self, im, imOut=None): - im.load() - if imOut is None: - imOut = Image.new(self.output_mode, im.size, None) - self.transform.apply(im.im.id, imOut.im.id) - imOut.info["icc_profile"] = self.output_profile.tobytes() - return imOut - - def apply_in_place(self, im): - im.load() - if im.mode != self.output_mode: - raise ValueError("mode mismatch") # wrong output mode - self.transform.apply(im.im.id, im.im.id) - im.info["icc_profile"] = self.output_profile.tobytes() - return im - - -def get_display_profile(handle=None): - """ - (experimental) Fetches the profile for the current display device. - - :returns: ``None`` if the profile is not known. - """ - - if sys.platform != "win32": - return None - - from PIL import ImageWin - - if isinstance(handle, ImageWin.HDC): - profile = core.get_display_profile_win32(handle, 1) - else: - profile = core.get_display_profile_win32(handle or 0) - if profile is None: - return None - return ImageCmsProfile(profile) - - -# --------------------------------------------------------------------. -# pyCMS compatible layer -# --------------------------------------------------------------------. - - -class PyCMSError(Exception): - - """(pyCMS) Exception class. - This is used for all errors in the pyCMS API.""" - - pass - - -def profileToProfile( - im, - inputProfile, - outputProfile, - renderingIntent=INTENT_PERCEPTUAL, - outputMode=None, - inPlace=False, - flags=0, -): - """ - (pyCMS) Applies an ICC transformation to a given image, mapping from - ``inputProfile`` to ``outputProfile``. - - If the input or output profiles specified are not valid filenames, a - :exc:`PyCMSError` will be raised. If ``inPlace`` is ``True`` and - ``outputMode != im.mode``, a :exc:`PyCMSError` will be raised. - If an error occurs during application of the profiles, - a :exc:`PyCMSError` will be raised. - If ``outputMode`` is not a mode supported by the ``outputProfile`` (or by pyCMS), - a :exc:`PyCMSError` will be raised. - - This function applies an ICC transformation to im from ``inputProfile``'s - color space to ``outputProfile``'s color space using the specified rendering - intent to decide how to handle out-of-gamut colors. - - ``outputMode`` can be used to specify that a color mode conversion is to - be done using these profiles, but the specified profiles must be able - to handle that mode. I.e., if converting im from RGB to CMYK using - profiles, the input profile must handle RGB data, and the output - profile must handle CMYK data. - - :param im: An open :py:class:`~PIL.Image.Image` object (i.e. Image.new(...) - or Image.open(...), etc.) - :param inputProfile: String, as a valid filename path to the ICC input - profile you wish to use for this image, or a profile object - :param outputProfile: String, as a valid filename path to the ICC output - profile you wish to use for this image, or a profile object - :param renderingIntent: Integer (0-3) specifying the rendering intent you - wish to use for the transform - - ImageCms.INTENT_PERCEPTUAL = 0 (DEFAULT) - ImageCms.INTENT_RELATIVE_COLORIMETRIC = 1 - ImageCms.INTENT_SATURATION = 2 - ImageCms.INTENT_ABSOLUTE_COLORIMETRIC = 3 - - see the pyCMS documentation for details on rendering intents and what - they do. - :param outputMode: A valid PIL mode for the output image (i.e. "RGB", - "CMYK", etc.). Note: if rendering the image "inPlace", outputMode - MUST be the same mode as the input, or omitted completely. If - omitted, the outputMode will be the same as the mode of the input - image (im.mode) - :param inPlace: Boolean. If ``True``, the original image is modified in-place, - and ``None`` is returned. If ``False`` (default), a new - :py:class:`~PIL.Image.Image` object is returned with the transform applied. - :param flags: Integer (0-...) specifying additional flags - :returns: Either None or a new :py:class:`~PIL.Image.Image` object, depending on - the value of ``inPlace`` - :exception PyCMSError: - """ - - if outputMode is None: - outputMode = im.mode - - if not isinstance(renderingIntent, int) or not (0 <= renderingIntent <= 3): - raise PyCMSError("renderingIntent must be an integer between 0 and 3") - - if not isinstance(flags, int) or not (0 <= flags <= _MAX_FLAG): - raise PyCMSError("flags must be an integer between 0 and %s" + _MAX_FLAG) - - try: - if not isinstance(inputProfile, ImageCmsProfile): - inputProfile = ImageCmsProfile(inputProfile) - if not isinstance(outputProfile, ImageCmsProfile): - outputProfile = ImageCmsProfile(outputProfile) - transform = ImageCmsTransform( - inputProfile, - outputProfile, - im.mode, - outputMode, - renderingIntent, - flags=flags, - ) - if inPlace: - transform.apply_in_place(im) - imOut = None - else: - imOut = transform.apply(im) - except (OSError, TypeError, ValueError) as v: - raise PyCMSError(v) from v - - return imOut - - -def getOpenProfile(profileFilename): - """ - (pyCMS) Opens an ICC profile file. - - The PyCMSProfile object can be passed back into pyCMS for use in creating - transforms and such (as in ImageCms.buildTransformFromOpenProfiles()). - - If ``profileFilename`` is not a valid filename for an ICC profile, - a :exc:`PyCMSError` will be raised. - - :param profileFilename: String, as a valid filename path to the ICC profile - you wish to open, or a file-like object. - :returns: A CmsProfile class object. - :exception PyCMSError: - """ - - try: - return ImageCmsProfile(profileFilename) - except (OSError, TypeError, ValueError) as v: - raise PyCMSError(v) from v - - -def buildTransform( - inputProfile, - outputProfile, - inMode, - outMode, - renderingIntent=INTENT_PERCEPTUAL, - flags=0, -): - """ - (pyCMS) Builds an ICC transform mapping from the ``inputProfile`` to the - ``outputProfile``. Use applyTransform to apply the transform to a given - image. - - If the input or output profiles specified are not valid filenames, a - :exc:`PyCMSError` will be raised. If an error occurs during creation - of the transform, a :exc:`PyCMSError` will be raised. - - If ``inMode`` or ``outMode`` are not a mode supported by the ``outputProfile`` - (or by pyCMS), a :exc:`PyCMSError` will be raised. - - This function builds and returns an ICC transform from the ``inputProfile`` - to the ``outputProfile`` using the ``renderingIntent`` to determine what to do - with out-of-gamut colors. It will ONLY work for converting images that - are in ``inMode`` to images that are in ``outMode`` color format (PIL mode, - i.e. "RGB", "RGBA", "CMYK", etc.). - - Building the transform is a fair part of the overhead in - ImageCms.profileToProfile(), so if you're planning on converting multiple - images using the same input/output settings, this can save you time. - Once you have a transform object, it can be used with - ImageCms.applyProfile() to convert images without the need to re-compute - the lookup table for the transform. - - The reason pyCMS returns a class object rather than a handle directly - to the transform is that it needs to keep track of the PIL input/output - modes that the transform is meant for. These attributes are stored in - the ``inMode`` and ``outMode`` attributes of the object (which can be - manually overridden if you really want to, but I don't know of any - time that would be of use, or would even work). - - :param inputProfile: String, as a valid filename path to the ICC input - profile you wish to use for this transform, or a profile object - :param outputProfile: String, as a valid filename path to the ICC output - profile you wish to use for this transform, or a profile object - :param inMode: String, as a valid PIL mode that the appropriate profile - also supports (i.e. "RGB", "RGBA", "CMYK", etc.) - :param outMode: String, as a valid PIL mode that the appropriate profile - also supports (i.e. "RGB", "RGBA", "CMYK", etc.) - :param renderingIntent: Integer (0-3) specifying the rendering intent you - wish to use for the transform - - ImageCms.INTENT_PERCEPTUAL = 0 (DEFAULT) - ImageCms.INTENT_RELATIVE_COLORIMETRIC = 1 - ImageCms.INTENT_SATURATION = 2 - ImageCms.INTENT_ABSOLUTE_COLORIMETRIC = 3 - - see the pyCMS documentation for details on rendering intents and what - they do. - :param flags: Integer (0-...) specifying additional flags - :returns: A CmsTransform class object. - :exception PyCMSError: - """ - - if not isinstance(renderingIntent, int) or not (0 <= renderingIntent <= 3): - raise PyCMSError("renderingIntent must be an integer between 0 and 3") - - if not isinstance(flags, int) or not (0 <= flags <= _MAX_FLAG): - raise PyCMSError("flags must be an integer between 0 and %s" + _MAX_FLAG) - - try: - if not isinstance(inputProfile, ImageCmsProfile): - inputProfile = ImageCmsProfile(inputProfile) - if not isinstance(outputProfile, ImageCmsProfile): - outputProfile = ImageCmsProfile(outputProfile) - return ImageCmsTransform( - inputProfile, outputProfile, inMode, outMode, renderingIntent, flags=flags - ) - except (OSError, TypeError, ValueError) as v: - raise PyCMSError(v) from v - - -def buildProofTransform( - inputProfile, - outputProfile, - proofProfile, - inMode, - outMode, - renderingIntent=INTENT_PERCEPTUAL, - proofRenderingIntent=INTENT_ABSOLUTE_COLORIMETRIC, - flags=FLAGS["SOFTPROOFING"], -): - """ - (pyCMS) Builds an ICC transform mapping from the ``inputProfile`` to the - ``outputProfile``, but tries to simulate the result that would be - obtained on the ``proofProfile`` device. - - If the input, output, or proof profiles specified are not valid - filenames, a :exc:`PyCMSError` will be raised. - - If an error occurs during creation of the transform, - a :exc:`PyCMSError` will be raised. - - If ``inMode`` or ``outMode`` are not a mode supported by the ``outputProfile`` - (or by pyCMS), a :exc:`PyCMSError` will be raised. - - This function builds and returns an ICC transform from the ``inputProfile`` - to the ``outputProfile``, but tries to simulate the result that would be - obtained on the ``proofProfile`` device using ``renderingIntent`` and - ``proofRenderingIntent`` to determine what to do with out-of-gamut - colors. This is known as "soft-proofing". It will ONLY work for - converting images that are in ``inMode`` to images that are in outMode - color format (PIL mode, i.e. "RGB", "RGBA", "CMYK", etc.). - - Usage of the resulting transform object is exactly the same as with - ImageCms.buildTransform(). - - Proof profiling is generally used when using an output device to get a - good idea of what the final printed/displayed image would look like on - the ``proofProfile`` device when it's quicker and easier to use the - output device for judging color. Generally, this means that the - output device is a monitor, or a dye-sub printer (etc.), and the simulated - device is something more expensive, complicated, or time consuming - (making it difficult to make a real print for color judgement purposes). - - Soft-proofing basically functions by adjusting the colors on the - output device to match the colors of the device being simulated. However, - when the simulated device has a much wider gamut than the output - device, you may obtain marginal results. - - :param inputProfile: String, as a valid filename path to the ICC input - profile you wish to use for this transform, or a profile object - :param outputProfile: String, as a valid filename path to the ICC output - (monitor, usually) profile you wish to use for this transform, or a - profile object - :param proofProfile: String, as a valid filename path to the ICC proof - profile you wish to use for this transform, or a profile object - :param inMode: String, as a valid PIL mode that the appropriate profile - also supports (i.e. "RGB", "RGBA", "CMYK", etc.) - :param outMode: String, as a valid PIL mode that the appropriate profile - also supports (i.e. "RGB", "RGBA", "CMYK", etc.) - :param renderingIntent: Integer (0-3) specifying the rendering intent you - wish to use for the input->proof (simulated) transform - - ImageCms.INTENT_PERCEPTUAL = 0 (DEFAULT) - ImageCms.INTENT_RELATIVE_COLORIMETRIC = 1 - ImageCms.INTENT_SATURATION = 2 - ImageCms.INTENT_ABSOLUTE_COLORIMETRIC = 3 - - see the pyCMS documentation for details on rendering intents and what - they do. - :param proofRenderingIntent: Integer (0-3) specifying the rendering intent - you wish to use for proof->output transform - - ImageCms.INTENT_PERCEPTUAL = 0 (DEFAULT) - ImageCms.INTENT_RELATIVE_COLORIMETRIC = 1 - ImageCms.INTENT_SATURATION = 2 - ImageCms.INTENT_ABSOLUTE_COLORIMETRIC = 3 - - see the pyCMS documentation for details on rendering intents and what - they do. - :param flags: Integer (0-...) specifying additional flags - :returns: A CmsTransform class object. - :exception PyCMSError: - """ - - if not isinstance(renderingIntent, int) or not (0 <= renderingIntent <= 3): - raise PyCMSError("renderingIntent must be an integer between 0 and 3") - - if not isinstance(flags, int) or not (0 <= flags <= _MAX_FLAG): - raise PyCMSError("flags must be an integer between 0 and %s" + _MAX_FLAG) - - try: - if not isinstance(inputProfile, ImageCmsProfile): - inputProfile = ImageCmsProfile(inputProfile) - if not isinstance(outputProfile, ImageCmsProfile): - outputProfile = ImageCmsProfile(outputProfile) - if not isinstance(proofProfile, ImageCmsProfile): - proofProfile = ImageCmsProfile(proofProfile) - return ImageCmsTransform( - inputProfile, - outputProfile, - inMode, - outMode, - renderingIntent, - proofProfile, - proofRenderingIntent, - flags, - ) - except (OSError, TypeError, ValueError) as v: - raise PyCMSError(v) from v - - -buildTransformFromOpenProfiles = buildTransform -buildProofTransformFromOpenProfiles = buildProofTransform - - -def applyTransform(im, transform, inPlace=False): - """ - (pyCMS) Applies a transform to a given image. - - If ``im.mode != transform.inMode``, a :exc:`PyCMSError` is raised. - - If ``inPlace`` is ``True`` and ``transform.inMode != transform.outMode``, a - :exc:`PyCMSError` is raised. - - If ``im.mode``, ``transform.inMode`` or ``transform.outMode`` is not - supported by pyCMSdll or the profiles you used for the transform, a - :exc:`PyCMSError` is raised. - - If an error occurs while the transform is being applied, - a :exc:`PyCMSError` is raised. - - This function applies a pre-calculated transform (from - ImageCms.buildTransform() or ImageCms.buildTransformFromOpenProfiles()) - to an image. The transform can be used for multiple images, saving - considerable calculation time if doing the same conversion multiple times. - - If you want to modify im in-place instead of receiving a new image as - the return value, set ``inPlace`` to ``True``. This can only be done if - ``transform.inMode`` and ``transform.outMode`` are the same, because we can't - change the mode in-place (the buffer sizes for some modes are - different). The default behavior is to return a new :py:class:`~PIL.Image.Image` - object of the same dimensions in mode ``transform.outMode``. - - :param im: An :py:class:`~PIL.Image.Image` object, and im.mode must be the same - as the ``inMode`` supported by the transform. - :param transform: A valid CmsTransform class object - :param inPlace: Bool. If ``True``, ``im`` is modified in place and ``None`` is - returned, if ``False``, a new :py:class:`~PIL.Image.Image` object with the - transform applied is returned (and ``im`` is not changed). The default is - ``False``. - :returns: Either ``None``, or a new :py:class:`~PIL.Image.Image` object, - depending on the value of ``inPlace``. The profile will be returned in - the image's ``info['icc_profile']``. - :exception PyCMSError: - """ - - try: - if inPlace: - transform.apply_in_place(im) - imOut = None - else: - imOut = transform.apply(im) - except (TypeError, ValueError) as v: - raise PyCMSError(v) from v - - return imOut - - -def createProfile(colorSpace, colorTemp=-1): - """ - (pyCMS) Creates a profile. - - If colorSpace not in ``["LAB", "XYZ", "sRGB"]``, - a :exc:`PyCMSError` is raised. - - If using LAB and ``colorTemp`` is not a positive integer, - a :exc:`PyCMSError` is raised. - - If an error occurs while creating the profile, - a :exc:`PyCMSError` is raised. - - Use this function to create common profiles on-the-fly instead of - having to supply a profile on disk and knowing the path to it. It - returns a normal CmsProfile object that can be passed to - ImageCms.buildTransformFromOpenProfiles() to create a transform to apply - to images. - - :param colorSpace: String, the color space of the profile you wish to - create. - Currently only "LAB", "XYZ", and "sRGB" are supported. - :param colorTemp: Positive integer for the white point for the profile, in - degrees Kelvin (i.e. 5000, 6500, 9600, etc.). The default is for D50 - illuminant if omitted (5000k). colorTemp is ONLY applied to LAB - profiles, and is ignored for XYZ and sRGB. - :returns: A CmsProfile class object - :exception PyCMSError: - """ - - if colorSpace not in ["LAB", "XYZ", "sRGB"]: - raise PyCMSError( - f"Color space not supported for on-the-fly profile creation ({colorSpace})" - ) - - if colorSpace == "LAB": - try: - colorTemp = float(colorTemp) - except (TypeError, ValueError) as e: - raise PyCMSError( - f'Color temperature must be numeric, "{colorTemp}" not valid' - ) from e - - try: - return core.createProfile(colorSpace, colorTemp) - except (TypeError, ValueError) as v: - raise PyCMSError(v) from v - - -def getProfileName(profile): - """ - - (pyCMS) Gets the internal product name for the given profile. - - If ``profile`` isn't a valid CmsProfile object or filename to a profile, - a :exc:`PyCMSError` is raised If an error occurs while trying - to obtain the name tag, a :exc:`PyCMSError` is raised. - - Use this function to obtain the INTERNAL name of the profile (stored - in an ICC tag in the profile itself), usually the one used when the - profile was originally created. Sometimes this tag also contains - additional information supplied by the creator. - - :param profile: EITHER a valid CmsProfile object, OR a string of the - filename of an ICC profile. - :returns: A string containing the internal name of the profile as stored - in an ICC tag. - :exception PyCMSError: - """ - - try: - # add an extra newline to preserve pyCMS compatibility - if not isinstance(profile, ImageCmsProfile): - profile = ImageCmsProfile(profile) - # do it in python, not c. - # // name was "%s - %s" (model, manufacturer) || Description , - # // but if the Model and Manufacturer were the same or the model - # // was long, Just the model, in 1.x - model = profile.profile.model - manufacturer = profile.profile.manufacturer - - if not (model or manufacturer): - return (profile.profile.profile_description or "") + "\n" - if not manufacturer or len(model) > 30: - return model + "\n" - return f"{model} - {manufacturer}\n" - - except (AttributeError, OSError, TypeError, ValueError) as v: - raise PyCMSError(v) from v - - -def getProfileInfo(profile): - """ - (pyCMS) Gets the internal product information for the given profile. - - If ``profile`` isn't a valid CmsProfile object or filename to a profile, - a :exc:`PyCMSError` is raised. - - If an error occurs while trying to obtain the info tag, - a :exc:`PyCMSError` is raised. - - Use this function to obtain the information stored in the profile's - info tag. This often contains details about the profile, and how it - was created, as supplied by the creator. - - :param profile: EITHER a valid CmsProfile object, OR a string of the - filename of an ICC profile. - :returns: A string containing the internal profile information stored in - an ICC tag. - :exception PyCMSError: - """ - - try: - if not isinstance(profile, ImageCmsProfile): - profile = ImageCmsProfile(profile) - # add an extra newline to preserve pyCMS compatibility - # Python, not C. the white point bits weren't working well, - # so skipping. - # info was description \r\n\r\n copyright \r\n\r\n K007 tag \r\n\r\n whitepoint - description = profile.profile.profile_description - cpright = profile.profile.copyright - arr = [] - for elt in (description, cpright): - if elt: - arr.append(elt) - return "\r\n\r\n".join(arr) + "\r\n\r\n" - - except (AttributeError, OSError, TypeError, ValueError) as v: - raise PyCMSError(v) from v - - -def getProfileCopyright(profile): - """ - (pyCMS) Gets the copyright for the given profile. - - If ``profile`` isn't a valid CmsProfile object or filename to a profile, a - :exc:`PyCMSError` is raised. - - If an error occurs while trying to obtain the copyright tag, - a :exc:`PyCMSError` is raised. - - Use this function to obtain the information stored in the profile's - copyright tag. - - :param profile: EITHER a valid CmsProfile object, OR a string of the - filename of an ICC profile. - :returns: A string containing the internal profile information stored in - an ICC tag. - :exception PyCMSError: - """ - try: - # add an extra newline to preserve pyCMS compatibility - if not isinstance(profile, ImageCmsProfile): - profile = ImageCmsProfile(profile) - return (profile.profile.copyright or "") + "\n" - except (AttributeError, OSError, TypeError, ValueError) as v: - raise PyCMSError(v) from v - - -def getProfileManufacturer(profile): - """ - (pyCMS) Gets the manufacturer for the given profile. - - If ``profile`` isn't a valid CmsProfile object or filename to a profile, a - :exc:`PyCMSError` is raised. - - If an error occurs while trying to obtain the manufacturer tag, a - :exc:`PyCMSError` is raised. - - Use this function to obtain the information stored in the profile's - manufacturer tag. - - :param profile: EITHER a valid CmsProfile object, OR a string of the - filename of an ICC profile. - :returns: A string containing the internal profile information stored in - an ICC tag. - :exception PyCMSError: - """ - try: - # add an extra newline to preserve pyCMS compatibility - if not isinstance(profile, ImageCmsProfile): - profile = ImageCmsProfile(profile) - return (profile.profile.manufacturer or "") + "\n" - except (AttributeError, OSError, TypeError, ValueError) as v: - raise PyCMSError(v) from v - - -def getProfileModel(profile): - """ - (pyCMS) Gets the model for the given profile. - - If ``profile`` isn't a valid CmsProfile object or filename to a profile, a - :exc:`PyCMSError` is raised. - - If an error occurs while trying to obtain the model tag, - a :exc:`PyCMSError` is raised. - - Use this function to obtain the information stored in the profile's - model tag. - - :param profile: EITHER a valid CmsProfile object, OR a string of the - filename of an ICC profile. - :returns: A string containing the internal profile information stored in - an ICC tag. - :exception PyCMSError: - """ - - try: - # add an extra newline to preserve pyCMS compatibility - if not isinstance(profile, ImageCmsProfile): - profile = ImageCmsProfile(profile) - return (profile.profile.model or "") + "\n" - except (AttributeError, OSError, TypeError, ValueError) as v: - raise PyCMSError(v) from v - - -def getProfileDescription(profile): - """ - (pyCMS) Gets the description for the given profile. - - If ``profile`` isn't a valid CmsProfile object or filename to a profile, a - :exc:`PyCMSError` is raised. - - If an error occurs while trying to obtain the description tag, - a :exc:`PyCMSError` is raised. - - Use this function to obtain the information stored in the profile's - description tag. - - :param profile: EITHER a valid CmsProfile object, OR a string of the - filename of an ICC profile. - :returns: A string containing the internal profile information stored in an - ICC tag. - :exception PyCMSError: - """ - - try: - # add an extra newline to preserve pyCMS compatibility - if not isinstance(profile, ImageCmsProfile): - profile = ImageCmsProfile(profile) - return (profile.profile.profile_description or "") + "\n" - except (AttributeError, OSError, TypeError, ValueError) as v: - raise PyCMSError(v) from v - - -def getDefaultIntent(profile): - """ - (pyCMS) Gets the default intent name for the given profile. - - If ``profile`` isn't a valid CmsProfile object or filename to a profile, a - :exc:`PyCMSError` is raised. - - If an error occurs while trying to obtain the default intent, a - :exc:`PyCMSError` is raised. - - Use this function to determine the default (and usually best optimized) - rendering intent for this profile. Most profiles support multiple - rendering intents, but are intended mostly for one type of conversion. - If you wish to use a different intent than returned, use - ImageCms.isIntentSupported() to verify it will work first. - - :param profile: EITHER a valid CmsProfile object, OR a string of the - filename of an ICC profile. - :returns: Integer 0-3 specifying the default rendering intent for this - profile. - - ImageCms.INTENT_PERCEPTUAL = 0 (DEFAULT) - ImageCms.INTENT_RELATIVE_COLORIMETRIC = 1 - ImageCms.INTENT_SATURATION = 2 - ImageCms.INTENT_ABSOLUTE_COLORIMETRIC = 3 - - see the pyCMS documentation for details on rendering intents and what - they do. - :exception PyCMSError: - """ - - try: - if not isinstance(profile, ImageCmsProfile): - profile = ImageCmsProfile(profile) - return profile.profile.rendering_intent - except (AttributeError, OSError, TypeError, ValueError) as v: - raise PyCMSError(v) from v - - -def isIntentSupported(profile, intent, direction): - """ - (pyCMS) Checks if a given intent is supported. - - Use this function to verify that you can use your desired - ``intent`` with ``profile``, and that ``profile`` can be used for the - input/output/proof profile as you desire. - - Some profiles are created specifically for one "direction", can cannot - be used for others. Some profiles can only be used for certain - rendering intents, so it's best to either verify this before trying - to create a transform with them (using this function), or catch the - potential :exc:`PyCMSError` that will occur if they don't - support the modes you select. - - :param profile: EITHER a valid CmsProfile object, OR a string of the - filename of an ICC profile. - :param intent: Integer (0-3) specifying the rendering intent you wish to - use with this profile - - ImageCms.INTENT_PERCEPTUAL = 0 (DEFAULT) - ImageCms.INTENT_RELATIVE_COLORIMETRIC = 1 - ImageCms.INTENT_SATURATION = 2 - ImageCms.INTENT_ABSOLUTE_COLORIMETRIC = 3 - - see the pyCMS documentation for details on rendering intents and what - they do. - :param direction: Integer specifying if the profile is to be used for - input, output, or proof - - INPUT = 0 (or use ImageCms.DIRECTION_INPUT) - OUTPUT = 1 (or use ImageCms.DIRECTION_OUTPUT) - PROOF = 2 (or use ImageCms.DIRECTION_PROOF) - - :returns: 1 if the intent/direction are supported, -1 if they are not. - :exception PyCMSError: - """ - - try: - if not isinstance(profile, ImageCmsProfile): - profile = ImageCmsProfile(profile) - # FIXME: I get different results for the same data w. different - # compilers. Bug in LittleCMS or in the binding? - if profile.profile.is_intent_supported(intent, direction): - return 1 - else: - return -1 - except (AttributeError, OSError, TypeError, ValueError) as v: - raise PyCMSError(v) from v - - -def versions(): - """ - (pyCMS) Fetches versions. - """ - - return (VERSION, core.littlecms_version, sys.version.split()[0], Image.__version__) diff --git a/venv/lib/python3.8/site-packages/PIL/ImageColor.py b/venv/lib/python3.8/site-packages/PIL/ImageColor.py deleted file mode 100644 index 90911744..00000000 --- a/venv/lib/python3.8/site-packages/PIL/ImageColor.py +++ /dev/null @@ -1,300 +0,0 @@ -# -# The Python Imaging Library -# $Id$ -# -# map CSS3-style colour description strings to RGB -# -# History: -# 2002-10-24 fl Added support for CSS-style color strings -# 2002-12-15 fl Added RGBA support -# 2004-03-27 fl Fixed remaining int() problems for Python 1.5.2 -# 2004-07-19 fl Fixed gray/grey spelling issues -# 2009-03-05 fl Fixed rounding error in grayscale calculation -# -# Copyright (c) 2002-2004 by Secret Labs AB -# Copyright (c) 2002-2004 by Fredrik Lundh -# -# See the README file for information on usage and redistribution. -# - -import re - -from . import Image - - -def getrgb(color): - """ - Convert a color string to an RGB tuple. If the string cannot be parsed, - this function raises a :py:exc:`ValueError` exception. - - .. versionadded:: 1.1.4 - - :param color: A color string - :return: ``(red, green, blue[, alpha])`` - """ - color = color.lower() - - rgb = colormap.get(color, None) - if rgb: - if isinstance(rgb, tuple): - return rgb - colormap[color] = rgb = getrgb(rgb) - return rgb - - # check for known string formats - if re.match("#[a-f0-9]{3}$", color): - return (int(color[1] * 2, 16), int(color[2] * 2, 16), int(color[3] * 2, 16)) - - if re.match("#[a-f0-9]{4}$", color): - return ( - int(color[1] * 2, 16), - int(color[2] * 2, 16), - int(color[3] * 2, 16), - int(color[4] * 2, 16), - ) - - if re.match("#[a-f0-9]{6}$", color): - return (int(color[1:3], 16), int(color[3:5], 16), int(color[5:7], 16)) - - if re.match("#[a-f0-9]{8}$", color): - return ( - int(color[1:3], 16), - int(color[3:5], 16), - int(color[5:7], 16), - int(color[7:9], 16), - ) - - m = re.match(r"rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$", color) - if m: - return (int(m.group(1)), int(m.group(2)), int(m.group(3))) - - m = re.match(r"rgb\(\s*(\d+)%\s*,\s*(\d+)%\s*,\s*(\d+)%\s*\)$", color) - if m: - return ( - int((int(m.group(1)) * 255) / 100.0 + 0.5), - int((int(m.group(2)) * 255) / 100.0 + 0.5), - int((int(m.group(3)) * 255) / 100.0 + 0.5), - ) - - m = re.match( - r"hsl\(\s*(\d+\.?\d*)\s*,\s*(\d+\.?\d*)%\s*,\s*(\d+\.?\d*)%\s*\)$", color - ) - if m: - from colorsys import hls_to_rgb - - rgb = hls_to_rgb( - float(m.group(1)) / 360.0, - float(m.group(3)) / 100.0, - float(m.group(2)) / 100.0, - ) - return ( - int(rgb[0] * 255 + 0.5), - int(rgb[1] * 255 + 0.5), - int(rgb[2] * 255 + 0.5), - ) - - m = re.match( - r"hs[bv]\(\s*(\d+\.?\d*)\s*,\s*(\d+\.?\d*)%\s*,\s*(\d+\.?\d*)%\s*\)$", color - ) - if m: - from colorsys import hsv_to_rgb - - rgb = hsv_to_rgb( - float(m.group(1)) / 360.0, - float(m.group(2)) / 100.0, - float(m.group(3)) / 100.0, - ) - return ( - int(rgb[0] * 255 + 0.5), - int(rgb[1] * 255 + 0.5), - int(rgb[2] * 255 + 0.5), - ) - - m = re.match(r"rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$", color) - if m: - return (int(m.group(1)), int(m.group(2)), int(m.group(3)), int(m.group(4))) - raise ValueError(f"unknown color specifier: {repr(color)}") - - -def getcolor(color, mode): - """ - Same as :py:func:`~PIL.ImageColor.getrgb`, but converts the RGB value to a - greyscale value if the mode is not color or a palette image. If the string - cannot be parsed, this function raises a :py:exc:`ValueError` exception. - - .. versionadded:: 1.1.4 - - :param color: A color string - :return: ``(graylevel [, alpha]) or (red, green, blue[, alpha])`` - """ - # same as getrgb, but converts the result to the given mode - color, alpha = getrgb(color), 255 - if len(color) == 4: - color, alpha = color[0:3], color[3] - - if Image.getmodebase(mode) == "L": - r, g, b = color - # ITU-R Recommendation 601-2 for nonlinear RGB - # scaled to 24 bits to match the convert's implementation. - color = (r * 19595 + g * 38470 + b * 7471 + 0x8000) >> 16 - if mode[-1] == "A": - return (color, alpha) - else: - if mode[-1] == "A": - return color + (alpha,) - return color - - -colormap = { - # X11 colour table from https://drafts.csswg.org/css-color-4/, with - # gray/grey spelling issues fixed. This is a superset of HTML 4.0 - # colour names used in CSS 1. - "aliceblue": "#f0f8ff", - "antiquewhite": "#faebd7", - "aqua": "#00ffff", - "aquamarine": "#7fffd4", - "azure": "#f0ffff", - "beige": "#f5f5dc", - "bisque": "#ffe4c4", - "black": "#000000", - "blanchedalmond": "#ffebcd", - "blue": "#0000ff", - "blueviolet": "#8a2be2", - "brown": "#a52a2a", - "burlywood": "#deb887", - "cadetblue": "#5f9ea0", - "chartreuse": "#7fff00", - "chocolate": "#d2691e", - "coral": "#ff7f50", - "cornflowerblue": "#6495ed", - "cornsilk": "#fff8dc", - "crimson": "#dc143c", - "cyan": "#00ffff", - "darkblue": "#00008b", - "darkcyan": "#008b8b", - "darkgoldenrod": "#b8860b", - "darkgray": "#a9a9a9", - "darkgrey": "#a9a9a9", - "darkgreen": "#006400", - "darkkhaki": "#bdb76b", - "darkmagenta": "#8b008b", - "darkolivegreen": "#556b2f", - "darkorange": "#ff8c00", - "darkorchid": "#9932cc", - "darkred": "#8b0000", - "darksalmon": "#e9967a", - "darkseagreen": "#8fbc8f", - "darkslateblue": "#483d8b", - "darkslategray": "#2f4f4f", - "darkslategrey": "#2f4f4f", - "darkturquoise": "#00ced1", - "darkviolet": "#9400d3", - "deeppink": "#ff1493", - "deepskyblue": "#00bfff", - "dimgray": "#696969", - "dimgrey": "#696969", - "dodgerblue": "#1e90ff", - "firebrick": "#b22222", - "floralwhite": "#fffaf0", - "forestgreen": "#228b22", - "fuchsia": "#ff00ff", - "gainsboro": "#dcdcdc", - "ghostwhite": "#f8f8ff", - "gold": "#ffd700", - "goldenrod": "#daa520", - "gray": "#808080", - "grey": "#808080", - "green": "#008000", - "greenyellow": "#adff2f", - "honeydew": "#f0fff0", - "hotpink": "#ff69b4", - "indianred": "#cd5c5c", - "indigo": "#4b0082", - "ivory": "#fffff0", - "khaki": "#f0e68c", - "lavender": "#e6e6fa", - "lavenderblush": "#fff0f5", - "lawngreen": "#7cfc00", - "lemonchiffon": "#fffacd", - "lightblue": "#add8e6", - "lightcoral": "#f08080", - "lightcyan": "#e0ffff", - "lightgoldenrodyellow": "#fafad2", - "lightgreen": "#90ee90", - "lightgray": "#d3d3d3", - "lightgrey": "#d3d3d3", - "lightpink": "#ffb6c1", - "lightsalmon": "#ffa07a", - "lightseagreen": "#20b2aa", - "lightskyblue": "#87cefa", - "lightslategray": "#778899", - "lightslategrey": "#778899", - "lightsteelblue": "#b0c4de", - "lightyellow": "#ffffe0", - "lime": "#00ff00", - "limegreen": "#32cd32", - "linen": "#faf0e6", - "magenta": "#ff00ff", - "maroon": "#800000", - "mediumaquamarine": "#66cdaa", - "mediumblue": "#0000cd", - "mediumorchid": "#ba55d3", - "mediumpurple": "#9370db", - "mediumseagreen": "#3cb371", - "mediumslateblue": "#7b68ee", - "mediumspringgreen": "#00fa9a", - "mediumturquoise": "#48d1cc", - "mediumvioletred": "#c71585", - "midnightblue": "#191970", - "mintcream": "#f5fffa", - "mistyrose": "#ffe4e1", - "moccasin": "#ffe4b5", - "navajowhite": "#ffdead", - "navy": "#000080", - "oldlace": "#fdf5e6", - "olive": "#808000", - "olivedrab": "#6b8e23", - "orange": "#ffa500", - "orangered": "#ff4500", - "orchid": "#da70d6", - "palegoldenrod": "#eee8aa", - "palegreen": "#98fb98", - "paleturquoise": "#afeeee", - "palevioletred": "#db7093", - "papayawhip": "#ffefd5", - "peachpuff": "#ffdab9", - "peru": "#cd853f", - "pink": "#ffc0cb", - "plum": "#dda0dd", - "powderblue": "#b0e0e6", - "purple": "#800080", - "rebeccapurple": "#663399", - "red": "#ff0000", - "rosybrown": "#bc8f8f", - "royalblue": "#4169e1", - "saddlebrown": "#8b4513", - "salmon": "#fa8072", - "sandybrown": "#f4a460", - "seagreen": "#2e8b57", - "seashell": "#fff5ee", - "sienna": "#a0522d", - "silver": "#c0c0c0", - "skyblue": "#87ceeb", - "slateblue": "#6a5acd", - "slategray": "#708090", - "slategrey": "#708090", - "snow": "#fffafa", - "springgreen": "#00ff7f", - "steelblue": "#4682b4", - "tan": "#d2b48c", - "teal": "#008080", - "thistle": "#d8bfd8", - "tomato": "#ff6347", - "turquoise": "#40e0d0", - "violet": "#ee82ee", - "wheat": "#f5deb3", - "white": "#ffffff", - "whitesmoke": "#f5f5f5", - "yellow": "#ffff00", - "yellowgreen": "#9acd32", -} diff --git a/venv/lib/python3.8/site-packages/PIL/ImageDraw.py b/venv/lib/python3.8/site-packages/PIL/ImageDraw.py deleted file mode 100644 index b823be9a..00000000 --- a/venv/lib/python3.8/site-packages/PIL/ImageDraw.py +++ /dev/null @@ -1,898 +0,0 @@ -# -# The Python Imaging Library -# $Id$ -# -# drawing interface operations -# -# History: -# 1996-04-13 fl Created (experimental) -# 1996-08-07 fl Filled polygons, ellipses. -# 1996-08-13 fl Added text support -# 1998-06-28 fl Handle I and F images -# 1998-12-29 fl Added arc; use arc primitive to draw ellipses -# 1999-01-10 fl Added shape stuff (experimental) -# 1999-02-06 fl Added bitmap support -# 1999-02-11 fl Changed all primitives to take options -# 1999-02-20 fl Fixed backwards compatibility -# 2000-10-12 fl Copy on write, when necessary -# 2001-02-18 fl Use default ink for bitmap/text also in fill mode -# 2002-10-24 fl Added support for CSS-style color strings -# 2002-12-10 fl Added experimental support for RGBA-on-RGB drawing -# 2002-12-11 fl Refactored low-level drawing API (work in progress) -# 2004-08-26 fl Made Draw() a factory function, added getdraw() support -# 2004-09-04 fl Added width support to line primitive -# 2004-09-10 fl Added font mode handling -# 2006-06-19 fl Added font bearing support (getmask2) -# -# Copyright (c) 1997-2006 by Secret Labs AB -# Copyright (c) 1996-2006 by Fredrik Lundh -# -# See the README file for information on usage and redistribution. -# - -import math -import numbers - -from . import Image, ImageColor - -""" -A simple 2D drawing interface for PIL images. -

-Application code should use the Draw factory, instead of -directly. -""" - - -class ImageDraw: - def __init__(self, im, mode=None): - """ - Create a drawing instance. - - :param im: The image to draw in. - :param mode: Optional mode to use for color values. For RGB - images, this argument can be RGB or RGBA (to blend the - drawing into the image). For all other modes, this argument - must be the same as the image mode. If omitted, the mode - defaults to the mode of the image. - """ - im.load() - if im.readonly: - im._copy() # make it writeable - blend = 0 - if mode is None: - mode = im.mode - if mode != im.mode: - if mode == "RGBA" and im.mode == "RGB": - blend = 1 - else: - raise ValueError("mode mismatch") - if mode == "P": - self.palette = im.palette - else: - self.palette = None - self.im = im.im - self.draw = Image.core.draw(self.im, blend) - self.mode = mode - if mode in ("I", "F"): - self.ink = self.draw.draw_ink(1) - else: - self.ink = self.draw.draw_ink(-1) - if mode in ("1", "P", "I", "F"): - # FIXME: fix Fill2 to properly support matte for I+F images - self.fontmode = "1" - else: - self.fontmode = "L" # aliasing is okay for other modes - self.fill = 0 - self.font = None - - def getfont(self): - """ - Get the current default font. - - :returns: An image font.""" - if not self.font: - # FIXME: should add a font repository - from . import ImageFont - - self.font = ImageFont.load_default() - return self.font - - def _getink(self, ink, fill=None): - if ink is None and fill is None: - if self.fill: - fill = self.ink - else: - ink = self.ink - else: - if ink is not None: - if isinstance(ink, str): - ink = ImageColor.getcolor(ink, self.mode) - if self.palette and not isinstance(ink, numbers.Number): - ink = self.palette.getcolor(ink) - ink = self.draw.draw_ink(ink) - if fill is not None: - if isinstance(fill, str): - fill = ImageColor.getcolor(fill, self.mode) - if self.palette and not isinstance(fill, numbers.Number): - fill = self.palette.getcolor(fill) - fill = self.draw.draw_ink(fill) - return ink, fill - - def arc(self, xy, start, end, fill=None, width=1): - """Draw an arc.""" - ink, fill = self._getink(fill) - if ink is not None: - self.draw.draw_arc(xy, start, end, ink, width) - - def bitmap(self, xy, bitmap, fill=None): - """Draw a bitmap.""" - bitmap.load() - ink, fill = self._getink(fill) - if ink is None: - ink = fill - if ink is not None: - self.draw.draw_bitmap(xy, bitmap.im, ink) - - def chord(self, xy, start, end, fill=None, outline=None, width=1): - """Draw a chord.""" - ink, fill = self._getink(outline, fill) - if fill is not None: - self.draw.draw_chord(xy, start, end, fill, 1) - if ink is not None and ink != fill and width != 0: - self.draw.draw_chord(xy, start, end, ink, 0, width) - - def ellipse(self, xy, fill=None, outline=None, width=1): - """Draw an ellipse.""" - ink, fill = self._getink(outline, fill) - if fill is not None: - self.draw.draw_ellipse(xy, fill, 1) - if ink is not None and ink != fill and width != 0: - self.draw.draw_ellipse(xy, ink, 0, width) - - def line(self, xy, fill=None, width=0, joint=None): - """Draw a line, or a connected sequence of line segments.""" - ink = self._getink(fill)[0] - if ink is not None: - self.draw.draw_lines(xy, ink, width) - if joint == "curve" and width > 4: - if not isinstance(xy[0], (list, tuple)): - xy = [tuple(xy[i : i + 2]) for i in range(0, len(xy), 2)] - for i in range(1, len(xy) - 1): - point = xy[i] - angles = [ - math.degrees(math.atan2(end[0] - start[0], start[1] - end[1])) - % 360 - for start, end in ((xy[i - 1], point), (point, xy[i + 1])) - ] - if angles[0] == angles[1]: - # This is a straight line, so no joint is required - continue - - def coord_at_angle(coord, angle): - x, y = coord - angle -= 90 - distance = width / 2 - 1 - return tuple( - [ - p + (math.floor(p_d) if p_d > 0 else math.ceil(p_d)) - for p, p_d in ( - (x, distance * math.cos(math.radians(angle))), - (y, distance * math.sin(math.radians(angle))), - ) - ] - ) - - flipped = ( - angles[1] > angles[0] and angles[1] - 180 > angles[0] - ) or (angles[1] < angles[0] and angles[1] + 180 > angles[0]) - coords = [ - (point[0] - width / 2 + 1, point[1] - width / 2 + 1), - (point[0] + width / 2 - 1, point[1] + width / 2 - 1), - ] - if flipped: - start, end = (angles[1] + 90, angles[0] + 90) - else: - start, end = (angles[0] - 90, angles[1] - 90) - self.pieslice(coords, start - 90, end - 90, fill) - - if width > 8: - # Cover potential gaps between the line and the joint - if flipped: - gapCoords = [ - coord_at_angle(point, angles[0] + 90), - point, - coord_at_angle(point, angles[1] + 90), - ] - else: - gapCoords = [ - coord_at_angle(point, angles[0] - 90), - point, - coord_at_angle(point, angles[1] - 90), - ] - self.line(gapCoords, fill, width=3) - - def shape(self, shape, fill=None, outline=None): - """(Experimental) Draw a shape.""" - shape.close() - ink, fill = self._getink(outline, fill) - if fill is not None: - self.draw.draw_outline(shape, fill, 1) - if ink is not None and ink != fill: - self.draw.draw_outline(shape, ink, 0) - - def pieslice(self, xy, start, end, fill=None, outline=None, width=1): - """Draw a pieslice.""" - ink, fill = self._getink(outline, fill) - if fill is not None: - self.draw.draw_pieslice(xy, start, end, fill, 1) - if ink is not None and ink != fill and width != 0: - self.draw.draw_pieslice(xy, start, end, ink, 0, width) - - def point(self, xy, fill=None): - """Draw one or more individual pixels.""" - ink, fill = self._getink(fill) - if ink is not None: - self.draw.draw_points(xy, ink) - - def polygon(self, xy, fill=None, outline=None): - """Draw a polygon.""" - ink, fill = self._getink(outline, fill) - if fill is not None: - self.draw.draw_polygon(xy, fill, 1) - if ink is not None and ink != fill: - self.draw.draw_polygon(xy, ink, 0) - - def regular_polygon( - self, bounding_circle, n_sides, rotation=0, fill=None, outline=None - ): - """Draw a regular polygon.""" - xy = _compute_regular_polygon_vertices(bounding_circle, n_sides, rotation) - self.polygon(xy, fill, outline) - - def rectangle(self, xy, fill=None, outline=None, width=1): - """Draw a rectangle.""" - ink, fill = self._getink(outline, fill) - if fill is not None: - self.draw.draw_rectangle(xy, fill, 1) - if ink is not None and ink != fill and width != 0: - self.draw.draw_rectangle(xy, ink, 0, width) - - def _multiline_check(self, text): - """Draw text.""" - split_character = "\n" if isinstance(text, str) else b"\n" - - return split_character in text - - def _multiline_split(self, text): - split_character = "\n" if isinstance(text, str) else b"\n" - - return text.split(split_character) - - def text( - self, - xy, - text, - fill=None, - font=None, - anchor=None, - spacing=4, - align="left", - direction=None, - features=None, - language=None, - stroke_width=0, - stroke_fill=None, - embedded_color=False, - *args, - **kwargs, - ): - if self._multiline_check(text): - return self.multiline_text( - xy, - text, - fill, - font, - anchor, - spacing, - align, - direction, - features, - language, - stroke_width, - stroke_fill, - embedded_color, - ) - - if embedded_color and self.mode not in ("RGB", "RGBA"): - raise ValueError("Embedded color supported only in RGB and RGBA modes") - - if font is None: - font = self.getfont() - - def getink(fill): - ink, fill = self._getink(fill) - if ink is None: - return fill - return ink - - def draw_text(ink, stroke_width=0, stroke_offset=None): - mode = self.fontmode - if stroke_width == 0 and embedded_color: - mode = "RGBA" - coord = xy - try: - mask, offset = font.getmask2( - text, - mode, - direction=direction, - features=features, - language=language, - stroke_width=stroke_width, - anchor=anchor, - ink=ink, - *args, - **kwargs, - ) - coord = coord[0] + offset[0], coord[1] + offset[1] - except AttributeError: - try: - mask = font.getmask( - text, - mode, - direction, - features, - language, - stroke_width, - anchor, - ink, - *args, - **kwargs, - ) - except TypeError: - mask = font.getmask(text) - if stroke_offset: - coord = coord[0] + stroke_offset[0], coord[1] + stroke_offset[1] - if mode == "RGBA": - # font.getmask2(mode="RGBA") returns color in RGB bands and mask in A - # extract mask and set text alpha - color, mask = mask, mask.getband(3) - color.fillband(3, (ink >> 24) & 0xFF) - coord2 = coord[0] + mask.size[0], coord[1] + mask.size[1] - self.im.paste(color, coord + coord2, mask) - else: - self.draw.draw_bitmap(coord, mask, ink) - - ink = getink(fill) - if ink is not None: - stroke_ink = None - if stroke_width: - stroke_ink = getink(stroke_fill) if stroke_fill is not None else ink - - if stroke_ink is not None: - # Draw stroked text - draw_text(stroke_ink, stroke_width) - - # Draw normal text - draw_text(ink, 0) - else: - # Only draw normal text - draw_text(ink) - - def multiline_text( - self, - xy, - text, - fill=None, - font=None, - anchor=None, - spacing=4, - align="left", - direction=None, - features=None, - language=None, - stroke_width=0, - stroke_fill=None, - embedded_color=False, - ): - if direction == "ttb": - raise ValueError("ttb direction is unsupported for multiline text") - - if anchor is None: - anchor = "la" - elif len(anchor) != 2: - raise ValueError("anchor must be a 2 character string") - elif anchor[1] in "tb": - raise ValueError("anchor not supported for multiline text") - - widths = [] - max_width = 0 - lines = self._multiline_split(text) - line_spacing = ( - self.textsize("A", font=font, stroke_width=stroke_width)[1] + spacing - ) - for line in lines: - line_width = self.textlength( - line, font, direction=direction, features=features, language=language - ) - widths.append(line_width) - max_width = max(max_width, line_width) - - top = xy[1] - if anchor[1] == "m": - top -= (len(lines) - 1) * line_spacing / 2.0 - elif anchor[1] == "d": - top -= (len(lines) - 1) * line_spacing - - for idx, line in enumerate(lines): - left = xy[0] - width_difference = max_width - widths[idx] - - # first align left by anchor - if anchor[0] == "m": - left -= width_difference / 2.0 - elif anchor[0] == "r": - left -= width_difference - - # then align by align parameter - if align == "left": - pass - elif align == "center": - left += width_difference / 2.0 - elif align == "right": - left += width_difference - else: - raise ValueError('align must be "left", "center" or "right"') - - self.text( - (left, top), - line, - fill, - font, - anchor, - direction=direction, - features=features, - language=language, - stroke_width=stroke_width, - stroke_fill=stroke_fill, - embedded_color=embedded_color, - ) - top += line_spacing - - def textsize( - self, - text, - font=None, - spacing=4, - direction=None, - features=None, - language=None, - stroke_width=0, - ): - """Get the size of a given string, in pixels.""" - if self._multiline_check(text): - return self.multiline_textsize( - text, font, spacing, direction, features, language, stroke_width - ) - - if font is None: - font = self.getfont() - return font.getsize(text, direction, features, language, stroke_width) - - def multiline_textsize( - self, - text, - font=None, - spacing=4, - direction=None, - features=None, - language=None, - stroke_width=0, - ): - max_width = 0 - lines = self._multiline_split(text) - line_spacing = ( - self.textsize("A", font=font, stroke_width=stroke_width)[1] + spacing - ) - for line in lines: - line_width, line_height = self.textsize( - line, font, spacing, direction, features, language, stroke_width - ) - max_width = max(max_width, line_width) - return max_width, len(lines) * line_spacing - spacing - - def textlength( - self, - text, - font=None, - direction=None, - features=None, - language=None, - embedded_color=False, - ): - """Get the length of a given string, in pixels with 1/64 precision.""" - if self._multiline_check(text): - raise ValueError("can't measure length of multiline text") - if embedded_color and self.mode not in ("RGB", "RGBA"): - raise ValueError("Embedded color supported only in RGB and RGBA modes") - - if font is None: - font = self.getfont() - mode = "RGBA" if embedded_color else self.fontmode - try: - return font.getlength(text, mode, direction, features, language) - except AttributeError: - size = self.textsize( - text, font, direction=direction, features=features, language=language - ) - if direction == "ttb": - return size[1] - return size[0] - - def textbbox( - self, - xy, - text, - font=None, - anchor=None, - spacing=4, - align="left", - direction=None, - features=None, - language=None, - stroke_width=0, - embedded_color=False, - ): - """Get the bounding box of a given string, in pixels.""" - if embedded_color and self.mode not in ("RGB", "RGBA"): - raise ValueError("Embedded color supported only in RGB and RGBA modes") - - if self._multiline_check(text): - return self.multiline_textbbox( - xy, - text, - font, - anchor, - spacing, - align, - direction, - features, - language, - stroke_width, - embedded_color, - ) - - if font is None: - font = self.getfont() - mode = "RGBA" if embedded_color else self.fontmode - bbox = font.getbbox( - text, mode, direction, features, language, stroke_width, anchor - ) - return bbox[0] + xy[0], bbox[1] + xy[1], bbox[2] + xy[0], bbox[3] + xy[1] - - def multiline_textbbox( - self, - xy, - text, - font=None, - anchor=None, - spacing=4, - align="left", - direction=None, - features=None, - language=None, - stroke_width=0, - embedded_color=False, - ): - if direction == "ttb": - raise ValueError("ttb direction is unsupported for multiline text") - - if anchor is None: - anchor = "la" - elif len(anchor) != 2: - raise ValueError("anchor must be a 2 character string") - elif anchor[1] in "tb": - raise ValueError("anchor not supported for multiline text") - - widths = [] - max_width = 0 - lines = self._multiline_split(text) - line_spacing = ( - self.textsize("A", font=font, stroke_width=stroke_width)[1] + spacing - ) - for line in lines: - line_width = self.textlength( - line, - font, - direction=direction, - features=features, - language=language, - embedded_color=embedded_color, - ) - widths.append(line_width) - max_width = max(max_width, line_width) - - top = xy[1] - if anchor[1] == "m": - top -= (len(lines) - 1) * line_spacing / 2.0 - elif anchor[1] == "d": - top -= (len(lines) - 1) * line_spacing - - bbox = None - - for idx, line in enumerate(lines): - left = xy[0] - width_difference = max_width - widths[idx] - - # first align left by anchor - if anchor[0] == "m": - left -= width_difference / 2.0 - elif anchor[0] == "r": - left -= width_difference - - # then align by align parameter - if align == "left": - pass - elif align == "center": - left += width_difference / 2.0 - elif align == "right": - left += width_difference - else: - raise ValueError('align must be "left", "center" or "right"') - - bbox_line = self.textbbox( - (left, top), - line, - font, - anchor, - direction=direction, - features=features, - language=language, - stroke_width=stroke_width, - embedded_color=embedded_color, - ) - if bbox is None: - bbox = bbox_line - else: - bbox = ( - min(bbox[0], bbox_line[0]), - min(bbox[1], bbox_line[1]), - max(bbox[2], bbox_line[2]), - max(bbox[3], bbox_line[3]), - ) - - top += line_spacing - - if bbox is None: - return xy[0], xy[1], xy[0], xy[1] - return bbox - - -def Draw(im, mode=None): - """ - A simple 2D drawing interface for PIL images. - - :param im: The image to draw in. - :param mode: Optional mode to use for color values. For RGB - images, this argument can be RGB or RGBA (to blend the - drawing into the image). For all other modes, this argument - must be the same as the image mode. If omitted, the mode - defaults to the mode of the image. - """ - try: - return im.getdraw(mode) - except AttributeError: - return ImageDraw(im, mode) - - -# experimental access to the outline API -try: - Outline = Image.core.outline -except AttributeError: - Outline = None - - -def getdraw(im=None, hints=None): - """ - (Experimental) A more advanced 2D drawing interface for PIL images, - based on the WCK interface. - - :param im: The image to draw in. - :param hints: An optional list of hints. - :returns: A (drawing context, drawing resource factory) tuple. - """ - # FIXME: this needs more work! - # FIXME: come up with a better 'hints' scheme. - handler = None - if not hints or "nicest" in hints: - try: - from . import _imagingagg as handler - except ImportError: - pass - if handler is None: - from . import ImageDraw2 as handler - if im: - im = handler.Draw(im) - return im, handler - - -def floodfill(image, xy, value, border=None, thresh=0): - """ - (experimental) Fills a bounded region with a given color. - - :param image: Target image. - :param xy: Seed position (a 2-item coordinate tuple). See - :ref:`coordinate-system`. - :param value: Fill color. - :param border: Optional border value. If given, the region consists of - pixels with a color different from the border color. If not given, - the region consists of pixels having the same color as the seed - pixel. - :param thresh: Optional threshold value which specifies a maximum - tolerable difference of a pixel value from the 'background' in - order for it to be replaced. Useful for filling regions of - non-homogeneous, but similar, colors. - """ - # based on an implementation by Eric S. Raymond - # amended by yo1995 @20180806 - pixel = image.load() - x, y = xy - try: - background = pixel[x, y] - if _color_diff(value, background) <= thresh: - return # seed point already has fill color - pixel[x, y] = value - except (ValueError, IndexError): - return # seed point outside image - edge = {(x, y)} - # use a set to keep record of current and previous edge pixels - # to reduce memory consumption - full_edge = set() - while edge: - new_edge = set() - for (x, y) in edge: # 4 adjacent method - for (s, t) in ((x + 1, y), (x - 1, y), (x, y + 1), (x, y - 1)): - # If already processed, or if a coordinate is negative, skip - if (s, t) in full_edge or s < 0 or t < 0: - continue - try: - p = pixel[s, t] - except (ValueError, IndexError): - pass - else: - full_edge.add((s, t)) - if border is None: - fill = _color_diff(p, background) <= thresh - else: - fill = p != value and p != border - if fill: - pixel[s, t] = value - new_edge.add((s, t)) - full_edge = edge # discard pixels processed - edge = new_edge - - -def _compute_regular_polygon_vertices(bounding_circle, n_sides, rotation): - """ - Generate a list of vertices for a 2D regular polygon. - - :param bounding_circle: The bounding circle is a tuple defined - by a point and radius. The polygon is inscribed in this circle. - (e.g. ``bounding_circle=(x, y, r)`` or ``((x, y), r)``) - :param n_sides: Number of sides - (e.g. ``n_sides=3`` for a triangle, ``6`` for a hexagon) - :param rotation: Apply an arbitrary rotation to the polygon - (e.g. ``rotation=90``, applies a 90 degree rotation) - :return: List of regular polygon vertices - (e.g. ``[(25, 50), (50, 50), (50, 25), (25, 25)]``) - - How are the vertices computed? - 1. Compute the following variables - - theta: Angle between the apothem & the nearest polygon vertex - - side_length: Length of each polygon edge - - centroid: Center of bounding circle (1st, 2nd elements of bounding_circle) - - polygon_radius: Polygon radius (last element of bounding_circle) - - angles: Location of each polygon vertex in polar grid - (e.g. A square with 0 degree rotation => [225.0, 315.0, 45.0, 135.0]) - - 2. For each angle in angles, get the polygon vertex at that angle - The vertex is computed using the equation below. - X= xcos(φ) + ysin(φ) - Y= −xsin(φ) + ycos(φ) - - Note: - φ = angle in degrees - x = 0 - y = polygon_radius - - The formula above assumes rotation around the origin. - In our case, we are rotating around the centroid. - To account for this, we use the formula below - X = xcos(φ) + ysin(φ) + centroid_x - Y = −xsin(φ) + ycos(φ) + centroid_y - """ - # 1. Error Handling - # 1.1 Check `n_sides` has an appropriate value - if not isinstance(n_sides, int): - raise TypeError("n_sides should be an int") - if n_sides < 3: - raise ValueError("n_sides should be an int > 2") - - # 1.2 Check `bounding_circle` has an appropriate value - if not isinstance(bounding_circle, (list, tuple)): - raise TypeError("bounding_circle should be a tuple") - - if len(bounding_circle) == 3: - *centroid, polygon_radius = bounding_circle - elif len(bounding_circle) == 2: - centroid, polygon_radius = bounding_circle - else: - raise ValueError( - "bounding_circle should contain 2D coordinates " - "and a radius (e.g. (x, y, r) or ((x, y), r) )" - ) - - if not all(isinstance(i, (int, float)) for i in (*centroid, polygon_radius)): - raise ValueError("bounding_circle should only contain numeric data") - - if not len(centroid) == 2: - raise ValueError( - "bounding_circle centre should contain 2D coordinates (e.g. (x, y))" - ) - - if polygon_radius <= 0: - raise ValueError("bounding_circle radius should be > 0") - - # 1.3 Check `rotation` has an appropriate value - if not isinstance(rotation, (int, float)): - raise ValueError("rotation should be an int or float") - - # 2. Define Helper Functions - def _apply_rotation(point, degrees, centroid): - return ( - round( - point[0] * math.cos(math.radians(360 - degrees)) - - point[1] * math.sin(math.radians(360 - degrees)) - + centroid[0], - 2, - ), - round( - point[1] * math.cos(math.radians(360 - degrees)) - + point[0] * math.sin(math.radians(360 - degrees)) - + centroid[1], - 2, - ), - ) - - def _compute_polygon_vertex(centroid, polygon_radius, angle): - start_point = [polygon_radius, 0] - return _apply_rotation(start_point, angle, centroid) - - def _get_angles(n_sides, rotation): - angles = [] - degrees = 360 / n_sides - # Start with the bottom left polygon vertex - current_angle = (270 - 0.5 * degrees) + rotation - for _ in range(0, n_sides): - angles.append(current_angle) - current_angle += degrees - if current_angle > 360: - current_angle -= 360 - return angles - - # 3. Variable Declarations - angles = _get_angles(n_sides, rotation) - - # 4. Compute Vertices - return [ - _compute_polygon_vertex(centroid, polygon_radius, angle) for angle in angles - ] - - -def _color_diff(color1, color2): - """ - Uses 1-norm distance to calculate difference between two values. - """ - if isinstance(color2, tuple): - return sum([abs(color1[i] - color2[i]) for i in range(0, len(color2))]) - else: - return abs(color1 - color2) diff --git a/venv/lib/python3.8/site-packages/PIL/ImageDraw2.py b/venv/lib/python3.8/site-packages/PIL/ImageDraw2.py deleted file mode 100644 index 1f63110f..00000000 --- a/venv/lib/python3.8/site-packages/PIL/ImageDraw2.py +++ /dev/null @@ -1,179 +0,0 @@ -# -# The Python Imaging Library -# $Id$ -# -# WCK-style drawing interface operations -# -# History: -# 2003-12-07 fl created -# 2005-05-15 fl updated; added to PIL as ImageDraw2 -# 2005-05-15 fl added text support -# 2005-05-20 fl added arc/chord/pieslice support -# -# Copyright (c) 2003-2005 by Secret Labs AB -# Copyright (c) 2003-2005 by Fredrik Lundh -# -# See the README file for information on usage and redistribution. -# - - -""" -(Experimental) WCK-style drawing interface operations - -.. seealso:: :py:mod:`PIL.ImageDraw` -""" - - -from . import Image, ImageColor, ImageDraw, ImageFont, ImagePath - - -class Pen: - """Stores an outline color and width.""" - - def __init__(self, color, width=1, opacity=255): - self.color = ImageColor.getrgb(color) - self.width = width - - -class Brush: - """Stores a fill color""" - - def __init__(self, color, opacity=255): - self.color = ImageColor.getrgb(color) - - -class Font: - """Stores a TrueType font and color""" - - def __init__(self, color, file, size=12): - # FIXME: add support for bitmap fonts - self.color = ImageColor.getrgb(color) - self.font = ImageFont.truetype(file, size) - - -class Draw: - """ - (Experimental) WCK-style drawing interface - """ - - def __init__(self, image, size=None, color=None): - if not hasattr(image, "im"): - image = Image.new(image, size, color) - self.draw = ImageDraw.Draw(image) - self.image = image - self.transform = None - - def flush(self): - return self.image - - def render(self, op, xy, pen, brush=None): - # handle color arguments - outline = fill = None - width = 1 - if isinstance(pen, Pen): - outline = pen.color - width = pen.width - elif isinstance(brush, Pen): - outline = brush.color - width = brush.width - if isinstance(brush, Brush): - fill = brush.color - elif isinstance(pen, Brush): - fill = pen.color - # handle transformation - if self.transform: - xy = ImagePath.Path(xy) - xy.transform(self.transform) - # render the item - if op == "line": - self.draw.line(xy, fill=outline, width=width) - else: - getattr(self.draw, op)(xy, fill=fill, outline=outline) - - def settransform(self, offset): - """Sets a transformation offset.""" - (xoffset, yoffset) = offset - self.transform = (1, 0, xoffset, 0, 1, yoffset) - - def arc(self, xy, start, end, *options): - """ - Draws an arc (a portion of a circle outline) between the start and end - angles, inside the given bounding box. - - .. seealso:: :py:meth:`PIL.ImageDraw.ImageDraw.arc` - """ - self.render("arc", xy, start, end, *options) - - def chord(self, xy, start, end, *options): - """ - Same as :py:meth:`~PIL.ImageDraw2.Draw.arc`, but connects the end points - with a straight line. - - .. seealso:: :py:meth:`PIL.ImageDraw.ImageDraw.chord` - """ - self.render("chord", xy, start, end, *options) - - def ellipse(self, xy, *options): - """ - Draws an ellipse inside the given bounding box. - - .. seealso:: :py:meth:`PIL.ImageDraw.ImageDraw.ellipse` - """ - self.render("ellipse", xy, *options) - - def line(self, xy, *options): - """ - Draws a line between the coordinates in the ``xy`` list. - - .. seealso:: :py:meth:`PIL.ImageDraw.ImageDraw.line` - """ - self.render("line", xy, *options) - - def pieslice(self, xy, start, end, *options): - """ - Same as arc, but also draws straight lines between the end points and the - center of the bounding box. - - .. seealso:: :py:meth:`PIL.ImageDraw.ImageDraw.pieslice` - """ - self.render("pieslice", xy, start, end, *options) - - def polygon(self, xy, *options): - """ - Draws a polygon. - - The polygon outline consists of straight lines between the given - coordinates, plus a straight line between the last and the first - coordinate. - - - .. seealso:: :py:meth:`PIL.ImageDraw.ImageDraw.polygon` - """ - self.render("polygon", xy, *options) - - def rectangle(self, xy, *options): - """ - Draws a rectangle. - - .. seealso:: :py:meth:`PIL.ImageDraw.ImageDraw.rectangle` - """ - self.render("rectangle", xy, *options) - - def text(self, xy, text, font): - """ - Draws the string at the given position. - - .. seealso:: :py:meth:`PIL.ImageDraw.ImageDraw.text` - """ - if self.transform: - xy = ImagePath.Path(xy) - xy.transform(self.transform) - self.draw.text(xy, text, font=font.font, fill=font.color) - - def textsize(self, text, font): - """ - Return the size of the given string, in pixels. - - .. seealso:: :py:meth:`PIL.ImageDraw.ImageDraw.textsize` - """ - return self.draw.textsize(text, font=font.font) diff --git a/venv/lib/python3.8/site-packages/PIL/ImageEnhance.py b/venv/lib/python3.8/site-packages/PIL/ImageEnhance.py deleted file mode 100644 index 3b79d5c4..00000000 --- a/venv/lib/python3.8/site-packages/PIL/ImageEnhance.py +++ /dev/null @@ -1,103 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# image enhancement classes -# -# For a background, see "Image Processing By Interpolation and -# Extrapolation", Paul Haeberli and Douglas Voorhies. Available -# at http://www.graficaobscura.com/interp/index.html -# -# History: -# 1996-03-23 fl Created -# 2009-06-16 fl Fixed mean calculation -# -# Copyright (c) Secret Labs AB 1997. -# Copyright (c) Fredrik Lundh 1996. -# -# See the README file for information on usage and redistribution. -# - -from . import Image, ImageFilter, ImageStat - - -class _Enhance: - def enhance(self, factor): - """ - Returns an enhanced image. - - :param factor: A floating point value controlling the enhancement. - Factor 1.0 always returns a copy of the original image, - lower factors mean less color (brightness, contrast, - etc), and higher values more. There are no restrictions - on this value. - :rtype: :py:class:`~PIL.Image.Image` - """ - return Image.blend(self.degenerate, self.image, factor) - - -class Color(_Enhance): - """Adjust image color balance. - - This class can be used to adjust the colour balance of an image, in - a manner similar to the controls on a colour TV set. An enhancement - factor of 0.0 gives a black and white image. A factor of 1.0 gives - the original image. - """ - - def __init__(self, image): - self.image = image - self.intermediate_mode = "L" - if "A" in image.getbands(): - self.intermediate_mode = "LA" - - self.degenerate = image.convert(self.intermediate_mode).convert(image.mode) - - -class Contrast(_Enhance): - """Adjust image contrast. - - This class can be used to control the contrast of an image, similar - to the contrast control on a TV set. An enhancement factor of 0.0 - gives a solid grey image. A factor of 1.0 gives the original image. - """ - - def __init__(self, image): - self.image = image - mean = int(ImageStat.Stat(image.convert("L")).mean[0] + 0.5) - self.degenerate = Image.new("L", image.size, mean).convert(image.mode) - - if "A" in image.getbands(): - self.degenerate.putalpha(image.getchannel("A")) - - -class Brightness(_Enhance): - """Adjust image brightness. - - This class can be used to control the brightness of an image. An - enhancement factor of 0.0 gives a black image. A factor of 1.0 gives the - original image. - """ - - def __init__(self, image): - self.image = image - self.degenerate = Image.new(image.mode, image.size, 0) - - if "A" in image.getbands(): - self.degenerate.putalpha(image.getchannel("A")) - - -class Sharpness(_Enhance): - """Adjust image sharpness. - - This class can be used to adjust the sharpness of an image. An - enhancement factor of 0.0 gives a blurred image, a factor of 1.0 gives the - original image, and a factor of 2.0 gives a sharpened image. - """ - - def __init__(self, image): - self.image = image - self.degenerate = image.filter(ImageFilter.SMOOTH) - - if "A" in image.getbands(): - self.degenerate.putalpha(image.getchannel("A")) diff --git a/venv/lib/python3.8/site-packages/PIL/ImageFile.py b/venv/lib/python3.8/site-packages/PIL/ImageFile.py deleted file mode 100644 index f2a55cb5..00000000 --- a/venv/lib/python3.8/site-packages/PIL/ImageFile.py +++ /dev/null @@ -1,697 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# base class for image file handlers -# -# history: -# 1995-09-09 fl Created -# 1996-03-11 fl Fixed load mechanism. -# 1996-04-15 fl Added pcx/xbm decoders. -# 1996-04-30 fl Added encoders. -# 1996-12-14 fl Added load helpers -# 1997-01-11 fl Use encode_to_file where possible -# 1997-08-27 fl Flush output in _save -# 1998-03-05 fl Use memory mapping for some modes -# 1999-02-04 fl Use memory mapping also for "I;16" and "I;16B" -# 1999-05-31 fl Added image parser -# 2000-10-12 fl Set readonly flag on memory-mapped images -# 2002-03-20 fl Use better messages for common decoder errors -# 2003-04-21 fl Fall back on mmap/map_buffer if map is not available -# 2003-10-30 fl Added StubImageFile class -# 2004-02-25 fl Made incremental parser more robust -# -# Copyright (c) 1997-2004 by Secret Labs AB -# Copyright (c) 1995-2004 by Fredrik Lundh -# -# See the README file for information on usage and redistribution. -# - -import io -import struct -import sys -import warnings - -from . import Image -from ._util import isPath - -MAXBLOCK = 65536 - -SAFEBLOCK = 1024 * 1024 - -LOAD_TRUNCATED_IMAGES = False -"""Whether or not to load truncated image files. User code may change this.""" - -ERRORS = { - -1: "image buffer overrun error", - -2: "decoding error", - -3: "unknown error", - -8: "bad configuration", - -9: "out of memory error", -} -"""Dict of known error codes returned from :meth:`.PyDecoder.decode`.""" - - -# -# -------------------------------------------------------------------- -# Helpers - - -def raise_oserror(error): - try: - message = Image.core.getcodecstatus(error) - except AttributeError: - message = ERRORS.get(error) - if not message: - message = f"decoder error {error}" - raise OSError(message + " when reading image file") - - -def raise_ioerror(error): - warnings.warn( - "raise_ioerror is deprecated and will be removed in Pillow 9 (2022-01-02). " - "Use raise_oserror instead.", - DeprecationWarning, - ) - return raise_oserror(error) - - -def _tilesort(t): - # sort on offset - return t[2] - - -# -# -------------------------------------------------------------------- -# ImageFile base class - - -class ImageFile(Image.Image): - """Base class for image file format handlers.""" - - def __init__(self, fp=None, filename=None): - super().__init__() - - self._min_frame = 0 - - self.custom_mimetype = None - - self.tile = None - """ A list of tile descriptors, or ``None`` """ - - self.readonly = 1 # until we know better - - self.decoderconfig = () - self.decodermaxblock = MAXBLOCK - - if isPath(fp): - # filename - self.fp = open(fp, "rb") - self.filename = fp - self._exclusive_fp = True - else: - # stream - self.fp = fp - self.filename = filename - # can be overridden - self._exclusive_fp = None - - try: - try: - self._open() - except ( - IndexError, # end of data - TypeError, # end of data (ord) - KeyError, # unsupported mode - EOFError, # got header but not the first frame - struct.error, - ) as v: - raise SyntaxError(v) from v - - if not self.mode or self.size[0] <= 0: - raise SyntaxError("not identified by this driver") - except BaseException: - # close the file only if we have opened it this constructor - if self._exclusive_fp: - self.fp.close() - raise - - def get_format_mimetype(self): - if self.custom_mimetype: - return self.custom_mimetype - if self.format is not None: - return Image.MIME.get(self.format.upper()) - - def verify(self): - """Check file integrity""" - - # raise exception if something's wrong. must be called - # directly after open, and closes file when finished. - if self._exclusive_fp: - self.fp.close() - self.fp = None - - def load(self): - """Load image data based on tile list""" - - if self.tile is None: - raise OSError("cannot load this image") - - pixel = Image.Image.load(self) - if not self.tile: - return pixel - - self.map = None - use_mmap = self.filename and len(self.tile) == 1 - # As of pypy 2.1.0, memory mapping was failing here. - use_mmap = use_mmap and not hasattr(sys, "pypy_version_info") - - readonly = 0 - - # look for read/seek overrides - try: - read = self.load_read - # don't use mmap if there are custom read/seek functions - use_mmap = False - except AttributeError: - read = self.fp.read - - try: - seek = self.load_seek - use_mmap = False - except AttributeError: - seek = self.fp.seek - - if use_mmap: - # try memory mapping - decoder_name, extents, offset, args = self.tile[0] - if ( - decoder_name == "raw" - and len(args) >= 3 - and args[0] == self.mode - and args[0] in Image._MAPMODES - ): - try: - if hasattr(Image.core, "map"): - # use built-in mapper WIN32 only - self.map = Image.core.map(self.filename) - self.map.seek(offset) - self.im = self.map.readimage( - self.mode, self.size, args[1], args[2] - ) - else: - # use mmap, if possible - import mmap - - with open(self.filename) as fp: - self.map = mmap.mmap( - fp.fileno(), 0, access=mmap.ACCESS_READ - ) - self.im = Image.core.map_buffer( - self.map, self.size, decoder_name, offset, args - ) - readonly = 1 - # After trashing self.im, - # we might need to reload the palette data. - if self.palette: - self.palette.dirty = 1 - except (AttributeError, OSError, ImportError): - self.map = None - - self.load_prepare() - err_code = -3 # initialize to unknown error - if not self.map: - # sort tiles in file order - self.tile.sort(key=_tilesort) - - try: - # FIXME: This is a hack to handle TIFF's JpegTables tag. - prefix = self.tile_prefix - except AttributeError: - prefix = b"" - - for decoder_name, extents, offset, args in self.tile: - decoder = Image._getdecoder( - self.mode, decoder_name, args, self.decoderconfig - ) - try: - seek(offset) - decoder.setimage(self.im, extents) - if decoder.pulls_fd: - decoder.setfd(self.fp) - status, err_code = decoder.decode(b"") - else: - b = prefix - while True: - try: - s = read(self.decodermaxblock) - except (IndexError, struct.error) as e: - # truncated png/gif - if LOAD_TRUNCATED_IMAGES: - break - else: - raise OSError("image file is truncated") from e - - if not s: # truncated jpeg - if LOAD_TRUNCATED_IMAGES: - break - else: - raise OSError( - "image file is truncated " - f"({len(b)} bytes not processed)" - ) - - b = b + s - n, err_code = decoder.decode(b) - if n < 0: - break - b = b[n:] - finally: - # Need to cleanup here to prevent leaks - decoder.cleanup() - - self.tile = [] - self.readonly = readonly - - self.load_end() - - if self._exclusive_fp and self._close_exclusive_fp_after_loading: - self.fp.close() - self.fp = None - - if not self.map and not LOAD_TRUNCATED_IMAGES and err_code < 0: - # still raised if decoder fails to return anything - raise_oserror(err_code) - - return Image.Image.load(self) - - def load_prepare(self): - # create image memory if necessary - if not self.im or self.im.mode != self.mode or self.im.size != self.size: - self.im = Image.core.new(self.mode, self.size) - # create palette (optional) - if self.mode == "P": - Image.Image.load(self) - - def load_end(self): - # may be overridden - pass - - # may be defined for contained formats - # def load_seek(self, pos): - # pass - - # may be defined for blocked formats (e.g. PNG) - # def load_read(self, bytes): - # pass - - def _seek_check(self, frame): - if ( - frame < self._min_frame - # Only check upper limit on frames if additional seek operations - # are not required to do so - or ( - not (hasattr(self, "_n_frames") and self._n_frames is None) - and frame >= self.n_frames + self._min_frame - ) - ): - raise EOFError("attempt to seek outside sequence") - - return self.tell() != frame - - -class StubImageFile(ImageFile): - """ - Base class for stub image loaders. - - A stub loader is an image loader that can identify files of a - certain format, but relies on external code to load the file. - """ - - def _open(self): - raise NotImplementedError("StubImageFile subclass must implement _open") - - def load(self): - loader = self._load() - if loader is None: - raise OSError(f"cannot find loader for this {self.format} file") - image = loader.load(self) - assert image is not None - # become the other object (!) - self.__class__ = image.__class__ - self.__dict__ = image.__dict__ - - def _load(self): - """(Hook) Find actual image loader.""" - raise NotImplementedError("StubImageFile subclass must implement _load") - - -class Parser: - """ - Incremental image parser. This class implements the standard - feed/close consumer interface. - """ - - incremental = None - image = None - data = None - decoder = None - offset = 0 - finished = 0 - - def reset(self): - """ - (Consumer) Reset the parser. Note that you can only call this - method immediately after you've created a parser; parser - instances cannot be reused. - """ - assert self.data is None, "cannot reuse parsers" - - def feed(self, data): - """ - (Consumer) Feed data to the parser. - - :param data: A string buffer. - :exception OSError: If the parser failed to parse the image file. - """ - # collect data - - if self.finished: - return - - if self.data is None: - self.data = data - else: - self.data = self.data + data - - # parse what we have - if self.decoder: - - if self.offset > 0: - # skip header - skip = min(len(self.data), self.offset) - self.data = self.data[skip:] - self.offset = self.offset - skip - if self.offset > 0 or not self.data: - return - - n, e = self.decoder.decode(self.data) - - if n < 0: - # end of stream - self.data = None - self.finished = 1 - if e < 0: - # decoding error - self.image = None - raise_oserror(e) - else: - # end of image - return - self.data = self.data[n:] - - elif self.image: - - # if we end up here with no decoder, this file cannot - # be incrementally parsed. wait until we've gotten all - # available data - pass - - else: - - # attempt to open this file - try: - with io.BytesIO(self.data) as fp: - im = Image.open(fp) - except OSError: - # traceback.print_exc() - pass # not enough data - else: - flag = hasattr(im, "load_seek") or hasattr(im, "load_read") - if flag or len(im.tile) != 1: - # custom load code, or multiple tiles - self.decode = None - else: - # initialize decoder - im.load_prepare() - d, e, o, a = im.tile[0] - im.tile = [] - self.decoder = Image._getdecoder(im.mode, d, a, im.decoderconfig) - self.decoder.setimage(im.im, e) - - # calculate decoder offset - self.offset = o - if self.offset <= len(self.data): - self.data = self.data[self.offset :] - self.offset = 0 - - self.image = im - - def __enter__(self): - return self - - def __exit__(self, *args): - self.close() - - def close(self): - """ - (Consumer) Close the stream. - - :returns: An image object. - :exception OSError: If the parser failed to parse the image file either - because it cannot be identified or cannot be - decoded. - """ - # finish decoding - if self.decoder: - # get rid of what's left in the buffers - self.feed(b"") - self.data = self.decoder = None - if not self.finished: - raise OSError("image was incomplete") - if not self.image: - raise OSError("cannot parse this image") - if self.data: - # incremental parsing not possible; reopen the file - # not that we have all data - with io.BytesIO(self.data) as fp: - try: - self.image = Image.open(fp) - finally: - self.image.load() - return self.image - - -# -------------------------------------------------------------------- - - -def _save(im, fp, tile, bufsize=0): - """Helper to save image based on tile list - - :param im: Image object. - :param fp: File object. - :param tile: Tile list. - :param bufsize: Optional buffer size - """ - - im.load() - if not hasattr(im, "encoderconfig"): - im.encoderconfig = () - tile.sort(key=_tilesort) - # FIXME: make MAXBLOCK a configuration parameter - # It would be great if we could have the encoder specify what it needs - # But, it would need at least the image size in most cases. RawEncode is - # a tricky case. - bufsize = max(MAXBLOCK, bufsize, im.size[0] * 4) # see RawEncode.c - if fp == sys.stdout: - fp.flush() - return - try: - fh = fp.fileno() - fp.flush() - except (AttributeError, io.UnsupportedOperation) as exc: - # compress to Python file-compatible object - for e, b, o, a in tile: - e = Image._getencoder(im.mode, e, a, im.encoderconfig) - if o > 0: - fp.seek(o) - e.setimage(im.im, b) - if e.pushes_fd: - e.setfd(fp) - l, s = e.encode_to_pyfd() - else: - while True: - l, s, d = e.encode(bufsize) - fp.write(d) - if s: - break - if s < 0: - raise OSError(f"encoder error {s} when writing image file") from exc - e.cleanup() - else: - # slight speedup: compress to real file object - for e, b, o, a in tile: - e = Image._getencoder(im.mode, e, a, im.encoderconfig) - if o > 0: - fp.seek(o) - e.setimage(im.im, b) - if e.pushes_fd: - e.setfd(fp) - l, s = e.encode_to_pyfd() - else: - s = e.encode_to_file(fh, bufsize) - if s < 0: - raise OSError(f"encoder error {s} when writing image file") - e.cleanup() - if hasattr(fp, "flush"): - fp.flush() - - -def _safe_read(fp, size): - """ - Reads large blocks in a safe way. Unlike fp.read(n), this function - doesn't trust the user. If the requested size is larger than - SAFEBLOCK, the file is read block by block. - - :param fp: File handle. Must implement a read method. - :param size: Number of bytes to read. - :returns: A string containing up to size bytes of data. - """ - if size <= 0: - return b"" - if size <= SAFEBLOCK: - return fp.read(size) - data = [] - while size > 0: - block = fp.read(min(size, SAFEBLOCK)) - if not block: - break - data.append(block) - size -= len(block) - return b"".join(data) - - -class PyCodecState: - def __init__(self): - self.xsize = 0 - self.ysize = 0 - self.xoff = 0 - self.yoff = 0 - - def extents(self): - return (self.xoff, self.yoff, self.xoff + self.xsize, self.yoff + self.ysize) - - -class PyDecoder: - """ - Python implementation of a format decoder. Override this class and - add the decoding logic in the :meth:`decode` method. - - See :ref:`Writing Your Own File Decoder in Python` - """ - - _pulls_fd = False - - def __init__(self, mode, *args): - self.im = None - self.state = PyCodecState() - self.fd = None - self.mode = mode - self.init(args) - - def init(self, args): - """ - Override to perform decoder specific initialization - - :param args: Array of args items from the tile entry - :returns: None - """ - self.args = args - - @property - def pulls_fd(self): - return self._pulls_fd - - def decode(self, buffer): - """ - Override to perform the decoding process. - - :param buffer: A bytes object with the data to be decoded. - :returns: A tuple of ``(bytes consumed, errcode)``. - If finished with decoding return <0 for the bytes consumed. - Err codes are from :data:`.ImageFile.ERRORS`. - """ - raise NotImplementedError() - - def cleanup(self): - """ - Override to perform decoder specific cleanup - - :returns: None - """ - pass - - def setfd(self, fd): - """ - Called from ImageFile to set the python file-like object - - :param fd: A python file-like object - :returns: None - """ - self.fd = fd - - def setimage(self, im, extents=None): - """ - Called from ImageFile to set the core output image for the decoder - - :param im: A core image object - :param extents: a 4 tuple of (x0, y0, x1, y1) defining the rectangle - for this tile - :returns: None - """ - - # following c code - self.im = im - - if extents: - (x0, y0, x1, y1) = extents - else: - (x0, y0, x1, y1) = (0, 0, 0, 0) - - if x0 == 0 and x1 == 0: - self.state.xsize, self.state.ysize = self.im.size - else: - self.state.xoff = x0 - self.state.yoff = y0 - self.state.xsize = x1 - x0 - self.state.ysize = y1 - y0 - - if self.state.xsize <= 0 or self.state.ysize <= 0: - raise ValueError("Size cannot be negative") - - if ( - self.state.xsize + self.state.xoff > self.im.size[0] - or self.state.ysize + self.state.yoff > self.im.size[1] - ): - raise ValueError("Tile cannot extend outside image") - - def set_as_raw(self, data, rawmode=None): - """ - Convenience method to set the internal image from a stream of raw data - - :param data: Bytes to be set - :param rawmode: The rawmode to be used for the decoder. - If not specified, it will default to the mode of the image - :returns: None - """ - - if not rawmode: - rawmode = self.mode - d = Image._getdecoder(self.mode, "raw", (rawmode)) - d.setimage(self.im, self.state.extents()) - s = d.decode(data) - - if s[0] >= 0: - raise ValueError("not enough image data") - if s[1] != 0: - raise ValueError("cannot decode image data") diff --git a/venv/lib/python3.8/site-packages/PIL/ImageFilter.py b/venv/lib/python3.8/site-packages/PIL/ImageFilter.py deleted file mode 100644 index 9ca17d9a..00000000 --- a/venv/lib/python3.8/site-packages/PIL/ImageFilter.py +++ /dev/null @@ -1,534 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# standard filters -# -# History: -# 1995-11-27 fl Created -# 2002-06-08 fl Added rank and mode filters -# 2003-09-15 fl Fixed rank calculation in rank filter; added expand call -# -# Copyright (c) 1997-2003 by Secret Labs AB. -# Copyright (c) 1995-2002 by Fredrik Lundh. -# -# See the README file for information on usage and redistribution. -# -import functools - -try: - import numpy -except ImportError: # pragma: no cover - numpy = None - - -class Filter: - pass - - -class MultibandFilter(Filter): - pass - - -class BuiltinFilter(MultibandFilter): - def filter(self, image): - if image.mode == "P": - raise ValueError("cannot filter palette images") - return image.filter(*self.filterargs) - - -class Kernel(BuiltinFilter): - """ - Create a convolution kernel. The current version only - supports 3x3 and 5x5 integer and floating point kernels. - - In the current version, kernels can only be applied to - "L" and "RGB" images. - - :param size: Kernel size, given as (width, height). In the current - version, this must be (3,3) or (5,5). - :param kernel: A sequence containing kernel weights. - :param scale: Scale factor. If given, the result for each pixel is - divided by this value. The default is the sum of the - kernel weights. - :param offset: Offset. If given, this value is added to the result, - after it has been divided by the scale factor. - """ - - name = "Kernel" - - def __init__(self, size, kernel, scale=None, offset=0): - if scale is None: - # default scale is sum of kernel - scale = functools.reduce(lambda a, b: a + b, kernel) - if size[0] * size[1] != len(kernel): - raise ValueError("not enough coefficients in kernel") - self.filterargs = size, scale, offset, kernel - - -class RankFilter(Filter): - """ - Create a rank filter. The rank filter sorts all pixels in - a window of the given size, and returns the ``rank``'th value. - - :param size: The kernel size, in pixels. - :param rank: What pixel value to pick. Use 0 for a min filter, - ``size * size / 2`` for a median filter, ``size * size - 1`` - for a max filter, etc. - """ - - name = "Rank" - - def __init__(self, size, rank): - self.size = size - self.rank = rank - - def filter(self, image): - if image.mode == "P": - raise ValueError("cannot filter palette images") - image = image.expand(self.size // 2, self.size // 2) - return image.rankfilter(self.size, self.rank) - - -class MedianFilter(RankFilter): - """ - Create a median filter. Picks the median pixel value in a window with the - given size. - - :param size: The kernel size, in pixels. - """ - - name = "Median" - - def __init__(self, size=3): - self.size = size - self.rank = size * size // 2 - - -class MinFilter(RankFilter): - """ - Create a min filter. Picks the lowest pixel value in a window with the - given size. - - :param size: The kernel size, in pixels. - """ - - name = "Min" - - def __init__(self, size=3): - self.size = size - self.rank = 0 - - -class MaxFilter(RankFilter): - """ - Create a max filter. Picks the largest pixel value in a window with the - given size. - - :param size: The kernel size, in pixels. - """ - - name = "Max" - - def __init__(self, size=3): - self.size = size - self.rank = size * size - 1 - - -class ModeFilter(Filter): - """ - Create a mode filter. Picks the most frequent pixel value in a box with the - given size. Pixel values that occur only once or twice are ignored; if no - pixel value occurs more than twice, the original pixel value is preserved. - - :param size: The kernel size, in pixels. - """ - - name = "Mode" - - def __init__(self, size=3): - self.size = size - - def filter(self, image): - return image.modefilter(self.size) - - -class GaussianBlur(MultibandFilter): - """Gaussian blur filter. - - :param radius: Blur radius. - """ - - name = "GaussianBlur" - - def __init__(self, radius=2): - self.radius = radius - - def filter(self, image): - return image.gaussian_blur(self.radius) - - -class BoxBlur(MultibandFilter): - """Blurs the image by setting each pixel to the average value of the pixels - in a square box extending radius pixels in each direction. - Supports float radius of arbitrary size. Uses an optimized implementation - which runs in linear time relative to the size of the image - for any radius value. - - :param radius: Size of the box in one direction. Radius 0 does not blur, - returns an identical image. Radius 1 takes 1 pixel - in each direction, i.e. 9 pixels in total. - """ - - name = "BoxBlur" - - def __init__(self, radius): - self.radius = radius - - def filter(self, image): - return image.box_blur(self.radius) - - -class UnsharpMask(MultibandFilter): - """Unsharp mask filter. - - See Wikipedia's entry on `digital unsharp masking`_ for an explanation of - the parameters. - - :param radius: Blur Radius - :param percent: Unsharp strength, in percent - :param threshold: Threshold controls the minimum brightness change that - will be sharpened - - .. _digital unsharp masking: https://en.wikipedia.org/wiki/Unsharp_masking#Digital_unsharp_masking - - """ # noqa: E501 - - name = "UnsharpMask" - - def __init__(self, radius=2, percent=150, threshold=3): - self.radius = radius - self.percent = percent - self.threshold = threshold - - def filter(self, image): - return image.unsharp_mask(self.radius, self.percent, self.threshold) - - -class BLUR(BuiltinFilter): - name = "Blur" - # fmt: off - filterargs = (5, 5), 16, 0, ( - 1, 1, 1, 1, 1, - 1, 0, 0, 0, 1, - 1, 0, 0, 0, 1, - 1, 0, 0, 0, 1, - 1, 1, 1, 1, 1, - ) - # fmt: on - - -class CONTOUR(BuiltinFilter): - name = "Contour" - # fmt: off - filterargs = (3, 3), 1, 255, ( - -1, -1, -1, - -1, 8, -1, - -1, -1, -1, - ) - # fmt: on - - -class DETAIL(BuiltinFilter): - name = "Detail" - # fmt: off - filterargs = (3, 3), 6, 0, ( - 0, -1, 0, - -1, 10, -1, - 0, -1, 0, - ) - # fmt: on - - -class EDGE_ENHANCE(BuiltinFilter): - name = "Edge-enhance" - # fmt: off - filterargs = (3, 3), 2, 0, ( - -1, -1, -1, - -1, 10, -1, - -1, -1, -1, - ) - # fmt: on - - -class EDGE_ENHANCE_MORE(BuiltinFilter): - name = "Edge-enhance More" - # fmt: off - filterargs = (3, 3), 1, 0, ( - -1, -1, -1, - -1, 9, -1, - -1, -1, -1, - ) - # fmt: on - - -class EMBOSS(BuiltinFilter): - name = "Emboss" - # fmt: off - filterargs = (3, 3), 1, 128, ( - -1, 0, 0, - 0, 1, 0, - 0, 0, 0, - ) - # fmt: on - - -class FIND_EDGES(BuiltinFilter): - name = "Find Edges" - # fmt: off - filterargs = (3, 3), 1, 0, ( - -1, -1, -1, - -1, 8, -1, - -1, -1, -1, - ) - # fmt: on - - -class SHARPEN(BuiltinFilter): - name = "Sharpen" - # fmt: off - filterargs = (3, 3), 16, 0, ( - -2, -2, -2, - -2, 32, -2, - -2, -2, -2, - ) - # fmt: on - - -class SMOOTH(BuiltinFilter): - name = "Smooth" - # fmt: off - filterargs = (3, 3), 13, 0, ( - 1, 1, 1, - 1, 5, 1, - 1, 1, 1, - ) - # fmt: on - - -class SMOOTH_MORE(BuiltinFilter): - name = "Smooth More" - # fmt: off - filterargs = (5, 5), 100, 0, ( - 1, 1, 1, 1, 1, - 1, 5, 5, 5, 1, - 1, 5, 44, 5, 1, - 1, 5, 5, 5, 1, - 1, 1, 1, 1, 1, - ) - # fmt: on - - -class Color3DLUT(MultibandFilter): - """Three-dimensional color lookup table. - - Transforms 3-channel pixels using the values of the channels as coordinates - in the 3D lookup table and interpolating the nearest elements. - - This method allows you to apply almost any color transformation - in constant time by using pre-calculated decimated tables. - - .. versionadded:: 5.2.0 - - :param size: Size of the table. One int or tuple of (int, int, int). - Minimal size in any dimension is 2, maximum is 65. - :param table: Flat lookup table. A list of ``channels * size**3`` - float elements or a list of ``size**3`` channels-sized - tuples with floats. Channels are changed first, - then first dimension, then second, then third. - Value 0.0 corresponds lowest value of output, 1.0 highest. - :param channels: Number of channels in the table. Could be 3 or 4. - Default is 3. - :param target_mode: A mode for the result image. Should have not less - than ``channels`` channels. Default is ``None``, - which means that mode wouldn't be changed. - """ - - name = "Color 3D LUT" - - def __init__(self, size, table, channels=3, target_mode=None, **kwargs): - if channels not in (3, 4): - raise ValueError("Only 3 or 4 output channels are supported") - self.size = size = self._check_size(size) - self.channels = channels - self.mode = target_mode - - # Hidden flag `_copy_table=False` could be used to avoid extra copying - # of the table if the table is specially made for the constructor. - copy_table = kwargs.get("_copy_table", True) - items = size[0] * size[1] * size[2] - wrong_size = False - - if numpy and isinstance(table, numpy.ndarray): - if copy_table: - table = table.copy() - - if table.shape in [ - (items * channels,), - (items, channels), - (size[2], size[1], size[0], channels), - ]: - table = table.reshape(items * channels) - else: - wrong_size = True - - else: - if copy_table: - table = list(table) - - # Convert to a flat list - if table and isinstance(table[0], (list, tuple)): - table, raw_table = [], table - for pixel in raw_table: - if len(pixel) != channels: - raise ValueError( - "The elements of the table should " - "have a length of {}.".format(channels) - ) - table.extend(pixel) - - if wrong_size or len(table) != items * channels: - raise ValueError( - "The table should have either channels * size**3 float items " - "or size**3 items of channels-sized tuples with floats. " - f"Table should be: {channels}x{size[0]}x{size[1]}x{size[2]}. " - f"Actual length: {len(table)}" - ) - self.table = table - - @staticmethod - def _check_size(size): - try: - _, _, _ = size - except ValueError as e: - raise ValueError( - "Size should be either an integer or a tuple of three integers." - ) from e - except TypeError: - size = (size, size, size) - size = [int(x) for x in size] - for size1D in size: - if not 2 <= size1D <= 65: - raise ValueError("Size should be in [2, 65] range.") - return size - - @classmethod - def generate(cls, size, callback, channels=3, target_mode=None): - """Generates new LUT using provided callback. - - :param size: Size of the table. Passed to the constructor. - :param callback: Function with three parameters which correspond - three color channels. Will be called ``size**3`` - times with values from 0.0 to 1.0 and should return - a tuple with ``channels`` elements. - :param channels: The number of channels which should return callback. - :param target_mode: Passed to the constructor of the resulting - lookup table. - """ - size1D, size2D, size3D = cls._check_size(size) - if channels not in (3, 4): - raise ValueError("Only 3 or 4 output channels are supported") - - table = [0] * (size1D * size2D * size3D * channels) - idx_out = 0 - for b in range(size3D): - for g in range(size2D): - for r in range(size1D): - table[idx_out : idx_out + channels] = callback( - r / (size1D - 1), g / (size2D - 1), b / (size3D - 1) - ) - idx_out += channels - - return cls( - (size1D, size2D, size3D), - table, - channels=channels, - target_mode=target_mode, - _copy_table=False, - ) - - def transform(self, callback, with_normals=False, channels=None, target_mode=None): - """Transforms the table values using provided callback and returns - a new LUT with altered values. - - :param callback: A function which takes old lookup table values - and returns a new set of values. The number - of arguments which function should take is - ``self.channels`` or ``3 + self.channels`` - if ``with_normals`` flag is set. - Should return a tuple of ``self.channels`` or - ``channels`` elements if it is set. - :param with_normals: If true, ``callback`` will be called with - coordinates in the color cube as the first - three arguments. Otherwise, ``callback`` - will be called only with actual color values. - :param channels: The number of channels in the resulting lookup table. - :param target_mode: Passed to the constructor of the resulting - lookup table. - """ - if channels not in (None, 3, 4): - raise ValueError("Only 3 or 4 output channels are supported") - ch_in = self.channels - ch_out = channels or ch_in - size1D, size2D, size3D = self.size - - table = [0] * (size1D * size2D * size3D * ch_out) - idx_in = 0 - idx_out = 0 - for b in range(size3D): - for g in range(size2D): - for r in range(size1D): - values = self.table[idx_in : idx_in + ch_in] - if with_normals: - values = callback( - r / (size1D - 1), - g / (size2D - 1), - b / (size3D - 1), - *values, - ) - else: - values = callback(*values) - table[idx_out : idx_out + ch_out] = values - idx_in += ch_in - idx_out += ch_out - - return type(self)( - self.size, - table, - channels=ch_out, - target_mode=target_mode or self.mode, - _copy_table=False, - ) - - def __repr__(self): - r = [ - f"{self.__class__.__name__} from {self.table.__class__.__name__}", - "size={:d}x{:d}x{:d}".format(*self.size), - f"channels={self.channels:d}", - ] - if self.mode: - r.append(f"target_mode={self.mode}") - return "<{}>".format(" ".join(r)) - - def filter(self, image): - from . import Image - - return image.color_lut_3d( - self.mode or image.mode, - Image.LINEAR, - self.channels, - self.size[0], - self.size[1], - self.size[2], - self.table, - ) diff --git a/venv/lib/python3.8/site-packages/PIL/ImageFont.py b/venv/lib/python3.8/site-packages/PIL/ImageFont.py deleted file mode 100644 index c48d8983..00000000 --- a/venv/lib/python3.8/site-packages/PIL/ImageFont.py +++ /dev/null @@ -1,1057 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# PIL raster font management -# -# History: -# 1996-08-07 fl created (experimental) -# 1997-08-25 fl minor adjustments to handle fonts from pilfont 0.3 -# 1999-02-06 fl rewrote most font management stuff in C -# 1999-03-17 fl take pth files into account in load_path (from Richard Jones) -# 2001-02-17 fl added freetype support -# 2001-05-09 fl added TransposedFont wrapper class -# 2002-03-04 fl make sure we have a "L" or "1" font -# 2002-12-04 fl skip non-directory entries in the system path -# 2003-04-29 fl add embedded default font -# 2003-09-27 fl added support for truetype charmap encodings -# -# Todo: -# Adapt to PILFONT2 format (16-bit fonts, compressed, single file) -# -# Copyright (c) 1997-2003 by Secret Labs AB -# Copyright (c) 1996-2003 by Fredrik Lundh -# -# See the README file for information on usage and redistribution. -# - -import base64 -import os -import sys -import warnings -from io import BytesIO - -from . import Image, features -from ._util import isDirectory, isPath - -LAYOUT_BASIC = 0 -LAYOUT_RAQM = 1 - - -class _imagingft_not_installed: - # module placeholder - def __getattr__(self, id): - raise ImportError("The _imagingft C module is not installed") - - -try: - from . import _imagingft as core -except ImportError: - core = _imagingft_not_installed() - - -# FIXME: add support for pilfont2 format (see FontFile.py) - -# -------------------------------------------------------------------- -# Font metrics format: -# "PILfont" LF -# fontdescriptor LF -# (optional) key=value... LF -# "DATA" LF -# binary data: 256*10*2 bytes (dx, dy, dstbox, srcbox) -# -# To place a character, cut out srcbox and paste at dstbox, -# relative to the character position. Then move the character -# position according to dx, dy. -# -------------------------------------------------------------------- - - -class ImageFont: - "PIL font wrapper" - - def _load_pilfont(self, filename): - - with open(filename, "rb") as fp: - image = None - for ext in (".png", ".gif", ".pbm"): - if image: - image.close() - try: - fullname = os.path.splitext(filename)[0] + ext - image = Image.open(fullname) - except Exception: - pass - else: - if image and image.mode in ("1", "L"): - break - else: - if image: - image.close() - raise OSError("cannot find glyph data file") - - self.file = fullname - - self._load_pilfont_data(fp, image) - image.close() - - def _load_pilfont_data(self, file, image): - - # read PILfont header - if file.readline() != b"PILfont\n": - raise SyntaxError("Not a PILfont file") - file.readline().split(b";") - self.info = [] # FIXME: should be a dictionary - while True: - s = file.readline() - if not s or s == b"DATA\n": - break - self.info.append(s) - - # read PILfont metrics - data = file.read(256 * 20) - - # check image - if image.mode not in ("1", "L"): - raise TypeError("invalid font image mode") - - image.load() - - self.font = Image.core.font(image.im, data) - - def getsize(self, text, *args, **kwargs): - """ - Returns width and height (in pixels) of given text. - - :param text: Text to measure. - - :return: (width, height) - """ - return self.font.getsize(text) - - def getmask(self, text, mode="", *args, **kwargs): - """ - Create a bitmap for the text. - - If the font uses antialiasing, the bitmap should have mode ``L`` and use a - maximum value of 255. Otherwise, it should have mode ``1``. - - :param text: Text to render. - :param mode: Used by some graphics drivers to indicate what mode the - driver prefers; if empty, the renderer may return either - mode. Note that the mode is always a string, to simplify - C-level implementations. - - .. versionadded:: 1.1.5 - - :return: An internal PIL storage memory instance as defined by the - :py:mod:`PIL.Image.core` interface module. - """ - return self.font.getmask(text, mode) - - -## -# Wrapper for FreeType fonts. Application code should use the -# truetype factory function to create font objects. - - -class FreeTypeFont: - "FreeType font wrapper (requires _imagingft service)" - - def __init__(self, font=None, size=10, index=0, encoding="", layout_engine=None): - # FIXME: use service provider instead - - self.path = font - self.size = size - self.index = index - self.encoding = encoding - - try: - from packaging.version import parse as parse_version - except ImportError: - pass - else: - freetype_version = parse_version(features.version_module("freetype2")) - if freetype_version < parse_version("2.8"): - warnings.warn( - "Support for FreeType 2.7 is deprecated and will be removed" - " in Pillow 9 (2022-01-02). Please upgrade to FreeType 2.8 " - "or newer, preferably FreeType 2.10.4 which fixes " - "CVE-2020-15999.", - DeprecationWarning, - ) - - if layout_engine not in (LAYOUT_BASIC, LAYOUT_RAQM): - layout_engine = LAYOUT_BASIC - if core.HAVE_RAQM: - layout_engine = LAYOUT_RAQM - elif layout_engine == LAYOUT_RAQM and not core.HAVE_RAQM: - layout_engine = LAYOUT_BASIC - - self.layout_engine = layout_engine - - def load_from_bytes(f): - self.font_bytes = f.read() - self.font = core.getfont( - "", size, index, encoding, self.font_bytes, layout_engine - ) - - if isPath(font): - if sys.platform == "win32": - font_bytes_path = font if isinstance(font, bytes) else font.encode() - try: - font_bytes_path.decode("ascii") - except UnicodeDecodeError: - # FreeType cannot load fonts with non-ASCII characters on Windows - # So load it into memory first - with open(font, "rb") as f: - load_from_bytes(f) - return - self.font = core.getfont( - font, size, index, encoding, layout_engine=layout_engine - ) - else: - load_from_bytes(font) - - def _multiline_split(self, text): - split_character = "\n" if isinstance(text, str) else b"\n" - return text.split(split_character) - - def getname(self): - """ - :return: A tuple of the font family (e.g. Helvetica) and the font style - (e.g. Bold) - """ - return self.font.family, self.font.style - - def getmetrics(self): - """ - :return: A tuple of the font ascent (the distance from the baseline to - the highest outline point) and descent (the distance from the - baseline to the lowest outline point, a negative value) - """ - return self.font.ascent, self.font.descent - - def getlength(self, text, mode="", direction=None, features=None, language=None): - """ - Returns length (in pixels with 1/64 precision) of given text when rendered - in font with provided direction, features, and language. - - This is the amount by which following text should be offset. - Text bounding box may extend past the length in some fonts, - e.g. when using italics or accents. - - The result is returned as a float; it is a whole number if using basic layout. - - Note that the sum of two lengths may not equal the length of a concatenated - string due to kerning. If you need to adjust for kerning, include the following - character and subtract its length. - - For example, instead of - - .. code-block:: python - - hello = font.getlength("Hello") - world = font.getlength("World") - hello_world = hello + world # not adjusted for kerning - assert hello_world == font.getlength("HelloWorld") # may fail - - use - - .. code-block:: python - - hello = font.getlength("HelloW") - font.getlength("W") # adjusted for kerning - world = font.getlength("World") - hello_world = hello + world # adjusted for kerning - assert hello_world == font.getlength("HelloWorld") # True - - or disable kerning with (requires libraqm) - - .. code-block:: python - - hello = draw.textlength("Hello", font, features=["-kern"]) - world = draw.textlength("World", font, features=["-kern"]) - hello_world = hello + world # kerning is disabled, no need to adjust - assert hello_world == draw.textlength("HelloWorld", font, features=["-kern"]) - - .. versionadded:: 8.0.0 - - :param text: Text to measure. - :param mode: Used by some graphics drivers to indicate what mode the - driver prefers; if empty, the renderer may return either - mode. Note that the mode is always a string, to simplify - C-level implementations. - - :param direction: Direction of the text. It can be 'rtl' (right to - left), 'ltr' (left to right) or 'ttb' (top to bottom). - Requires libraqm. - - :param features: A list of OpenType font features to be used during text - layout. This is usually used to turn on optional - font features that are not enabled by default, - for example 'dlig' or 'ss01', but can be also - used to turn off default font features for - example '-liga' to disable ligatures or '-kern' - to disable kerning. To get all supported - features, see - https://docs.microsoft.com/en-us/typography/opentype/spec/featurelist - Requires libraqm. - - :param language: Language of the text. Different languages may use - different glyph shapes or ligatures. This parameter tells - the font which language the text is in, and to apply the - correct substitutions as appropriate, if available. - It should be a `BCP 47 language code - `_ - Requires libraqm. - - :return: Width for horizontal, height for vertical text. - """ - return self.font.getlength(text, mode, direction, features, language) / 64 - - def getbbox( - self, - text, - mode="", - direction=None, - features=None, - language=None, - stroke_width=0, - anchor=None, - ): - """ - Returns bounding box (in pixels) of given text relative to given anchor - when rendered in font with provided direction, features, and language. - - Use :py:meth:`getlength()` to get the offset of following text with - 1/64 pixel precision. The bounding box includes extra margins for - some fonts, e.g. italics or accents. - - .. versionadded:: 8.0.0 - - :param text: Text to render. - :param mode: Used by some graphics drivers to indicate what mode the - driver prefers; if empty, the renderer may return either - mode. Note that the mode is always a string, to simplify - C-level implementations. - - :param direction: Direction of the text. It can be 'rtl' (right to - left), 'ltr' (left to right) or 'ttb' (top to bottom). - Requires libraqm. - - :param features: A list of OpenType font features to be used during text - layout. This is usually used to turn on optional - font features that are not enabled by default, - for example 'dlig' or 'ss01', but can be also - used to turn off default font features for - example '-liga' to disable ligatures or '-kern' - to disable kerning. To get all supported - features, see - https://docs.microsoft.com/en-us/typography/opentype/spec/featurelist - Requires libraqm. - - :param language: Language of the text. Different languages may use - different glyph shapes or ligatures. This parameter tells - the font which language the text is in, and to apply the - correct substitutions as appropriate, if available. - It should be a `BCP 47 language code - `_ - Requires libraqm. - - :param stroke_width: The width of the text stroke. - - :param anchor: The text anchor alignment. Determines the relative location of - the anchor to the text. The default alignment is top left. - See :ref:`text-anchors` for valid values. - - :return: ``(left, top, right, bottom)`` bounding box - """ - size, offset = self.font.getsize( - text, mode, direction, features, language, anchor - ) - left, top = offset[0] - stroke_width, offset[1] - stroke_width - width, height = size[0] + 2 * stroke_width, size[1] + 2 * stroke_width - return left, top, left + width, top + height - - def getsize( - self, text, direction=None, features=None, language=None, stroke_width=0 - ): - """ - Returns width and height (in pixels) of given text if rendered in font with - provided direction, features, and language. - - Use :py:meth:`getlength()` to measure the offset of following text with - 1/64 pixel precision. - Use :py:meth:`getbbox()` to get the exact bounding box based on an anchor. - - .. note:: For historical reasons this function measures text height from - the ascender line instead of the top, see :ref:`text-anchors`. - If you wish to measure text height from the top, it is recommended - to use the bottom value of :meth:`getbbox` with ``anchor='lt'`` instead. - - :param text: Text to measure. - - :param direction: Direction of the text. It can be 'rtl' (right to - left), 'ltr' (left to right) or 'ttb' (top to bottom). - Requires libraqm. - - .. versionadded:: 4.2.0 - - :param features: A list of OpenType font features to be used during text - layout. This is usually used to turn on optional - font features that are not enabled by default, - for example 'dlig' or 'ss01', but can be also - used to turn off default font features for - example '-liga' to disable ligatures or '-kern' - to disable kerning. To get all supported - features, see - https://docs.microsoft.com/en-us/typography/opentype/spec/featurelist - Requires libraqm. - - .. versionadded:: 4.2.0 - - :param language: Language of the text. Different languages may use - different glyph shapes or ligatures. This parameter tells - the font which language the text is in, and to apply the - correct substitutions as appropriate, if available. - It should be a `BCP 47 language code - `_ - Requires libraqm. - - .. versionadded:: 6.0.0 - - :param stroke_width: The width of the text stroke. - - .. versionadded:: 6.2.0 - - :return: (width, height) - """ - # vertical offset is added for historical reasons - # see https://github.com/python-pillow/Pillow/pull/4910#discussion_r486682929 - size, offset = self.font.getsize(text, "L", direction, features, language) - return ( - size[0] + stroke_width * 2, - size[1] + stroke_width * 2 + offset[1], - ) - - def getsize_multiline( - self, - text, - direction=None, - spacing=4, - features=None, - language=None, - stroke_width=0, - ): - """ - Returns width and height (in pixels) of given text if rendered in font - with provided direction, features, and language, while respecting - newline characters. - - :param text: Text to measure. - - :param direction: Direction of the text. It can be 'rtl' (right to - left), 'ltr' (left to right) or 'ttb' (top to bottom). - Requires libraqm. - - :param spacing: The vertical gap between lines, defaulting to 4 pixels. - - :param features: A list of OpenType font features to be used during text - layout. This is usually used to turn on optional - font features that are not enabled by default, - for example 'dlig' or 'ss01', but can be also - used to turn off default font features for - example '-liga' to disable ligatures or '-kern' - to disable kerning. To get all supported - features, see - https://docs.microsoft.com/en-us/typography/opentype/spec/featurelist - Requires libraqm. - - :param language: Language of the text. Different languages may use - different glyph shapes or ligatures. This parameter tells - the font which language the text is in, and to apply the - correct substitutions as appropriate, if available. - It should be a `BCP 47 language code - `_ - Requires libraqm. - - .. versionadded:: 6.0.0 - - :param stroke_width: The width of the text stroke. - - .. versionadded:: 6.2.0 - - :return: (width, height) - """ - max_width = 0 - lines = self._multiline_split(text) - line_spacing = self.getsize("A", stroke_width=stroke_width)[1] + spacing - for line in lines: - line_width, line_height = self.getsize( - line, direction, features, language, stroke_width - ) - max_width = max(max_width, line_width) - - return max_width, len(lines) * line_spacing - spacing - - def getoffset(self, text): - """ - Returns the offset of given text. This is the gap between the - starting coordinate and the first marking. Note that this gap is - included in the result of :py:func:`~PIL.ImageFont.FreeTypeFont.getsize`. - - :param text: Text to measure. - - :return: A tuple of the x and y offset - """ - return self.font.getsize(text)[1] - - def getmask( - self, - text, - mode="", - direction=None, - features=None, - language=None, - stroke_width=0, - anchor=None, - ink=0, - ): - """ - Create a bitmap for the text. - - If the font uses antialiasing, the bitmap should have mode ``L`` and use a - maximum value of 255. If the font has embedded color data, the bitmap - should have mode ``RGBA``. Otherwise, it should have mode ``1``. - - :param text: Text to render. - :param mode: Used by some graphics drivers to indicate what mode the - driver prefers; if empty, the renderer may return either - mode. Note that the mode is always a string, to simplify - C-level implementations. - - .. versionadded:: 1.1.5 - - :param direction: Direction of the text. It can be 'rtl' (right to - left), 'ltr' (left to right) or 'ttb' (top to bottom). - Requires libraqm. - - .. versionadded:: 4.2.0 - - :param features: A list of OpenType font features to be used during text - layout. This is usually used to turn on optional - font features that are not enabled by default, - for example 'dlig' or 'ss01', but can be also - used to turn off default font features for - example '-liga' to disable ligatures or '-kern' - to disable kerning. To get all supported - features, see - https://docs.microsoft.com/en-us/typography/opentype/spec/featurelist - Requires libraqm. - - .. versionadded:: 4.2.0 - - :param language: Language of the text. Different languages may use - different glyph shapes or ligatures. This parameter tells - the font which language the text is in, and to apply the - correct substitutions as appropriate, if available. - It should be a `BCP 47 language code - `_ - Requires libraqm. - - .. versionadded:: 6.0.0 - - :param stroke_width: The width of the text stroke. - - .. versionadded:: 6.2.0 - - :param anchor: The text anchor alignment. Determines the relative location of - the anchor to the text. The default alignment is top left. - See :ref:`text-anchors` for valid values. - - .. versionadded:: 8.0.0 - - :param ink: Foreground ink for rendering in RGBA mode. - - .. versionadded:: 8.0.0 - - :return: An internal PIL storage memory instance as defined by the - :py:mod:`PIL.Image.core` interface module. - """ - return self.getmask2( - text, - mode, - direction=direction, - features=features, - language=language, - stroke_width=stroke_width, - anchor=anchor, - ink=ink, - )[0] - - def getmask2( - self, - text, - mode="", - fill=Image.core.fill, - direction=None, - features=None, - language=None, - stroke_width=0, - anchor=None, - ink=0, - *args, - **kwargs, - ): - """ - Create a bitmap for the text. - - If the font uses antialiasing, the bitmap should have mode ``L`` and use a - maximum value of 255. If the font has embedded color data, the bitmap - should have mode ``RGBA``. Otherwise, it should have mode ``1``. - - :param text: Text to render. - :param mode: Used by some graphics drivers to indicate what mode the - driver prefers; if empty, the renderer may return either - mode. Note that the mode is always a string, to simplify - C-level implementations. - - .. versionadded:: 1.1.5 - - :param direction: Direction of the text. It can be 'rtl' (right to - left), 'ltr' (left to right) or 'ttb' (top to bottom). - Requires libraqm. - - .. versionadded:: 4.2.0 - - :param features: A list of OpenType font features to be used during text - layout. This is usually used to turn on optional - font features that are not enabled by default, - for example 'dlig' or 'ss01', but can be also - used to turn off default font features for - example '-liga' to disable ligatures or '-kern' - to disable kerning. To get all supported - features, see - https://docs.microsoft.com/en-us/typography/opentype/spec/featurelist - Requires libraqm. - - .. versionadded:: 4.2.0 - - :param language: Language of the text. Different languages may use - different glyph shapes or ligatures. This parameter tells - the font which language the text is in, and to apply the - correct substitutions as appropriate, if available. - It should be a `BCP 47 language code - `_ - Requires libraqm. - - .. versionadded:: 6.0.0 - - :param stroke_width: The width of the text stroke. - - .. versionadded:: 6.2.0 - - :param anchor: The text anchor alignment. Determines the relative location of - the anchor to the text. The default alignment is top left. - See :ref:`text-anchors` for valid values. - - .. versionadded:: 8.0.0 - - :param ink: Foreground ink for rendering in RGBA mode. - - .. versionadded:: 8.0.0 - - :return: A tuple of an internal PIL storage memory instance as defined by the - :py:mod:`PIL.Image.core` interface module, and the text offset, the - gap between the starting coordinate and the first marking - """ - size, offset = self.font.getsize( - text, mode, direction, features, language, anchor - ) - size = size[0] + stroke_width * 2, size[1] + stroke_width * 2 - offset = offset[0] - stroke_width, offset[1] - stroke_width - im = fill("RGBA" if mode == "RGBA" else "L", size, 0) - self.font.render( - text, im.id, mode, direction, features, language, stroke_width, ink - ) - return im, offset - - def font_variant( - self, font=None, size=None, index=None, encoding=None, layout_engine=None - ): - """ - Create a copy of this FreeTypeFont object, - using any specified arguments to override the settings. - - Parameters are identical to the parameters used to initialize this - object. - - :return: A FreeTypeFont object. - """ - return FreeTypeFont( - font=self.path if font is None else font, - size=self.size if size is None else size, - index=self.index if index is None else index, - encoding=self.encoding if encoding is None else encoding, - layout_engine=layout_engine or self.layout_engine, - ) - - def get_variation_names(self): - """ - :returns: A list of the named styles in a variation font. - :exception OSError: If the font is not a variation font. - """ - try: - names = self.font.getvarnames() - except AttributeError as e: - raise NotImplementedError("FreeType 2.9.1 or greater is required") from e - return [name.replace(b"\x00", b"") for name in names] - - def set_variation_by_name(self, name): - """ - :param name: The name of the style. - :exception OSError: If the font is not a variation font. - """ - names = self.get_variation_names() - if not isinstance(name, bytes): - name = name.encode() - index = names.index(name) - - if index == getattr(self, "_last_variation_index", None): - # When the same name is set twice in a row, - # there is an 'unknown freetype error' - # https://savannah.nongnu.org/bugs/?56186 - return - self._last_variation_index = index - - self.font.setvarname(index) - - def get_variation_axes(self): - """ - :returns: A list of the axes in a variation font. - :exception OSError: If the font is not a variation font. - """ - try: - axes = self.font.getvaraxes() - except AttributeError as e: - raise NotImplementedError("FreeType 2.9.1 or greater is required") from e - for axis in axes: - axis["name"] = axis["name"].replace(b"\x00", b"") - return axes - - def set_variation_by_axes(self, axes): - """ - :param axes: A list of values for each axis. - :exception OSError: If the font is not a variation font. - """ - try: - self.font.setvaraxes(axes) - except AttributeError as e: - raise NotImplementedError("FreeType 2.9.1 or greater is required") from e - - -class TransposedFont: - "Wrapper for writing rotated or mirrored text" - - def __init__(self, font, orientation=None): - """ - Wrapper that creates a transposed font from any existing font - object. - - :param font: A font object. - :param orientation: An optional orientation. If given, this should - be one of Image.FLIP_LEFT_RIGHT, Image.FLIP_TOP_BOTTOM, - Image.ROTATE_90, Image.ROTATE_180, or Image.ROTATE_270. - """ - self.font = font - self.orientation = orientation # any 'transpose' argument, or None - - def getsize(self, text, *args, **kwargs): - w, h = self.font.getsize(text) - if self.orientation in (Image.ROTATE_90, Image.ROTATE_270): - return h, w - return w, h - - def getmask(self, text, mode="", *args, **kwargs): - im = self.font.getmask(text, mode, *args, **kwargs) - if self.orientation is not None: - return im.transpose(self.orientation) - return im - - -def load(filename): - """ - Load a font file. This function loads a font object from the given - bitmap font file, and returns the corresponding font object. - - :param filename: Name of font file. - :return: A font object. - :exception OSError: If the file could not be read. - """ - f = ImageFont() - f._load_pilfont(filename) - return f - - -def truetype(font=None, size=10, index=0, encoding="", layout_engine=None): - """ - Load a TrueType or OpenType font from a file or file-like object, - and create a font object. - This function loads a font object from the given file or file-like - object, and creates a font object for a font of the given size. - - Pillow uses FreeType to open font files. If you are opening many fonts - simultaneously on Windows, be aware that Windows limits the number of files - that can be open in C at once to 512. If you approach that limit, an - ``OSError`` may be thrown, reporting that FreeType "cannot open resource". - - This function requires the _imagingft service. - - :param font: A filename or file-like object containing a TrueType font. - If the file is not found in this filename, the loader may also - search in other directories, such as the :file:`fonts/` - directory on Windows or :file:`/Library/Fonts/`, - :file:`/System/Library/Fonts/` and :file:`~/Library/Fonts/` on - macOS. - - :param size: The requested size, in points. - :param index: Which font face to load (default is first available face). - :param encoding: Which font encoding to use (default is Unicode). Possible - encodings include (see the FreeType documentation for more - information): - - * "unic" (Unicode) - * "symb" (Microsoft Symbol) - * "ADOB" (Adobe Standard) - * "ADBE" (Adobe Expert) - * "ADBC" (Adobe Custom) - * "armn" (Apple Roman) - * "sjis" (Shift JIS) - * "gb " (PRC) - * "big5" - * "wans" (Extended Wansung) - * "joha" (Johab) - * "lat1" (Latin-1) - - This specifies the character set to use. It does not alter the - encoding of any text provided in subsequent operations. - :param layout_engine: Which layout engine to use, if available: - :data:`.ImageFont.LAYOUT_BASIC` or :data:`.ImageFont.LAYOUT_RAQM`. - - You can check support for Raqm layout using - :py:func:`PIL.features.check_feature` with ``feature="raqm"``. - - .. versionadded:: 4.2.0 - :return: A font object. - :exception OSError: If the file could not be read. - """ - - def freetype(font): - return FreeTypeFont(font, size, index, encoding, layout_engine) - - try: - return freetype(font) - except OSError: - if not isPath(font): - raise - ttf_filename = os.path.basename(font) - - dirs = [] - if sys.platform == "win32": - # check the windows font repository - # NOTE: must use uppercase WINDIR, to work around bugs in - # 1.5.2's os.environ.get() - windir = os.environ.get("WINDIR") - if windir: - dirs.append(os.path.join(windir, "fonts")) - elif sys.platform in ("linux", "linux2"): - lindirs = os.environ.get("XDG_DATA_DIRS", "") - if not lindirs: - # According to the freedesktop spec, XDG_DATA_DIRS should - # default to /usr/share - lindirs = "/usr/share" - dirs += [os.path.join(lindir, "fonts") for lindir in lindirs.split(":")] - elif sys.platform == "darwin": - dirs += [ - "/Library/Fonts", - "/System/Library/Fonts", - os.path.expanduser("~/Library/Fonts"), - ] - - ext = os.path.splitext(ttf_filename)[1] - first_font_with_a_different_extension = None - for directory in dirs: - for walkroot, walkdir, walkfilenames in os.walk(directory): - for walkfilename in walkfilenames: - if ext and walkfilename == ttf_filename: - return freetype(os.path.join(walkroot, walkfilename)) - elif not ext and os.path.splitext(walkfilename)[0] == ttf_filename: - fontpath = os.path.join(walkroot, walkfilename) - if os.path.splitext(fontpath)[1] == ".ttf": - return freetype(fontpath) - if not ext and first_font_with_a_different_extension is None: - first_font_with_a_different_extension = fontpath - if first_font_with_a_different_extension: - return freetype(first_font_with_a_different_extension) - raise - - -def load_path(filename): - """ - Load font file. Same as :py:func:`~PIL.ImageFont.load`, but searches for a - bitmap font along the Python path. - - :param filename: Name of font file. - :return: A font object. - :exception OSError: If the file could not be read. - """ - for directory in sys.path: - if isDirectory(directory): - if not isinstance(filename, str): - filename = filename.decode("utf-8") - try: - return load(os.path.join(directory, filename)) - except OSError: - pass - raise OSError("cannot find font file") - - -def load_default(): - """Load a "better than nothing" default font. - - .. versionadded:: 1.1.4 - - :return: A font object. - """ - f = ImageFont() - f._load_pilfont_data( - # courB08 - BytesIO( - base64.b64decode( - b""" -UElMZm9udAo7Ozs7OzsxMDsKREFUQQoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAA//8AAQAAAAAAAAABAAEA -BgAAAAH/+gADAAAAAQAAAAMABgAGAAAAAf/6AAT//QADAAAABgADAAYAAAAA//kABQABAAYAAAAL -AAgABgAAAAD/+AAFAAEACwAAABAACQAGAAAAAP/5AAUAAAAQAAAAFQAHAAYAAP////oABQAAABUA -AAAbAAYABgAAAAH/+QAE//wAGwAAAB4AAwAGAAAAAf/5AAQAAQAeAAAAIQAIAAYAAAAB//kABAAB -ACEAAAAkAAgABgAAAAD/+QAE//0AJAAAACgABAAGAAAAAP/6AAX//wAoAAAALQAFAAYAAAAB//8A -BAACAC0AAAAwAAMABgAAAAD//AAF//0AMAAAADUAAQAGAAAAAf//AAMAAAA1AAAANwABAAYAAAAB -//kABQABADcAAAA7AAgABgAAAAD/+QAFAAAAOwAAAEAABwAGAAAAAP/5AAYAAABAAAAARgAHAAYA -AAAA//kABQAAAEYAAABLAAcABgAAAAD/+QAFAAAASwAAAFAABwAGAAAAAP/5AAYAAABQAAAAVgAH -AAYAAAAA//kABQAAAFYAAABbAAcABgAAAAD/+QAFAAAAWwAAAGAABwAGAAAAAP/5AAUAAABgAAAA -ZQAHAAYAAAAA//kABQAAAGUAAABqAAcABgAAAAD/+QAFAAAAagAAAG8ABwAGAAAAAf/8AAMAAABv -AAAAcQAEAAYAAAAA//wAAwACAHEAAAB0AAYABgAAAAD/+gAE//8AdAAAAHgABQAGAAAAAP/7AAT/ -/gB4AAAAfAADAAYAAAAB//oABf//AHwAAACAAAUABgAAAAD/+gAFAAAAgAAAAIUABgAGAAAAAP/5 -AAYAAQCFAAAAiwAIAAYAAP////oABgAAAIsAAACSAAYABgAA////+gAFAAAAkgAAAJgABgAGAAAA -AP/6AAUAAACYAAAAnQAGAAYAAP////oABQAAAJ0AAACjAAYABgAA////+gAFAAAAowAAAKkABgAG -AAD////6AAUAAACpAAAArwAGAAYAAAAA//oABQAAAK8AAAC0AAYABgAA////+gAGAAAAtAAAALsA -BgAGAAAAAP/6AAQAAAC7AAAAvwAGAAYAAP////oABQAAAL8AAADFAAYABgAA////+gAGAAAAxQAA -AMwABgAGAAD////6AAUAAADMAAAA0gAGAAYAAP////oABQAAANIAAADYAAYABgAA////+gAGAAAA -2AAAAN8ABgAGAAAAAP/6AAUAAADfAAAA5AAGAAYAAP////oABQAAAOQAAADqAAYABgAAAAD/+gAF -AAEA6gAAAO8ABwAGAAD////6AAYAAADvAAAA9gAGAAYAAAAA//oABQAAAPYAAAD7AAYABgAA//// -+gAFAAAA+wAAAQEABgAGAAD////6AAYAAAEBAAABCAAGAAYAAP////oABgAAAQgAAAEPAAYABgAA -////+gAGAAABDwAAARYABgAGAAAAAP/6AAYAAAEWAAABHAAGAAYAAP////oABgAAARwAAAEjAAYA -BgAAAAD/+gAFAAABIwAAASgABgAGAAAAAf/5AAQAAQEoAAABKwAIAAYAAAAA//kABAABASsAAAEv -AAgABgAAAAH/+QAEAAEBLwAAATIACAAGAAAAAP/5AAX//AEyAAABNwADAAYAAAAAAAEABgACATcA -AAE9AAEABgAAAAH/+QAE//wBPQAAAUAAAwAGAAAAAP/7AAYAAAFAAAABRgAFAAYAAP////kABQAA -AUYAAAFMAAcABgAAAAD/+wAFAAABTAAAAVEABQAGAAAAAP/5AAYAAAFRAAABVwAHAAYAAAAA//sA -BQAAAVcAAAFcAAUABgAAAAD/+QAFAAABXAAAAWEABwAGAAAAAP/7AAYAAgFhAAABZwAHAAYAAP// -//kABQAAAWcAAAFtAAcABgAAAAD/+QAGAAABbQAAAXMABwAGAAAAAP/5AAQAAgFzAAABdwAJAAYA -AP////kABgAAAXcAAAF+AAcABgAAAAD/+QAGAAABfgAAAYQABwAGAAD////7AAUAAAGEAAABigAF -AAYAAP////sABQAAAYoAAAGQAAUABgAAAAD/+wAFAAABkAAAAZUABQAGAAD////7AAUAAgGVAAAB -mwAHAAYAAAAA//sABgACAZsAAAGhAAcABgAAAAD/+wAGAAABoQAAAacABQAGAAAAAP/7AAYAAAGn -AAABrQAFAAYAAAAA//kABgAAAa0AAAGzAAcABgAA////+wAGAAABswAAAboABQAGAAD////7AAUA -AAG6AAABwAAFAAYAAP////sABgAAAcAAAAHHAAUABgAAAAD/+wAGAAABxwAAAc0ABQAGAAD////7 -AAYAAgHNAAAB1AAHAAYAAAAA//sABQAAAdQAAAHZAAUABgAAAAH/+QAFAAEB2QAAAd0ACAAGAAAA -Av/6AAMAAQHdAAAB3gAHAAYAAAAA//kABAABAd4AAAHiAAgABgAAAAD/+wAF//0B4gAAAecAAgAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAB -//sAAwACAecAAAHpAAcABgAAAAD/+QAFAAEB6QAAAe4ACAAGAAAAAP/5AAYAAAHuAAAB9AAHAAYA -AAAA//oABf//AfQAAAH5AAUABgAAAAD/+QAGAAAB+QAAAf8ABwAGAAAAAv/5AAMAAgH/AAACAAAJ -AAYAAAAA//kABQABAgAAAAIFAAgABgAAAAH/+gAE//sCBQAAAggAAQAGAAAAAP/5AAYAAAIIAAAC -DgAHAAYAAAAB//kABf/+Ag4AAAISAAUABgAA////+wAGAAACEgAAAhkABQAGAAAAAP/7AAX//gIZ -AAACHgADAAYAAAAA//wABf/9Ah4AAAIjAAEABgAAAAD/+QAHAAACIwAAAioABwAGAAAAAP/6AAT/ -+wIqAAACLgABAAYAAAAA//kABP/8Ai4AAAIyAAMABgAAAAD/+gAFAAACMgAAAjcABgAGAAAAAf/5 -AAT//QI3AAACOgAEAAYAAAAB//kABP/9AjoAAAI9AAQABgAAAAL/+QAE//sCPQAAAj8AAgAGAAD/ -///7AAYAAgI/AAACRgAHAAYAAAAA//kABgABAkYAAAJMAAgABgAAAAH//AAD//0CTAAAAk4AAQAG -AAAAAf//AAQAAgJOAAACUQADAAYAAAAB//kABP/9AlEAAAJUAAQABgAAAAH/+QAF//4CVAAAAlgA -BQAGAAD////7AAYAAAJYAAACXwAFAAYAAP////kABgAAAl8AAAJmAAcABgAA////+QAGAAACZgAA -Am0ABwAGAAD////5AAYAAAJtAAACdAAHAAYAAAAA//sABQACAnQAAAJ5AAcABgAA////9wAGAAAC -eQAAAoAACQAGAAD////3AAYAAAKAAAAChwAJAAYAAP////cABgAAAocAAAKOAAkABgAA////9wAG -AAACjgAAApUACQAGAAD////4AAYAAAKVAAACnAAIAAYAAP////cABgAAApwAAAKjAAkABgAA//// -+gAGAAACowAAAqoABgAGAAAAAP/6AAUAAgKqAAACrwAIAAYAAP////cABQAAAq8AAAK1AAkABgAA -////9wAFAAACtQAAArsACQAGAAD////3AAUAAAK7AAACwQAJAAYAAP////gABQAAAsEAAALHAAgA -BgAAAAD/9wAEAAACxwAAAssACQAGAAAAAP/3AAQAAALLAAACzwAJAAYAAAAA//cABAAAAs8AAALT -AAkABgAAAAD/+AAEAAAC0wAAAtcACAAGAAD////6AAUAAALXAAAC3QAGAAYAAP////cABgAAAt0A -AALkAAkABgAAAAD/9wAFAAAC5AAAAukACQAGAAAAAP/3AAUAAALpAAAC7gAJAAYAAAAA//cABQAA -Au4AAALzAAkABgAAAAD/9wAFAAAC8wAAAvgACQAGAAAAAP/4AAUAAAL4AAAC/QAIAAYAAAAA//oA -Bf//Av0AAAMCAAUABgAA////+gAGAAADAgAAAwkABgAGAAD////3AAYAAAMJAAADEAAJAAYAAP// -//cABgAAAxAAAAMXAAkABgAA////9wAGAAADFwAAAx4ACQAGAAD////4AAYAAAAAAAoABwASAAYA -AP////cABgAAAAcACgAOABMABgAA////+gAFAAAADgAKABQAEAAGAAD////6AAYAAAAUAAoAGwAQ -AAYAAAAA//gABgAAABsACgAhABIABgAAAAD/+AAGAAAAIQAKACcAEgAGAAAAAP/4AAYAAAAnAAoA -LQASAAYAAAAA//gABgAAAC0ACgAzABIABgAAAAD/+QAGAAAAMwAKADkAEQAGAAAAAP/3AAYAAAA5 -AAoAPwATAAYAAP////sABQAAAD8ACgBFAA8ABgAAAAD/+wAFAAIARQAKAEoAEQAGAAAAAP/4AAUA -AABKAAoATwASAAYAAAAA//gABQAAAE8ACgBUABIABgAAAAD/+AAFAAAAVAAKAFkAEgAGAAAAAP/5 -AAUAAABZAAoAXgARAAYAAAAA//gABgAAAF4ACgBkABIABgAAAAD/+AAGAAAAZAAKAGoAEgAGAAAA -AP/4AAYAAABqAAoAcAASAAYAAAAA//kABgAAAHAACgB2ABEABgAAAAD/+AAFAAAAdgAKAHsAEgAG -AAD////4AAYAAAB7AAoAggASAAYAAAAA//gABQAAAIIACgCHABIABgAAAAD/+AAFAAAAhwAKAIwA -EgAGAAAAAP/4AAUAAACMAAoAkQASAAYAAAAA//gABQAAAJEACgCWABIABgAAAAD/+QAFAAAAlgAK -AJsAEQAGAAAAAP/6AAX//wCbAAoAoAAPAAYAAAAA//oABQABAKAACgClABEABgAA////+AAGAAAA -pQAKAKwAEgAGAAD////4AAYAAACsAAoAswASAAYAAP////gABgAAALMACgC6ABIABgAA////+QAG -AAAAugAKAMEAEQAGAAD////4AAYAAgDBAAoAyAAUAAYAAP////kABQACAMgACgDOABMABgAA//// -+QAGAAIAzgAKANUAEw== -""" - ) - ), - Image.open( - BytesIO( - base64.b64decode( - b""" -iVBORw0KGgoAAAANSUhEUgAAAx4AAAAUAQAAAAArMtZoAAAEwElEQVR4nABlAJr/AHVE4czCI/4u -Mc4b7vuds/xzjz5/3/7u/n9vMe7vnfH/9++vPn/xyf5zhxzjt8GHw8+2d83u8x27199/nxuQ6Od9 -M43/5z2I+9n9ZtmDBwMQECDRQw/eQIQohJXxpBCNVE6QCCAAAAD//wBlAJr/AgALyj1t/wINwq0g -LeNZUworuN1cjTPIzrTX6ofHWeo3v336qPzfEwRmBnHTtf95/fglZK5N0PDgfRTslpGBvz7LFc4F -IUXBWQGjQ5MGCx34EDFPwXiY4YbYxavpnhHFrk14CDAAAAD//wBlAJr/AgKqRooH2gAgPeggvUAA -Bu2WfgPoAwzRAABAAAAAAACQgLz/3Uv4Gv+gX7BJgDeeGP6AAAD1NMDzKHD7ANWr3loYbxsAD791 -NAADfcoIDyP44K/jv4Y63/Z+t98Ovt+ub4T48LAAAAD//wBlAJr/AuplMlADJAAAAGuAphWpqhMx -in0A/fRvAYBABPgBwBUgABBQ/sYAyv9g0bCHgOLoGAAAAAAAREAAwI7nr0ArYpow7aX8//9LaP/9 -SjdavWA8ePHeBIKB//81/83ndznOaXx379wAAAD//wBlAJr/AqDxW+D3AABAAbUh/QMnbQag/gAY -AYDAAACgtgD/gOqAAAB5IA/8AAAk+n9w0AAA8AAAmFRJuPo27ciC0cD5oeW4E7KA/wD3ECMAn2tt -y8PgwH8AfAxFzC0JzeAMtratAsC/ffwAAAD//wBlAJr/BGKAyCAA4AAAAvgeYTAwHd1kmQF5chkG -ABoMIHcL5xVpTfQbUqzlAAAErwAQBgAAEOClA5D9il08AEh/tUzdCBsXkbgACED+woQg8Si9VeqY -lODCn7lmF6NhnAEYgAAA/NMIAAAAAAD//2JgjLZgVGBg5Pv/Tvpc8hwGBjYGJADjHDrAwPzAjv/H -/Wf3PzCwtzcwHmBgYGcwbZz8wHaCAQMDOwMDQ8MCBgYOC3W7mp+f0w+wHOYxO3OG+e376hsMZjk3 -AAAAAP//YmCMY2A4wMAIN5e5gQETPD6AZisDAwMDgzSDAAPjByiHcQMDAwMDg1nOze1lByRu5/47 -c4859311AYNZzg0AAAAA//9iYGDBYihOIIMuwIjGL39/fwffA8b//xv/P2BPtzzHwCBjUQAAAAD/ -/yLFBrIBAAAA//9i1HhcwdhizX7u8NZNzyLbvT97bfrMf/QHI8evOwcSqGUJAAAA//9iYBB81iSw -pEE170Qrg5MIYydHqwdDQRMrAwcVrQAAAAD//2J4x7j9AAMDn8Q/BgYLBoaiAwwMjPdvMDBYM1Tv -oJodAAAAAP//Yqo/83+dxePWlxl3npsel9lvLfPcqlE9725C+acfVLMEAAAA//9i+s9gwCoaaGMR -evta/58PTEWzr21hufPjA8N+qlnBwAAAAAD//2JiWLci5v1+HmFXDqcnULE/MxgYGBj+f6CaJQAA -AAD//2Ji2FrkY3iYpYC5qDeGgeEMAwPDvwQBBoYvcTwOVLMEAAAA//9isDBgkP///0EOg9z35v// -Gc/eeW7BwPj5+QGZhANUswMAAAD//2JgqGBgYGBgqEMXlvhMPUsAAAAA//8iYDd1AAAAAP//AwDR -w7IkEbzhVQAAAABJRU5ErkJggg== -""" - ) - ) - ), - ) - return f diff --git a/venv/lib/python3.8/site-packages/PIL/ImageGrab.py b/venv/lib/python3.8/site-packages/PIL/ImageGrab.py deleted file mode 100644 index b93ec3f2..00000000 --- a/venv/lib/python3.8/site-packages/PIL/ImageGrab.py +++ /dev/null @@ -1,120 +0,0 @@ -# -# The Python Imaging Library -# $Id$ -# -# screen grabber -# -# History: -# 2001-04-26 fl created -# 2001-09-17 fl use builtin driver, if present -# 2002-11-19 fl added grabclipboard support -# -# Copyright (c) 2001-2002 by Secret Labs AB -# Copyright (c) 2001-2002 by Fredrik Lundh -# -# See the README file for information on usage and redistribution. -# - -import sys - -from . import Image - -if sys.platform == "darwin": - import os - import subprocess - import tempfile - - -def grab(bbox=None, include_layered_windows=False, all_screens=False, xdisplay=None): - if xdisplay is None: - if sys.platform == "darwin": - fh, filepath = tempfile.mkstemp(".png") - os.close(fh) - subprocess.call(["screencapture", "-x", filepath]) - im = Image.open(filepath) - im.load() - os.unlink(filepath) - if bbox: - im_cropped = im.crop(bbox) - im.close() - return im_cropped - return im - elif sys.platform == "win32": - offset, size, data = Image.core.grabscreen_win32( - include_layered_windows, all_screens - ) - im = Image.frombytes( - "RGB", - size, - data, - # RGB, 32-bit line padding, origin lower left corner - "raw", - "BGR", - (size[0] * 3 + 3) & -4, - -1, - ) - if bbox: - x0, y0 = offset - left, top, right, bottom = bbox - im = im.crop((left - x0, top - y0, right - x0, bottom - y0)) - return im - # use xdisplay=None for default display on non-win32/macOS systems - if not Image.core.HAVE_XCB: - raise OSError("Pillow was built without XCB support") - size, data = Image.core.grabscreen_x11(xdisplay) - im = Image.frombytes("RGB", size, data, "raw", "BGRX", size[0] * 4, 1) - if bbox: - im = im.crop(bbox) - return im - - -def grabclipboard(): - if sys.platform == "darwin": - fh, filepath = tempfile.mkstemp(".jpg") - os.close(fh) - commands = [ - 'set theFile to (open for access POSIX file "' - + filepath - + '" with write permission)', - "try", - " write (the clipboard as JPEG picture) to theFile", - "end try", - "close access theFile", - ] - script = ["osascript"] - for command in commands: - script += ["-e", command] - subprocess.call(script) - - im = None - if os.stat(filepath).st_size != 0: - im = Image.open(filepath) - im.load() - os.unlink(filepath) - return im - elif sys.platform == "win32": - fmt, data = Image.core.grabclipboard_win32() - if fmt == "file": # CF_HDROP - import struct - - o = struct.unpack_from("I", data)[0] - if data[16] != 0: - files = data[o:].decode("utf-16le").split("\0") - else: - files = data[o:].decode("mbcs").split("\0") - return files[: files.index("")] - if isinstance(data, bytes): - import io - - data = io.BytesIO(data) - if fmt == "png": - from . import PngImagePlugin - - return PngImagePlugin.PngImageFile(data) - elif fmt == "DIB": - from . import BmpImagePlugin - - return BmpImagePlugin.DibImageFile(data) - return None - else: - raise NotImplementedError("ImageGrab.grabclipboard() is macOS and Windows only") diff --git a/venv/lib/python3.8/site-packages/PIL/ImageMath.py b/venv/lib/python3.8/site-packages/PIL/ImageMath.py deleted file mode 100644 index 7f9c88e1..00000000 --- a/venv/lib/python3.8/site-packages/PIL/ImageMath.py +++ /dev/null @@ -1,253 +0,0 @@ -# -# The Python Imaging Library -# $Id$ -# -# a simple math add-on for the Python Imaging Library -# -# History: -# 1999-02-15 fl Original PIL Plus release -# 2005-05-05 fl Simplified and cleaned up for PIL 1.1.6 -# 2005-09-12 fl Fixed int() and float() for Python 2.4.1 -# -# Copyright (c) 1999-2005 by Secret Labs AB -# Copyright (c) 2005 by Fredrik Lundh -# -# See the README file for information on usage and redistribution. -# - -import builtins - -from . import Image, _imagingmath - -VERBOSE = 0 - - -def _isconstant(v): - return isinstance(v, (int, float)) - - -class _Operand: - """Wraps an image operand, providing standard operators""" - - def __init__(self, im): - self.im = im - - def __fixup(self, im1): - # convert image to suitable mode - if isinstance(im1, _Operand): - # argument was an image. - if im1.im.mode in ("1", "L"): - return im1.im.convert("I") - elif im1.im.mode in ("I", "F"): - return im1.im - else: - raise ValueError(f"unsupported mode: {im1.im.mode}") - else: - # argument was a constant - if _isconstant(im1) and self.im.mode in ("1", "L", "I"): - return Image.new("I", self.im.size, im1) - else: - return Image.new("F", self.im.size, im1) - - def apply(self, op, im1, im2=None, mode=None): - im1 = self.__fixup(im1) - if im2 is None: - # unary operation - out = Image.new(mode or im1.mode, im1.size, None) - im1.load() - try: - op = getattr(_imagingmath, op + "_" + im1.mode) - except AttributeError as e: - raise TypeError(f"bad operand type for '{op}'") from e - _imagingmath.unop(op, out.im.id, im1.im.id) - else: - # binary operation - im2 = self.__fixup(im2) - if im1.mode != im2.mode: - # convert both arguments to floating point - if im1.mode != "F": - im1 = im1.convert("F") - if im2.mode != "F": - im2 = im2.convert("F") - if im1.mode != im2.mode: - raise ValueError("mode mismatch") - if im1.size != im2.size: - # crop both arguments to a common size - size = (min(im1.size[0], im2.size[0]), min(im1.size[1], im2.size[1])) - if im1.size != size: - im1 = im1.crop((0, 0) + size) - if im2.size != size: - im2 = im2.crop((0, 0) + size) - out = Image.new(mode or im1.mode, size, None) - else: - out = Image.new(mode or im1.mode, im1.size, None) - im1.load() - im2.load() - try: - op = getattr(_imagingmath, op + "_" + im1.mode) - except AttributeError as e: - raise TypeError(f"bad operand type for '{op}'") from e - _imagingmath.binop(op, out.im.id, im1.im.id, im2.im.id) - return _Operand(out) - - # unary operators - def __bool__(self): - # an image is "true" if it contains at least one non-zero pixel - return self.im.getbbox() is not None - - def __abs__(self): - return self.apply("abs", self) - - def __pos__(self): - return self - - def __neg__(self): - return self.apply("neg", self) - - # binary operators - def __add__(self, other): - return self.apply("add", self, other) - - def __radd__(self, other): - return self.apply("add", other, self) - - def __sub__(self, other): - return self.apply("sub", self, other) - - def __rsub__(self, other): - return self.apply("sub", other, self) - - def __mul__(self, other): - return self.apply("mul", self, other) - - def __rmul__(self, other): - return self.apply("mul", other, self) - - def __truediv__(self, other): - return self.apply("div", self, other) - - def __rtruediv__(self, other): - return self.apply("div", other, self) - - def __mod__(self, other): - return self.apply("mod", self, other) - - def __rmod__(self, other): - return self.apply("mod", other, self) - - def __pow__(self, other): - return self.apply("pow", self, other) - - def __rpow__(self, other): - return self.apply("pow", other, self) - - # bitwise - def __invert__(self): - return self.apply("invert", self) - - def __and__(self, other): - return self.apply("and", self, other) - - def __rand__(self, other): - return self.apply("and", other, self) - - def __or__(self, other): - return self.apply("or", self, other) - - def __ror__(self, other): - return self.apply("or", other, self) - - def __xor__(self, other): - return self.apply("xor", self, other) - - def __rxor__(self, other): - return self.apply("xor", other, self) - - def __lshift__(self, other): - return self.apply("lshift", self, other) - - def __rshift__(self, other): - return self.apply("rshift", self, other) - - # logical - def __eq__(self, other): - return self.apply("eq", self, other) - - def __ne__(self, other): - return self.apply("ne", self, other) - - def __lt__(self, other): - return self.apply("lt", self, other) - - def __le__(self, other): - return self.apply("le", self, other) - - def __gt__(self, other): - return self.apply("gt", self, other) - - def __ge__(self, other): - return self.apply("ge", self, other) - - -# conversions -def imagemath_int(self): - return _Operand(self.im.convert("I")) - - -def imagemath_float(self): - return _Operand(self.im.convert("F")) - - -# logical -def imagemath_equal(self, other): - return self.apply("eq", self, other, mode="I") - - -def imagemath_notequal(self, other): - return self.apply("ne", self, other, mode="I") - - -def imagemath_min(self, other): - return self.apply("min", self, other) - - -def imagemath_max(self, other): - return self.apply("max", self, other) - - -def imagemath_convert(self, mode): - return _Operand(self.im.convert(mode)) - - -ops = {} -for k, v in list(globals().items()): - if k[:10] == "imagemath_": - ops[k[10:]] = v - - -def eval(expression, _dict={}, **kw): - """ - Evaluates an image expression. - - :param expression: A string containing a Python-style expression. - :param options: Values to add to the evaluation context. You - can either use a dictionary, or one or more keyword - arguments. - :return: The evaluated expression. This is usually an image object, but can - also be an integer, a floating point value, or a pixel tuple, - depending on the expression. - """ - - # build execution namespace - args = ops.copy() - args.update(_dict) - args.update(kw) - for k, v in list(args.items()): - if hasattr(v, "im"): - args[k] = _Operand(v) - - out = builtins.eval(expression, args) - try: - return out.im - except AttributeError: - return out diff --git a/venv/lib/python3.8/site-packages/PIL/ImageMode.py b/venv/lib/python3.8/site-packages/PIL/ImageMode.py deleted file mode 100644 index 98828832..00000000 --- a/venv/lib/python3.8/site-packages/PIL/ImageMode.py +++ /dev/null @@ -1,64 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# standard mode descriptors -# -# History: -# 2006-03-20 fl Added -# -# Copyright (c) 2006 by Secret Labs AB. -# Copyright (c) 2006 by Fredrik Lundh. -# -# See the README file for information on usage and redistribution. -# - -# mode descriptor cache -_modes = None - - -class ModeDescriptor: - """Wrapper for mode strings.""" - - def __init__(self, mode, bands, basemode, basetype): - self.mode = mode - self.bands = bands - self.basemode = basemode - self.basetype = basetype - - def __str__(self): - return self.mode - - -def getmode(mode): - """Gets a mode descriptor for the given mode.""" - global _modes - if not _modes: - # initialize mode cache - - from . import Image - - modes = {} - # core modes - for m, (basemode, basetype, bands) in Image._MODEINFO.items(): - modes[m] = ModeDescriptor(m, bands, basemode, basetype) - # extra experimental modes - modes["RGBa"] = ModeDescriptor("RGBa", ("R", "G", "B", "a"), "RGB", "L") - modes["LA"] = ModeDescriptor("LA", ("L", "A"), "L", "L") - modes["La"] = ModeDescriptor("La", ("L", "a"), "L", "L") - modes["PA"] = ModeDescriptor("PA", ("P", "A"), "RGB", "L") - # mapping modes - for i16mode in ( - "I;16", - "I;16S", - "I;16L", - "I;16LS", - "I;16B", - "I;16BS", - "I;16N", - "I;16NS", - ): - modes[i16mode] = ModeDescriptor(i16mode, ("I",), "L", "L") - # set global mode cache atomically - _modes = modes - return _modes[mode] diff --git a/venv/lib/python3.8/site-packages/PIL/ImageMorph.py b/venv/lib/python3.8/site-packages/PIL/ImageMorph.py deleted file mode 100644 index b76dfa01..00000000 --- a/venv/lib/python3.8/site-packages/PIL/ImageMorph.py +++ /dev/null @@ -1,245 +0,0 @@ -# A binary morphology add-on for the Python Imaging Library -# -# History: -# 2014-06-04 Initial version. -# -# Copyright (c) 2014 Dov Grobgeld - -import re - -from . import Image, _imagingmorph - -LUT_SIZE = 1 << 9 - -# fmt: off -ROTATION_MATRIX = [ - 6, 3, 0, - 7, 4, 1, - 8, 5, 2, -] -MIRROR_MATRIX = [ - 2, 1, 0, - 5, 4, 3, - 8, 7, 6, -] -# fmt: on - - -class LutBuilder: - """A class for building a MorphLut from a descriptive language - - The input patterns is a list of a strings sequences like these:: - - 4:(... - .1. - 111)->1 - - (whitespaces including linebreaks are ignored). The option 4 - describes a series of symmetry operations (in this case a - 4-rotation), the pattern is described by: - - - . or X - Ignore - - 1 - Pixel is on - - 0 - Pixel is off - - The result of the operation is described after "->" string. - - The default is to return the current pixel value, which is - returned if no other match is found. - - Operations: - - - 4 - 4 way rotation - - N - Negate - - 1 - Dummy op for no other operation (an op must always be given) - - M - Mirroring - - Example:: - - lb = LutBuilder(patterns = ["4:(... .1. 111)->1"]) - lut = lb.build_lut() - - """ - - def __init__(self, patterns=None, op_name=None): - if patterns is not None: - self.patterns = patterns - else: - self.patterns = [] - self.lut = None - if op_name is not None: - known_patterns = { - "corner": ["1:(... ... ...)->0", "4:(00. 01. ...)->1"], - "dilation4": ["4:(... .0. .1.)->1"], - "dilation8": ["4:(... .0. .1.)->1", "4:(... .0. ..1)->1"], - "erosion4": ["4:(... .1. .0.)->0"], - "erosion8": ["4:(... .1. .0.)->0", "4:(... .1. ..0)->0"], - "edge": [ - "1:(... ... ...)->0", - "4:(.0. .1. ...)->1", - "4:(01. .1. ...)->1", - ], - } - if op_name not in known_patterns: - raise Exception("Unknown pattern " + op_name + "!") - - self.patterns = known_patterns[op_name] - - def add_patterns(self, patterns): - self.patterns += patterns - - def build_default_lut(self): - symbols = [0, 1] - m = 1 << 4 # pos of current pixel - self.lut = bytearray(symbols[(i & m) > 0] for i in range(LUT_SIZE)) - - def get_lut(self): - return self.lut - - def _string_permute(self, pattern, permutation): - """string_permute takes a pattern and a permutation and returns the - string permuted according to the permutation list. - """ - assert len(permutation) == 9 - return "".join(pattern[p] for p in permutation) - - def _pattern_permute(self, basic_pattern, options, basic_result): - """pattern_permute takes a basic pattern and its result and clones - the pattern according to the modifications described in the $options - parameter. It returns a list of all cloned patterns.""" - patterns = [(basic_pattern, basic_result)] - - # rotations - if "4" in options: - res = patterns[-1][1] - for i in range(4): - patterns.append( - (self._string_permute(patterns[-1][0], ROTATION_MATRIX), res) - ) - # mirror - if "M" in options: - n = len(patterns) - for pattern, res in patterns[0:n]: - patterns.append((self._string_permute(pattern, MIRROR_MATRIX), res)) - - # negate - if "N" in options: - n = len(patterns) - for pattern, res in patterns[0:n]: - # Swap 0 and 1 - pattern = pattern.replace("0", "Z").replace("1", "0").replace("Z", "1") - res = 1 - int(res) - patterns.append((pattern, res)) - - return patterns - - def build_lut(self): - """Compile all patterns into a morphology lut. - - TBD :Build based on (file) morphlut:modify_lut - """ - self.build_default_lut() - patterns = [] - - # Parse and create symmetries of the patterns strings - for p in self.patterns: - m = re.search(r"(\w*):?\s*\((.+?)\)\s*->\s*(\d)", p.replace("\n", "")) - if not m: - raise Exception('Syntax error in pattern "' + p + '"') - options = m.group(1) - pattern = m.group(2) - result = int(m.group(3)) - - # Get rid of spaces - pattern = pattern.replace(" ", "").replace("\n", "") - - patterns += self._pattern_permute(pattern, options, result) - - # compile the patterns into regular expressions for speed - for i, pattern in enumerate(patterns): - p = pattern[0].replace(".", "X").replace("X", "[01]") - p = re.compile(p) - patterns[i] = (p, pattern[1]) - - # Step through table and find patterns that match. - # Note that all the patterns are searched. The last one - # caught overrides - for i in range(LUT_SIZE): - # Build the bit pattern - bitpattern = bin(i)[2:] - bitpattern = ("0" * (9 - len(bitpattern)) + bitpattern)[::-1] - - for p, r in patterns: - if p.match(bitpattern): - self.lut[i] = [0, 1][r] - - return self.lut - - -class MorphOp: - """A class for binary morphological operators""" - - def __init__(self, lut=None, op_name=None, patterns=None): - """Create a binary morphological operator""" - self.lut = lut - if op_name is not None: - self.lut = LutBuilder(op_name=op_name).build_lut() - elif patterns is not None: - self.lut = LutBuilder(patterns=patterns).build_lut() - - def apply(self, image): - """Run a single morphological operation on an image - - Returns a tuple of the number of changed pixels and the - morphed image""" - if self.lut is None: - raise Exception("No operator loaded") - - if image.mode != "L": - raise Exception("Image must be binary, meaning it must use mode L") - outimage = Image.new(image.mode, image.size, None) - count = _imagingmorph.apply(bytes(self.lut), image.im.id, outimage.im.id) - return count, outimage - - def match(self, image): - """Get a list of coordinates matching the morphological operation on - an image. - - Returns a list of tuples of (x,y) coordinates - of all matching pixels. See :ref:`coordinate-system`.""" - if self.lut is None: - raise Exception("No operator loaded") - - if image.mode != "L": - raise Exception("Image must be binary, meaning it must use mode L") - return _imagingmorph.match(bytes(self.lut), image.im.id) - - def get_on_pixels(self, image): - """Get a list of all turned on pixels in a binary image - - Returns a list of tuples of (x,y) coordinates - of all matching pixels. See :ref:`coordinate-system`.""" - - if image.mode != "L": - raise Exception("Image must be binary, meaning it must use mode L") - return _imagingmorph.get_on_pixels(image.im.id) - - def load_lut(self, filename): - """Load an operator from an mrl file""" - with open(filename, "rb") as f: - self.lut = bytearray(f.read()) - - if len(self.lut) != LUT_SIZE: - self.lut = None - raise Exception("Wrong size operator file!") - - def save_lut(self, filename): - """Save an operator to an mrl file""" - if self.lut is None: - raise Exception("No operator loaded") - with open(filename, "wb") as f: - f.write(self.lut) - - def set_lut(self, lut): - """Set the lut from an external source""" - self.lut = lut diff --git a/venv/lib/python3.8/site-packages/PIL/ImageOps.py b/venv/lib/python3.8/site-packages/PIL/ImageOps.py deleted file mode 100644 index 14602a5c..00000000 --- a/venv/lib/python3.8/site-packages/PIL/ImageOps.py +++ /dev/null @@ -1,558 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# standard image operations -# -# History: -# 2001-10-20 fl Created -# 2001-10-23 fl Added autocontrast operator -# 2001-12-18 fl Added Kevin's fit operator -# 2004-03-14 fl Fixed potential division by zero in equalize -# 2005-05-05 fl Fixed equalize for low number of values -# -# Copyright (c) 2001-2004 by Secret Labs AB -# Copyright (c) 2001-2004 by Fredrik Lundh -# -# See the README file for information on usage and redistribution. -# - -import functools -import operator - -from . import Image - -# -# helpers - - -def _border(border): - if isinstance(border, tuple): - if len(border) == 2: - left, top = right, bottom = border - elif len(border) == 4: - left, top, right, bottom = border - else: - left = top = right = bottom = border - return left, top, right, bottom - - -def _color(color, mode): - if isinstance(color, str): - from . import ImageColor - - color = ImageColor.getcolor(color, mode) - return color - - -def _lut(image, lut): - if image.mode == "P": - # FIXME: apply to lookup table, not image data - raise NotImplementedError("mode P support coming soon") - elif image.mode in ("L", "RGB"): - if image.mode == "RGB" and len(lut) == 256: - lut = lut + lut + lut - return image.point(lut) - else: - raise OSError("not supported for this image mode") - - -# -# actions - - -def autocontrast(image, cutoff=0, ignore=None, mask=None): - """ - Maximize (normalize) image contrast. This function calculates a - histogram of the input image (or mask region), removes ``cutoff`` percent of the - lightest and darkest pixels from the histogram, and remaps the image - so that the darkest pixel becomes black (0), and the lightest - becomes white (255). - - :param image: The image to process. - :param cutoff: The percent to cut off from the histogram on the low and - high ends. Either a tuple of (low, high), or a single - number for both. - :param ignore: The background pixel value (use None for no background). - :param mask: Histogram used in contrast operation is computed using pixels - within the mask. If no mask is given the entire image is used - for histogram computation. - :return: An image. - """ - histogram = image.histogram(mask) - lut = [] - for layer in range(0, len(histogram), 256): - h = histogram[layer : layer + 256] - if ignore is not None: - # get rid of outliers - try: - h[ignore] = 0 - except TypeError: - # assume sequence - for ix in ignore: - h[ix] = 0 - if cutoff: - # cut off pixels from both ends of the histogram - if not isinstance(cutoff, tuple): - cutoff = (cutoff, cutoff) - # get number of pixels - n = 0 - for ix in range(256): - n = n + h[ix] - # remove cutoff% pixels from the low end - cut = n * cutoff[0] // 100 - for lo in range(256): - if cut > h[lo]: - cut = cut - h[lo] - h[lo] = 0 - else: - h[lo] -= cut - cut = 0 - if cut <= 0: - break - # remove cutoff% samples from the high end - cut = n * cutoff[1] // 100 - for hi in range(255, -1, -1): - if cut > h[hi]: - cut = cut - h[hi] - h[hi] = 0 - else: - h[hi] -= cut - cut = 0 - if cut <= 0: - break - # find lowest/highest samples after preprocessing - for lo in range(256): - if h[lo]: - break - for hi in range(255, -1, -1): - if h[hi]: - break - if hi <= lo: - # don't bother - lut.extend(list(range(256))) - else: - scale = 255.0 / (hi - lo) - offset = -lo * scale - for ix in range(256): - ix = int(ix * scale + offset) - if ix < 0: - ix = 0 - elif ix > 255: - ix = 255 - lut.append(ix) - return _lut(image, lut) - - -def colorize(image, black, white, mid=None, blackpoint=0, whitepoint=255, midpoint=127): - """ - Colorize grayscale image. - This function calculates a color wedge which maps all black pixels in - the source image to the first color and all white pixels to the - second color. If ``mid`` is specified, it uses three-color mapping. - The ``black`` and ``white`` arguments should be RGB tuples or color names; - optionally you can use three-color mapping by also specifying ``mid``. - Mapping positions for any of the colors can be specified - (e.g. ``blackpoint``), where these parameters are the integer - value corresponding to where the corresponding color should be mapped. - These parameters must have logical order, such that - ``blackpoint <= midpoint <= whitepoint`` (if ``mid`` is specified). - - :param image: The image to colorize. - :param black: The color to use for black input pixels. - :param white: The color to use for white input pixels. - :param mid: The color to use for midtone input pixels. - :param blackpoint: an int value [0, 255] for the black mapping. - :param whitepoint: an int value [0, 255] for the white mapping. - :param midpoint: an int value [0, 255] for the midtone mapping. - :return: An image. - """ - - # Initial asserts - assert image.mode == "L" - if mid is None: - assert 0 <= blackpoint <= whitepoint <= 255 - else: - assert 0 <= blackpoint <= midpoint <= whitepoint <= 255 - - # Define colors from arguments - black = _color(black, "RGB") - white = _color(white, "RGB") - if mid is not None: - mid = _color(mid, "RGB") - - # Empty lists for the mapping - red = [] - green = [] - blue = [] - - # Create the low-end values - for i in range(0, blackpoint): - red.append(black[0]) - green.append(black[1]) - blue.append(black[2]) - - # Create the mapping (2-color) - if mid is None: - - range_map = range(0, whitepoint - blackpoint) - - for i in range_map: - red.append(black[0] + i * (white[0] - black[0]) // len(range_map)) - green.append(black[1] + i * (white[1] - black[1]) // len(range_map)) - blue.append(black[2] + i * (white[2] - black[2]) // len(range_map)) - - # Create the mapping (3-color) - else: - - range_map1 = range(0, midpoint - blackpoint) - range_map2 = range(0, whitepoint - midpoint) - - for i in range_map1: - red.append(black[0] + i * (mid[0] - black[0]) // len(range_map1)) - green.append(black[1] + i * (mid[1] - black[1]) // len(range_map1)) - blue.append(black[2] + i * (mid[2] - black[2]) // len(range_map1)) - for i in range_map2: - red.append(mid[0] + i * (white[0] - mid[0]) // len(range_map2)) - green.append(mid[1] + i * (white[1] - mid[1]) // len(range_map2)) - blue.append(mid[2] + i * (white[2] - mid[2]) // len(range_map2)) - - # Create the high-end values - for i in range(0, 256 - whitepoint): - red.append(white[0]) - green.append(white[1]) - blue.append(white[2]) - - # Return converted image - image = image.convert("RGB") - return _lut(image, red + green + blue) - - -def pad(image, size, method=Image.BICUBIC, color=None, centering=(0.5, 0.5)): - """ - Returns a sized and padded version of the image, expanded to fill the - requested aspect ratio and size. - - :param image: The image to size and crop. - :param size: The requested output size in pixels, given as a - (width, height) tuple. - :param method: What resampling method to use. Default is - :py:attr:`PIL.Image.BICUBIC`. See :ref:`concept-filters`. - :param color: The background color of the padded image. - :param centering: Control the position of the original image within the - padded version. - - (0.5, 0.5) will keep the image centered - (0, 0) will keep the image aligned to the top left - (1, 1) will keep the image aligned to the bottom - right - :return: An image. - """ - - im_ratio = image.width / image.height - dest_ratio = size[0] / size[1] - - if im_ratio == dest_ratio: - out = image.resize(size, resample=method) - else: - out = Image.new(image.mode, size, color) - if im_ratio > dest_ratio: - new_height = int(image.height / image.width * size[0]) - if new_height != size[1]: - image = image.resize((size[0], new_height), resample=method) - - y = int((size[1] - new_height) * max(0, min(centering[1], 1))) - out.paste(image, (0, y)) - else: - new_width = int(image.width / image.height * size[1]) - if new_width != size[0]: - image = image.resize((new_width, size[1]), resample=method) - - x = int((size[0] - new_width) * max(0, min(centering[0], 1))) - out.paste(image, (x, 0)) - return out - - -def crop(image, border=0): - """ - Remove border from image. The same amount of pixels are removed - from all four sides. This function works on all image modes. - - .. seealso:: :py:meth:`~PIL.Image.Image.crop` - - :param image: The image to crop. - :param border: The number of pixels to remove. - :return: An image. - """ - left, top, right, bottom = _border(border) - return image.crop((left, top, image.size[0] - right, image.size[1] - bottom)) - - -def scale(image, factor, resample=Image.BICUBIC): - """ - Returns a rescaled image by a specific factor given in parameter. - A factor greater than 1 expands the image, between 0 and 1 contracts the - image. - - :param image: The image to rescale. - :param factor: The expansion factor, as a float. - :param resample: What resampling method to use. Default is - :py:attr:`PIL.Image.BICUBIC`. See :ref:`concept-filters`. - :returns: An :py:class:`~PIL.Image.Image` object. - """ - if factor == 1: - return image.copy() - elif factor <= 0: - raise ValueError("the factor must be greater than 0") - else: - size = (round(factor * image.width), round(factor * image.height)) - return image.resize(size, resample) - - -def deform(image, deformer, resample=Image.BILINEAR): - """ - Deform the image. - - :param image: The image to deform. - :param deformer: A deformer object. Any object that implements a - ``getmesh`` method can be used. - :param resample: An optional resampling filter. Same values possible as - in the PIL.Image.transform function. - :return: An image. - """ - return image.transform(image.size, Image.MESH, deformer.getmesh(image), resample) - - -def equalize(image, mask=None): - """ - Equalize the image histogram. This function applies a non-linear - mapping to the input image, in order to create a uniform - distribution of grayscale values in the output image. - - :param image: The image to equalize. - :param mask: An optional mask. If given, only the pixels selected by - the mask are included in the analysis. - :return: An image. - """ - if image.mode == "P": - image = image.convert("RGB") - h = image.histogram(mask) - lut = [] - for b in range(0, len(h), 256): - histo = [_f for _f in h[b : b + 256] if _f] - if len(histo) <= 1: - lut.extend(list(range(256))) - else: - step = (functools.reduce(operator.add, histo) - histo[-1]) // 255 - if not step: - lut.extend(list(range(256))) - else: - n = step // 2 - for i in range(256): - lut.append(n // step) - n = n + h[i + b] - return _lut(image, lut) - - -def expand(image, border=0, fill=0): - """ - Add border to the image - - :param image: The image to expand. - :param border: Border width, in pixels. - :param fill: Pixel fill value (a color value). Default is 0 (black). - :return: An image. - """ - left, top, right, bottom = _border(border) - width = left + image.size[0] + right - height = top + image.size[1] + bottom - out = Image.new(image.mode, (width, height), _color(fill, image.mode)) - out.paste(image, (left, top)) - return out - - -def fit(image, size, method=Image.BICUBIC, bleed=0.0, centering=(0.5, 0.5)): - """ - Returns a sized and cropped version of the image, cropped to the - requested aspect ratio and size. - - This function was contributed by Kevin Cazabon. - - :param image: The image to size and crop. - :param size: The requested output size in pixels, given as a - (width, height) tuple. - :param method: What resampling method to use. Default is - :py:attr:`PIL.Image.BICUBIC`. See :ref:`concept-filters`. - :param bleed: Remove a border around the outside of the image from all - four edges. The value is a decimal percentage (use 0.01 for - one percent). The default value is 0 (no border). - Cannot be greater than or equal to 0.5. - :param centering: Control the cropping position. Use (0.5, 0.5) for - center cropping (e.g. if cropping the width, take 50% off - of the left side, and therefore 50% off the right side). - (0.0, 0.0) will crop from the top left corner (i.e. if - cropping the width, take all of the crop off of the right - side, and if cropping the height, take all of it off the - bottom). (1.0, 0.0) will crop from the bottom left - corner, etc. (i.e. if cropping the width, take all of the - crop off the left side, and if cropping the height take - none from the top, and therefore all off the bottom). - :return: An image. - """ - - # by Kevin Cazabon, Feb 17/2000 - # kevin@cazabon.com - # http://www.cazabon.com - - # ensure centering is mutable - centering = list(centering) - - if not 0.0 <= centering[0] <= 1.0: - centering[0] = 0.5 - if not 0.0 <= centering[1] <= 1.0: - centering[1] = 0.5 - - if not 0.0 <= bleed < 0.5: - bleed = 0.0 - - # calculate the area to use for resizing and cropping, subtracting - # the 'bleed' around the edges - - # number of pixels to trim off on Top and Bottom, Left and Right - bleed_pixels = (bleed * image.size[0], bleed * image.size[1]) - - live_size = ( - image.size[0] - bleed_pixels[0] * 2, - image.size[1] - bleed_pixels[1] * 2, - ) - - # calculate the aspect ratio of the live_size - live_size_ratio = live_size[0] / live_size[1] - - # calculate the aspect ratio of the output image - output_ratio = size[0] / size[1] - - # figure out if the sides or top/bottom will be cropped off - if live_size_ratio == output_ratio: - # live_size is already the needed ratio - crop_width = live_size[0] - crop_height = live_size[1] - elif live_size_ratio >= output_ratio: - # live_size is wider than what's needed, crop the sides - crop_width = output_ratio * live_size[1] - crop_height = live_size[1] - else: - # live_size is taller than what's needed, crop the top and bottom - crop_width = live_size[0] - crop_height = live_size[0] / output_ratio - - # make the crop - crop_left = bleed_pixels[0] + (live_size[0] - crop_width) * centering[0] - crop_top = bleed_pixels[1] + (live_size[1] - crop_height) * centering[1] - - crop = (crop_left, crop_top, crop_left + crop_width, crop_top + crop_height) - - # resize the image and return it - return image.resize(size, method, box=crop) - - -def flip(image): - """ - Flip the image vertically (top to bottom). - - :param image: The image to flip. - :return: An image. - """ - return image.transpose(Image.FLIP_TOP_BOTTOM) - - -def grayscale(image): - """ - Convert the image to grayscale. - - :param image: The image to convert. - :return: An image. - """ - return image.convert("L") - - -def invert(image): - """ - Invert (negate) the image. - - :param image: The image to invert. - :return: An image. - """ - lut = [] - for i in range(256): - lut.append(255 - i) - return _lut(image, lut) - - -def mirror(image): - """ - Flip image horizontally (left to right). - - :param image: The image to mirror. - :return: An image. - """ - return image.transpose(Image.FLIP_LEFT_RIGHT) - - -def posterize(image, bits): - """ - Reduce the number of bits for each color channel. - - :param image: The image to posterize. - :param bits: The number of bits to keep for each channel (1-8). - :return: An image. - """ - lut = [] - mask = ~(2 ** (8 - bits) - 1) - for i in range(256): - lut.append(i & mask) - return _lut(image, lut) - - -def solarize(image, threshold=128): - """ - Invert all pixel values above a threshold. - - :param image: The image to solarize. - :param threshold: All pixels above this greyscale level are inverted. - :return: An image. - """ - lut = [] - for i in range(256): - if i < threshold: - lut.append(i) - else: - lut.append(255 - i) - return _lut(image, lut) - - -def exif_transpose(image): - """ - If an image has an EXIF Orientation tag, return a new image that is - transposed accordingly. Otherwise, return a copy of the image. - - :param image: The image to transpose. - :return: An image. - """ - exif = image.getexif() - orientation = exif.get(0x0112) - method = { - 2: Image.FLIP_LEFT_RIGHT, - 3: Image.ROTATE_180, - 4: Image.FLIP_TOP_BOTTOM, - 5: Image.TRANSPOSE, - 6: Image.ROTATE_270, - 7: Image.TRANSVERSE, - 8: Image.ROTATE_90, - }.get(orientation) - if method is not None: - transposed_image = image.transpose(method) - del exif[0x0112] - transposed_image.info["exif"] = exif.tobytes() - return transposed_image - return image.copy() diff --git a/venv/lib/python3.8/site-packages/PIL/ImagePalette.py b/venv/lib/python3.8/site-packages/PIL/ImagePalette.py deleted file mode 100644 index d0604112..00000000 --- a/venv/lib/python3.8/site-packages/PIL/ImagePalette.py +++ /dev/null @@ -1,221 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# image palette object -# -# History: -# 1996-03-11 fl Rewritten. -# 1997-01-03 fl Up and running. -# 1997-08-23 fl Added load hack -# 2001-04-16 fl Fixed randint shadow bug in random() -# -# Copyright (c) 1997-2001 by Secret Labs AB -# Copyright (c) 1996-1997 by Fredrik Lundh -# -# See the README file for information on usage and redistribution. -# - -import array - -from . import GimpGradientFile, GimpPaletteFile, ImageColor, PaletteFile - - -class ImagePalette: - """ - Color palette for palette mapped images - - :param mode: The mode to use for the Palette. See: - :ref:`concept-modes`. Defaults to "RGB" - :param palette: An optional palette. If given, it must be a bytearray, - an array or a list of ints between 0-255 and of length ``size`` - times the number of colors in ``mode``. The list must be aligned - by channel (All R values must be contiguous in the list before G - and B values.) Defaults to 0 through 255 per channel. - :param size: An optional palette size. If given, it cannot be equal to - or greater than 256. Defaults to 0. - """ - - def __init__(self, mode="RGB", palette=None, size=0): - self.mode = mode - self.rawmode = None # if set, palette contains raw data - self.palette = palette or bytearray(range(256)) * len(self.mode) - self.colors = {} - self.dirty = None - if (size == 0 and len(self.mode) * 256 != len(self.palette)) or ( - size != 0 and size != len(self.palette) - ): - raise ValueError("wrong palette size") - - def copy(self): - new = ImagePalette() - - new.mode = self.mode - new.rawmode = self.rawmode - if self.palette is not None: - new.palette = self.palette[:] - new.colors = self.colors.copy() - new.dirty = self.dirty - - return new - - def getdata(self): - """ - Get palette contents in format suitable for the low-level - ``im.putpalette`` primitive. - - .. warning:: This method is experimental. - """ - if self.rawmode: - return self.rawmode, self.palette - return self.mode + ";L", self.tobytes() - - def tobytes(self): - """Convert palette to bytes. - - .. warning:: This method is experimental. - """ - if self.rawmode: - raise ValueError("palette contains raw palette data") - if isinstance(self.palette, bytes): - return self.palette - arr = array.array("B", self.palette) - if hasattr(arr, "tobytes"): - return arr.tobytes() - return arr.tostring() - - # Declare tostring as an alias for tobytes - tostring = tobytes - - def getcolor(self, color): - """Given an rgb tuple, allocate palette entry. - - .. warning:: This method is experimental. - """ - if self.rawmode: - raise ValueError("palette contains raw palette data") - if isinstance(color, tuple): - try: - return self.colors[color] - except KeyError as e: - # allocate new color slot - if isinstance(self.palette, bytes): - self.palette = bytearray(self.palette) - index = len(self.colors) - if index >= 256: - raise ValueError("cannot allocate more than 256 colors") from e - self.colors[color] = index - self.palette[index] = color[0] - self.palette[index + 256] = color[1] - self.palette[index + 512] = color[2] - self.dirty = 1 - return index - else: - raise ValueError(f"unknown color specifier: {repr(color)}") - - def save(self, fp): - """Save palette to text file. - - .. warning:: This method is experimental. - """ - if self.rawmode: - raise ValueError("palette contains raw palette data") - if isinstance(fp, str): - fp = open(fp, "w") - fp.write("# Palette\n") - fp.write(f"# Mode: {self.mode}\n") - for i in range(256): - fp.write(f"{i}") - for j in range(i * len(self.mode), (i + 1) * len(self.mode)): - try: - fp.write(f" {self.palette[j]}") - except IndexError: - fp.write(" 0") - fp.write("\n") - fp.close() - - -# -------------------------------------------------------------------- -# Internal - - -def raw(rawmode, data): - palette = ImagePalette() - palette.rawmode = rawmode - palette.palette = data - palette.dirty = 1 - return palette - - -# -------------------------------------------------------------------- -# Factories - - -def make_linear_lut(black, white): - lut = [] - if black == 0: - for i in range(256): - lut.append(white * i // 255) - else: - raise NotImplementedError # FIXME - return lut - - -def make_gamma_lut(exp): - lut = [] - for i in range(256): - lut.append(int(((i / 255.0) ** exp) * 255.0 + 0.5)) - return lut - - -def negative(mode="RGB"): - palette = list(range(256)) - palette.reverse() - return ImagePalette(mode, palette * len(mode)) - - -def random(mode="RGB"): - from random import randint - - palette = [] - for i in range(256 * len(mode)): - palette.append(randint(0, 255)) - return ImagePalette(mode, palette) - - -def sepia(white="#fff0c0"): - r, g, b = ImageColor.getrgb(white) - r = make_linear_lut(0, r) - g = make_linear_lut(0, g) - b = make_linear_lut(0, b) - return ImagePalette("RGB", r + g + b) - - -def wedge(mode="RGB"): - return ImagePalette(mode, list(range(256)) * len(mode)) - - -def load(filename): - - # FIXME: supports GIMP gradients only - - with open(filename, "rb") as fp: - - for paletteHandler in [ - GimpPaletteFile.GimpPaletteFile, - GimpGradientFile.GimpGradientFile, - PaletteFile.PaletteFile, - ]: - try: - fp.seek(0) - lut = paletteHandler(fp).getpalette() - if lut: - break - except (SyntaxError, ValueError): - # import traceback - # traceback.print_exc() - pass - else: - raise OSError("cannot load palette") - - return lut # data, rawmode diff --git a/venv/lib/python3.8/site-packages/PIL/ImagePath.py b/venv/lib/python3.8/site-packages/PIL/ImagePath.py deleted file mode 100644 index 3d3538c9..00000000 --- a/venv/lib/python3.8/site-packages/PIL/ImagePath.py +++ /dev/null @@ -1,19 +0,0 @@ -# -# The Python Imaging Library -# $Id$ -# -# path interface -# -# History: -# 1996-11-04 fl Created -# 2002-04-14 fl Added documentation stub class -# -# Copyright (c) Secret Labs AB 1997. -# Copyright (c) Fredrik Lundh 1996. -# -# See the README file for information on usage and redistribution. -# - -from . import Image - -Path = Image.core.path diff --git a/venv/lib/python3.8/site-packages/PIL/ImageQt.py b/venv/lib/python3.8/site-packages/PIL/ImageQt.py deleted file mode 100644 index 64f07be1..00000000 --- a/venv/lib/python3.8/site-packages/PIL/ImageQt.py +++ /dev/null @@ -1,202 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# a simple Qt image interface. -# -# history: -# 2006-06-03 fl: created -# 2006-06-04 fl: inherit from QImage instead of wrapping it -# 2006-06-05 fl: removed toimage helper; move string support to ImageQt -# 2013-11-13 fl: add support for Qt5 (aurelien.ballier@cyclonit.com) -# -# Copyright (c) 2006 by Secret Labs AB -# Copyright (c) 2006 by Fredrik Lundh -# -# See the README file for information on usage and redistribution. -# - -import sys -from io import BytesIO - -from . import Image -from ._util import isPath - -qt_versions = [ - ["side6", "PySide6"], - ["5", "PyQt5"], - ["side2", "PySide2"], -] - -# If a version has already been imported, attempt it first -qt_versions.sort(key=lambda qt_version: qt_version[1] in sys.modules, reverse=True) -for qt_version, qt_module in qt_versions: - try: - if qt_module == "PySide6": - from PySide6.QtCore import QBuffer, QIODevice - from PySide6.QtGui import QImage, QPixmap, qRgba - elif qt_module == "PyQt5": - from PyQt5.QtCore import QBuffer, QIODevice - from PyQt5.QtGui import QImage, QPixmap, qRgba - elif qt_module == "PySide2": - from PySide2.QtCore import QBuffer, QIODevice - from PySide2.QtGui import QImage, QPixmap, qRgba - except (ImportError, RuntimeError): - continue - qt_is_installed = True - break -else: - qt_is_installed = False - qt_version = None - - -def rgb(r, g, b, a=255): - """(Internal) Turns an RGB color into a Qt compatible color integer.""" - # use qRgb to pack the colors, and then turn the resulting long - # into a negative integer with the same bitpattern. - return qRgba(r, g, b, a) & 0xFFFFFFFF - - -def fromqimage(im): - """ - :param im: A PIL Image object, or a file name - (given either as Python string or a PyQt string object) - """ - buffer = QBuffer() - buffer.open(QIODevice.ReadWrite) - # preserve alpha channel with png - # otherwise ppm is more friendly with Image.open - if im.hasAlphaChannel(): - im.save(buffer, "png") - else: - im.save(buffer, "ppm") - - b = BytesIO() - b.write(buffer.data()) - buffer.close() - b.seek(0) - - return Image.open(b) - - -def fromqpixmap(im): - return fromqimage(im) - # buffer = QBuffer() - # buffer.open(QIODevice.ReadWrite) - # # im.save(buffer) - # # What if png doesn't support some image features like animation? - # im.save(buffer, 'ppm') - # bytes_io = BytesIO() - # bytes_io.write(buffer.data()) - # buffer.close() - # bytes_io.seek(0) - # return Image.open(bytes_io) - - -def align8to32(bytes, width, mode): - """ - converts each scanline of data from 8 bit to 32 bit aligned - """ - - bits_per_pixel = {"1": 1, "L": 8, "P": 8}[mode] - - # calculate bytes per line and the extra padding if needed - bits_per_line = bits_per_pixel * width - full_bytes_per_line, remaining_bits_per_line = divmod(bits_per_line, 8) - bytes_per_line = full_bytes_per_line + (1 if remaining_bits_per_line else 0) - - extra_padding = -bytes_per_line % 4 - - # already 32 bit aligned by luck - if not extra_padding: - return bytes - - new_data = [] - for i in range(len(bytes) // bytes_per_line): - new_data.append( - bytes[i * bytes_per_line : (i + 1) * bytes_per_line] - + b"\x00" * extra_padding - ) - - return b"".join(new_data) - - -def _toqclass_helper(im): - data = None - colortable = None - - # handle filename, if given instead of image name - if hasattr(im, "toUtf8"): - # FIXME - is this really the best way to do this? - im = str(im.toUtf8(), "utf-8") - if isPath(im): - im = Image.open(im) - - if im.mode == "1": - format = QImage.Format_Mono - elif im.mode == "L": - format = QImage.Format_Indexed8 - colortable = [] - for i in range(256): - colortable.append(rgb(i, i, i)) - elif im.mode == "P": - format = QImage.Format_Indexed8 - colortable = [] - palette = im.getpalette() - for i in range(0, len(palette), 3): - colortable.append(rgb(*palette[i : i + 3])) - elif im.mode == "RGB": - data = im.tobytes("raw", "BGRX") - format = QImage.Format_RGB32 - elif im.mode == "RGBA": - data = im.tobytes("raw", "BGRA") - format = QImage.Format_ARGB32 - else: - raise ValueError(f"unsupported image mode {repr(im.mode)}") - - __data = data or align8to32(im.tobytes(), im.size[0], im.mode) - return {"data": __data, "im": im, "format": format, "colortable": colortable} - - -if qt_is_installed: - - class ImageQt(QImage): - def __init__(self, im): - """ - An PIL image wrapper for Qt. This is a subclass of PyQt's QImage - class. - - :param im: A PIL Image object, or a file name (given either as - Python string or a PyQt string object). - """ - im_data = _toqclass_helper(im) - # must keep a reference, or Qt will crash! - # All QImage constructors that take data operate on an existing - # buffer, so this buffer has to hang on for the life of the image. - # Fixes https://github.com/python-pillow/Pillow/issues/1370 - self.__data = im_data["data"] - super().__init__( - self.__data, - im_data["im"].size[0], - im_data["im"].size[1], - im_data["format"], - ) - if im_data["colortable"]: - self.setColorTable(im_data["colortable"]) - - -def toqimage(im): - return ImageQt(im) - - -def toqpixmap(im): - # # This doesn't work. For now using a dumb approach. - # im_data = _toqclass_helper(im) - # result = QPixmap(im_data['im'].size[0], im_data['im'].size[1]) - # result.loadFromData(im_data['data']) - # Fix some strange bug that causes - if im.mode == "RGB": - im = im.convert("RGBA") - - qimage = toqimage(im) - return QPixmap.fromImage(qimage) diff --git a/venv/lib/python3.8/site-packages/PIL/ImageSequence.py b/venv/lib/python3.8/site-packages/PIL/ImageSequence.py deleted file mode 100644 index 9df910a4..00000000 --- a/venv/lib/python3.8/site-packages/PIL/ImageSequence.py +++ /dev/null @@ -1,75 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# sequence support classes -# -# history: -# 1997-02-20 fl Created -# -# Copyright (c) 1997 by Secret Labs AB. -# Copyright (c) 1997 by Fredrik Lundh. -# -# See the README file for information on usage and redistribution. -# - -## - - -class Iterator: - """ - This class implements an iterator object that can be used to loop - over an image sequence. - - You can use the ``[]`` operator to access elements by index. This operator - will raise an :py:exc:`IndexError` if you try to access a nonexistent - frame. - - :param im: An image object. - """ - - def __init__(self, im): - if not hasattr(im, "seek"): - raise AttributeError("im must have seek method") - self.im = im - self.position = getattr(self.im, "_min_frame", 0) - - def __getitem__(self, ix): - try: - self.im.seek(ix) - return self.im - except EOFError as e: - raise IndexError from e # end of sequence - - def __iter__(self): - return self - - def __next__(self): - try: - self.im.seek(self.position) - self.position += 1 - return self.im - except EOFError as e: - raise StopIteration from e - - -def all_frames(im, func=None): - """ - Applies a given function to all frames in an image or a list of images. - The frames are returned as a list of separate images. - - :param im: An image, or a list of images. - :param func: The function to apply to all of the image frames. - :returns: A list of images. - """ - if not isinstance(im, list): - im = [im] - - ims = [] - for imSequence in im: - current = imSequence.tell() - - ims += [im_frame.copy() for im_frame in Iterator(imSequence)] - - imSequence.seek(current) - return [func(im) for im in ims] if func else ims diff --git a/venv/lib/python3.8/site-packages/PIL/ImageShow.py b/venv/lib/python3.8/site-packages/PIL/ImageShow.py deleted file mode 100644 index 1ada8252..00000000 --- a/venv/lib/python3.8/site-packages/PIL/ImageShow.py +++ /dev/null @@ -1,236 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# im.show() drivers -# -# History: -# 2008-04-06 fl Created -# -# Copyright (c) Secret Labs AB 2008. -# -# See the README file for information on usage and redistribution. -# -import os -import shutil -import subprocess -import sys -import tempfile -from shlex import quote - -from PIL import Image - -_viewers = [] - - -def register(viewer, order=1): - """ - The :py:func:`register` function is used to register additional viewers. - - :param viewer: The viewer to be registered. - :param order: - Zero or a negative integer to prepend this viewer to the list, - a positive integer to append it. - """ - try: - if issubclass(viewer, Viewer): - viewer = viewer() - except TypeError: - pass # raised if viewer wasn't a class - if order > 0: - _viewers.append(viewer) - else: - _viewers.insert(0, viewer) - - -def show(image, title=None, **options): - r""" - Display a given image. - - :param image: An image object. - :param title: Optional title. Not all viewers can display the title. - :param \**options: Additional viewer options. - :returns: ``True`` if a suitable viewer was found, ``False`` otherwise. - """ - for viewer in _viewers: - if viewer.show(image, title=title, **options): - return 1 - return 0 - - -class Viewer: - """Base class for viewers.""" - - # main api - - def show(self, image, **options): - """ - The main function for displaying an image. - Converts the given image to the target format and displays it. - """ - - # save temporary image to disk - if not ( - image.mode in ("1", "RGBA") - or (self.format == "PNG" and image.mode in ("I;16", "LA")) - ): - base = Image.getmodebase(image.mode) - if image.mode != base: - image = image.convert(base) - - return self.show_image(image, **options) - - # hook methods - - format = None - """The format to convert the image into.""" - options = {} - """Additional options used to convert the image.""" - - def get_format(self, image): - """Return format name, or ``None`` to save as PGM/PPM.""" - return self.format - - def get_command(self, file, **options): - """ - Returns the command used to display the file. - Not implemented in the base class. - """ - raise NotImplementedError - - def save_image(self, image): - """Save to temporary file and return filename.""" - return image._dump(format=self.get_format(image), **self.options) - - def show_image(self, image, **options): - """Display the given image.""" - return self.show_file(self.save_image(image), **options) - - def show_file(self, file, **options): - """Display the given file.""" - os.system(self.get_command(file, **options)) - return 1 - - -# -------------------------------------------------------------------- - - -class WindowsViewer(Viewer): - """The default viewer on Windows is the default system application for PNG files.""" - - format = "PNG" - options = {"compress_level": 1} - - def get_command(self, file, **options): - return ( - f'start "Pillow" /WAIT "{file}" ' - "&& ping -n 2 127.0.0.1 >NUL " - f'&& del /f "{file}"' - ) - - -if sys.platform == "win32": - register(WindowsViewer) - - -class MacViewer(Viewer): - """The default viewer on MacOS using ``Preview.app``.""" - - format = "PNG" - options = {"compress_level": 1} - - def get_command(self, file, **options): - # on darwin open returns immediately resulting in the temp - # file removal while app is opening - command = "open -a Preview.app" - command = f"({command} {quote(file)}; sleep 20; rm -f {quote(file)})&" - return command - - def show_file(self, file, **options): - """Display given file""" - fd, path = tempfile.mkstemp() - with os.fdopen(fd, "w") as f: - f.write(file) - with open(path) as f: - subprocess.Popen( - ["im=$(cat); open -a Preview.app $im; sleep 20; rm -f $im"], - shell=True, - stdin=f, - ) - os.remove(path) - return 1 - - -if sys.platform == "darwin": - register(MacViewer) - - -class UnixViewer(Viewer): - format = "PNG" - options = {"compress_level": 1} - - def get_command(self, file, **options): - command = self.get_command_ex(file, **options)[0] - return f"({command} {quote(file)}; rm -f {quote(file)})&" - - def show_file(self, file, **options): - """Display given file""" - fd, path = tempfile.mkstemp() - with os.fdopen(fd, "w") as f: - f.write(file) - with open(path) as f: - command = self.get_command_ex(file, **options)[0] - subprocess.Popen( - ["im=$(cat);" + command + " $im; rm -f $im"], shell=True, stdin=f - ) - os.remove(path) - return 1 - - -class DisplayViewer(UnixViewer): - """The ImageMagick ``display`` command.""" - - def get_command_ex(self, file, **options): - command = executable = "display" - return command, executable - - -class EogViewer(UnixViewer): - """The GNOME Image Viewer ``eog`` command.""" - - def get_command_ex(self, file, **options): - command = executable = "eog" - return command, executable - - -class XVViewer(UnixViewer): - """ - The X Viewer ``xv`` command. - This viewer supports the ``title`` parameter. - """ - - def get_command_ex(self, file, title=None, **options): - # note: xv is pretty outdated. most modern systems have - # imagemagick's display command instead. - command = executable = "xv" - if title: - command += f" -name {quote(title)}" - return command, executable - - -if sys.platform not in ("win32", "darwin"): # unixoids - if shutil.which("display"): - register(DisplayViewer) - if shutil.which("eog"): - register(EogViewer) - if shutil.which("xv"): - register(XVViewer) - -if __name__ == "__main__": - - if len(sys.argv) < 2: - print("Syntax: python ImageShow.py imagefile [title]") - sys.exit() - - with Image.open(sys.argv[1]) as im: - print(show(im, *sys.argv[2:])) diff --git a/venv/lib/python3.8/site-packages/PIL/ImageStat.py b/venv/lib/python3.8/site-packages/PIL/ImageStat.py deleted file mode 100644 index 50bafc97..00000000 --- a/venv/lib/python3.8/site-packages/PIL/ImageStat.py +++ /dev/null @@ -1,147 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# global image statistics -# -# History: -# 1996-04-05 fl Created -# 1997-05-21 fl Added mask; added rms, var, stddev attributes -# 1997-08-05 fl Added median -# 1998-07-05 hk Fixed integer overflow error -# -# Notes: -# This class shows how to implement delayed evaluation of attributes. -# To get a certain value, simply access the corresponding attribute. -# The __getattr__ dispatcher takes care of the rest. -# -# Copyright (c) Secret Labs AB 1997. -# Copyright (c) Fredrik Lundh 1996-97. -# -# See the README file for information on usage and redistribution. -# - -import functools -import math -import operator - - -class Stat: - def __init__(self, image_or_list, mask=None): - try: - if mask: - self.h = image_or_list.histogram(mask) - else: - self.h = image_or_list.histogram() - except AttributeError: - self.h = image_or_list # assume it to be a histogram list - if not isinstance(self.h, list): - raise TypeError("first argument must be image or list") - self.bands = list(range(len(self.h) // 256)) - - def __getattr__(self, id): - """Calculate missing attribute""" - if id[:4] == "_get": - raise AttributeError(id) - # calculate missing attribute - v = getattr(self, "_get" + id)() - setattr(self, id, v) - return v - - def _getextrema(self): - """Get min/max values for each band in the image""" - - def minmax(histogram): - n = 255 - x = 0 - for i in range(256): - if histogram[i]: - n = min(n, i) - x = max(x, i) - return n, x # returns (255, 0) if there's no data in the histogram - - v = [] - for i in range(0, len(self.h), 256): - v.append(minmax(self.h[i:])) - return v - - def _getcount(self): - """Get total number of pixels in each layer""" - - v = [] - for i in range(0, len(self.h), 256): - v.append(functools.reduce(operator.add, self.h[i : i + 256])) - return v - - def _getsum(self): - """Get sum of all pixels in each layer""" - - v = [] - for i in range(0, len(self.h), 256): - layerSum = 0.0 - for j in range(256): - layerSum += j * self.h[i + j] - v.append(layerSum) - return v - - def _getsum2(self): - """Get squared sum of all pixels in each layer""" - - v = [] - for i in range(0, len(self.h), 256): - sum2 = 0.0 - for j in range(256): - sum2 += (j ** 2) * float(self.h[i + j]) - v.append(sum2) - return v - - def _getmean(self): - """Get average pixel level for each layer""" - - v = [] - for i in self.bands: - v.append(self.sum[i] / self.count[i]) - return v - - def _getmedian(self): - """Get median pixel level for each layer""" - - v = [] - for i in self.bands: - s = 0 - half = self.count[i] // 2 - b = i * 256 - for j in range(256): - s = s + self.h[b + j] - if s > half: - break - v.append(j) - return v - - def _getrms(self): - """Get RMS for each layer""" - - v = [] - for i in self.bands: - v.append(math.sqrt(self.sum2[i] / self.count[i])) - return v - - def _getvar(self): - """Get variance for each layer""" - - v = [] - for i in self.bands: - n = self.count[i] - v.append((self.sum2[i] - (self.sum[i] ** 2.0) / n) / n) - return v - - def _getstddev(self): - """Get standard deviation for each layer""" - - v = [] - for i in self.bands: - v.append(math.sqrt(self.var[i])) - return v - - -Global = Stat # compatibility diff --git a/venv/lib/python3.8/site-packages/PIL/ImageTk.py b/venv/lib/python3.8/site-packages/PIL/ImageTk.py deleted file mode 100644 index 62db7a71..00000000 --- a/venv/lib/python3.8/site-packages/PIL/ImageTk.py +++ /dev/null @@ -1,300 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# a Tk display interface -# -# History: -# 96-04-08 fl Created -# 96-09-06 fl Added getimage method -# 96-11-01 fl Rewritten, removed image attribute and crop method -# 97-05-09 fl Use PyImagingPaste method instead of image type -# 97-05-12 fl Minor tweaks to match the IFUNC95 interface -# 97-05-17 fl Support the "pilbitmap" booster patch -# 97-06-05 fl Added file= and data= argument to image constructors -# 98-03-09 fl Added width and height methods to Image classes -# 98-07-02 fl Use default mode for "P" images without palette attribute -# 98-07-02 fl Explicitly destroy Tkinter image objects -# 99-07-24 fl Support multiple Tk interpreters (from Greg Couch) -# 99-07-26 fl Automatically hook into Tkinter (if possible) -# 99-08-15 fl Hook uses _imagingtk instead of _imaging -# -# Copyright (c) 1997-1999 by Secret Labs AB -# Copyright (c) 1996-1997 by Fredrik Lundh -# -# See the README file for information on usage and redistribution. -# - -import tkinter -from io import BytesIO - -from . import Image - -# -------------------------------------------------------------------- -# Check for Tkinter interface hooks - -_pilbitmap_ok = None - - -def _pilbitmap_check(): - global _pilbitmap_ok - if _pilbitmap_ok is None: - try: - im = Image.new("1", (1, 1)) - tkinter.BitmapImage(data=f"PIL:{im.im.id}") - _pilbitmap_ok = 1 - except tkinter.TclError: - _pilbitmap_ok = 0 - return _pilbitmap_ok - - -def _get_image_from_kw(kw): - source = None - if "file" in kw: - source = kw.pop("file") - elif "data" in kw: - source = BytesIO(kw.pop("data")) - if source: - return Image.open(source) - - -# -------------------------------------------------------------------- -# PhotoImage - - -class PhotoImage: - """ - A Tkinter-compatible photo image. This can be used - everywhere Tkinter expects an image object. If the image is an RGBA - image, pixels having alpha 0 are treated as transparent. - - The constructor takes either a PIL image, or a mode and a size. - Alternatively, you can use the ``file`` or ``data`` options to initialize - the photo image object. - - :param image: Either a PIL image, or a mode string. If a mode string is - used, a size must also be given. - :param size: If the first argument is a mode string, this defines the size - of the image. - :keyword file: A filename to load the image from (using - ``Image.open(file)``). - :keyword data: An 8-bit string containing image data (as loaded from an - image file). - """ - - def __init__(self, image=None, size=None, **kw): - - # Tk compatibility: file or data - if image is None: - image = _get_image_from_kw(kw) - - if hasattr(image, "mode") and hasattr(image, "size"): - # got an image instead of a mode - mode = image.mode - if mode == "P": - # palette mapped data - image.load() - try: - mode = image.palette.mode - except AttributeError: - mode = "RGB" # default - size = image.size - kw["width"], kw["height"] = size - else: - mode = image - image = None - - if mode not in ["1", "L", "RGB", "RGBA"]: - mode = Image.getmodebase(mode) - - self.__mode = mode - self.__size = size - self.__photo = tkinter.PhotoImage(**kw) - self.tk = self.__photo.tk - if image: - self.paste(image) - - def __del__(self): - name = self.__photo.name - self.__photo.name = None - try: - self.__photo.tk.call("image", "delete", name) - except Exception: - pass # ignore internal errors - - def __str__(self): - """ - Get the Tkinter photo image identifier. This method is automatically - called by Tkinter whenever a PhotoImage object is passed to a Tkinter - method. - - :return: A Tkinter photo image identifier (a string). - """ - return str(self.__photo) - - def width(self): - """ - Get the width of the image. - - :return: The width, in pixels. - """ - return self.__size[0] - - def height(self): - """ - Get the height of the image. - - :return: The height, in pixels. - """ - return self.__size[1] - - def paste(self, im, box=None): - """ - Paste a PIL image into the photo image. Note that this can - be very slow if the photo image is displayed. - - :param im: A PIL image. The size must match the target region. If the - mode does not match, the image is converted to the mode of - the bitmap image. - :param box: A 4-tuple defining the left, upper, right, and lower pixel - coordinate. See :ref:`coordinate-system`. If None is given - instead of a tuple, all of the image is assumed. - """ - - # convert to blittable - im.load() - image = im.im - if image.isblock() and im.mode == self.__mode: - block = image - else: - block = image.new_block(self.__mode, im.size) - image.convert2(block, image) # convert directly between buffers - - tk = self.__photo.tk - - try: - tk.call("PyImagingPhoto", self.__photo, block.id) - except tkinter.TclError: - # activate Tkinter hook - try: - from . import _imagingtk - - try: - if hasattr(tk, "interp"): - # Required for PyPy, which always has CFFI installed - from cffi import FFI - - ffi = FFI() - - # PyPy is using an FFI CDATA element - # (Pdb) self.tk.interp - # - _imagingtk.tkinit(int(ffi.cast("uintptr_t", tk.interp)), 1) - else: - _imagingtk.tkinit(tk.interpaddr(), 1) - except AttributeError: - _imagingtk.tkinit(id(tk), 0) - tk.call("PyImagingPhoto", self.__photo, block.id) - except (ImportError, AttributeError, tkinter.TclError): - raise # configuration problem; cannot attach to Tkinter - - -# -------------------------------------------------------------------- -# BitmapImage - - -class BitmapImage: - """ - A Tkinter-compatible bitmap image. This can be used everywhere Tkinter - expects an image object. - - The given image must have mode "1". Pixels having value 0 are treated as - transparent. Options, if any, are passed on to Tkinter. The most commonly - used option is ``foreground``, which is used to specify the color for the - non-transparent parts. See the Tkinter documentation for information on - how to specify colours. - - :param image: A PIL image. - """ - - def __init__(self, image=None, **kw): - - # Tk compatibility: file or data - if image is None: - image = _get_image_from_kw(kw) - - self.__mode = image.mode - self.__size = image.size - - if _pilbitmap_check(): - # fast way (requires the pilbitmap booster patch) - image.load() - kw["data"] = f"PIL:{image.im.id}" - self.__im = image # must keep a reference - else: - # slow but safe way - kw["data"] = image.tobitmap() - self.__photo = tkinter.BitmapImage(**kw) - - def __del__(self): - name = self.__photo.name - self.__photo.name = None - try: - self.__photo.tk.call("image", "delete", name) - except Exception: - pass # ignore internal errors - - def width(self): - """ - Get the width of the image. - - :return: The width, in pixels. - """ - return self.__size[0] - - def height(self): - """ - Get the height of the image. - - :return: The height, in pixels. - """ - return self.__size[1] - - def __str__(self): - """ - Get the Tkinter bitmap image identifier. This method is automatically - called by Tkinter whenever a BitmapImage object is passed to a Tkinter - method. - - :return: A Tkinter bitmap image identifier (a string). - """ - return str(self.__photo) - - -def getimage(photo): - """Copies the contents of a PhotoImage to a PIL image memory.""" - im = Image.new("RGBA", (photo.width(), photo.height())) - block = im.im - - photo.tk.call("PyImagingPhotoGet", photo, block.id) - - return im - - -def _show(image, title): - """Helper for the Image.show method.""" - - class UI(tkinter.Label): - def __init__(self, master, im): - if im.mode == "1": - self.image = BitmapImage(im, foreground="white", master=master) - else: - self.image = PhotoImage(im, master=master) - super().__init__(master, image=self.image, bg="black", bd=0) - - if not tkinter._default_root: - raise OSError("tkinter not initialized") - top = tkinter.Toplevel() - if title: - top.title(title) - UI(top, image).pack() diff --git a/venv/lib/python3.8/site-packages/PIL/ImageTransform.py b/venv/lib/python3.8/site-packages/PIL/ImageTransform.py deleted file mode 100644 index 77791ab7..00000000 --- a/venv/lib/python3.8/site-packages/PIL/ImageTransform.py +++ /dev/null @@ -1,102 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# transform wrappers -# -# History: -# 2002-04-08 fl Created -# -# Copyright (c) 2002 by Secret Labs AB -# Copyright (c) 2002 by Fredrik Lundh -# -# See the README file for information on usage and redistribution. -# - -from . import Image - - -class Transform(Image.ImageTransformHandler): - def __init__(self, data): - self.data = data - - def getdata(self): - return self.method, self.data - - def transform(self, size, image, **options): - # can be overridden - method, data = self.getdata() - return image.transform(size, method, data, **options) - - -class AffineTransform(Transform): - """ - Define an affine image transform. - - This function takes a 6-tuple (a, b, c, d, e, f) which contain the first - two rows from an affine transform matrix. For each pixel (x, y) in the - output image, the new value is taken from a position (a x + b y + c, - d x + e y + f) in the input image, rounded to nearest pixel. - - This function can be used to scale, translate, rotate, and shear the - original image. - - See :py:meth:`~PIL.Image.Image.transform` - - :param matrix: A 6-tuple (a, b, c, d, e, f) containing the first two rows - from an affine transform matrix. - """ - - method = Image.AFFINE - - -class ExtentTransform(Transform): - """ - Define a transform to extract a subregion from an image. - - Maps a rectangle (defined by two corners) from the image to a rectangle of - the given size. The resulting image will contain data sampled from between - the corners, such that (x0, y0) in the input image will end up at (0,0) in - the output image, and (x1, y1) at size. - - This method can be used to crop, stretch, shrink, or mirror an arbitrary - rectangle in the current image. It is slightly slower than crop, but about - as fast as a corresponding resize operation. - - See :py:meth:`~PIL.Image.Image.transform` - - :param bbox: A 4-tuple (x0, y0, x1, y1) which specifies two points in the - input image's coordinate system. See :ref:`coordinate-system`. - """ - - method = Image.EXTENT - - -class QuadTransform(Transform): - """ - Define a quad image transform. - - Maps a quadrilateral (a region defined by four corners) from the image to a - rectangle of the given size. - - See :py:meth:`~PIL.Image.Image.transform` - - :param xy: An 8-tuple (x0, y0, x1, y1, x2, y2, x3, y3) which contain the - upper left, lower left, lower right, and upper right corner of the - source quadrilateral. - """ - - method = Image.QUAD - - -class MeshTransform(Transform): - """ - Define a mesh image transform. A mesh transform consists of one or more - individual quad transforms. - - See :py:meth:`~PIL.Image.Image.transform` - - :param data: A list of (bbox, quad) tuples. - """ - - method = Image.MESH diff --git a/venv/lib/python3.8/site-packages/PIL/ImageWin.py b/venv/lib/python3.8/site-packages/PIL/ImageWin.py deleted file mode 100644 index ca9b14c8..00000000 --- a/venv/lib/python3.8/site-packages/PIL/ImageWin.py +++ /dev/null @@ -1,230 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# a Windows DIB display interface -# -# History: -# 1996-05-20 fl Created -# 1996-09-20 fl Fixed subregion exposure -# 1997-09-21 fl Added draw primitive (for tzPrint) -# 2003-05-21 fl Added experimental Window/ImageWindow classes -# 2003-09-05 fl Added fromstring/tostring methods -# -# Copyright (c) Secret Labs AB 1997-2003. -# Copyright (c) Fredrik Lundh 1996-2003. -# -# See the README file for information on usage and redistribution. -# - -from . import Image - - -class HDC: - """ - Wraps an HDC integer. The resulting object can be passed to the - :py:meth:`~PIL.ImageWin.Dib.draw` and :py:meth:`~PIL.ImageWin.Dib.expose` - methods. - """ - - def __init__(self, dc): - self.dc = dc - - def __int__(self): - return self.dc - - -class HWND: - """ - Wraps an HWND integer. The resulting object can be passed to the - :py:meth:`~PIL.ImageWin.Dib.draw` and :py:meth:`~PIL.ImageWin.Dib.expose` - methods, instead of a DC. - """ - - def __init__(self, wnd): - self.wnd = wnd - - def __int__(self): - return self.wnd - - -class Dib: - """ - A Windows bitmap with the given mode and size. The mode can be one of "1", - "L", "P", or "RGB". - - If the display requires a palette, this constructor creates a suitable - palette and associates it with the image. For an "L" image, 128 greylevels - are allocated. For an "RGB" image, a 6x6x6 colour cube is used, together - with 20 greylevels. - - To make sure that palettes work properly under Windows, you must call the - ``palette`` method upon certain events from Windows. - - :param image: Either a PIL image, or a mode string. If a mode string is - used, a size must also be given. The mode can be one of "1", - "L", "P", or "RGB". - :param size: If the first argument is a mode string, this - defines the size of the image. - """ - - def __init__(self, image, size=None): - if hasattr(image, "mode") and hasattr(image, "size"): - mode = image.mode - size = image.size - else: - mode = image - image = None - if mode not in ["1", "L", "P", "RGB"]: - mode = Image.getmodebase(mode) - self.image = Image.core.display(mode, size) - self.mode = mode - self.size = size - if image: - self.paste(image) - - def expose(self, handle): - """ - Copy the bitmap contents to a device context. - - :param handle: Device context (HDC), cast to a Python integer, or an - HDC or HWND instance. In PythonWin, you can use - ``CDC.GetHandleAttrib()`` to get a suitable handle. - """ - if isinstance(handle, HWND): - dc = self.image.getdc(handle) - try: - result = self.image.expose(dc) - finally: - self.image.releasedc(handle, dc) - else: - result = self.image.expose(handle) - return result - - def draw(self, handle, dst, src=None): - """ - Same as expose, but allows you to specify where to draw the image, and - what part of it to draw. - - The destination and source areas are given as 4-tuple rectangles. If - the source is omitted, the entire image is copied. If the source and - the destination have different sizes, the image is resized as - necessary. - """ - if not src: - src = (0, 0) + self.size - if isinstance(handle, HWND): - dc = self.image.getdc(handle) - try: - result = self.image.draw(dc, dst, src) - finally: - self.image.releasedc(handle, dc) - else: - result = self.image.draw(handle, dst, src) - return result - - def query_palette(self, handle): - """ - Installs the palette associated with the image in the given device - context. - - This method should be called upon **QUERYNEWPALETTE** and - **PALETTECHANGED** events from Windows. If this method returns a - non-zero value, one or more display palette entries were changed, and - the image should be redrawn. - - :param handle: Device context (HDC), cast to a Python integer, or an - HDC or HWND instance. - :return: A true value if one or more entries were changed (this - indicates that the image should be redrawn). - """ - if isinstance(handle, HWND): - handle = self.image.getdc(handle) - try: - result = self.image.query_palette(handle) - finally: - self.image.releasedc(handle, handle) - else: - result = self.image.query_palette(handle) - return result - - def paste(self, im, box=None): - """ - Paste a PIL image into the bitmap image. - - :param im: A PIL image. The size must match the target region. - If the mode does not match, the image is converted to the - mode of the bitmap image. - :param box: A 4-tuple defining the left, upper, right, and - lower pixel coordinate. See :ref:`coordinate-system`. If - None is given instead of a tuple, all of the image is - assumed. - """ - im.load() - if self.mode != im.mode: - im = im.convert(self.mode) - if box: - self.image.paste(im.im, box) - else: - self.image.paste(im.im) - - def frombytes(self, buffer): - """ - Load display memory contents from byte data. - - :param buffer: A buffer containing display data (usually - data returned from :py:func:`~PIL.ImageWin.Dib.tobytes`) - """ - return self.image.frombytes(buffer) - - def tobytes(self): - """ - Copy display memory contents to bytes object. - - :return: A bytes object containing display data. - """ - return self.image.tobytes() - - -class Window: - """Create a Window with the given title size.""" - - def __init__(self, title="PIL", width=None, height=None): - self.hwnd = Image.core.createwindow( - title, self.__dispatcher, width or 0, height or 0 - ) - - def __dispatcher(self, action, *args): - return getattr(self, "ui_handle_" + action)(*args) - - def ui_handle_clear(self, dc, x0, y0, x1, y1): - pass - - def ui_handle_damage(self, x0, y0, x1, y1): - pass - - def ui_handle_destroy(self): - pass - - def ui_handle_repair(self, dc, x0, y0, x1, y1): - pass - - def ui_handle_resize(self, width, height): - pass - - def mainloop(self): - Image.core.eventloop() - - -class ImageWindow(Window): - """Create an image window which displays the given image.""" - - def __init__(self, image, title="PIL"): - if not isinstance(image, Dib): - image = Dib(image) - self.image = image - width, height = image.size - super().__init__(title, width=width, height=height) - - def ui_handle_repair(self, dc, x0, y0, x1, y1): - self.image.draw(dc, (x0, y0, x1, y1)) diff --git a/venv/lib/python3.8/site-packages/PIL/ImtImagePlugin.py b/venv/lib/python3.8/site-packages/PIL/ImtImagePlugin.py deleted file mode 100644 index 21ffd747..00000000 --- a/venv/lib/python3.8/site-packages/PIL/ImtImagePlugin.py +++ /dev/null @@ -1,93 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# IM Tools support for PIL -# -# history: -# 1996-05-27 fl Created (read 8-bit images only) -# 2001-02-17 fl Use 're' instead of 'regex' (Python 2.1) (0.2) -# -# Copyright (c) Secret Labs AB 1997-2001. -# Copyright (c) Fredrik Lundh 1996-2001. -# -# See the README file for information on usage and redistribution. -# - - -import re - -from . import Image, ImageFile - -# -# -------------------------------------------------------------------- - -field = re.compile(br"([a-z]*) ([^ \r\n]*)") - - -## -# Image plugin for IM Tools images. - - -class ImtImageFile(ImageFile.ImageFile): - - format = "IMT" - format_description = "IM Tools" - - def _open(self): - - # Quick rejection: if there's not a LF among the first - # 100 bytes, this is (probably) not a text header. - - if b"\n" not in self.fp.read(100): - raise SyntaxError("not an IM file") - self.fp.seek(0) - - xsize = ysize = 0 - - while True: - - s = self.fp.read(1) - if not s: - break - - if s == b"\x0C": - - # image data begins - self.tile = [ - ("raw", (0, 0) + self.size, self.fp.tell(), (self.mode, 0, 1)) - ] - - break - - else: - - # read key/value pair - # FIXME: dangerous, may read whole file - s = s + self.fp.readline() - if len(s) == 1 or len(s) > 100: - break - if s[0] == ord(b"*"): - continue # comment - - m = field.match(s) - if not m: - break - k, v = m.group(1, 2) - if k == "width": - xsize = int(v) - self._size = xsize, ysize - elif k == "height": - ysize = int(v) - self._size = xsize, ysize - elif k == "pixel" and v == "n8": - self.mode = "L" - - -# -# -------------------------------------------------------------------- - -Image.register_open(ImtImageFile.format, ImtImageFile) - -# -# no extension registered (".im" is simply too common) diff --git a/venv/lib/python3.8/site-packages/PIL/IptcImagePlugin.py b/venv/lib/python3.8/site-packages/PIL/IptcImagePlugin.py deleted file mode 100644 index 0bbe5066..00000000 --- a/venv/lib/python3.8/site-packages/PIL/IptcImagePlugin.py +++ /dev/null @@ -1,230 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# IPTC/NAA file handling -# -# history: -# 1995-10-01 fl Created -# 1998-03-09 fl Cleaned up and added to PIL -# 2002-06-18 fl Added getiptcinfo helper -# -# Copyright (c) Secret Labs AB 1997-2002. -# Copyright (c) Fredrik Lundh 1995. -# -# See the README file for information on usage and redistribution. -# -import os -import tempfile - -from . import Image, ImageFile -from ._binary import i8 -from ._binary import i16be as i16 -from ._binary import i32be as i32 -from ._binary import o8 - -COMPRESSION = {1: "raw", 5: "jpeg"} - -PAD = o8(0) * 4 - - -# -# Helpers - - -def i(c): - return i32((PAD + c)[-4:]) - - -def dump(c): - for i in c: - print("%02x" % i8(i), end=" ") - print() - - -## -# Image plugin for IPTC/NAA datastreams. To read IPTC/NAA fields -# from TIFF and JPEG files, use the getiptcinfo function. - - -class IptcImageFile(ImageFile.ImageFile): - - format = "IPTC" - format_description = "IPTC/NAA" - - def getint(self, key): - return i(self.info[key]) - - def field(self): - # - # get a IPTC field header - s = self.fp.read(5) - if not len(s): - return None, 0 - - tag = s[1], s[2] - - # syntax - if s[0] != 0x1C or tag[0] < 1 or tag[0] > 9: - raise SyntaxError("invalid IPTC/NAA file") - - # field size - size = s[3] - if size > 132: - raise OSError("illegal field length in IPTC/NAA file") - elif size == 128: - size = 0 - elif size > 128: - size = i(self.fp.read(size - 128)) - else: - size = i16(s, 3) - - return tag, size - - def _open(self): - - # load descriptive fields - while True: - offset = self.fp.tell() - tag, size = self.field() - if not tag or tag == (8, 10): - break - if size: - tagdata = self.fp.read(size) - else: - tagdata = None - if tag in self.info: - if isinstance(self.info[tag], list): - self.info[tag].append(tagdata) - else: - self.info[tag] = [self.info[tag], tagdata] - else: - self.info[tag] = tagdata - - # mode - layers = i8(self.info[(3, 60)][0]) - component = i8(self.info[(3, 60)][1]) - if (3, 65) in self.info: - id = i8(self.info[(3, 65)][0]) - 1 - else: - id = 0 - if layers == 1 and not component: - self.mode = "L" - elif layers == 3 and component: - self.mode = "RGB"[id] - elif layers == 4 and component: - self.mode = "CMYK"[id] - - # size - self._size = self.getint((3, 20)), self.getint((3, 30)) - - # compression - try: - compression = COMPRESSION[self.getint((3, 120))] - except KeyError as e: - raise OSError("Unknown IPTC image compression") from e - - # tile - if tag == (8, 10): - self.tile = [ - ("iptc", (compression, offset), (0, 0, self.size[0], self.size[1])) - ] - - def load(self): - - if len(self.tile) != 1 or self.tile[0][0] != "iptc": - return ImageFile.ImageFile.load(self) - - type, tile, box = self.tile[0] - - encoding, offset = tile - - self.fp.seek(offset) - - # Copy image data to temporary file - o_fd, outfile = tempfile.mkstemp(text=False) - o = os.fdopen(o_fd) - if encoding == "raw": - # To simplify access to the extracted file, - # prepend a PPM header - o.write("P5\n%d %d\n255\n" % self.size) - while True: - type, size = self.field() - if type != (8, 10): - break - while size > 0: - s = self.fp.read(min(size, 8192)) - if not s: - break - o.write(s) - size -= len(s) - o.close() - - try: - with Image.open(outfile) as _im: - _im.load() - self.im = _im.im - finally: - try: - os.unlink(outfile) - except OSError: - pass - - -Image.register_open(IptcImageFile.format, IptcImageFile) - -Image.register_extension(IptcImageFile.format, ".iim") - - -def getiptcinfo(im): - """ - Get IPTC information from TIFF, JPEG, or IPTC file. - - :param im: An image containing IPTC data. - :returns: A dictionary containing IPTC information, or None if - no IPTC information block was found. - """ - import io - - from . import JpegImagePlugin, TiffImagePlugin - - data = None - - if isinstance(im, IptcImageFile): - # return info dictionary right away - return im.info - - elif isinstance(im, JpegImagePlugin.JpegImageFile): - # extract the IPTC/NAA resource - photoshop = im.info.get("photoshop") - if photoshop: - data = photoshop.get(0x0404) - - elif isinstance(im, TiffImagePlugin.TiffImageFile): - # get raw data from the IPTC/NAA tag (PhotoShop tags the data - # as 4-byte integers, so we cannot use the get method...) - try: - data = im.tag.tagdata[TiffImagePlugin.IPTC_NAA_CHUNK] - except (AttributeError, KeyError): - pass - - if data is None: - return None # no properties - - # create an IptcImagePlugin object without initializing it - class FakeImage: - pass - - im = FakeImage() - im.__class__ = IptcImageFile - - # parse the IPTC information chunk - im.info = {} - im.fp = io.BytesIO(data) - - try: - im._open() - except (IndexError, KeyError): - pass # expected failure - - return im.info diff --git a/venv/lib/python3.8/site-packages/PIL/Jpeg2KImagePlugin.py b/venv/lib/python3.8/site-packages/PIL/Jpeg2KImagePlugin.py deleted file mode 100644 index 0b0d433d..00000000 --- a/venv/lib/python3.8/site-packages/PIL/Jpeg2KImagePlugin.py +++ /dev/null @@ -1,314 +0,0 @@ -# -# The Python Imaging Library -# $Id$ -# -# JPEG2000 file handling -# -# History: -# 2014-03-12 ajh Created -# -# Copyright (c) 2014 Coriolis Systems Limited -# Copyright (c) 2014 Alastair Houghton -# -# See the README file for information on usage and redistribution. -# -import io -import os -import struct - -from . import Image, ImageFile - - -def _parse_codestream(fp): - """Parse the JPEG 2000 codestream to extract the size and component - count from the SIZ marker segment, returning a PIL (size, mode) tuple.""" - - hdr = fp.read(2) - lsiz = struct.unpack(">H", hdr)[0] - siz = hdr + fp.read(lsiz - 2) - lsiz, rsiz, xsiz, ysiz, xosiz, yosiz, _, _, _, _, csiz = struct.unpack_from( - ">HHIIIIIIIIH", siz - ) - ssiz = [None] * csiz - xrsiz = [None] * csiz - yrsiz = [None] * csiz - for i in range(csiz): - ssiz[i], xrsiz[i], yrsiz[i] = struct.unpack_from(">BBB", siz, 36 + 3 * i) - - size = (xsiz - xosiz, ysiz - yosiz) - if csiz == 1: - if (yrsiz[0] & 0x7F) > 8: - mode = "I;16" - else: - mode = "L" - elif csiz == 2: - mode = "LA" - elif csiz == 3: - mode = "RGB" - elif csiz == 4: - mode = "RGBA" - else: - mode = None - - return (size, mode) - - -def _parse_jp2_header(fp): - """Parse the JP2 header box to extract size, component count and - color space information, returning a (size, mode, mimetype) tuple.""" - - # Find the JP2 header box - header = None - mimetype = None - while True: - lbox, tbox = struct.unpack(">I4s", fp.read(8)) - if lbox == 1: - lbox = struct.unpack(">Q", fp.read(8))[0] - hlen = 16 - else: - hlen = 8 - - if lbox < hlen: - raise SyntaxError("Invalid JP2 header length") - - if tbox == b"jp2h": - header = fp.read(lbox - hlen) - break - elif tbox == b"ftyp": - if fp.read(4) == b"jpx ": - mimetype = "image/jpx" - fp.seek(lbox - hlen - 4, os.SEEK_CUR) - else: - fp.seek(lbox - hlen, os.SEEK_CUR) - - if header is None: - raise SyntaxError("could not find JP2 header") - - size = None - mode = None - bpc = None - nc = None - - hio = io.BytesIO(header) - while True: - lbox, tbox = struct.unpack(">I4s", hio.read(8)) - if lbox == 1: - lbox = struct.unpack(">Q", hio.read(8))[0] - hlen = 16 - else: - hlen = 8 - - content = hio.read(lbox - hlen) - - if tbox == b"ihdr": - height, width, nc, bpc, c, unkc, ipr = struct.unpack(">IIHBBBB", content) - size = (width, height) - if unkc: - if nc == 1 and (bpc & 0x7F) > 8: - mode = "I;16" - elif nc == 1: - mode = "L" - elif nc == 2: - mode = "LA" - elif nc == 3: - mode = "RGB" - elif nc == 4: - mode = "RGBA" - break - elif tbox == b"colr": - meth, prec, approx = struct.unpack_from(">BBB", content) - if meth == 1: - cs = struct.unpack_from(">I", content, 3)[0] - if cs == 16: # sRGB - if nc == 1 and (bpc & 0x7F) > 8: - mode = "I;16" - elif nc == 1: - mode = "L" - elif nc == 3: - mode = "RGB" - elif nc == 4: - mode = "RGBA" - break - elif cs == 17: # grayscale - if nc == 1 and (bpc & 0x7F) > 8: - mode = "I;16" - elif nc == 1: - mode = "L" - elif nc == 2: - mode = "LA" - break - elif cs == 18: # sYCC - if nc == 3: - mode = "RGB" - elif nc == 4: - mode = "RGBA" - break - - if size is None or mode is None: - raise SyntaxError("Malformed jp2 header") - - return (size, mode, mimetype) - - -## -# Image plugin for JPEG2000 images. - - -class Jpeg2KImageFile(ImageFile.ImageFile): - format = "JPEG2000" - format_description = "JPEG 2000 (ISO 15444)" - - def _open(self): - sig = self.fp.read(4) - if sig == b"\xff\x4f\xff\x51": - self.codec = "j2k" - self._size, self.mode = _parse_codestream(self.fp) - else: - sig = sig + self.fp.read(8) - - if sig == b"\x00\x00\x00\x0cjP \x0d\x0a\x87\x0a": - self.codec = "jp2" - header = _parse_jp2_header(self.fp) - self._size, self.mode, self.custom_mimetype = header - else: - raise SyntaxError("not a JPEG 2000 file") - - if self.size is None or self.mode is None: - raise SyntaxError("unable to determine size/mode") - - self._reduce = 0 - self.layers = 0 - - fd = -1 - length = -1 - - try: - fd = self.fp.fileno() - length = os.fstat(fd).st_size - except Exception: - fd = -1 - try: - pos = self.fp.tell() - self.fp.seek(0, io.SEEK_END) - length = self.fp.tell() - self.fp.seek(pos) - except Exception: - length = -1 - - self.tile = [ - ( - "jpeg2k", - (0, 0) + self.size, - 0, - (self.codec, self._reduce, self.layers, fd, length), - ) - ] - - @property - def reduce(self): - # https://github.com/python-pillow/Pillow/issues/4343 found that the - # new Image 'reduce' method was shadowed by this plugin's 'reduce' - # property. This attempts to allow for both scenarios - return self._reduce or super().reduce - - @reduce.setter - def reduce(self, value): - self._reduce = value - - def load(self): - if self.tile and self._reduce: - power = 1 << self._reduce - adjust = power >> 1 - self._size = ( - int((self.size[0] + adjust) / power), - int((self.size[1] + adjust) / power), - ) - - # Update the reduce and layers settings - t = self.tile[0] - t3 = (t[3][0], self._reduce, self.layers, t[3][3], t[3][4]) - self.tile = [(t[0], (0, 0) + self.size, t[2], t3)] - - return ImageFile.ImageFile.load(self) - - -def _accept(prefix): - return ( - prefix[:4] == b"\xff\x4f\xff\x51" - or prefix[:12] == b"\x00\x00\x00\x0cjP \x0d\x0a\x87\x0a" - ) - - -# ------------------------------------------------------------ -# Save support - - -def _save(im, fp, filename): - if filename.endswith(".j2k"): - kind = "j2k" - else: - kind = "jp2" - - # Get the keyword arguments - info = im.encoderinfo - - offset = info.get("offset", None) - tile_offset = info.get("tile_offset", None) - tile_size = info.get("tile_size", None) - quality_mode = info.get("quality_mode", "rates") - quality_layers = info.get("quality_layers", None) - if quality_layers is not None and not ( - isinstance(quality_layers, (list, tuple)) - and all( - [ - isinstance(quality_layer, (int, float)) - for quality_layer in quality_layers - ] - ) - ): - raise ValueError("quality_layers must be a sequence of numbers") - - num_resolutions = info.get("num_resolutions", 0) - cblk_size = info.get("codeblock_size", None) - precinct_size = info.get("precinct_size", None) - irreversible = info.get("irreversible", False) - progression = info.get("progression", "LRCP") - cinema_mode = info.get("cinema_mode", "no") - fd = -1 - - if hasattr(fp, "fileno"): - try: - fd = fp.fileno() - except Exception: - fd = -1 - - im.encoderconfig = ( - offset, - tile_offset, - tile_size, - quality_mode, - quality_layers, - num_resolutions, - cblk_size, - precinct_size, - irreversible, - progression, - cinema_mode, - fd, - ) - - ImageFile._save(im, fp, [("jpeg2k", (0, 0) + im.size, 0, kind)]) - - -# ------------------------------------------------------------ -# Registry stuff - - -Image.register_open(Jpeg2KImageFile.format, Jpeg2KImageFile, _accept) -Image.register_save(Jpeg2KImageFile.format, _save) - -Image.register_extensions( - Jpeg2KImageFile.format, [".jp2", ".j2k", ".jpc", ".jpf", ".jpx", ".j2c"] -) - -Image.register_mime(Jpeg2KImageFile.format, "image/jp2") diff --git a/venv/lib/python3.8/site-packages/PIL/JpegImagePlugin.py b/venv/lib/python3.8/site-packages/PIL/JpegImagePlugin.py deleted file mode 100644 index 054495e6..00000000 --- a/venv/lib/python3.8/site-packages/PIL/JpegImagePlugin.py +++ /dev/null @@ -1,805 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# JPEG (JFIF) file handling -# -# See "Digital Compression and Coding of Continuous-Tone Still Images, -# Part 1, Requirements and Guidelines" (CCITT T.81 / ISO 10918-1) -# -# History: -# 1995-09-09 fl Created -# 1995-09-13 fl Added full parser -# 1996-03-25 fl Added hack to use the IJG command line utilities -# 1996-05-05 fl Workaround Photoshop 2.5 CMYK polarity bug -# 1996-05-28 fl Added draft support, JFIF version (0.1) -# 1996-12-30 fl Added encoder options, added progression property (0.2) -# 1997-08-27 fl Save mode 1 images as BW (0.3) -# 1998-07-12 fl Added YCbCr to draft and save methods (0.4) -# 1998-10-19 fl Don't hang on files using 16-bit DQT's (0.4.1) -# 2001-04-16 fl Extract DPI settings from JFIF files (0.4.2) -# 2002-07-01 fl Skip pad bytes before markers; identify Exif files (0.4.3) -# 2003-04-25 fl Added experimental EXIF decoder (0.5) -# 2003-06-06 fl Added experimental EXIF GPSinfo decoder -# 2003-09-13 fl Extract COM markers -# 2009-09-06 fl Added icc_profile support (from Florian Hoech) -# 2009-03-06 fl Changed CMYK handling; always use Adobe polarity (0.6) -# 2009-03-08 fl Added subsampling support (from Justin Huff). -# -# Copyright (c) 1997-2003 by Secret Labs AB. -# Copyright (c) 1995-1996 by Fredrik Lundh. -# -# See the README file for information on usage and redistribution. -# -import array -import io -import os -import struct -import subprocess -import sys -import tempfile -import warnings - -from . import Image, ImageFile, TiffImagePlugin -from ._binary import i16be as i16 -from ._binary import i32be as i32 -from ._binary import o8 -from .JpegPresets import presets - -# -# Parser - - -def Skip(self, marker): - n = i16(self.fp.read(2)) - 2 - ImageFile._safe_read(self.fp, n) - - -def APP(self, marker): - # - # Application marker. Store these in the APP dictionary. - # Also look for well-known application markers. - - n = i16(self.fp.read(2)) - 2 - s = ImageFile._safe_read(self.fp, n) - - app = "APP%d" % (marker & 15) - - self.app[app] = s # compatibility - self.applist.append((app, s)) - - if marker == 0xFFE0 and s[:4] == b"JFIF": - # extract JFIF information - self.info["jfif"] = version = i16(s, 5) # version - self.info["jfif_version"] = divmod(version, 256) - # extract JFIF properties - try: - jfif_unit = s[7] - jfif_density = i16(s, 8), i16(s, 10) - except Exception: - pass - else: - if jfif_unit == 1: - self.info["dpi"] = jfif_density - self.info["jfif_unit"] = jfif_unit - self.info["jfif_density"] = jfif_density - elif marker == 0xFFE1 and s[:5] == b"Exif\0": - if "exif" not in self.info: - # extract EXIF information (incomplete) - self.info["exif"] = s # FIXME: value will change - elif marker == 0xFFE2 and s[:5] == b"FPXR\0": - # extract FlashPix information (incomplete) - self.info["flashpix"] = s # FIXME: value will change - elif marker == 0xFFE2 and s[:12] == b"ICC_PROFILE\0": - # Since an ICC profile can be larger than the maximum size of - # a JPEG marker (64K), we need provisions to split it into - # multiple markers. The format defined by the ICC specifies - # one or more APP2 markers containing the following data: - # Identifying string ASCII "ICC_PROFILE\0" (12 bytes) - # Marker sequence number 1, 2, etc (1 byte) - # Number of markers Total of APP2's used (1 byte) - # Profile data (remainder of APP2 data) - # Decoders should use the marker sequence numbers to - # reassemble the profile, rather than assuming that the APP2 - # markers appear in the correct sequence. - self.icclist.append(s) - elif marker == 0xFFED and s[:14] == b"Photoshop 3.0\x00": - # parse the image resource block - offset = 14 - photoshop = self.info.setdefault("photoshop", {}) - while s[offset : offset + 4] == b"8BIM": - try: - offset += 4 - # resource code - code = i16(s, offset) - offset += 2 - # resource name (usually empty) - name_len = s[offset] - # name = s[offset+1:offset+1+name_len] - offset += 1 + name_len - offset += offset & 1 # align - # resource data block - size = i32(s, offset) - offset += 4 - data = s[offset : offset + size] - if code == 0x03ED: # ResolutionInfo - data = { - "XResolution": i32(data, 0) / 65536, - "DisplayedUnitsX": i16(data, 4), - "YResolution": i32(data, 8) / 65536, - "DisplayedUnitsY": i16(data, 12), - } - photoshop[code] = data - offset += size - offset += offset & 1 # align - except struct.error: - break # insufficient data - - elif marker == 0xFFEE and s[:5] == b"Adobe": - self.info["adobe"] = i16(s, 5) - # extract Adobe custom properties - try: - adobe_transform = s[1] - except Exception: - pass - else: - self.info["adobe_transform"] = adobe_transform - elif marker == 0xFFE2 and s[:4] == b"MPF\0": - # extract MPO information - self.info["mp"] = s[4:] - # offset is current location minus buffer size - # plus constant header size - self.info["mpoffset"] = self.fp.tell() - n + 4 - - # If DPI isn't in JPEG header, fetch from EXIF - if "dpi" not in self.info and "exif" in self.info: - try: - exif = self.getexif() - resolution_unit = exif[0x0128] - x_resolution = exif[0x011A] - try: - dpi = float(x_resolution[0]) / x_resolution[1] - except TypeError: - dpi = x_resolution - if resolution_unit == 3: # cm - # 1 dpcm = 2.54 dpi - dpi *= 2.54 - self.info["dpi"] = int(dpi + 0.5), int(dpi + 0.5) - except (KeyError, SyntaxError, ValueError, ZeroDivisionError): - # SyntaxError for invalid/unreadable EXIF - # KeyError for dpi not included - # ZeroDivisionError for invalid dpi rational value - # ValueError for x_resolution[0] being an invalid float - self.info["dpi"] = 72, 72 - - -def COM(self, marker): - # - # Comment marker. Store these in the APP dictionary. - n = i16(self.fp.read(2)) - 2 - s = ImageFile._safe_read(self.fp, n) - - self.info["comment"] = s - self.app["COM"] = s # compatibility - self.applist.append(("COM", s)) - - -def SOF(self, marker): - # - # Start of frame marker. Defines the size and mode of the - # image. JPEG is colour blind, so we use some simple - # heuristics to map the number of layers to an appropriate - # mode. Note that this could be made a bit brighter, by - # looking for JFIF and Adobe APP markers. - - n = i16(self.fp.read(2)) - 2 - s = ImageFile._safe_read(self.fp, n) - self._size = i16(s, 3), i16(s, 1) - - self.bits = s[0] - if self.bits != 8: - raise SyntaxError(f"cannot handle {self.bits}-bit layers") - - self.layers = s[5] - if self.layers == 1: - self.mode = "L" - elif self.layers == 3: - self.mode = "RGB" - elif self.layers == 4: - self.mode = "CMYK" - else: - raise SyntaxError(f"cannot handle {self.layers}-layer images") - - if marker in [0xFFC2, 0xFFC6, 0xFFCA, 0xFFCE]: - self.info["progressive"] = self.info["progression"] = 1 - - if self.icclist: - # fixup icc profile - self.icclist.sort() # sort by sequence number - if self.icclist[0][13] == len(self.icclist): - profile = [] - for p in self.icclist: - profile.append(p[14:]) - icc_profile = b"".join(profile) - else: - icc_profile = None # wrong number of fragments - self.info["icc_profile"] = icc_profile - self.icclist = [] - - for i in range(6, len(s), 3): - t = s[i : i + 3] - # 4-tuples: id, vsamp, hsamp, qtable - self.layer.append((t[0], t[1] // 16, t[1] & 15, t[2])) - - -def DQT(self, marker): - # - # Define quantization table. Note that there might be more - # than one table in each marker. - - # FIXME: The quantization tables can be used to estimate the - # compression quality. - - n = i16(self.fp.read(2)) - 2 - s = ImageFile._safe_read(self.fp, n) - while len(s): - v = s[0] - precision = 1 if (v // 16 == 0) else 2 # in bytes - qt_length = 1 + precision * 64 - if len(s) < qt_length: - raise SyntaxError("bad quantization table marker") - data = array.array("B" if precision == 1 else "H", s[1:qt_length]) - if sys.byteorder == "little" and precision > 1: - data.byteswap() # the values are always big-endian - self.quantization[v & 15] = data - s = s[qt_length:] - - -# -# JPEG marker table - -MARKER = { - 0xFFC0: ("SOF0", "Baseline DCT", SOF), - 0xFFC1: ("SOF1", "Extended Sequential DCT", SOF), - 0xFFC2: ("SOF2", "Progressive DCT", SOF), - 0xFFC3: ("SOF3", "Spatial lossless", SOF), - 0xFFC4: ("DHT", "Define Huffman table", Skip), - 0xFFC5: ("SOF5", "Differential sequential DCT", SOF), - 0xFFC6: ("SOF6", "Differential progressive DCT", SOF), - 0xFFC7: ("SOF7", "Differential spatial", SOF), - 0xFFC8: ("JPG", "Extension", None), - 0xFFC9: ("SOF9", "Extended sequential DCT (AC)", SOF), - 0xFFCA: ("SOF10", "Progressive DCT (AC)", SOF), - 0xFFCB: ("SOF11", "Spatial lossless DCT (AC)", SOF), - 0xFFCC: ("DAC", "Define arithmetic coding conditioning", Skip), - 0xFFCD: ("SOF13", "Differential sequential DCT (AC)", SOF), - 0xFFCE: ("SOF14", "Differential progressive DCT (AC)", SOF), - 0xFFCF: ("SOF15", "Differential spatial (AC)", SOF), - 0xFFD0: ("RST0", "Restart 0", None), - 0xFFD1: ("RST1", "Restart 1", None), - 0xFFD2: ("RST2", "Restart 2", None), - 0xFFD3: ("RST3", "Restart 3", None), - 0xFFD4: ("RST4", "Restart 4", None), - 0xFFD5: ("RST5", "Restart 5", None), - 0xFFD6: ("RST6", "Restart 6", None), - 0xFFD7: ("RST7", "Restart 7", None), - 0xFFD8: ("SOI", "Start of image", None), - 0xFFD9: ("EOI", "End of image", None), - 0xFFDA: ("SOS", "Start of scan", Skip), - 0xFFDB: ("DQT", "Define quantization table", DQT), - 0xFFDC: ("DNL", "Define number of lines", Skip), - 0xFFDD: ("DRI", "Define restart interval", Skip), - 0xFFDE: ("DHP", "Define hierarchical progression", SOF), - 0xFFDF: ("EXP", "Expand reference component", Skip), - 0xFFE0: ("APP0", "Application segment 0", APP), - 0xFFE1: ("APP1", "Application segment 1", APP), - 0xFFE2: ("APP2", "Application segment 2", APP), - 0xFFE3: ("APP3", "Application segment 3", APP), - 0xFFE4: ("APP4", "Application segment 4", APP), - 0xFFE5: ("APP5", "Application segment 5", APP), - 0xFFE6: ("APP6", "Application segment 6", APP), - 0xFFE7: ("APP7", "Application segment 7", APP), - 0xFFE8: ("APP8", "Application segment 8", APP), - 0xFFE9: ("APP9", "Application segment 9", APP), - 0xFFEA: ("APP10", "Application segment 10", APP), - 0xFFEB: ("APP11", "Application segment 11", APP), - 0xFFEC: ("APP12", "Application segment 12", APP), - 0xFFED: ("APP13", "Application segment 13", APP), - 0xFFEE: ("APP14", "Application segment 14", APP), - 0xFFEF: ("APP15", "Application segment 15", APP), - 0xFFF0: ("JPG0", "Extension 0", None), - 0xFFF1: ("JPG1", "Extension 1", None), - 0xFFF2: ("JPG2", "Extension 2", None), - 0xFFF3: ("JPG3", "Extension 3", None), - 0xFFF4: ("JPG4", "Extension 4", None), - 0xFFF5: ("JPG5", "Extension 5", None), - 0xFFF6: ("JPG6", "Extension 6", None), - 0xFFF7: ("JPG7", "Extension 7", None), - 0xFFF8: ("JPG8", "Extension 8", None), - 0xFFF9: ("JPG9", "Extension 9", None), - 0xFFFA: ("JPG10", "Extension 10", None), - 0xFFFB: ("JPG11", "Extension 11", None), - 0xFFFC: ("JPG12", "Extension 12", None), - 0xFFFD: ("JPG13", "Extension 13", None), - 0xFFFE: ("COM", "Comment", COM), -} - - -def _accept(prefix): - # Magic number was taken from https://en.wikipedia.org/wiki/JPEG - return prefix[0:3] == b"\xFF\xD8\xFF" - - -## -# Image plugin for JPEG and JFIF images. - - -class JpegImageFile(ImageFile.ImageFile): - - format = "JPEG" - format_description = "JPEG (ISO 10918)" - - def _open(self): - - s = self.fp.read(3) - - if not _accept(s): - raise SyntaxError("not a JPEG file") - s = b"\xFF" - - # Create attributes - self.bits = self.layers = 0 - - # JPEG specifics (internal) - self.layer = [] - self.huffman_dc = {} - self.huffman_ac = {} - self.quantization = {} - self.app = {} # compatibility - self.applist = [] - self.icclist = [] - - while True: - - i = s[0] - if i == 0xFF: - s = s + self.fp.read(1) - i = i16(s) - else: - # Skip non-0xFF junk - s = self.fp.read(1) - continue - - if i in MARKER: - name, description, handler = MARKER[i] - if handler is not None: - handler(self, i) - if i == 0xFFDA: # start of scan - rawmode = self.mode - if self.mode == "CMYK": - rawmode = "CMYK;I" # assume adobe conventions - self.tile = [("jpeg", (0, 0) + self.size, 0, (rawmode, ""))] - # self.__offset = self.fp.tell() - break - s = self.fp.read(1) - elif i == 0 or i == 0xFFFF: - # padded marker or junk; move on - s = b"\xff" - elif i == 0xFF00: # Skip extraneous data (escaped 0xFF) - s = self.fp.read(1) - else: - raise SyntaxError("no marker found") - - def load_read(self, read_bytes): - """ - internal: read more image data - For premature EOF and LOAD_TRUNCATED_IMAGES adds EOI marker - so libjpeg can finish decoding - """ - s = self.fp.read(read_bytes) - - if not s and ImageFile.LOAD_TRUNCATED_IMAGES: - # Premature EOF. - # Pretend file is finished adding EOI marker - return b"\xFF\xD9" - - return s - - def draft(self, mode, size): - - if len(self.tile) != 1: - return - - # Protect from second call - if self.decoderconfig: - return - - d, e, o, a = self.tile[0] - scale = 1 - original_size = self.size - - if a[0] == "RGB" and mode in ["L", "YCbCr"]: - self.mode = mode - a = mode, "" - - if size: - scale = min(self.size[0] // size[0], self.size[1] // size[1]) - for s in [8, 4, 2, 1]: - if scale >= s: - break - e = ( - e[0], - e[1], - (e[2] - e[0] + s - 1) // s + e[0], - (e[3] - e[1] + s - 1) // s + e[1], - ) - self._size = ((self.size[0] + s - 1) // s, (self.size[1] + s - 1) // s) - scale = s - - self.tile = [(d, e, o, a)] - self.decoderconfig = (scale, 0) - - box = (0, 0, original_size[0] / scale, original_size[1] / scale) - return (self.mode, box) - - def load_djpeg(self): - - # ALTERNATIVE: handle JPEGs via the IJG command line utilities - - f, path = tempfile.mkstemp() - os.close(f) - if os.path.exists(self.filename): - subprocess.check_call(["djpeg", "-outfile", path, self.filename]) - else: - raise ValueError("Invalid Filename") - - try: - with Image.open(path) as _im: - _im.load() - self.im = _im.im - finally: - try: - os.unlink(path) - except OSError: - pass - - self.mode = self.im.mode - self._size = self.im.size - - self.tile = [] - - def _getexif(self): - return _getexif(self) - - def _getmp(self): - return _getmp(self) - - -def _getexif(self): - if "exif" not in self.info: - return None - return dict(self.getexif()) - - -def _getmp(self): - # Extract MP information. This method was inspired by the "highly - # experimental" _getexif version that's been in use for years now, - # itself based on the ImageFileDirectory class in the TIFF plugin. - - # The MP record essentially consists of a TIFF file embedded in a JPEG - # application marker. - try: - data = self.info["mp"] - except KeyError: - return None - file_contents = io.BytesIO(data) - head = file_contents.read(8) - endianness = ">" if head[:4] == b"\x4d\x4d\x00\x2a" else "<" - # process dictionary - try: - info = TiffImagePlugin.ImageFileDirectory_v2(head) - file_contents.seek(info.next) - info.load(file_contents) - mp = dict(info) - except Exception as e: - raise SyntaxError("malformed MP Index (unreadable directory)") from e - # it's an error not to have a number of images - try: - quant = mp[0xB001] - except KeyError as e: - raise SyntaxError("malformed MP Index (no number of images)") from e - # get MP entries - mpentries = [] - try: - rawmpentries = mp[0xB002] - for entrynum in range(0, quant): - unpackedentry = struct.unpack_from( - f"{endianness}LLLHH", rawmpentries, entrynum * 16 - ) - labels = ("Attribute", "Size", "DataOffset", "EntryNo1", "EntryNo2") - mpentry = dict(zip(labels, unpackedentry)) - mpentryattr = { - "DependentParentImageFlag": bool(mpentry["Attribute"] & (1 << 31)), - "DependentChildImageFlag": bool(mpentry["Attribute"] & (1 << 30)), - "RepresentativeImageFlag": bool(mpentry["Attribute"] & (1 << 29)), - "Reserved": (mpentry["Attribute"] & (3 << 27)) >> 27, - "ImageDataFormat": (mpentry["Attribute"] & (7 << 24)) >> 24, - "MPType": mpentry["Attribute"] & 0x00FFFFFF, - } - if mpentryattr["ImageDataFormat"] == 0: - mpentryattr["ImageDataFormat"] = "JPEG" - else: - raise SyntaxError("unsupported picture format in MPO") - mptypemap = { - 0x000000: "Undefined", - 0x010001: "Large Thumbnail (VGA Equivalent)", - 0x010002: "Large Thumbnail (Full HD Equivalent)", - 0x020001: "Multi-Frame Image (Panorama)", - 0x020002: "Multi-Frame Image: (Disparity)", - 0x020003: "Multi-Frame Image: (Multi-Angle)", - 0x030000: "Baseline MP Primary Image", - } - mpentryattr["MPType"] = mptypemap.get(mpentryattr["MPType"], "Unknown") - mpentry["Attribute"] = mpentryattr - mpentries.append(mpentry) - mp[0xB002] = mpentries - except KeyError as e: - raise SyntaxError("malformed MP Index (bad MP Entry)") from e - # Next we should try and parse the individual image unique ID list; - # we don't because I've never seen this actually used in a real MPO - # file and so can't test it. - return mp - - -# -------------------------------------------------------------------- -# stuff to save JPEG files - -RAWMODE = { - "1": "L", - "L": "L", - "RGB": "RGB", - "RGBX": "RGB", - "CMYK": "CMYK;I", # assume adobe conventions - "YCbCr": "YCbCr", -} - -# fmt: off -zigzag_index = ( - 0, 1, 5, 6, 14, 15, 27, 28, - 2, 4, 7, 13, 16, 26, 29, 42, - 3, 8, 12, 17, 25, 30, 41, 43, - 9, 11, 18, 24, 31, 40, 44, 53, - 10, 19, 23, 32, 39, 45, 52, 54, - 20, 22, 33, 38, 46, 51, 55, 60, - 21, 34, 37, 47, 50, 56, 59, 61, - 35, 36, 48, 49, 57, 58, 62, 63, -) - -samplings = { - (1, 1, 1, 1, 1, 1): 0, - (2, 1, 1, 1, 1, 1): 1, - (2, 2, 1, 1, 1, 1): 2, -} -# fmt: on - - -def convert_dict_qtables(qtables): - qtables = [qtables[key] for key in range(len(qtables)) if key in qtables] - for idx, table in enumerate(qtables): - qtables[idx] = [table[i] for i in zigzag_index] - return qtables - - -def get_sampling(im): - # There's no subsampling when images have only 1 layer - # (grayscale images) or when they are CMYK (4 layers), - # so set subsampling to the default value. - # - # NOTE: currently Pillow can't encode JPEG to YCCK format. - # If YCCK support is added in the future, subsampling code will have - # to be updated (here and in JpegEncode.c) to deal with 4 layers. - if not hasattr(im, "layers") or im.layers in (1, 4): - return -1 - sampling = im.layer[0][1:3] + im.layer[1][1:3] + im.layer[2][1:3] - return samplings.get(sampling, -1) - - -def _save(im, fp, filename): - - try: - rawmode = RAWMODE[im.mode] - except KeyError as e: - raise OSError(f"cannot write mode {im.mode} as JPEG") from e - - info = im.encoderinfo - - dpi = [round(x) for x in info.get("dpi", (0, 0))] - - quality = info.get("quality", -1) - subsampling = info.get("subsampling", -1) - qtables = info.get("qtables") - - if quality == "keep": - quality = -1 - subsampling = "keep" - qtables = "keep" - elif quality in presets: - preset = presets[quality] - quality = -1 - subsampling = preset.get("subsampling", -1) - qtables = preset.get("quantization") - elif not isinstance(quality, int): - raise ValueError("Invalid quality setting") - else: - if subsampling in presets: - subsampling = presets[subsampling].get("subsampling", -1) - if isinstance(qtables, str) and qtables in presets: - qtables = presets[qtables].get("quantization") - - if subsampling == "4:4:4": - subsampling = 0 - elif subsampling == "4:2:2": - subsampling = 1 - elif subsampling == "4:2:0": - subsampling = 2 - elif subsampling == "4:1:1": - # For compatibility. Before Pillow 4.3, 4:1:1 actually meant 4:2:0. - # Set 4:2:0 if someone is still using that value. - subsampling = 2 - elif subsampling == "keep": - if im.format != "JPEG": - raise ValueError("Cannot use 'keep' when original image is not a JPEG") - subsampling = get_sampling(im) - - def validate_qtables(qtables): - if qtables is None: - return qtables - if isinstance(qtables, str): - try: - lines = [ - int(num) - for line in qtables.splitlines() - for num in line.split("#", 1)[0].split() - ] - except ValueError as e: - raise ValueError("Invalid quantization table") from e - else: - qtables = [lines[s : s + 64] for s in range(0, len(lines), 64)] - if isinstance(qtables, (tuple, list, dict)): - if isinstance(qtables, dict): - qtables = convert_dict_qtables(qtables) - elif isinstance(qtables, tuple): - qtables = list(qtables) - if not (0 < len(qtables) < 5): - raise ValueError("None or too many quantization tables") - for idx, table in enumerate(qtables): - try: - if len(table) != 64: - raise TypeError - table = array.array("H", table) - except TypeError as e: - raise ValueError("Invalid quantization table") from e - else: - qtables[idx] = list(table) - return qtables - - if qtables == "keep": - if im.format != "JPEG": - raise ValueError("Cannot use 'keep' when original image is not a JPEG") - qtables = getattr(im, "quantization", None) - qtables = validate_qtables(qtables) - - extra = b"" - - icc_profile = info.get("icc_profile") - if icc_profile: - ICC_OVERHEAD_LEN = 14 - MAX_BYTES_IN_MARKER = 65533 - MAX_DATA_BYTES_IN_MARKER = MAX_BYTES_IN_MARKER - ICC_OVERHEAD_LEN - markers = [] - while icc_profile: - markers.append(icc_profile[:MAX_DATA_BYTES_IN_MARKER]) - icc_profile = icc_profile[MAX_DATA_BYTES_IN_MARKER:] - i = 1 - for marker in markers: - size = struct.pack(">H", 2 + ICC_OVERHEAD_LEN + len(marker)) - extra += ( - b"\xFF\xE2" - + size - + b"ICC_PROFILE\0" - + o8(i) - + o8(len(markers)) - + marker - ) - i += 1 - - # "progressive" is the official name, but older documentation - # says "progression" - # FIXME: issue a warning if the wrong form is used (post-1.1.7) - progressive = info.get("progressive", False) or info.get("progression", False) - - optimize = info.get("optimize", False) - - exif = info.get("exif", b"") - if isinstance(exif, Image.Exif): - exif = exif.tobytes() - - # get keyword arguments - im.encoderconfig = ( - quality, - progressive, - info.get("smooth", 0), - optimize, - info.get("streamtype", 0), - dpi[0], - dpi[1], - subsampling, - qtables, - extra, - exif, - ) - - # if we optimize, libjpeg needs a buffer big enough to hold the whole image - # in a shot. Guessing on the size, at im.size bytes. (raw pixel size is - # channels*size, this is a value that's been used in a django patch. - # https://github.com/matthewwithanm/django-imagekit/issues/50 - bufsize = 0 - if optimize or progressive: - # CMYK can be bigger - if im.mode == "CMYK": - bufsize = 4 * im.size[0] * im.size[1] - # keep sets quality to -1, but the actual value may be high. - elif quality >= 95 or quality == -1: - bufsize = 2 * im.size[0] * im.size[1] - else: - bufsize = im.size[0] * im.size[1] - - # The EXIF info needs to be written as one block, + APP1, + one spare byte. - # Ensure that our buffer is big enough. Same with the icc_profile block. - bufsize = max(ImageFile.MAXBLOCK, bufsize, len(exif) + 5, len(extra) + 1) - - ImageFile._save(im, fp, [("jpeg", (0, 0) + im.size, 0, rawmode)], bufsize) - - -def _save_cjpeg(im, fp, filename): - # ALTERNATIVE: handle JPEGs via the IJG command line utilities. - tempfile = im._dump() - subprocess.check_call(["cjpeg", "-outfile", filename, tempfile]) - try: - os.unlink(tempfile) - except OSError: - pass - - -## -# Factory for making JPEG and MPO instances -def jpeg_factory(fp=None, filename=None): - im = JpegImageFile(fp, filename) - try: - mpheader = im._getmp() - if mpheader[45057] > 1: - # It's actually an MPO - from .MpoImagePlugin import MpoImageFile - - # Don't reload everything, just convert it. - im = MpoImageFile.adopt(im, mpheader) - except (TypeError, IndexError): - # It is really a JPEG - pass - except SyntaxError: - warnings.warn( - "Image appears to be a malformed MPO file, it will be " - "interpreted as a base JPEG file" - ) - return im - - -# --------------------------------------------------------------------- -# Registry stuff - -Image.register_open(JpegImageFile.format, jpeg_factory, _accept) -Image.register_save(JpegImageFile.format, _save) - -Image.register_extensions(JpegImageFile.format, [".jfif", ".jpe", ".jpg", ".jpeg"]) - -Image.register_mime(JpegImageFile.format, "image/jpeg") diff --git a/venv/lib/python3.8/site-packages/PIL/JpegPresets.py b/venv/lib/python3.8/site-packages/PIL/JpegPresets.py deleted file mode 100644 index 79d10ebb..00000000 --- a/venv/lib/python3.8/site-packages/PIL/JpegPresets.py +++ /dev/null @@ -1,248 +0,0 @@ -""" -JPEG quality settings equivalent to the Photoshop settings. -Can be used when saving JPEG files. - -The following presets are available by default: -``web_low``, ``web_medium``, ``web_high``, ``web_very_high``, ``web_maximum``, -``low``, ``medium``, ``high``, ``maximum``. -More presets can be added to the :py:data:`presets` dict if needed. - -To apply the preset, specify:: - - quality="preset_name" - -To apply only the quantization table:: - - qtables="preset_name" - -To apply only the subsampling setting:: - - subsampling="preset_name" - -Example:: - - im.save("image_name.jpg", quality="web_high") - -Subsampling ------------ - -Subsampling is the practice of encoding images by implementing less resolution -for chroma information than for luma information. -(ref.: https://en.wikipedia.org/wiki/Chroma_subsampling) - -Possible subsampling values are 0, 1 and 2 that correspond to 4:4:4, 4:2:2 and -4:2:0. - -You can get the subsampling of a JPEG with the -:func:`.JpegImagePlugin.get_sampling` function. - -In JPEG compressed data a JPEG marker is used instead of an EXIF tag. -(ref.: https://www.exiv2.org/tags.html) - - -Quantization tables -------------------- - -They are values use by the DCT (Discrete cosine transform) to remove -*unnecessary* information from the image (the lossy part of the compression). -(ref.: https://en.wikipedia.org/wiki/Quantization_matrix#Quantization_matrices, -https://en.wikipedia.org/wiki/JPEG#Quantization) - -You can get the quantization tables of a JPEG with:: - - im.quantization - -This will return a dict with a number of arrays. You can pass this dict -directly as the qtables argument when saving a JPEG. - -The tables format between im.quantization and quantization in presets differ in -3 ways: - -1. The base container of the preset is a list with sublists instead of dict. - dict[0] -> list[0], dict[1] -> list[1], ... -2. Each table in a preset is a list instead of an array. -3. The zigzag order is remove in the preset (needed by libjpeg >= 6a). - -You can convert the dict format to the preset format with the -:func:`.JpegImagePlugin.convert_dict_qtables()` function. - -Libjpeg ref.: -https://web.archive.org/web/20120328125543/http://www.jpegcameras.com/libjpeg/libjpeg-3.html - -""" - -# fmt: off -presets = { - 'web_low': {'subsampling': 2, # "4:2:0" - 'quantization': [ - [20, 16, 25, 39, 50, 46, 62, 68, - 16, 18, 23, 38, 38, 53, 65, 68, - 25, 23, 31, 38, 53, 65, 68, 68, - 39, 38, 38, 53, 65, 68, 68, 68, - 50, 38, 53, 65, 68, 68, 68, 68, - 46, 53, 65, 68, 68, 68, 68, 68, - 62, 65, 68, 68, 68, 68, 68, 68, - 68, 68, 68, 68, 68, 68, 68, 68], - [21, 25, 32, 38, 54, 68, 68, 68, - 25, 28, 24, 38, 54, 68, 68, 68, - 32, 24, 32, 43, 66, 68, 68, 68, - 38, 38, 43, 53, 68, 68, 68, 68, - 54, 54, 66, 68, 68, 68, 68, 68, - 68, 68, 68, 68, 68, 68, 68, 68, - 68, 68, 68, 68, 68, 68, 68, 68, - 68, 68, 68, 68, 68, 68, 68, 68] - ]}, - 'web_medium': {'subsampling': 2, # "4:2:0" - 'quantization': [ - [16, 11, 11, 16, 23, 27, 31, 30, - 11, 12, 12, 15, 20, 23, 23, 30, - 11, 12, 13, 16, 23, 26, 35, 47, - 16, 15, 16, 23, 26, 37, 47, 64, - 23, 20, 23, 26, 39, 51, 64, 64, - 27, 23, 26, 37, 51, 64, 64, 64, - 31, 23, 35, 47, 64, 64, 64, 64, - 30, 30, 47, 64, 64, 64, 64, 64], - [17, 15, 17, 21, 20, 26, 38, 48, - 15, 19, 18, 17, 20, 26, 35, 43, - 17, 18, 20, 22, 26, 30, 46, 53, - 21, 17, 22, 28, 30, 39, 53, 64, - 20, 20, 26, 30, 39, 48, 64, 64, - 26, 26, 30, 39, 48, 63, 64, 64, - 38, 35, 46, 53, 64, 64, 64, 64, - 48, 43, 53, 64, 64, 64, 64, 64] - ]}, - 'web_high': {'subsampling': 0, # "4:4:4" - 'quantization': [ - [6, 4, 4, 6, 9, 11, 12, 16, - 4, 5, 5, 6, 8, 10, 12, 12, - 4, 5, 5, 6, 10, 12, 14, 19, - 6, 6, 6, 11, 12, 15, 19, 28, - 9, 8, 10, 12, 16, 20, 27, 31, - 11, 10, 12, 15, 20, 27, 31, 31, - 12, 12, 14, 19, 27, 31, 31, 31, - 16, 12, 19, 28, 31, 31, 31, 31], - [7, 7, 13, 24, 26, 31, 31, 31, - 7, 12, 16, 21, 31, 31, 31, 31, - 13, 16, 17, 31, 31, 31, 31, 31, - 24, 21, 31, 31, 31, 31, 31, 31, - 26, 31, 31, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 31, 31, 31, 31] - ]}, - 'web_very_high': {'subsampling': 0, # "4:4:4" - 'quantization': [ - [2, 2, 2, 2, 3, 4, 5, 6, - 2, 2, 2, 2, 3, 4, 5, 6, - 2, 2, 2, 2, 4, 5, 7, 9, - 2, 2, 2, 4, 5, 7, 9, 12, - 3, 3, 4, 5, 8, 10, 12, 12, - 4, 4, 5, 7, 10, 12, 12, 12, - 5, 5, 7, 9, 12, 12, 12, 12, - 6, 6, 9, 12, 12, 12, 12, 12], - [3, 3, 5, 9, 13, 15, 15, 15, - 3, 4, 6, 11, 14, 12, 12, 12, - 5, 6, 9, 14, 12, 12, 12, 12, - 9, 11, 14, 12, 12, 12, 12, 12, - 13, 14, 12, 12, 12, 12, 12, 12, - 15, 12, 12, 12, 12, 12, 12, 12, - 15, 12, 12, 12, 12, 12, 12, 12, - 15, 12, 12, 12, 12, 12, 12, 12] - ]}, - 'web_maximum': {'subsampling': 0, # "4:4:4" - 'quantization': [ - [1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 2, - 1, 1, 1, 1, 1, 1, 2, 2, - 1, 1, 1, 1, 1, 2, 2, 3, - 1, 1, 1, 1, 2, 2, 3, 3, - 1, 1, 1, 2, 2, 3, 3, 3, - 1, 1, 2, 2, 3, 3, 3, 3], - [1, 1, 1, 2, 2, 3, 3, 3, - 1, 1, 1, 2, 3, 3, 3, 3, - 1, 1, 1, 3, 3, 3, 3, 3, - 2, 2, 3, 3, 3, 3, 3, 3, - 2, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3] - ]}, - 'low': {'subsampling': 2, # "4:2:0" - 'quantization': [ - [18, 14, 14, 21, 30, 35, 34, 17, - 14, 16, 16, 19, 26, 23, 12, 12, - 14, 16, 17, 21, 23, 12, 12, 12, - 21, 19, 21, 23, 12, 12, 12, 12, - 30, 26, 23, 12, 12, 12, 12, 12, - 35, 23, 12, 12, 12, 12, 12, 12, - 34, 12, 12, 12, 12, 12, 12, 12, - 17, 12, 12, 12, 12, 12, 12, 12], - [20, 19, 22, 27, 20, 20, 17, 17, - 19, 25, 23, 14, 14, 12, 12, 12, - 22, 23, 14, 14, 12, 12, 12, 12, - 27, 14, 14, 12, 12, 12, 12, 12, - 20, 14, 12, 12, 12, 12, 12, 12, - 20, 12, 12, 12, 12, 12, 12, 12, - 17, 12, 12, 12, 12, 12, 12, 12, - 17, 12, 12, 12, 12, 12, 12, 12] - ]}, - 'medium': {'subsampling': 2, # "4:2:0" - 'quantization': [ - [12, 8, 8, 12, 17, 21, 24, 17, - 8, 9, 9, 11, 15, 19, 12, 12, - 8, 9, 10, 12, 19, 12, 12, 12, - 12, 11, 12, 21, 12, 12, 12, 12, - 17, 15, 19, 12, 12, 12, 12, 12, - 21, 19, 12, 12, 12, 12, 12, 12, - 24, 12, 12, 12, 12, 12, 12, 12, - 17, 12, 12, 12, 12, 12, 12, 12], - [13, 11, 13, 16, 20, 20, 17, 17, - 11, 14, 14, 14, 14, 12, 12, 12, - 13, 14, 14, 14, 12, 12, 12, 12, - 16, 14, 14, 12, 12, 12, 12, 12, - 20, 14, 12, 12, 12, 12, 12, 12, - 20, 12, 12, 12, 12, 12, 12, 12, - 17, 12, 12, 12, 12, 12, 12, 12, - 17, 12, 12, 12, 12, 12, 12, 12] - ]}, - 'high': {'subsampling': 0, # "4:4:4" - 'quantization': [ - [6, 4, 4, 6, 9, 11, 12, 16, - 4, 5, 5, 6, 8, 10, 12, 12, - 4, 5, 5, 6, 10, 12, 12, 12, - 6, 6, 6, 11, 12, 12, 12, 12, - 9, 8, 10, 12, 12, 12, 12, 12, - 11, 10, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 12, - 16, 12, 12, 12, 12, 12, 12, 12], - [7, 7, 13, 24, 20, 20, 17, 17, - 7, 12, 16, 14, 14, 12, 12, 12, - 13, 16, 14, 14, 12, 12, 12, 12, - 24, 14, 14, 12, 12, 12, 12, 12, - 20, 14, 12, 12, 12, 12, 12, 12, - 20, 12, 12, 12, 12, 12, 12, 12, - 17, 12, 12, 12, 12, 12, 12, 12, - 17, 12, 12, 12, 12, 12, 12, 12] - ]}, - 'maximum': {'subsampling': 0, # "4:4:4" - 'quantization': [ - [2, 2, 2, 2, 3, 4, 5, 6, - 2, 2, 2, 2, 3, 4, 5, 6, - 2, 2, 2, 2, 4, 5, 7, 9, - 2, 2, 2, 4, 5, 7, 9, 12, - 3, 3, 4, 5, 8, 10, 12, 12, - 4, 4, 5, 7, 10, 12, 12, 12, - 5, 5, 7, 9, 12, 12, 12, 12, - 6, 6, 9, 12, 12, 12, 12, 12], - [3, 3, 5, 9, 13, 15, 15, 15, - 3, 4, 6, 10, 14, 12, 12, 12, - 5, 6, 9, 14, 12, 12, 12, 12, - 9, 10, 14, 12, 12, 12, 12, 12, - 13, 14, 12, 12, 12, 12, 12, 12, - 15, 12, 12, 12, 12, 12, 12, 12, - 15, 12, 12, 12, 12, 12, 12, 12, - 15, 12, 12, 12, 12, 12, 12, 12] - ]}, -} -# fmt: on diff --git a/venv/lib/python3.8/site-packages/PIL/McIdasImagePlugin.py b/venv/lib/python3.8/site-packages/PIL/McIdasImagePlugin.py deleted file mode 100644 index cd047fe9..00000000 --- a/venv/lib/python3.8/site-packages/PIL/McIdasImagePlugin.py +++ /dev/null @@ -1,75 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# Basic McIdas support for PIL -# -# History: -# 1997-05-05 fl Created (8-bit images only) -# 2009-03-08 fl Added 16/32-bit support. -# -# Thanks to Richard Jones and Craig Swank for specs and samples. -# -# Copyright (c) Secret Labs AB 1997. -# Copyright (c) Fredrik Lundh 1997. -# -# See the README file for information on usage and redistribution. -# - -import struct - -from . import Image, ImageFile - - -def _accept(s): - return s[:8] == b"\x00\x00\x00\x00\x00\x00\x00\x04" - - -## -# Image plugin for McIdas area images. - - -class McIdasImageFile(ImageFile.ImageFile): - - format = "MCIDAS" - format_description = "McIdas area file" - - def _open(self): - - # parse area file directory - s = self.fp.read(256) - if not _accept(s) or len(s) != 256: - raise SyntaxError("not an McIdas area file") - - self.area_descriptor_raw = s - self.area_descriptor = w = [0] + list(struct.unpack("!64i", s)) - - # get mode - if w[11] == 1: - mode = rawmode = "L" - elif w[11] == 2: - # FIXME: add memory map support - mode = "I" - rawmode = "I;16B" - elif w[11] == 4: - # FIXME: add memory map support - mode = "I" - rawmode = "I;32B" - else: - raise SyntaxError("unsupported McIdas format") - - self.mode = mode - self._size = w[10], w[9] - - offset = w[34] + w[15] - stride = w[15] + w[10] * w[11] * w[14] - - self.tile = [("raw", (0, 0) + self.size, offset, (rawmode, stride, 1))] - - -# -------------------------------------------------------------------- -# registry - -Image.register_open(McIdasImageFile.format, McIdasImageFile, _accept) - -# no default extension diff --git a/venv/lib/python3.8/site-packages/PIL/MicImagePlugin.py b/venv/lib/python3.8/site-packages/PIL/MicImagePlugin.py deleted file mode 100644 index 2aed2603..00000000 --- a/venv/lib/python3.8/site-packages/PIL/MicImagePlugin.py +++ /dev/null @@ -1,107 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# Microsoft Image Composer support for PIL -# -# Notes: -# uses TiffImagePlugin.py to read the actual image streams -# -# History: -# 97-01-20 fl Created -# -# Copyright (c) Secret Labs AB 1997. -# Copyright (c) Fredrik Lundh 1997. -# -# See the README file for information on usage and redistribution. -# - - -import olefile - -from . import Image, TiffImagePlugin - -# -# -------------------------------------------------------------------- - - -def _accept(prefix): - return prefix[:8] == olefile.MAGIC - - -## -# Image plugin for Microsoft's Image Composer file format. - - -class MicImageFile(TiffImagePlugin.TiffImageFile): - - format = "MIC" - format_description = "Microsoft Image Composer" - _close_exclusive_fp_after_loading = False - - def _open(self): - - # read the OLE directory and see if this is a likely - # to be a Microsoft Image Composer file - - try: - self.ole = olefile.OleFileIO(self.fp) - except OSError as e: - raise SyntaxError("not an MIC file; invalid OLE file") from e - - # find ACI subfiles with Image members (maybe not the - # best way to identify MIC files, but what the... ;-) - - self.images = [] - for path in self.ole.listdir(): - if path[1:] and path[0][-4:] == ".ACI" and path[1] == "Image": - self.images.append(path) - - # if we didn't find any images, this is probably not - # an MIC file. - if not self.images: - raise SyntaxError("not an MIC file; no image entries") - - self.__fp = self.fp - self.frame = None - self._n_frames = len(self.images) - self.is_animated = self._n_frames > 1 - - if len(self.images) > 1: - self.category = Image.CONTAINER - - self.seek(0) - - def seek(self, frame): - if not self._seek_check(frame): - return - try: - filename = self.images[frame] - except IndexError as e: - raise EOFError("no such frame") from e - - self.fp = self.ole.openstream(filename) - - TiffImagePlugin.TiffImageFile._open(self) - - self.frame = frame - - def tell(self): - return self.frame - - def _close__fp(self): - try: - if self.__fp != self.fp: - self.__fp.close() - except AttributeError: - pass - finally: - self.__fp = None - - -# -# -------------------------------------------------------------------- - -Image.register_open(MicImageFile.format, MicImageFile, _accept) - -Image.register_extension(MicImageFile.format, ".mic") diff --git a/venv/lib/python3.8/site-packages/PIL/MpegImagePlugin.py b/venv/lib/python3.8/site-packages/PIL/MpegImagePlugin.py deleted file mode 100644 index a358dfdc..00000000 --- a/venv/lib/python3.8/site-packages/PIL/MpegImagePlugin.py +++ /dev/null @@ -1,83 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# MPEG file handling -# -# History: -# 95-09-09 fl Created -# -# Copyright (c) Secret Labs AB 1997. -# Copyright (c) Fredrik Lundh 1995. -# -# See the README file for information on usage and redistribution. -# - - -from . import Image, ImageFile -from ._binary import i8 - -# -# Bitstream parser - - -class BitStream: - def __init__(self, fp): - self.fp = fp - self.bits = 0 - self.bitbuffer = 0 - - def next(self): - return i8(self.fp.read(1)) - - def peek(self, bits): - while self.bits < bits: - c = self.next() - if c < 0: - self.bits = 0 - continue - self.bitbuffer = (self.bitbuffer << 8) + c - self.bits += 8 - return self.bitbuffer >> (self.bits - bits) & (1 << bits) - 1 - - def skip(self, bits): - while self.bits < bits: - self.bitbuffer = (self.bitbuffer << 8) + i8(self.fp.read(1)) - self.bits += 8 - self.bits = self.bits - bits - - def read(self, bits): - v = self.peek(bits) - self.bits = self.bits - bits - return v - - -## -# Image plugin for MPEG streams. This plugin can identify a stream, -# but it cannot read it. - - -class MpegImageFile(ImageFile.ImageFile): - - format = "MPEG" - format_description = "MPEG" - - def _open(self): - - s = BitStream(self.fp) - - if s.read(32) != 0x1B3: - raise SyntaxError("not an MPEG file") - - self.mode = "RGB" - self._size = s.read(12), s.read(12) - - -# -------------------------------------------------------------------- -# Registry stuff - -Image.register_open(MpegImageFile.format, MpegImageFile) - -Image.register_extensions(MpegImageFile.format, [".mpg", ".mpeg"]) - -Image.register_mime(MpegImageFile.format, "video/mpeg") diff --git a/venv/lib/python3.8/site-packages/PIL/MpoImagePlugin.py b/venv/lib/python3.8/site-packages/PIL/MpoImagePlugin.py deleted file mode 100644 index 575cc9c8..00000000 --- a/venv/lib/python3.8/site-packages/PIL/MpoImagePlugin.py +++ /dev/null @@ -1,134 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# MPO file handling -# -# See "Multi-Picture Format" (CIPA DC-007-Translation 2009, Standard of the -# Camera & Imaging Products Association) -# -# The multi-picture object combines multiple JPEG images (with a modified EXIF -# data format) into a single file. While it can theoretically be used much like -# a GIF animation, it is commonly used to represent 3D photographs and is (as -# of this writing) the most commonly used format by 3D cameras. -# -# History: -# 2014-03-13 Feneric Created -# -# See the README file for information on usage and redistribution. -# - -from . import Image, ImageFile, JpegImagePlugin -from ._binary import i16be as i16 - - -def _accept(prefix): - return JpegImagePlugin._accept(prefix) - - -def _save(im, fp, filename): - # Note that we can only save the current frame at present - return JpegImagePlugin._save(im, fp, filename) - - -## -# Image plugin for MPO images. - - -class MpoImageFile(JpegImagePlugin.JpegImageFile): - - format = "MPO" - format_description = "MPO (CIPA DC-007)" - _close_exclusive_fp_after_loading = False - - def _open(self): - self.fp.seek(0) # prep the fp in order to pass the JPEG test - JpegImagePlugin.JpegImageFile._open(self) - self._after_jpeg_open() - - def _after_jpeg_open(self, mpheader=None): - self.mpinfo = mpheader if mpheader is not None else self._getmp() - self.n_frames = self.mpinfo[0xB001] - self.__mpoffsets = [ - mpent["DataOffset"] + self.info["mpoffset"] for mpent in self.mpinfo[0xB002] - ] - self.__mpoffsets[0] = 0 - # Note that the following assertion will only be invalid if something - # gets broken within JpegImagePlugin. - assert self.n_frames == len(self.__mpoffsets) - del self.info["mpoffset"] # no longer needed - self.is_animated = self.n_frames > 1 - self.__fp = self.fp # FIXME: hack - self.__fp.seek(self.__mpoffsets[0]) # get ready to read first frame - self.__frame = 0 - self.offset = 0 - # for now we can only handle reading and individual frame extraction - self.readonly = 1 - - def load_seek(self, pos): - self.__fp.seek(pos) - - def seek(self, frame): - if not self._seek_check(frame): - return - self.fp = self.__fp - self.offset = self.__mpoffsets[frame] - - self.fp.seek(self.offset + 2) # skip SOI marker - segment = self.fp.read(2) - if not segment: - raise ValueError("No data found for frame") - if i16(segment) == 0xFFE1: # APP1 - n = i16(self.fp.read(2)) - 2 - self.info["exif"] = ImageFile._safe_read(self.fp, n) - - exif = self.getexif() - if 40962 in exif and 40963 in exif: - self._size = (exif[40962], exif[40963]) - elif "exif" in self.info: - del self.info["exif"] - - self.tile = [("jpeg", (0, 0) + self.size, self.offset, (self.mode, ""))] - self.__frame = frame - - def tell(self): - return self.__frame - - def _close__fp(self): - try: - if self.__fp != self.fp: - self.__fp.close() - except AttributeError: - pass - finally: - self.__fp = None - - @staticmethod - def adopt(jpeg_instance, mpheader=None): - """ - Transform the instance of JpegImageFile into - an instance of MpoImageFile. - After the call, the JpegImageFile is extended - to be an MpoImageFile. - - This is essentially useful when opening a JPEG - file that reveals itself as an MPO, to avoid - double call to _open. - """ - jpeg_instance.__class__ = MpoImageFile - jpeg_instance._after_jpeg_open(mpheader) - return jpeg_instance - - -# --------------------------------------------------------------------- -# Registry stuff - -# Note that since MPO shares a factory with JPEG, we do not need to do a -# separate registration for it here. -# Image.register_open(MpoImageFile.format, -# JpegImagePlugin.jpeg_factory, _accept) -Image.register_save(MpoImageFile.format, _save) - -Image.register_extension(MpoImageFile.format, ".mpo") - -Image.register_mime(MpoImageFile.format, "image/mpo") diff --git a/venv/lib/python3.8/site-packages/PIL/MspImagePlugin.py b/venv/lib/python3.8/site-packages/PIL/MspImagePlugin.py deleted file mode 100644 index e1fdc1fd..00000000 --- a/venv/lib/python3.8/site-packages/PIL/MspImagePlugin.py +++ /dev/null @@ -1,194 +0,0 @@ -# -# The Python Imaging Library. -# -# MSP file handling -# -# This is the format used by the Paint program in Windows 1 and 2. -# -# History: -# 95-09-05 fl Created -# 97-01-03 fl Read/write MSP images -# 17-02-21 es Fixed RLE interpretation -# -# Copyright (c) Secret Labs AB 1997. -# Copyright (c) Fredrik Lundh 1995-97. -# Copyright (c) Eric Soroos 2017. -# -# See the README file for information on usage and redistribution. -# -# More info on this format: https://archive.org/details/gg243631 -# Page 313: -# Figure 205. Windows Paint Version 1: "DanM" Format -# Figure 206. Windows Paint Version 2: "LinS" Format. Used in Windows V2.03 -# -# See also: http://www.fileformat.info/format/mspaint/egff.htm - -import io -import struct - -from . import Image, ImageFile -from ._binary import i16le as i16 -from ._binary import o16le as o16 - -# -# read MSP files - - -def _accept(prefix): - return prefix[:4] in [b"DanM", b"LinS"] - - -## -# Image plugin for Windows MSP images. This plugin supports both -# uncompressed (Windows 1.0). - - -class MspImageFile(ImageFile.ImageFile): - - format = "MSP" - format_description = "Windows Paint" - - def _open(self): - - # Header - s = self.fp.read(32) - if not _accept(s): - raise SyntaxError("not an MSP file") - - # Header checksum - checksum = 0 - for i in range(0, 32, 2): - checksum = checksum ^ i16(s, i) - if checksum != 0: - raise SyntaxError("bad MSP checksum") - - self.mode = "1" - self._size = i16(s, 4), i16(s, 6) - - if s[:4] == b"DanM": - self.tile = [("raw", (0, 0) + self.size, 32, ("1", 0, 1))] - else: - self.tile = [("MSP", (0, 0) + self.size, 32, None)] - - -class MspDecoder(ImageFile.PyDecoder): - # The algo for the MSP decoder is from - # http://www.fileformat.info/format/mspaint/egff.htm - # cc-by-attribution -- That page references is taken from the - # Encyclopedia of Graphics File Formats and is licensed by - # O'Reilly under the Creative Common/Attribution license - # - # For RLE encoded files, the 32byte header is followed by a scan - # line map, encoded as one 16bit word of encoded byte length per - # line. - # - # NOTE: the encoded length of the line can be 0. This was not - # handled in the previous version of this encoder, and there's no - # mention of how to handle it in the documentation. From the few - # examples I've seen, I've assumed that it is a fill of the - # background color, in this case, white. - # - # - # Pseudocode of the decoder: - # Read a BYTE value as the RunType - # If the RunType value is zero - # Read next byte as the RunCount - # Read the next byte as the RunValue - # Write the RunValue byte RunCount times - # If the RunType value is non-zero - # Use this value as the RunCount - # Read and write the next RunCount bytes literally - # - # e.g.: - # 0x00 03 ff 05 00 01 02 03 04 - # would yield the bytes: - # 0xff ff ff 00 01 02 03 04 - # - # which are then interpreted as a bit packed mode '1' image - - _pulls_fd = True - - def decode(self, buffer): - - img = io.BytesIO() - blank_line = bytearray((0xFF,) * ((self.state.xsize + 7) // 8)) - try: - self.fd.seek(32) - rowmap = struct.unpack_from( - f"<{self.state.ysize}H", self.fd.read(self.state.ysize * 2) - ) - except struct.error as e: - raise OSError("Truncated MSP file in row map") from e - - for x, rowlen in enumerate(rowmap): - try: - if rowlen == 0: - img.write(blank_line) - continue - row = self.fd.read(rowlen) - if len(row) != rowlen: - raise OSError( - "Truncated MSP file, expected %d bytes on row %s", (rowlen, x) - ) - idx = 0 - while idx < rowlen: - runtype = row[idx] - idx += 1 - if runtype == 0: - (runcount, runval) = struct.unpack_from("Bc", row, idx) - img.write(runval * runcount) - idx += 2 - else: - runcount = runtype - img.write(row[idx : idx + runcount]) - idx += runcount - - except struct.error as e: - raise OSError(f"Corrupted MSP file in row {x}") from e - - self.set_as_raw(img.getvalue(), ("1", 0, 1)) - - return 0, 0 - - -Image.register_decoder("MSP", MspDecoder) - - -# -# write MSP files (uncompressed only) - - -def _save(im, fp, filename): - - if im.mode != "1": - raise OSError(f"cannot write mode {im.mode} as MSP") - - # create MSP header - header = [0] * 16 - - header[0], header[1] = i16(b"Da"), i16(b"nM") # version 1 - header[2], header[3] = im.size - header[4], header[5] = 1, 1 - header[6], header[7] = 1, 1 - header[8], header[9] = im.size - - checksum = 0 - for h in header: - checksum = checksum ^ h - header[12] = checksum # FIXME: is this the right field? - - # header - for h in header: - fp.write(o16(h)) - - # image body - ImageFile._save(im, fp, [("raw", (0, 0) + im.size, 32, ("1", 0, 1))]) - - -# -# registry - -Image.register_open(MspImageFile.format, MspImageFile, _accept) -Image.register_save(MspImageFile.format, _save) - -Image.register_extension(MspImageFile.format, ".msp") diff --git a/venv/lib/python3.8/site-packages/PIL/PSDraw.py b/venv/lib/python3.8/site-packages/PIL/PSDraw.py deleted file mode 100644 index c1bd933d..00000000 --- a/venv/lib/python3.8/site-packages/PIL/PSDraw.py +++ /dev/null @@ -1,235 +0,0 @@ -# -# The Python Imaging Library -# $Id$ -# -# Simple PostScript graphics interface -# -# History: -# 1996-04-20 fl Created -# 1999-01-10 fl Added gsave/grestore to image method -# 2005-05-04 fl Fixed floating point issue in image (from Eric Etheridge) -# -# Copyright (c) 1997-2005 by Secret Labs AB. All rights reserved. -# Copyright (c) 1996 by Fredrik Lundh. -# -# See the README file for information on usage and redistribution. -# - -import sys - -from . import EpsImagePlugin - -## -# Simple PostScript graphics interface. - - -class PSDraw: - """ - Sets up printing to the given file. If ``fp`` is omitted, - :py:data:`sys.stdout` is assumed. - """ - - def __init__(self, fp=None): - if not fp: - fp = sys.stdout - self.fp = fp - - def _fp_write(self, to_write): - if self.fp == sys.stdout: - self.fp.write(to_write) - else: - self.fp.write(bytes(to_write, "UTF-8")) - - def begin_document(self, id=None): - """Set up printing of a document. (Write PostScript DSC header.)""" - # FIXME: incomplete - self._fp_write( - "%!PS-Adobe-3.0\n" - "save\n" - "/showpage { } def\n" - "%%EndComments\n" - "%%BeginDocument\n" - ) - # self._fp_write(ERROR_PS) # debugging! - self._fp_write(EDROFF_PS) - self._fp_write(VDI_PS) - self._fp_write("%%EndProlog\n") - self.isofont = {} - - def end_document(self): - """Ends printing. (Write PostScript DSC footer.)""" - self._fp_write("%%EndDocument\nrestore showpage\n%%End\n") - if hasattr(self.fp, "flush"): - self.fp.flush() - - def setfont(self, font, size): - """ - Selects which font to use. - - :param font: A PostScript font name - :param size: Size in points. - """ - if font not in self.isofont: - # reencode font - self._fp_write(f"/PSDraw-{font} ISOLatin1Encoding /{font} E\n") - self.isofont[font] = 1 - # rough - self._fp_write(f"/F0 {size} /PSDraw-{font} F\n") - - def line(self, xy0, xy1): - """ - Draws a line between the two points. Coordinates are given in - PostScript point coordinates (72 points per inch, (0, 0) is the lower - left corner of the page). - """ - self._fp_write("%d %d %d %d Vl\n" % (*xy0, *xy1)) - - def rectangle(self, box): - """ - Draws a rectangle. - - :param box: A 4-tuple of integers whose order and function is currently - undocumented. - - Hint: the tuple is passed into this format string: - - .. code-block:: python - - %d %d M %d %d 0 Vr\n - """ - self._fp_write("%d %d M %d %d 0 Vr\n" % box) - - def text(self, xy, text): - """ - Draws text at the given position. You must use - :py:meth:`~PIL.PSDraw.PSDraw.setfont` before calling this method. - """ - text = "\\(".join(text.split("(")) - text = "\\)".join(text.split(")")) - self._fp_write(f"{xy[0]} {xy[1]} M ({text}) S\n") - - def image(self, box, im, dpi=None): - """Draw a PIL image, centered in the given box.""" - # default resolution depends on mode - if not dpi: - if im.mode == "1": - dpi = 200 # fax - else: - dpi = 100 # greyscale - # image size (on paper) - x = im.size[0] * 72 / dpi - y = im.size[1] * 72 / dpi - # max allowed size - xmax = float(box[2] - box[0]) - ymax = float(box[3] - box[1]) - if x > xmax: - y = y * xmax / x - x = xmax - if y > ymax: - x = x * ymax / y - y = ymax - dx = (xmax - x) / 2 + box[0] - dy = (ymax - y) / 2 + box[1] - self._fp_write(f"gsave\n{dx:f} {dy:f} translate\n") - if (x, y) != im.size: - # EpsImagePlugin._save prints the image at (0,0,xsize,ysize) - sx = x / im.size[0] - sy = y / im.size[1] - self._fp_write(f"{sx:f} {sy:f} scale\n") - EpsImagePlugin._save(im, self.fp, None, 0) - self._fp_write("\ngrestore\n") - - -# -------------------------------------------------------------------- -# PostScript driver - -# -# EDROFF.PS -- PostScript driver for Edroff 2 -# -# History: -# 94-01-25 fl: created (edroff 2.04) -# -# Copyright (c) Fredrik Lundh 1994. -# - - -EDROFF_PS = """\ -/S { show } bind def -/P { moveto show } bind def -/M { moveto } bind def -/X { 0 rmoveto } bind def -/Y { 0 exch rmoveto } bind def -/E { findfont - dup maxlength dict begin - { - 1 index /FID ne { def } { pop pop } ifelse - } forall - /Encoding exch def - dup /FontName exch def - currentdict end definefont pop -} bind def -/F { findfont exch scalefont dup setfont - [ exch /setfont cvx ] cvx bind def -} bind def -""" - -# -# VDI.PS -- PostScript driver for VDI meta commands -# -# History: -# 94-01-25 fl: created (edroff 2.04) -# -# Copyright (c) Fredrik Lundh 1994. -# - -VDI_PS = """\ -/Vm { moveto } bind def -/Va { newpath arcn stroke } bind def -/Vl { moveto lineto stroke } bind def -/Vc { newpath 0 360 arc closepath } bind def -/Vr { exch dup 0 rlineto - exch dup neg 0 exch rlineto - exch neg 0 rlineto - 0 exch rlineto - 100 div setgray fill 0 setgray } bind def -/Tm matrix def -/Ve { Tm currentmatrix pop - translate scale newpath 0 0 .5 0 360 arc closepath - Tm setmatrix -} bind def -/Vf { currentgray exch setgray fill setgray } bind def -""" - -# -# ERROR.PS -- Error handler -# -# History: -# 89-11-21 fl: created (pslist 1.10) -# - -ERROR_PS = """\ -/landscape false def -/errorBUF 200 string def -/errorNL { currentpoint 10 sub exch pop 72 exch moveto } def -errordict begin /handleerror { - initmatrix /Courier findfont 10 scalefont setfont - newpath 72 720 moveto $error begin /newerror false def - (PostScript Error) show errorNL errorNL - (Error: ) show - /errorname load errorBUF cvs show errorNL errorNL - (Command: ) show - /command load dup type /stringtype ne { errorBUF cvs } if show - errorNL errorNL - (VMstatus: ) show - vmstatus errorBUF cvs show ( bytes available, ) show - errorBUF cvs show ( bytes used at level ) show - errorBUF cvs show errorNL errorNL - (Operand stargck: ) show errorNL /ostargck load { - dup type /stringtype ne { errorBUF cvs } if 72 0 rmoveto show errorNL - } forall errorNL - (Execution stargck: ) show errorNL /estargck load { - dup type /stringtype ne { errorBUF cvs } if 72 0 rmoveto show errorNL - } forall - end showpage -} def end -""" diff --git a/venv/lib/python3.8/site-packages/PIL/PaletteFile.py b/venv/lib/python3.8/site-packages/PIL/PaletteFile.py deleted file mode 100644 index 6ccaa1f5..00000000 --- a/venv/lib/python3.8/site-packages/PIL/PaletteFile.py +++ /dev/null @@ -1,53 +0,0 @@ -# -# Python Imaging Library -# $Id$ -# -# stuff to read simple, teragon-style palette files -# -# History: -# 97-08-23 fl Created -# -# Copyright (c) Secret Labs AB 1997. -# Copyright (c) Fredrik Lundh 1997. -# -# See the README file for information on usage and redistribution. -# - -from ._binary import o8 - - -class PaletteFile: - """File handler for Teragon-style palette files.""" - - rawmode = "RGB" - - def __init__(self, fp): - - self.palette = [(i, i, i) for i in range(256)] - - while True: - - s = fp.readline() - - if not s: - break - if s[0:1] == b"#": - continue - if len(s) > 100: - raise SyntaxError("bad palette file") - - v = [int(x) for x in s.split()] - try: - [i, r, g, b] = v - except ValueError: - [i, r] = v - g = b = r - - if 0 <= i <= 255: - self.palette[i] = o8(r) + o8(g) + o8(b) - - self.palette = b"".join(self.palette) - - def getpalette(self): - - return self.palette, self.rawmode diff --git a/venv/lib/python3.8/site-packages/PIL/PalmImagePlugin.py b/venv/lib/python3.8/site-packages/PIL/PalmImagePlugin.py deleted file mode 100644 index 700f10e3..00000000 --- a/venv/lib/python3.8/site-packages/PIL/PalmImagePlugin.py +++ /dev/null @@ -1,227 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# - -## -# Image plugin for Palm pixmap images (output only). -## - -from . import Image, ImageFile -from ._binary import o8 -from ._binary import o16be as o16b - -# fmt: off -_Palm8BitColormapValues = ( - (255, 255, 255), (255, 204, 255), (255, 153, 255), (255, 102, 255), - (255, 51, 255), (255, 0, 255), (255, 255, 204), (255, 204, 204), - (255, 153, 204), (255, 102, 204), (255, 51, 204), (255, 0, 204), - (255, 255, 153), (255, 204, 153), (255, 153, 153), (255, 102, 153), - (255, 51, 153), (255, 0, 153), (204, 255, 255), (204, 204, 255), - (204, 153, 255), (204, 102, 255), (204, 51, 255), (204, 0, 255), - (204, 255, 204), (204, 204, 204), (204, 153, 204), (204, 102, 204), - (204, 51, 204), (204, 0, 204), (204, 255, 153), (204, 204, 153), - (204, 153, 153), (204, 102, 153), (204, 51, 153), (204, 0, 153), - (153, 255, 255), (153, 204, 255), (153, 153, 255), (153, 102, 255), - (153, 51, 255), (153, 0, 255), (153, 255, 204), (153, 204, 204), - (153, 153, 204), (153, 102, 204), (153, 51, 204), (153, 0, 204), - (153, 255, 153), (153, 204, 153), (153, 153, 153), (153, 102, 153), - (153, 51, 153), (153, 0, 153), (102, 255, 255), (102, 204, 255), - (102, 153, 255), (102, 102, 255), (102, 51, 255), (102, 0, 255), - (102, 255, 204), (102, 204, 204), (102, 153, 204), (102, 102, 204), - (102, 51, 204), (102, 0, 204), (102, 255, 153), (102, 204, 153), - (102, 153, 153), (102, 102, 153), (102, 51, 153), (102, 0, 153), - (51, 255, 255), (51, 204, 255), (51, 153, 255), (51, 102, 255), - (51, 51, 255), (51, 0, 255), (51, 255, 204), (51, 204, 204), - (51, 153, 204), (51, 102, 204), (51, 51, 204), (51, 0, 204), - (51, 255, 153), (51, 204, 153), (51, 153, 153), (51, 102, 153), - (51, 51, 153), (51, 0, 153), (0, 255, 255), (0, 204, 255), - (0, 153, 255), (0, 102, 255), (0, 51, 255), (0, 0, 255), - (0, 255, 204), (0, 204, 204), (0, 153, 204), (0, 102, 204), - (0, 51, 204), (0, 0, 204), (0, 255, 153), (0, 204, 153), - (0, 153, 153), (0, 102, 153), (0, 51, 153), (0, 0, 153), - (255, 255, 102), (255, 204, 102), (255, 153, 102), (255, 102, 102), - (255, 51, 102), (255, 0, 102), (255, 255, 51), (255, 204, 51), - (255, 153, 51), (255, 102, 51), (255, 51, 51), (255, 0, 51), - (255, 255, 0), (255, 204, 0), (255, 153, 0), (255, 102, 0), - (255, 51, 0), (255, 0, 0), (204, 255, 102), (204, 204, 102), - (204, 153, 102), (204, 102, 102), (204, 51, 102), (204, 0, 102), - (204, 255, 51), (204, 204, 51), (204, 153, 51), (204, 102, 51), - (204, 51, 51), (204, 0, 51), (204, 255, 0), (204, 204, 0), - (204, 153, 0), (204, 102, 0), (204, 51, 0), (204, 0, 0), - (153, 255, 102), (153, 204, 102), (153, 153, 102), (153, 102, 102), - (153, 51, 102), (153, 0, 102), (153, 255, 51), (153, 204, 51), - (153, 153, 51), (153, 102, 51), (153, 51, 51), (153, 0, 51), - (153, 255, 0), (153, 204, 0), (153, 153, 0), (153, 102, 0), - (153, 51, 0), (153, 0, 0), (102, 255, 102), (102, 204, 102), - (102, 153, 102), (102, 102, 102), (102, 51, 102), (102, 0, 102), - (102, 255, 51), (102, 204, 51), (102, 153, 51), (102, 102, 51), - (102, 51, 51), (102, 0, 51), (102, 255, 0), (102, 204, 0), - (102, 153, 0), (102, 102, 0), (102, 51, 0), (102, 0, 0), - (51, 255, 102), (51, 204, 102), (51, 153, 102), (51, 102, 102), - (51, 51, 102), (51, 0, 102), (51, 255, 51), (51, 204, 51), - (51, 153, 51), (51, 102, 51), (51, 51, 51), (51, 0, 51), - (51, 255, 0), (51, 204, 0), (51, 153, 0), (51, 102, 0), - (51, 51, 0), (51, 0, 0), (0, 255, 102), (0, 204, 102), - (0, 153, 102), (0, 102, 102), (0, 51, 102), (0, 0, 102), - (0, 255, 51), (0, 204, 51), (0, 153, 51), (0, 102, 51), - (0, 51, 51), (0, 0, 51), (0, 255, 0), (0, 204, 0), - (0, 153, 0), (0, 102, 0), (0, 51, 0), (17, 17, 17), - (34, 34, 34), (68, 68, 68), (85, 85, 85), (119, 119, 119), - (136, 136, 136), (170, 170, 170), (187, 187, 187), (221, 221, 221), - (238, 238, 238), (192, 192, 192), (128, 0, 0), (128, 0, 128), - (0, 128, 0), (0, 128, 128), (0, 0, 0), (0, 0, 0), - (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), - (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), - (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), - (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), - (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), - (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0)) -# fmt: on - - -# so build a prototype image to be used for palette resampling -def build_prototype_image(): - image = Image.new("L", (1, len(_Palm8BitColormapValues))) - image.putdata(list(range(len(_Palm8BitColormapValues)))) - palettedata = () - for colormapValue in _Palm8BitColormapValues: - palettedata += colormapValue - palettedata += (0, 0, 0) * (256 - len(_Palm8BitColormapValues)) - image.putpalette(palettedata) - return image - - -Palm8BitColormapImage = build_prototype_image() - -# OK, we now have in Palm8BitColormapImage, -# a "P"-mode image with the right palette -# -# -------------------------------------------------------------------- - -_FLAGS = {"custom-colormap": 0x4000, "is-compressed": 0x8000, "has-transparent": 0x2000} - -_COMPRESSION_TYPES = {"none": 0xFF, "rle": 0x01, "scanline": 0x00} - - -# -# -------------------------------------------------------------------- - -## -# (Internal) Image save plugin for the Palm format. - - -def _save(im, fp, filename): - - if im.mode == "P": - - # we assume this is a color Palm image with the standard colormap, - # unless the "info" dict has a "custom-colormap" field - - rawmode = "P" - bpp = 8 - version = 1 - - elif im.mode == "L": - if im.encoderinfo.get("bpp") in (1, 2, 4): - # this is 8-bit grayscale, so we shift it to get the high-order bits, - # and invert it because - # Palm does greyscale from white (0) to black (1) - bpp = im.encoderinfo["bpp"] - im = im.point( - lambda x, shift=8 - bpp, maxval=(1 << bpp) - 1: maxval - (x >> shift) - ) - elif im.info.get("bpp") in (1, 2, 4): - # here we assume that even though the inherent mode is 8-bit grayscale, - # only the lower bpp bits are significant. - # We invert them to match the Palm. - bpp = im.info["bpp"] - im = im.point(lambda x, maxval=(1 << bpp) - 1: maxval - (x & maxval)) - else: - raise OSError(f"cannot write mode {im.mode} as Palm") - - # we ignore the palette here - im.mode = "P" - rawmode = "P;" + str(bpp) - version = 1 - - elif im.mode == "1": - - # monochrome -- write it inverted, as is the Palm standard - rawmode = "1;I" - bpp = 1 - version = 0 - - else: - - raise OSError(f"cannot write mode {im.mode} as Palm") - - # - # make sure image data is available - im.load() - - # write header - - cols = im.size[0] - rows = im.size[1] - - rowbytes = int((cols + (16 // bpp - 1)) / (16 // bpp)) * 2 - transparent_index = 0 - compression_type = _COMPRESSION_TYPES["none"] - - flags = 0 - if im.mode == "P" and "custom-colormap" in im.info: - flags = flags & _FLAGS["custom-colormap"] - colormapsize = 4 * 256 + 2 - colormapmode = im.palette.mode - colormap = im.getdata().getpalette() - else: - colormapsize = 0 - - if "offset" in im.info: - offset = (rowbytes * rows + 16 + 3 + colormapsize) // 4 - else: - offset = 0 - - fp.write(o16b(cols) + o16b(rows) + o16b(rowbytes) + o16b(flags)) - fp.write(o8(bpp)) - fp.write(o8(version)) - fp.write(o16b(offset)) - fp.write(o8(transparent_index)) - fp.write(o8(compression_type)) - fp.write(o16b(0)) # reserved by Palm - - # now write colormap if necessary - - if colormapsize > 0: - fp.write(o16b(256)) - for i in range(256): - fp.write(o8(i)) - if colormapmode == "RGB": - fp.write( - o8(colormap[3 * i]) - + o8(colormap[3 * i + 1]) - + o8(colormap[3 * i + 2]) - ) - elif colormapmode == "RGBA": - fp.write( - o8(colormap[4 * i]) - + o8(colormap[4 * i + 1]) - + o8(colormap[4 * i + 2]) - ) - - # now convert data to raw form - ImageFile._save(im, fp, [("raw", (0, 0) + im.size, 0, (rawmode, rowbytes, 1))]) - - if hasattr(fp, "flush"): - fp.flush() - - -# -# -------------------------------------------------------------------- - -Image.register_save("Palm", _save) - -Image.register_extension("Palm", ".palm") - -Image.register_mime("Palm", "image/palm") diff --git a/venv/lib/python3.8/site-packages/PIL/PcdImagePlugin.py b/venv/lib/python3.8/site-packages/PIL/PcdImagePlugin.py deleted file mode 100644 index 38caf5c6..00000000 --- a/venv/lib/python3.8/site-packages/PIL/PcdImagePlugin.py +++ /dev/null @@ -1,63 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# PCD file handling -# -# History: -# 96-05-10 fl Created -# 96-05-27 fl Added draft mode (128x192, 256x384) -# -# Copyright (c) Secret Labs AB 1997. -# Copyright (c) Fredrik Lundh 1996. -# -# See the README file for information on usage and redistribution. -# - - -from . import Image, ImageFile - -## -# Image plugin for PhotoCD images. This plugin only reads the 768x512 -# image from the file; higher resolutions are encoded in a proprietary -# encoding. - - -class PcdImageFile(ImageFile.ImageFile): - - format = "PCD" - format_description = "Kodak PhotoCD" - - def _open(self): - - # rough - self.fp.seek(2048) - s = self.fp.read(2048) - - if s[:4] != b"PCD_": - raise SyntaxError("not a PCD file") - - orientation = s[1538] & 3 - self.tile_post_rotate = None - if orientation == 1: - self.tile_post_rotate = 90 - elif orientation == 3: - self.tile_post_rotate = -90 - - self.mode = "RGB" - self._size = 768, 512 # FIXME: not correct for rotated images! - self.tile = [("pcd", (0, 0) + self.size, 96 * 2048, None)] - - def load_end(self): - if self.tile_post_rotate: - # Handle rotated PCDs - self.im = self.im.rotate(self.tile_post_rotate) - self._size = self.im.size - - -# -# registry - -Image.register_open(PcdImageFile.format, PcdImageFile) - -Image.register_extension(PcdImageFile.format, ".pcd") diff --git a/venv/lib/python3.8/site-packages/PIL/PcfFontFile.py b/venv/lib/python3.8/site-packages/PIL/PcfFontFile.py deleted file mode 100644 index 6a4eb22a..00000000 --- a/venv/lib/python3.8/site-packages/PIL/PcfFontFile.py +++ /dev/null @@ -1,248 +0,0 @@ -# -# THIS IS WORK IN PROGRESS -# -# The Python Imaging Library -# $Id$ -# -# portable compiled font file parser -# -# history: -# 1997-08-19 fl created -# 2003-09-13 fl fixed loading of unicode fonts -# -# Copyright (c) 1997-2003 by Secret Labs AB. -# Copyright (c) 1997-2003 by Fredrik Lundh. -# -# See the README file for information on usage and redistribution. -# - -import io - -from . import FontFile, Image -from ._binary import i8 -from ._binary import i16be as b16 -from ._binary import i16le as l16 -from ._binary import i32be as b32 -from ._binary import i32le as l32 - -# -------------------------------------------------------------------- -# declarations - -PCF_MAGIC = 0x70636601 # "\x01fcp" - -PCF_PROPERTIES = 1 << 0 -PCF_ACCELERATORS = 1 << 1 -PCF_METRICS = 1 << 2 -PCF_BITMAPS = 1 << 3 -PCF_INK_METRICS = 1 << 4 -PCF_BDF_ENCODINGS = 1 << 5 -PCF_SWIDTHS = 1 << 6 -PCF_GLYPH_NAMES = 1 << 7 -PCF_BDF_ACCELERATORS = 1 << 8 - -BYTES_PER_ROW = [ - lambda bits: ((bits + 7) >> 3), - lambda bits: ((bits + 15) >> 3) & ~1, - lambda bits: ((bits + 31) >> 3) & ~3, - lambda bits: ((bits + 63) >> 3) & ~7, -] - - -def sz(s, o): - return s[o : s.index(b"\0", o)] - - -class PcfFontFile(FontFile.FontFile): - """Font file plugin for the X11 PCF format.""" - - name = "name" - - def __init__(self, fp, charset_encoding="iso8859-1"): - - self.charset_encoding = charset_encoding - - magic = l32(fp.read(4)) - if magic != PCF_MAGIC: - raise SyntaxError("not a PCF file") - - super().__init__() - - count = l32(fp.read(4)) - self.toc = {} - for i in range(count): - type = l32(fp.read(4)) - self.toc[type] = l32(fp.read(4)), l32(fp.read(4)), l32(fp.read(4)) - - self.fp = fp - - self.info = self._load_properties() - - metrics = self._load_metrics() - bitmaps = self._load_bitmaps(metrics) - encoding = self._load_encoding() - - # - # create glyph structure - - for ch in range(256): - ix = encoding[ch] - if ix is not None: - x, y, l, r, w, a, d, f = metrics[ix] - glyph = (w, 0), (l, d - y, x + l, d), (0, 0, x, y), bitmaps[ix] - self.glyph[ch] = glyph - - def _getformat(self, tag): - - format, size, offset = self.toc[tag] - - fp = self.fp - fp.seek(offset) - - format = l32(fp.read(4)) - - if format & 4: - i16, i32 = b16, b32 - else: - i16, i32 = l16, l32 - - return fp, format, i16, i32 - - def _load_properties(self): - - # - # font properties - - properties = {} - - fp, format, i16, i32 = self._getformat(PCF_PROPERTIES) - - nprops = i32(fp.read(4)) - - # read property description - p = [] - for i in range(nprops): - p.append((i32(fp.read(4)), i8(fp.read(1)), i32(fp.read(4)))) - if nprops & 3: - fp.seek(4 - (nprops & 3), io.SEEK_CUR) # pad - - data = fp.read(i32(fp.read(4))) - - for k, s, v in p: - k = sz(data, k) - if s: - v = sz(data, v) - properties[k] = v - - return properties - - def _load_metrics(self): - - # - # font metrics - - metrics = [] - - fp, format, i16, i32 = self._getformat(PCF_METRICS) - - append = metrics.append - - if (format & 0xFF00) == 0x100: - - # "compressed" metrics - for i in range(i16(fp.read(2))): - left = i8(fp.read(1)) - 128 - right = i8(fp.read(1)) - 128 - width = i8(fp.read(1)) - 128 - ascent = i8(fp.read(1)) - 128 - descent = i8(fp.read(1)) - 128 - xsize = right - left - ysize = ascent + descent - append((xsize, ysize, left, right, width, ascent, descent, 0)) - - else: - - # "jumbo" metrics - for i in range(i32(fp.read(4))): - left = i16(fp.read(2)) - right = i16(fp.read(2)) - width = i16(fp.read(2)) - ascent = i16(fp.read(2)) - descent = i16(fp.read(2)) - attributes = i16(fp.read(2)) - xsize = right - left - ysize = ascent + descent - append((xsize, ysize, left, right, width, ascent, descent, attributes)) - - return metrics - - def _load_bitmaps(self, metrics): - - # - # bitmap data - - bitmaps = [] - - fp, format, i16, i32 = self._getformat(PCF_BITMAPS) - - nbitmaps = i32(fp.read(4)) - - if nbitmaps != len(metrics): - raise OSError("Wrong number of bitmaps") - - offsets = [] - for i in range(nbitmaps): - offsets.append(i32(fp.read(4))) - - bitmapSizes = [] - for i in range(4): - bitmapSizes.append(i32(fp.read(4))) - - # byteorder = format & 4 # non-zero => MSB - bitorder = format & 8 # non-zero => MSB - padindex = format & 3 - - bitmapsize = bitmapSizes[padindex] - offsets.append(bitmapsize) - - data = fp.read(bitmapsize) - - pad = BYTES_PER_ROW[padindex] - mode = "1;R" - if bitorder: - mode = "1" - - for i in range(nbitmaps): - x, y, l, r, w, a, d, f = metrics[i] - b, e = offsets[i], offsets[i + 1] - bitmaps.append(Image.frombytes("1", (x, y), data[b:e], "raw", mode, pad(x))) - - return bitmaps - - def _load_encoding(self): - - # map character code to bitmap index - encoding = [None] * 256 - - fp, format, i16, i32 = self._getformat(PCF_BDF_ENCODINGS) - - firstCol, lastCol = i16(fp.read(2)), i16(fp.read(2)) - firstRow, lastRow = i16(fp.read(2)), i16(fp.read(2)) - - i16(fp.read(2)) # default - - nencoding = (lastCol - firstCol + 1) * (lastRow - firstRow + 1) - - encodingOffsets = [i16(fp.read(2)) for _ in range(nencoding)] - - for i in range(firstCol, len(encoding)): - try: - encodingOffset = encodingOffsets[ - ord(bytearray([i]).decode(self.charset_encoding)) - ] - if encodingOffset != 0xFFFF: - encoding[i] = encodingOffset - except UnicodeDecodeError: - # character is not supported in selected encoding - pass - - return encoding diff --git a/venv/lib/python3.8/site-packages/PIL/PcxImagePlugin.py b/venv/lib/python3.8/site-packages/PIL/PcxImagePlugin.py deleted file mode 100644 index a24d44b4..00000000 --- a/venv/lib/python3.8/site-packages/PIL/PcxImagePlugin.py +++ /dev/null @@ -1,213 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# PCX file handling -# -# This format was originally used by ZSoft's popular PaintBrush -# program for the IBM PC. It is also supported by many MS-DOS and -# Windows applications, including the Windows PaintBrush program in -# Windows 3. -# -# history: -# 1995-09-01 fl Created -# 1996-05-20 fl Fixed RGB support -# 1997-01-03 fl Fixed 2-bit and 4-bit support -# 1999-02-03 fl Fixed 8-bit support (broken in 1.0b1) -# 1999-02-07 fl Added write support -# 2002-06-09 fl Made 2-bit and 4-bit support a bit more robust -# 2002-07-30 fl Seek from to current position, not beginning of file -# 2003-06-03 fl Extract DPI settings (info["dpi"]) -# -# Copyright (c) 1997-2003 by Secret Labs AB. -# Copyright (c) 1995-2003 by Fredrik Lundh. -# -# See the README file for information on usage and redistribution. -# - -import io -import logging - -from . import Image, ImageFile, ImagePalette -from ._binary import i16le as i16 -from ._binary import o8 -from ._binary import o16le as o16 - -logger = logging.getLogger(__name__) - - -def _accept(prefix): - return prefix[0] == 10 and prefix[1] in [0, 2, 3, 5] - - -## -# Image plugin for Paintbrush images. - - -class PcxImageFile(ImageFile.ImageFile): - - format = "PCX" - format_description = "Paintbrush" - - def _open(self): - - # header - s = self.fp.read(128) - if not _accept(s): - raise SyntaxError("not a PCX file") - - # image - bbox = i16(s, 4), i16(s, 6), i16(s, 8) + 1, i16(s, 10) + 1 - if bbox[2] <= bbox[0] or bbox[3] <= bbox[1]: - raise SyntaxError("bad PCX image size") - logger.debug("BBox: %s %s %s %s", *bbox) - - # format - version = s[1] - bits = s[3] - planes = s[65] - ignored_stride = i16(s, 66) - logger.debug( - "PCX version %s, bits %s, planes %s, stride %s", - version, - bits, - planes, - ignored_stride, - ) - - self.info["dpi"] = i16(s, 12), i16(s, 14) - - if bits == 1 and planes == 1: - mode = rawmode = "1" - - elif bits == 1 and planes in (2, 4): - mode = "P" - rawmode = "P;%dL" % planes - self.palette = ImagePalette.raw("RGB", s[16:64]) - - elif version == 5 and bits == 8 and planes == 1: - mode = rawmode = "L" - # FIXME: hey, this doesn't work with the incremental loader !!! - self.fp.seek(-769, io.SEEK_END) - s = self.fp.read(769) - if len(s) == 769 and s[0] == 12: - # check if the palette is linear greyscale - for i in range(256): - if s[i * 3 + 1 : i * 3 + 4] != o8(i) * 3: - mode = rawmode = "P" - break - if mode == "P": - self.palette = ImagePalette.raw("RGB", s[1:]) - self.fp.seek(128) - - elif version == 5 and bits == 8 and planes == 3: - mode = "RGB" - rawmode = "RGB;L" - - else: - raise OSError("unknown PCX mode") - - self.mode = mode - self._size = bbox[2] - bbox[0], bbox[3] - bbox[1] - - # don't trust the passed in stride. Calculate for ourselves. - # CVE-2020-35655 - stride = (self._size[0] * bits + 7) // 8 - stride += stride % 2 - - bbox = (0, 0) + self.size - logger.debug("size: %sx%s", *self.size) - - self.tile = [("pcx", bbox, self.fp.tell(), (rawmode, planes * stride))] - - -# -------------------------------------------------------------------- -# save PCX files - - -SAVE = { - # mode: (version, bits, planes, raw mode) - "1": (2, 1, 1, "1"), - "L": (5, 8, 1, "L"), - "P": (5, 8, 1, "P"), - "RGB": (5, 8, 3, "RGB;L"), -} - - -def _save(im, fp, filename): - - try: - version, bits, planes, rawmode = SAVE[im.mode] - except KeyError as e: - raise ValueError(f"Cannot save {im.mode} images as PCX") from e - - # bytes per plane - stride = (im.size[0] * bits + 7) // 8 - # stride should be even - stride += stride % 2 - # Stride needs to be kept in sync with the PcxEncode.c version. - # Ideally it should be passed in in the state, but the bytes value - # gets overwritten. - - logger.debug( - "PcxImagePlugin._save: xwidth: %d, bits: %d, stride: %d", - im.size[0], - bits, - stride, - ) - - # under windows, we could determine the current screen size with - # "Image.core.display_mode()[1]", but I think that's overkill... - - screen = im.size - - dpi = 100, 100 - - # PCX header - fp.write( - o8(10) - + o8(version) - + o8(1) - + o8(bits) - + o16(0) - + o16(0) - + o16(im.size[0] - 1) - + o16(im.size[1] - 1) - + o16(dpi[0]) - + o16(dpi[1]) - + b"\0" * 24 - + b"\xFF" * 24 - + b"\0" - + o8(planes) - + o16(stride) - + o16(1) - + o16(screen[0]) - + o16(screen[1]) - + b"\0" * 54 - ) - - assert fp.tell() == 128 - - ImageFile._save(im, fp, [("pcx", (0, 0) + im.size, 0, (rawmode, bits * planes))]) - - if im.mode == "P": - # colour palette - fp.write(o8(12)) - fp.write(im.im.getpalette("RGB", "RGB")) # 768 bytes - elif im.mode == "L": - # greyscale palette - fp.write(o8(12)) - for i in range(256): - fp.write(o8(i) * 3) - - -# -------------------------------------------------------------------- -# registry - - -Image.register_open(PcxImageFile.format, PcxImageFile, _accept) -Image.register_save(PcxImageFile.format, _save) - -Image.register_extension(PcxImageFile.format, ".pcx") - -Image.register_mime(PcxImageFile.format, "image/x-pcx") diff --git a/venv/lib/python3.8/site-packages/PIL/PdfImagePlugin.py b/venv/lib/python3.8/site-packages/PIL/PdfImagePlugin.py deleted file mode 100644 index 36c8fb84..00000000 --- a/venv/lib/python3.8/site-packages/PIL/PdfImagePlugin.py +++ /dev/null @@ -1,246 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# PDF (Acrobat) file handling -# -# History: -# 1996-07-16 fl Created -# 1997-01-18 fl Fixed header -# 2004-02-21 fl Fixes for 1/L/CMYK images, etc. -# 2004-02-24 fl Fixes for 1 and P images. -# -# Copyright (c) 1997-2004 by Secret Labs AB. All rights reserved. -# Copyright (c) 1996-1997 by Fredrik Lundh. -# -# See the README file for information on usage and redistribution. -# - -## -# Image plugin for PDF images (output only). -## - -import io -import os -import time - -from . import Image, ImageFile, ImageSequence, PdfParser, __version__ - -# -# -------------------------------------------------------------------- - -# object ids: -# 1. catalogue -# 2. pages -# 3. image -# 4. page -# 5. page contents - - -def _save_all(im, fp, filename): - _save(im, fp, filename, save_all=True) - - -## -# (Internal) Image save plugin for the PDF format. - - -def _save(im, fp, filename, save_all=False): - is_appending = im.encoderinfo.get("append", False) - if is_appending: - existing_pdf = PdfParser.PdfParser(f=fp, filename=filename, mode="r+b") - else: - existing_pdf = PdfParser.PdfParser(f=fp, filename=filename, mode="w+b") - - resolution = im.encoderinfo.get("resolution", 72.0) - - info = { - "title": None - if is_appending - else os.path.splitext(os.path.basename(filename))[0], - "author": None, - "subject": None, - "keywords": None, - "creator": None, - "producer": None, - "creationDate": None if is_appending else time.gmtime(), - "modDate": None if is_appending else time.gmtime(), - } - for k, default in info.items(): - v = im.encoderinfo.get(k) if k in im.encoderinfo else default - if v: - existing_pdf.info[k[0].upper() + k[1:]] = v - - # - # make sure image data is available - im.load() - - existing_pdf.start_writing() - existing_pdf.write_header() - existing_pdf.write_comment(f"created by Pillow {__version__} PDF driver") - - # - # pages - ims = [im] - if save_all: - append_images = im.encoderinfo.get("append_images", []) - for append_im in append_images: - append_im.encoderinfo = im.encoderinfo.copy() - ims.append(append_im) - numberOfPages = 0 - image_refs = [] - page_refs = [] - contents_refs = [] - for im in ims: - im_numberOfPages = 1 - if save_all: - try: - im_numberOfPages = im.n_frames - except AttributeError: - # Image format does not have n_frames. - # It is a single frame image - pass - numberOfPages += im_numberOfPages - for i in range(im_numberOfPages): - image_refs.append(existing_pdf.next_object_id(0)) - page_refs.append(existing_pdf.next_object_id(0)) - contents_refs.append(existing_pdf.next_object_id(0)) - existing_pdf.pages.append(page_refs[-1]) - - # - # catalog and list of pages - existing_pdf.write_catalog() - - pageNumber = 0 - for imSequence in ims: - im_pages = ImageSequence.Iterator(imSequence) if save_all else [imSequence] - for im in im_pages: - # FIXME: Should replace ASCIIHexDecode with RunLengthDecode - # (packbits) or LZWDecode (tiff/lzw compression). Note that - # PDF 1.2 also supports Flatedecode (zip compression). - - bits = 8 - params = None - decode = None - - if im.mode == "1": - filter = "ASCIIHexDecode" - colorspace = PdfParser.PdfName("DeviceGray") - procset = "ImageB" # grayscale - bits = 1 - elif im.mode == "L": - filter = "DCTDecode" - # params = f"<< /Predictor 15 /Columns {width-2} >>" - colorspace = PdfParser.PdfName("DeviceGray") - procset = "ImageB" # grayscale - elif im.mode == "P": - filter = "ASCIIHexDecode" - palette = im.im.getpalette("RGB") - colorspace = [ - PdfParser.PdfName("Indexed"), - PdfParser.PdfName("DeviceRGB"), - 255, - PdfParser.PdfBinary(palette), - ] - procset = "ImageI" # indexed color - elif im.mode == "RGB": - filter = "DCTDecode" - colorspace = PdfParser.PdfName("DeviceRGB") - procset = "ImageC" # color images - elif im.mode == "CMYK": - filter = "DCTDecode" - colorspace = PdfParser.PdfName("DeviceCMYK") - procset = "ImageC" # color images - decode = [1, 0, 1, 0, 1, 0, 1, 0] - else: - raise ValueError(f"cannot save mode {im.mode}") - - # - # image - - op = io.BytesIO() - - if filter == "ASCIIHexDecode": - if bits == 1: - # FIXME: the hex encoder doesn't support packed 1-bit - # images; do things the hard way... - data = im.tobytes("raw", "1") - im = Image.new("L", im.size) - im.putdata(data) - ImageFile._save(im, op, [("hex", (0, 0) + im.size, 0, im.mode)]) - elif filter == "DCTDecode": - Image.SAVE["JPEG"](im, op, filename) - elif filter == "FlateDecode": - ImageFile._save(im, op, [("zip", (0, 0) + im.size, 0, im.mode)]) - elif filter == "RunLengthDecode": - ImageFile._save(im, op, [("packbits", (0, 0) + im.size, 0, im.mode)]) - else: - raise ValueError(f"unsupported PDF filter ({filter})") - - # - # Get image characteristics - - width, height = im.size - - existing_pdf.write_obj( - image_refs[pageNumber], - stream=op.getvalue(), - Type=PdfParser.PdfName("XObject"), - Subtype=PdfParser.PdfName("Image"), - Width=width, # * 72.0 / resolution, - Height=height, # * 72.0 / resolution, - Filter=PdfParser.PdfName(filter), - BitsPerComponent=bits, - Decode=decode, - DecodeParams=params, - ColorSpace=colorspace, - ) - - # - # page - - existing_pdf.write_page( - page_refs[pageNumber], - Resources=PdfParser.PdfDict( - ProcSet=[PdfParser.PdfName("PDF"), PdfParser.PdfName(procset)], - XObject=PdfParser.PdfDict(image=image_refs[pageNumber]), - ), - MediaBox=[ - 0, - 0, - int(width * 72.0 / resolution), - int(height * 72.0 / resolution), - ], - Contents=contents_refs[pageNumber], - ) - - # - # page contents - - page_contents = b"q %d 0 0 %d 0 0 cm /image Do Q\n" % ( - int(width * 72.0 / resolution), - int(height * 72.0 / resolution), - ) - - existing_pdf.write_obj(contents_refs[pageNumber], stream=page_contents) - - pageNumber += 1 - - # - # trailer - existing_pdf.write_xref_and_trailer() - if hasattr(fp, "flush"): - fp.flush() - existing_pdf.close() - - -# -# -------------------------------------------------------------------- - - -Image.register_save("PDF", _save) -Image.register_save_all("PDF", _save_all) - -Image.register_extension("PDF", ".pdf") - -Image.register_mime("PDF", "application/pdf") diff --git a/venv/lib/python3.8/site-packages/PIL/PdfParser.py b/venv/lib/python3.8/site-packages/PIL/PdfParser.py deleted file mode 100644 index 975905f9..00000000 --- a/venv/lib/python3.8/site-packages/PIL/PdfParser.py +++ /dev/null @@ -1,994 +0,0 @@ -import calendar -import codecs -import collections -import mmap -import os -import re -import time -import zlib - - -# see 7.9.2.2 Text String Type on page 86 and D.3 PDFDocEncoding Character Set -# on page 656 -def encode_text(s): - return codecs.BOM_UTF16_BE + s.encode("utf_16_be") - - -PDFDocEncoding = { - 0x16: "\u0017", - 0x18: "\u02D8", - 0x19: "\u02C7", - 0x1A: "\u02C6", - 0x1B: "\u02D9", - 0x1C: "\u02DD", - 0x1D: "\u02DB", - 0x1E: "\u02DA", - 0x1F: "\u02DC", - 0x80: "\u2022", - 0x81: "\u2020", - 0x82: "\u2021", - 0x83: "\u2026", - 0x84: "\u2014", - 0x85: "\u2013", - 0x86: "\u0192", - 0x87: "\u2044", - 0x88: "\u2039", - 0x89: "\u203A", - 0x8A: "\u2212", - 0x8B: "\u2030", - 0x8C: "\u201E", - 0x8D: "\u201C", - 0x8E: "\u201D", - 0x8F: "\u2018", - 0x90: "\u2019", - 0x91: "\u201A", - 0x92: "\u2122", - 0x93: "\uFB01", - 0x94: "\uFB02", - 0x95: "\u0141", - 0x96: "\u0152", - 0x97: "\u0160", - 0x98: "\u0178", - 0x99: "\u017D", - 0x9A: "\u0131", - 0x9B: "\u0142", - 0x9C: "\u0153", - 0x9D: "\u0161", - 0x9E: "\u017E", - 0xA0: "\u20AC", -} - - -def decode_text(b): - if b[: len(codecs.BOM_UTF16_BE)] == codecs.BOM_UTF16_BE: - return b[len(codecs.BOM_UTF16_BE) :].decode("utf_16_be") - else: - return "".join(PDFDocEncoding.get(byte, chr(byte)) for byte in b) - - -class PdfFormatError(RuntimeError): - """An error that probably indicates a syntactic or semantic error in the - PDF file structure""" - - pass - - -def check_format_condition(condition, error_message): - if not condition: - raise PdfFormatError(error_message) - - -class IndirectReference( - collections.namedtuple("IndirectReferenceTuple", ["object_id", "generation"]) -): - def __str__(self): - return "%s %s R" % self - - def __bytes__(self): - return self.__str__().encode("us-ascii") - - def __eq__(self, other): - return ( - other.__class__ is self.__class__ - and other.object_id == self.object_id - and other.generation == self.generation - ) - - def __ne__(self, other): - return not (self == other) - - def __hash__(self): - return hash((self.object_id, self.generation)) - - -class IndirectObjectDef(IndirectReference): - def __str__(self): - return "%s %s obj" % self - - -class XrefTable: - def __init__(self): - self.existing_entries = {} # object ID => (offset, generation) - self.new_entries = {} # object ID => (offset, generation) - self.deleted_entries = {0: 65536} # object ID => generation - self.reading_finished = False - - def __setitem__(self, key, value): - if self.reading_finished: - self.new_entries[key] = value - else: - self.existing_entries[key] = value - if key in self.deleted_entries: - del self.deleted_entries[key] - - def __getitem__(self, key): - try: - return self.new_entries[key] - except KeyError: - return self.existing_entries[key] - - def __delitem__(self, key): - if key in self.new_entries: - generation = self.new_entries[key][1] + 1 - del self.new_entries[key] - self.deleted_entries[key] = generation - elif key in self.existing_entries: - generation = self.existing_entries[key][1] + 1 - self.deleted_entries[key] = generation - elif key in self.deleted_entries: - generation = self.deleted_entries[key] - else: - raise IndexError( - "object ID " + str(key) + " cannot be deleted because it doesn't exist" - ) - - def __contains__(self, key): - return key in self.existing_entries or key in self.new_entries - - def __len__(self): - return len( - set(self.existing_entries.keys()) - | set(self.new_entries.keys()) - | set(self.deleted_entries.keys()) - ) - - def keys(self): - return ( - set(self.existing_entries.keys()) - set(self.deleted_entries.keys()) - ) | set(self.new_entries.keys()) - - def write(self, f): - keys = sorted(set(self.new_entries.keys()) | set(self.deleted_entries.keys())) - deleted_keys = sorted(set(self.deleted_entries.keys())) - startxref = f.tell() - f.write(b"xref\n") - while keys: - # find a contiguous sequence of object IDs - prev = None - for index, key in enumerate(keys): - if prev is None or prev + 1 == key: - prev = key - else: - contiguous_keys = keys[:index] - keys = keys[index:] - break - else: - contiguous_keys = keys - keys = None - f.write(b"%d %d\n" % (contiguous_keys[0], len(contiguous_keys))) - for object_id in contiguous_keys: - if object_id in self.new_entries: - f.write(b"%010d %05d n \n" % self.new_entries[object_id]) - else: - this_deleted_object_id = deleted_keys.pop(0) - check_format_condition( - object_id == this_deleted_object_id, - f"expected the next deleted object ID to be {object_id}, " - f"instead found {this_deleted_object_id}", - ) - try: - next_in_linked_list = deleted_keys[0] - except IndexError: - next_in_linked_list = 0 - f.write( - b"%010d %05d f \n" - % (next_in_linked_list, self.deleted_entries[object_id]) - ) - return startxref - - -class PdfName: - def __init__(self, name): - if isinstance(name, PdfName): - self.name = name.name - elif isinstance(name, bytes): - self.name = name - else: - self.name = name.encode("us-ascii") - - def name_as_str(self): - return self.name.decode("us-ascii") - - def __eq__(self, other): - return ( - isinstance(other, PdfName) and other.name == self.name - ) or other == self.name - - def __hash__(self): - return hash(self.name) - - def __repr__(self): - return f"PdfName({repr(self.name)})" - - @classmethod - def from_pdf_stream(cls, data): - return cls(PdfParser.interpret_name(data)) - - allowed_chars = set(range(33, 127)) - {ord(c) for c in "#%/()<>[]{}"} - - def __bytes__(self): - result = bytearray(b"/") - for b in self.name: - if b in self.allowed_chars: - result.append(b) - else: - result.extend(b"#%02X" % b) - return bytes(result) - - -class PdfArray(list): - def __bytes__(self): - return b"[ " + b" ".join(pdf_repr(x) for x in self) + b" ]" - - -class PdfDict(collections.UserDict): - def __setattr__(self, key, value): - if key == "data": - collections.UserDict.__setattr__(self, key, value) - else: - self[key.encode("us-ascii")] = value - - def __getattr__(self, key): - try: - value = self[key.encode("us-ascii")] - except KeyError as e: - raise AttributeError(key) from e - if isinstance(value, bytes): - value = decode_text(value) - if key.endswith("Date"): - if value.startswith("D:"): - value = value[2:] - - relationship = "Z" - if len(value) > 17: - relationship = value[14] - offset = int(value[15:17]) * 60 - if len(value) > 20: - offset += int(value[18:20]) - - format = "%Y%m%d%H%M%S"[: len(value) - 2] - value = time.strptime(value[: len(format) + 2], format) - if relationship in ["+", "-"]: - offset *= 60 - if relationship == "+": - offset *= -1 - value = time.gmtime(calendar.timegm(value) + offset) - return value - - def __bytes__(self): - out = bytearray(b"<<") - for key, value in self.items(): - if value is None: - continue - value = pdf_repr(value) - out.extend(b"\n") - out.extend(bytes(PdfName(key))) - out.extend(b" ") - out.extend(value) - out.extend(b"\n>>") - return bytes(out) - - -class PdfBinary: - def __init__(self, data): - self.data = data - - def __bytes__(self): - return b"<%s>" % b"".join(b"%02X" % b for b in self.data) - - -class PdfStream: - def __init__(self, dictionary, buf): - self.dictionary = dictionary - self.buf = buf - - def decode(self): - try: - filter = self.dictionary.Filter - except AttributeError: - return self.buf - if filter == b"FlateDecode": - try: - expected_length = self.dictionary.DL - except AttributeError: - expected_length = self.dictionary.Length - return zlib.decompress(self.buf, bufsize=int(expected_length)) - else: - raise NotImplementedError( - f"stream filter {repr(self.dictionary.Filter)} unknown/unsupported" - ) - - -def pdf_repr(x): - if x is True: - return b"true" - elif x is False: - return b"false" - elif x is None: - return b"null" - elif isinstance(x, (PdfName, PdfDict, PdfArray, PdfBinary)): - return bytes(x) - elif isinstance(x, int): - return str(x).encode("us-ascii") - elif isinstance(x, time.struct_time): - return b"(D:" + time.strftime("%Y%m%d%H%M%SZ", x).encode("us-ascii") + b")" - elif isinstance(x, dict): - return bytes(PdfDict(x)) - elif isinstance(x, list): - return bytes(PdfArray(x)) - elif isinstance(x, str): - return pdf_repr(encode_text(x)) - elif isinstance(x, bytes): - # XXX escape more chars? handle binary garbage - x = x.replace(b"\\", b"\\\\") - x = x.replace(b"(", b"\\(") - x = x.replace(b")", b"\\)") - return b"(" + x + b")" - else: - return bytes(x) - - -class PdfParser: - """Based on - https://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/PDF32000_2008.pdf - Supports PDF up to 1.4 - """ - - def __init__(self, filename=None, f=None, buf=None, start_offset=0, mode="rb"): - if buf and f: - raise RuntimeError("specify buf or f or filename, but not both buf and f") - self.filename = filename - self.buf = buf - self.f = f - self.start_offset = start_offset - self.should_close_buf = False - self.should_close_file = False - if filename is not None and f is None: - self.f = f = open(filename, mode) - self.should_close_file = True - if f is not None: - self.buf = buf = self.get_buf_from_file(f) - self.should_close_buf = True - if not filename and hasattr(f, "name"): - self.filename = f.name - self.cached_objects = {} - if buf: - self.read_pdf_info() - else: - self.file_size_total = self.file_size_this = 0 - self.root = PdfDict() - self.root_ref = None - self.info = PdfDict() - self.info_ref = None - self.page_tree_root = {} - self.pages = [] - self.orig_pages = [] - self.pages_ref = None - self.last_xref_section_offset = None - self.trailer_dict = {} - self.xref_table = XrefTable() - self.xref_table.reading_finished = True - if f: - self.seek_end() - - def __enter__(self): - return self - - def __exit__(self, exc_type, exc_value, traceback): - self.close() - return False # do not suppress exceptions - - def start_writing(self): - self.close_buf() - self.seek_end() - - def close_buf(self): - try: - self.buf.close() - except AttributeError: - pass - self.buf = None - - def close(self): - if self.should_close_buf: - self.close_buf() - if self.f is not None and self.should_close_file: - self.f.close() - self.f = None - - def seek_end(self): - self.f.seek(0, os.SEEK_END) - - def write_header(self): - self.f.write(b"%PDF-1.4\n") - - def write_comment(self, s): - self.f.write(f"% {s}\n".encode("utf-8")) - - def write_catalog(self): - self.del_root() - self.root_ref = self.next_object_id(self.f.tell()) - self.pages_ref = self.next_object_id(0) - self.rewrite_pages() - self.write_obj(self.root_ref, Type=PdfName(b"Catalog"), Pages=self.pages_ref) - self.write_obj( - self.pages_ref, - Type=PdfName(b"Pages"), - Count=len(self.pages), - Kids=self.pages, - ) - return self.root_ref - - def rewrite_pages(self): - pages_tree_nodes_to_delete = [] - for i, page_ref in enumerate(self.orig_pages): - page_info = self.cached_objects[page_ref] - del self.xref_table[page_ref.object_id] - pages_tree_nodes_to_delete.append(page_info[PdfName(b"Parent")]) - if page_ref not in self.pages: - # the page has been deleted - continue - # make dict keys into strings for passing to write_page - stringified_page_info = {} - for key, value in page_info.items(): - # key should be a PdfName - stringified_page_info[key.name_as_str()] = value - stringified_page_info["Parent"] = self.pages_ref - new_page_ref = self.write_page(None, **stringified_page_info) - for j, cur_page_ref in enumerate(self.pages): - if cur_page_ref == page_ref: - # replace the page reference with the new one - self.pages[j] = new_page_ref - # delete redundant Pages tree nodes from xref table - for pages_tree_node_ref in pages_tree_nodes_to_delete: - while pages_tree_node_ref: - pages_tree_node = self.cached_objects[pages_tree_node_ref] - if pages_tree_node_ref.object_id in self.xref_table: - del self.xref_table[pages_tree_node_ref.object_id] - pages_tree_node_ref = pages_tree_node.get(b"Parent", None) - self.orig_pages = [] - - def write_xref_and_trailer(self, new_root_ref=None): - if new_root_ref: - self.del_root() - self.root_ref = new_root_ref - if self.info: - self.info_ref = self.write_obj(None, self.info) - start_xref = self.xref_table.write(self.f) - num_entries = len(self.xref_table) - trailer_dict = {b"Root": self.root_ref, b"Size": num_entries} - if self.last_xref_section_offset is not None: - trailer_dict[b"Prev"] = self.last_xref_section_offset - if self.info: - trailer_dict[b"Info"] = self.info_ref - self.last_xref_section_offset = start_xref - self.f.write( - b"trailer\n" - + bytes(PdfDict(trailer_dict)) - + b"\nstartxref\n%d\n%%%%EOF" % start_xref - ) - - def write_page(self, ref, *objs, **dict_obj): - if isinstance(ref, int): - ref = self.pages[ref] - if "Type" not in dict_obj: - dict_obj["Type"] = PdfName(b"Page") - if "Parent" not in dict_obj: - dict_obj["Parent"] = self.pages_ref - return self.write_obj(ref, *objs, **dict_obj) - - def write_obj(self, ref, *objs, **dict_obj): - f = self.f - if ref is None: - ref = self.next_object_id(f.tell()) - else: - self.xref_table[ref.object_id] = (f.tell(), ref.generation) - f.write(bytes(IndirectObjectDef(*ref))) - stream = dict_obj.pop("stream", None) - if stream is not None: - dict_obj["Length"] = len(stream) - if dict_obj: - f.write(pdf_repr(dict_obj)) - for obj in objs: - f.write(pdf_repr(obj)) - if stream is not None: - f.write(b"stream\n") - f.write(stream) - f.write(b"\nendstream\n") - f.write(b"endobj\n") - return ref - - def del_root(self): - if self.root_ref is None: - return - del self.xref_table[self.root_ref.object_id] - del self.xref_table[self.root[b"Pages"].object_id] - - @staticmethod - def get_buf_from_file(f): - if hasattr(f, "getbuffer"): - return f.getbuffer() - elif hasattr(f, "getvalue"): - return f.getvalue() - else: - try: - return mmap.mmap(f.fileno(), 0, access=mmap.ACCESS_READ) - except ValueError: # cannot mmap an empty file - return b"" - - def read_pdf_info(self): - self.file_size_total = len(self.buf) - self.file_size_this = self.file_size_total - self.start_offset - self.read_trailer() - self.root_ref = self.trailer_dict[b"Root"] - self.info_ref = self.trailer_dict.get(b"Info", None) - self.root = PdfDict(self.read_indirect(self.root_ref)) - if self.info_ref is None: - self.info = PdfDict() - else: - self.info = PdfDict(self.read_indirect(self.info_ref)) - check_format_condition(b"Type" in self.root, "/Type missing in Root") - check_format_condition( - self.root[b"Type"] == b"Catalog", "/Type in Root is not /Catalog" - ) - check_format_condition(b"Pages" in self.root, "/Pages missing in Root") - check_format_condition( - isinstance(self.root[b"Pages"], IndirectReference), - "/Pages in Root is not an indirect reference", - ) - self.pages_ref = self.root[b"Pages"] - self.page_tree_root = self.read_indirect(self.pages_ref) - self.pages = self.linearize_page_tree(self.page_tree_root) - # save the original list of page references - # in case the user modifies, adds or deletes some pages - # and we need to rewrite the pages and their list - self.orig_pages = self.pages[:] - - def next_object_id(self, offset=None): - try: - # TODO: support reuse of deleted objects - reference = IndirectReference(max(self.xref_table.keys()) + 1, 0) - except ValueError: - reference = IndirectReference(1, 0) - if offset is not None: - self.xref_table[reference.object_id] = (offset, 0) - return reference - - delimiter = br"[][()<>{}/%]" - delimiter_or_ws = br"[][()<>{}/%\000\011\012\014\015\040]" - whitespace = br"[\000\011\012\014\015\040]" - whitespace_or_hex = br"[\000\011\012\014\015\0400-9a-fA-F]" - whitespace_optional = whitespace + b"*" - whitespace_mandatory = whitespace + b"+" - newline_only = br"[\r\n]+" - newline = whitespace_optional + newline_only + whitespace_optional - re_trailer_end = re.compile( - whitespace_mandatory - + br"trailer" - + whitespace_optional - + br"\<\<(.*\>\>)" - + newline - + br"startxref" - + newline - + br"([0-9]+)" - + newline - + br"%%EOF" - + whitespace_optional - + br"$", - re.DOTALL, - ) - re_trailer_prev = re.compile( - whitespace_optional - + br"trailer" - + whitespace_optional - + br"\<\<(.*?\>\>)" - + newline - + br"startxref" - + newline - + br"([0-9]+)" - + newline - + br"%%EOF" - + whitespace_optional, - re.DOTALL, - ) - - def read_trailer(self): - search_start_offset = len(self.buf) - 16384 - if search_start_offset < self.start_offset: - search_start_offset = self.start_offset - m = self.re_trailer_end.search(self.buf, search_start_offset) - check_format_condition(m, "trailer end not found") - # make sure we found the LAST trailer - last_match = m - while m: - last_match = m - m = self.re_trailer_end.search(self.buf, m.start() + 16) - if not m: - m = last_match - trailer_data = m.group(1) - self.last_xref_section_offset = int(m.group(2)) - self.trailer_dict = self.interpret_trailer(trailer_data) - self.xref_table = XrefTable() - self.read_xref_table(xref_section_offset=self.last_xref_section_offset) - if b"Prev" in self.trailer_dict: - self.read_prev_trailer(self.trailer_dict[b"Prev"]) - - def read_prev_trailer(self, xref_section_offset): - trailer_offset = self.read_xref_table(xref_section_offset=xref_section_offset) - m = self.re_trailer_prev.search( - self.buf[trailer_offset : trailer_offset + 16384] - ) - check_format_condition(m, "previous trailer not found") - trailer_data = m.group(1) - check_format_condition( - int(m.group(2)) == xref_section_offset, - "xref section offset in previous trailer doesn't match what was expected", - ) - trailer_dict = self.interpret_trailer(trailer_data) - if b"Prev" in trailer_dict: - self.read_prev_trailer(trailer_dict[b"Prev"]) - - re_whitespace_optional = re.compile(whitespace_optional) - re_name = re.compile( - whitespace_optional - + br"/([!-$&'*-.0-;=?-Z\\^-z|~]+)(?=" - + delimiter_or_ws - + br")" - ) - re_dict_start = re.compile(whitespace_optional + br"\<\<") - re_dict_end = re.compile(whitespace_optional + br"\>\>" + whitespace_optional) - - @classmethod - def interpret_trailer(cls, trailer_data): - trailer = {} - offset = 0 - while True: - m = cls.re_name.match(trailer_data, offset) - if not m: - m = cls.re_dict_end.match(trailer_data, offset) - check_format_condition( - m and m.end() == len(trailer_data), - "name not found in trailer, remaining data: " - + repr(trailer_data[offset:]), - ) - break - key = cls.interpret_name(m.group(1)) - value, offset = cls.get_value(trailer_data, m.end()) - trailer[key] = value - check_format_condition( - b"Size" in trailer and isinstance(trailer[b"Size"], int), - "/Size not in trailer or not an integer", - ) - check_format_condition( - b"Root" in trailer and isinstance(trailer[b"Root"], IndirectReference), - "/Root not in trailer or not an indirect reference", - ) - return trailer - - re_hashes_in_name = re.compile(br"([^#]*)(#([0-9a-fA-F]{2}))?") - - @classmethod - def interpret_name(cls, raw, as_text=False): - name = b"" - for m in cls.re_hashes_in_name.finditer(raw): - if m.group(3): - name += m.group(1) + bytearray.fromhex(m.group(3).decode("us-ascii")) - else: - name += m.group(1) - if as_text: - return name.decode("utf-8") - else: - return bytes(name) - - re_null = re.compile(whitespace_optional + br"null(?=" + delimiter_or_ws + br")") - re_true = re.compile(whitespace_optional + br"true(?=" + delimiter_or_ws + br")") - re_false = re.compile(whitespace_optional + br"false(?=" + delimiter_or_ws + br")") - re_int = re.compile( - whitespace_optional + br"([-+]?[0-9]+)(?=" + delimiter_or_ws + br")" - ) - re_real = re.compile( - whitespace_optional - + br"([-+]?([0-9]+\.[0-9]*|[0-9]*\.[0-9]+))(?=" - + delimiter_or_ws - + br")" - ) - re_array_start = re.compile(whitespace_optional + br"\[") - re_array_end = re.compile(whitespace_optional + br"]") - re_string_hex = re.compile( - whitespace_optional + br"\<(" + whitespace_or_hex + br"*)\>" - ) - re_string_lit = re.compile(whitespace_optional + br"\(") - re_indirect_reference = re.compile( - whitespace_optional - + br"([-+]?[0-9]+)" - + whitespace_mandatory - + br"([-+]?[0-9]+)" - + whitespace_mandatory - + br"R(?=" - + delimiter_or_ws - + br")" - ) - re_indirect_def_start = re.compile( - whitespace_optional - + br"([-+]?[0-9]+)" - + whitespace_mandatory - + br"([-+]?[0-9]+)" - + whitespace_mandatory - + br"obj(?=" - + delimiter_or_ws - + br")" - ) - re_indirect_def_end = re.compile( - whitespace_optional + br"endobj(?=" + delimiter_or_ws + br")" - ) - re_comment = re.compile( - br"(" + whitespace_optional + br"%[^\r\n]*" + newline + br")*" - ) - re_stream_start = re.compile(whitespace_optional + br"stream\r?\n") - re_stream_end = re.compile( - whitespace_optional + br"endstream(?=" + delimiter_or_ws + br")" - ) - - @classmethod - def get_value(cls, data, offset, expect_indirect=None, max_nesting=-1): - if max_nesting == 0: - return None, None - m = cls.re_comment.match(data, offset) - if m: - offset = m.end() - m = cls.re_indirect_def_start.match(data, offset) - if m: - check_format_condition( - int(m.group(1)) > 0, - "indirect object definition: object ID must be greater than 0", - ) - check_format_condition( - int(m.group(2)) >= 0, - "indirect object definition: generation must be non-negative", - ) - check_format_condition( - expect_indirect is None - or expect_indirect - == IndirectReference(int(m.group(1)), int(m.group(2))), - "indirect object definition different than expected", - ) - object, offset = cls.get_value(data, m.end(), max_nesting=max_nesting - 1) - if offset is None: - return object, None - m = cls.re_indirect_def_end.match(data, offset) - check_format_condition(m, "indirect object definition end not found") - return object, m.end() - check_format_condition( - not expect_indirect, "indirect object definition not found" - ) - m = cls.re_indirect_reference.match(data, offset) - if m: - check_format_condition( - int(m.group(1)) > 0, - "indirect object reference: object ID must be greater than 0", - ) - check_format_condition( - int(m.group(2)) >= 0, - "indirect object reference: generation must be non-negative", - ) - return IndirectReference(int(m.group(1)), int(m.group(2))), m.end() - m = cls.re_dict_start.match(data, offset) - if m: - offset = m.end() - result = {} - m = cls.re_dict_end.match(data, offset) - while not m: - key, offset = cls.get_value(data, offset, max_nesting=max_nesting - 1) - if offset is None: - return result, None - value, offset = cls.get_value(data, offset, max_nesting=max_nesting - 1) - result[key] = value - if offset is None: - return result, None - m = cls.re_dict_end.match(data, offset) - offset = m.end() - m = cls.re_stream_start.match(data, offset) - if m: - try: - stream_len = int(result[b"Length"]) - except (TypeError, KeyError, ValueError) as e: - raise PdfFormatError( - "bad or missing Length in stream dict (%r)" - % result.get(b"Length", None) - ) from e - stream_data = data[m.end() : m.end() + stream_len] - m = cls.re_stream_end.match(data, m.end() + stream_len) - check_format_condition(m, "stream end not found") - offset = m.end() - result = PdfStream(PdfDict(result), stream_data) - else: - result = PdfDict(result) - return result, offset - m = cls.re_array_start.match(data, offset) - if m: - offset = m.end() - result = [] - m = cls.re_array_end.match(data, offset) - while not m: - value, offset = cls.get_value(data, offset, max_nesting=max_nesting - 1) - result.append(value) - if offset is None: - return result, None - m = cls.re_array_end.match(data, offset) - return result, m.end() - m = cls.re_null.match(data, offset) - if m: - return None, m.end() - m = cls.re_true.match(data, offset) - if m: - return True, m.end() - m = cls.re_false.match(data, offset) - if m: - return False, m.end() - m = cls.re_name.match(data, offset) - if m: - return PdfName(cls.interpret_name(m.group(1))), m.end() - m = cls.re_int.match(data, offset) - if m: - return int(m.group(1)), m.end() - m = cls.re_real.match(data, offset) - if m: - # XXX Decimal instead of float??? - return float(m.group(1)), m.end() - m = cls.re_string_hex.match(data, offset) - if m: - # filter out whitespace - hex_string = bytearray( - [b for b in m.group(1) if b in b"0123456789abcdefABCDEF"] - ) - if len(hex_string) % 2 == 1: - # append a 0 if the length is not even - yes, at the end - hex_string.append(ord(b"0")) - return bytearray.fromhex(hex_string.decode("us-ascii")), m.end() - m = cls.re_string_lit.match(data, offset) - if m: - return cls.get_literal_string(data, m.end()) - # return None, offset # fallback (only for debugging) - raise PdfFormatError("unrecognized object: " + repr(data[offset : offset + 32])) - - re_lit_str_token = re.compile( - br"(\\[nrtbf()\\])|(\\[0-9]{1,3})|(\\(\r\n|\r|\n))|(\r\n|\r|\n)|(\()|(\))" - ) - escaped_chars = { - b"n": b"\n", - b"r": b"\r", - b"t": b"\t", - b"b": b"\b", - b"f": b"\f", - b"(": b"(", - b")": b")", - b"\\": b"\\", - ord(b"n"): b"\n", - ord(b"r"): b"\r", - ord(b"t"): b"\t", - ord(b"b"): b"\b", - ord(b"f"): b"\f", - ord(b"("): b"(", - ord(b")"): b")", - ord(b"\\"): b"\\", - } - - @classmethod - def get_literal_string(cls, data, offset): - nesting_depth = 0 - result = bytearray() - for m in cls.re_lit_str_token.finditer(data, offset): - result.extend(data[offset : m.start()]) - if m.group(1): - result.extend(cls.escaped_chars[m.group(1)[1]]) - elif m.group(2): - result.append(int(m.group(2)[1:], 8)) - elif m.group(3): - pass - elif m.group(5): - result.extend(b"\n") - elif m.group(6): - result.extend(b"(") - nesting_depth += 1 - elif m.group(7): - if nesting_depth == 0: - return bytes(result), m.end() - result.extend(b")") - nesting_depth -= 1 - offset = m.end() - raise PdfFormatError("unfinished literal string") - - re_xref_section_start = re.compile(whitespace_optional + br"xref" + newline) - re_xref_subsection_start = re.compile( - whitespace_optional - + br"([0-9]+)" - + whitespace_mandatory - + br"([0-9]+)" - + whitespace_optional - + newline_only - ) - re_xref_entry = re.compile(br"([0-9]{10}) ([0-9]{5}) ([fn])( \r| \n|\r\n)") - - def read_xref_table(self, xref_section_offset): - subsection_found = False - m = self.re_xref_section_start.match( - self.buf, xref_section_offset + self.start_offset - ) - check_format_condition(m, "xref section start not found") - offset = m.end() - while True: - m = self.re_xref_subsection_start.match(self.buf, offset) - if not m: - check_format_condition( - subsection_found, "xref subsection start not found" - ) - break - subsection_found = True - offset = m.end() - first_object = int(m.group(1)) - num_objects = int(m.group(2)) - for i in range(first_object, first_object + num_objects): - m = self.re_xref_entry.match(self.buf, offset) - check_format_condition(m, "xref entry not found") - offset = m.end() - is_free = m.group(3) == b"f" - generation = int(m.group(2)) - if not is_free: - new_entry = (int(m.group(1)), generation) - check_format_condition( - i not in self.xref_table or self.xref_table[i] == new_entry, - "xref entry duplicated (and not identical)", - ) - self.xref_table[i] = new_entry - return offset - - def read_indirect(self, ref, max_nesting=-1): - offset, generation = self.xref_table[ref[0]] - check_format_condition( - generation == ref[1], - f"expected to find generation {ref[1]} for object ID {ref[0]} in xref " - f"table, instead found generation {generation} at offset {offset}", - ) - value = self.get_value( - self.buf, - offset + self.start_offset, - expect_indirect=IndirectReference(*ref), - max_nesting=max_nesting, - )[0] - self.cached_objects[ref] = value - return value - - def linearize_page_tree(self, node=None): - if node is None: - node = self.page_tree_root - check_format_condition( - node[b"Type"] == b"Pages", "/Type of page tree node is not /Pages" - ) - pages = [] - for kid in node[b"Kids"]: - kid_object = self.read_indirect(kid) - if kid_object[b"Type"] == b"Page": - pages.append(kid) - else: - pages.extend(self.linearize_page_tree(node=kid_object)) - return pages diff --git a/venv/lib/python3.8/site-packages/PIL/PixarImagePlugin.py b/venv/lib/python3.8/site-packages/PIL/PixarImagePlugin.py deleted file mode 100644 index c4860b6c..00000000 --- a/venv/lib/python3.8/site-packages/PIL/PixarImagePlugin.py +++ /dev/null @@ -1,70 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# PIXAR raster support for PIL -# -# history: -# 97-01-29 fl Created -# -# notes: -# This is incomplete; it is based on a few samples created with -# Photoshop 2.5 and 3.0, and a summary description provided by -# Greg Coats . Hopefully, "L" and -# "RGBA" support will be added in future versions. -# -# Copyright (c) Secret Labs AB 1997. -# Copyright (c) Fredrik Lundh 1997. -# -# See the README file for information on usage and redistribution. -# - -from . import Image, ImageFile -from ._binary import i16le as i16 - -# -# helpers - - -def _accept(prefix): - return prefix[:4] == b"\200\350\000\000" - - -## -# Image plugin for PIXAR raster images. - - -class PixarImageFile(ImageFile.ImageFile): - - format = "PIXAR" - format_description = "PIXAR raster image" - - def _open(self): - - # assuming a 4-byte magic label - s = self.fp.read(4) - if not _accept(s): - raise SyntaxError("not a PIXAR file") - - # read rest of header - s = s + self.fp.read(508) - - self._size = i16(s, 418), i16(s, 416) - - # get channel/depth descriptions - mode = i16(s, 424), i16(s, 426) - - if mode == (14, 2): - self.mode = "RGB" - # FIXME: to be continued... - - # create tile descriptor (assuming "dumped") - self.tile = [("raw", (0, 0) + self.size, 1024, (self.mode, 0, 1))] - - -# -# -------------------------------------------------------------------- - -Image.register_open(PixarImageFile.format, PixarImageFile, _accept) - -Image.register_extension(PixarImageFile.format, ".pxr") diff --git a/venv/lib/python3.8/site-packages/PIL/PngImagePlugin.py b/venv/lib/python3.8/site-packages/PIL/PngImagePlugin.py deleted file mode 100644 index 2d4ac760..00000000 --- a/venv/lib/python3.8/site-packages/PIL/PngImagePlugin.py +++ /dev/null @@ -1,1395 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# PNG support code -# -# See "PNG (Portable Network Graphics) Specification, version 1.0; -# W3C Recommendation", 1996-10-01, Thomas Boutell (ed.). -# -# history: -# 1996-05-06 fl Created (couldn't resist it) -# 1996-12-14 fl Upgraded, added read and verify support (0.2) -# 1996-12-15 fl Separate PNG stream parser -# 1996-12-29 fl Added write support, added getchunks -# 1996-12-30 fl Eliminated circular references in decoder (0.3) -# 1998-07-12 fl Read/write 16-bit images as mode I (0.4) -# 2001-02-08 fl Added transparency support (from Zircon) (0.5) -# 2001-04-16 fl Don't close data source in "open" method (0.6) -# 2004-02-24 fl Don't even pretend to support interlaced files (0.7) -# 2004-08-31 fl Do basic sanity check on chunk identifiers (0.8) -# 2004-09-20 fl Added PngInfo chunk container -# 2004-12-18 fl Added DPI read support (based on code by Niki Spahiev) -# 2008-08-13 fl Added tRNS support for RGB images -# 2009-03-06 fl Support for preserving ICC profiles (by Florian Hoech) -# 2009-03-08 fl Added zTXT support (from Lowell Alleman) -# 2009-03-29 fl Read interlaced PNG files (from Conrado Porto Lopes Gouvua) -# -# Copyright (c) 1997-2009 by Secret Labs AB -# Copyright (c) 1996 by Fredrik Lundh -# -# See the README file for information on usage and redistribution. -# - -import itertools -import logging -import re -import struct -import warnings -import zlib - -from . import Image, ImageChops, ImageFile, ImagePalette, ImageSequence -from ._binary import i16be as i16 -from ._binary import i32be as i32 -from ._binary import o8 -from ._binary import o16be as o16 -from ._binary import o32be as o32 - -logger = logging.getLogger(__name__) - -is_cid = re.compile(br"\w\w\w\w").match - - -_MAGIC = b"\211PNG\r\n\032\n" - - -_MODES = { - # supported bits/color combinations, and corresponding modes/rawmodes - # Greyscale - (1, 0): ("1", "1"), - (2, 0): ("L", "L;2"), - (4, 0): ("L", "L;4"), - (8, 0): ("L", "L"), - (16, 0): ("I", "I;16B"), - # Truecolour - (8, 2): ("RGB", "RGB"), - (16, 2): ("RGB", "RGB;16B"), - # Indexed-colour - (1, 3): ("P", "P;1"), - (2, 3): ("P", "P;2"), - (4, 3): ("P", "P;4"), - (8, 3): ("P", "P"), - # Greyscale with alpha - (8, 4): ("LA", "LA"), - (16, 4): ("RGBA", "LA;16B"), # LA;16B->LA not yet available - # Truecolour with alpha - (8, 6): ("RGBA", "RGBA"), - (16, 6): ("RGBA", "RGBA;16B"), -} - - -_simple_palette = re.compile(b"^\xff*\x00\xff*$") - -MAX_TEXT_CHUNK = ImageFile.SAFEBLOCK -""" -Maximum decompressed size for a iTXt or zTXt chunk. -Eliminates decompression bombs where compressed chunks can expand 1000x. -See :ref:`Text in PNG File Format`. -""" -MAX_TEXT_MEMORY = 64 * MAX_TEXT_CHUNK -""" -Set the maximum total text chunk size. -See :ref:`Text in PNG File Format`. -""" - - -# APNG frame disposal modes -APNG_DISPOSE_OP_NONE = 0 -""" -No disposal is done on this frame before rendering the next frame. -See :ref:`Saving APNG sequences`. -""" -APNG_DISPOSE_OP_BACKGROUND = 1 -""" -This frame’s modified region is cleared to fully transparent black before rendering -the next frame. -See :ref:`Saving APNG sequences`. -""" -APNG_DISPOSE_OP_PREVIOUS = 2 -""" -This frame’s modified region is reverted to the previous frame’s contents before -rendering the next frame. -See :ref:`Saving APNG sequences`. -""" - -# APNG frame blend modes -APNG_BLEND_OP_SOURCE = 0 -""" -All color components of this frame, including alpha, overwrite the previous output -image contents. -See :ref:`Saving APNG sequences`. -""" -APNG_BLEND_OP_OVER = 1 -""" -This frame should be alpha composited with the previous output image contents. -See :ref:`Saving APNG sequences`. -""" - - -def _safe_zlib_decompress(s): - dobj = zlib.decompressobj() - plaintext = dobj.decompress(s, MAX_TEXT_CHUNK) - if dobj.unconsumed_tail: - raise ValueError("Decompressed Data Too Large") - return plaintext - - -def _crc32(data, seed=0): - return zlib.crc32(data, seed) & 0xFFFFFFFF - - -# -------------------------------------------------------------------- -# Support classes. Suitable for PNG and related formats like MNG etc. - - -class ChunkStream: - def __init__(self, fp): - - self.fp = fp - self.queue = [] - - def read(self): - """Fetch a new chunk. Returns header information.""" - cid = None - - if self.queue: - cid, pos, length = self.queue.pop() - self.fp.seek(pos) - else: - s = self.fp.read(8) - cid = s[4:] - pos = self.fp.tell() - length = i32(s) - - if not is_cid(cid): - if not ImageFile.LOAD_TRUNCATED_IMAGES: - raise SyntaxError(f"broken PNG file (chunk {repr(cid)})") - - return cid, pos, length - - def __enter__(self): - return self - - def __exit__(self, *args): - self.close() - - def close(self): - self.queue = self.crc = self.fp = None - - def push(self, cid, pos, length): - - self.queue.append((cid, pos, length)) - - def call(self, cid, pos, length): - """Call the appropriate chunk handler""" - - logger.debug("STREAM %r %s %s", cid, pos, length) - return getattr(self, "chunk_" + cid.decode("ascii"))(pos, length) - - def crc(self, cid, data): - """Read and verify checksum""" - - # Skip CRC checks for ancillary chunks if allowed to load truncated - # images - # 5th byte of first char is 1 [specs, section 5.4] - if ImageFile.LOAD_TRUNCATED_IMAGES and (cid[0] >> 5 & 1): - self.crc_skip(cid, data) - return - - try: - crc1 = _crc32(data, _crc32(cid)) - crc2 = i32(self.fp.read(4)) - if crc1 != crc2: - raise SyntaxError( - f"broken PNG file (bad header checksum in {repr(cid)})" - ) - except struct.error as e: - raise SyntaxError( - f"broken PNG file (incomplete checksum in {repr(cid)})" - ) from e - - def crc_skip(self, cid, data): - """Read checksum. Used if the C module is not present""" - - self.fp.read(4) - - def verify(self, endchunk=b"IEND"): - - # Simple approach; just calculate checksum for all remaining - # blocks. Must be called directly after open. - - cids = [] - - while True: - try: - cid, pos, length = self.read() - except struct.error as e: - raise OSError("truncated PNG file") from e - - if cid == endchunk: - break - self.crc(cid, ImageFile._safe_read(self.fp, length)) - cids.append(cid) - - return cids - - -class iTXt(str): - """ - Subclass of string to allow iTXt chunks to look like strings while - keeping their extra information - - """ - - @staticmethod - def __new__(cls, text, lang=None, tkey=None): - """ - :param cls: the class to use when creating the instance - :param text: value for this key - :param lang: language code - :param tkey: UTF-8 version of the key name - """ - - self = str.__new__(cls, text) - self.lang = lang - self.tkey = tkey - return self - - -class PngInfo: - """ - PNG chunk container (for use with save(pnginfo=)) - - """ - - def __init__(self): - self.chunks = [] - - def add(self, cid, data, after_idat=False): - """Appends an arbitrary chunk. Use with caution. - - :param cid: a byte string, 4 bytes long. - :param data: a byte string of the encoded data - :param after_idat: for use with private chunks. Whether the chunk - should be written after IDAT - - """ - - chunk = [cid, data] - if after_idat: - chunk.append(True) - self.chunks.append(tuple(chunk)) - - def add_itxt(self, key, value, lang="", tkey="", zip=False): - """Appends an iTXt chunk. - - :param key: latin-1 encodable text key name - :param value: value for this key - :param lang: language code - :param tkey: UTF-8 version of the key name - :param zip: compression flag - - """ - - if not isinstance(key, bytes): - key = key.encode("latin-1", "strict") - if not isinstance(value, bytes): - value = value.encode("utf-8", "strict") - if not isinstance(lang, bytes): - lang = lang.encode("utf-8", "strict") - if not isinstance(tkey, bytes): - tkey = tkey.encode("utf-8", "strict") - - if zip: - self.add( - b"iTXt", - key + b"\0\x01\0" + lang + b"\0" + tkey + b"\0" + zlib.compress(value), - ) - else: - self.add(b"iTXt", key + b"\0\0\0" + lang + b"\0" + tkey + b"\0" + value) - - def add_text(self, key, value, zip=False): - """Appends a text chunk. - - :param key: latin-1 encodable text key name - :param value: value for this key, text or an - :py:class:`PIL.PngImagePlugin.iTXt` instance - :param zip: compression flag - - """ - if isinstance(value, iTXt): - return self.add_itxt(key, value, value.lang, value.tkey, zip=zip) - - # The tEXt chunk stores latin-1 text - if not isinstance(value, bytes): - try: - value = value.encode("latin-1", "strict") - except UnicodeError: - return self.add_itxt(key, value, zip=zip) - - if not isinstance(key, bytes): - key = key.encode("latin-1", "strict") - - if zip: - self.add(b"zTXt", key + b"\0\0" + zlib.compress(value)) - else: - self.add(b"tEXt", key + b"\0" + value) - - -# -------------------------------------------------------------------- -# PNG image stream (IHDR/IEND) - - -class PngStream(ChunkStream): - def __init__(self, fp): - super().__init__(fp) - - # local copies of Image attributes - self.im_info = {} - self.im_text = {} - self.im_size = (0, 0) - self.im_mode = None - self.im_tile = None - self.im_palette = None - self.im_custom_mimetype = None - self.im_n_frames = None - self._seq_num = None - self.rewind_state = None - - self.text_memory = 0 - - def check_text_memory(self, chunklen): - self.text_memory += chunklen - if self.text_memory > MAX_TEXT_MEMORY: - raise ValueError( - "Too much memory used in text chunks: " - f"{self.text_memory}>MAX_TEXT_MEMORY" - ) - - def save_rewind(self): - self.rewind_state = { - "info": self.im_info.copy(), - "tile": self.im_tile, - "seq_num": self._seq_num, - } - - def rewind(self): - self.im_info = self.rewind_state["info"] - self.im_tile = self.rewind_state["tile"] - self._seq_num = self.rewind_state["seq_num"] - - def chunk_iCCP(self, pos, length): - - # ICC profile - s = ImageFile._safe_read(self.fp, length) - # according to PNG spec, the iCCP chunk contains: - # Profile name 1-79 bytes (character string) - # Null separator 1 byte (null character) - # Compression method 1 byte (0) - # Compressed profile n bytes (zlib with deflate compression) - i = s.find(b"\0") - logger.debug("iCCP profile name %r", s[:i]) - logger.debug("Compression method %s", s[i]) - comp_method = s[i] - if comp_method != 0: - raise SyntaxError(f"Unknown compression method {comp_method} in iCCP chunk") - try: - icc_profile = _safe_zlib_decompress(s[i + 2 :]) - except ValueError: - if ImageFile.LOAD_TRUNCATED_IMAGES: - icc_profile = None - else: - raise - except zlib.error: - icc_profile = None # FIXME - self.im_info["icc_profile"] = icc_profile - return s - - def chunk_IHDR(self, pos, length): - - # image header - s = ImageFile._safe_read(self.fp, length) - self.im_size = i32(s, 0), i32(s, 4) - try: - self.im_mode, self.im_rawmode = _MODES[(s[8], s[9])] - except Exception: - pass - if s[12]: - self.im_info["interlace"] = 1 - if s[11]: - raise SyntaxError("unknown filter category") - return s - - def chunk_IDAT(self, pos, length): - - # image data - if "bbox" in self.im_info: - tile = [("zip", self.im_info["bbox"], pos, self.im_rawmode)] - else: - if self.im_n_frames is not None: - self.im_info["default_image"] = True - tile = [("zip", (0, 0) + self.im_size, pos, self.im_rawmode)] - self.im_tile = tile - self.im_idat = length - raise EOFError - - def chunk_IEND(self, pos, length): - - # end of PNG image - raise EOFError - - def chunk_PLTE(self, pos, length): - - # palette - s = ImageFile._safe_read(self.fp, length) - if self.im_mode == "P": - self.im_palette = "RGB", s - return s - - def chunk_tRNS(self, pos, length): - - # transparency - s = ImageFile._safe_read(self.fp, length) - if self.im_mode == "P": - if _simple_palette.match(s): - # tRNS contains only one full-transparent entry, - # other entries are full opaque - i = s.find(b"\0") - if i >= 0: - self.im_info["transparency"] = i - else: - # otherwise, we have a byte string with one alpha value - # for each palette entry - self.im_info["transparency"] = s - elif self.im_mode in ("1", "L", "I"): - self.im_info["transparency"] = i16(s) - elif self.im_mode == "RGB": - self.im_info["transparency"] = i16(s), i16(s, 2), i16(s, 4) - return s - - def chunk_gAMA(self, pos, length): - # gamma setting - s = ImageFile._safe_read(self.fp, length) - self.im_info["gamma"] = i32(s) / 100000.0 - return s - - def chunk_cHRM(self, pos, length): - # chromaticity, 8 unsigned ints, actual value is scaled by 100,000 - # WP x,y, Red x,y, Green x,y Blue x,y - - s = ImageFile._safe_read(self.fp, length) - raw_vals = struct.unpack(">%dI" % (len(s) // 4), s) - self.im_info["chromaticity"] = tuple(elt / 100000.0 for elt in raw_vals) - return s - - def chunk_sRGB(self, pos, length): - # srgb rendering intent, 1 byte - # 0 perceptual - # 1 relative colorimetric - # 2 saturation - # 3 absolute colorimetric - - s = ImageFile._safe_read(self.fp, length) - self.im_info["srgb"] = s[0] - return s - - def chunk_pHYs(self, pos, length): - - # pixels per unit - s = ImageFile._safe_read(self.fp, length) - px, py = i32(s, 0), i32(s, 4) - unit = s[8] - if unit == 1: # meter - dpi = int(px * 0.0254 + 0.5), int(py * 0.0254 + 0.5) - self.im_info["dpi"] = dpi - elif unit == 0: - self.im_info["aspect"] = px, py - return s - - def chunk_tEXt(self, pos, length): - - # text - s = ImageFile._safe_read(self.fp, length) - try: - k, v = s.split(b"\0", 1) - except ValueError: - # fallback for broken tEXt tags - k = s - v = b"" - if k: - k = k.decode("latin-1", "strict") - v_str = v.decode("latin-1", "replace") - - self.im_info[k] = v if k == "exif" else v_str - self.im_text[k] = v_str - self.check_text_memory(len(v_str)) - - return s - - def chunk_zTXt(self, pos, length): - - # compressed text - s = ImageFile._safe_read(self.fp, length) - try: - k, v = s.split(b"\0", 1) - except ValueError: - k = s - v = b"" - if v: - comp_method = v[0] - else: - comp_method = 0 - if comp_method != 0: - raise SyntaxError(f"Unknown compression method {comp_method} in zTXt chunk") - try: - v = _safe_zlib_decompress(v[1:]) - except ValueError: - if ImageFile.LOAD_TRUNCATED_IMAGES: - v = b"" - else: - raise - except zlib.error: - v = b"" - - if k: - k = k.decode("latin-1", "strict") - v = v.decode("latin-1", "replace") - - self.im_info[k] = self.im_text[k] = v - self.check_text_memory(len(v)) - - return s - - def chunk_iTXt(self, pos, length): - - # international text - r = s = ImageFile._safe_read(self.fp, length) - try: - k, r = r.split(b"\0", 1) - except ValueError: - return s - if len(r) < 2: - return s - cf, cm, r = r[0], r[1], r[2:] - try: - lang, tk, v = r.split(b"\0", 2) - except ValueError: - return s - if cf != 0: - if cm == 0: - try: - v = _safe_zlib_decompress(v) - except ValueError: - if ImageFile.LOAD_TRUNCATED_IMAGES: - return s - else: - raise - except zlib.error: - return s - else: - return s - try: - k = k.decode("latin-1", "strict") - lang = lang.decode("utf-8", "strict") - tk = tk.decode("utf-8", "strict") - v = v.decode("utf-8", "strict") - except UnicodeError: - return s - - self.im_info[k] = self.im_text[k] = iTXt(v, lang, tk) - self.check_text_memory(len(v)) - - return s - - def chunk_eXIf(self, pos, length): - s = ImageFile._safe_read(self.fp, length) - self.im_info["exif"] = b"Exif\x00\x00" + s - return s - - # APNG chunks - def chunk_acTL(self, pos, length): - s = ImageFile._safe_read(self.fp, length) - if self.im_n_frames is not None: - self.im_n_frames = None - warnings.warn("Invalid APNG, will use default PNG image if possible") - return s - n_frames = i32(s) - if n_frames == 0 or n_frames > 0x80000000: - warnings.warn("Invalid APNG, will use default PNG image if possible") - return s - self.im_n_frames = n_frames - self.im_info["loop"] = i32(s, 4) - self.im_custom_mimetype = "image/apng" - return s - - def chunk_fcTL(self, pos, length): - s = ImageFile._safe_read(self.fp, length) - seq = i32(s) - if (self._seq_num is None and seq != 0) or ( - self._seq_num is not None and self._seq_num != seq - 1 - ): - raise SyntaxError("APNG contains frame sequence errors") - self._seq_num = seq - width, height = i32(s, 4), i32(s, 8) - px, py = i32(s, 12), i32(s, 16) - im_w, im_h = self.im_size - if px + width > im_w or py + height > im_h: - raise SyntaxError("APNG contains invalid frames") - self.im_info["bbox"] = (px, py, px + width, py + height) - delay_num, delay_den = i16(s, 20), i16(s, 22) - if delay_den == 0: - delay_den = 100 - self.im_info["duration"] = float(delay_num) / float(delay_den) * 1000 - self.im_info["disposal"] = s[24] - self.im_info["blend"] = s[25] - return s - - def chunk_fdAT(self, pos, length): - s = ImageFile._safe_read(self.fp, 4) - seq = i32(s) - if self._seq_num != seq - 1: - raise SyntaxError("APNG contains frame sequence errors") - self._seq_num = seq - return self.chunk_IDAT(pos + 4, length - 4) - - -# -------------------------------------------------------------------- -# PNG reader - - -def _accept(prefix): - return prefix[:8] == _MAGIC - - -## -# Image plugin for PNG images. - - -class PngImageFile(ImageFile.ImageFile): - - format = "PNG" - format_description = "Portable network graphics" - - def _open(self): - - if not _accept(self.fp.read(8)): - raise SyntaxError("not a PNG file") - self.__fp = self.fp - self.__frame = 0 - - # - # Parse headers up to the first IDAT or fDAT chunk - - self.private_chunks = [] - self.png = PngStream(self.fp) - - while True: - - # - # get next chunk - - cid, pos, length = self.png.read() - - try: - s = self.png.call(cid, pos, length) - except EOFError: - break - except AttributeError: - logger.debug("%r %s %s (unknown)", cid, pos, length) - s = ImageFile._safe_read(self.fp, length) - if cid[1:2].islower(): - self.private_chunks.append((cid, s)) - - self.png.crc(cid, s) - - # - # Copy relevant attributes from the PngStream. An alternative - # would be to let the PngStream class modify these attributes - # directly, but that introduces circular references which are - # difficult to break if things go wrong in the decoder... - # (believe me, I've tried ;-) - - self.mode = self.png.im_mode - self._size = self.png.im_size - self.info = self.png.im_info - self._text = None - self.tile = self.png.im_tile - self.custom_mimetype = self.png.im_custom_mimetype - self.n_frames = self.png.im_n_frames or 1 - self.default_image = self.info.get("default_image", False) - - if self.png.im_palette: - rawmode, data = self.png.im_palette - self.palette = ImagePalette.raw(rawmode, data) - - if cid == b"fdAT": - self.__prepare_idat = length - 4 - else: - self.__prepare_idat = length # used by load_prepare() - - if self.png.im_n_frames is not None: - self._close_exclusive_fp_after_loading = False - self.png.save_rewind() - self.__rewind_idat = self.__prepare_idat - self.__rewind = self.__fp.tell() - if self.default_image: - # IDAT chunk contains default image and not first animation frame - self.n_frames += 1 - self._seek(0) - self.is_animated = self.n_frames > 1 - - @property - def text(self): - # experimental - if self._text is None: - # iTxt, tEXt and zTXt chunks may appear at the end of the file - # So load the file to ensure that they are read - if self.is_animated: - frame = self.__frame - # for APNG, seek to the final frame before loading - self.seek(self.n_frames - 1) - self.load() - if self.is_animated: - self.seek(frame) - return self._text - - def verify(self): - """Verify PNG file""" - - if self.fp is None: - raise RuntimeError("verify must be called directly after open") - - # back up to beginning of IDAT block - self.fp.seek(self.tile[0][2] - 8) - - self.png.verify() - self.png.close() - - if self._exclusive_fp: - self.fp.close() - self.fp = None - - def seek(self, frame): - if not self._seek_check(frame): - return - if frame < self.__frame: - self._seek(0, True) - - last_frame = self.__frame - for f in range(self.__frame + 1, frame + 1): - try: - self._seek(f) - except EOFError as e: - self.seek(last_frame) - raise EOFError("no more images in APNG file") from e - - def _seek(self, frame, rewind=False): - if frame == 0: - if rewind: - self.__fp.seek(self.__rewind) - self.png.rewind() - self.__prepare_idat = self.__rewind_idat - self.im = None - if self.pyaccess: - self.pyaccess = None - self.info = self.png.im_info - self.tile = self.png.im_tile - self.fp = self.__fp - self._prev_im = None - self.dispose = None - self.default_image = self.info.get("default_image", False) - self.dispose_op = self.info.get("disposal") - self.blend_op = self.info.get("blend") - self.dispose_extent = self.info.get("bbox") - self.__frame = 0 - else: - if frame != self.__frame + 1: - raise ValueError(f"cannot seek to frame {frame}") - - # ensure previous frame was loaded - self.load() - - if self.dispose: - self.im.paste(self.dispose, self.dispose_extent) - self._prev_im = self.im.copy() - - self.fp = self.__fp - - # advance to the next frame - if self.__prepare_idat: - ImageFile._safe_read(self.fp, self.__prepare_idat) - self.__prepare_idat = 0 - frame_start = False - while True: - self.fp.read(4) # CRC - - try: - cid, pos, length = self.png.read() - except (struct.error, SyntaxError): - break - - if cid == b"IEND": - raise EOFError("No more images in APNG file") - if cid == b"fcTL": - if frame_start: - # there must be at least one fdAT chunk between fcTL chunks - raise SyntaxError("APNG missing frame data") - frame_start = True - - try: - self.png.call(cid, pos, length) - except UnicodeDecodeError: - break - except EOFError: - if cid == b"fdAT": - length -= 4 - if frame_start: - self.__prepare_idat = length - break - ImageFile._safe_read(self.fp, length) - except AttributeError: - logger.debug("%r %s %s (unknown)", cid, pos, length) - ImageFile._safe_read(self.fp, length) - - self.__frame = frame - self.tile = self.png.im_tile - self.dispose_op = self.info.get("disposal") - self.blend_op = self.info.get("blend") - self.dispose_extent = self.info.get("bbox") - - if not self.tile: - raise EOFError - - # setup frame disposal (actual disposal done when needed in the next _seek()) - if self._prev_im is None and self.dispose_op == APNG_DISPOSE_OP_PREVIOUS: - self.dispose_op = APNG_DISPOSE_OP_BACKGROUND - - if self.dispose_op == APNG_DISPOSE_OP_PREVIOUS: - self.dispose = self._prev_im.copy() - self.dispose = self._crop(self.dispose, self.dispose_extent) - elif self.dispose_op == APNG_DISPOSE_OP_BACKGROUND: - self.dispose = Image.core.fill(self.mode, self.size) - self.dispose = self._crop(self.dispose, self.dispose_extent) - else: - self.dispose = None - - def tell(self): - return self.__frame - - def load_prepare(self): - """internal: prepare to read PNG file""" - - if self.info.get("interlace"): - self.decoderconfig = self.decoderconfig + (1,) - - self.__idat = self.__prepare_idat # used by load_read() - ImageFile.ImageFile.load_prepare(self) - - def load_read(self, read_bytes): - """internal: read more image data""" - - while self.__idat == 0: - # end of chunk, skip forward to next one - - self.fp.read(4) # CRC - - cid, pos, length = self.png.read() - - if cid not in [b"IDAT", b"DDAT", b"fdAT"]: - self.png.push(cid, pos, length) - return b"" - - if cid == b"fdAT": - try: - self.png.call(cid, pos, length) - except EOFError: - pass - self.__idat = length - 4 # sequence_num has already been read - else: - self.__idat = length # empty chunks are allowed - - # read more data from this chunk - if read_bytes <= 0: - read_bytes = self.__idat - else: - read_bytes = min(read_bytes, self.__idat) - - self.__idat = self.__idat - read_bytes - - return self.fp.read(read_bytes) - - def load_end(self): - """internal: finished reading image data""" - while True: - self.fp.read(4) # CRC - - try: - cid, pos, length = self.png.read() - except (struct.error, SyntaxError): - break - - if cid == b"IEND": - break - elif cid == b"fcTL" and self.is_animated: - # start of the next frame, stop reading - self.__prepare_idat = 0 - self.png.push(cid, pos, length) - break - - try: - self.png.call(cid, pos, length) - except UnicodeDecodeError: - break - except EOFError: - if cid == b"fdAT": - length -= 4 - ImageFile._safe_read(self.fp, length) - except AttributeError: - logger.debug("%r %s %s (unknown)", cid, pos, length) - s = ImageFile._safe_read(self.fp, length) - if cid[1:2].islower(): - self.private_chunks.append((cid, s, True)) - self._text = self.png.im_text - if not self.is_animated: - self.png.close() - self.png = None - else: - if self._prev_im and self.blend_op == APNG_BLEND_OP_OVER: - updated = self._crop(self.im, self.dispose_extent) - self._prev_im.paste( - updated, self.dispose_extent, updated.convert("RGBA") - ) - self.im = self._prev_im - if self.pyaccess: - self.pyaccess = None - - def _getexif(self): - if "exif" not in self.info: - self.load() - if "exif" not in self.info and "Raw profile type exif" not in self.info: - return None - return dict(self.getexif()) - - def getexif(self): - if "exif" not in self.info: - self.load() - - return super().getexif() - - def _close__fp(self): - try: - if self.__fp != self.fp: - self.__fp.close() - except AttributeError: - pass - finally: - self.__fp = None - - -# -------------------------------------------------------------------- -# PNG writer - -_OUTMODES = { - # supported PIL modes, and corresponding rawmodes/bits/color combinations - "1": ("1", b"\x01\x00"), - "L;1": ("L;1", b"\x01\x00"), - "L;2": ("L;2", b"\x02\x00"), - "L;4": ("L;4", b"\x04\x00"), - "L": ("L", b"\x08\x00"), - "LA": ("LA", b"\x08\x04"), - "I": ("I;16B", b"\x10\x00"), - "I;16": ("I;16B", b"\x10\x00"), - "P;1": ("P;1", b"\x01\x03"), - "P;2": ("P;2", b"\x02\x03"), - "P;4": ("P;4", b"\x04\x03"), - "P": ("P", b"\x08\x03"), - "RGB": ("RGB", b"\x08\x02"), - "RGBA": ("RGBA", b"\x08\x06"), -} - - -def putchunk(fp, cid, *data): - """Write a PNG chunk (including CRC field)""" - - data = b"".join(data) - - fp.write(o32(len(data)) + cid) - fp.write(data) - crc = _crc32(data, _crc32(cid)) - fp.write(o32(crc)) - - -class _idat: - # wrap output from the encoder in IDAT chunks - - def __init__(self, fp, chunk): - self.fp = fp - self.chunk = chunk - - def write(self, data): - self.chunk(self.fp, b"IDAT", data) - - -class _fdat: - # wrap encoder output in fdAT chunks - - def __init__(self, fp, chunk, seq_num): - self.fp = fp - self.chunk = chunk - self.seq_num = seq_num - - def write(self, data): - self.chunk(self.fp, b"fdAT", o32(self.seq_num), data) - self.seq_num += 1 - - -def _write_multiple_frames(im, fp, chunk, rawmode): - default_image = im.encoderinfo.get("default_image", im.info.get("default_image")) - duration = im.encoderinfo.get("duration", im.info.get("duration", 0)) - loop = im.encoderinfo.get("loop", im.info.get("loop", 0)) - disposal = im.encoderinfo.get("disposal", im.info.get("disposal")) - blend = im.encoderinfo.get("blend", im.info.get("blend")) - - if default_image: - chain = itertools.chain(im.encoderinfo.get("append_images", [])) - else: - chain = itertools.chain([im], im.encoderinfo.get("append_images", [])) - - im_frames = [] - frame_count = 0 - for im_seq in chain: - for im_frame in ImageSequence.Iterator(im_seq): - im_frame = im_frame.copy() - if im_frame.mode != im.mode: - if im.mode == "P": - im_frame = im_frame.convert(im.mode, palette=im.palette) - else: - im_frame = im_frame.convert(im.mode) - encoderinfo = im.encoderinfo.copy() - if isinstance(duration, (list, tuple)): - encoderinfo["duration"] = duration[frame_count] - if isinstance(disposal, (list, tuple)): - encoderinfo["disposal"] = disposal[frame_count] - if isinstance(blend, (list, tuple)): - encoderinfo["blend"] = blend[frame_count] - frame_count += 1 - - if im_frames: - previous = im_frames[-1] - prev_disposal = previous["encoderinfo"].get("disposal") - prev_blend = previous["encoderinfo"].get("blend") - if prev_disposal == APNG_DISPOSE_OP_PREVIOUS and len(im_frames) < 2: - prev_disposal = APNG_DISPOSE_OP_BACKGROUND - - if prev_disposal == APNG_DISPOSE_OP_BACKGROUND: - base_im = previous["im"] - dispose = Image.core.fill("RGBA", im.size, (0, 0, 0, 0)) - bbox = previous["bbox"] - if bbox: - dispose = dispose.crop(bbox) - else: - bbox = (0, 0) + im.size - base_im.paste(dispose, bbox) - elif prev_disposal == APNG_DISPOSE_OP_PREVIOUS: - base_im = im_frames[-2]["im"] - else: - base_im = previous["im"] - delta = ImageChops.subtract_modulo( - im_frame.convert("RGB"), base_im.convert("RGB") - ) - bbox = delta.getbbox() - if ( - not bbox - and prev_disposal == encoderinfo.get("disposal") - and prev_blend == encoderinfo.get("blend") - ): - duration = encoderinfo.get("duration", 0) - if duration: - if "duration" in previous["encoderinfo"]: - previous["encoderinfo"]["duration"] += duration - else: - previous["encoderinfo"]["duration"] = duration - continue - else: - bbox = None - im_frames.append({"im": im_frame, "bbox": bbox, "encoderinfo": encoderinfo}) - - # animation control - chunk( - fp, - b"acTL", - o32(len(im_frames)), # 0: num_frames - o32(loop), # 4: num_plays - ) - - # default image IDAT (if it exists) - if default_image: - ImageFile._save(im, _idat(fp, chunk), [("zip", (0, 0) + im.size, 0, rawmode)]) - - seq_num = 0 - for frame, frame_data in enumerate(im_frames): - im_frame = frame_data["im"] - if not frame_data["bbox"]: - bbox = (0, 0) + im_frame.size - else: - bbox = frame_data["bbox"] - im_frame = im_frame.crop(bbox) - size = im_frame.size - duration = int(round(frame_data["encoderinfo"].get("duration", 0))) - disposal = frame_data["encoderinfo"].get("disposal", APNG_DISPOSE_OP_NONE) - blend = frame_data["encoderinfo"].get("blend", APNG_BLEND_OP_SOURCE) - # frame control - chunk( - fp, - b"fcTL", - o32(seq_num), # sequence_number - o32(size[0]), # width - o32(size[1]), # height - o32(bbox[0]), # x_offset - o32(bbox[1]), # y_offset - o16(duration), # delay_numerator - o16(1000), # delay_denominator - o8(disposal), # dispose_op - o8(blend), # blend_op - ) - seq_num += 1 - # frame data - if frame == 0 and not default_image: - # first frame must be in IDAT chunks for backwards compatibility - ImageFile._save( - im_frame, - _idat(fp, chunk), - [("zip", (0, 0) + im_frame.size, 0, rawmode)], - ) - else: - fdat_chunks = _fdat(fp, chunk, seq_num) - ImageFile._save( - im_frame, - fdat_chunks, - [("zip", (0, 0) + im_frame.size, 0, rawmode)], - ) - seq_num = fdat_chunks.seq_num - - -def _save_all(im, fp, filename): - _save(im, fp, filename, save_all=True) - - -def _save(im, fp, filename, chunk=putchunk, save_all=False): - # save an image to disk (called by the save method) - - mode = im.mode - - if mode == "P": - - # - # attempt to minimize storage requirements for palette images - if "bits" in im.encoderinfo: - # number of bits specified by user - colors = 1 << im.encoderinfo["bits"] - else: - # check palette contents - if im.palette: - colors = max(min(len(im.palette.getdata()[1]) // 3, 256), 2) - else: - colors = 256 - - if colors <= 2: - bits = 1 - elif colors <= 4: - bits = 2 - elif colors <= 16: - bits = 4 - else: - bits = 8 - if bits != 8: - mode = f"{mode};{bits}" - - # encoder options - im.encoderconfig = ( - im.encoderinfo.get("optimize", False), - im.encoderinfo.get("compress_level", -1), - im.encoderinfo.get("compress_type", -1), - im.encoderinfo.get("dictionary", b""), - ) - - # get the corresponding PNG mode - try: - rawmode, mode = _OUTMODES[mode] - except KeyError as e: - raise OSError(f"cannot write mode {mode} as PNG") from e - - # - # write minimal PNG file - - fp.write(_MAGIC) - - chunk( - fp, - b"IHDR", - o32(im.size[0]), # 0: size - o32(im.size[1]), - mode, # 8: depth/type - b"\0", # 10: compression - b"\0", # 11: filter category - b"\0", # 12: interlace flag - ) - - chunks = [b"cHRM", b"gAMA", b"sBIT", b"sRGB", b"tIME"] - - icc = im.encoderinfo.get("icc_profile", im.info.get("icc_profile")) - if icc: - # ICC profile - # according to PNG spec, the iCCP chunk contains: - # Profile name 1-79 bytes (character string) - # Null separator 1 byte (null character) - # Compression method 1 byte (0) - # Compressed profile n bytes (zlib with deflate compression) - name = b"ICC Profile" - data = name + b"\0\0" + zlib.compress(icc) - chunk(fp, b"iCCP", data) - - # You must either have sRGB or iCCP. - # Disallow sRGB chunks when an iCCP-chunk has been emitted. - chunks.remove(b"sRGB") - - info = im.encoderinfo.get("pnginfo") - if info: - chunks_multiple_allowed = [b"sPLT", b"iTXt", b"tEXt", b"zTXt"] - for info_chunk in info.chunks: - cid, data = info_chunk[:2] - if cid in chunks: - chunks.remove(cid) - chunk(fp, cid, data) - elif cid in chunks_multiple_allowed: - chunk(fp, cid, data) - elif cid[1:2].islower(): - # Private chunk - after_idat = info_chunk[2:3] - if not after_idat: - chunk(fp, cid, data) - - if im.mode == "P": - palette_byte_number = (2 ** bits) * 3 - palette_bytes = im.im.getpalette("RGB")[:palette_byte_number] - while len(palette_bytes) < palette_byte_number: - palette_bytes += b"\0" - chunk(fp, b"PLTE", palette_bytes) - - transparency = im.encoderinfo.get("transparency", im.info.get("transparency", None)) - - if transparency or transparency == 0: - if im.mode == "P": - # limit to actual palette size - alpha_bytes = 2 ** bits - if isinstance(transparency, bytes): - chunk(fp, b"tRNS", transparency[:alpha_bytes]) - else: - transparency = max(0, min(255, transparency)) - alpha = b"\xFF" * transparency + b"\0" - chunk(fp, b"tRNS", alpha[:alpha_bytes]) - elif im.mode in ("1", "L", "I"): - transparency = max(0, min(65535, transparency)) - chunk(fp, b"tRNS", o16(transparency)) - elif im.mode == "RGB": - red, green, blue = transparency - chunk(fp, b"tRNS", o16(red) + o16(green) + o16(blue)) - else: - if "transparency" in im.encoderinfo: - # don't bother with transparency if it's an RGBA - # and it's in the info dict. It's probably just stale. - raise OSError("cannot use transparency for this mode") - else: - if im.mode == "P" and im.im.getpalettemode() == "RGBA": - alpha = im.im.getpalette("RGBA", "A") - alpha_bytes = 2 ** bits - chunk(fp, b"tRNS", alpha[:alpha_bytes]) - - dpi = im.encoderinfo.get("dpi") - if dpi: - chunk( - fp, - b"pHYs", - o32(int(dpi[0] / 0.0254 + 0.5)), - o32(int(dpi[1] / 0.0254 + 0.5)), - b"\x01", - ) - - if info: - chunks = [b"bKGD", b"hIST"] - for info_chunk in info.chunks: - cid, data = info_chunk[:2] - if cid in chunks: - chunks.remove(cid) - chunk(fp, cid, data) - - exif = im.encoderinfo.get("exif", im.info.get("exif")) - if exif: - if isinstance(exif, Image.Exif): - exif = exif.tobytes(8) - if exif.startswith(b"Exif\x00\x00"): - exif = exif[6:] - chunk(fp, b"eXIf", exif) - - if save_all: - _write_multiple_frames(im, fp, chunk, rawmode) - else: - ImageFile._save(im, _idat(fp, chunk), [("zip", (0, 0) + im.size, 0, rawmode)]) - - if info: - for info_chunk in info.chunks: - cid, data = info_chunk[:2] - if cid[1:2].islower(): - # Private chunk - after_idat = info_chunk[2:3] - if after_idat: - chunk(fp, cid, data) - - chunk(fp, b"IEND", b"") - - if hasattr(fp, "flush"): - fp.flush() - - -# -------------------------------------------------------------------- -# PNG chunk converter - - -def getchunks(im, **params): - """Return a list of PNG chunks representing this image.""" - - class collector: - data = [] - - def write(self, data): - pass - - def append(self, chunk): - self.data.append(chunk) - - def append(fp, cid, *data): - data = b"".join(data) - crc = o32(_crc32(data, _crc32(cid))) - fp.append((cid, data, crc)) - - fp = collector() - - try: - im.encoderinfo = params - _save(im, fp, None, append) - finally: - del im.encoderinfo - - return fp.data - - -# -------------------------------------------------------------------- -# Registry - -Image.register_open(PngImageFile.format, PngImageFile, _accept) -Image.register_save(PngImageFile.format, _save) -Image.register_save_all(PngImageFile.format, _save_all) - -Image.register_extensions(PngImageFile.format, [".png", ".apng"]) - -Image.register_mime(PngImageFile.format, "image/png") diff --git a/venv/lib/python3.8/site-packages/PIL/PpmImagePlugin.py b/venv/lib/python3.8/site-packages/PIL/PpmImagePlugin.py deleted file mode 100644 index abf4d651..00000000 --- a/venv/lib/python3.8/site-packages/PIL/PpmImagePlugin.py +++ /dev/null @@ -1,164 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# PPM support for PIL -# -# History: -# 96-03-24 fl Created -# 98-03-06 fl Write RGBA images (as RGB, that is) -# -# Copyright (c) Secret Labs AB 1997-98. -# Copyright (c) Fredrik Lundh 1996. -# -# See the README file for information on usage and redistribution. -# - - -from . import Image, ImageFile - -# -# -------------------------------------------------------------------- - -b_whitespace = b"\x20\x09\x0a\x0b\x0c\x0d" - -MODES = { - # standard - b"P4": "1", - b"P5": "L", - b"P6": "RGB", - # extensions - b"P0CMYK": "CMYK", - # PIL extensions (for test purposes only) - b"PyP": "P", - b"PyRGBA": "RGBA", - b"PyCMYK": "CMYK", -} - - -def _accept(prefix): - return prefix[0:1] == b"P" and prefix[1] in b"0456y" - - -## -# Image plugin for PBM, PGM, and PPM images. - - -class PpmImageFile(ImageFile.ImageFile): - - format = "PPM" - format_description = "Pbmplus image" - - def _token(self, s=b""): - while True: # read until next whitespace - c = self.fp.read(1) - if not c or c in b_whitespace: - break - if c > b"\x79": - raise ValueError("Expected ASCII value, found binary") - s = s + c - if len(s) > 9: - raise ValueError("Expected int, got > 9 digits") - return s - - def _open(self): - - # check magic - s = self.fp.read(1) - if s != b"P": - raise SyntaxError("not a PPM file") - magic_number = self._token(s) - mode = MODES[magic_number] - - self.custom_mimetype = { - b"P4": "image/x-portable-bitmap", - b"P5": "image/x-portable-graymap", - b"P6": "image/x-portable-pixmap", - }.get(magic_number) - - if mode == "1": - self.mode = "1" - rawmode = "1;I" - else: - self.mode = rawmode = mode - - for ix in range(3): - while True: - while True: - s = self.fp.read(1) - if s not in b_whitespace: - break - if s == b"": - raise ValueError("File does not extend beyond magic number") - if s != b"#": - break - s = self.fp.readline() - s = int(self._token(s)) - if ix == 0: - xsize = s - elif ix == 1: - ysize = s - if mode == "1": - break - elif ix == 2: - # maxgrey - if s > 255: - if not mode == "L": - raise ValueError(f"Too many colors for band: {s}") - if s < 2 ** 16: - self.mode = "I" - rawmode = "I;16B" - else: - self.mode = "I" - rawmode = "I;32B" - - self._size = xsize, ysize - self.tile = [("raw", (0, 0, xsize, ysize), self.fp.tell(), (rawmode, 0, 1))] - - -# -# -------------------------------------------------------------------- - - -def _save(im, fp, filename): - if im.mode == "1": - rawmode, head = "1;I", b"P4" - elif im.mode == "L": - rawmode, head = "L", b"P5" - elif im.mode == "I": - if im.getextrema()[1] < 2 ** 16: - rawmode, head = "I;16B", b"P5" - else: - rawmode, head = "I;32B", b"P5" - elif im.mode == "RGB": - rawmode, head = "RGB", b"P6" - elif im.mode == "RGBA": - rawmode, head = "RGB", b"P6" - else: - raise OSError(f"cannot write mode {im.mode} as PPM") - fp.write(head + ("\n%d %d\n" % im.size).encode("ascii")) - if head == b"P6": - fp.write(b"255\n") - if head == b"P5": - if rawmode == "L": - fp.write(b"255\n") - elif rawmode == "I;16B": - fp.write(b"65535\n") - elif rawmode == "I;32B": - fp.write(b"2147483648\n") - ImageFile._save(im, fp, [("raw", (0, 0) + im.size, 0, (rawmode, 0, 1))]) - - # ALTERNATIVE: save via builtin debug function - # im._dump(filename) - - -# -# -------------------------------------------------------------------- - - -Image.register_open(PpmImageFile.format, PpmImageFile, _accept) -Image.register_save(PpmImageFile.format, _save) - -Image.register_extensions(PpmImageFile.format, [".pbm", ".pgm", ".ppm", ".pnm"]) - -Image.register_mime(PpmImageFile.format, "image/x-portable-anymap") diff --git a/venv/lib/python3.8/site-packages/PIL/PsdImagePlugin.py b/venv/lib/python3.8/site-packages/PIL/PsdImagePlugin.py deleted file mode 100644 index d3799edc..00000000 --- a/venv/lib/python3.8/site-packages/PIL/PsdImagePlugin.py +++ /dev/null @@ -1,313 +0,0 @@ -# -# The Python Imaging Library -# $Id$ -# -# Adobe PSD 2.5/3.0 file handling -# -# History: -# 1995-09-01 fl Created -# 1997-01-03 fl Read most PSD images -# 1997-01-18 fl Fixed P and CMYK support -# 2001-10-21 fl Added seek/tell support (for layers) -# -# Copyright (c) 1997-2001 by Secret Labs AB. -# Copyright (c) 1995-2001 by Fredrik Lundh -# -# See the README file for information on usage and redistribution. -# - -import io - -from . import Image, ImageFile, ImagePalette -from ._binary import i8 -from ._binary import i16be as i16 -from ._binary import i32be as i32 - -MODES = { - # (photoshop mode, bits) -> (pil mode, required channels) - (0, 1): ("1", 1), - (0, 8): ("L", 1), - (1, 8): ("L", 1), - (2, 8): ("P", 1), - (3, 8): ("RGB", 3), - (4, 8): ("CMYK", 4), - (7, 8): ("L", 1), # FIXME: multilayer - (8, 8): ("L", 1), # duotone - (9, 8): ("LAB", 3), -} - - -# --------------------------------------------------------------------. -# read PSD images - - -def _accept(prefix): - return prefix[:4] == b"8BPS" - - -## -# Image plugin for Photoshop images. - - -class PsdImageFile(ImageFile.ImageFile): - - format = "PSD" - format_description = "Adobe Photoshop" - _close_exclusive_fp_after_loading = False - - def _open(self): - - read = self.fp.read - - # - # header - - s = read(26) - if not _accept(s) or i16(s, 4) != 1: - raise SyntaxError("not a PSD file") - - psd_bits = i16(s, 22) - psd_channels = i16(s, 12) - psd_mode = i16(s, 24) - - mode, channels = MODES[(psd_mode, psd_bits)] - - if channels > psd_channels: - raise OSError("not enough channels") - - self.mode = mode - self._size = i32(s, 18), i32(s, 14) - - # - # color mode data - - size = i32(read(4)) - if size: - data = read(size) - if mode == "P" and size == 768: - self.palette = ImagePalette.raw("RGB;L", data) - - # - # image resources - - self.resources = [] - - size = i32(read(4)) - if size: - # load resources - end = self.fp.tell() + size - while self.fp.tell() < end: - read(4) # signature - id = i16(read(2)) - name = read(i8(read(1))) - if not (len(name) & 1): - read(1) # padding - data = read(i32(read(4))) - if len(data) & 1: - read(1) # padding - self.resources.append((id, name, data)) - if id == 1039: # ICC profile - self.info["icc_profile"] = data - - # - # layer and mask information - - self.layers = [] - - size = i32(read(4)) - if size: - end = self.fp.tell() + size - size = i32(read(4)) - if size: - self.layers = _layerinfo(self.fp) - self.fp.seek(end) - self.n_frames = len(self.layers) - self.is_animated = self.n_frames > 1 - - # - # image descriptor - - self.tile = _maketile(self.fp, mode, (0, 0) + self.size, channels) - - # keep the file open - self.__fp = self.fp - self.frame = 1 - self._min_frame = 1 - - def seek(self, layer): - if not self._seek_check(layer): - return - - # seek to given layer (1..max) - try: - name, mode, bbox, tile = self.layers[layer - 1] - self.mode = mode - self.tile = tile - self.frame = layer - self.fp = self.__fp - return name, bbox - except IndexError as e: - raise EOFError("no such layer") from e - - def tell(self): - # return layer number (0=image, 1..max=layers) - return self.frame - - def load_prepare(self): - # create image memory if necessary - if not self.im or self.im.mode != self.mode or self.im.size != self.size: - self.im = Image.core.fill(self.mode, self.size, 0) - # create palette (optional) - if self.mode == "P": - Image.Image.load(self) - - def _close__fp(self): - try: - if self.__fp != self.fp: - self.__fp.close() - except AttributeError: - pass - finally: - self.__fp = None - - -def _layerinfo(file): - # read layerinfo block - layers = [] - read = file.read - for i in range(abs(i16(read(2)))): - - # bounding box - y0 = i32(read(4)) - x0 = i32(read(4)) - y1 = i32(read(4)) - x1 = i32(read(4)) - - # image info - info = [] - mode = [] - types = list(range(i16(read(2)))) - if len(types) > 4: - continue - - for i in types: - type = i16(read(2)) - - if type == 65535: - m = "A" - else: - m = "RGBA"[type] - - mode.append(m) - size = i32(read(4)) - info.append((m, size)) - - # figure out the image mode - mode.sort() - if mode == ["R"]: - mode = "L" - elif mode == ["B", "G", "R"]: - mode = "RGB" - elif mode == ["A", "B", "G", "R"]: - mode = "RGBA" - else: - mode = None # unknown - - # skip over blend flags and extra information - read(12) # filler - name = "" - size = i32(read(4)) # length of the extra data field - combined = 0 - if size: - data_end = file.tell() + size - - length = i32(read(4)) - if length: - file.seek(length - 16, io.SEEK_CUR) - combined += length + 4 - - length = i32(read(4)) - if length: - file.seek(length, io.SEEK_CUR) - combined += length + 4 - - length = i8(read(1)) - if length: - # Don't know the proper encoding, - # Latin-1 should be a good guess - name = read(length).decode("latin-1", "replace") - combined += length + 1 - - file.seek(data_end) - layers.append((name, mode, (x0, y0, x1, y1))) - - # get tiles - i = 0 - for name, mode, bbox in layers: - tile = [] - for m in mode: - t = _maketile(file, m, bbox, 1) - if t: - tile.extend(t) - layers[i] = name, mode, bbox, tile - i += 1 - - return layers - - -def _maketile(file, mode, bbox, channels): - - tile = None - read = file.read - - compression = i16(read(2)) - - xsize = bbox[2] - bbox[0] - ysize = bbox[3] - bbox[1] - - offset = file.tell() - - if compression == 0: - # - # raw compression - tile = [] - for channel in range(channels): - layer = mode[channel] - if mode == "CMYK": - layer += ";I" - tile.append(("raw", bbox, offset, layer)) - offset = offset + xsize * ysize - - elif compression == 1: - # - # packbits compression - i = 0 - tile = [] - bytecount = read(channels * ysize * 2) - offset = file.tell() - for channel in range(channels): - layer = mode[channel] - if mode == "CMYK": - layer += ";I" - tile.append(("packbits", bbox, offset, layer)) - for y in range(ysize): - offset = offset + i16(bytecount, i) - i += 2 - - file.seek(offset) - - if offset & 1: - read(1) # padding - - return tile - - -# -------------------------------------------------------------------- -# registry - - -Image.register_open(PsdImageFile.format, PsdImageFile, _accept) - -Image.register_extension(PsdImageFile.format, ".psd") - -Image.register_mime(PsdImageFile.format, "image/vnd.adobe.photoshop") diff --git a/venv/lib/python3.8/site-packages/PIL/PyAccess.py b/venv/lib/python3.8/site-packages/PIL/PyAccess.py deleted file mode 100644 index 494f5f9f..00000000 --- a/venv/lib/python3.8/site-packages/PIL/PyAccess.py +++ /dev/null @@ -1,352 +0,0 @@ -# -# The Python Imaging Library -# Pillow fork -# -# Python implementation of the PixelAccess Object -# -# Copyright (c) 1997-2009 by Secret Labs AB. All rights reserved. -# Copyright (c) 1995-2009 by Fredrik Lundh. -# Copyright (c) 2013 Eric Soroos -# -# See the README file for information on usage and redistribution -# - -# Notes: -# -# * Implements the pixel access object following Access. -# * Does not implement the line functions, as they don't appear to be used -# * Taking only the tuple form, which is used from python. -# * Fill.c uses the integer form, but it's still going to use the old -# Access.c implementation. -# - -import logging -import sys - -try: - from cffi import FFI - - defs = """ - struct Pixel_RGBA { - unsigned char r,g,b,a; - }; - struct Pixel_I16 { - unsigned char l,r; - }; - """ - ffi = FFI() - ffi.cdef(defs) -except ImportError as ex: - # Allow error import for doc purposes, but error out when accessing - # anything in core. - from ._util import deferred_error - - FFI = ffi = deferred_error(ex) - -logger = logging.getLogger(__name__) - - -class PyAccess: - def __init__(self, img, readonly=False): - vals = dict(img.im.unsafe_ptrs) - self.readonly = readonly - self.image8 = ffi.cast("unsigned char **", vals["image8"]) - self.image32 = ffi.cast("int **", vals["image32"]) - self.image = ffi.cast("unsigned char **", vals["image"]) - self.xsize, self.ysize = img.im.size - - # Keep pointer to im object to prevent dereferencing. - self._im = img.im - if self._im.mode == "P": - self._palette = img.palette - - # Debugging is polluting test traces, only useful here - # when hacking on PyAccess - # logger.debug("%s", vals) - self._post_init() - - def _post_init(self): - pass - - def __setitem__(self, xy, color): - """ - Modifies the pixel at x,y. The color is given as a single - numerical value for single band images, and a tuple for - multi-band images - - :param xy: The pixel coordinate, given as (x, y). See - :ref:`coordinate-system`. - :param color: The pixel value. - """ - if self.readonly: - raise ValueError("Attempt to putpixel a read only image") - (x, y) = xy - if x < 0: - x = self.xsize + x - if y < 0: - y = self.ysize + y - (x, y) = self.check_xy((x, y)) - - if ( - self._im.mode == "P" - and isinstance(color, (list, tuple)) - and len(color) in [3, 4] - ): - # RGB or RGBA value for a P image - color = self._palette.getcolor(color) - - return self.set_pixel(x, y, color) - - def __getitem__(self, xy): - """ - Returns the pixel at x,y. The pixel is returned as a single - value for single band images or a tuple for multiple band - images - - :param xy: The pixel coordinate, given as (x, y). See - :ref:`coordinate-system`. - :returns: a pixel value for single band images, a tuple of - pixel values for multiband images. - """ - (x, y) = xy - if x < 0: - x = self.xsize + x - if y < 0: - y = self.ysize + y - (x, y) = self.check_xy((x, y)) - return self.get_pixel(x, y) - - putpixel = __setitem__ - getpixel = __getitem__ - - def check_xy(self, xy): - (x, y) = xy - if not (0 <= x < self.xsize and 0 <= y < self.ysize): - raise ValueError("pixel location out of range") - return xy - - -class _PyAccess32_2(PyAccess): - """ PA, LA, stored in first and last bytes of a 32 bit word """ - - def _post_init(self, *args, **kwargs): - self.pixels = ffi.cast("struct Pixel_RGBA **", self.image32) - - def get_pixel(self, x, y): - pixel = self.pixels[y][x] - return (pixel.r, pixel.a) - - def set_pixel(self, x, y, color): - pixel = self.pixels[y][x] - # tuple - pixel.r = min(color[0], 255) - pixel.a = min(color[1], 255) - - -class _PyAccess32_3(PyAccess): - """ RGB and friends, stored in the first three bytes of a 32 bit word """ - - def _post_init(self, *args, **kwargs): - self.pixels = ffi.cast("struct Pixel_RGBA **", self.image32) - - def get_pixel(self, x, y): - pixel = self.pixels[y][x] - return (pixel.r, pixel.g, pixel.b) - - def set_pixel(self, x, y, color): - pixel = self.pixels[y][x] - # tuple - pixel.r = min(color[0], 255) - pixel.g = min(color[1], 255) - pixel.b = min(color[2], 255) - pixel.a = 255 - - -class _PyAccess32_4(PyAccess): - """ RGBA etc, all 4 bytes of a 32 bit word """ - - def _post_init(self, *args, **kwargs): - self.pixels = ffi.cast("struct Pixel_RGBA **", self.image32) - - def get_pixel(self, x, y): - pixel = self.pixels[y][x] - return (pixel.r, pixel.g, pixel.b, pixel.a) - - def set_pixel(self, x, y, color): - pixel = self.pixels[y][x] - # tuple - pixel.r = min(color[0], 255) - pixel.g = min(color[1], 255) - pixel.b = min(color[2], 255) - pixel.a = min(color[3], 255) - - -class _PyAccess8(PyAccess): - """ 1, L, P, 8 bit images stored as uint8 """ - - def _post_init(self, *args, **kwargs): - self.pixels = self.image8 - - def get_pixel(self, x, y): - return self.pixels[y][x] - - def set_pixel(self, x, y, color): - try: - # integer - self.pixels[y][x] = min(color, 255) - except TypeError: - # tuple - self.pixels[y][x] = min(color[0], 255) - - -class _PyAccessI16_N(PyAccess): - """ I;16 access, native bitendian without conversion """ - - def _post_init(self, *args, **kwargs): - self.pixels = ffi.cast("unsigned short **", self.image) - - def get_pixel(self, x, y): - return self.pixels[y][x] - - def set_pixel(self, x, y, color): - try: - # integer - self.pixels[y][x] = min(color, 65535) - except TypeError: - # tuple - self.pixels[y][x] = min(color[0], 65535) - - -class _PyAccessI16_L(PyAccess): - """ I;16L access, with conversion """ - - def _post_init(self, *args, **kwargs): - self.pixels = ffi.cast("struct Pixel_I16 **", self.image) - - def get_pixel(self, x, y): - pixel = self.pixels[y][x] - return pixel.l + pixel.r * 256 - - def set_pixel(self, x, y, color): - pixel = self.pixels[y][x] - try: - color = min(color, 65535) - except TypeError: - color = min(color[0], 65535) - - pixel.l = color & 0xFF # noqa: E741 - pixel.r = color >> 8 - - -class _PyAccessI16_B(PyAccess): - """ I;16B access, with conversion """ - - def _post_init(self, *args, **kwargs): - self.pixels = ffi.cast("struct Pixel_I16 **", self.image) - - def get_pixel(self, x, y): - pixel = self.pixels[y][x] - return pixel.l * 256 + pixel.r - - def set_pixel(self, x, y, color): - pixel = self.pixels[y][x] - try: - color = min(color, 65535) - except Exception: - color = min(color[0], 65535) - - pixel.l = color >> 8 # noqa: E741 - pixel.r = color & 0xFF - - -class _PyAccessI32_N(PyAccess): - """ Signed Int32 access, native endian """ - - def _post_init(self, *args, **kwargs): - self.pixels = self.image32 - - def get_pixel(self, x, y): - return self.pixels[y][x] - - def set_pixel(self, x, y, color): - self.pixels[y][x] = color - - -class _PyAccessI32_Swap(PyAccess): - """ I;32L/B access, with byteswapping conversion """ - - def _post_init(self, *args, **kwargs): - self.pixels = self.image32 - - def reverse(self, i): - orig = ffi.new("int *", i) - chars = ffi.cast("unsigned char *", orig) - chars[0], chars[1], chars[2], chars[3] = chars[3], chars[2], chars[1], chars[0] - return ffi.cast("int *", chars)[0] - - def get_pixel(self, x, y): - return self.reverse(self.pixels[y][x]) - - def set_pixel(self, x, y, color): - self.pixels[y][x] = self.reverse(color) - - -class _PyAccessF(PyAccess): - """ 32 bit float access """ - - def _post_init(self, *args, **kwargs): - self.pixels = ffi.cast("float **", self.image32) - - def get_pixel(self, x, y): - return self.pixels[y][x] - - def set_pixel(self, x, y, color): - try: - # not a tuple - self.pixels[y][x] = color - except TypeError: - # tuple - self.pixels[y][x] = color[0] - - -mode_map = { - "1": _PyAccess8, - "L": _PyAccess8, - "P": _PyAccess8, - "LA": _PyAccess32_2, - "La": _PyAccess32_2, - "PA": _PyAccess32_2, - "RGB": _PyAccess32_3, - "LAB": _PyAccess32_3, - "HSV": _PyAccess32_3, - "YCbCr": _PyAccess32_3, - "RGBA": _PyAccess32_4, - "RGBa": _PyAccess32_4, - "RGBX": _PyAccess32_4, - "CMYK": _PyAccess32_4, - "F": _PyAccessF, - "I": _PyAccessI32_N, -} - -if sys.byteorder == "little": - mode_map["I;16"] = _PyAccessI16_N - mode_map["I;16L"] = _PyAccessI16_N - mode_map["I;16B"] = _PyAccessI16_B - - mode_map["I;32L"] = _PyAccessI32_N - mode_map["I;32B"] = _PyAccessI32_Swap -else: - mode_map["I;16"] = _PyAccessI16_L - mode_map["I;16L"] = _PyAccessI16_L - mode_map["I;16B"] = _PyAccessI16_N - - mode_map["I;32L"] = _PyAccessI32_Swap - mode_map["I;32B"] = _PyAccessI32_N - - -def new(img, readonly=False): - access_type = mode_map.get(img.mode, None) - if not access_type: - logger.debug("PyAccess Not Implemented: %s", img.mode) - return None - return access_type(img, readonly) diff --git a/venv/lib/python3.8/site-packages/PIL/SgiImagePlugin.py b/venv/lib/python3.8/site-packages/PIL/SgiImagePlugin.py deleted file mode 100644 index d0f7c999..00000000 --- a/venv/lib/python3.8/site-packages/PIL/SgiImagePlugin.py +++ /dev/null @@ -1,229 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# SGI image file handling -# -# See "The SGI Image File Format (Draft version 0.97)", Paul Haeberli. -# -# -# -# History: -# 2017-22-07 mb Add RLE decompression -# 2016-16-10 mb Add save method without compression -# 1995-09-10 fl Created -# -# Copyright (c) 2016 by Mickael Bonfill. -# Copyright (c) 2008 by Karsten Hiddemann. -# Copyright (c) 1997 by Secret Labs AB. -# Copyright (c) 1995 by Fredrik Lundh. -# -# See the README file for information on usage and redistribution. -# - - -import os -import struct - -from . import Image, ImageFile -from ._binary import i16be as i16 -from ._binary import o8 - - -def _accept(prefix): - return len(prefix) >= 2 and i16(prefix) == 474 - - -MODES = { - (1, 1, 1): "L", - (1, 2, 1): "L", - (2, 1, 1): "L;16B", - (2, 2, 1): "L;16B", - (1, 3, 3): "RGB", - (2, 3, 3): "RGB;16B", - (1, 3, 4): "RGBA", - (2, 3, 4): "RGBA;16B", -} - - -## -# Image plugin for SGI images. -class SgiImageFile(ImageFile.ImageFile): - - format = "SGI" - format_description = "SGI Image File Format" - - def _open(self): - - # HEAD - headlen = 512 - s = self.fp.read(headlen) - - if not _accept(s): - raise ValueError("Not an SGI image file") - - # compression : verbatim or RLE - compression = s[2] - - # bpc : 1 or 2 bytes (8bits or 16bits) - bpc = s[3] - - # dimension : 1, 2 or 3 (depending on xsize, ysize and zsize) - dimension = i16(s, 4) - - # xsize : width - xsize = i16(s, 6) - - # ysize : height - ysize = i16(s, 8) - - # zsize : channels count - zsize = i16(s, 10) - - # layout - layout = bpc, dimension, zsize - - # determine mode from bits/zsize - rawmode = "" - try: - rawmode = MODES[layout] - except KeyError: - pass - - if rawmode == "": - raise ValueError("Unsupported SGI image mode") - - self._size = xsize, ysize - self.mode = rawmode.split(";")[0] - if self.mode == "RGB": - self.custom_mimetype = "image/rgb" - - # orientation -1 : scanlines begins at the bottom-left corner - orientation = -1 - - # decoder info - if compression == 0: - pagesize = xsize * ysize * bpc - if bpc == 2: - self.tile = [ - ("SGI16", (0, 0) + self.size, headlen, (self.mode, 0, orientation)) - ] - else: - self.tile = [] - offset = headlen - for layer in self.mode: - self.tile.append( - ("raw", (0, 0) + self.size, offset, (layer, 0, orientation)) - ) - offset += pagesize - elif compression == 1: - self.tile = [ - ("sgi_rle", (0, 0) + self.size, headlen, (rawmode, orientation, bpc)) - ] - - -def _save(im, fp, filename): - if im.mode != "RGB" and im.mode != "RGBA" and im.mode != "L": - raise ValueError("Unsupported SGI image mode") - - # Get the keyword arguments - info = im.encoderinfo - - # Byte-per-pixel precision, 1 = 8bits per pixel - bpc = info.get("bpc", 1) - - if bpc not in (1, 2): - raise ValueError("Unsupported number of bytes per pixel") - - # Flip the image, since the origin of SGI file is the bottom-left corner - orientation = -1 - # Define the file as SGI File Format - magicNumber = 474 - # Run-Length Encoding Compression - Unsupported at this time - rle = 0 - - # Number of dimensions (x,y,z) - dim = 3 - # X Dimension = width / Y Dimension = height - x, y = im.size - if im.mode == "L" and y == 1: - dim = 1 - elif im.mode == "L": - dim = 2 - # Z Dimension: Number of channels - z = len(im.mode) - - if dim == 1 or dim == 2: - z = 1 - - # assert we've got the right number of bands. - if len(im.getbands()) != z: - raise ValueError( - f"incorrect number of bands in SGI write: {z} vs {len(im.getbands())}" - ) - - # Minimum Byte value - pinmin = 0 - # Maximum Byte value (255 = 8bits per pixel) - pinmax = 255 - # Image name (79 characters max, truncated below in write) - imgName = os.path.splitext(os.path.basename(filename))[0] - imgName = imgName.encode("ascii", "ignore") - # Standard representation of pixel in the file - colormap = 0 - fp.write(struct.pack(">h", magicNumber)) - fp.write(o8(rle)) - fp.write(o8(bpc)) - fp.write(struct.pack(">H", dim)) - fp.write(struct.pack(">H", x)) - fp.write(struct.pack(">H", y)) - fp.write(struct.pack(">H", z)) - fp.write(struct.pack(">l", pinmin)) - fp.write(struct.pack(">l", pinmax)) - fp.write(struct.pack("4s", b"")) # dummy - fp.write(struct.pack("79s", imgName)) # truncates to 79 chars - fp.write(struct.pack("s", b"")) # force null byte after imgname - fp.write(struct.pack(">l", colormap)) - fp.write(struct.pack("404s", b"")) # dummy - - rawmode = "L" - if bpc == 2: - rawmode = "L;16B" - - for channel in im.split(): - fp.write(channel.tobytes("raw", rawmode, 0, orientation)) - - fp.close() - - -class SGI16Decoder(ImageFile.PyDecoder): - _pulls_fd = True - - def decode(self, buffer): - rawmode, stride, orientation = self.args - pagesize = self.state.xsize * self.state.ysize - zsize = len(self.mode) - self.fd.seek(512) - - for band in range(zsize): - channel = Image.new("L", (self.state.xsize, self.state.ysize)) - channel.frombytes( - self.fd.read(2 * pagesize), "raw", "L;16B", stride, orientation - ) - self.im.putband(channel.im, band) - - return -1, 0 - - -# -# registry - - -Image.register_decoder("SGI16", SGI16Decoder) -Image.register_open(SgiImageFile.format, SgiImageFile, _accept) -Image.register_save(SgiImageFile.format, _save) -Image.register_mime(SgiImageFile.format, "image/sgi") - -Image.register_extensions(SgiImageFile.format, [".bw", ".rgb", ".rgba", ".sgi"]) - -# End of file diff --git a/venv/lib/python3.8/site-packages/PIL/SpiderImagePlugin.py b/venv/lib/python3.8/site-packages/PIL/SpiderImagePlugin.py deleted file mode 100644 index 819f2ed0..00000000 --- a/venv/lib/python3.8/site-packages/PIL/SpiderImagePlugin.py +++ /dev/null @@ -1,324 +0,0 @@ -# -# The Python Imaging Library. -# -# SPIDER image file handling -# -# History: -# 2004-08-02 Created BB -# 2006-03-02 added save method -# 2006-03-13 added support for stack images -# -# Copyright (c) 2004 by Health Research Inc. (HRI) RENSSELAER, NY 12144. -# Copyright (c) 2004 by William Baxter. -# Copyright (c) 2004 by Secret Labs AB. -# Copyright (c) 2004 by Fredrik Lundh. -# - -## -# Image plugin for the Spider image format. This format is is used -# by the SPIDER software, in processing image data from electron -# microscopy and tomography. -## - -# -# SpiderImagePlugin.py -# -# The Spider image format is used by SPIDER software, in processing -# image data from electron microscopy and tomography. -# -# Spider home page: -# https://spider.wadsworth.org/spider_doc/spider/docs/spider.html -# -# Details about the Spider image format: -# https://spider.wadsworth.org/spider_doc/spider/docs/image_doc.html -# -import os -import struct -import sys - -from PIL import Image, ImageFile - - -def isInt(f): - try: - i = int(f) - if f - i == 0: - return 1 - else: - return 0 - except (ValueError, OverflowError): - return 0 - - -iforms = [1, 3, -11, -12, -21, -22] - - -# There is no magic number to identify Spider files, so just check a -# series of header locations to see if they have reasonable values. -# Returns no. of bytes in the header, if it is a valid Spider header, -# otherwise returns 0 - - -def isSpiderHeader(t): - h = (99,) + t # add 1 value so can use spider header index start=1 - # header values 1,2,5,12,13,22,23 should be integers - for i in [1, 2, 5, 12, 13, 22, 23]: - if not isInt(h[i]): - return 0 - # check iform - iform = int(h[5]) - if iform not in iforms: - return 0 - # check other header values - labrec = int(h[13]) # no. records in file header - labbyt = int(h[22]) # total no. of bytes in header - lenbyt = int(h[23]) # record length in bytes - if labbyt != (labrec * lenbyt): - return 0 - # looks like a valid header - return labbyt - - -def isSpiderImage(filename): - with open(filename, "rb") as fp: - f = fp.read(92) # read 23 * 4 bytes - t = struct.unpack(">23f", f) # try big-endian first - hdrlen = isSpiderHeader(t) - if hdrlen == 0: - t = struct.unpack("<23f", f) # little-endian - hdrlen = isSpiderHeader(t) - return hdrlen - - -class SpiderImageFile(ImageFile.ImageFile): - - format = "SPIDER" - format_description = "Spider 2D image" - _close_exclusive_fp_after_loading = False - - def _open(self): - # check header - n = 27 * 4 # read 27 float values - f = self.fp.read(n) - - try: - self.bigendian = 1 - t = struct.unpack(">27f", f) # try big-endian first - hdrlen = isSpiderHeader(t) - if hdrlen == 0: - self.bigendian = 0 - t = struct.unpack("<27f", f) # little-endian - hdrlen = isSpiderHeader(t) - if hdrlen == 0: - raise SyntaxError("not a valid Spider file") - except struct.error as e: - raise SyntaxError("not a valid Spider file") from e - - h = (99,) + t # add 1 value : spider header index starts at 1 - iform = int(h[5]) - if iform != 1: - raise SyntaxError("not a Spider 2D image") - - self._size = int(h[12]), int(h[2]) # size in pixels (width, height) - self.istack = int(h[24]) - self.imgnumber = int(h[27]) - - if self.istack == 0 and self.imgnumber == 0: - # stk=0, img=0: a regular 2D image - offset = hdrlen - self._nimages = 1 - elif self.istack > 0 and self.imgnumber == 0: - # stk>0, img=0: Opening the stack for the first time - self.imgbytes = int(h[12]) * int(h[2]) * 4 - self.hdrlen = hdrlen - self._nimages = int(h[26]) - # Point to the first image in the stack - offset = hdrlen * 2 - self.imgnumber = 1 - elif self.istack == 0 and self.imgnumber > 0: - # stk=0, img>0: an image within the stack - offset = hdrlen + self.stkoffset - self.istack = 2 # So Image knows it's still a stack - else: - raise SyntaxError("inconsistent stack header values") - - if self.bigendian: - self.rawmode = "F;32BF" - else: - self.rawmode = "F;32F" - self.mode = "F" - - self.tile = [("raw", (0, 0) + self.size, offset, (self.rawmode, 0, 1))] - self.__fp = self.fp # FIXME: hack - - @property - def n_frames(self): - return self._nimages - - @property - def is_animated(self): - return self._nimages > 1 - - # 1st image index is zero (although SPIDER imgnumber starts at 1) - def tell(self): - if self.imgnumber < 1: - return 0 - else: - return self.imgnumber - 1 - - def seek(self, frame): - if self.istack == 0: - raise EOFError("attempt to seek in a non-stack file") - if not self._seek_check(frame): - return - self.stkoffset = self.hdrlen + frame * (self.hdrlen + self.imgbytes) - self.fp = self.__fp - self.fp.seek(self.stkoffset) - self._open() - - # returns a byte image after rescaling to 0..255 - def convert2byte(self, depth=255): - (minimum, maximum) = self.getextrema() - m = 1 - if maximum != minimum: - m = depth / (maximum - minimum) - b = -m * minimum - return self.point(lambda i, m=m, b=b: i * m + b).convert("L") - - # returns a ImageTk.PhotoImage object, after rescaling to 0..255 - def tkPhotoImage(self): - from PIL import ImageTk - - return ImageTk.PhotoImage(self.convert2byte(), palette=256) - - def _close__fp(self): - try: - if self.__fp != self.fp: - self.__fp.close() - except AttributeError: - pass - finally: - self.__fp = None - - -# -------------------------------------------------------------------- -# Image series - -# given a list of filenames, return a list of images -def loadImageSeries(filelist=None): - """create a list of :py:class:`~PIL.Image.Image` objects for use in a montage""" - if filelist is None or len(filelist) < 1: - return - - imglist = [] - for img in filelist: - if not os.path.exists(img): - print(f"unable to find {img}") - continue - try: - with Image.open(img) as im: - im = im.convert2byte() - except Exception: - if not isSpiderImage(img): - print(img + " is not a Spider image file") - continue - im.info["filename"] = img - imglist.append(im) - return imglist - - -# -------------------------------------------------------------------- -# For saving images in Spider format - - -def makeSpiderHeader(im): - nsam, nrow = im.size - lenbyt = nsam * 4 # There are labrec records in the header - labrec = int(1024 / lenbyt) - if 1024 % lenbyt != 0: - labrec += 1 - labbyt = labrec * lenbyt - hdr = [] - nvalues = int(labbyt / 4) - for i in range(nvalues): - hdr.append(0.0) - - if len(hdr) < 23: - return [] - - # NB these are Fortran indices - hdr[1] = 1.0 # nslice (=1 for an image) - hdr[2] = float(nrow) # number of rows per slice - hdr[5] = 1.0 # iform for 2D image - hdr[12] = float(nsam) # number of pixels per line - hdr[13] = float(labrec) # number of records in file header - hdr[22] = float(labbyt) # total number of bytes in header - hdr[23] = float(lenbyt) # record length in bytes - - # adjust for Fortran indexing - hdr = hdr[1:] - hdr.append(0.0) - # pack binary data into a string - hdrstr = [] - for v in hdr: - hdrstr.append(struct.pack("f", v)) - return hdrstr - - -def _save(im, fp, filename): - if im.mode[0] != "F": - im = im.convert("F") - - hdr = makeSpiderHeader(im) - if len(hdr) < 256: - raise OSError("Error creating Spider header") - - # write the SPIDER header - fp.writelines(hdr) - - rawmode = "F;32NF" # 32-bit native floating point - ImageFile._save(im, fp, [("raw", (0, 0) + im.size, 0, (rawmode, 0, 1))]) - - -def _save_spider(im, fp, filename): - # get the filename extension and register it with Image - ext = os.path.splitext(filename)[1] - Image.register_extension(SpiderImageFile.format, ext) - _save(im, fp, filename) - - -# -------------------------------------------------------------------- - - -Image.register_open(SpiderImageFile.format, SpiderImageFile) -Image.register_save(SpiderImageFile.format, _save_spider) - -if __name__ == "__main__": - - if len(sys.argv) < 2: - print("Syntax: python SpiderImagePlugin.py [infile] [outfile]") - sys.exit() - - filename = sys.argv[1] - if not isSpiderImage(filename): - print("input image must be in Spider format") - sys.exit() - - with Image.open(filename) as im: - print("image: " + str(im)) - print("format: " + str(im.format)) - print("size: " + str(im.size)) - print("mode: " + str(im.mode)) - print("max, min: ", end=" ") - print(im.getextrema()) - - if len(sys.argv) > 2: - outfile = sys.argv[2] - - # perform some image operation - im = im.transpose(Image.FLIP_LEFT_RIGHT) - print( - f"saving a flipped version of {os.path.basename(filename)} " - f"as {outfile} " - ) - im.save(outfile, SpiderImageFile.format) diff --git a/venv/lib/python3.8/site-packages/PIL/SunImagePlugin.py b/venv/lib/python3.8/site-packages/PIL/SunImagePlugin.py deleted file mode 100644 index c03759a0..00000000 --- a/venv/lib/python3.8/site-packages/PIL/SunImagePlugin.py +++ /dev/null @@ -1,136 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# Sun image file handling -# -# History: -# 1995-09-10 fl Created -# 1996-05-28 fl Fixed 32-bit alignment -# 1998-12-29 fl Import ImagePalette module -# 2001-12-18 fl Fixed palette loading (from Jean-Claude Rimbault) -# -# Copyright (c) 1997-2001 by Secret Labs AB -# Copyright (c) 1995-1996 by Fredrik Lundh -# -# See the README file for information on usage and redistribution. -# - - -from . import Image, ImageFile, ImagePalette -from ._binary import i32be as i32 - - -def _accept(prefix): - return len(prefix) >= 4 and i32(prefix) == 0x59A66A95 - - -## -# Image plugin for Sun raster files. - - -class SunImageFile(ImageFile.ImageFile): - - format = "SUN" - format_description = "Sun Raster File" - - def _open(self): - - # The Sun Raster file header is 32 bytes in length - # and has the following format: - - # typedef struct _SunRaster - # { - # DWORD MagicNumber; /* Magic (identification) number */ - # DWORD Width; /* Width of image in pixels */ - # DWORD Height; /* Height of image in pixels */ - # DWORD Depth; /* Number of bits per pixel */ - # DWORD Length; /* Size of image data in bytes */ - # DWORD Type; /* Type of raster file */ - # DWORD ColorMapType; /* Type of color map */ - # DWORD ColorMapLength; /* Size of the color map in bytes */ - # } SUNRASTER; - - # HEAD - s = self.fp.read(32) - if not _accept(s): - raise SyntaxError("not an SUN raster file") - - offset = 32 - - self._size = i32(s, 4), i32(s, 8) - - depth = i32(s, 12) - # data_length = i32(s, 16) # unreliable, ignore. - file_type = i32(s, 20) - palette_type = i32(s, 24) # 0: None, 1: RGB, 2: Raw/arbitrary - palette_length = i32(s, 28) - - if depth == 1: - self.mode, rawmode = "1", "1;I" - elif depth == 4: - self.mode, rawmode = "L", "L;4" - elif depth == 8: - self.mode = rawmode = "L" - elif depth == 24: - if file_type == 3: - self.mode, rawmode = "RGB", "RGB" - else: - self.mode, rawmode = "RGB", "BGR" - elif depth == 32: - if file_type == 3: - self.mode, rawmode = "RGB", "RGBX" - else: - self.mode, rawmode = "RGB", "BGRX" - else: - raise SyntaxError("Unsupported Mode/Bit Depth") - - if palette_length: - if palette_length > 1024: - raise SyntaxError("Unsupported Color Palette Length") - - if palette_type != 1: - raise SyntaxError("Unsupported Palette Type") - - offset = offset + palette_length - self.palette = ImagePalette.raw("RGB;L", self.fp.read(palette_length)) - if self.mode == "L": - self.mode = "P" - rawmode = rawmode.replace("L", "P") - - # 16 bit boundaries on stride - stride = ((self.size[0] * depth + 15) // 16) * 2 - - # file type: Type is the version (or flavor) of the bitmap - # file. The following values are typically found in the Type - # field: - # 0000h Old - # 0001h Standard - # 0002h Byte-encoded - # 0003h RGB format - # 0004h TIFF format - # 0005h IFF format - # FFFFh Experimental - - # Old and standard are the same, except for the length tag. - # byte-encoded is run-length-encoded - # RGB looks similar to standard, but RGB byte order - # TIFF and IFF mean that they were converted from T/IFF - # Experimental means that it's something else. - # (https://www.fileformat.info/format/sunraster/egff.htm) - - if file_type in (0, 1, 3, 4, 5): - self.tile = [("raw", (0, 0) + self.size, offset, (rawmode, stride))] - elif file_type == 2: - self.tile = [("sun_rle", (0, 0) + self.size, offset, rawmode)] - else: - raise SyntaxError("Unsupported Sun Raster file type") - - -# -# registry - - -Image.register_open(SunImageFile.format, SunImageFile, _accept) - -Image.register_extension(SunImageFile.format, ".ras") diff --git a/venv/lib/python3.8/site-packages/PIL/TarIO.py b/venv/lib/python3.8/site-packages/PIL/TarIO.py deleted file mode 100644 index d108362f..00000000 --- a/venv/lib/python3.8/site-packages/PIL/TarIO.py +++ /dev/null @@ -1,65 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# read files from within a tar file -# -# History: -# 95-06-18 fl Created -# 96-05-28 fl Open files in binary mode -# -# Copyright (c) Secret Labs AB 1997. -# Copyright (c) Fredrik Lundh 1995-96. -# -# See the README file for information on usage and redistribution. -# - -import io - -from . import ContainerIO - - -class TarIO(ContainerIO.ContainerIO): - """A file object that provides read access to a given member of a TAR file.""" - - def __init__(self, tarfile, file): - """ - Create file object. - - :param tarfile: Name of TAR file. - :param file: Name of member file. - """ - self.fh = open(tarfile, "rb") - - while True: - - s = self.fh.read(512) - if len(s) != 512: - raise OSError("unexpected end of tar file") - - name = s[:100].decode("utf-8") - i = name.find("\0") - if i == 0: - raise OSError("cannot find subfile") - if i > 0: - name = name[:i] - - size = int(s[124:135], 8) - - if file == name: - break - - self.fh.seek((size + 511) & (~511), io.SEEK_CUR) - - # Open region - super().__init__(self.fh, self.fh.tell(), size) - - # Context manager support - def __enter__(self): - return self - - def __exit__(self, *args): - self.close() - - def close(self): - self.fh.close() diff --git a/venv/lib/python3.8/site-packages/PIL/TgaImagePlugin.py b/venv/lib/python3.8/site-packages/PIL/TgaImagePlugin.py deleted file mode 100644 index 2b936d68..00000000 --- a/venv/lib/python3.8/site-packages/PIL/TgaImagePlugin.py +++ /dev/null @@ -1,248 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# TGA file handling -# -# History: -# 95-09-01 fl created (reads 24-bit files only) -# 97-01-04 fl support more TGA versions, including compressed images -# 98-07-04 fl fixed orientation and alpha layer bugs -# 98-09-11 fl fixed orientation for runlength decoder -# -# Copyright (c) Secret Labs AB 1997-98. -# Copyright (c) Fredrik Lundh 1995-97. -# -# See the README file for information on usage and redistribution. -# - - -import warnings - -from . import Image, ImageFile, ImagePalette -from ._binary import i16le as i16 -from ._binary import o8 -from ._binary import o16le as o16 - -# -# -------------------------------------------------------------------- -# Read RGA file - - -MODES = { - # map imagetype/depth to rawmode - (1, 8): "P", - (3, 1): "1", - (3, 8): "L", - (3, 16): "LA", - (2, 16): "BGR;5", - (2, 24): "BGR", - (2, 32): "BGRA", -} - - -## -# Image plugin for Targa files. - - -class TgaImageFile(ImageFile.ImageFile): - - format = "TGA" - format_description = "Targa" - - def _open(self): - - # process header - s = self.fp.read(18) - - id_len = s[0] - - colormaptype = s[1] - imagetype = s[2] - - depth = s[16] - - flags = s[17] - - self._size = i16(s, 12), i16(s, 14) - - # validate header fields - if ( - colormaptype not in (0, 1) - or self.size[0] <= 0 - or self.size[1] <= 0 - or depth not in (1, 8, 16, 24, 32) - ): - raise SyntaxError("not a TGA file") - - # image mode - if imagetype in (3, 11): - self.mode = "L" - if depth == 1: - self.mode = "1" # ??? - elif depth == 16: - self.mode = "LA" - elif imagetype in (1, 9): - self.mode = "P" - elif imagetype in (2, 10): - self.mode = "RGB" - if depth == 32: - self.mode = "RGBA" - else: - raise SyntaxError("unknown TGA mode") - - # orientation - orientation = flags & 0x30 - if orientation == 0x20: - orientation = 1 - elif not orientation: - orientation = -1 - else: - raise SyntaxError("unknown TGA orientation") - - self.info["orientation"] = orientation - - if imagetype & 8: - self.info["compression"] = "tga_rle" - - if id_len: - self.info["id_section"] = self.fp.read(id_len) - - if colormaptype: - # read palette - start, size, mapdepth = i16(s, 3), i16(s, 5), i16(s, 7) - if mapdepth == 16: - self.palette = ImagePalette.raw( - "BGR;16", b"\0" * 2 * start + self.fp.read(2 * size) - ) - elif mapdepth == 24: - self.palette = ImagePalette.raw( - "BGR", b"\0" * 3 * start + self.fp.read(3 * size) - ) - elif mapdepth == 32: - self.palette = ImagePalette.raw( - "BGRA", b"\0" * 4 * start + self.fp.read(4 * size) - ) - - # setup tile descriptor - try: - rawmode = MODES[(imagetype & 7, depth)] - if imagetype & 8: - # compressed - self.tile = [ - ( - "tga_rle", - (0, 0) + self.size, - self.fp.tell(), - (rawmode, orientation, depth), - ) - ] - else: - self.tile = [ - ( - "raw", - (0, 0) + self.size, - self.fp.tell(), - (rawmode, 0, orientation), - ) - ] - except KeyError: - pass # cannot decode - - -# -# -------------------------------------------------------------------- -# Write TGA file - - -SAVE = { - "1": ("1", 1, 0, 3), - "L": ("L", 8, 0, 3), - "LA": ("LA", 16, 0, 3), - "P": ("P", 8, 1, 1), - "RGB": ("BGR", 24, 0, 2), - "RGBA": ("BGRA", 32, 0, 2), -} - - -def _save(im, fp, filename): - - try: - rawmode, bits, colormaptype, imagetype = SAVE[im.mode] - except KeyError as e: - raise OSError(f"cannot write mode {im.mode} as TGA") from e - - if "rle" in im.encoderinfo: - rle = im.encoderinfo["rle"] - else: - compression = im.encoderinfo.get("compression", im.info.get("compression")) - rle = compression == "tga_rle" - if rle: - imagetype += 8 - - id_section = im.encoderinfo.get("id_section", im.info.get("id_section", "")) - id_len = len(id_section) - if id_len > 255: - id_len = 255 - id_section = id_section[:255] - warnings.warn("id_section has been trimmed to 255 characters") - - if colormaptype: - colormapfirst, colormaplength, colormapentry = 0, 256, 24 - else: - colormapfirst, colormaplength, colormapentry = 0, 0, 0 - - if im.mode in ("LA", "RGBA"): - flags = 8 - else: - flags = 0 - - orientation = im.encoderinfo.get("orientation", im.info.get("orientation", -1)) - if orientation > 0: - flags = flags | 0x20 - - fp.write( - o8(id_len) - + o8(colormaptype) - + o8(imagetype) - + o16(colormapfirst) - + o16(colormaplength) - + o8(colormapentry) - + o16(0) - + o16(0) - + o16(im.size[0]) - + o16(im.size[1]) - + o8(bits) - + o8(flags) - ) - - if id_section: - fp.write(id_section) - - if colormaptype: - fp.write(im.im.getpalette("RGB", "BGR")) - - if rle: - ImageFile._save( - im, fp, [("tga_rle", (0, 0) + im.size, 0, (rawmode, orientation))] - ) - else: - ImageFile._save( - im, fp, [("raw", (0, 0) + im.size, 0, (rawmode, 0, orientation))] - ) - - # write targa version 2 footer - fp.write(b"\000" * 8 + b"TRUEVISION-XFILE." + b"\000") - - -# -# -------------------------------------------------------------------- -# Registry - - -Image.register_open(TgaImageFile.format, TgaImageFile) -Image.register_save(TgaImageFile.format, _save) - -Image.register_extensions(TgaImageFile.format, [".tga", ".icb", ".vda", ".vst"]) - -Image.register_mime(TgaImageFile.format, "image/x-tga") diff --git a/venv/lib/python3.8/site-packages/PIL/TiffImagePlugin.py b/venv/lib/python3.8/site-packages/PIL/TiffImagePlugin.py deleted file mode 100644 index 0b70ce38..00000000 --- a/venv/lib/python3.8/site-packages/PIL/TiffImagePlugin.py +++ /dev/null @@ -1,1924 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# TIFF file handling -# -# TIFF is a flexible, if somewhat aged, image file format originally -# defined by Aldus. Although TIFF supports a wide variety of pixel -# layouts and compression methods, the name doesn't really stand for -# "thousands of incompatible file formats," it just feels that way. -# -# To read TIFF data from a stream, the stream must be seekable. For -# progressive decoding, make sure to use TIFF files where the tag -# directory is placed first in the file. -# -# History: -# 1995-09-01 fl Created -# 1996-05-04 fl Handle JPEGTABLES tag -# 1996-05-18 fl Fixed COLORMAP support -# 1997-01-05 fl Fixed PREDICTOR support -# 1997-08-27 fl Added support for rational tags (from Perry Stoll) -# 1998-01-10 fl Fixed seek/tell (from Jan Blom) -# 1998-07-15 fl Use private names for internal variables -# 1999-06-13 fl Rewritten for PIL 1.0 (1.0) -# 2000-10-11 fl Additional fixes for Python 2.0 (1.1) -# 2001-04-17 fl Fixed rewind support (seek to frame 0) (1.2) -# 2001-05-12 fl Added write support for more tags (from Greg Couch) (1.3) -# 2001-12-18 fl Added workaround for broken Matrox library -# 2002-01-18 fl Don't mess up if photometric tag is missing (D. Alan Stewart) -# 2003-05-19 fl Check FILLORDER tag -# 2003-09-26 fl Added RGBa support -# 2004-02-24 fl Added DPI support; fixed rational write support -# 2005-02-07 fl Added workaround for broken Corel Draw 10 files -# 2006-01-09 fl Added support for float/double tags (from Russell Nelson) -# -# Copyright (c) 1997-2006 by Secret Labs AB. All rights reserved. -# Copyright (c) 1995-1997 by Fredrik Lundh -# -# See the README file for information on usage and redistribution. -# -import io -import itertools -import logging -import os -import struct -import warnings -from collections.abc import MutableMapping -from fractions import Fraction -from numbers import Number, Rational - -from . import Image, ImageFile, ImagePalette, TiffTags -from ._binary import o8 -from .TiffTags import TYPES - -logger = logging.getLogger(__name__) - -# Set these to true to force use of libtiff for reading or writing. -READ_LIBTIFF = False -WRITE_LIBTIFF = False -IFD_LEGACY_API = True - -II = b"II" # little-endian (Intel style) -MM = b"MM" # big-endian (Motorola style) - -# -# -------------------------------------------------------------------- -# Read TIFF files - -# a few tag names, just to make the code below a bit more readable -IMAGEWIDTH = 256 -IMAGELENGTH = 257 -BITSPERSAMPLE = 258 -COMPRESSION = 259 -PHOTOMETRIC_INTERPRETATION = 262 -FILLORDER = 266 -IMAGEDESCRIPTION = 270 -STRIPOFFSETS = 273 -SAMPLESPERPIXEL = 277 -ROWSPERSTRIP = 278 -STRIPBYTECOUNTS = 279 -X_RESOLUTION = 282 -Y_RESOLUTION = 283 -PLANAR_CONFIGURATION = 284 -RESOLUTION_UNIT = 296 -TRANSFERFUNCTION = 301 -SOFTWARE = 305 -DATE_TIME = 306 -ARTIST = 315 -PREDICTOR = 317 -COLORMAP = 320 -TILEOFFSETS = 324 -SUBIFD = 330 -EXTRASAMPLES = 338 -SAMPLEFORMAT = 339 -JPEGTABLES = 347 -REFERENCEBLACKWHITE = 532 -COPYRIGHT = 33432 -IPTC_NAA_CHUNK = 33723 # newsphoto properties -PHOTOSHOP_CHUNK = 34377 # photoshop properties -ICCPROFILE = 34675 -EXIFIFD = 34665 -XMP = 700 -JPEGQUALITY = 65537 # pseudo-tag by libtiff - -# https://github.com/imagej/ImageJA/blob/master/src/main/java/ij/io/TiffDecoder.java -IMAGEJ_META_DATA_BYTE_COUNTS = 50838 -IMAGEJ_META_DATA = 50839 - -COMPRESSION_INFO = { - # Compression => pil compression name - 1: "raw", - 2: "tiff_ccitt", - 3: "group3", - 4: "group4", - 5: "tiff_lzw", - 6: "tiff_jpeg", # obsolete - 7: "jpeg", - 8: "tiff_adobe_deflate", - 32771: "tiff_raw_16", # 16-bit padding - 32773: "packbits", - 32809: "tiff_thunderscan", - 32946: "tiff_deflate", - 34676: "tiff_sgilog", - 34677: "tiff_sgilog24", - 34925: "lzma", - 50000: "zstd", - 50001: "webp", -} - -COMPRESSION_INFO_REV = {v: k for k, v in COMPRESSION_INFO.items()} - -OPEN_INFO = { - # (ByteOrder, PhotoInterpretation, SampleFormat, FillOrder, BitsPerSample, - # ExtraSamples) => mode, rawmode - (II, 0, (1,), 1, (1,), ()): ("1", "1;I"), - (MM, 0, (1,), 1, (1,), ()): ("1", "1;I"), - (II, 0, (1,), 2, (1,), ()): ("1", "1;IR"), - (MM, 0, (1,), 2, (1,), ()): ("1", "1;IR"), - (II, 1, (1,), 1, (1,), ()): ("1", "1"), - (MM, 1, (1,), 1, (1,), ()): ("1", "1"), - (II, 1, (1,), 2, (1,), ()): ("1", "1;R"), - (MM, 1, (1,), 2, (1,), ()): ("1", "1;R"), - (II, 0, (1,), 1, (2,), ()): ("L", "L;2I"), - (MM, 0, (1,), 1, (2,), ()): ("L", "L;2I"), - (II, 0, (1,), 2, (2,), ()): ("L", "L;2IR"), - (MM, 0, (1,), 2, (2,), ()): ("L", "L;2IR"), - (II, 1, (1,), 1, (2,), ()): ("L", "L;2"), - (MM, 1, (1,), 1, (2,), ()): ("L", "L;2"), - (II, 1, (1,), 2, (2,), ()): ("L", "L;2R"), - (MM, 1, (1,), 2, (2,), ()): ("L", "L;2R"), - (II, 0, (1,), 1, (4,), ()): ("L", "L;4I"), - (MM, 0, (1,), 1, (4,), ()): ("L", "L;4I"), - (II, 0, (1,), 2, (4,), ()): ("L", "L;4IR"), - (MM, 0, (1,), 2, (4,), ()): ("L", "L;4IR"), - (II, 1, (1,), 1, (4,), ()): ("L", "L;4"), - (MM, 1, (1,), 1, (4,), ()): ("L", "L;4"), - (II, 1, (1,), 2, (4,), ()): ("L", "L;4R"), - (MM, 1, (1,), 2, (4,), ()): ("L", "L;4R"), - (II, 0, (1,), 1, (8,), ()): ("L", "L;I"), - (MM, 0, (1,), 1, (8,), ()): ("L", "L;I"), - (II, 0, (1,), 2, (8,), ()): ("L", "L;IR"), - (MM, 0, (1,), 2, (8,), ()): ("L", "L;IR"), - (II, 1, (1,), 1, (8,), ()): ("L", "L"), - (MM, 1, (1,), 1, (8,), ()): ("L", "L"), - (II, 1, (1,), 2, (8,), ()): ("L", "L;R"), - (MM, 1, (1,), 2, (8,), ()): ("L", "L;R"), - (II, 1, (1,), 1, (12,), ()): ("I;16", "I;12"), - (II, 1, (1,), 1, (16,), ()): ("I;16", "I;16"), - (MM, 1, (1,), 1, (16,), ()): ("I;16B", "I;16B"), - (II, 1, (2,), 1, (16,), ()): ("I", "I;16S"), - (MM, 1, (2,), 1, (16,), ()): ("I", "I;16BS"), - (II, 0, (3,), 1, (32,), ()): ("F", "F;32F"), - (MM, 0, (3,), 1, (32,), ()): ("F", "F;32BF"), - (II, 1, (1,), 1, (32,), ()): ("I", "I;32N"), - (II, 1, (2,), 1, (32,), ()): ("I", "I;32S"), - (MM, 1, (2,), 1, (32,), ()): ("I", "I;32BS"), - (II, 1, (3,), 1, (32,), ()): ("F", "F;32F"), - (MM, 1, (3,), 1, (32,), ()): ("F", "F;32BF"), - (II, 1, (1,), 1, (8, 8), (2,)): ("LA", "LA"), - (MM, 1, (1,), 1, (8, 8), (2,)): ("LA", "LA"), - (II, 2, (1,), 1, (8, 8, 8), ()): ("RGB", "RGB"), - (MM, 2, (1,), 1, (8, 8, 8), ()): ("RGB", "RGB"), - (II, 2, (1,), 2, (8, 8, 8), ()): ("RGB", "RGB;R"), - (MM, 2, (1,), 2, (8, 8, 8), ()): ("RGB", "RGB;R"), - (II, 2, (1,), 1, (8, 8, 8, 8), ()): ("RGBA", "RGBA"), # missing ExtraSamples - (MM, 2, (1,), 1, (8, 8, 8, 8), ()): ("RGBA", "RGBA"), # missing ExtraSamples - (II, 2, (1,), 1, (8, 8, 8, 8), (0,)): ("RGBX", "RGBX"), - (MM, 2, (1,), 1, (8, 8, 8, 8), (0,)): ("RGBX", "RGBX"), - (II, 2, (1,), 1, (8, 8, 8, 8, 8), (0, 0)): ("RGBX", "RGBXX"), - (MM, 2, (1,), 1, (8, 8, 8, 8, 8), (0, 0)): ("RGBX", "RGBXX"), - (II, 2, (1,), 1, (8, 8, 8, 8, 8, 8), (0, 0, 0)): ("RGBX", "RGBXXX"), - (MM, 2, (1,), 1, (8, 8, 8, 8, 8, 8), (0, 0, 0)): ("RGBX", "RGBXXX"), - (II, 2, (1,), 1, (8, 8, 8, 8), (1,)): ("RGBA", "RGBa"), - (MM, 2, (1,), 1, (8, 8, 8, 8), (1,)): ("RGBA", "RGBa"), - (II, 2, (1,), 1, (8, 8, 8, 8, 8), (1, 0)): ("RGBA", "RGBaX"), - (MM, 2, (1,), 1, (8, 8, 8, 8, 8), (1, 0)): ("RGBA", "RGBaX"), - (II, 2, (1,), 1, (8, 8, 8, 8, 8, 8), (1, 0, 0)): ("RGBA", "RGBaXX"), - (MM, 2, (1,), 1, (8, 8, 8, 8, 8, 8), (1, 0, 0)): ("RGBA", "RGBaXX"), - (II, 2, (1,), 1, (8, 8, 8, 8), (2,)): ("RGBA", "RGBA"), - (MM, 2, (1,), 1, (8, 8, 8, 8), (2,)): ("RGBA", "RGBA"), - (II, 2, (1,), 1, (8, 8, 8, 8, 8), (2, 0)): ("RGBA", "RGBAX"), - (MM, 2, (1,), 1, (8, 8, 8, 8, 8), (2, 0)): ("RGBA", "RGBAX"), - (II, 2, (1,), 1, (8, 8, 8, 8, 8, 8), (2, 0, 0)): ("RGBA", "RGBAXX"), - (MM, 2, (1,), 1, (8, 8, 8, 8, 8, 8), (2, 0, 0)): ("RGBA", "RGBAXX"), - (II, 2, (1,), 1, (8, 8, 8, 8), (999,)): ("RGBA", "RGBA"), # Corel Draw 10 - (MM, 2, (1,), 1, (8, 8, 8, 8), (999,)): ("RGBA", "RGBA"), # Corel Draw 10 - (II, 2, (1,), 1, (16, 16, 16), ()): ("RGB", "RGB;16L"), - (MM, 2, (1,), 1, (16, 16, 16), ()): ("RGB", "RGB;16B"), - (II, 2, (1,), 1, (16, 16, 16, 16), ()): ("RGBA", "RGBA;16L"), - (MM, 2, (1,), 1, (16, 16, 16, 16), ()): ("RGBA", "RGBA;16B"), - (II, 2, (1,), 1, (16, 16, 16, 16), (0,)): ("RGBX", "RGBX;16L"), - (MM, 2, (1,), 1, (16, 16, 16, 16), (0,)): ("RGBX", "RGBX;16B"), - (II, 2, (1,), 1, (16, 16, 16, 16), (1,)): ("RGBA", "RGBa;16L"), - (MM, 2, (1,), 1, (16, 16, 16, 16), (1,)): ("RGBA", "RGBa;16B"), - (II, 2, (1,), 1, (16, 16, 16, 16), (2,)): ("RGBA", "RGBA;16L"), - (MM, 2, (1,), 1, (16, 16, 16, 16), (2,)): ("RGBA", "RGBA;16B"), - (II, 3, (1,), 1, (1,), ()): ("P", "P;1"), - (MM, 3, (1,), 1, (1,), ()): ("P", "P;1"), - (II, 3, (1,), 2, (1,), ()): ("P", "P;1R"), - (MM, 3, (1,), 2, (1,), ()): ("P", "P;1R"), - (II, 3, (1,), 1, (2,), ()): ("P", "P;2"), - (MM, 3, (1,), 1, (2,), ()): ("P", "P;2"), - (II, 3, (1,), 2, (2,), ()): ("P", "P;2R"), - (MM, 3, (1,), 2, (2,), ()): ("P", "P;2R"), - (II, 3, (1,), 1, (4,), ()): ("P", "P;4"), - (MM, 3, (1,), 1, (4,), ()): ("P", "P;4"), - (II, 3, (1,), 2, (4,), ()): ("P", "P;4R"), - (MM, 3, (1,), 2, (4,), ()): ("P", "P;4R"), - (II, 3, (1,), 1, (8,), ()): ("P", "P"), - (MM, 3, (1,), 1, (8,), ()): ("P", "P"), - (II, 3, (1,), 1, (8, 8), (2,)): ("PA", "PA"), - (MM, 3, (1,), 1, (8, 8), (2,)): ("PA", "PA"), - (II, 3, (1,), 2, (8,), ()): ("P", "P;R"), - (MM, 3, (1,), 2, (8,), ()): ("P", "P;R"), - (II, 5, (1,), 1, (8, 8, 8, 8), ()): ("CMYK", "CMYK"), - (MM, 5, (1,), 1, (8, 8, 8, 8), ()): ("CMYK", "CMYK"), - (II, 5, (1,), 1, (8, 8, 8, 8, 8), (0,)): ("CMYK", "CMYKX"), - (MM, 5, (1,), 1, (8, 8, 8, 8, 8), (0,)): ("CMYK", "CMYKX"), - (II, 5, (1,), 1, (8, 8, 8, 8, 8, 8), (0, 0)): ("CMYK", "CMYKXX"), - (MM, 5, (1,), 1, (8, 8, 8, 8, 8, 8), (0, 0)): ("CMYK", "CMYKXX"), - (II, 5, (1,), 1, (16, 16, 16, 16), ()): ("CMYK", "CMYK;16L"), - # JPEG compressed images handled by LibTiff and auto-converted to RGBX - # Minimal Baseline TIFF requires YCbCr images to have 3 SamplesPerPixel - (II, 6, (1,), 1, (8, 8, 8), ()): ("RGB", "RGBX"), - (MM, 6, (1,), 1, (8, 8, 8), ()): ("RGB", "RGBX"), - (II, 8, (1,), 1, (8, 8, 8), ()): ("LAB", "LAB"), - (MM, 8, (1,), 1, (8, 8, 8), ()): ("LAB", "LAB"), -} - -PREFIXES = [ - b"MM\x00\x2A", # Valid TIFF header with big-endian byte order - b"II\x2A\x00", # Valid TIFF header with little-endian byte order - b"MM\x2A\x00", # Invalid TIFF header, assume big-endian - b"II\x00\x2A", # Invalid TIFF header, assume little-endian -] - - -def _accept(prefix): - return prefix[:4] in PREFIXES - - -def _limit_rational(val, max_val): - inv = abs(val) > 1 - n_d = IFDRational(1 / val if inv else val).limit_rational(max_val) - return n_d[::-1] if inv else n_d - - -def _limit_signed_rational(val, max_val, min_val): - frac = Fraction(val) - n_d = frac.numerator, frac.denominator - - if min(n_d) < min_val: - n_d = _limit_rational(val, abs(min_val)) - - if max(n_d) > max_val: - val = Fraction(*n_d) - n_d = _limit_rational(val, max_val) - - return n_d - - -## -# Wrapper for TIFF IFDs. - -_load_dispatch = {} -_write_dispatch = {} - - -class IFDRational(Rational): - """Implements a rational class where 0/0 is a legal value to match - the in the wild use of exif rationals. - - e.g., DigitalZoomRatio - 0.00/0.00 indicates that no digital zoom was used - """ - - """ If the denominator is 0, store this as a float('nan'), otherwise store - as a fractions.Fraction(). Delegate as appropriate - - """ - - __slots__ = ("_numerator", "_denominator", "_val") - - def __init__(self, value, denominator=1): - """ - :param value: either an integer numerator, a - float/rational/other number, or an IFDRational - :param denominator: Optional integer denominator - """ - if isinstance(value, IFDRational): - self._numerator = value.numerator - self._denominator = value.denominator - self._val = value._val - return - - if isinstance(value, Fraction): - self._numerator = value.numerator - self._denominator = value.denominator - else: - self._numerator = value - self._denominator = denominator - - if denominator == 0: - self._val = float("nan") - elif denominator == 1: - self._val = Fraction(value) - else: - self._val = Fraction(value, denominator) - - @property - def numerator(a): - return a._numerator - - @property - def denominator(a): - return a._denominator - - def limit_rational(self, max_denominator): - """ - - :param max_denominator: Integer, the maximum denominator value - :returns: Tuple of (numerator, denominator) - """ - - if self.denominator == 0: - return (self.numerator, self.denominator) - - f = self._val.limit_denominator(max_denominator) - return (f.numerator, f.denominator) - - def __repr__(self): - return str(float(self._val)) - - def __hash__(self): - return self._val.__hash__() - - def __eq__(self, other): - if isinstance(other, IFDRational): - other = other._val - return self._val == other - - def _delegate(op): - def delegate(self, *args): - return getattr(self._val, op)(*args) - - return delegate - - """ a = ['add','radd', 'sub', 'rsub', 'mul', 'rmul', - 'truediv', 'rtruediv', 'floordiv', 'rfloordiv', - 'mod','rmod', 'pow','rpow', 'pos', 'neg', - 'abs', 'trunc', 'lt', 'gt', 'le', 'ge', 'bool', - 'ceil', 'floor', 'round'] - print("\n".join("__%s__ = _delegate('__%s__')" % (s,s) for s in a)) - """ - - __add__ = _delegate("__add__") - __radd__ = _delegate("__radd__") - __sub__ = _delegate("__sub__") - __rsub__ = _delegate("__rsub__") - __mul__ = _delegate("__mul__") - __rmul__ = _delegate("__rmul__") - __truediv__ = _delegate("__truediv__") - __rtruediv__ = _delegate("__rtruediv__") - __floordiv__ = _delegate("__floordiv__") - __rfloordiv__ = _delegate("__rfloordiv__") - __mod__ = _delegate("__mod__") - __rmod__ = _delegate("__rmod__") - __pow__ = _delegate("__pow__") - __rpow__ = _delegate("__rpow__") - __pos__ = _delegate("__pos__") - __neg__ = _delegate("__neg__") - __abs__ = _delegate("__abs__") - __trunc__ = _delegate("__trunc__") - __lt__ = _delegate("__lt__") - __gt__ = _delegate("__gt__") - __le__ = _delegate("__le__") - __ge__ = _delegate("__ge__") - __bool__ = _delegate("__bool__") - __ceil__ = _delegate("__ceil__") - __floor__ = _delegate("__floor__") - __round__ = _delegate("__round__") - - -class ImageFileDirectory_v2(MutableMapping): - """This class represents a TIFF tag directory. To speed things up, we - don't decode tags unless they're asked for. - - Exposes a dictionary interface of the tags in the directory:: - - ifd = ImageFileDirectory_v2() - ifd[key] = 'Some Data' - ifd.tagtype[key] = TiffTags.ASCII - print(ifd[key]) - 'Some Data' - - Individual values are returned as the strings or numbers, sequences are - returned as tuples of the values. - - The tiff metadata type of each item is stored in a dictionary of - tag types in - :attr:`~PIL.TiffImagePlugin.ImageFileDirectory_v2.tagtype`. The types - are read from a tiff file, guessed from the type added, or added - manually. - - Data Structures: - - * self.tagtype = {} - - * Key: numerical tiff tag number - * Value: integer corresponding to the data type from - ~PIL.TiffTags.TYPES` - - .. versionadded:: 3.0.0 - """ - - """ - Documentation: - - 'internal' data structures: - * self._tags_v2 = {} Key: numerical tiff tag number - Value: decoded data, as tuple for multiple values - * self._tagdata = {} Key: numerical tiff tag number - Value: undecoded byte string from file - * self._tags_v1 = {} Key: numerical tiff tag number - Value: decoded data in the v1 format - - Tags will be found in the private attributes self._tagdata, and in - self._tags_v2 once decoded. - - Self.legacy_api is a value for internal use, and shouldn't be - changed from outside code. In cooperation with the - ImageFileDirectory_v1 class, if legacy_api is true, then decoded - tags will be populated into both _tags_v1 and _tags_v2. _Tags_v2 - will be used if this IFD is used in the TIFF save routine. Tags - should be read from tags_v1 if legacy_api == true. - - """ - - def __init__(self, ifh=b"II\052\0\0\0\0\0", prefix=None): - """Initialize an ImageFileDirectory. - - To construct an ImageFileDirectory from a real file, pass the 8-byte - magic header to the constructor. To only set the endianness, pass it - as the 'prefix' keyword argument. - - :param ifh: One of the accepted magic headers (cf. PREFIXES); also sets - endianness. - :param prefix: Override the endianness of the file. - """ - if ifh[:4] not in PREFIXES: - raise SyntaxError(f"not a TIFF file (header {repr(ifh)} not valid)") - self._prefix = prefix if prefix is not None else ifh[:2] - if self._prefix == MM: - self._endian = ">" - elif self._prefix == II: - self._endian = "<" - else: - raise SyntaxError("not a TIFF IFD") - self.tagtype = {} - """ Dictionary of tag types """ - self.reset() - (self.next,) = self._unpack("L", ifh[4:]) - self._legacy_api = False - - prefix = property(lambda self: self._prefix) - offset = property(lambda self: self._offset) - legacy_api = property(lambda self: self._legacy_api) - - @legacy_api.setter - def legacy_api(self, value): - raise Exception("Not allowing setting of legacy api") - - def reset(self): - self._tags_v1 = {} # will remain empty if legacy_api is false - self._tags_v2 = {} # main tag storage - self._tagdata = {} - self.tagtype = {} # added 2008-06-05 by Florian Hoech - self._next = None - self._offset = None - - def __str__(self): - return str(dict(self)) - - def named(self): - """ - :returns: dict of name|key: value - - Returns the complete tag dictionary, with named tags where possible. - """ - return {TiffTags.lookup(code).name: value for code, value in self.items()} - - def __len__(self): - return len(set(self._tagdata) | set(self._tags_v2)) - - def __getitem__(self, tag): - if tag not in self._tags_v2: # unpack on the fly - data = self._tagdata[tag] - typ = self.tagtype[tag] - size, handler = self._load_dispatch[typ] - self[tag] = handler(self, data, self.legacy_api) # check type - val = self._tags_v2[tag] - if self.legacy_api and not isinstance(val, (tuple, bytes)): - val = (val,) - return val - - def __contains__(self, tag): - return tag in self._tags_v2 or tag in self._tagdata - - def __setitem__(self, tag, value): - self._setitem(tag, value, self.legacy_api) - - def _setitem(self, tag, value, legacy_api): - basetypes = (Number, bytes, str) - - info = TiffTags.lookup(tag) - values = [value] if isinstance(value, basetypes) else value - - if tag not in self.tagtype: - if info.type: - self.tagtype[tag] = info.type - else: - self.tagtype[tag] = TiffTags.UNDEFINED - if all(isinstance(v, IFDRational) for v in values): - self.tagtype[tag] = ( - TiffTags.RATIONAL - if all(v >= 0 for v in values) - else TiffTags.SIGNED_RATIONAL - ) - elif all(isinstance(v, int) for v in values): - if all(0 <= v < 2 ** 16 for v in values): - self.tagtype[tag] = TiffTags.SHORT - elif all(-(2 ** 15) < v < 2 ** 15 for v in values): - self.tagtype[tag] = TiffTags.SIGNED_SHORT - else: - self.tagtype[tag] = ( - TiffTags.LONG - if all(v >= 0 for v in values) - else TiffTags.SIGNED_LONG - ) - elif all(isinstance(v, float) for v in values): - self.tagtype[tag] = TiffTags.DOUBLE - elif all(isinstance(v, str) for v in values): - self.tagtype[tag] = TiffTags.ASCII - elif all(isinstance(v, bytes) for v in values): - self.tagtype[tag] = TiffTags.BYTE - - if self.tagtype[tag] == TiffTags.UNDEFINED: - values = [ - value.encode("ascii", "replace") if isinstance(value, str) else value - ] - elif self.tagtype[tag] == TiffTags.RATIONAL: - values = [float(v) if isinstance(v, int) else v for v in values] - - is_ifd = self.tagtype[tag] == TiffTags.LONG and isinstance(values, dict) - if not is_ifd: - values = tuple(info.cvt_enum(value) for value in values) - - dest = self._tags_v1 if legacy_api else self._tags_v2 - - # Three branches: - # Spec'd length == 1, Actual length 1, store as element - # Spec'd length == 1, Actual > 1, Warn and truncate. Formerly barfed. - # No Spec, Actual length 1, Formerly (<4.2) returned a 1 element tuple. - # Don't mess with the legacy api, since it's frozen. - if not is_ifd and ( - (info.length == 1) - or self.tagtype[tag] == TiffTags.BYTE - or (info.length is None and len(values) == 1 and not legacy_api) - ): - # Don't mess with the legacy api, since it's frozen. - if legacy_api and self.tagtype[tag] in [ - TiffTags.RATIONAL, - TiffTags.SIGNED_RATIONAL, - ]: # rationals - values = (values,) - try: - (dest[tag],) = values - except ValueError: - # We've got a builtin tag with 1 expected entry - warnings.warn( - f"Metadata Warning, tag {tag} had too many entries: " - f"{len(values)}, expected 1" - ) - dest[tag] = values[0] - - else: - # Spec'd length > 1 or undefined - # Unspec'd, and length > 1 - dest[tag] = values - - def __delitem__(self, tag): - self._tags_v2.pop(tag, None) - self._tags_v1.pop(tag, None) - self._tagdata.pop(tag, None) - - def __iter__(self): - return iter(set(self._tagdata) | set(self._tags_v2)) - - def _unpack(self, fmt, data): - return struct.unpack(self._endian + fmt, data) - - def _pack(self, fmt, *values): - return struct.pack(self._endian + fmt, *values) - - def _register_loader(idx, size): - def decorator(func): - from .TiffTags import TYPES - - if func.__name__.startswith("load_"): - TYPES[idx] = func.__name__[5:].replace("_", " ") - _load_dispatch[idx] = size, func # noqa: F821 - return func - - return decorator - - def _register_writer(idx): - def decorator(func): - _write_dispatch[idx] = func # noqa: F821 - return func - - return decorator - - def _register_basic(idx_fmt_name): - from .TiffTags import TYPES - - idx, fmt, name = idx_fmt_name - TYPES[idx] = name - size = struct.calcsize("=" + fmt) - _load_dispatch[idx] = ( # noqa: F821 - size, - lambda self, data, legacy_api=True: ( - self._unpack("{}{}".format(len(data) // size, fmt), data) - ), - ) - _write_dispatch[idx] = lambda self, *values: ( # noqa: F821 - b"".join(self._pack(fmt, value) for value in values) - ) - - list( - map( - _register_basic, - [ - (TiffTags.SHORT, "H", "short"), - (TiffTags.LONG, "L", "long"), - (TiffTags.SIGNED_BYTE, "b", "signed byte"), - (TiffTags.SIGNED_SHORT, "h", "signed short"), - (TiffTags.SIGNED_LONG, "l", "signed long"), - (TiffTags.FLOAT, "f", "float"), - (TiffTags.DOUBLE, "d", "double"), - (TiffTags.IFD, "L", "long"), - ], - ) - ) - - @_register_loader(1, 1) # Basic type, except for the legacy API. - def load_byte(self, data, legacy_api=True): - return data - - @_register_writer(1) # Basic type, except for the legacy API. - def write_byte(self, data): - return data - - @_register_loader(2, 1) - def load_string(self, data, legacy_api=True): - if data.endswith(b"\0"): - data = data[:-1] - return data.decode("latin-1", "replace") - - @_register_writer(2) - def write_string(self, value): - # remerge of https://github.com/python-pillow/Pillow/pull/1416 - return b"" + value.encode("ascii", "replace") + b"\0" - - @_register_loader(5, 8) - def load_rational(self, data, legacy_api=True): - vals = self._unpack("{}L".format(len(data) // 4), data) - - def combine(a, b): - return (a, b) if legacy_api else IFDRational(a, b) - - return tuple(combine(num, denom) for num, denom in zip(vals[::2], vals[1::2])) - - @_register_writer(5) - def write_rational(self, *values): - return b"".join( - self._pack("2L", *_limit_rational(frac, 2 ** 32 - 1)) for frac in values - ) - - @_register_loader(7, 1) - def load_undefined(self, data, legacy_api=True): - return data - - @_register_writer(7) - def write_undefined(self, value): - return value - - @_register_loader(10, 8) - def load_signed_rational(self, data, legacy_api=True): - vals = self._unpack("{}l".format(len(data) // 4), data) - - def combine(a, b): - return (a, b) if legacy_api else IFDRational(a, b) - - return tuple(combine(num, denom) for num, denom in zip(vals[::2], vals[1::2])) - - @_register_writer(10) - def write_signed_rational(self, *values): - return b"".join( - self._pack("2l", *_limit_signed_rational(frac, 2 ** 31 - 1, -(2 ** 31))) - for frac in values - ) - - def _ensure_read(self, fp, size): - ret = fp.read(size) - if len(ret) != size: - raise OSError( - "Corrupt EXIF data. " - f"Expecting to read {size} bytes but only got {len(ret)}. " - ) - return ret - - def load(self, fp): - - self.reset() - self._offset = fp.tell() - - try: - for i in range(self._unpack("H", self._ensure_read(fp, 2))[0]): - tag, typ, count, data = self._unpack("HHL4s", self._ensure_read(fp, 12)) - - tagname = TiffTags.lookup(tag).name - typname = TYPES.get(typ, "unknown") - msg = f"tag: {tagname} ({tag}) - type: {typname} ({typ})" - - try: - unit_size, handler = self._load_dispatch[typ] - except KeyError: - logger.debug(msg + f" - unsupported type {typ}") - continue # ignore unsupported type - size = count * unit_size - if size > 4: - here = fp.tell() - (offset,) = self._unpack("L", data) - msg += f" Tag Location: {here} - Data Location: {offset}" - fp.seek(offset) - data = ImageFile._safe_read(fp, size) - fp.seek(here) - else: - data = data[:size] - - if len(data) != size: - warnings.warn( - "Possibly corrupt EXIF data. " - f"Expecting to read {size} bytes but only got {len(data)}." - f" Skipping tag {tag}" - ) - logger.debug(msg) - continue - - if not data: - logger.debug(msg) - continue - - self._tagdata[tag] = data - self.tagtype[tag] = typ - - msg += " - value: " + ( - "" % size if size > 32 else repr(data) - ) - logger.debug(msg) - - (self.next,) = self._unpack("L", self._ensure_read(fp, 4)) - except OSError as msg: - warnings.warn(str(msg)) - return - - def tobytes(self, offset=0): - # FIXME What about tagdata? - result = self._pack("H", len(self._tags_v2)) - - entries = [] - offset = offset + len(result) + len(self._tags_v2) * 12 + 4 - stripoffsets = None - - # pass 1: convert tags to binary format - # always write tags in ascending order - for tag, value in sorted(self._tags_v2.items()): - if tag == STRIPOFFSETS: - stripoffsets = len(entries) - typ = self.tagtype.get(tag) - logger.debug(f"Tag {tag}, Type: {typ}, Value: {repr(value)}") - is_ifd = typ == TiffTags.LONG and isinstance(value, dict) - if is_ifd: - if self._endian == "<": - ifh = b"II\x2A\x00\x08\x00\x00\x00" - else: - ifh = b"MM\x00\x2A\x00\x00\x00\x08" - ifd = ImageFileDirectory_v2(ifh) - for ifd_tag, ifd_value in self._tags_v2[tag].items(): - ifd[ifd_tag] = ifd_value - data = ifd.tobytes(offset) - else: - values = value if isinstance(value, tuple) else (value,) - data = self._write_dispatch[typ](self, *values) - - tagname = TiffTags.lookup(tag).name - typname = "ifd" if is_ifd else TYPES.get(typ, "unknown") - msg = f"save: {tagname} ({tag}) - type: {typname} ({typ})" - msg += " - value: " + ( - "" % len(data) if len(data) >= 16 else str(values) - ) - logger.debug(msg) - - # count is sum of lengths for string and arbitrary data - if is_ifd: - count = 1 - elif typ in [TiffTags.BYTE, TiffTags.ASCII, TiffTags.UNDEFINED]: - count = len(data) - else: - count = len(values) - # figure out if data fits into the entry - if len(data) <= 4: - entries.append((tag, typ, count, data.ljust(4, b"\0"), b"")) - else: - entries.append((tag, typ, count, self._pack("L", offset), data)) - offset += (len(data) + 1) // 2 * 2 # pad to word - - # update strip offset data to point beyond auxiliary data - if stripoffsets is not None: - tag, typ, count, value, data = entries[stripoffsets] - if data: - raise NotImplementedError("multistrip support not yet implemented") - value = self._pack("L", self._unpack("L", value)[0] + offset) - entries[stripoffsets] = tag, typ, count, value, data - - # pass 2: write entries to file - for tag, typ, count, value, data in entries: - logger.debug(f"{tag} {typ} {count} {repr(value)} {repr(data)}") - result += self._pack("HHL4s", tag, typ, count, value) - - # -- overwrite here for multi-page -- - result += b"\0\0\0\0" # end of entries - - # pass 3: write auxiliary data to file - for tag, typ, count, value, data in entries: - result += data - if len(data) & 1: - result += b"\0" - - return result - - def save(self, fp): - - if fp.tell() == 0: # skip TIFF header on subsequent pages - # tiff header -- PIL always starts the first IFD at offset 8 - fp.write(self._prefix + self._pack("HL", 42, 8)) - - offset = fp.tell() - result = self.tobytes(offset) - fp.write(result) - return offset + len(result) - - -ImageFileDirectory_v2._load_dispatch = _load_dispatch -ImageFileDirectory_v2._write_dispatch = _write_dispatch -for idx, name in TYPES.items(): - name = name.replace(" ", "_") - setattr(ImageFileDirectory_v2, "load_" + name, _load_dispatch[idx][1]) - setattr(ImageFileDirectory_v2, "write_" + name, _write_dispatch[idx]) -del _load_dispatch, _write_dispatch, idx, name - - -# Legacy ImageFileDirectory support. -class ImageFileDirectory_v1(ImageFileDirectory_v2): - """This class represents the **legacy** interface to a TIFF tag directory. - - Exposes a dictionary interface of the tags in the directory:: - - ifd = ImageFileDirectory_v1() - ifd[key] = 'Some Data' - ifd.tagtype[key] = TiffTags.ASCII - print(ifd[key]) - ('Some Data',) - - Also contains a dictionary of tag types as read from the tiff image file, - :attr:`~PIL.TiffImagePlugin.ImageFileDirectory_v1.tagtype`. - - Values are returned as a tuple. - - .. deprecated:: 3.0.0 - """ - - def __init__(self, *args, **kwargs): - super().__init__(*args, **kwargs) - self._legacy_api = True - - tags = property(lambda self: self._tags_v1) - tagdata = property(lambda self: self._tagdata) - - # defined in ImageFileDirectory_v2 - tagtype: dict - """Dictionary of tag types""" - - @classmethod - def from_v2(cls, original): - """Returns an - :py:class:`~PIL.TiffImagePlugin.ImageFileDirectory_v1` - instance with the same data as is contained in the original - :py:class:`~PIL.TiffImagePlugin.ImageFileDirectory_v2` - instance. - - :returns: :py:class:`~PIL.TiffImagePlugin.ImageFileDirectory_v1` - - """ - - ifd = cls(prefix=original.prefix) - ifd._tagdata = original._tagdata - ifd.tagtype = original.tagtype - ifd.next = original.next # an indicator for multipage tiffs - return ifd - - def to_v2(self): - """Returns an - :py:class:`~PIL.TiffImagePlugin.ImageFileDirectory_v2` - instance with the same data as is contained in the original - :py:class:`~PIL.TiffImagePlugin.ImageFileDirectory_v1` - instance. - - :returns: :py:class:`~PIL.TiffImagePlugin.ImageFileDirectory_v2` - - """ - - ifd = ImageFileDirectory_v2(prefix=self.prefix) - ifd._tagdata = dict(self._tagdata) - ifd.tagtype = dict(self.tagtype) - ifd._tags_v2 = dict(self._tags_v2) - return ifd - - def __contains__(self, tag): - return tag in self._tags_v1 or tag in self._tagdata - - def __len__(self): - return len(set(self._tagdata) | set(self._tags_v1)) - - def __iter__(self): - return iter(set(self._tagdata) | set(self._tags_v1)) - - def __setitem__(self, tag, value): - for legacy_api in (False, True): - self._setitem(tag, value, legacy_api) - - def __getitem__(self, tag): - if tag not in self._tags_v1: # unpack on the fly - data = self._tagdata[tag] - typ = self.tagtype[tag] - size, handler = self._load_dispatch[typ] - for legacy in (False, True): - self._setitem(tag, handler(self, data, legacy), legacy) - val = self._tags_v1[tag] - if not isinstance(val, (tuple, bytes)): - val = (val,) - return val - - -# undone -- switch this pointer when IFD_LEGACY_API == False -ImageFileDirectory = ImageFileDirectory_v1 - - -## -# Image plugin for TIFF files. - - -class TiffImageFile(ImageFile.ImageFile): - - format = "TIFF" - format_description = "Adobe TIFF" - _close_exclusive_fp_after_loading = False - - def __init__(self, fp=None, filename=None): - self.tag_v2 = None - """ Image file directory (tag dictionary) """ - - self.tag = None - """ Legacy tag entries """ - - super().__init__(fp, filename) - - def _open(self): - """Open the first image in a TIFF file""" - - # Header - ifh = self.fp.read(8) - - self.tag_v2 = ImageFileDirectory_v2(ifh) - - # legacy IFD entries will be filled in later - self.ifd = None - - # setup frame pointers - self.__first = self.__next = self.tag_v2.next - self.__frame = -1 - self.__fp = self.fp - self._frame_pos = [] - self._n_frames = None - - logger.debug("*** TiffImageFile._open ***") - logger.debug(f"- __first: {self.__first}") - logger.debug(f"- ifh: {repr(ifh)}") # Use repr to avoid str(bytes) - - # and load the first frame - self._seek(0) - - @property - def n_frames(self): - if self._n_frames is None: - current = self.tell() - self._seek(len(self._frame_pos)) - while self._n_frames is None: - self._seek(self.tell() + 1) - self.seek(current) - return self._n_frames - - def seek(self, frame): - """Select a given frame as current image""" - if not self._seek_check(frame): - return - self._seek(frame) - # Create a new core image object on second and - # subsequent frames in the image. Image may be - # different size/mode. - Image._decompression_bomb_check(self.size) - self.im = Image.core.new(self.mode, self.size) - - def _seek(self, frame): - self.fp = self.__fp - while len(self._frame_pos) <= frame: - if not self.__next: - raise EOFError("no more images in TIFF file") - logger.debug( - f"Seeking to frame {frame}, on frame {self.__frame}, " - f"__next {self.__next}, location: {self.fp.tell()}" - ) - # reset buffered io handle in case fp - # was passed to libtiff, invalidating the buffer - self.fp.tell() - self.fp.seek(self.__next) - self._frame_pos.append(self.__next) - logger.debug("Loading tags, location: %s" % self.fp.tell()) - self.tag_v2.load(self.fp) - self.__next = self.tag_v2.next - if self.__next == 0: - self._n_frames = frame + 1 - if len(self._frame_pos) == 1: - self.is_animated = self.__next != 0 - self.__frame += 1 - self.fp.seek(self._frame_pos[frame]) - self.tag_v2.load(self.fp) - # fill the legacy tag/ifd entries - self.tag = self.ifd = ImageFileDirectory_v1.from_v2(self.tag_v2) - self.__frame = frame - self._setup() - - def tell(self): - """Return the current frame number""" - return self.__frame - - def load(self): - if self.tile and self.use_load_libtiff: - return self._load_libtiff() - return super().load() - - def load_end(self): - if self._tile_orientation: - method = { - 2: Image.FLIP_LEFT_RIGHT, - 3: Image.ROTATE_180, - 4: Image.FLIP_TOP_BOTTOM, - 5: Image.TRANSPOSE, - 6: Image.ROTATE_270, - 7: Image.TRANSVERSE, - 8: Image.ROTATE_90, - }.get(self._tile_orientation) - if method is not None: - self.im = self.im.transpose(method) - self._size = self.im.size - - # allow closing if we're on the first frame, there's no next - # This is the ImageFile.load path only, libtiff specific below. - if not self.is_animated: - self._close_exclusive_fp_after_loading = True - - def _load_libtiff(self): - """Overload method triggered when we detect a compressed tiff - Calls out to libtiff""" - - Image.Image.load(self) - - self.load_prepare() - - if not len(self.tile) == 1: - raise OSError("Not exactly one tile") - - # (self._compression, (extents tuple), - # 0, (rawmode, self._compression, fp)) - extents = self.tile[0][1] - args = list(self.tile[0][3]) - - # To be nice on memory footprint, if there's a - # file descriptor, use that instead of reading - # into a string in python. - # libtiff closes the file descriptor, so pass in a dup. - try: - fp = hasattr(self.fp, "fileno") and os.dup(self.fp.fileno()) - # flush the file descriptor, prevents error on pypy 2.4+ - # should also eliminate the need for fp.tell - # in _seek - if hasattr(self.fp, "flush"): - self.fp.flush() - except OSError: - # io.BytesIO have a fileno, but returns an OSError if - # it doesn't use a file descriptor. - fp = False - - if fp: - args[2] = fp - - decoder = Image._getdecoder( - self.mode, "libtiff", tuple(args), self.decoderconfig - ) - try: - decoder.setimage(self.im, extents) - except ValueError as e: - raise OSError("Couldn't set the image") from e - - close_self_fp = self._exclusive_fp and not self.is_animated - if hasattr(self.fp, "getvalue"): - # We've got a stringio like thing passed in. Yay for all in memory. - # The decoder needs the entire file in one shot, so there's not - # a lot we can do here other than give it the entire file. - # unless we could do something like get the address of the - # underlying string for stringio. - # - # Rearranging for supporting byteio items, since they have a fileno - # that returns an OSError if there's no underlying fp. Easier to - # deal with here by reordering. - logger.debug("have getvalue. just sending in a string from getvalue") - n, err = decoder.decode(self.fp.getvalue()) - elif fp: - # we've got a actual file on disk, pass in the fp. - logger.debug("have fileno, calling fileno version of the decoder.") - if not close_self_fp: - self.fp.seek(0) - # 4 bytes, otherwise the trace might error out - n, err = decoder.decode(b"fpfp") - else: - # we have something else. - logger.debug("don't have fileno or getvalue. just reading") - self.fp.seek(0) - # UNDONE -- so much for that buffer size thing. - n, err = decoder.decode(self.fp.read()) - - self.tile = [] - self.readonly = 0 - - self.load_end() - - # libtiff closed the fp in a, we need to close self.fp, if possible - if close_self_fp: - self.fp.close() - self.fp = None # might be shared - - if err < 0: - raise OSError(err) - - return Image.Image.load(self) - - def _setup(self): - """Setup this image object based on current tags""" - - if 0xBC01 in self.tag_v2: - raise OSError("Windows Media Photo files not yet supported") - - # extract relevant tags - self._compression = COMPRESSION_INFO[self.tag_v2.get(COMPRESSION, 1)] - self._planar_configuration = self.tag_v2.get(PLANAR_CONFIGURATION, 1) - - # photometric is a required tag, but not everyone is reading - # the specification - photo = self.tag_v2.get(PHOTOMETRIC_INTERPRETATION, 0) - - # old style jpeg compression images most certainly are YCbCr - if self._compression == "tiff_jpeg": - photo = 6 - - fillorder = self.tag_v2.get(FILLORDER, 1) - - logger.debug("*** Summary ***") - logger.debug(f"- compression: {self._compression}") - logger.debug(f"- photometric_interpretation: {photo}") - logger.debug(f"- planar_configuration: {self._planar_configuration}") - logger.debug(f"- fill_order: {fillorder}") - logger.debug(f"- YCbCr subsampling: {self.tag.get(530)}") - - # size - xsize = int(self.tag_v2.get(IMAGEWIDTH)) - ysize = int(self.tag_v2.get(IMAGELENGTH)) - self._size = xsize, ysize - - logger.debug(f"- size: {self.size}") - - sampleFormat = self.tag_v2.get(SAMPLEFORMAT, (1,)) - if len(sampleFormat) > 1 and max(sampleFormat) == min(sampleFormat) == 1: - # SAMPLEFORMAT is properly per band, so an RGB image will - # be (1,1,1). But, we don't support per band pixel types, - # and anything more than one band is a uint8. So, just - # take the first element. Revisit this if adding support - # for more exotic images. - sampleFormat = (1,) - - bps_tuple = self.tag_v2.get(BITSPERSAMPLE, (1,)) - extra_tuple = self.tag_v2.get(EXTRASAMPLES, ()) - if photo in (2, 6, 8): # RGB, YCbCr, LAB - bps_count = 3 - elif photo == 5: # CMYK - bps_count = 4 - else: - bps_count = 1 - bps_count += len(extra_tuple) - # Some files have only one value in bps_tuple, - # while should have more. Fix it - if bps_count > len(bps_tuple) and len(bps_tuple) == 1: - bps_tuple = bps_tuple * bps_count - - # mode: check photometric interpretation and bits per pixel - key = ( - self.tag_v2.prefix, - photo, - sampleFormat, - fillorder, - bps_tuple, - extra_tuple, - ) - logger.debug(f"format key: {key}") - try: - self.mode, rawmode = OPEN_INFO[key] - except KeyError as e: - logger.debug("- unsupported format") - raise SyntaxError("unknown pixel mode") from e - - logger.debug(f"- raw mode: {rawmode}") - logger.debug(f"- pil mode: {self.mode}") - - self.info["compression"] = self._compression - - xres = self.tag_v2.get(X_RESOLUTION, 1) - yres = self.tag_v2.get(Y_RESOLUTION, 1) - - if xres and yres: - resunit = self.tag_v2.get(RESOLUTION_UNIT) - if resunit == 2: # dots per inch - self.info["dpi"] = int(xres + 0.5), int(yres + 0.5) - elif resunit == 3: # dots per centimeter. convert to dpi - self.info["dpi"] = int(xres * 2.54 + 0.5), int(yres * 2.54 + 0.5) - elif resunit is None: # used to default to 1, but now 2) - self.info["dpi"] = int(xres + 0.5), int(yres + 0.5) - # For backward compatibility, - # we also preserve the old behavior - self.info["resolution"] = xres, yres - else: # No absolute unit of measurement - self.info["resolution"] = xres, yres - - # build tile descriptors - x = y = layer = 0 - self.tile = [] - self.use_load_libtiff = READ_LIBTIFF or self._compression != "raw" - if self.use_load_libtiff: - # Decoder expects entire file as one tile. - # There's a buffer size limit in load (64k) - # so large g4 images will fail if we use that - # function. - # - # Setup the one tile for the whole image, then - # use the _load_libtiff function. - - # libtiff handles the fillmode for us, so 1;IR should - # actually be 1;I. Including the R double reverses the - # bits, so stripes of the image are reversed. See - # https://github.com/python-pillow/Pillow/issues/279 - if fillorder == 2: - # Replace fillorder with fillorder=1 - key = key[:3] + (1,) + key[4:] - logger.debug(f"format key: {key}") - # this should always work, since all the - # fillorder==2 modes have a corresponding - # fillorder=1 mode - self.mode, rawmode = OPEN_INFO[key] - # libtiff always returns the bytes in native order. - # we're expecting image byte order. So, if the rawmode - # contains I;16, we need to convert from native to image - # byte order. - if rawmode == "I;16": - rawmode = "I;16N" - if ";16B" in rawmode: - rawmode = rawmode.replace(";16B", ";16N") - if ";16L" in rawmode: - rawmode = rawmode.replace(";16L", ";16N") - - # Offset in the tile tuple is 0, we go from 0,0 to - # w,h, and we only do this once -- eds - a = (rawmode, self._compression, False, self.tag_v2.offset) - self.tile.append(("libtiff", (0, 0, xsize, ysize), 0, a)) - - elif STRIPOFFSETS in self.tag_v2 or TILEOFFSETS in self.tag_v2: - # striped image - if STRIPOFFSETS in self.tag_v2: - offsets = self.tag_v2[STRIPOFFSETS] - h = self.tag_v2.get(ROWSPERSTRIP, ysize) - w = self.size[0] - else: - # tiled image - offsets = self.tag_v2[TILEOFFSETS] - w = self.tag_v2.get(322) - h = self.tag_v2.get(323) - - for offset in offsets: - if x + w > xsize: - stride = w * sum(bps_tuple) / 8 # bytes per line - else: - stride = 0 - - tile_rawmode = rawmode - if self._planar_configuration == 2: - # each band on it's own layer - tile_rawmode = rawmode[layer] - # adjust stride width accordingly - stride /= bps_count - - a = (tile_rawmode, int(stride), 1) - self.tile.append( - ( - self._compression, - (x, y, min(x + w, xsize), min(y + h, ysize)), - offset, - a, - ) - ) - x = x + w - if x >= self.size[0]: - x, y = 0, y + h - if y >= self.size[1]: - x = y = 0 - layer += 1 - else: - logger.debug("- unsupported data organization") - raise SyntaxError("unknown data organization") - - # Fix up info. - if ICCPROFILE in self.tag_v2: - self.info["icc_profile"] = self.tag_v2[ICCPROFILE] - - # fixup palette descriptor - - if self.mode in ["P", "PA"]: - palette = [o8(b // 256) for b in self.tag_v2[COLORMAP]] - self.palette = ImagePalette.raw("RGB;L", b"".join(palette)) - - self._tile_orientation = self.tag_v2.get(0x0112) - - def _close__fp(self): - try: - if self.__fp != self.fp: - self.__fp.close() - except AttributeError: - pass - finally: - self.__fp = None - - -# -# -------------------------------------------------------------------- -# Write TIFF files - -# little endian is default except for image modes with -# explicit big endian byte-order - -SAVE_INFO = { - # mode => rawmode, byteorder, photometrics, - # sampleformat, bitspersample, extra - "1": ("1", II, 1, 1, (1,), None), - "L": ("L", II, 1, 1, (8,), None), - "LA": ("LA", II, 1, 1, (8, 8), 2), - "P": ("P", II, 3, 1, (8,), None), - "PA": ("PA", II, 3, 1, (8, 8), 2), - "I": ("I;32S", II, 1, 2, (32,), None), - "I;16": ("I;16", II, 1, 1, (16,), None), - "I;16S": ("I;16S", II, 1, 2, (16,), None), - "F": ("F;32F", II, 1, 3, (32,), None), - "RGB": ("RGB", II, 2, 1, (8, 8, 8), None), - "RGBX": ("RGBX", II, 2, 1, (8, 8, 8, 8), 0), - "RGBA": ("RGBA", II, 2, 1, (8, 8, 8, 8), 2), - "CMYK": ("CMYK", II, 5, 1, (8, 8, 8, 8), None), - "YCbCr": ("YCbCr", II, 6, 1, (8, 8, 8), None), - "LAB": ("LAB", II, 8, 1, (8, 8, 8), None), - "I;32BS": ("I;32BS", MM, 1, 2, (32,), None), - "I;16B": ("I;16B", MM, 1, 1, (16,), None), - "I;16BS": ("I;16BS", MM, 1, 2, (16,), None), - "F;32BF": ("F;32BF", MM, 1, 3, (32,), None), -} - - -def _save(im, fp, filename): - - try: - rawmode, prefix, photo, format, bits, extra = SAVE_INFO[im.mode] - except KeyError as e: - raise OSError(f"cannot write mode {im.mode} as TIFF") from e - - ifd = ImageFileDirectory_v2(prefix=prefix) - - compression = im.encoderinfo.get("compression", im.info.get("compression")) - if compression is None: - compression = "raw" - elif compression == "tiff_jpeg": - # OJPEG is obsolete, so use new-style JPEG compression instead - compression = "jpeg" - - libtiff = WRITE_LIBTIFF or compression != "raw" - - # required for color libtiff images - ifd[PLANAR_CONFIGURATION] = getattr(im, "_planar_configuration", 1) - - ifd[IMAGEWIDTH] = im.size[0] - ifd[IMAGELENGTH] = im.size[1] - - # write any arbitrary tags passed in as an ImageFileDirectory - info = im.encoderinfo.get("tiffinfo", {}) - logger.debug("Tiffinfo Keys: %s" % list(info)) - if isinstance(info, ImageFileDirectory_v1): - info = info.to_v2() - for key in info: - ifd[key] = info.get(key) - try: - ifd.tagtype[key] = info.tagtype[key] - except Exception: - pass # might not be an IFD. Might not have populated type - - # additions written by Greg Couch, gregc@cgl.ucsf.edu - # inspired by image-sig posting from Kevin Cazabon, kcazabon@home.com - if hasattr(im, "tag_v2"): - # preserve tags from original TIFF image file - for key in ( - RESOLUTION_UNIT, - X_RESOLUTION, - Y_RESOLUTION, - IPTC_NAA_CHUNK, - PHOTOSHOP_CHUNK, - XMP, - ): - if key in im.tag_v2: - ifd[key] = im.tag_v2[key] - ifd.tagtype[key] = im.tag_v2.tagtype[key] - - # preserve ICC profile (should also work when saving other formats - # which support profiles as TIFF) -- 2008-06-06 Florian Hoech - if "icc_profile" in im.info: - ifd[ICCPROFILE] = im.info["icc_profile"] - - for key, name in [ - (IMAGEDESCRIPTION, "description"), - (X_RESOLUTION, "resolution"), - (Y_RESOLUTION, "resolution"), - (X_RESOLUTION, "x_resolution"), - (Y_RESOLUTION, "y_resolution"), - (RESOLUTION_UNIT, "resolution_unit"), - (SOFTWARE, "software"), - (DATE_TIME, "date_time"), - (ARTIST, "artist"), - (COPYRIGHT, "copyright"), - ]: - if name in im.encoderinfo: - ifd[key] = im.encoderinfo[name] - - dpi = im.encoderinfo.get("dpi") - if dpi: - ifd[RESOLUTION_UNIT] = 2 - ifd[X_RESOLUTION] = int(dpi[0] + 0.5) - ifd[Y_RESOLUTION] = int(dpi[1] + 0.5) - - if bits != (1,): - ifd[BITSPERSAMPLE] = bits - if len(bits) != 1: - ifd[SAMPLESPERPIXEL] = len(bits) - if extra is not None: - ifd[EXTRASAMPLES] = extra - if format != 1: - ifd[SAMPLEFORMAT] = format - - ifd[PHOTOMETRIC_INTERPRETATION] = photo - - if im.mode in ["P", "PA"]: - lut = im.im.getpalette("RGB", "RGB;L") - ifd[COLORMAP] = tuple(v * 256 for v in lut) - # data orientation - stride = len(bits) * ((im.size[0] * bits[0] + 7) // 8) - ifd[ROWSPERSTRIP] = im.size[1] - strip_byte_counts = stride * im.size[1] - if strip_byte_counts >= 2 ** 16: - ifd.tagtype[STRIPBYTECOUNTS] = TiffTags.LONG - ifd[STRIPBYTECOUNTS] = strip_byte_counts - ifd[STRIPOFFSETS] = 0 # this is adjusted by IFD writer - # no compression by default: - ifd[COMPRESSION] = COMPRESSION_INFO_REV.get(compression, 1) - - if libtiff: - if "quality" in im.encoderinfo: - quality = im.encoderinfo["quality"] - if not isinstance(quality, int) or quality < 0 or quality > 100: - raise ValueError("Invalid quality setting") - if compression != "jpeg": - raise ValueError( - "quality setting only supported for 'jpeg' compression" - ) - ifd[JPEGQUALITY] = quality - - logger.debug("Saving using libtiff encoder") - logger.debug("Items: %s" % sorted(ifd.items())) - _fp = 0 - if hasattr(fp, "fileno"): - try: - fp.seek(0) - _fp = os.dup(fp.fileno()) - except io.UnsupportedOperation: - pass - - # optional types for non core tags - types = {} - # SAMPLEFORMAT is determined by the image format and should not be copied - # from legacy_ifd. - # STRIPOFFSETS and STRIPBYTECOUNTS are added by the library - # based on the data in the strip. - # The other tags expect arrays with a certain length (fixed or depending on - # BITSPERSAMPLE, etc), passing arrays with a different length will result in - # segfaults. Block these tags until we add extra validation. - # SUBIFD may also cause a segfault. - blocklist = [ - REFERENCEBLACKWHITE, - SAMPLEFORMAT, - STRIPBYTECOUNTS, - STRIPOFFSETS, - TRANSFERFUNCTION, - SUBIFD, - ] - - atts = {} - # bits per sample is a single short in the tiff directory, not a list. - atts[BITSPERSAMPLE] = bits[0] - # Merge the ones that we have with (optional) more bits from - # the original file, e.g x,y resolution so that we can - # save(load('')) == original file. - legacy_ifd = {} - if hasattr(im, "tag"): - legacy_ifd = im.tag.to_v2() - for tag, value in itertools.chain( - ifd.items(), getattr(im, "tag_v2", {}).items(), legacy_ifd.items() - ): - # Libtiff can only process certain core items without adding - # them to the custom dictionary. - # Custom items are supported for int, float, unicode, string and byte - # values. Other types and tuples require a tagtype. - if tag not in TiffTags.LIBTIFF_CORE: - if not Image.core.libtiff_support_custom_tags: - continue - - if tag in ifd.tagtype: - types[tag] = ifd.tagtype[tag] - elif not (isinstance(value, (int, float, str, bytes))): - continue - else: - type = TiffTags.lookup(tag).type - if type: - types[tag] = type - if tag not in atts and tag not in blocklist: - if isinstance(value, str): - atts[tag] = value.encode("ascii", "replace") + b"\0" - elif isinstance(value, IFDRational): - atts[tag] = float(value) - else: - atts[tag] = value - - logger.debug("Converted items: %s" % sorted(atts.items())) - - # libtiff always expects the bytes in native order. - # we're storing image byte order. So, if the rawmode - # contains I;16, we need to convert from native to image - # byte order. - if im.mode in ("I;16B", "I;16"): - rawmode = "I;16N" - - # Pass tags as sorted list so that the tags are set in a fixed order. - # This is required by libtiff for some tags. For example, the JPEGQUALITY - # pseudo tag requires that the COMPRESS tag was already set. - tags = list(atts.items()) - tags.sort() - a = (rawmode, compression, _fp, filename, tags, types) - e = Image._getencoder(im.mode, "libtiff", a, im.encoderconfig) - e.setimage(im.im, (0, 0) + im.size) - while True: - # undone, change to self.decodermaxblock: - l, s, d = e.encode(16 * 1024) - if not _fp: - fp.write(d) - if s: - break - if s < 0: - raise OSError(f"encoder error {s} when writing image file") - - else: - offset = ifd.save(fp) - - ImageFile._save( - im, fp, [("raw", (0, 0) + im.size, offset, (rawmode, stride, 1))] - ) - - # -- helper for multi-page save -- - if "_debug_multipage" in im.encoderinfo: - # just to access o32 and o16 (using correct byte order) - im._debug_multipage = ifd - - -class AppendingTiffWriter: - fieldSizes = [ - 0, # None - 1, # byte - 1, # ascii - 2, # short - 4, # long - 8, # rational - 1, # sbyte - 1, # undefined - 2, # sshort - 4, # slong - 8, # srational - 4, # float - 8, # double - ] - - # StripOffsets = 273 - # FreeOffsets = 288 - # TileOffsets = 324 - # JPEGQTables = 519 - # JPEGDCTables = 520 - # JPEGACTables = 521 - Tags = {273, 288, 324, 519, 520, 521} - - def __init__(self, fn, new=False): - if hasattr(fn, "read"): - self.f = fn - self.close_fp = False - else: - self.name = fn - self.close_fp = True - try: - self.f = open(fn, "w+b" if new else "r+b") - except OSError: - self.f = open(fn, "w+b") - self.beginning = self.f.tell() - self.setup() - - def setup(self): - # Reset everything. - self.f.seek(self.beginning, os.SEEK_SET) - - self.whereToWriteNewIFDOffset = None - self.offsetOfNewPage = 0 - - self.IIMM = IIMM = self.f.read(4) - if not IIMM: - # empty file - first page - self.isFirst = True - return - - self.isFirst = False - if IIMM == b"II\x2a\x00": - self.setEndian("<") - elif IIMM == b"MM\x00\x2a": - self.setEndian(">") - else: - raise RuntimeError("Invalid TIFF file header") - - self.skipIFDs() - self.goToEnd() - - def finalize(self): - if self.isFirst: - return - - # fix offsets - self.f.seek(self.offsetOfNewPage) - - IIMM = self.f.read(4) - if not IIMM: - # raise RuntimeError("nothing written into new page") - # Make it easy to finish a frame without committing to a new one. - return - - if IIMM != self.IIMM: - raise RuntimeError("IIMM of new page doesn't match IIMM of first page") - - IFDoffset = self.readLong() - IFDoffset += self.offsetOfNewPage - self.f.seek(self.whereToWriteNewIFDOffset) - self.writeLong(IFDoffset) - self.f.seek(IFDoffset) - self.fixIFD() - - def newFrame(self): - # Call this to finish a frame. - self.finalize() - self.setup() - - def __enter__(self): - return self - - def __exit__(self, exc_type, exc_value, traceback): - if self.close_fp: - self.close() - return False - - def tell(self): - return self.f.tell() - self.offsetOfNewPage - - def seek(self, offset, whence=io.SEEK_SET): - if whence == os.SEEK_SET: - offset += self.offsetOfNewPage - - self.f.seek(offset, whence) - return self.tell() - - def goToEnd(self): - self.f.seek(0, os.SEEK_END) - pos = self.f.tell() - - # pad to 16 byte boundary - padBytes = 16 - pos % 16 - if 0 < padBytes < 16: - self.f.write(bytes(padBytes)) - self.offsetOfNewPage = self.f.tell() - - def setEndian(self, endian): - self.endian = endian - self.longFmt = self.endian + "L" - self.shortFmt = self.endian + "H" - self.tagFormat = self.endian + "HHL" - - def skipIFDs(self): - while True: - IFDoffset = self.readLong() - if IFDoffset == 0: - self.whereToWriteNewIFDOffset = self.f.tell() - 4 - break - - self.f.seek(IFDoffset) - numTags = self.readShort() - self.f.seek(numTags * 12, os.SEEK_CUR) - - def write(self, data): - return self.f.write(data) - - def readShort(self): - (value,) = struct.unpack(self.shortFmt, self.f.read(2)) - return value - - def readLong(self): - (value,) = struct.unpack(self.longFmt, self.f.read(4)) - return value - - def rewriteLastShortToLong(self, value): - self.f.seek(-2, os.SEEK_CUR) - bytesWritten = self.f.write(struct.pack(self.longFmt, value)) - if bytesWritten is not None and bytesWritten != 4: - raise RuntimeError(f"wrote only {bytesWritten} bytes but wanted 4") - - def rewriteLastShort(self, value): - self.f.seek(-2, os.SEEK_CUR) - bytesWritten = self.f.write(struct.pack(self.shortFmt, value)) - if bytesWritten is not None and bytesWritten != 2: - raise RuntimeError(f"wrote only {bytesWritten} bytes but wanted 2") - - def rewriteLastLong(self, value): - self.f.seek(-4, os.SEEK_CUR) - bytesWritten = self.f.write(struct.pack(self.longFmt, value)) - if bytesWritten is not None and bytesWritten != 4: - raise RuntimeError(f"wrote only {bytesWritten} bytes but wanted 4") - - def writeShort(self, value): - bytesWritten = self.f.write(struct.pack(self.shortFmt, value)) - if bytesWritten is not None and bytesWritten != 2: - raise RuntimeError(f"wrote only {bytesWritten} bytes but wanted 2") - - def writeLong(self, value): - bytesWritten = self.f.write(struct.pack(self.longFmt, value)) - if bytesWritten is not None and bytesWritten != 4: - raise RuntimeError(f"wrote only {bytesWritten} bytes but wanted 4") - - def close(self): - self.finalize() - self.f.close() - - def fixIFD(self): - numTags = self.readShort() - - for i in range(numTags): - tag, fieldType, count = struct.unpack(self.tagFormat, self.f.read(8)) - - fieldSize = self.fieldSizes[fieldType] - totalSize = fieldSize * count - isLocal = totalSize <= 4 - if not isLocal: - offset = self.readLong() - offset += self.offsetOfNewPage - self.rewriteLastLong(offset) - - if tag in self.Tags: - curPos = self.f.tell() - - if isLocal: - self.fixOffsets( - count, isShort=(fieldSize == 2), isLong=(fieldSize == 4) - ) - self.f.seek(curPos + 4) - else: - self.f.seek(offset) - self.fixOffsets( - count, isShort=(fieldSize == 2), isLong=(fieldSize == 4) - ) - self.f.seek(curPos) - - offset = curPos = None - - elif isLocal: - # skip the locally stored value that is not an offset - self.f.seek(4, os.SEEK_CUR) - - def fixOffsets(self, count, isShort=False, isLong=False): - if not isShort and not isLong: - raise RuntimeError("offset is neither short nor long") - - for i in range(count): - offset = self.readShort() if isShort else self.readLong() - offset += self.offsetOfNewPage - if isShort and offset >= 65536: - # offset is now too large - we must convert shorts to longs - if count != 1: - raise RuntimeError("not implemented") # XXX TODO - - # simple case - the offset is just one and therefore it is - # local (not referenced with another offset) - self.rewriteLastShortToLong(offset) - self.f.seek(-10, os.SEEK_CUR) - self.writeShort(TiffTags.LONG) # rewrite the type to LONG - self.f.seek(8, os.SEEK_CUR) - elif isShort: - self.rewriteLastShort(offset) - else: - self.rewriteLastLong(offset) - - -def _save_all(im, fp, filename): - encoderinfo = im.encoderinfo.copy() - encoderconfig = im.encoderconfig - append_images = list(encoderinfo.get("append_images", [])) - if not hasattr(im, "n_frames") and not append_images: - return _save(im, fp, filename) - - cur_idx = im.tell() - try: - with AppendingTiffWriter(fp) as tf: - for ims in [im] + append_images: - ims.encoderinfo = encoderinfo - ims.encoderconfig = encoderconfig - if not hasattr(ims, "n_frames"): - nfr = 1 - else: - nfr = ims.n_frames - - for idx in range(nfr): - ims.seek(idx) - ims.load() - _save(ims, tf, filename) - tf.newFrame() - finally: - im.seek(cur_idx) - - -# -# -------------------------------------------------------------------- -# Register - -Image.register_open(TiffImageFile.format, TiffImageFile, _accept) -Image.register_save(TiffImageFile.format, _save) -Image.register_save_all(TiffImageFile.format, _save_all) - -Image.register_extensions(TiffImageFile.format, [".tif", ".tiff"]) - -Image.register_mime(TiffImageFile.format, "image/tiff") diff --git a/venv/lib/python3.8/site-packages/PIL/TiffTags.py b/venv/lib/python3.8/site-packages/PIL/TiffTags.py deleted file mode 100644 index 796ff347..00000000 --- a/venv/lib/python3.8/site-packages/PIL/TiffTags.py +++ /dev/null @@ -1,499 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# TIFF tags -# -# This module provides clear-text names for various well-known -# TIFF tags. the TIFF codec works just fine without it. -# -# Copyright (c) Secret Labs AB 1999. -# -# See the README file for information on usage and redistribution. -# - -## -# This module provides constants and clear-text names for various -# well-known TIFF tags. -## - -from collections import namedtuple - - -class TagInfo(namedtuple("_TagInfo", "value name type length enum")): - __slots__ = [] - - def __new__(cls, value=None, name="unknown", type=None, length=None, enum=None): - return super().__new__(cls, value, name, type, length, enum or {}) - - def cvt_enum(self, value): - # Using get will call hash(value), which can be expensive - # for some types (e.g. Fraction). Since self.enum is rarely - # used, it's usually better to test it first. - return self.enum.get(value, value) if self.enum else value - - -def lookup(tag): - """ - :param tag: Integer tag number - :returns: Taginfo namedtuple, From the TAGS_V2 info if possible, - otherwise just populating the value and name from TAGS. - If the tag is not recognized, "unknown" is returned for the name - - """ - - return TAGS_V2.get(tag, TagInfo(tag, TAGS.get(tag, "unknown"))) - - -## -# Map tag numbers to tag info. -# -# id: (Name, Type, Length, enum_values) -# -# The length here differs from the length in the tiff spec. For -# numbers, the tiff spec is for the number of fields returned. We -# agree here. For string-like types, the tiff spec uses the length of -# field in bytes. In Pillow, we are using the number of expected -# fields, in general 1 for string-like types. - - -BYTE = 1 -ASCII = 2 -SHORT = 3 -LONG = 4 -RATIONAL = 5 -SIGNED_BYTE = 6 -UNDEFINED = 7 -SIGNED_SHORT = 8 -SIGNED_LONG = 9 -SIGNED_RATIONAL = 10 -FLOAT = 11 -DOUBLE = 12 -IFD = 13 - -TAGS_V2 = { - 254: ("NewSubfileType", LONG, 1), - 255: ("SubfileType", SHORT, 1), - 256: ("ImageWidth", LONG, 1), - 257: ("ImageLength", LONG, 1), - 258: ("BitsPerSample", SHORT, 0), - 259: ( - "Compression", - SHORT, - 1, - { - "Uncompressed": 1, - "CCITT 1d": 2, - "Group 3 Fax": 3, - "Group 4 Fax": 4, - "LZW": 5, - "JPEG": 6, - "PackBits": 32773, - }, - ), - 262: ( - "PhotometricInterpretation", - SHORT, - 1, - { - "WhiteIsZero": 0, - "BlackIsZero": 1, - "RGB": 2, - "RGB Palette": 3, - "Transparency Mask": 4, - "CMYK": 5, - "YCbCr": 6, - "CieLAB": 8, - "CFA": 32803, # TIFF/EP, Adobe DNG - "LinearRaw": 32892, # Adobe DNG - }, - ), - 263: ("Threshholding", SHORT, 1), - 264: ("CellWidth", SHORT, 1), - 265: ("CellLength", SHORT, 1), - 266: ("FillOrder", SHORT, 1), - 269: ("DocumentName", ASCII, 1), - 270: ("ImageDescription", ASCII, 1), - 271: ("Make", ASCII, 1), - 272: ("Model", ASCII, 1), - 273: ("StripOffsets", LONG, 0), - 274: ("Orientation", SHORT, 1), - 277: ("SamplesPerPixel", SHORT, 1), - 278: ("RowsPerStrip", LONG, 1), - 279: ("StripByteCounts", LONG, 0), - 280: ("MinSampleValue", SHORT, 0), - 281: ("MaxSampleValue", SHORT, 0), - 282: ("XResolution", RATIONAL, 1), - 283: ("YResolution", RATIONAL, 1), - 284: ("PlanarConfiguration", SHORT, 1, {"Contiguous": 1, "Separate": 2}), - 285: ("PageName", ASCII, 1), - 286: ("XPosition", RATIONAL, 1), - 287: ("YPosition", RATIONAL, 1), - 288: ("FreeOffsets", LONG, 1), - 289: ("FreeByteCounts", LONG, 1), - 290: ("GrayResponseUnit", SHORT, 1), - 291: ("GrayResponseCurve", SHORT, 0), - 292: ("T4Options", LONG, 1), - 293: ("T6Options", LONG, 1), - 296: ("ResolutionUnit", SHORT, 1, {"none": 1, "inch": 2, "cm": 3}), - 297: ("PageNumber", SHORT, 2), - 301: ("TransferFunction", SHORT, 0), - 305: ("Software", ASCII, 1), - 306: ("DateTime", ASCII, 1), - 315: ("Artist", ASCII, 1), - 316: ("HostComputer", ASCII, 1), - 317: ("Predictor", SHORT, 1, {"none": 1, "Horizontal Differencing": 2}), - 318: ("WhitePoint", RATIONAL, 2), - 319: ("PrimaryChromaticities", RATIONAL, 6), - 320: ("ColorMap", SHORT, 0), - 321: ("HalftoneHints", SHORT, 2), - 322: ("TileWidth", LONG, 1), - 323: ("TileLength", LONG, 1), - 324: ("TileOffsets", LONG, 0), - 325: ("TileByteCounts", LONG, 0), - 332: ("InkSet", SHORT, 1), - 333: ("InkNames", ASCII, 1), - 334: ("NumberOfInks", SHORT, 1), - 336: ("DotRange", SHORT, 0), - 337: ("TargetPrinter", ASCII, 1), - 338: ("ExtraSamples", SHORT, 0), - 339: ("SampleFormat", SHORT, 0), - 340: ("SMinSampleValue", DOUBLE, 0), - 341: ("SMaxSampleValue", DOUBLE, 0), - 342: ("TransferRange", SHORT, 6), - 347: ("JPEGTables", UNDEFINED, 1), - # obsolete JPEG tags - 512: ("JPEGProc", SHORT, 1), - 513: ("JPEGInterchangeFormat", LONG, 1), - 514: ("JPEGInterchangeFormatLength", LONG, 1), - 515: ("JPEGRestartInterval", SHORT, 1), - 517: ("JPEGLosslessPredictors", SHORT, 0), - 518: ("JPEGPointTransforms", SHORT, 0), - 519: ("JPEGQTables", LONG, 0), - 520: ("JPEGDCTables", LONG, 0), - 521: ("JPEGACTables", LONG, 0), - 529: ("YCbCrCoefficients", RATIONAL, 3), - 530: ("YCbCrSubSampling", SHORT, 2), - 531: ("YCbCrPositioning", SHORT, 1), - 532: ("ReferenceBlackWhite", RATIONAL, 6), - 700: ("XMP", BYTE, 0), - 33432: ("Copyright", ASCII, 1), - 33723: ("IptcNaaInfo", UNDEFINED, 0), - 34377: ("PhotoshopInfo", BYTE, 0), - # FIXME add more tags here - 34665: ("ExifIFD", LONG, 1), - 34675: ("ICCProfile", UNDEFINED, 1), - 34853: ("GPSInfoIFD", LONG, 1), - # MPInfo - 45056: ("MPFVersion", UNDEFINED, 1), - 45057: ("NumberOfImages", LONG, 1), - 45058: ("MPEntry", UNDEFINED, 1), - 45059: ("ImageUIDList", UNDEFINED, 0), # UNDONE, check - 45060: ("TotalFrames", LONG, 1), - 45313: ("MPIndividualNum", LONG, 1), - 45569: ("PanOrientation", LONG, 1), - 45570: ("PanOverlap_H", RATIONAL, 1), - 45571: ("PanOverlap_V", RATIONAL, 1), - 45572: ("BaseViewpointNum", LONG, 1), - 45573: ("ConvergenceAngle", SIGNED_RATIONAL, 1), - 45574: ("BaselineLength", RATIONAL, 1), - 45575: ("VerticalDivergence", SIGNED_RATIONAL, 1), - 45576: ("AxisDistance_X", SIGNED_RATIONAL, 1), - 45577: ("AxisDistance_Y", SIGNED_RATIONAL, 1), - 45578: ("AxisDistance_Z", SIGNED_RATIONAL, 1), - 45579: ("YawAngle", SIGNED_RATIONAL, 1), - 45580: ("PitchAngle", SIGNED_RATIONAL, 1), - 45581: ("RollAngle", SIGNED_RATIONAL, 1), - 50741: ("MakerNoteSafety", SHORT, 1, {"Unsafe": 0, "Safe": 1}), - 50780: ("BestQualityScale", RATIONAL, 1), - 50838: ("ImageJMetaDataByteCounts", LONG, 0), # Can be more than one - 50839: ("ImageJMetaData", UNDEFINED, 1), # see Issue #2006 -} - -# Legacy Tags structure -# these tags aren't included above, but were in the previous versions -TAGS = { - 347: "JPEGTables", - 700: "XMP", - # Additional Exif Info - 32932: "Wang Annotation", - 33434: "ExposureTime", - 33437: "FNumber", - 33445: "MD FileTag", - 33446: "MD ScalePixel", - 33447: "MD ColorTable", - 33448: "MD LabName", - 33449: "MD SampleInfo", - 33450: "MD PrepDate", - 33451: "MD PrepTime", - 33452: "MD FileUnits", - 33550: "ModelPixelScaleTag", - 33723: "IptcNaaInfo", - 33918: "INGR Packet Data Tag", - 33919: "INGR Flag Registers", - 33920: "IrasB Transformation Matrix", - 33922: "ModelTiepointTag", - 34264: "ModelTransformationTag", - 34377: "PhotoshopInfo", - 34735: "GeoKeyDirectoryTag", - 34736: "GeoDoubleParamsTag", - 34737: "GeoAsciiParamsTag", - 34850: "ExposureProgram", - 34852: "SpectralSensitivity", - 34855: "ISOSpeedRatings", - 34856: "OECF", - 34864: "SensitivityType", - 34865: "StandardOutputSensitivity", - 34866: "RecommendedExposureIndex", - 34867: "ISOSpeed", - 34868: "ISOSpeedLatitudeyyy", - 34869: "ISOSpeedLatitudezzz", - 34908: "HylaFAX FaxRecvParams", - 34909: "HylaFAX FaxSubAddress", - 34910: "HylaFAX FaxRecvTime", - 36864: "ExifVersion", - 36867: "DateTimeOriginal", - 36868: "DateTImeDigitized", - 37121: "ComponentsConfiguration", - 37122: "CompressedBitsPerPixel", - 37724: "ImageSourceData", - 37377: "ShutterSpeedValue", - 37378: "ApertureValue", - 37379: "BrightnessValue", - 37380: "ExposureBiasValue", - 37381: "MaxApertureValue", - 37382: "SubjectDistance", - 37383: "MeteringMode", - 37384: "LightSource", - 37385: "Flash", - 37386: "FocalLength", - 37396: "SubjectArea", - 37500: "MakerNote", - 37510: "UserComment", - 37520: "SubSec", - 37521: "SubSecTimeOriginal", - 37522: "SubsecTimeDigitized", - 40960: "FlashPixVersion", - 40961: "ColorSpace", - 40962: "PixelXDimension", - 40963: "PixelYDimension", - 40964: "RelatedSoundFile", - 40965: "InteroperabilityIFD", - 41483: "FlashEnergy", - 41484: "SpatialFrequencyResponse", - 41486: "FocalPlaneXResolution", - 41487: "FocalPlaneYResolution", - 41488: "FocalPlaneResolutionUnit", - 41492: "SubjectLocation", - 41493: "ExposureIndex", - 41495: "SensingMethod", - 41728: "FileSource", - 41729: "SceneType", - 41730: "CFAPattern", - 41985: "CustomRendered", - 41986: "ExposureMode", - 41987: "WhiteBalance", - 41988: "DigitalZoomRatio", - 41989: "FocalLengthIn35mmFilm", - 41990: "SceneCaptureType", - 41991: "GainControl", - 41992: "Contrast", - 41993: "Saturation", - 41994: "Sharpness", - 41995: "DeviceSettingDescription", - 41996: "SubjectDistanceRange", - 42016: "ImageUniqueID", - 42032: "CameraOwnerName", - 42033: "BodySerialNumber", - 42034: "LensSpecification", - 42035: "LensMake", - 42036: "LensModel", - 42037: "LensSerialNumber", - 42112: "GDAL_METADATA", - 42113: "GDAL_NODATA", - 42240: "Gamma", - 50215: "Oce Scanjob Description", - 50216: "Oce Application Selector", - 50217: "Oce Identification Number", - 50218: "Oce ImageLogic Characteristics", - # Adobe DNG - 50706: "DNGVersion", - 50707: "DNGBackwardVersion", - 50708: "UniqueCameraModel", - 50709: "LocalizedCameraModel", - 50710: "CFAPlaneColor", - 50711: "CFALayout", - 50712: "LinearizationTable", - 50713: "BlackLevelRepeatDim", - 50714: "BlackLevel", - 50715: "BlackLevelDeltaH", - 50716: "BlackLevelDeltaV", - 50717: "WhiteLevel", - 50718: "DefaultScale", - 50719: "DefaultCropOrigin", - 50720: "DefaultCropSize", - 50721: "ColorMatrix1", - 50722: "ColorMatrix2", - 50723: "CameraCalibration1", - 50724: "CameraCalibration2", - 50725: "ReductionMatrix1", - 50726: "ReductionMatrix2", - 50727: "AnalogBalance", - 50728: "AsShotNeutral", - 50729: "AsShotWhiteXY", - 50730: "BaselineExposure", - 50731: "BaselineNoise", - 50732: "BaselineSharpness", - 50733: "BayerGreenSplit", - 50734: "LinearResponseLimit", - 50735: "CameraSerialNumber", - 50736: "LensInfo", - 50737: "ChromaBlurRadius", - 50738: "AntiAliasStrength", - 50740: "DNGPrivateData", - 50778: "CalibrationIlluminant1", - 50779: "CalibrationIlluminant2", - 50784: "Alias Layer Metadata", -} - - -def _populate(): - for k, v in TAGS_V2.items(): - # Populate legacy structure. - TAGS[k] = v[0] - if len(v) == 4: - for sk, sv in v[3].items(): - TAGS[(k, sv)] = sk - - TAGS_V2[k] = TagInfo(k, *v) - - -_populate() -## -# Map type numbers to type names -- defined in ImageFileDirectory. - -TYPES = {} - -# was: -# TYPES = { -# 1: "byte", -# 2: "ascii", -# 3: "short", -# 4: "long", -# 5: "rational", -# 6: "signed byte", -# 7: "undefined", -# 8: "signed short", -# 9: "signed long", -# 10: "signed rational", -# 11: "float", -# 12: "double", -# } - -# -# These tags are handled by default in libtiff, without -# adding to the custom dictionary. From tif_dir.c, searching for -# case TIFFTAG in the _TIFFVSetField function: -# Line: item. -# 148: case TIFFTAG_SUBFILETYPE: -# 151: case TIFFTAG_IMAGEWIDTH: -# 154: case TIFFTAG_IMAGELENGTH: -# 157: case TIFFTAG_BITSPERSAMPLE: -# 181: case TIFFTAG_COMPRESSION: -# 202: case TIFFTAG_PHOTOMETRIC: -# 205: case TIFFTAG_THRESHHOLDING: -# 208: case TIFFTAG_FILLORDER: -# 214: case TIFFTAG_ORIENTATION: -# 221: case TIFFTAG_SAMPLESPERPIXEL: -# 228: case TIFFTAG_ROWSPERSTRIP: -# 238: case TIFFTAG_MINSAMPLEVALUE: -# 241: case TIFFTAG_MAXSAMPLEVALUE: -# 244: case TIFFTAG_SMINSAMPLEVALUE: -# 247: case TIFFTAG_SMAXSAMPLEVALUE: -# 250: case TIFFTAG_XRESOLUTION: -# 256: case TIFFTAG_YRESOLUTION: -# 262: case TIFFTAG_PLANARCONFIG: -# 268: case TIFFTAG_XPOSITION: -# 271: case TIFFTAG_YPOSITION: -# 274: case TIFFTAG_RESOLUTIONUNIT: -# 280: case TIFFTAG_PAGENUMBER: -# 284: case TIFFTAG_HALFTONEHINTS: -# 288: case TIFFTAG_COLORMAP: -# 294: case TIFFTAG_EXTRASAMPLES: -# 298: case TIFFTAG_MATTEING: -# 305: case TIFFTAG_TILEWIDTH: -# 316: case TIFFTAG_TILELENGTH: -# 327: case TIFFTAG_TILEDEPTH: -# 333: case TIFFTAG_DATATYPE: -# 344: case TIFFTAG_SAMPLEFORMAT: -# 361: case TIFFTAG_IMAGEDEPTH: -# 364: case TIFFTAG_SUBIFD: -# 376: case TIFFTAG_YCBCRPOSITIONING: -# 379: case TIFFTAG_YCBCRSUBSAMPLING: -# 383: case TIFFTAG_TRANSFERFUNCTION: -# 389: case TIFFTAG_REFERENCEBLACKWHITE: -# 393: case TIFFTAG_INKNAMES: - -# Following pseudo-tags are also handled by default in libtiff: -# TIFFTAG_JPEGQUALITY 65537 - -# some of these are not in our TAGS_V2 dict and were included from tiff.h - -# This list also exists in encode.c -LIBTIFF_CORE = { - 255, - 256, - 257, - 258, - 259, - 262, - 263, - 266, - 274, - 277, - 278, - 280, - 281, - 340, - 341, - 282, - 283, - 284, - 286, - 287, - 296, - 297, - 321, - 320, - 338, - 32995, - 322, - 323, - 32998, - 32996, - 339, - 32997, - 330, - 531, - 530, - 301, - 532, - 333, - # as above - 269, # this has been in our tests forever, and works - 65537, -} - -LIBTIFF_CORE.remove(301) # Array of short, crashes -LIBTIFF_CORE.remove(532) # Array of long, crashes - -LIBTIFF_CORE.remove(255) # We don't have support for subfiletypes -LIBTIFF_CORE.remove(322) # We don't have support for writing tiled images with libtiff -LIBTIFF_CORE.remove(323) # Tiled images -LIBTIFF_CORE.remove(333) # Ink Names either - -# Note to advanced users: There may be combinations of these -# parameters and values that when added properly, will work and -# produce valid tiff images that may work in your application. -# It is safe to add and remove tags from this set from Pillow's point -# of view so long as you test against libtiff. diff --git a/venv/lib/python3.8/site-packages/PIL/WalImageFile.py b/venv/lib/python3.8/site-packages/PIL/WalImageFile.py deleted file mode 100644 index b578d698..00000000 --- a/venv/lib/python3.8/site-packages/PIL/WalImageFile.py +++ /dev/null @@ -1,126 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# WAL file handling -# -# History: -# 2003-04-23 fl created -# -# Copyright (c) 2003 by Fredrik Lundh. -# -# See the README file for information on usage and redistribution. -# - -""" -This reader is based on the specification available from: -https://www.flipcode.com/archives/Quake_2_BSP_File_Format.shtml -and has been tested with a few sample files found using google. - -.. note:: - This format cannot be automatically recognized, so the reader - is not registered for use with :py:func:`PIL.Image.open()`. - To open a WAL file, use the :py:func:`PIL.WalImageFile.open()` function instead. -""" - -import builtins - -from . import Image -from ._binary import i32le as i32 - - -def open(filename): - """ - Load texture from a Quake2 WAL texture file. - - By default, a Quake2 standard palette is attached to the texture. - To override the palette, use the :py:func:`PIL.Image.Image.putpalette()` method. - - :param filename: WAL file name, or an opened file handle. - :returns: An image instance. - """ - # FIXME: modify to return a WalImageFile instance instead of - # plain Image object ? - - def imopen(fp): - # read header fields - header = fp.read(32 + 24 + 32 + 12) - size = i32(header, 32), i32(header, 36) - offset = i32(header, 40) - - # load pixel data - fp.seek(offset) - - Image._decompression_bomb_check(size) - im = Image.frombytes("P", size, fp.read(size[0] * size[1])) - im.putpalette(quake2palette) - - im.format = "WAL" - im.format_description = "Quake2 Texture" - - # strings are null-terminated - im.info["name"] = header[:32].split(b"\0", 1)[0] - next_name = header[56 : 56 + 32].split(b"\0", 1)[0] - if next_name: - im.info["next_name"] = next_name - - return im - - if hasattr(filename, "read"): - return imopen(filename) - else: - with builtins.open(filename, "rb") as fp: - return imopen(fp) - - -quake2palette = ( - # default palette taken from piffo 0.93 by Hans Häggström - b"\x01\x01\x01\x0b\x0b\x0b\x12\x12\x12\x17\x17\x17\x1b\x1b\x1b\x1e" - b"\x1e\x1e\x22\x22\x22\x26\x26\x26\x29\x29\x29\x2c\x2c\x2c\x2f\x2f" - b"\x2f\x32\x32\x32\x35\x35\x35\x37\x37\x37\x3a\x3a\x3a\x3c\x3c\x3c" - b"\x24\x1e\x13\x22\x1c\x12\x20\x1b\x12\x1f\x1a\x10\x1d\x19\x10\x1b" - b"\x17\x0f\x1a\x16\x0f\x18\x14\x0d\x17\x13\x0d\x16\x12\x0d\x14\x10" - b"\x0b\x13\x0f\x0b\x10\x0d\x0a\x0f\x0b\x0a\x0d\x0b\x07\x0b\x0a\x07" - b"\x23\x23\x26\x22\x22\x25\x22\x20\x23\x21\x1f\x22\x20\x1e\x20\x1f" - b"\x1d\x1e\x1d\x1b\x1c\x1b\x1a\x1a\x1a\x19\x19\x18\x17\x17\x17\x16" - b"\x16\x14\x14\x14\x13\x13\x13\x10\x10\x10\x0f\x0f\x0f\x0d\x0d\x0d" - b"\x2d\x28\x20\x29\x24\x1c\x27\x22\x1a\x25\x1f\x17\x38\x2e\x1e\x31" - b"\x29\x1a\x2c\x25\x17\x26\x20\x14\x3c\x30\x14\x37\x2c\x13\x33\x28" - b"\x12\x2d\x24\x10\x28\x1f\x0f\x22\x1a\x0b\x1b\x14\x0a\x13\x0f\x07" - b"\x31\x1a\x16\x30\x17\x13\x2e\x16\x10\x2c\x14\x0d\x2a\x12\x0b\x27" - b"\x0f\x0a\x25\x0f\x07\x21\x0d\x01\x1e\x0b\x01\x1c\x0b\x01\x1a\x0b" - b"\x01\x18\x0a\x01\x16\x0a\x01\x13\x0a\x01\x10\x07\x01\x0d\x07\x01" - b"\x29\x23\x1e\x27\x21\x1c\x26\x20\x1b\x25\x1f\x1a\x23\x1d\x19\x21" - b"\x1c\x18\x20\x1b\x17\x1e\x19\x16\x1c\x18\x14\x1b\x17\x13\x19\x14" - b"\x10\x17\x13\x0f\x14\x10\x0d\x12\x0f\x0b\x0f\x0b\x0a\x0b\x0a\x07" - b"\x26\x1a\x0f\x23\x19\x0f\x20\x17\x0f\x1c\x16\x0f\x19\x13\x0d\x14" - b"\x10\x0b\x10\x0d\x0a\x0b\x0a\x07\x33\x22\x1f\x35\x29\x26\x37\x2f" - b"\x2d\x39\x35\x34\x37\x39\x3a\x33\x37\x39\x30\x34\x36\x2b\x31\x34" - b"\x27\x2e\x31\x22\x2b\x2f\x1d\x28\x2c\x17\x25\x2a\x0f\x20\x26\x0d" - b"\x1e\x25\x0b\x1c\x22\x0a\x1b\x20\x07\x19\x1e\x07\x17\x1b\x07\x14" - b"\x18\x01\x12\x16\x01\x0f\x12\x01\x0b\x0d\x01\x07\x0a\x01\x01\x01" - b"\x2c\x21\x21\x2a\x1f\x1f\x29\x1d\x1d\x27\x1c\x1c\x26\x1a\x1a\x24" - b"\x18\x18\x22\x17\x17\x21\x16\x16\x1e\x13\x13\x1b\x12\x12\x18\x10" - b"\x10\x16\x0d\x0d\x12\x0b\x0b\x0d\x0a\x0a\x0a\x07\x07\x01\x01\x01" - b"\x2e\x30\x29\x2d\x2e\x27\x2b\x2c\x26\x2a\x2a\x24\x28\x29\x23\x27" - b"\x27\x21\x26\x26\x1f\x24\x24\x1d\x22\x22\x1c\x1f\x1f\x1a\x1c\x1c" - b"\x18\x19\x19\x16\x17\x17\x13\x13\x13\x10\x0f\x0f\x0d\x0b\x0b\x0a" - b"\x30\x1e\x1b\x2d\x1c\x19\x2c\x1a\x17\x2a\x19\x14\x28\x17\x13\x26" - b"\x16\x10\x24\x13\x0f\x21\x12\x0d\x1f\x10\x0b\x1c\x0f\x0a\x19\x0d" - b"\x0a\x16\x0b\x07\x12\x0a\x07\x0f\x07\x01\x0a\x01\x01\x01\x01\x01" - b"\x28\x29\x38\x26\x27\x36\x25\x26\x34\x24\x24\x31\x22\x22\x2f\x20" - b"\x21\x2d\x1e\x1f\x2a\x1d\x1d\x27\x1b\x1b\x25\x19\x19\x21\x17\x17" - b"\x1e\x14\x14\x1b\x13\x12\x17\x10\x0f\x13\x0d\x0b\x0f\x0a\x07\x07" - b"\x2f\x32\x29\x2d\x30\x26\x2b\x2e\x24\x29\x2c\x21\x27\x2a\x1e\x25" - b"\x28\x1c\x23\x26\x1a\x21\x25\x18\x1e\x22\x14\x1b\x1f\x10\x19\x1c" - b"\x0d\x17\x1a\x0a\x13\x17\x07\x10\x13\x01\x0d\x0f\x01\x0a\x0b\x01" - b"\x01\x3f\x01\x13\x3c\x0b\x1b\x39\x10\x20\x35\x14\x23\x31\x17\x23" - b"\x2d\x18\x23\x29\x18\x3f\x3f\x3f\x3f\x3f\x39\x3f\x3f\x31\x3f\x3f" - b"\x2a\x3f\x3f\x20\x3f\x3f\x14\x3f\x3c\x12\x3f\x39\x0f\x3f\x35\x0b" - b"\x3f\x32\x07\x3f\x2d\x01\x3d\x2a\x01\x3b\x26\x01\x39\x21\x01\x37" - b"\x1d\x01\x34\x1a\x01\x32\x16\x01\x2f\x12\x01\x2d\x0f\x01\x2a\x0b" - b"\x01\x27\x07\x01\x23\x01\x01\x1d\x01\x01\x17\x01\x01\x10\x01\x01" - b"\x3d\x01\x01\x19\x19\x3f\x3f\x01\x01\x01\x01\x3f\x16\x16\x13\x10" - b"\x10\x0f\x0d\x0d\x0b\x3c\x2e\x2a\x36\x27\x20\x30\x21\x18\x29\x1b" - b"\x10\x3c\x39\x37\x37\x32\x2f\x31\x2c\x28\x2b\x26\x21\x30\x22\x20" -) diff --git a/venv/lib/python3.8/site-packages/PIL/WebPImagePlugin.py b/venv/lib/python3.8/site-packages/PIL/WebPImagePlugin.py deleted file mode 100644 index 2e9746fa..00000000 --- a/venv/lib/python3.8/site-packages/PIL/WebPImagePlugin.py +++ /dev/null @@ -1,351 +0,0 @@ -from io import BytesIO - -from . import Image, ImageFile - -try: - from . import _webp - - SUPPORTED = True -except ImportError: - SUPPORTED = False - - -_VALID_WEBP_MODES = {"RGBX": True, "RGBA": True, "RGB": True} - -_VALID_WEBP_LEGACY_MODES = {"RGB": True, "RGBA": True} - -_VP8_MODES_BY_IDENTIFIER = { - b"VP8 ": "RGB", - b"VP8X": "RGBA", - b"VP8L": "RGBA", # lossless -} - - -def _accept(prefix): - is_riff_file_format = prefix[:4] == b"RIFF" - is_webp_file = prefix[8:12] == b"WEBP" - is_valid_vp8_mode = prefix[12:16] in _VP8_MODES_BY_IDENTIFIER - - if is_riff_file_format and is_webp_file and is_valid_vp8_mode: - if not SUPPORTED: - return ( - "image file could not be identified because WEBP support not installed" - ) - return True - - -class WebPImageFile(ImageFile.ImageFile): - - format = "WEBP" - format_description = "WebP image" - __loaded = 0 - __logical_frame = 0 - - def _open(self): - if not _webp.HAVE_WEBPANIM: - # Legacy mode - data, width, height, self.mode, icc_profile, exif = _webp.WebPDecode( - self.fp.read() - ) - if icc_profile: - self.info["icc_profile"] = icc_profile - if exif: - self.info["exif"] = exif - self._size = width, height - self.fp = BytesIO(data) - self.tile = [("raw", (0, 0) + self.size, 0, self.mode)] - self.n_frames = 1 - self.is_animated = False - return - - # Use the newer AnimDecoder API to parse the (possibly) animated file, - # and access muxed chunks like ICC/EXIF/XMP. - self._decoder = _webp.WebPAnimDecoder(self.fp.read()) - - # Get info from decoder - width, height, loop_count, bgcolor, frame_count, mode = self._decoder.get_info() - self._size = width, height - self.info["loop"] = loop_count - bg_a, bg_r, bg_g, bg_b = ( - (bgcolor >> 24) & 0xFF, - (bgcolor >> 16) & 0xFF, - (bgcolor >> 8) & 0xFF, - bgcolor & 0xFF, - ) - self.info["background"] = (bg_r, bg_g, bg_b, bg_a) - self.n_frames = frame_count - self.is_animated = self.n_frames > 1 - self.mode = "RGB" if mode == "RGBX" else mode - self.rawmode = mode - self.tile = [] - - # Attempt to read ICC / EXIF / XMP chunks from file - icc_profile = self._decoder.get_chunk("ICCP") - exif = self._decoder.get_chunk("EXIF") - xmp = self._decoder.get_chunk("XMP ") - if icc_profile: - self.info["icc_profile"] = icc_profile - if exif: - self.info["exif"] = exif - if xmp: - self.info["xmp"] = xmp - - # Initialize seek state - self._reset(reset=False) - - def _getexif(self): - if "exif" not in self.info: - return None - return dict(self.getexif()) - - def seek(self, frame): - if not self._seek_check(frame): - return - - # Set logical frame to requested position - self.__logical_frame = frame - - def _reset(self, reset=True): - if reset: - self._decoder.reset() - self.__physical_frame = 0 - self.__loaded = -1 - self.__timestamp = 0 - - def _get_next(self): - # Get next frame - ret = self._decoder.get_next() - self.__physical_frame += 1 - - # Check if an error occurred - if ret is None: - self._reset() # Reset just to be safe - self.seek(0) - raise EOFError("failed to decode next frame in WebP file") - - # Compute duration - data, timestamp = ret - duration = timestamp - self.__timestamp - self.__timestamp = timestamp - - # libwebp gives frame end, adjust to start of frame - timestamp -= duration - return data, timestamp, duration - - def _seek(self, frame): - if self.__physical_frame == frame: - return # Nothing to do - if frame < self.__physical_frame: - self._reset() # Rewind to beginning - while self.__physical_frame < frame: - self._get_next() # Advance to the requested frame - - def load(self): - if _webp.HAVE_WEBPANIM: - if self.__loaded != self.__logical_frame: - self._seek(self.__logical_frame) - - # We need to load the image data for this frame - data, timestamp, duration = self._get_next() - self.info["timestamp"] = timestamp - self.info["duration"] = duration - self.__loaded = self.__logical_frame - - # Set tile - if self.fp and self._exclusive_fp: - self.fp.close() - self.fp = BytesIO(data) - self.tile = [("raw", (0, 0) + self.size, 0, self.rawmode)] - - return super().load() - - def tell(self): - if not _webp.HAVE_WEBPANIM: - return super().tell() - - return self.__logical_frame - - -def _save_all(im, fp, filename): - encoderinfo = im.encoderinfo.copy() - append_images = list(encoderinfo.get("append_images", [])) - - # If total frame count is 1, then save using the legacy API, which - # will preserve non-alpha modes - total = 0 - for ims in [im] + append_images: - total += getattr(ims, "n_frames", 1) - if total == 1: - _save(im, fp, filename) - return - - background = (0, 0, 0, 0) - if "background" in encoderinfo: - background = encoderinfo["background"] - elif "background" in im.info: - background = im.info["background"] - if isinstance(background, int): - # GifImagePlugin stores a global color table index in - # info["background"]. So it must be converted to an RGBA value - palette = im.getpalette() - if palette: - r, g, b = palette[background * 3 : (background + 1) * 3] - background = (r, g, b, 0) - - duration = im.encoderinfo.get("duration", 0) - loop = im.encoderinfo.get("loop", 0) - minimize_size = im.encoderinfo.get("minimize_size", False) - kmin = im.encoderinfo.get("kmin", None) - kmax = im.encoderinfo.get("kmax", None) - allow_mixed = im.encoderinfo.get("allow_mixed", False) - verbose = False - lossless = im.encoderinfo.get("lossless", False) - quality = im.encoderinfo.get("quality", 80) - method = im.encoderinfo.get("method", 0) - icc_profile = im.encoderinfo.get("icc_profile", "") - exif = im.encoderinfo.get("exif", "") - if isinstance(exif, Image.Exif): - exif = exif.tobytes() - xmp = im.encoderinfo.get("xmp", "") - if allow_mixed: - lossless = False - - # Sensible keyframe defaults are from gif2webp.c script - if kmin is None: - kmin = 9 if lossless else 3 - if kmax is None: - kmax = 17 if lossless else 5 - - # Validate background color - if ( - not isinstance(background, (list, tuple)) - or len(background) != 4 - or not all(v >= 0 and v < 256 for v in background) - ): - raise OSError( - "Background color is not an RGBA tuple clamped to (0-255): %s" - % str(background) - ) - - # Convert to packed uint - bg_r, bg_g, bg_b, bg_a = background - background = (bg_a << 24) | (bg_r << 16) | (bg_g << 8) | (bg_b << 0) - - # Setup the WebP animation encoder - enc = _webp.WebPAnimEncoder( - im.size[0], - im.size[1], - background, - loop, - minimize_size, - kmin, - kmax, - allow_mixed, - verbose, - ) - - # Add each frame - frame_idx = 0 - timestamp = 0 - cur_idx = im.tell() - try: - for ims in [im] + append_images: - # Get # of frames in this image - nfr = getattr(ims, "n_frames", 1) - - for idx in range(nfr): - ims.seek(idx) - ims.load() - - # Make sure image mode is supported - frame = ims - rawmode = ims.mode - if ims.mode not in _VALID_WEBP_MODES: - alpha = ( - "A" in ims.mode - or "a" in ims.mode - or (ims.mode == "P" and "A" in ims.im.getpalettemode()) - ) - rawmode = "RGBA" if alpha else "RGB" - frame = ims.convert(rawmode) - - if rawmode == "RGB": - # For faster conversion, use RGBX - rawmode = "RGBX" - - # Append the frame to the animation encoder - enc.add( - frame.tobytes("raw", rawmode), - timestamp, - frame.size[0], - frame.size[1], - rawmode, - lossless, - quality, - method, - ) - - # Update timestamp and frame index - if isinstance(duration, (list, tuple)): - timestamp += duration[frame_idx] - else: - timestamp += duration - frame_idx += 1 - - finally: - im.seek(cur_idx) - - # Force encoder to flush frames - enc.add(None, timestamp, 0, 0, "", lossless, quality, 0) - - # Get the final output from the encoder - data = enc.assemble(icc_profile, exif, xmp) - if data is None: - raise OSError("cannot write file as WebP (encoder returned None)") - - fp.write(data) - - -def _save(im, fp, filename): - lossless = im.encoderinfo.get("lossless", False) - quality = im.encoderinfo.get("quality", 80) - icc_profile = im.encoderinfo.get("icc_profile", "") - exif = im.encoderinfo.get("exif", "") - if isinstance(exif, Image.Exif): - exif = exif.tobytes() - xmp = im.encoderinfo.get("xmp", "") - method = im.encoderinfo.get("method", 0) - - if im.mode not in _VALID_WEBP_LEGACY_MODES: - alpha = ( - "A" in im.mode - or "a" in im.mode - or (im.mode == "P" and "A" in im.im.getpalettemode()) - ) - im = im.convert("RGBA" if alpha else "RGB") - - data = _webp.WebPEncode( - im.tobytes(), - im.size[0], - im.size[1], - lossless, - float(quality), - im.mode, - icc_profile, - method, - exif, - xmp, - ) - if data is None: - raise OSError("cannot write file as WebP (encoder returned None)") - - fp.write(data) - - -Image.register_open(WebPImageFile.format, WebPImageFile, _accept) -if SUPPORTED: - Image.register_save(WebPImageFile.format, _save) - if _webp.HAVE_WEBPANIM: - Image.register_save_all(WebPImageFile.format, _save_all) - Image.register_extension(WebPImageFile.format, ".webp") - Image.register_mime(WebPImageFile.format, "image/webp") diff --git a/venv/lib/python3.8/site-packages/PIL/WmfImagePlugin.py b/venv/lib/python3.8/site-packages/PIL/WmfImagePlugin.py deleted file mode 100644 index 87847a10..00000000 --- a/venv/lib/python3.8/site-packages/PIL/WmfImagePlugin.py +++ /dev/null @@ -1,178 +0,0 @@ -# -# The Python Imaging Library -# $Id$ -# -# WMF stub codec -# -# history: -# 1996-12-14 fl Created -# 2004-02-22 fl Turned into a stub driver -# 2004-02-23 fl Added EMF support -# -# Copyright (c) Secret Labs AB 1997-2004. All rights reserved. -# Copyright (c) Fredrik Lundh 1996. -# -# See the README file for information on usage and redistribution. -# -# WMF/EMF reference documentation: -# https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/[MS-WMF].pdf -# http://wvware.sourceforge.net/caolan/index.html -# http://wvware.sourceforge.net/caolan/ora-wmf.html - -from . import Image, ImageFile -from ._binary import i16le as word -from ._binary import i32le as dword -from ._binary import si16le as short -from ._binary import si32le as _long - -_handler = None - - -def register_handler(handler): - """ - Install application-specific WMF image handler. - - :param handler: Handler object. - """ - global _handler - _handler = handler - - -if hasattr(Image.core, "drawwmf"): - # install default handler (windows only) - - class WmfHandler: - def open(self, im): - im.mode = "RGB" - self.bbox = im.info["wmf_bbox"] - - def load(self, im): - im.fp.seek(0) # rewind - return Image.frombytes( - "RGB", - im.size, - Image.core.drawwmf(im.fp.read(), im.size, self.bbox), - "raw", - "BGR", - (im.size[0] * 3 + 3) & -4, - -1, - ) - - register_handler(WmfHandler()) - -# -# -------------------------------------------------------------------- -# Read WMF file - - -def _accept(prefix): - return ( - prefix[:6] == b"\xd7\xcd\xc6\x9a\x00\x00" or prefix[:4] == b"\x01\x00\x00\x00" - ) - - -## -# Image plugin for Windows metafiles. - - -class WmfStubImageFile(ImageFile.StubImageFile): - - format = "WMF" - format_description = "Windows Metafile" - - def _open(self): - self._inch = None - - # check placable header - s = self.fp.read(80) - - if s[:6] == b"\xd7\xcd\xc6\x9a\x00\x00": - - # placeable windows metafile - - # get units per inch - self._inch = word(s, 14) - - # get bounding box - x0 = short(s, 6) - y0 = short(s, 8) - x1 = short(s, 10) - y1 = short(s, 12) - - # normalize size to 72 dots per inch - self.info["dpi"] = 72 - size = ( - (x1 - x0) * self.info["dpi"] // self._inch, - (y1 - y0) * self.info["dpi"] // self._inch, - ) - - self.info["wmf_bbox"] = x0, y0, x1, y1 - - # sanity check (standard metafile header) - if s[22:26] != b"\x01\x00\t\x00": - raise SyntaxError("Unsupported WMF file format") - - elif dword(s) == 1 and s[40:44] == b" EMF": - # enhanced metafile - - # get bounding box - x0 = _long(s, 8) - y0 = _long(s, 12) - x1 = _long(s, 16) - y1 = _long(s, 20) - - # get frame (in 0.01 millimeter units) - frame = _long(s, 24), _long(s, 28), _long(s, 32), _long(s, 36) - - size = x1 - x0, y1 - y0 - - # calculate dots per inch from bbox and frame - xdpi = int(2540.0 * (x1 - y0) / (frame[2] - frame[0]) + 0.5) - ydpi = int(2540.0 * (y1 - y0) / (frame[3] - frame[1]) + 0.5) - - self.info["wmf_bbox"] = x0, y0, x1, y1 - - if xdpi == ydpi: - self.info["dpi"] = xdpi - else: - self.info["dpi"] = xdpi, ydpi - - else: - raise SyntaxError("Unsupported file format") - - self.mode = "RGB" - self._size = size - - loader = self._load() - if loader: - loader.open(self) - - def _load(self): - return _handler - - def load(self, dpi=None): - if dpi is not None and self._inch is not None: - self.info["dpi"] = int(dpi + 0.5) - x0, y0, x1, y1 = self.info["wmf_bbox"] - self._size = ( - (x1 - x0) * self.info["dpi"] // self._inch, - (y1 - y0) * self.info["dpi"] // self._inch, - ) - super().load() - - -def _save(im, fp, filename): - if _handler is None or not hasattr(_handler, "save"): - raise OSError("WMF save handler not installed") - _handler.save(im, fp, filename) - - -# -# -------------------------------------------------------------------- -# Registry stuff - - -Image.register_open(WmfStubImageFile.format, WmfStubImageFile, _accept) -Image.register_save(WmfStubImageFile.format, _save) - -Image.register_extensions(WmfStubImageFile.format, [".wmf", ".emf"]) diff --git a/venv/lib/python3.8/site-packages/PIL/XVThumbImagePlugin.py b/venv/lib/python3.8/site-packages/PIL/XVThumbImagePlugin.py deleted file mode 100644 index 4efedb77..00000000 --- a/venv/lib/python3.8/site-packages/PIL/XVThumbImagePlugin.py +++ /dev/null @@ -1,78 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# XV Thumbnail file handler by Charles E. "Gene" Cash -# (gcash@magicnet.net) -# -# see xvcolor.c and xvbrowse.c in the sources to John Bradley's XV, -# available from ftp://ftp.cis.upenn.edu/pub/xv/ -# -# history: -# 98-08-15 cec created (b/w only) -# 98-12-09 cec added color palette -# 98-12-28 fl added to PIL (with only a few very minor modifications) -# -# To do: -# FIXME: make save work (this requires quantization support) -# - -from . import Image, ImageFile, ImagePalette -from ._binary import o8 - -_MAGIC = b"P7 332" - -# standard color palette for thumbnails (RGB332) -PALETTE = b"" -for r in range(8): - for g in range(8): - for b in range(4): - PALETTE = PALETTE + ( - o8((r * 255) // 7) + o8((g * 255) // 7) + o8((b * 255) // 3) - ) - - -def _accept(prefix): - return prefix[:6] == _MAGIC - - -## -# Image plugin for XV thumbnail images. - - -class XVThumbImageFile(ImageFile.ImageFile): - - format = "XVThumb" - format_description = "XV thumbnail image" - - def _open(self): - - # check magic - if not _accept(self.fp.read(6)): - raise SyntaxError("not an XV thumbnail file") - - # Skip to beginning of next line - self.fp.readline() - - # skip info comments - while True: - s = self.fp.readline() - if not s: - raise SyntaxError("Unexpected EOF reading XV thumbnail file") - if s[0] != 35: # ie. when not a comment: '#' - break - - # parse header line (already read) - s = s.strip().split() - - self.mode = "P" - self._size = int(s[0]), int(s[1]) - - self.palette = ImagePalette.raw("RGB", PALETTE) - - self.tile = [("raw", (0, 0) + self.size, self.fp.tell(), (self.mode, 0, 1))] - - -# -------------------------------------------------------------------- - -Image.register_open(XVThumbImageFile.format, XVThumbImageFile, _accept) diff --git a/venv/lib/python3.8/site-packages/PIL/XbmImagePlugin.py b/venv/lib/python3.8/site-packages/PIL/XbmImagePlugin.py deleted file mode 100644 index 644cfb39..00000000 --- a/venv/lib/python3.8/site-packages/PIL/XbmImagePlugin.py +++ /dev/null @@ -1,94 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# XBM File handling -# -# History: -# 1995-09-08 fl Created -# 1996-11-01 fl Added save support -# 1997-07-07 fl Made header parser more tolerant -# 1997-07-22 fl Fixed yet another parser bug -# 2001-02-17 fl Use 're' instead of 'regex' (Python 2.1) (0.4) -# 2001-05-13 fl Added hotspot handling (based on code from Bernhard Herzog) -# 2004-02-24 fl Allow some whitespace before first #define -# -# Copyright (c) 1997-2004 by Secret Labs AB -# Copyright (c) 1996-1997 by Fredrik Lundh -# -# See the README file for information on usage and redistribution. -# - -import re - -from . import Image, ImageFile - -# XBM header -xbm_head = re.compile( - br"\s*#define[ \t]+.*_width[ \t]+(?P[0-9]+)[\r\n]+" - b"#define[ \t]+.*_height[ \t]+(?P[0-9]+)[\r\n]+" - b"(?P" - b"#define[ \t]+[^_]*_x_hot[ \t]+(?P[0-9]+)[\r\n]+" - b"#define[ \t]+[^_]*_y_hot[ \t]+(?P[0-9]+)[\r\n]+" - b")?" - b"[\\000-\\377]*_bits\\[\\]" -) - - -def _accept(prefix): - return prefix.lstrip()[:7] == b"#define" - - -## -# Image plugin for X11 bitmaps. - - -class XbmImageFile(ImageFile.ImageFile): - - format = "XBM" - format_description = "X11 Bitmap" - - def _open(self): - - m = xbm_head.match(self.fp.read(512)) - - if m: - - xsize = int(m.group("width")) - ysize = int(m.group("height")) - - if m.group("hotspot"): - self.info["hotspot"] = (int(m.group("xhot")), int(m.group("yhot"))) - - self.mode = "1" - self._size = xsize, ysize - - self.tile = [("xbm", (0, 0) + self.size, m.end(), None)] - - -def _save(im, fp, filename): - - if im.mode != "1": - raise OSError(f"cannot write mode {im.mode} as XBM") - - fp.write(f"#define im_width {im.size[0]}\n".encode("ascii")) - fp.write(f"#define im_height {im.size[1]}\n".encode("ascii")) - - hotspot = im.encoderinfo.get("hotspot") - if hotspot: - fp.write(f"#define im_x_hot {hotspot[0]}\n".encode("ascii")) - fp.write(f"#define im_y_hot {hotspot[1]}\n".encode("ascii")) - - fp.write(b"static char im_bits[] = {\n") - - ImageFile._save(im, fp, [("xbm", (0, 0) + im.size, 0, None)]) - - fp.write(b"};\n") - - -Image.register_open(XbmImageFile.format, XbmImageFile, _accept) -Image.register_save(XbmImageFile.format, _save) - -Image.register_extension(XbmImageFile.format, ".xbm") - -Image.register_mime(XbmImageFile.format, "image/xbm") diff --git a/venv/lib/python3.8/site-packages/PIL/XpmImagePlugin.py b/venv/lib/python3.8/site-packages/PIL/XpmImagePlugin.py deleted file mode 100644 index ebd65ba5..00000000 --- a/venv/lib/python3.8/site-packages/PIL/XpmImagePlugin.py +++ /dev/null @@ -1,130 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# XPM File handling -# -# History: -# 1996-12-29 fl Created -# 2001-02-17 fl Use 're' instead of 'regex' (Python 2.1) (0.7) -# -# Copyright (c) Secret Labs AB 1997-2001. -# Copyright (c) Fredrik Lundh 1996-2001. -# -# See the README file for information on usage and redistribution. -# - - -import re - -from . import Image, ImageFile, ImagePalette -from ._binary import o8 - -# XPM header -xpm_head = re.compile(b'"([0-9]*) ([0-9]*) ([0-9]*) ([0-9]*)') - - -def _accept(prefix): - return prefix[:9] == b"/* XPM */" - - -## -# Image plugin for X11 pixel maps. - - -class XpmImageFile(ImageFile.ImageFile): - - format = "XPM" - format_description = "X11 Pixel Map" - - def _open(self): - - if not _accept(self.fp.read(9)): - raise SyntaxError("not an XPM file") - - # skip forward to next string - while True: - s = self.fp.readline() - if not s: - raise SyntaxError("broken XPM file") - m = xpm_head.match(s) - if m: - break - - self._size = int(m.group(1)), int(m.group(2)) - - pal = int(m.group(3)) - bpp = int(m.group(4)) - - if pal > 256 or bpp != 1: - raise ValueError("cannot read this XPM file") - - # - # load palette description - - palette = [b"\0\0\0"] * 256 - - for i in range(pal): - - s = self.fp.readline() - if s[-2:] == b"\r\n": - s = s[:-2] - elif s[-1:] in b"\r\n": - s = s[:-1] - - c = s[1] - s = s[2:-2].split() - - for i in range(0, len(s), 2): - - if s[i] == b"c": - - # process colour key - rgb = s[i + 1] - if rgb == b"None": - self.info["transparency"] = c - elif rgb[0:1] == b"#": - # FIXME: handle colour names (see ImagePalette.py) - rgb = int(rgb[1:], 16) - palette[c] = ( - o8((rgb >> 16) & 255) + o8((rgb >> 8) & 255) + o8(rgb & 255) - ) - else: - # unknown colour - raise ValueError("cannot read this XPM file") - break - - else: - - # missing colour key - raise ValueError("cannot read this XPM file") - - self.mode = "P" - self.palette = ImagePalette.raw("RGB", b"".join(palette)) - - self.tile = [("raw", (0, 0) + self.size, self.fp.tell(), ("P", 0, 1))] - - def load_read(self, bytes): - - # - # load all image data in one chunk - - xsize, ysize = self.size - - s = [None] * ysize - - for i in range(ysize): - s[i] = self.fp.readline()[1 : xsize + 1].ljust(xsize) - - return b"".join(s) - - -# -# Registry - - -Image.register_open(XpmImageFile.format, XpmImageFile, _accept) - -Image.register_extension(XpmImageFile.format, ".xpm") - -Image.register_mime(XpmImageFile.format, "image/xpm") diff --git a/venv/lib/python3.8/site-packages/PIL/__init__.py b/venv/lib/python3.8/site-packages/PIL/__init__.py deleted file mode 100644 index 890ae44f..00000000 --- a/venv/lib/python3.8/site-packages/PIL/__init__.py +++ /dev/null @@ -1,139 +0,0 @@ -"""Pillow (Fork of the Python Imaging Library) - -Pillow is the friendly PIL fork by Alex Clark and Contributors. - https://github.com/python-pillow/Pillow/ - -Pillow is forked from PIL 1.1.7. - -PIL is the Python Imaging Library by Fredrik Lundh and Contributors. -Copyright (c) 1999 by Secret Labs AB. - -Use PIL.__version__ for this Pillow version. - -;-) -""" - -import sys -import warnings - -from . import _version - -# VERSION was removed in Pillow 6.0.0. -__version__ = _version.__version__ - - -# PILLOW_VERSION is deprecated and will be removed in a future release. -# Use __version__ instead. -def _raise_version_warning(): - warnings.warn( - "PILLOW_VERSION is deprecated and will be removed in Pillow 9 (2022-01-02). " - "Use __version__ instead.", - DeprecationWarning, - stacklevel=3, - ) - - -if sys.version_info >= (3, 7): - - def __getattr__(name): - if name == "PILLOW_VERSION": - _raise_version_warning() - return __version__ - raise AttributeError(f"module '{__name__}' has no attribute '{name}'") - - -else: - - class _Deprecated_Version(str): - def __str__(self): - _raise_version_warning() - return super().__str__() - - def __getitem__(self, key): - _raise_version_warning() - return super().__getitem__(key) - - def __eq__(self, other): - _raise_version_warning() - return super().__eq__(other) - - def __ne__(self, other): - _raise_version_warning() - return super().__ne__(other) - - def __gt__(self, other): - _raise_version_warning() - return super().__gt__(other) - - def __lt__(self, other): - _raise_version_warning() - return super().__lt__(other) - - def __ge__(self, other): - _raise_version_warning() - return super().__gt__(other) - - def __le__(self, other): - _raise_version_warning() - return super().__lt__(other) - - PILLOW_VERSION = _Deprecated_Version(__version__) - -del _version - - -_plugins = [ - "BlpImagePlugin", - "BmpImagePlugin", - "BufrStubImagePlugin", - "CurImagePlugin", - "DcxImagePlugin", - "DdsImagePlugin", - "EpsImagePlugin", - "FitsStubImagePlugin", - "FliImagePlugin", - "FpxImagePlugin", - "FtexImagePlugin", - "GbrImagePlugin", - "GifImagePlugin", - "GribStubImagePlugin", - "Hdf5StubImagePlugin", - "IcnsImagePlugin", - "IcoImagePlugin", - "ImImagePlugin", - "ImtImagePlugin", - "IptcImagePlugin", - "JpegImagePlugin", - "Jpeg2KImagePlugin", - "McIdasImagePlugin", - "MicImagePlugin", - "MpegImagePlugin", - "MpoImagePlugin", - "MspImagePlugin", - "PalmImagePlugin", - "PcdImagePlugin", - "PcxImagePlugin", - "PdfImagePlugin", - "PixarImagePlugin", - "PngImagePlugin", - "PpmImagePlugin", - "PsdImagePlugin", - "SgiImagePlugin", - "SpiderImagePlugin", - "SunImagePlugin", - "TgaImagePlugin", - "TiffImagePlugin", - "WebPImagePlugin", - "WmfImagePlugin", - "XbmImagePlugin", - "XpmImagePlugin", - "XVThumbImagePlugin", -] - - -class UnidentifiedImageError(OSError): - """ - Raised in :py:meth:`PIL.Image.open` if an image cannot be opened and identified. - """ - - pass diff --git a/venv/lib/python3.8/site-packages/PIL/__main__.py b/venv/lib/python3.8/site-packages/PIL/__main__.py deleted file mode 100644 index a05323f9..00000000 --- a/venv/lib/python3.8/site-packages/PIL/__main__.py +++ /dev/null @@ -1,3 +0,0 @@ -from .features import pilinfo - -pilinfo() diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/BdfFontFile.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/BdfFontFile.cpython-38.pyc deleted file mode 100644 index 0b1f6cdb..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/BdfFontFile.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/BlpImagePlugin.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/BlpImagePlugin.cpython-38.pyc deleted file mode 100644 index 4034aec1..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/BlpImagePlugin.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/BmpImagePlugin.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/BmpImagePlugin.cpython-38.pyc deleted file mode 100644 index 49cba561..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/BmpImagePlugin.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/BufrStubImagePlugin.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/BufrStubImagePlugin.cpython-38.pyc deleted file mode 100644 index 65da71d6..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/BufrStubImagePlugin.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/ContainerIO.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/ContainerIO.cpython-38.pyc deleted file mode 100644 index f12c6f52..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/ContainerIO.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/CurImagePlugin.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/CurImagePlugin.cpython-38.pyc deleted file mode 100644 index 42e3260e..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/CurImagePlugin.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/DcxImagePlugin.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/DcxImagePlugin.cpython-38.pyc deleted file mode 100644 index 9b9e7063..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/DcxImagePlugin.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/DdsImagePlugin.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/DdsImagePlugin.cpython-38.pyc deleted file mode 100644 index e9751687..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/DdsImagePlugin.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/EpsImagePlugin.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/EpsImagePlugin.cpython-38.pyc deleted file mode 100644 index f4494b4d..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/EpsImagePlugin.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/ExifTags.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/ExifTags.cpython-38.pyc deleted file mode 100644 index 907dc80f..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/ExifTags.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/FitsStubImagePlugin.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/FitsStubImagePlugin.cpython-38.pyc deleted file mode 100644 index b5581a8d..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/FitsStubImagePlugin.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/FliImagePlugin.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/FliImagePlugin.cpython-38.pyc deleted file mode 100644 index 8ecafaac..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/FliImagePlugin.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/FontFile.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/FontFile.cpython-38.pyc deleted file mode 100644 index e8c8d051..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/FontFile.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/FpxImagePlugin.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/FpxImagePlugin.cpython-38.pyc deleted file mode 100644 index 7fe7679f..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/FpxImagePlugin.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/FtexImagePlugin.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/FtexImagePlugin.cpython-38.pyc deleted file mode 100644 index 30ee0b4f..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/FtexImagePlugin.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/GbrImagePlugin.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/GbrImagePlugin.cpython-38.pyc deleted file mode 100644 index f130d47c..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/GbrImagePlugin.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/GdImageFile.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/GdImageFile.cpython-38.pyc deleted file mode 100644 index 7a52df73..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/GdImageFile.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/GifImagePlugin.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/GifImagePlugin.cpython-38.pyc deleted file mode 100644 index ec1f52b0..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/GifImagePlugin.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/GimpGradientFile.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/GimpGradientFile.cpython-38.pyc deleted file mode 100644 index a059b6b4..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/GimpGradientFile.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/GimpPaletteFile.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/GimpPaletteFile.cpython-38.pyc deleted file mode 100644 index 27abb0e2..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/GimpPaletteFile.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/GribStubImagePlugin.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/GribStubImagePlugin.cpython-38.pyc deleted file mode 100644 index 15310140..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/GribStubImagePlugin.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/Hdf5StubImagePlugin.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/Hdf5StubImagePlugin.cpython-38.pyc deleted file mode 100644 index 83b50e40..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/Hdf5StubImagePlugin.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/IcnsImagePlugin.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/IcnsImagePlugin.cpython-38.pyc deleted file mode 100644 index f5bdb781..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/IcnsImagePlugin.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/IcoImagePlugin.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/IcoImagePlugin.cpython-38.pyc deleted file mode 100644 index 294262b1..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/IcoImagePlugin.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImImagePlugin.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/ImImagePlugin.cpython-38.pyc deleted file mode 100644 index cbd7bebb..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImImagePlugin.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/Image.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/Image.cpython-38.pyc deleted file mode 100644 index 9a134c92..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/Image.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageChops.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageChops.cpython-38.pyc deleted file mode 100644 index 47c0d026..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageChops.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageCms.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageCms.cpython-38.pyc deleted file mode 100644 index b59e06eb..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageCms.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageColor.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageColor.cpython-38.pyc deleted file mode 100644 index 96e93252..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageColor.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageDraw.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageDraw.cpython-38.pyc deleted file mode 100644 index 32e6fbe7..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageDraw.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageDraw2.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageDraw2.cpython-38.pyc deleted file mode 100644 index 07f97d53..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageDraw2.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageEnhance.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageEnhance.cpython-38.pyc deleted file mode 100644 index d3bb7249..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageEnhance.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageFile.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageFile.cpython-38.pyc deleted file mode 100644 index cb8dc526..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageFile.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageFilter.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageFilter.cpython-38.pyc deleted file mode 100644 index 4d8913b1..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageFilter.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageFont.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageFont.cpython-38.pyc deleted file mode 100644 index 45a50b46..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageFont.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageGrab.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageGrab.cpython-38.pyc deleted file mode 100644 index f994f073..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageGrab.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageMath.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageMath.cpython-38.pyc deleted file mode 100644 index ba31c72a..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageMath.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageMode.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageMode.cpython-38.pyc deleted file mode 100644 index 147412ae..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageMode.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageMorph.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageMorph.cpython-38.pyc deleted file mode 100644 index 0fb3c334..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageMorph.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageOps.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageOps.cpython-38.pyc deleted file mode 100644 index 0d768c14..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageOps.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImagePalette.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/ImagePalette.cpython-38.pyc deleted file mode 100644 index 736f81bb..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImagePalette.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImagePath.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/ImagePath.cpython-38.pyc deleted file mode 100644 index a95b6efc..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImagePath.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageQt.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageQt.cpython-38.pyc deleted file mode 100644 index d09cd255..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageQt.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageSequence.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageSequence.cpython-38.pyc deleted file mode 100644 index 67deb896..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageSequence.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageShow.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageShow.cpython-38.pyc deleted file mode 100644 index 5af2f203..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageShow.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageStat.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageStat.cpython-38.pyc deleted file mode 100644 index 01abcb36..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageStat.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageTk.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageTk.cpython-38.pyc deleted file mode 100644 index f6f9d5f7..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageTk.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageTransform.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageTransform.cpython-38.pyc deleted file mode 100644 index 727115f0..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageTransform.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageWin.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageWin.cpython-38.pyc deleted file mode 100644 index a19b3995..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImageWin.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImtImagePlugin.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/ImtImagePlugin.cpython-38.pyc deleted file mode 100644 index 793d933b..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/ImtImagePlugin.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/IptcImagePlugin.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/IptcImagePlugin.cpython-38.pyc deleted file mode 100644 index a4e07496..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/IptcImagePlugin.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/Jpeg2KImagePlugin.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/Jpeg2KImagePlugin.cpython-38.pyc deleted file mode 100644 index b884ee92..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/Jpeg2KImagePlugin.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/JpegImagePlugin.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/JpegImagePlugin.cpython-38.pyc deleted file mode 100644 index 42bdbf05..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/JpegImagePlugin.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/JpegPresets.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/JpegPresets.cpython-38.pyc deleted file mode 100644 index 325e7d9f..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/JpegPresets.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/McIdasImagePlugin.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/McIdasImagePlugin.cpython-38.pyc deleted file mode 100644 index 1281a7e1..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/McIdasImagePlugin.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/MicImagePlugin.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/MicImagePlugin.cpython-38.pyc deleted file mode 100644 index 1639651a..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/MicImagePlugin.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/MpegImagePlugin.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/MpegImagePlugin.cpython-38.pyc deleted file mode 100644 index 06647b4a..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/MpegImagePlugin.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/MpoImagePlugin.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/MpoImagePlugin.cpython-38.pyc deleted file mode 100644 index 6c4439df..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/MpoImagePlugin.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/MspImagePlugin.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/MspImagePlugin.cpython-38.pyc deleted file mode 100644 index a67be54f..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/MspImagePlugin.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/PSDraw.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/PSDraw.cpython-38.pyc deleted file mode 100644 index b02502a9..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/PSDraw.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/PaletteFile.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/PaletteFile.cpython-38.pyc deleted file mode 100644 index d58aa0a0..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/PaletteFile.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/PalmImagePlugin.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/PalmImagePlugin.cpython-38.pyc deleted file mode 100644 index 9dcb692d..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/PalmImagePlugin.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/PcdImagePlugin.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/PcdImagePlugin.cpython-38.pyc deleted file mode 100644 index ebc79952..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/PcdImagePlugin.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/PcfFontFile.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/PcfFontFile.cpython-38.pyc deleted file mode 100644 index 2c7730e0..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/PcfFontFile.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/PcxImagePlugin.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/PcxImagePlugin.cpython-38.pyc deleted file mode 100644 index dcec5b55..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/PcxImagePlugin.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/PdfImagePlugin.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/PdfImagePlugin.cpython-38.pyc deleted file mode 100644 index 88e091a6..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/PdfImagePlugin.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/PdfParser.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/PdfParser.cpython-38.pyc deleted file mode 100644 index 8907f662..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/PdfParser.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/PixarImagePlugin.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/PixarImagePlugin.cpython-38.pyc deleted file mode 100644 index a85c0db4..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/PixarImagePlugin.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/PngImagePlugin.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/PngImagePlugin.cpython-38.pyc deleted file mode 100644 index e230bf78..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/PngImagePlugin.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/PpmImagePlugin.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/PpmImagePlugin.cpython-38.pyc deleted file mode 100644 index 115838cc..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/PpmImagePlugin.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/PsdImagePlugin.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/PsdImagePlugin.cpython-38.pyc deleted file mode 100644 index 0ef2f2a4..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/PsdImagePlugin.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/PyAccess.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/PyAccess.cpython-38.pyc deleted file mode 100644 index ef3a1d1a..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/PyAccess.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/SgiImagePlugin.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/SgiImagePlugin.cpython-38.pyc deleted file mode 100644 index bf3f56a4..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/SgiImagePlugin.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/SpiderImagePlugin.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/SpiderImagePlugin.cpython-38.pyc deleted file mode 100644 index b5bda6a1..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/SpiderImagePlugin.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/SunImagePlugin.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/SunImagePlugin.cpython-38.pyc deleted file mode 100644 index 6197309c..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/SunImagePlugin.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/TarIO.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/TarIO.cpython-38.pyc deleted file mode 100644 index ee010b20..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/TarIO.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/TgaImagePlugin.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/TgaImagePlugin.cpython-38.pyc deleted file mode 100644 index b8671855..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/TgaImagePlugin.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/TiffImagePlugin.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/TiffImagePlugin.cpython-38.pyc deleted file mode 100644 index 00ccfb07..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/TiffImagePlugin.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/TiffTags.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/TiffTags.cpython-38.pyc deleted file mode 100644 index cc13642b..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/TiffTags.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/WalImageFile.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/WalImageFile.cpython-38.pyc deleted file mode 100644 index afdff57f..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/WalImageFile.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/WebPImagePlugin.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/WebPImagePlugin.cpython-38.pyc deleted file mode 100644 index 27948954..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/WebPImagePlugin.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/WmfImagePlugin.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/WmfImagePlugin.cpython-38.pyc deleted file mode 100644 index dde62e5f..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/WmfImagePlugin.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/XVThumbImagePlugin.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/XVThumbImagePlugin.cpython-38.pyc deleted file mode 100644 index 3694aaf3..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/XVThumbImagePlugin.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/XbmImagePlugin.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/XbmImagePlugin.cpython-38.pyc deleted file mode 100644 index 09accf9e..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/XbmImagePlugin.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/XpmImagePlugin.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/XpmImagePlugin.cpython-38.pyc deleted file mode 100644 index a46655d9..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/XpmImagePlugin.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 52daed5e..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/__main__.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/__main__.cpython-38.pyc deleted file mode 100644 index c98bbc98..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/__main__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/_binary.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/_binary.cpython-38.pyc deleted file mode 100644 index d71a8ab7..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/_binary.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/_tkinter_finder.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/_tkinter_finder.cpython-38.pyc deleted file mode 100644 index 21b787ea..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/_tkinter_finder.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/_util.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/_util.cpython-38.pyc deleted file mode 100644 index 40ca4a58..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/_util.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/_version.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/_version.cpython-38.pyc deleted file mode 100644 index 297ea505..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/_version.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/__pycache__/features.cpython-38.pyc b/venv/lib/python3.8/site-packages/PIL/__pycache__/features.cpython-38.pyc deleted file mode 100644 index 4f89c453..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/__pycache__/features.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/_binary.py b/venv/lib/python3.8/site-packages/PIL/_binary.py deleted file mode 100644 index 5564f450..00000000 --- a/venv/lib/python3.8/site-packages/PIL/_binary.py +++ /dev/null @@ -1,92 +0,0 @@ -# -# The Python Imaging Library. -# $Id$ -# -# Binary input/output support routines. -# -# Copyright (c) 1997-2003 by Secret Labs AB -# Copyright (c) 1995-2003 by Fredrik Lundh -# Copyright (c) 2012 by Brian Crowell -# -# See the README file for information on usage and redistribution. -# - - -"""Binary input/output support routines.""" - - -from struct import pack, unpack_from - - -def i8(c): - return c if c.__class__ is int else c[0] - - -def o8(i): - return bytes((i & 255,)) - - -# Input, le = little endian, be = big endian -def i16le(c, o=0): - """ - Converts a 2-bytes (16 bits) string to an unsigned integer. - - :param c: string containing bytes to convert - :param o: offset of bytes to convert in string - """ - return unpack_from("H", c, o)[0] - - -def i32be(c, o=0): - return unpack_from(">I", c, o)[0] - - -# Output, le = little endian, be = big endian -def o16le(i): - return pack("H", i) - - -def o32be(i): - return pack(">I", i) diff --git a/venv/lib/python3.8/site-packages/PIL/_imaging.cpython-38-x86_64-linux-gnu.so b/venv/lib/python3.8/site-packages/PIL/_imaging.cpython-38-x86_64-linux-gnu.so deleted file mode 100755 index 373d94ce..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/_imaging.cpython-38-x86_64-linux-gnu.so and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/_imagingcms.cpython-38-x86_64-linux-gnu.so b/venv/lib/python3.8/site-packages/PIL/_imagingcms.cpython-38-x86_64-linux-gnu.so deleted file mode 100755 index cd53a828..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/_imagingcms.cpython-38-x86_64-linux-gnu.so and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/_imagingft.cpython-38-x86_64-linux-gnu.so b/venv/lib/python3.8/site-packages/PIL/_imagingft.cpython-38-x86_64-linux-gnu.so deleted file mode 100755 index f71de182..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/_imagingft.cpython-38-x86_64-linux-gnu.so and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/_imagingmath.cpython-38-x86_64-linux-gnu.so b/venv/lib/python3.8/site-packages/PIL/_imagingmath.cpython-38-x86_64-linux-gnu.so deleted file mode 100755 index 2740c8d4..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/_imagingmath.cpython-38-x86_64-linux-gnu.so and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/_imagingmorph.cpython-38-x86_64-linux-gnu.so b/venv/lib/python3.8/site-packages/PIL/_imagingmorph.cpython-38-x86_64-linux-gnu.so deleted file mode 100755 index 3ce109ad..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/_imagingmorph.cpython-38-x86_64-linux-gnu.so and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/_imagingtk.cpython-38-x86_64-linux-gnu.so b/venv/lib/python3.8/site-packages/PIL/_imagingtk.cpython-38-x86_64-linux-gnu.so deleted file mode 100755 index d52272ad..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/_imagingtk.cpython-38-x86_64-linux-gnu.so and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/_tkinter_finder.py b/venv/lib/python3.8/site-packages/PIL/_tkinter_finder.py deleted file mode 100644 index 7018a1b7..00000000 --- a/venv/lib/python3.8/site-packages/PIL/_tkinter_finder.py +++ /dev/null @@ -1,9 +0,0 @@ -""" Find compiled module linking to Tcl / Tk libraries -""" -import sys -from tkinter import _tkinter as tk - -if hasattr(sys, "pypy_find_executable"): - TKINTER_LIB = tk.tklib_cffi.__file__ -else: - TKINTER_LIB = tk.__file__ diff --git a/venv/lib/python3.8/site-packages/PIL/_util.py b/venv/lib/python3.8/site-packages/PIL/_util.py deleted file mode 100644 index 0c5d3892..00000000 --- a/venv/lib/python3.8/site-packages/PIL/_util.py +++ /dev/null @@ -1,19 +0,0 @@ -import os -from pathlib import Path - - -def isPath(f): - return isinstance(f, (bytes, str, Path)) - - -# Checks if an object is a string, and that it points to a directory. -def isDirectory(f): - return isPath(f) and os.path.isdir(f) - - -class deferred_error: - def __init__(self, ex): - self.ex = ex - - def __getattr__(self, elt): - raise self.ex diff --git a/venv/lib/python3.8/site-packages/PIL/_version.py b/venv/lib/python3.8/site-packages/PIL/_version.py deleted file mode 100644 index 8877e09d..00000000 --- a/venv/lib/python3.8/site-packages/PIL/_version.py +++ /dev/null @@ -1,2 +0,0 @@ -# Master version for Pillow -__version__ = "8.1.0" diff --git a/venv/lib/python3.8/site-packages/PIL/_webp.cpython-38-x86_64-linux-gnu.so b/venv/lib/python3.8/site-packages/PIL/_webp.cpython-38-x86_64-linux-gnu.so deleted file mode 100755 index f4aad5fd..00000000 Binary files a/venv/lib/python3.8/site-packages/PIL/_webp.cpython-38-x86_64-linux-gnu.so and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/PIL/features.py b/venv/lib/python3.8/site-packages/PIL/features.py deleted file mode 100644 index da0ca557..00000000 --- a/venv/lib/python3.8/site-packages/PIL/features.py +++ /dev/null @@ -1,313 +0,0 @@ -import collections -import os -import sys -import warnings - -import PIL - -from . import Image - -modules = { - "pil": ("PIL._imaging", "PILLOW_VERSION"), - "tkinter": ("PIL._tkinter_finder", None), - "freetype2": ("PIL._imagingft", "freetype2_version"), - "littlecms2": ("PIL._imagingcms", "littlecms_version"), - "webp": ("PIL._webp", "webpdecoder_version"), -} - - -def check_module(feature): - """ - Checks if a module is available. - - :param feature: The module to check for. - :returns: ``True`` if available, ``False`` otherwise. - :raises ValueError: If the module is not defined in this version of Pillow. - """ - if not (feature in modules): - raise ValueError(f"Unknown module {feature}") - - module, ver = modules[feature] - - try: - __import__(module) - return True - except ImportError: - return False - - -def version_module(feature): - """ - :param feature: The module to check for. - :returns: - The loaded version number as a string, or ``None`` if unknown or not available. - :raises ValueError: If the module is not defined in this version of Pillow. - """ - if not check_module(feature): - return None - - module, ver = modules[feature] - - if ver is None: - return None - - return getattr(__import__(module, fromlist=[ver]), ver) - - -def get_supported_modules(): - """ - :returns: A list of all supported modules. - """ - return [f for f in modules if check_module(f)] - - -codecs = { - "jpg": ("jpeg", "jpeglib"), - "jpg_2000": ("jpeg2k", "jp2klib"), - "zlib": ("zip", "zlib"), - "libtiff": ("libtiff", "libtiff"), -} - - -def check_codec(feature): - """ - Checks if a codec is available. - - :param feature: The codec to check for. - :returns: ``True`` if available, ``False`` otherwise. - :raises ValueError: If the codec is not defined in this version of Pillow. - """ - if feature not in codecs: - raise ValueError(f"Unknown codec {feature}") - - codec, lib = codecs[feature] - - return codec + "_encoder" in dir(Image.core) - - -def version_codec(feature): - """ - :param feature: The codec to check for. - :returns: - The version number as a string, or ``None`` if not available. - Checked at compile time for ``jpg``, run-time otherwise. - :raises ValueError: If the codec is not defined in this version of Pillow. - """ - if not check_codec(feature): - return None - - codec, lib = codecs[feature] - - version = getattr(Image.core, lib + "_version") - - if feature == "libtiff": - return version.split("\n")[0].split("Version ")[1] - - return version - - -def get_supported_codecs(): - """ - :returns: A list of all supported codecs. - """ - return [f for f in codecs if check_codec(f)] - - -features = { - "webp_anim": ("PIL._webp", "HAVE_WEBPANIM", None), - "webp_mux": ("PIL._webp", "HAVE_WEBPMUX", None), - "transp_webp": ("PIL._webp", "HAVE_TRANSPARENCY", None), - "raqm": ("PIL._imagingft", "HAVE_RAQM", "raqm_version"), - "libjpeg_turbo": ("PIL._imaging", "HAVE_LIBJPEGTURBO", "libjpeg_turbo_version"), - "libimagequant": ("PIL._imaging", "HAVE_LIBIMAGEQUANT", "imagequant_version"), - "xcb": ("PIL._imaging", "HAVE_XCB", None), -} - - -def check_feature(feature): - """ - Checks if a feature is available. - - :param feature: The feature to check for. - :returns: ``True`` if available, ``False`` if unavailable, ``None`` if unknown. - :raises ValueError: If the feature is not defined in this version of Pillow. - """ - if feature not in features: - raise ValueError(f"Unknown feature {feature}") - - module, flag, ver = features[feature] - - try: - imported_module = __import__(module, fromlist=["PIL"]) - return getattr(imported_module, flag) - except ImportError: - return None - - -def version_feature(feature): - """ - :param feature: The feature to check for. - :returns: The version number as a string, or ``None`` if not available. - :raises ValueError: If the feature is not defined in this version of Pillow. - """ - if not check_feature(feature): - return None - - module, flag, ver = features[feature] - - if ver is None: - return None - - return getattr(__import__(module, fromlist=[ver]), ver) - - -def get_supported_features(): - """ - :returns: A list of all supported features. - """ - return [f for f in features if check_feature(f)] - - -def check(feature): - """ - :param feature: A module, codec, or feature name. - :returns: - ``True`` if the module, codec, or feature is available, - ``False`` or ``None`` otherwise. - """ - - if feature in modules: - return check_module(feature) - if feature in codecs: - return check_codec(feature) - if feature in features: - return check_feature(feature) - warnings.warn(f"Unknown feature '{feature}'.", stacklevel=2) - return False - - -def version(feature): - """ - :param feature: - The module, codec, or feature to check for. - :returns: - The version number as a string, or ``None`` if unknown or not available. - """ - if feature in modules: - return version_module(feature) - if feature in codecs: - return version_codec(feature) - if feature in features: - return version_feature(feature) - return None - - -def get_supported(): - """ - :returns: A list of all supported modules, features, and codecs. - """ - - ret = get_supported_modules() - ret.extend(get_supported_features()) - ret.extend(get_supported_codecs()) - return ret - - -def pilinfo(out=None, supported_formats=True): - """ - Prints information about this installation of Pillow. - This function can be called with ``python -m PIL``. - - :param out: - The output stream to print to. Defaults to ``sys.stdout`` if ``None``. - :param supported_formats: - If ``True``, a list of all supported image file formats will be printed. - """ - - if out is None: - out = sys.stdout - - Image.init() - - print("-" * 68, file=out) - print(f"Pillow {PIL.__version__}", file=out) - py_version = sys.version.splitlines() - print(f"Python {py_version[0].strip()}", file=out) - for py_version in py_version[1:]: - print(f" {py_version.strip()}", file=out) - print("-" * 68, file=out) - print( - f"Python modules loaded from {os.path.dirname(Image.__file__)}", - file=out, - ) - print( - f"Binary modules loaded from {os.path.dirname(Image.core.__file__)}", - file=out, - ) - print("-" * 68, file=out) - - for name, feature in [ - ("pil", "PIL CORE"), - ("tkinter", "TKINTER"), - ("freetype2", "FREETYPE2"), - ("littlecms2", "LITTLECMS2"), - ("webp", "WEBP"), - ("transp_webp", "WEBP Transparency"), - ("webp_mux", "WEBPMUX"), - ("webp_anim", "WEBP Animation"), - ("jpg", "JPEG"), - ("jpg_2000", "OPENJPEG (JPEG2000)"), - ("zlib", "ZLIB (PNG/ZIP)"), - ("libtiff", "LIBTIFF"), - ("raqm", "RAQM (Bidirectional Text)"), - ("libimagequant", "LIBIMAGEQUANT (Quantization method)"), - ("xcb", "XCB (X protocol)"), - ]: - if check(name): - if name == "jpg" and check_feature("libjpeg_turbo"): - v = "libjpeg-turbo " + version_feature("libjpeg_turbo") - else: - v = version(name) - if v is not None: - version_static = name in ("pil", "jpg") - if name == "littlecms2": - # this check is also in src/_imagingcms.c:setup_module() - version_static = tuple(int(x) for x in v.split(".")) < (2, 7) - t = "compiled for" if version_static else "loaded" - print("---", feature, "support ok,", t, v, file=out) - else: - print("---", feature, "support ok", file=out) - else: - print("***", feature, "support not installed", file=out) - print("-" * 68, file=out) - - if supported_formats: - extensions = collections.defaultdict(list) - for ext, i in Image.EXTENSION.items(): - extensions[i].append(ext) - - for i in sorted(Image.ID): - line = f"{i}" - if i in Image.MIME: - line = f"{line} {Image.MIME[i]}" - print(line, file=out) - - if i in extensions: - print( - "Extensions: {}".format(", ".join(sorted(extensions[i]))), file=out - ) - - features = [] - if i in Image.OPEN: - features.append("open") - if i in Image.SAVE: - features.append("save") - if i in Image.SAVE_ALL: - features.append("save_all") - if i in Image.DECODERS: - features.append("decode") - if i in Image.ENCODERS: - features.append("encode") - - print("Features: {}".format(", ".join(features)), file=out) - print("-" * 68, file=out) diff --git a/venv/lib/python3.8/site-packages/Pillow-8.1.0.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/Pillow-8.1.0.dist-info/INSTALLER deleted file mode 100644 index a1b589e3..00000000 --- a/venv/lib/python3.8/site-packages/Pillow-8.1.0.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/venv/lib/python3.8/site-packages/Pillow-8.1.0.dist-info/LICENSE b/venv/lib/python3.8/site-packages/Pillow-8.1.0.dist-info/LICENSE deleted file mode 100644 index b73e6a2e..00000000 --- a/venv/lib/python3.8/site-packages/Pillow-8.1.0.dist-info/LICENSE +++ /dev/null @@ -1,564 +0,0 @@ -The Python Imaging Library (PIL) is - - Copyright © 1997-2011 by Secret Labs AB - Copyright © 1995-2011 by Fredrik Lundh - -Pillow is the friendly PIL fork. It is - - Copyright © 2010-2021 by Alex Clark and contributors - -Like PIL, Pillow is licensed under the open source HPND License: - -By obtaining, using, and/or copying this software and/or its associated -documentation, you agree that you have read, understood, and will comply -with the following terms and conditions: - -Permission to use, copy, modify, and distribute this software and its -associated documentation for any purpose and without fee is hereby granted, -provided that the above copyright notice appears in all copies, and that -both that copyright notice and this permission notice appear in supporting -documentation, and that the name of Secret Labs AB or the author not be -used in advertising or publicity pertaining to distribution of the software -without specific, written prior permission. - -SECRET LABS AB AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS -SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. -IN NO EVENT SHALL SECRET LABS AB OR THE AUTHOR BE LIABLE FOR ANY SPECIAL, -INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE -OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - - ----- - -FREETYPE2 - -The FreeType 2 font engine is copyrighted work and cannot be used -legally without a software license. In order to make this project -usable to a vast majority of developers, we distribute it under two -mutually exclusive open-source licenses. - -This means that *you* must choose *one* of the two licenses described -below, then obey all its terms and conditions when using FreeType 2 in -any of your projects or products. - - - The FreeType License, found in the file `FTL.TXT', which is similar - to the original BSD license *with* an advertising clause that forces - you to explicitly cite the FreeType project in your product's - documentation. All details are in the license file. This license - is suited to products which don't use the GNU General Public - License. - - Note that this license is compatible to the GNU General Public - License version 3, but not version 2. - - - The GNU General Public License version 2, found in `GPLv2.TXT' (any - later version can be used also), for programs which already use the - GPL. Note that the FTL is incompatible with GPLv2 due to its - advertisement clause. - -The contributed BDF and PCF drivers come with a license similar to that -of the X Window System. It is compatible to the above two licenses (see -file src/bdf/README and src/pcf/README). The same holds for the files -`fthash.c' and `fthash.h'; their code was part of the BDF driver in -earlier FreeType versions. - -The gzip module uses the zlib license (see src/gzip/zlib.h) which too is -compatible to the above two licenses. - -The MD5 checksum support (only used for debugging in development builds) -is in the public domain. - ----- - -LCMS2 - -Little CMS -Copyright (c) 1998-2020 Marti Maria Saguer - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ----- - -LIBJPEG - -1. We don't promise that this software works. (But if you find any bugs, - please let us know!) -2. You can use this software for whatever you want. You don't have to pay us. -3. You may not pretend that you wrote this software. If you use it in a - program, you must acknowledge somewhere in your documentation that - you've used the IJG code. - -In legalese: - -The authors make NO WARRANTY or representation, either express or implied, -with respect to this software, its quality, accuracy, merchantability, or -fitness for a particular purpose. This software is provided "AS IS", and you, -its user, assume the entire risk as to its quality and accuracy. - -This software is copyright (C) 1991-2020, Thomas G. Lane, Guido Vollbeding. -All Rights Reserved except as specified below. - -Permission is hereby granted to use, copy, modify, and distribute this -software (or portions thereof) for any purpose, without fee, subject to these -conditions: -(1) If any part of the source code for this software is distributed, then this -README file must be included, with this copyright and no-warranty notice -unaltered; and any additions, deletions, or changes to the original files -must be clearly indicated in accompanying documentation. -(2) If only executable code is distributed, then the accompanying -documentation must state that "this software is based in part on the work of -the Independent JPEG Group". -(3) Permission for use of this software is granted only if the user accepts -full responsibility for any undesirable consequences; the authors accept -NO LIABILITY for damages of any kind. - -These conditions apply to any software derived from or based on the IJG code, -not just to the unmodified library. If you use our work, you ought to -acknowledge us. - -Permission is NOT granted for the use of any IJG author's name or company name -in advertising or publicity relating to this software or products derived from -it. This software may be referred to only as "the Independent JPEG Group's -software". - -We specifically permit and encourage the use of this software as the basis of -commercial products, provided that all warranty or liability claims are -assumed by the product vendor. - ----- - -LIBLZMA - -XZ Utils Licensing -================== - - Different licenses apply to different files in this package. Here - is a rough summary of which licenses apply to which parts of this - package (but check the individual files to be sure!): - - - liblzma is in the public domain. - - - xz, xzdec, and lzmadec command line tools are in the public - domain unless GNU getopt_long had to be compiled and linked - in from the lib directory. The getopt_long code is under - GNU LGPLv2.1+. - - - The scripts to grep, diff, and view compressed files have been - adapted from gzip. These scripts and their documentation are - under GNU GPLv2+. - - - All the documentation in the doc directory and most of the - XZ Utils specific documentation files in other directories - are in the public domain. - - - Translated messages are in the public domain. - - - The build system contains public domain files, and files that - are under GNU GPLv2+ or GNU GPLv3+. None of these files end up - in the binaries being built. - - - Test files and test code in the tests directory, and debugging - utilities in the debug directory are in the public domain. - - - The extra directory may contain public domain files, and files - that are under various free software licenses. - - You can do whatever you want with the files that have been put into - the public domain. If you find public domain legally problematic, - take the previous sentence as a license grant. If you still find - the lack of copyright legally problematic, you have too many - lawyers. - - As usual, this software is provided "as is", without any warranty. - - If you copy significant amounts of public domain code from XZ Utils - into your project, acknowledging this somewhere in your software is - polite (especially if it is proprietary, non-free software), but - naturally it is not legally required. Here is an example of a good - notice to put into "about box" or into documentation: - - This software includes code from XZ Utils . - - The following license texts are included in the following files: - - COPYING.LGPLv2.1: GNU Lesser General Public License version 2.1 - - COPYING.GPLv2: GNU General Public License version 2 - - COPYING.GPLv3: GNU General Public License version 3 - - Note that the toolchain (compiler, linker etc.) may add some code - pieces that are copyrighted. Thus, it is possible that e.g. liblzma - binary wouldn't actually be in the public domain in its entirety - even though it contains no copyrighted code from the XZ Utils source - package. - - If you have questions, don't hesitate to ask the author(s) for more - information. - ----- - -LIBTIFF - -Copyright (c) 1988-1997 Sam Leffler -Copyright (c) 1991-1997 Silicon Graphics, Inc. - -Permission to use, copy, modify, distribute, and sell this software and -its documentation for any purpose is hereby granted without fee, provided -that (i) the above copyright notices and this permission notice appear in -all copies of the software and related documentation, and (ii) the names of -Sam Leffler and Silicon Graphics may not be used in any advertising or -publicity relating to the software without the specific, prior written -permission of Sam Leffler and Silicon Graphics. - -THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, -EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY -WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. - -IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR -ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF -LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE -OF THIS SOFTWARE. - ----- - -LIBWEBP - -Copyright (c) 2010, Google Inc. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of Google nor the names of its contributors may - be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - ----- - -OPENJPEG - -* - * The copyright in this software is being made available under the 2-clauses - * BSD License, included below. This software may be subject to other third - * party and contributor rights, including patent rights, and no such rights - * are granted under this license. - * - * Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium - * Copyright (c) 2002-2014, Professor Benoit Macq - * Copyright (c) 2003-2014, Antonin Descampe - * Copyright (c) 2003-2009, Francois-Olivier Devaux - * Copyright (c) 2005, Herve Drolon, FreeImage Team - * Copyright (c) 2002-2003, Yannick Verschueren - * Copyright (c) 2001-2003, David Janssens - * Copyright (c) 2011-2012, Centre National d'Etudes Spatiales (CNES), France - * Copyright (c) 2012, CS Systemes d'Information, France - * - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - ---- - -COPYRIGHT NOTICE, DISCLAIMER, and LICENSE -========================================= - -PNG Reference Library License version 2 ---------------------------------------- - - * Copyright (c) 1995-2019 The PNG Reference Library Authors. - * Copyright (c) 2018-2019 Cosmin Truta. - * Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson. - * Copyright (c) 1996-1997 Andreas Dilger. - * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. - -The software is supplied "as is", without warranty of any kind, -express or implied, including, without limitation, the warranties -of merchantability, fitness for a particular purpose, title, and -non-infringement. In no event shall the Copyright owners, or -anyone distributing the software, be liable for any damages or -other liability, whether in contract, tort or otherwise, arising -from, out of, or in connection with the software, or the use or -other dealings in the software, even if advised of the possibility -of such damage. - -Permission is hereby granted to use, copy, modify, and distribute -this software, or portions hereof, for any purpose, without fee, -subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you - must not claim that you wrote the original software. If you - use this software in a product, an acknowledgment in the product - documentation would be appreciated, but is not required. - - 2. Altered source versions must be plainly marked as such, and must - not be misrepresented as being the original software. - - 3. This Copyright notice may not be removed or altered from any - source or altered source distribution. - - -PNG Reference Library License version 1 (for libpng 0.5 through 1.6.35) ------------------------------------------------------------------------ - -libpng versions 1.0.7, July 1, 2000, through 1.6.35, July 15, 2018 are -Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson, are -derived from libpng-1.0.6, and are distributed according to the same -disclaimer and license as libpng-1.0.6 with the following individuals -added to the list of Contributing Authors: - - Simon-Pierre Cadieux - Eric S. Raymond - Mans Rullgard - Cosmin Truta - Gilles Vollant - James Yu - Mandar Sahastrabuddhe - Google Inc. - Vadim Barkov - -and with the following additions to the disclaimer: - - There is no warranty against interference with your enjoyment of - the library or against infringement. There is no warranty that our - efforts or the library will fulfill any of your particular purposes - or needs. This library is provided with all faults, and the entire - risk of satisfactory quality, performance, accuracy, and effort is - with the user. - -Some files in the "contrib" directory and some configure-generated -files that are distributed with libpng have other copyright owners, and -are released under other open source licenses. - -libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are -Copyright (c) 1998-2000 Glenn Randers-Pehrson, are derived from -libpng-0.96, and are distributed according to the same disclaimer and -license as libpng-0.96, with the following individuals added to the -list of Contributing Authors: - - Tom Lane - Glenn Randers-Pehrson - Willem van Schaik - -libpng versions 0.89, June 1996, through 0.96, May 1997, are -Copyright (c) 1996-1997 Andreas Dilger, are derived from libpng-0.88, -and are distributed according to the same disclaimer and license as -libpng-0.88, with the following individuals added to the list of -Contributing Authors: - - John Bowler - Kevin Bracey - Sam Bushell - Magnus Holmgren - Greg Roelofs - Tom Tanner - -Some files in the "scripts" directory have other copyright owners, -but are released under this license. - -libpng versions 0.5, May 1995, through 0.88, January 1996, are -Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. - -For the purposes of this copyright and license, "Contributing Authors" -is defined as the following set of individuals: - - Andreas Dilger - Dave Martindale - Guy Eric Schalnat - Paul Schmidt - Tim Wegner - -The PNG Reference Library is supplied "AS IS". The Contributing -Authors and Group 42, Inc. disclaim all warranties, expressed or -implied, including, without limitation, the warranties of -merchantability and of fitness for any purpose. The Contributing -Authors and Group 42, Inc. assume no liability for direct, indirect, -incidental, special, exemplary, or consequential damages, which may -result from the use of the PNG Reference Library, even if advised of -the possibility of such damage. - -Permission is hereby granted to use, copy, modify, and distribute this -source code, or portions hereof, for any purpose, without fee, subject -to the following restrictions: - - 1. The origin of this source code must not be misrepresented. - - 2. Altered versions must be plainly marked as such and must not - be misrepresented as being the original source. - - 3. This Copyright notice may not be removed or altered from any - source or altered source distribution. - -The Contributing Authors and Group 42, Inc. specifically permit, -without fee, and encourage the use of this source code as a component -to supporting the PNG file format in commercial products. If you use -this source code in a product, acknowledgment is not required but would -be appreciated. - ----- - -XAU - -Copyright 1988, 1993, 1994, 1998 The Open Group - -Permission to use, copy, modify, distribute, and sell this software and its -documentation for any purpose is hereby granted without fee, provided that -the above copyright notice appear in all copies and that both that -copyright notice and this permission notice appear in supporting -documentation. - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -Except as contained in this notice, the name of The Open Group shall not be -used in advertising or otherwise to promote the sale, use or other dealings -in this Software without prior written authorization from The Open Group. - ----- - -XCB - -Copyright (C) 2001-2006 Bart Massey, Jamey Sharp, and Josh Triplett. -All Rights Reserved. - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the -Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, -sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall -be included in all copies or substantial portions of the -Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR -PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS -BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - -Except as contained in this notice, the names of the authors -or their institutions shall not be used in advertising or -otherwise to promote the sale, use or other dealings in this -Software without prior written authorization from the -authors. - ----- - -XDMCP - -Copyright 1989, 1998 The Open Group - -Permission to use, copy, modify, distribute, and sell this software and its -documentation for any purpose is hereby granted without fee, provided that -the above copyright notice appear in all copies and that both that -copyright notice and this permission notice appear in supporting -documentation. - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -Except as contained in this notice, the name of The Open Group shall not be -used in advertising or otherwise to promote the sale, use or other dealings -in this Software without prior written authorization from The Open Group. - -Author: Keith Packard, MIT X Consortium - ----- - -ZLIB - - (C) 1995-2017 Jean-loup Gailly and Mark Adler - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - - Jean-loup Gailly Mark Adler - jloup@gzip.org madler@alumni.caltech.edu - -If you use the zlib library in a product, we would appreciate *not* receiving -lengthy legal documents to sign. The sources are provided for free but without -warranty of any kind. The library has been entirely written by Jean-loup -Gailly and Mark Adler; it does not include third-party code. - -If you redistribute modified sources, we would appreciate that you include in -the file ChangeLog history information documenting your changes. Please read -the FAQ for more information on the distribution of modified source versions. \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/Pillow-8.1.0.dist-info/METADATA b/venv/lib/python3.8/site-packages/Pillow-8.1.0.dist-info/METADATA deleted file mode 100644 index 7e86d067..00000000 --- a/venv/lib/python3.8/site-packages/Pillow-8.1.0.dist-info/METADATA +++ /dev/null @@ -1,137 +0,0 @@ -Metadata-Version: 2.1 -Name: Pillow -Version: 8.1.0 -Summary: Python Imaging Library (Fork) -Home-page: https://python-pillow.org -Author: Alex Clark (PIL Fork Author) -Author-email: aclark@python-pillow.org -License: HPND -Project-URL: Documentation, https://pillow.readthedocs.io -Project-URL: Source, https://github.com/python-pillow/Pillow -Project-URL: Funding, https://tidelift.com/subscription/pkg/pypi-pillow?utm_source=pypi-pillow&utm_medium=pypi -Project-URL: Release notes, https://pillow.readthedocs.io/en/stable/releasenotes/index.html -Project-URL: Changelog, https://github.com/python-pillow/Pillow/blob/master/CHANGES.rst -Keywords: Imaging -Platform: UNKNOWN -Classifier: Development Status :: 6 - Mature -Classifier: License :: OSI Approved :: Historical Permission Notice and Disclaimer (HPND) -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.6 -Classifier: Programming Language :: Python :: 3.7 -Classifier: Programming Language :: Python :: 3.8 -Classifier: Programming Language :: Python :: 3.9 -Classifier: Programming Language :: Python :: 3 :: Only -Classifier: Programming Language :: Python :: Implementation :: CPython -Classifier: Programming Language :: Python :: Implementation :: PyPy -Classifier: Topic :: Multimedia :: Graphics -Classifier: Topic :: Multimedia :: Graphics :: Capture :: Digital Camera -Classifier: Topic :: Multimedia :: Graphics :: Capture :: Screen Capture -Classifier: Topic :: Multimedia :: Graphics :: Graphics Conversion -Classifier: Topic :: Multimedia :: Graphics :: Viewers -Requires-Python: >=3.6 -Description-Content-Type: text/markdown - -

- Pillow logo -

- -# Pillow - -## Python Imaging Library (Fork) - -Pillow is the friendly PIL fork by [Alex Clark and -Contributors](https://github.com/python-pillow/Pillow/graphs/contributors). -PIL is the Python Imaging Library by Fredrik Lundh and Contributors. -As of 2019, Pillow development is -[supported by Tidelift](https://tidelift.com/subscription/pkg/pypi-pillow?utm_source=pypi-pillow&utm_medium=readme&utm_campaign=enterprise). - - - - - - - - - - - - - - - - - - -
docs - Documentation Status -
tests - GitHub Actions build status (Lint) - GitHub Actions build status (Test Linux and macOS) - GitHub Actions build status (Test Windows) - GitHub Actions build status (Test Docker) - AppVeyor CI build status (Windows) - Travis CI build status (macOS) - Code coverage -
package - Zenodo - Tidelift - Newest PyPI version - Number of PyPI downloads -
social - Join the chat at https://gitter.im/python-pillow/Pillow - Follow on https://twitter.com/PythonPillow -
- -## Overview - -The Python Imaging Library adds image processing capabilities to your Python interpreter. - -This library provides extensive file format support, an efficient internal representation, and fairly powerful image processing capabilities. - -The core image library is designed for fast access to data stored in a few basic pixel formats. It should provide a solid foundation for a general image processing tool. - -## More Information - -- [Documentation](https://pillow.readthedocs.io/) - - [Installation](https://pillow.readthedocs.io/en/latest/installation.html) - - [Handbook](https://pillow.readthedocs.io/en/latest/handbook/index.html) -- [Contribute](https://github.com/python-pillow/Pillow/blob/master/.github/CONTRIBUTING.md) - - [Issues](https://github.com/python-pillow/Pillow/issues) - - [Pull requests](https://github.com/python-pillow/Pillow/pulls) -- [Release notes](https://pillow.readthedocs.io/en/stable/releasenotes/index.html) -- [Changelog](https://github.com/python-pillow/Pillow/blob/master/CHANGES.rst) - - [Pre-fork](https://github.com/python-pillow/Pillow/blob/master/CHANGES.rst#pre-fork) - -## Report a Vulnerability - -To report a security vulnerability, please follow the procedure described in the [Tidelift security policy](https://tidelift.com/docs/security). - - diff --git a/venv/lib/python3.8/site-packages/Pillow-8.1.0.dist-info/RECORD b/venv/lib/python3.8/site-packages/Pillow-8.1.0.dist-info/RECORD deleted file mode 100644 index 7258f5d3..00000000 --- a/venv/lib/python3.8/site-packages/Pillow-8.1.0.dist-info/RECORD +++ /dev/null @@ -1,212 +0,0 @@ -PIL/BdfFontFile.py,sha256=hRnSgFZOIiTgWfJIaRHRQpU4TKVok2E31KJY6sbZPwc,2817 -PIL/BlpImagePlugin.py,sha256=B3Hu6Uc8UMddeiKIKQ49h_pikTyBXHRChjk47XMXHfI,14338 -PIL/BmpImagePlugin.py,sha256=JNcxnXmnv4s_TuFKOqqrjsVHC6cyVSN2BiA2fTiY7Rg,14164 -PIL/BufrStubImagePlugin.py,sha256=Zq60GwcqQJTmZJrA9EQq94QvYpNqwYvQzHojh4U7SDw,1520 -PIL/ContainerIO.py,sha256=1U15zUXjWO8uWK-MyCp66Eh7djQEU-oUeCDoBqewNkA,2883 -PIL/CurImagePlugin.py,sha256=er_bI3V1Ezly0QfFJq0fZMlGwrD5izDutwF1FrOwiMA,1679 -PIL/DcxImagePlugin.py,sha256=bfESLTji9GerqI4oYsy5oTFyRMlr2mjSsXzpY9IuLsk,2145 -PIL/DdsImagePlugin.py,sha256=DxDAfsdOvcjyLvMwbcZWLbYBxNv2sxNUOZ5dlOPOPhQ,6009 -PIL/EpsImagePlugin.py,sha256=12udC0cavBCfJ0hfv3nDrn8HHxNIAzQ9nVbGQmRsCaM,12096 -PIL/ExifTags.py,sha256=fx7S0CnztT9ptHT2HGuMYteI99CMVrD73IHeRI5OFjU,9009 -PIL/FitsStubImagePlugin.py,sha256=8Zq2D9ReJE-stBppxB_ELX3wxcS0_BDGg6Xce7sWpaU,1624 -PIL/FliImagePlugin.py,sha256=pGeC1JI6d5xdYWRhsKz0_3yeFzGII_jYbQhJYNo6n7Y,4260 -PIL/FontFile.py,sha256=LkQcbwUu1C4fokMnbg-ao9ksp2RX-saaPRie-z2rpH4,2765 -PIL/FpxImagePlugin.py,sha256=nKGioxa5C0q9X9qva3t_htRV_3jXQcFkclVxTEaSusk,6658 -PIL/FtexImagePlugin.py,sha256=d5xy9hZ6vzmzfTS7eUM_LaB8NHgV6izj1VKTBHOfFEQ,3309 -PIL/GbrImagePlugin.py,sha256=u9kOIdBxYMRrXfXfIwGcz0uyvvxNRCwO3U1xcfa51T4,2794 -PIL/GdImageFile.py,sha256=JFWSUssG1z1r884GQtBbZ3T7uhPF4cDXSuW3ctgf3TU,2465 -PIL/GifImagePlugin.py,sha256=c0OnvrO4R74seBRjSDgWyfomkGf29RrhAO9Ljd7A-7o,28917 -PIL/GimpGradientFile.py,sha256=G0ClRmjRHIJoU0nmG-P-tgehLHZip5i0rY4-5pjJ7bc,3353 -PIL/GimpPaletteFile.py,sha256=_wWvNmB40AfQ1M5sTxoYYXOMApWQji7rrubqZhfd1dU,1274 -PIL/GribStubImagePlugin.py,sha256=sSBrTisTcunuC0WcSQ4_55nV6uFvLCQ0JLSd62dgURw,1515 -PIL/Hdf5StubImagePlugin.py,sha256=zjtFPZIcVkWXvYRPnHow6XA9kElEi772w7PFSuEqmq4,1517 -PIL/IcnsImagePlugin.py,sha256=S_TEcoc96xvum6IgN0C5J2bIuk7kzPyBbwjkdAclEew,11684 -PIL/IcoImagePlugin.py,sha256=FW0hQQknL2mQz8kpKKGuFRQGXa13oco6VxRQ0mV1RDc,10287 -PIL/ImImagePlugin.py,sha256=RFFyRlFJTVuti-TZ9yWsqP7vJJydgX1MC6mjYwwdw-0,10729 -PIL/Image.py,sha256=WyxivptE6qQtik2pLO1201eQ3CGJojxFFoVNZU00KYE,116624 -PIL/ImageChops.py,sha256=HOGSnuU4EcCbdeUzEGPm54zewppHWWe12XLyOLLPgCw,7297 -PIL/ImageCms.py,sha256=NZs-joebSCHg2J0fKXASLNgiXl7FRfWmUn-IW7AkonQ,37087 -PIL/ImageColor.py,sha256=zUDJ9l_gRzB2Xb5JX5lfDhOdsL8l7hmLte7YEmVHI3s,8638 -PIL/ImageDraw.py,sha256=lVcv9yoadOXjcV9PaaYrMpBiP9_j2Y-GBayaPd-YZJQ,30660 -PIL/ImageDraw2.py,sha256=oBhpBTZhx3bd4D0s8E2kDjBzgThRkDU_TE_987l501k,5019 -PIL/ImageEnhance.py,sha256=CJnCouiBmxN2fE0xW7m_uMdBqcm-Fp0S3ruHhkygal4,3190 -PIL/ImageFile.py,sha256=Oe8P0zXRFcACneJqwkNSLrnZnnyIBzpE1nxIjmMcJvo,21246 -PIL/ImageFilter.py,sha256=3zaG3rvTfdox6zKcXq3sbHHwEfl7E1jJd5_KTirH2hw,15827 -PIL/ImageFont.py,sha256=zYN6axJ_u7Jt62bH0o3SaEO6Cxwk79PMUn5FlWY0S7s,45202 -PIL/ImageGrab.py,sha256=2o1aA0_vP-KeRJsJtIxYhi61yCK4k_Khh6NHQD7HO2Q,3625 -PIL/ImageMath.py,sha256=iQPtbXgdhcCchGTXbDop7AiI_Fe-fNmq8m1YHsHMBgc,7048 -PIL/ImageMode.py,sha256=gI88wDgAc4y-m46vTA4zPmipG12wpYLNXPRHyPZBZaY,1638 -PIL/ImageMorph.py,sha256=TM0-barsZdbHEyQ_wB2SrdZvJBkRnWnUbDzGVzDECL4,7854 -PIL/ImageOps.py,sha256=8n-F_HEVRt2l7SENEoiSHpWKn6EehLT0tYfZKKCGB7I,18462 -PIL/ImagePalette.py,sha256=ZjkQry8gfuET-QmG8P18UcZlttKUQjZUgQ3EKh3E6Js,6350 -PIL/ImagePath.py,sha256=lVmH1-lCd0SyrFoqyhlstAFW2iJuC14fPcW8iewvxCQ,336 -PIL/ImageQt.py,sha256=xAXlhkwENjox8CcQYKEq9CJjNk8bzpIH8C_XsLBSDzM,5994 -PIL/ImageSequence.py,sha256=3djA7vDH6wafTGbt4e_lPlVhy2TaKfdSrA1XQ4n-Uoc,1850 -PIL/ImageShow.py,sha256=Df6u8oiv8O4VBmOyfqj53AJAN3kiWsOb97xJaevj8XM,6295 -PIL/ImageStat.py,sha256=PieQi44mRHE6jod7NqujwGr6WCntuZuNGmC2z9PaoDY,3901 -PIL/ImageTk.py,sha256=rLPqAnLH61y2XRHgRPUdesYLQqnDQ__LeRK66KL_fPQ,9324 -PIL/ImageTransform.py,sha256=V2l6tsjmymMIF7HQBMI21UPn4mlicarrm4NF3Kazvio,2843 -PIL/ImageWin.py,sha256=1MQBJS7tVrQzI9jN0nmeNeFpIaq8fXra9kQocHkiFxM,7191 -PIL/ImtImagePlugin.py,sha256=cn60lqUVnK2oh_sPqPBORr_rZ4zuF_6FU0V96IAh8Ww,2203 -PIL/IptcImagePlugin.py,sha256=-RZBUUodHcF5wLKanW1MxJj7cbLOpx5LvXqm0vDM22U,5714 -PIL/Jpeg2KImagePlugin.py,sha256=3NAbqBmvSU_fHUIGspXFsVQV7uYMydN2Rj8jP2bGdiA,8722 -PIL/JpegImagePlugin.py,sha256=cpE4tQ3IqdtP3__RjZDLOEygwoFnska6MgbL8o6NXuI,27740 -PIL/JpegPresets.py,sha256=6gYstS6ZLaE0ENw7qcz1vlNtF2HMGSKx5Sm-KfKKCJ0,12709 -PIL/McIdasImagePlugin.py,sha256=LrP5nA7l8IQG3WhlMI0Xs8fGXY_uf6IDmzNCERl3tGw,1754 -PIL/MicImagePlugin.py,sha256=t8iqakHjOilWVEOrjTISN2-ctxkTYSZgzmtxf4ufrfg,2606 -PIL/MpegImagePlugin.py,sha256=n16Zgdy8Hcfke16lQwZWs53PZq4BA_OxPCMPDkW62nw,1803 -PIL/MpoImagePlugin.py,sha256=lbBbUp-o6xVnfaX3sQYpd7RN4-5-KHcbwi0Km2vN0eg,4244 -PIL/MspImagePlugin.py,sha256=Rjs-Vw2v1RtdP0V3RS6cf_1edF9FIpn9fYApatwLXXM,5524 -PIL/PSDraw.py,sha256=caJ_uayWqTlk0EhPSKTUOevVooEfTV1ny3jw2PtteoI,6670 -PIL/PaletteFile.py,sha256=s3KtsDuY5S04MKDyiXK3iIbiOGzV9PvCDUpOQHI7yqc,1106 -PIL/PalmImagePlugin.py,sha256=lTVwwSPFrQ-IPFGU8_gRCMZ1Lb73cuVhQ-nkx1Q0oqc,9108 -PIL/PcdImagePlugin.py,sha256=cnBm_xKcpLGT6hZ8QKai9Up0gZERMxZwhDXl1hQtBm0,1476 -PIL/PcfFontFile.py,sha256=njhgblsjSVcITVz1DpWdEligmJgPMh5nTk_zDDWWTik,6348 -PIL/PcxImagePlugin.py,sha256=KVYbCKGGp2DcsYwZSv3YYo3GrcxNTQAniZKlzKvHowg,5682 -PIL/PdfImagePlugin.py,sha256=H2zXDGd_he0MO411T_yREpn9IoA2nifXzaRn3WBGYqk,7665 -PIL/PdfParser.py,sha256=QIWh2AqFbdTM52XNOcf-nHFjLlk8mDatb5_qdpO2v2U,34385 -PIL/PixarImagePlugin.py,sha256=5MMcrrShVr511QKevK1ziKyJn0WllokWQxBhs8NWttY,1631 -PIL/PngImagePlugin.py,sha256=S7cPWcRuk98HDquNoBFIKEBJQ_5jmgaSgRIdWL-LIQs,43885 -PIL/PpmImagePlugin.py,sha256=UNwCp3h7psEK8i0p3P93VVXUBz9_8tUVzUWsITux6HQ,4447 -PIL/PsdImagePlugin.py,sha256=OSfBzyxW2_DclFj6k7ElqERo9oFIBrJ5KH6vRhcDjw4,7725 -PIL/PyAccess.py,sha256=U_N4WB6yg_qpWKo1X7avE98p6Ve3bqqnWOGX6DeyE4U,9592 -PIL/SgiImagePlugin.py,sha256=fdY5GOfjLgGVV5nvZ9gGomYboQ0-uPqyosDAU5M9eeU,6064 -PIL/SpiderImagePlugin.py,sha256=1m1xCZ2S7i2w4f-Tz2FSNkqUzqqZzYaZetKXevmsx6Y,9534 -PIL/SunImagePlugin.py,sha256=bnjnVFRjvApCH1QC1F9HeynoCe5AZk3wa1tOhPvHzKU,4282 -PIL/TarIO.py,sha256=E_pjAxk9wHezXUuR_99liySBXfJoL2wjzdNDf0g1hTo,1440 -PIL/TgaImagePlugin.py,sha256=UmGHaYcHHz3V1T87ZfFNR5TvP1QnQ1QG_EfuJPLmDpw,6277 -PIL/TiffImagePlugin.py,sha256=2RhRdr-ZeaZibTSW5jg-bWTgznQDhoQRwPtvpx4LWIg,68529 -PIL/TiffTags.py,sha256=ZAu3cTEiWLV5QkVFSzpY8LDdXv_RPhQoSa4XS8PYVmE,14560 -PIL/WalImageFile.py,sha256=Mfwtpwi-CgRKGORZbdc35uVG0XdelIEIafmtzh0aTKw,5531 -PIL/WebPImagePlugin.py,sha256=RKHtxgrWjuxN1fQF8AX0ckl3cEJkltOiKJrHYh--gk4,10795 -PIL/WmfImagePlugin.py,sha256=Ht5JppC4GZiYz8GNaww4IXEXTJkSQK7h-A2tt4AEvSI,4672 -PIL/XVThumbImagePlugin.py,sha256=zmZ8Z4B8Kr6NOdUqSipW9_X5mKiLBLs-wxvPRRg1l0M,1940 -PIL/XbmImagePlugin.py,sha256=oIEt_uqwKKU6lLS_IVFwEjotwE1FI4_IHUnx_6Ul_gk,2430 -PIL/XpmImagePlugin.py,sha256=1EBt-g678p0A0NXOkxq7sGM8dymneDMHHQmwJzAbrlw,3062 -PIL/__init__.py,sha256=NnlpBykSA7dIeA6k7aHKD2ikvrCKhpieYVv7UieVoyk,3260 -PIL/__main__.py,sha256=axR7PO-HtXp-o0rBhKIxs0wark0rBfaDIhAIWqtWUo4,41 -PIL/__pycache__/BdfFontFile.cpython-38.pyc,, -PIL/__pycache__/BlpImagePlugin.cpython-38.pyc,, -PIL/__pycache__/BmpImagePlugin.cpython-38.pyc,, -PIL/__pycache__/BufrStubImagePlugin.cpython-38.pyc,, -PIL/__pycache__/ContainerIO.cpython-38.pyc,, -PIL/__pycache__/CurImagePlugin.cpython-38.pyc,, -PIL/__pycache__/DcxImagePlugin.cpython-38.pyc,, -PIL/__pycache__/DdsImagePlugin.cpython-38.pyc,, -PIL/__pycache__/EpsImagePlugin.cpython-38.pyc,, -PIL/__pycache__/ExifTags.cpython-38.pyc,, -PIL/__pycache__/FitsStubImagePlugin.cpython-38.pyc,, -PIL/__pycache__/FliImagePlugin.cpython-38.pyc,, -PIL/__pycache__/FontFile.cpython-38.pyc,, -PIL/__pycache__/FpxImagePlugin.cpython-38.pyc,, -PIL/__pycache__/FtexImagePlugin.cpython-38.pyc,, -PIL/__pycache__/GbrImagePlugin.cpython-38.pyc,, -PIL/__pycache__/GdImageFile.cpython-38.pyc,, -PIL/__pycache__/GifImagePlugin.cpython-38.pyc,, -PIL/__pycache__/GimpGradientFile.cpython-38.pyc,, -PIL/__pycache__/GimpPaletteFile.cpython-38.pyc,, -PIL/__pycache__/GribStubImagePlugin.cpython-38.pyc,, -PIL/__pycache__/Hdf5StubImagePlugin.cpython-38.pyc,, -PIL/__pycache__/IcnsImagePlugin.cpython-38.pyc,, -PIL/__pycache__/IcoImagePlugin.cpython-38.pyc,, -PIL/__pycache__/ImImagePlugin.cpython-38.pyc,, -PIL/__pycache__/Image.cpython-38.pyc,, -PIL/__pycache__/ImageChops.cpython-38.pyc,, -PIL/__pycache__/ImageCms.cpython-38.pyc,, -PIL/__pycache__/ImageColor.cpython-38.pyc,, -PIL/__pycache__/ImageDraw.cpython-38.pyc,, -PIL/__pycache__/ImageDraw2.cpython-38.pyc,, -PIL/__pycache__/ImageEnhance.cpython-38.pyc,, -PIL/__pycache__/ImageFile.cpython-38.pyc,, -PIL/__pycache__/ImageFilter.cpython-38.pyc,, -PIL/__pycache__/ImageFont.cpython-38.pyc,, -PIL/__pycache__/ImageGrab.cpython-38.pyc,, -PIL/__pycache__/ImageMath.cpython-38.pyc,, -PIL/__pycache__/ImageMode.cpython-38.pyc,, -PIL/__pycache__/ImageMorph.cpython-38.pyc,, -PIL/__pycache__/ImageOps.cpython-38.pyc,, -PIL/__pycache__/ImagePalette.cpython-38.pyc,, -PIL/__pycache__/ImagePath.cpython-38.pyc,, -PIL/__pycache__/ImageQt.cpython-38.pyc,, -PIL/__pycache__/ImageSequence.cpython-38.pyc,, -PIL/__pycache__/ImageShow.cpython-38.pyc,, -PIL/__pycache__/ImageStat.cpython-38.pyc,, -PIL/__pycache__/ImageTk.cpython-38.pyc,, -PIL/__pycache__/ImageTransform.cpython-38.pyc,, -PIL/__pycache__/ImageWin.cpython-38.pyc,, -PIL/__pycache__/ImtImagePlugin.cpython-38.pyc,, -PIL/__pycache__/IptcImagePlugin.cpython-38.pyc,, -PIL/__pycache__/Jpeg2KImagePlugin.cpython-38.pyc,, -PIL/__pycache__/JpegImagePlugin.cpython-38.pyc,, -PIL/__pycache__/JpegPresets.cpython-38.pyc,, -PIL/__pycache__/McIdasImagePlugin.cpython-38.pyc,, -PIL/__pycache__/MicImagePlugin.cpython-38.pyc,, -PIL/__pycache__/MpegImagePlugin.cpython-38.pyc,, -PIL/__pycache__/MpoImagePlugin.cpython-38.pyc,, -PIL/__pycache__/MspImagePlugin.cpython-38.pyc,, -PIL/__pycache__/PSDraw.cpython-38.pyc,, -PIL/__pycache__/PaletteFile.cpython-38.pyc,, -PIL/__pycache__/PalmImagePlugin.cpython-38.pyc,, -PIL/__pycache__/PcdImagePlugin.cpython-38.pyc,, -PIL/__pycache__/PcfFontFile.cpython-38.pyc,, -PIL/__pycache__/PcxImagePlugin.cpython-38.pyc,, -PIL/__pycache__/PdfImagePlugin.cpython-38.pyc,, -PIL/__pycache__/PdfParser.cpython-38.pyc,, -PIL/__pycache__/PixarImagePlugin.cpython-38.pyc,, -PIL/__pycache__/PngImagePlugin.cpython-38.pyc,, -PIL/__pycache__/PpmImagePlugin.cpython-38.pyc,, -PIL/__pycache__/PsdImagePlugin.cpython-38.pyc,, -PIL/__pycache__/PyAccess.cpython-38.pyc,, -PIL/__pycache__/SgiImagePlugin.cpython-38.pyc,, -PIL/__pycache__/SpiderImagePlugin.cpython-38.pyc,, -PIL/__pycache__/SunImagePlugin.cpython-38.pyc,, -PIL/__pycache__/TarIO.cpython-38.pyc,, -PIL/__pycache__/TgaImagePlugin.cpython-38.pyc,, -PIL/__pycache__/TiffImagePlugin.cpython-38.pyc,, -PIL/__pycache__/TiffTags.cpython-38.pyc,, -PIL/__pycache__/WalImageFile.cpython-38.pyc,, -PIL/__pycache__/WebPImagePlugin.cpython-38.pyc,, -PIL/__pycache__/WmfImagePlugin.cpython-38.pyc,, -PIL/__pycache__/XVThumbImagePlugin.cpython-38.pyc,, -PIL/__pycache__/XbmImagePlugin.cpython-38.pyc,, -PIL/__pycache__/XpmImagePlugin.cpython-38.pyc,, -PIL/__pycache__/__init__.cpython-38.pyc,, -PIL/__pycache__/__main__.cpython-38.pyc,, -PIL/__pycache__/_binary.cpython-38.pyc,, -PIL/__pycache__/_tkinter_finder.cpython-38.pyc,, -PIL/__pycache__/_util.cpython-38.pyc,, -PIL/__pycache__/_version.cpython-38.pyc,, -PIL/__pycache__/features.cpython-38.pyc,, -PIL/_binary.py,sha256=M_yObPVR_1rxnS5craSJsSbFJMykMYqJ0vNHeUpAmj4,1793 -PIL/_imaging.cpython-38-x86_64-linux-gnu.so,sha256=LBxasJ0J56kLUlJ-JDS1VK7-s5GJBY3Dp0J4e5gs5t8,665784 -PIL/_imagingcms.cpython-38-x86_64-linux-gnu.so,sha256=hypegfhOJgtFGnb1KPMXfIwT4ae5y1BX16orOEje1Cc,43080 -PIL/_imagingft.cpython-38-x86_64-linux-gnu.so,sha256=hpMeHTyq6lBCFS9epeBt0MkxAqFNdapWxrNrr3_tK6Y,43000 -PIL/_imagingmath.cpython-38-x86_64-linux-gnu.so,sha256=hopBs3toL7BkcN4eKrUSVaNh8ddNR2iMt_lf0wBaqRE,24440 -PIL/_imagingmorph.cpython-38-x86_64-linux-gnu.so,sha256=Izb-P0sfXL7w79aeMs_rmFrtXSH3MHppiX5ueItw2oI,8312 -PIL/_imagingtk.cpython-38-x86_64-linux-gnu.so,sha256=2zU4-olXieuSioLYpGlnGi_d_yHi_48zBV4O3_CbFDs,9656 -PIL/_tkinter_finder.py,sha256=pWHz4HAUfRlF12YrGMXIZM1evllpRHq2kRAxD43hFmk,224 -PIL/_util.py,sha256=pbjX5KY1W2oZyYVC4TE9ai2PfrJZrAsO5hAnz_JMees,359 -PIL/_version.py,sha256=tpf8Y4_80o_PwzIvbXt9LqzFIeSJMY8z5JU3xcKjcts,50 -PIL/_webp.cpython-38-x86_64-linux-gnu.so,sha256=RiwjhnfR48vcJhO5-IkTmMSOG9x5rI4EqepBMXkgGfw,41840 -PIL/features.py,sha256=sM5E4oDEBqAZ3kHxVRTG7drsuJth_GPRxIUbCDqGHAk,9008 -Pillow-8.1.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -Pillow-8.1.0.dist-info/LICENSE,sha256=KaHC87Q1Qt5XsxBpy0TNb5wrUnV82TvczN-Dy54mytU,24628 -Pillow-8.1.0.dist-info/METADATA,sha256=hTCG0-G76l3R-nEqmsmiCbT2SSmx7q2juo4SZBCWtWQ,7064 -Pillow-8.1.0.dist-info/RECORD,, -Pillow-8.1.0.dist-info/WHEEL,sha256=Dh4w5P6PPWbqyqoE6MHlzbFQwZXlM-voWJDf2WUsS2g,108 -Pillow-8.1.0.dist-info/top_level.txt,sha256=riZqrk-hyZqh5f1Z0Zwii3dKfxEsByhu9cU9IODF-NY,4 -Pillow-8.1.0.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1 -Pillow.libs/libXau-312dbc56.so.6.0.0,sha256=pkazO4sSozRX0yzzcJGgLNmc1orwSlFB4wuDxG8Mtwo,12848 -Pillow.libs/libXdmcp-e15573e7.so.6.0.0,sha256=s9RVRC2L1UOO2Y67NE2LshHgoJ6B13dNTHYog-opS_I,21912 -Pillow.libs/libfreetype-6ad068c6.so.6.17.4,sha256=4-bW6TaGH0TJm6dR9jX9LQWcyKpozyg9FX6nTmAk2ns,1307624 -Pillow.libs/libjpeg-ba7bf5af.so.9.4.0,sha256=Z7iNudg2aBRlcXpMoV9SipKYKMolUlsMcUrYjHpl-bQ,250504 -Pillow.libs/liblcms2-db671c5b.so.2.0.10,sha256=3ahmiETg4f-e-vd9iL5ZSpDA0JiVvloO9JnYz4BzrHs,457280 -Pillow.libs/liblzma-99449165.so.5.2.5,sha256=7iMfemDnr3asL0JQkjfbOaPwbo0aQZywH4C3xf2u_k4,216664 -Pillow.libs/libopenjp2-f0612b30.so.2.4.0,sha256=lfYvfA4tEjTYCEN2fWwvB3A4F9VPT9fRReVGDREzyJM,532880 -Pillow.libs/libpng16-bedcb7ea.so.16.37.0,sha256=LSA-3MI8mYtx3zrJpk5ZizW4Hyg-Hvd8ykCIDfajVcA,283920 -Pillow.libs/libtiff-d147fec3.so.5.6.0,sha256=B_UTvwPMz2ver1LhJk3Oc_aYAQDyHlEBXm4GUWw0pb4,690040 -Pillow.libs/libwebp-122bd20b.so.7.1.0,sha256=PMbv3RH81P9_1hkOJiUNfjkjAWe8kBYqAlcWFmaeMgs,596712 -Pillow.libs/libwebpdemux-2db559e5.so.2.0.6,sha256=eQogBgl17h71V_m4fquF10WRl1nHuI596tS1wo1Vjus,29528 -Pillow.libs/libwebpmux-ec1d5c76.so.3.0.5,sha256=VaYWzcr8EgLLuI2zM2y91a-5L5qpR59rsRQF2q0-8Hw,58616 -Pillow.libs/libxcb-2dfad6c3.so.1.1.0,sha256=Pyy57cZxqkJU1x6vtPmMY97py0X6n1QjBotZPTchs1M,263776 -Pillow.libs/libz-a147dcb0.so.1.2.3,sha256=_HZ_XiOuVypJhy7VEy7Pv-QM6RxKmNtmQG2swxTNcvE,87848 diff --git a/venv/lib/python3.8/site-packages/Pillow-8.1.0.dist-info/WHEEL b/venv/lib/python3.8/site-packages/Pillow-8.1.0.dist-info/WHEEL deleted file mode 100644 index 69d594f0..00000000 --- a/venv/lib/python3.8/site-packages/Pillow-8.1.0.dist-info/WHEEL +++ /dev/null @@ -1,5 +0,0 @@ -Wheel-Version: 1.0 -Generator: bdist_wheel (0.36.2) -Root-Is-Purelib: false -Tag: cp38-cp38-manylinux1_x86_64 - diff --git a/venv/lib/python3.8/site-packages/Pillow-8.1.0.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/Pillow-8.1.0.dist-info/top_level.txt deleted file mode 100644 index b338169c..00000000 --- a/venv/lib/python3.8/site-packages/Pillow-8.1.0.dist-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -PIL diff --git a/venv/lib/python3.8/site-packages/Pillow-8.1.0.dist-info/zip-safe b/venv/lib/python3.8/site-packages/Pillow-8.1.0.dist-info/zip-safe deleted file mode 100644 index 8b137891..00000000 --- a/venv/lib/python3.8/site-packages/Pillow-8.1.0.dist-info/zip-safe +++ /dev/null @@ -1 +0,0 @@ - diff --git a/venv/lib/python3.8/site-packages/Pillow.libs/libXau-312dbc56.so.6.0.0 b/venv/lib/python3.8/site-packages/Pillow.libs/libXau-312dbc56.so.6.0.0 deleted file mode 100755 index 64340c01..00000000 Binary files a/venv/lib/python3.8/site-packages/Pillow.libs/libXau-312dbc56.so.6.0.0 and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/Pillow.libs/libXdmcp-e15573e7.so.6.0.0 b/venv/lib/python3.8/site-packages/Pillow.libs/libXdmcp-e15573e7.so.6.0.0 deleted file mode 100755 index 7e94bf1c..00000000 Binary files a/venv/lib/python3.8/site-packages/Pillow.libs/libXdmcp-e15573e7.so.6.0.0 and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/Pillow.libs/libfreetype-6ad068c6.so.6.17.4 b/venv/lib/python3.8/site-packages/Pillow.libs/libfreetype-6ad068c6.so.6.17.4 deleted file mode 100755 index 10edcb15..00000000 Binary files a/venv/lib/python3.8/site-packages/Pillow.libs/libfreetype-6ad068c6.so.6.17.4 and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/Pillow.libs/libjpeg-ba7bf5af.so.9.4.0 b/venv/lib/python3.8/site-packages/Pillow.libs/libjpeg-ba7bf5af.so.9.4.0 deleted file mode 100755 index ad26c11f..00000000 Binary files a/venv/lib/python3.8/site-packages/Pillow.libs/libjpeg-ba7bf5af.so.9.4.0 and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/Pillow.libs/liblcms2-db671c5b.so.2.0.10 b/venv/lib/python3.8/site-packages/Pillow.libs/liblcms2-db671c5b.so.2.0.10 deleted file mode 100755 index 7b057bb2..00000000 Binary files a/venv/lib/python3.8/site-packages/Pillow.libs/liblcms2-db671c5b.so.2.0.10 and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/Pillow.libs/liblzma-99449165.so.5.2.5 b/venv/lib/python3.8/site-packages/Pillow.libs/liblzma-99449165.so.5.2.5 deleted file mode 100755 index 92c86666..00000000 Binary files a/venv/lib/python3.8/site-packages/Pillow.libs/liblzma-99449165.so.5.2.5 and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/Pillow.libs/libopenjp2-f0612b30.so.2.4.0 b/venv/lib/python3.8/site-packages/Pillow.libs/libopenjp2-f0612b30.so.2.4.0 deleted file mode 100755 index e9402aff..00000000 Binary files a/venv/lib/python3.8/site-packages/Pillow.libs/libopenjp2-f0612b30.so.2.4.0 and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/Pillow.libs/libpng16-bedcb7ea.so.16.37.0 b/venv/lib/python3.8/site-packages/Pillow.libs/libpng16-bedcb7ea.so.16.37.0 deleted file mode 100755 index 0cc2caa9..00000000 Binary files a/venv/lib/python3.8/site-packages/Pillow.libs/libpng16-bedcb7ea.so.16.37.0 and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/Pillow.libs/libtiff-d147fec3.so.5.6.0 b/venv/lib/python3.8/site-packages/Pillow.libs/libtiff-d147fec3.so.5.6.0 deleted file mode 100755 index 149d5ec1..00000000 Binary files a/venv/lib/python3.8/site-packages/Pillow.libs/libtiff-d147fec3.so.5.6.0 and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/Pillow.libs/libwebp-122bd20b.so.7.1.0 b/venv/lib/python3.8/site-packages/Pillow.libs/libwebp-122bd20b.so.7.1.0 deleted file mode 100755 index df8a73c6..00000000 Binary files a/venv/lib/python3.8/site-packages/Pillow.libs/libwebp-122bd20b.so.7.1.0 and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/Pillow.libs/libwebpdemux-2db559e5.so.2.0.6 b/venv/lib/python3.8/site-packages/Pillow.libs/libwebpdemux-2db559e5.so.2.0.6 deleted file mode 100755 index 4fa46286..00000000 Binary files a/venv/lib/python3.8/site-packages/Pillow.libs/libwebpdemux-2db559e5.so.2.0.6 and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/Pillow.libs/libwebpmux-ec1d5c76.so.3.0.5 b/venv/lib/python3.8/site-packages/Pillow.libs/libwebpmux-ec1d5c76.so.3.0.5 deleted file mode 100755 index f67c3cc5..00000000 Binary files a/venv/lib/python3.8/site-packages/Pillow.libs/libwebpmux-ec1d5c76.so.3.0.5 and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/Pillow.libs/libxcb-2dfad6c3.so.1.1.0 b/venv/lib/python3.8/site-packages/Pillow.libs/libxcb-2dfad6c3.so.1.1.0 deleted file mode 100755 index 3385d9dd..00000000 Binary files a/venv/lib/python3.8/site-packages/Pillow.libs/libxcb-2dfad6c3.so.1.1.0 and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/Pillow.libs/libz-a147dcb0.so.1.2.3 b/venv/lib/python3.8/site-packages/Pillow.libs/libz-a147dcb0.so.1.2.3 deleted file mode 100755 index 0d6b6301..00000000 Binary files a/venv/lib/python3.8/site-packages/Pillow.libs/libz-a147dcb0.so.1.2.3 and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/__pycache__/easy_install.cpython-38.pyc b/venv/lib/python3.8/site-packages/__pycache__/easy_install.cpython-38.pyc deleted file mode 100644 index 7e6825aa..00000000 Binary files a/venv/lib/python3.8/site-packages/__pycache__/easy_install.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/asgiref-3.3.1.dist-info/INSTALLER b/venv/lib/python3.8/site-packages/asgiref-3.3.1.dist-info/INSTALLER deleted file mode 100644 index a1b589e3..00000000 --- a/venv/lib/python3.8/site-packages/asgiref-3.3.1.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/venv/lib/python3.8/site-packages/asgiref-3.3.1.dist-info/LICENSE b/venv/lib/python3.8/site-packages/asgiref-3.3.1.dist-info/LICENSE deleted file mode 100644 index 5f4f225d..00000000 --- a/venv/lib/python3.8/site-packages/asgiref-3.3.1.dist-info/LICENSE +++ /dev/null @@ -1,27 +0,0 @@ -Copyright (c) Django Software Foundation and individual contributors. -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - 3. Neither the name of Django nor the names of its contributors may be used - to endorse or promote products derived from this software without - specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/venv/lib/python3.8/site-packages/asgiref-3.3.1.dist-info/METADATA b/venv/lib/python3.8/site-packages/asgiref-3.3.1.dist-info/METADATA deleted file mode 100644 index 19da53c9..00000000 --- a/venv/lib/python3.8/site-packages/asgiref-3.3.1.dist-info/METADATA +++ /dev/null @@ -1,234 +0,0 @@ -Metadata-Version: 2.1 -Name: asgiref -Version: 3.3.1 -Summary: ASGI specs, helper code, and adapters -Home-page: https://github.com/django/asgiref/ -Author: Django Software Foundation -Author-email: foundation@djangoproject.com -License: BSD -Project-URL: Documentation, https://asgi.readthedocs.io/ -Project-URL: Further Documentation, https://docs.djangoproject.com/en/stable/topics/async/#async-adapter-functions -Project-URL: Changelog, https://github.com/django/asgiref/blob/master/CHANGELOG.txt -Platform: UNKNOWN -Classifier: Development Status :: 5 - Production/Stable -Classifier: Environment :: Web Environment -Classifier: Intended Audience :: Developers -Classifier: License :: OSI Approved :: BSD License -Classifier: Operating System :: OS Independent -Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3 :: Only -Classifier: Programming Language :: Python :: 3.5 -Classifier: Programming Language :: Python :: 3.6 -Classifier: Programming Language :: Python :: 3.7 -Classifier: Programming Language :: Python :: 3.8 -Classifier: Programming Language :: Python :: 3.9 -Classifier: Topic :: Internet :: WWW/HTTP -Requires-Python: >=3.5 -Provides-Extra: tests -Requires-Dist: pytest ; extra == 'tests' -Requires-Dist: pytest-asyncio ; extra == 'tests' - -asgiref -======= - -.. image:: https://api.travis-ci.org/django/asgiref.svg - :target: https://travis-ci.org/django/asgiref - -.. image:: https://img.shields.io/pypi/v/asgiref.svg - :target: https://pypi.python.org/pypi/asgiref - -ASGI is a standard for Python asynchronous web apps and servers to communicate -with each other, and positioned as an asynchronous successor to WSGI. You can -read more at https://asgi.readthedocs.io/en/latest/ - -This package includes ASGI base libraries, such as: - -* Sync-to-async and async-to-sync function wrappers, ``asgiref.sync`` -* Server base classes, ``asgiref.server`` -* A WSGI-to-ASGI adapter, in ``asgiref.wsgi`` - - -Function wrappers ------------------ - -These allow you to wrap or decorate async or sync functions to call them from -the other style (so you can call async functions from a synchronous thread, -or vice-versa). - -In particular: - -* AsyncToSync lets a synchronous subthread stop and wait while the async - function is called on the main thread's event loop, and then control is - returned to the thread when the async function is finished. - -* SyncToAsync lets async code call a synchronous function, which is run in - a threadpool and control returned to the async coroutine when the synchronous - function completes. - -The idea is to make it easier to call synchronous APIs from async code and -asynchronous APIs from synchronous code so it's easier to transition code from -one style to the other. In the case of Channels, we wrap the (synchronous) -Django view system with SyncToAsync to allow it to run inside the (asynchronous) -ASGI server. - -Note that exactly what threads things run in is very specific, and aimed to -keep maximum compatibility with old synchronous code. See -"Synchronous code & Threads" below for a full explanation. By default, -``sync_to_async`` will run all synchronous code in the program in the same -thread for safety reasons; you can disable this for more performance with -``@sync_to_async(thread_sensitive=False)``, but make sure that your code does -not rely on anything bound to threads (like database connections) when you do. - - -Threadlocal replacement ------------------------ - -This is a drop-in replacement for ``threading.local`` that works with both -threads and asyncio Tasks. Even better, it will proxy values through from a -task-local context to a thread-local context when you use ``sync_to_async`` -to run things in a threadpool, and vice-versa for ``async_to_sync``. - -If you instead want true thread- and task-safety, you can set -``thread_critical`` on the Local object to ensure this instead. - - -Server base classes -------------------- - -Includes a ``StatelessServer`` class which provides all the hard work of -writing a stateless server (as in, does not handle direct incoming sockets -but instead consumes external streams or sockets to work out what is happening). - -An example of such a server would be a chatbot server that connects out to -a central chat server and provides a "connection scope" per user chatting to -it. There's only one actual connection, but the server has to separate things -into several scopes for easier writing of the code. - -You can see an example of this being used in `frequensgi `_. - - -WSGI-to-ASGI adapter --------------------- - -Allows you to wrap a WSGI application so it appears as a valid ASGI application. - -Simply wrap it around your WSGI application like so:: - - asgi_application = WsgiToAsgi(wsgi_application) - -The WSGI application will be run in a synchronous threadpool, and the wrapped -ASGI application will be one that accepts ``http`` class messages. - -Please note that not all extended features of WSGI may be supported (such as -file handles for incoming POST bodies). - - -Dependencies ------------- - -``asgiref`` requires Python 3.5 or higher. - - -Contributing ------------- - -Please refer to the -`main Channels contributing docs `_. - - -Testing -''''''' - -To run tests, make sure you have installed the ``tests`` extra with the package:: - - cd asgiref/ - pip install -e .[tests] - pytest - - -Building the documentation -'''''''''''''''''''''''''' - -The documentation uses `Sphinx `_:: - - cd asgiref/docs/ - pip install sphinx - -To build the docs, you can use the default tools:: - - sphinx-build -b html . _build/html # or `make html`, if you've got make set up - cd _build/html - python -m http.server - -...or you can use ``sphinx-autobuild`` to run a server and rebuild/reload -your documentation changes automatically:: - - pip install sphinx-autobuild - sphinx-autobuild . _build/html - - -Implementation Details ----------------------- - -Synchronous code & threads -'''''''''''''''''''''''''' - -The ``asgiref.sync`` module provides two wrappers that let you go between -asynchronous and synchronous code at will, while taking care of the rough edges -for you. - -Unfortunately, the rough edges are numerous, and the code has to work especially -hard to keep things in the same thread as much as possible. Notably, the -restrictions we are working with are: - -* All synchronous code called through ``SyncToAsync`` and marked with - ``thread_sensitive`` should run in the same thread as each other (and if the - outer layer of the program is synchronous, the main thread) - -* If a thread already has a running async loop, ``AsyncToSync`` can't run things - on that loop if it's blocked on synchronous code that is above you in the - call stack. - -The first compromise you get to might be that ``thread_sensitive`` code should -just run in the same thread and not spawn in a sub-thread, fulfilling the first -restriction, but that immediately runs you into the second restriction. - -The only real solution is to essentially have a variant of ThreadPoolExecutor -that executes any ``thread_sensitive`` code on the outermost synchronous -thread - either the main thread, or a single spawned subthread. - -This means you now have two basic states: - -* If the outermost layer of your program is synchronous, then all async code - run through ``AsyncToSync`` will run in a per-call event loop in arbitrary - sub-threads, while all ``thread_sensitive`` code will run in the main thread. - -* If the outermost layer of your program is asynchronous, then all async code - runs on the main thread's event loop, and all ``thread_sensitive`` synchronous - code will run in a single shared sub-thread. - -Cruicially, this means that in both cases there is a thread which is a shared -resource that all ``thread_sensitive`` code must run on, and there is a chance -that this thread is currently blocked on its own ``AsyncToSync`` call. Thus, -``AsyncToSync`` needs to act as an executor for thread code while it's blocking. - -The ``CurrentThreadExecutor`` class provides this functionality; rather than -simply waiting on a Future, you can call its ``run_until_future`` method and -it will run submitted code until that Future is done. This means that code -inside the call can then run code on your thread. - - -Maintenance and Security ------------------------- - -To report security issues, please contact security@djangoproject.com. For GPG -signatures and more security process information, see -https://docs.djangoproject.com/en/dev/internals/security/. - -To report bugs or request new features, please open a new GitHub issue. - -This repository is part of the Channels project. For the shepherd and maintenance team, please see the -`main Channels readme `_. - - diff --git a/venv/lib/python3.8/site-packages/asgiref-3.3.1.dist-info/RECORD b/venv/lib/python3.8/site-packages/asgiref-3.3.1.dist-info/RECORD deleted file mode 100644 index c786b904..00000000 --- a/venv/lib/python3.8/site-packages/asgiref-3.3.1.dist-info/RECORD +++ /dev/null @@ -1,24 +0,0 @@ -asgiref-3.3.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -asgiref-3.3.1.dist-info/LICENSE,sha256=uEZBXRtRTpwd_xSiLeuQbXlLxUbKYSn5UKGM0JHipmk,1552 -asgiref-3.3.1.dist-info/METADATA,sha256=U_oV2OlELCovSyEWthXIbtxCz8EJ8cNAmYhPyzJeurE,8851 -asgiref-3.3.1.dist-info/RECORD,, -asgiref-3.3.1.dist-info/WHEEL,sha256=g4nMs7d-Xl9-xC9XovUrsDHGXt-FT0E17Yqo92DEfvY,92 -asgiref-3.3.1.dist-info/top_level.txt,sha256=bokQjCzwwERhdBiPdvYEZa4cHxT4NCeAffQNUqJ8ssg,8 -asgiref/__init__.py,sha256=XErusAMGUPwBUpdA6BLyq8CjU-6n6gLlBRymgSC8Y-0,22 -asgiref/__pycache__/__init__.cpython-38.pyc,, -asgiref/__pycache__/compatibility.cpython-38.pyc,, -asgiref/__pycache__/current_thread_executor.cpython-38.pyc,, -asgiref/__pycache__/local.cpython-38.pyc,, -asgiref/__pycache__/server.cpython-38.pyc,, -asgiref/__pycache__/sync.cpython-38.pyc,, -asgiref/__pycache__/testing.cpython-38.pyc,, -asgiref/__pycache__/timeout.cpython-38.pyc,, -asgiref/__pycache__/wsgi.cpython-38.pyc,, -asgiref/compatibility.py,sha256=MVH2bEdiCMMVTLbE-1V6KiU7q4LwqzP7PIufeXa-njM,1598 -asgiref/current_thread_executor.py,sha256=3dRFt3jAl_x1wr9prZZMut071pmdHdIwbTnUAYVejj4,2974 -asgiref/local.py,sha256=7g_PSo5vqd-KRkO7SOgoktSWr85Etsi4rqJyF1VUXhw,4849 -asgiref/server.py,sha256=dsOajgUgyly2E0Q0U82DG_iW3eK0cOX6pZqfvaF3WJI,6012 -asgiref/sync.py,sha256=SLo17i8mtyjvoVCDIb2D8BtP6l0NtRayjcivnh-i0CY,14101 -asgiref/testing.py,sha256=3byNRV7Oto_Fg8Z-fErQJ3yGf7OQlcUexbN_cDQugzQ,3119 -asgiref/timeout.py,sha256=Emw-Oop1pRfSc5YSMEYHgEz1802mP6JdA6bxH37bby8,3914 -asgiref/wsgi.py,sha256=-L0eo_uK_dq7EPjv1meW1BRGytURaO9NPESxnJc9CtA,6575 diff --git a/venv/lib/python3.8/site-packages/asgiref-3.3.1.dist-info/WHEEL b/venv/lib/python3.8/site-packages/asgiref-3.3.1.dist-info/WHEEL deleted file mode 100644 index b552003f..00000000 --- a/venv/lib/python3.8/site-packages/asgiref-3.3.1.dist-info/WHEEL +++ /dev/null @@ -1,5 +0,0 @@ -Wheel-Version: 1.0 -Generator: bdist_wheel (0.34.2) -Root-Is-Purelib: true -Tag: py3-none-any - diff --git a/venv/lib/python3.8/site-packages/asgiref-3.3.1.dist-info/top_level.txt b/venv/lib/python3.8/site-packages/asgiref-3.3.1.dist-info/top_level.txt deleted file mode 100644 index ddf99d3d..00000000 --- a/venv/lib/python3.8/site-packages/asgiref-3.3.1.dist-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -asgiref diff --git a/venv/lib/python3.8/site-packages/asgiref/__init__.py b/venv/lib/python3.8/site-packages/asgiref/__init__.py deleted file mode 100644 index ff041687..00000000 --- a/venv/lib/python3.8/site-packages/asgiref/__init__.py +++ /dev/null @@ -1 +0,0 @@ -__version__ = "3.3.1" diff --git a/venv/lib/python3.8/site-packages/asgiref/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/asgiref/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 1bdf9a5b..00000000 Binary files a/venv/lib/python3.8/site-packages/asgiref/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/asgiref/__pycache__/compatibility.cpython-38.pyc b/venv/lib/python3.8/site-packages/asgiref/__pycache__/compatibility.cpython-38.pyc deleted file mode 100644 index 0c2b579f..00000000 Binary files a/venv/lib/python3.8/site-packages/asgiref/__pycache__/compatibility.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/asgiref/__pycache__/current_thread_executor.cpython-38.pyc b/venv/lib/python3.8/site-packages/asgiref/__pycache__/current_thread_executor.cpython-38.pyc deleted file mode 100644 index 52e450fd..00000000 Binary files a/venv/lib/python3.8/site-packages/asgiref/__pycache__/current_thread_executor.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/asgiref/__pycache__/local.cpython-38.pyc b/venv/lib/python3.8/site-packages/asgiref/__pycache__/local.cpython-38.pyc deleted file mode 100644 index 48cd90dd..00000000 Binary files a/venv/lib/python3.8/site-packages/asgiref/__pycache__/local.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/asgiref/__pycache__/server.cpython-38.pyc b/venv/lib/python3.8/site-packages/asgiref/__pycache__/server.cpython-38.pyc deleted file mode 100644 index b5cf7414..00000000 Binary files a/venv/lib/python3.8/site-packages/asgiref/__pycache__/server.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/asgiref/__pycache__/sync.cpython-38.pyc b/venv/lib/python3.8/site-packages/asgiref/__pycache__/sync.cpython-38.pyc deleted file mode 100644 index e11821ad..00000000 Binary files a/venv/lib/python3.8/site-packages/asgiref/__pycache__/sync.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/asgiref/__pycache__/testing.cpython-38.pyc b/venv/lib/python3.8/site-packages/asgiref/__pycache__/testing.cpython-38.pyc deleted file mode 100644 index caea1448..00000000 Binary files a/venv/lib/python3.8/site-packages/asgiref/__pycache__/testing.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/asgiref/__pycache__/timeout.cpython-38.pyc b/venv/lib/python3.8/site-packages/asgiref/__pycache__/timeout.cpython-38.pyc deleted file mode 100644 index 10fd6170..00000000 Binary files a/venv/lib/python3.8/site-packages/asgiref/__pycache__/timeout.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/asgiref/__pycache__/wsgi.cpython-38.pyc b/venv/lib/python3.8/site-packages/asgiref/__pycache__/wsgi.cpython-38.pyc deleted file mode 100644 index 14c8d244..00000000 Binary files a/venv/lib/python3.8/site-packages/asgiref/__pycache__/wsgi.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/asgiref/compatibility.py b/venv/lib/python3.8/site-packages/asgiref/compatibility.py deleted file mode 100644 index eccaee0d..00000000 --- a/venv/lib/python3.8/site-packages/asgiref/compatibility.py +++ /dev/null @@ -1,47 +0,0 @@ -import asyncio -import inspect - - -def is_double_callable(application): - """ - Tests to see if an application is a legacy-style (double-callable) application. - """ - # Look for a hint on the object first - if getattr(application, "_asgi_single_callable", False): - return False - if getattr(application, "_asgi_double_callable", False): - return True - # Uninstanted classes are double-callable - if inspect.isclass(application): - return True - # Instanted classes depend on their __call__ - if hasattr(application, "__call__"): - # We only check to see if its __call__ is a coroutine function - - # if it's not, it still might be a coroutine function itself. - if asyncio.iscoroutinefunction(application.__call__): - return False - # Non-classes we just check directly - return not asyncio.iscoroutinefunction(application) - - -def double_to_single_callable(application): - """ - Transforms a double-callable ASGI application into a single-callable one. - """ - - async def new_application(scope, receive, send): - instance = application(scope) - return await instance(receive, send) - - return new_application - - -def guarantee_single_callable(application): - """ - Takes either a single- or double-callable application and always returns it - in single-callable style. Use this to add backwards compatibility for ASGI - 2.0 applications to your server/test harness/etc. - """ - if is_double_callable(application): - application = double_to_single_callable(application) - return application diff --git a/venv/lib/python3.8/site-packages/asgiref/current_thread_executor.py b/venv/lib/python3.8/site-packages/asgiref/current_thread_executor.py deleted file mode 100644 index 2955ff02..00000000 --- a/venv/lib/python3.8/site-packages/asgiref/current_thread_executor.py +++ /dev/null @@ -1,86 +0,0 @@ -import queue -import threading -import time -from concurrent.futures import Executor, Future - - -class _WorkItem(object): - """ - Represents an item needing to be run in the executor. - Copied from ThreadPoolExecutor (but it's private, so we're not going to rely on importing it) - """ - - def __init__(self, future, fn, args, kwargs): - self.future = future - self.fn = fn - self.args = args - self.kwargs = kwargs - - def run(self): - if not self.future.set_running_or_notify_cancel(): - return - try: - result = self.fn(*self.args, **self.kwargs) - except BaseException as exc: - self.future.set_exception(exc) - # Break a reference cycle with the exception 'exc' - self = None - else: - self.future.set_result(result) - - -class CurrentThreadExecutor(Executor): - """ - An Executor that actually runs code in the thread it is instantiated in. - Passed to other threads running async code, so they can run sync code in - the thread they came from. - """ - - def __init__(self): - self._work_thread = threading.current_thread() - self._work_queue = queue.Queue() - self._broken = False - - def run_until_future(self, future): - """ - Runs the code in the work queue until a result is available from the future. - Should be run from the thread the executor is initialised in. - """ - # Check we're in the right thread - if threading.current_thread() != self._work_thread: - raise RuntimeError( - "You cannot run CurrentThreadExecutor from a different thread" - ) - # Keep getting work items and checking the future - try: - while True: - # Get a work item and run it - try: - work_item = self._work_queue.get(block=False) - except queue.Empty: - # See if the future is done (we only exit if the work queue is empty) - if future.done(): - return - # Prevent hot-looping on nothing - time.sleep(0.001) - else: - work_item.run() - del work_item - finally: - self._broken = True - - def submit(self, fn, *args, **kwargs): - # Check they're not submitting from the same thread - if threading.current_thread() == self._work_thread: - raise RuntimeError( - "You cannot submit onto CurrentThreadExecutor from its own thread" - ) - # Check they're not too late or the executor errored - if self._broken: - raise RuntimeError("CurrentThreadExecutor already quit or is broken") - # Add to work queue - f = Future() - work_item = _WorkItem(f, fn, args, kwargs) - self._work_queue.put(work_item) - # Return the future - return f diff --git a/venv/lib/python3.8/site-packages/asgiref/local.py b/venv/lib/python3.8/site-packages/asgiref/local.py deleted file mode 100644 index 3d24b14d..00000000 --- a/venv/lib/python3.8/site-packages/asgiref/local.py +++ /dev/null @@ -1,122 +0,0 @@ -import random -import string -import sys -import threading -import weakref - - -class Local: - """ - A drop-in replacement for threading.locals that also works with asyncio - Tasks (via the current_task asyncio method), and passes locals through - sync_to_async and async_to_sync. - - Specifically: - - Locals work per-coroutine on any thread not spawned using asgiref - - Locals work per-thread on any thread not spawned using asgiref - - Locals are shared with the parent coroutine when using sync_to_async - - Locals are shared with the parent thread when using async_to_sync - (and if that thread was launched using sync_to_async, with its parent - coroutine as well, with this working for indefinite levels of nesting) - - Set thread_critical to True to not allow locals to pass from an async Task - to a thread it spawns. This is needed for code that truly needs - thread-safety, as opposed to things used for helpful context (e.g. sqlite - does not like being called from a different thread to the one it is from). - Thread-critical code will still be differentiated per-Task within a thread - as it is expected it does not like concurrent access. - - This doesn't use contextvars as it needs to support 3.6. Once it can support - 3.7 only, we can then reimplement the storage more nicely. - """ - - CLEANUP_INTERVAL = 60 # seconds - - def __init__(self, thread_critical=False): - self._thread_critical = thread_critical - self._thread_lock = threading.RLock() - self._context_refs = weakref.WeakSet() - # Random suffixes stop accidental reuse between different Locals, - # though we try to force deletion as well. - self._attr_name = "_asgiref_local_impl_%s_%s" % ( - id(self), - "".join(random.choice(string.ascii_letters) for i in range(8)), - ) - - def _get_context_id(self): - """ - Get the ID we should use for looking up variables - """ - # Prevent a circular reference - from .sync import AsyncToSync, SyncToAsync - - # First, pull the current task if we can - context_id = SyncToAsync.get_current_task() - context_is_async = True - # OK, let's try for a thread ID - if context_id is None: - context_id = threading.current_thread() - context_is_async = False - # If we're thread-critical, we stop here, as we can't share contexts. - if self._thread_critical: - return context_id - # Now, take those and see if we can resolve them through the launch maps - for i in range(sys.getrecursionlimit()): - try: - if context_is_async: - # Tasks have a source thread in AsyncToSync - context_id = AsyncToSync.launch_map[context_id] - context_is_async = False - else: - # Threads have a source task in SyncToAsync - context_id = SyncToAsync.launch_map[context_id] - context_is_async = True - except KeyError: - break - else: - # Catch infinite loops (they happen if you are screwing around - # with AsyncToSync implementations) - raise RuntimeError("Infinite launch_map loops") - return context_id - - def _get_storage(self): - context_obj = self._get_context_id() - if not hasattr(context_obj, self._attr_name): - setattr(context_obj, self._attr_name, {}) - self._context_refs.add(context_obj) - return getattr(context_obj, self._attr_name) - - def __del__(self): - try: - for context_obj in self._context_refs: - try: - delattr(context_obj, self._attr_name) - except AttributeError: - pass - except TypeError: - # WeakSet.__iter__ can crash when interpreter is shutting down due - # to _IterationGuard being None. - pass - - def __getattr__(self, key): - with self._thread_lock: - storage = self._get_storage() - if key in storage: - return storage[key] - else: - raise AttributeError("%r object has no attribute %r" % (self, key)) - - def __setattr__(self, key, value): - if key in ("_context_refs", "_thread_critical", "_thread_lock", "_attr_name"): - return super().__setattr__(key, value) - with self._thread_lock: - storage = self._get_storage() - storage[key] = value - - def __delattr__(self, key): - with self._thread_lock: - storage = self._get_storage() - if key in storage: - del storage[key] - else: - raise AttributeError("%r object has no attribute %r" % (self, key)) diff --git a/venv/lib/python3.8/site-packages/asgiref/server.py b/venv/lib/python3.8/site-packages/asgiref/server.py deleted file mode 100644 index a83b7bfa..00000000 --- a/venv/lib/python3.8/site-packages/asgiref/server.py +++ /dev/null @@ -1,157 +0,0 @@ -import asyncio -import logging -import time -import traceback - -from .compatibility import guarantee_single_callable - -logger = logging.getLogger(__name__) - - -class StatelessServer: - """ - Base server class that handles basic concepts like application instance - creation/pooling, exception handling, and similar, for stateless protocols - (i.e. ones without actual incoming connections to the process) - - Your code should override the handle() method, doing whatever it needs to, - and calling get_or_create_application_instance with a unique `scope_id` - and `scope` for the scope it wants to get. - - If an application instance is found with the same `scope_id`, you are - given its input queue, otherwise one is made for you with the scope provided - and you are given that fresh new input queue. Either way, you should do - something like: - - input_queue = self.get_or_create_application_instance( - "user-123456", - {"type": "testprotocol", "user_id": "123456", "username": "andrew"}, - ) - input_queue.put_nowait(message) - - If you try and create an application instance and there are already - `max_application` instances, the oldest/least recently used one will be - reclaimed and shut down to make space. - - Application coroutines that error will be found periodically (every 100ms - by default) and have their exceptions printed to the console. Override - application_exception() if you want to do more when this happens. - - If you override run(), make sure you handle things like launching the - application checker. - """ - - application_checker_interval = 0.1 - - def __init__(self, application, max_applications=1000): - # Parameters - self.application = application - self.max_applications = max_applications - # Initialisation - self.application_instances = {} - - ### Mainloop and handling - - def run(self): - """ - Runs the asyncio event loop with our handler loop. - """ - event_loop = asyncio.get_event_loop() - asyncio.ensure_future(self.application_checker()) - try: - event_loop.run_until_complete(self.handle()) - except KeyboardInterrupt: - logger.info("Exiting due to Ctrl-C/interrupt") - - async def handle(self): - raise NotImplementedError("You must implement handle()") - - async def application_send(self, scope, message): - """ - Receives outbound sends from applications and handles them. - """ - raise NotImplementedError("You must implement application_send()") - - ### Application instance management - - def get_or_create_application_instance(self, scope_id, scope): - """ - Creates an application instance and returns its queue. - """ - if scope_id in self.application_instances: - self.application_instances[scope_id]["last_used"] = time.time() - return self.application_instances[scope_id]["input_queue"] - # See if we need to delete an old one - while len(self.application_instances) > self.max_applications: - self.delete_oldest_application_instance() - # Make an instance of the application - input_queue = asyncio.Queue() - application_instance = guarantee_single_callable(self.application) - # Run it, and stash the future for later checking - future = asyncio.ensure_future( - application_instance( - scope=scope, - receive=input_queue.get, - send=lambda message: self.application_send(scope, message), - ) - ) - self.application_instances[scope_id] = { - "input_queue": input_queue, - "future": future, - "scope": scope, - "last_used": time.time(), - } - return input_queue - - def delete_oldest_application_instance(self): - """ - Finds and deletes the oldest application instance - """ - oldest_time = min( - details["last_used"] for details in self.application_instances.values() - ) - for scope_id, details in self.application_instances.items(): - if details["last_used"] == oldest_time: - self.delete_application_instance(scope_id) - # Return to make sure we only delete one in case two have - # the same oldest time - return - - def delete_application_instance(self, scope_id): - """ - Removes an application instance (makes sure its task is stopped, - then removes it from the current set) - """ - details = self.application_instances[scope_id] - del self.application_instances[scope_id] - if not details["future"].done(): - details["future"].cancel() - - async def application_checker(self): - """ - Goes through the set of current application instance Futures and cleans up - any that are done/prints exceptions for any that errored. - """ - while True: - await asyncio.sleep(self.application_checker_interval) - for scope_id, details in list(self.application_instances.items()): - if details["future"].done(): - exception = details["future"].exception() - if exception: - await self.application_exception(exception, details) - try: - del self.application_instances[scope_id] - except KeyError: - # Exception handling might have already got here before us. That's fine. - pass - - async def application_exception(self, exception, application_details): - """ - Called whenever an application coroutine has an exception. - """ - logging.error( - "Exception inside application: %s\n%s%s", - exception, - "".join(traceback.format_tb(exception.__traceback__)), - " {}".format(exception), - ) diff --git a/venv/lib/python3.8/site-packages/asgiref/sync.py b/venv/lib/python3.8/site-packages/asgiref/sync.py deleted file mode 100644 index cc8a0e9b..00000000 --- a/venv/lib/python3.8/site-packages/asgiref/sync.py +++ /dev/null @@ -1,375 +0,0 @@ -import asyncio -import asyncio.coroutines -import functools -import os -import sys -import threading -from concurrent.futures import Future, ThreadPoolExecutor - -from .current_thread_executor import CurrentThreadExecutor -from .local import Local - -try: - import contextvars # Python 3.7+ only. -except ImportError: - contextvars = None - - -def _restore_context(context): - # Check for changes in contextvars, and set them to the current - # context for downstream consumers - for cvar in context: - try: - if cvar.get() != context.get(cvar): - cvar.set(context.get(cvar)) - except LookupError: - cvar.set(context.get(cvar)) - - -class AsyncToSync: - """ - Utility class which turns an awaitable that only works on the thread with - the event loop into a synchronous callable that works in a subthread. - - If the call stack contains an async loop, the code runs there. - Otherwise, the code runs in a new loop in a new thread. - - Either way, this thread then pauses and waits to run any thread_sensitive - code called from further down the call stack using SyncToAsync, before - finally exiting once the async task returns. - """ - - # Maps launched Tasks to the threads that launched them (for locals impl) - launch_map = {} - - # Keeps track of which CurrentThreadExecutor to use. This uses an asgiref - # Local, not a threadlocal, so that tasks can work out what their parent used. - executors = Local() - - def __init__(self, awaitable, force_new_loop=False): - self.awaitable = awaitable - try: - self.__self__ = self.awaitable.__self__ - except AttributeError: - pass - if force_new_loop: - # They have asked that we always run in a new sub-loop. - self.main_event_loop = None - else: - try: - self.main_event_loop = asyncio.get_event_loop() - except RuntimeError: - # There's no event loop in this thread. Look for the threadlocal if - # we're inside SyncToAsync - main_event_loop_pid = getattr( - SyncToAsync.threadlocal, "main_event_loop_pid", None - ) - # We make sure the parent loop is from the same process - if - # they've forked, this is not going to be valid any more (#194) - if main_event_loop_pid and main_event_loop_pid == os.getpid(): - self.main_event_loop = getattr( - SyncToAsync.threadlocal, "main_event_loop", None - ) - else: - self.main_event_loop = None - - def __call__(self, *args, **kwargs): - # You can't call AsyncToSync from a thread with a running event loop - try: - event_loop = asyncio.get_event_loop() - except RuntimeError: - pass - else: - if event_loop.is_running(): - raise RuntimeError( - "You cannot use AsyncToSync in the same thread as an async event loop - " - "just await the async function directly." - ) - - if contextvars is not None: - # Wrapping context in list so it can be reassigned from within - # `main_wrap`. - context = [contextvars.copy_context()] - else: - context = None - - # Make a future for the return information - call_result = Future() - # Get the source thread - source_thread = threading.current_thread() - # Make a CurrentThreadExecutor we'll use to idle in this thread - we - # need one for every sync frame, even if there's one above us in the - # same thread. - if hasattr(self.executors, "current"): - old_current_executor = self.executors.current - else: - old_current_executor = None - current_executor = CurrentThreadExecutor() - self.executors.current = current_executor - # Use call_soon_threadsafe to schedule a synchronous callback on the - # main event loop's thread if it's there, otherwise make a new loop - # in this thread. - try: - awaitable = self.main_wrap( - args, kwargs, call_result, source_thread, sys.exc_info(), context - ) - - if not (self.main_event_loop and self.main_event_loop.is_running()): - # Make our own event loop - in a new thread - and run inside that. - loop = asyncio.new_event_loop() - loop_executor = ThreadPoolExecutor(max_workers=1) - loop_future = loop_executor.submit( - self._run_event_loop, loop, awaitable - ) - if current_executor: - # Run the CurrentThreadExecutor until the future is done - current_executor.run_until_future(loop_future) - # Wait for future and/or allow for exception propagation - loop_future.result() - else: - # Call it inside the existing loop - self.main_event_loop.call_soon_threadsafe( - self.main_event_loop.create_task, awaitable - ) - if current_executor: - # Run the CurrentThreadExecutor until the future is done - current_executor.run_until_future(call_result) - finally: - # Clean up any executor we were running - if hasattr(self.executors, "current"): - del self.executors.current - if old_current_executor: - self.executors.current = old_current_executor - if contextvars is not None: - _restore_context(context[0]) - - # Wait for results from the future. - return call_result.result() - - def _run_event_loop(self, loop, coro): - """ - Runs the given event loop (designed to be called in a thread). - """ - asyncio.set_event_loop(loop) - try: - loop.run_until_complete(coro) - finally: - try: - # mimic asyncio.run() behavior - # cancel unexhausted async generators - if sys.version_info >= (3, 7, 0): - tasks = asyncio.all_tasks(loop) - else: - tasks = asyncio.Task.all_tasks(loop) - for task in tasks: - task.cancel() - loop.run_until_complete(asyncio.gather(*tasks, return_exceptions=True)) - for task in tasks: - if task.cancelled(): - continue - if task.exception() is not None: - loop.call_exception_handler( - { - "message": "unhandled exception during loop shutdown", - "exception": task.exception(), - "task": task, - } - ) - if hasattr(loop, "shutdown_asyncgens"): - loop.run_until_complete(loop.shutdown_asyncgens()) - finally: - loop.close() - asyncio.set_event_loop(self.main_event_loop) - - def __get__(self, parent, objtype): - """ - Include self for methods - """ - func = functools.partial(self.__call__, parent) - return functools.update_wrapper(func, self.awaitable) - - async def main_wrap( - self, args, kwargs, call_result, source_thread, exc_info, context - ): - """ - Wraps the awaitable with something that puts the result into the - result/exception future. - """ - if context is not None: - _restore_context(context[0]) - - current_task = SyncToAsync.get_current_task() - self.launch_map[current_task] = source_thread - try: - # If we have an exception, run the function inside the except block - # after raising it so exc_info is correctly populated. - if exc_info[1]: - try: - raise exc_info[1] - except Exception: - result = await self.awaitable(*args, **kwargs) - else: - result = await self.awaitable(*args, **kwargs) - except Exception as e: - call_result.set_exception(e) - else: - call_result.set_result(result) - finally: - del self.launch_map[current_task] - - if context is not None: - context[0] = contextvars.copy_context() - - -class SyncToAsync: - """ - Utility class which turns a synchronous callable into an awaitable that - runs in a threadpool. It also sets a threadlocal inside the thread so - calls to AsyncToSync can escape it. - - If thread_sensitive is passed, the code will run in the same thread as any - outer code. This is needed for underlying Python code that is not - threadsafe (for example, code which handles SQLite database connections). - - If the outermost program is async (i.e. SyncToAsync is outermost), then - this will be a dedicated single sub-thread that all sync code runs in, - one after the other. If the outermost program is sync (i.e. AsyncToSync is - outermost), this will just be the main thread. This is achieved by idling - with a CurrentThreadExecutor while AsyncToSync is blocking its sync parent, - rather than just blocking. - """ - - # If they've set ASGI_THREADS, update the default asyncio executor for now - if "ASGI_THREADS" in os.environ: - loop = asyncio.get_event_loop() - loop.set_default_executor( - ThreadPoolExecutor(max_workers=int(os.environ["ASGI_THREADS"])) - ) - - # Maps launched threads to the coroutines that spawned them - launch_map = {} - - # Storage for main event loop references - threadlocal = threading.local() - - # Single-thread executor for thread-sensitive code - single_thread_executor = ThreadPoolExecutor(max_workers=1) - - def __init__(self, func, thread_sensitive=True): - self.func = func - functools.update_wrapper(self, func) - self._thread_sensitive = thread_sensitive - self._is_coroutine = asyncio.coroutines._is_coroutine - try: - self.__self__ = func.__self__ - except AttributeError: - pass - - async def __call__(self, *args, **kwargs): - loop = asyncio.get_event_loop() - - # Work out what thread to run the code in - if self._thread_sensitive: - if hasattr(AsyncToSync.executors, "current"): - # If we have a parent sync thread above somewhere, use that - executor = AsyncToSync.executors.current - else: - # Otherwise, we run it in a fixed single thread - executor = self.single_thread_executor - else: - executor = None # Use default - - if contextvars is not None: - context = contextvars.copy_context() - child = functools.partial(self.func, *args, **kwargs) - func = context.run - args = (child,) - kwargs = {} - else: - func = self.func - - # Run the code in the right thread - future = loop.run_in_executor( - executor, - functools.partial( - self.thread_handler, - loop, - self.get_current_task(), - sys.exc_info(), - func, - *args, - **kwargs - ), - ) - ret = await asyncio.wait_for(future, timeout=None) - - if contextvars is not None: - _restore_context(context) - - return ret - - def __get__(self, parent, objtype): - """ - Include self for methods - """ - return functools.partial(self.__call__, parent) - - def thread_handler(self, loop, source_task, exc_info, func, *args, **kwargs): - """ - Wraps the sync application with exception handling. - """ - # Set the threadlocal for AsyncToSync - self.threadlocal.main_event_loop = loop - self.threadlocal.main_event_loop_pid = os.getpid() - # Set the task mapping (used for the locals module) - current_thread = threading.current_thread() - if AsyncToSync.launch_map.get(source_task) == current_thread: - # Our parent task was launched from this same thread, so don't make - # a launch map entry - let it shortcut over us! (and stop infinite loops) - parent_set = False - else: - self.launch_map[current_thread] = source_task - parent_set = True - # Run the function - try: - # If we have an exception, run the function inside the except block - # after raising it so exc_info is correctly populated. - if exc_info[1]: - try: - raise exc_info[1] - except Exception: - return func(*args, **kwargs) - else: - return func(*args, **kwargs) - finally: - # Only delete the launch_map parent if we set it, otherwise it is - # from someone else. - if parent_set: - del self.launch_map[current_thread] - - @staticmethod - def get_current_task(): - """ - Cross-version implementation of asyncio.current_task() - - Returns None if there is no task. - """ - try: - if hasattr(asyncio, "current_task"): - # Python 3.7 and up - return asyncio.current_task() - else: - # Python 3.6 - return asyncio.Task.current_task() - except RuntimeError: - return None - - -# Lowercase aliases (and decorator friendliness) -async_to_sync = AsyncToSync - - -def sync_to_async(func=None, thread_sensitive=True): - if func is None: - return lambda f: SyncToAsync(f, thread_sensitive=thread_sensitive) - return SyncToAsync(func, thread_sensitive=thread_sensitive) diff --git a/venv/lib/python3.8/site-packages/asgiref/testing.py b/venv/lib/python3.8/site-packages/asgiref/testing.py deleted file mode 100644 index 6624317d..00000000 --- a/venv/lib/python3.8/site-packages/asgiref/testing.py +++ /dev/null @@ -1,97 +0,0 @@ -import asyncio -import time - -from .compatibility import guarantee_single_callable -from .timeout import timeout as async_timeout - - -class ApplicationCommunicator: - """ - Runs an ASGI application in a test mode, allowing sending of - messages to it and retrieval of messages it sends. - """ - - def __init__(self, application, scope): - self.application = guarantee_single_callable(application) - self.scope = scope - self.input_queue = asyncio.Queue() - self.output_queue = asyncio.Queue() - self.future = asyncio.ensure_future( - self.application(scope, self.input_queue.get, self.output_queue.put) - ) - - async def wait(self, timeout=1): - """ - Waits for the application to stop itself and returns any exceptions. - """ - try: - async with async_timeout(timeout): - try: - await self.future - self.future.result() - except asyncio.CancelledError: - pass - finally: - if not self.future.done(): - self.future.cancel() - try: - await self.future - except asyncio.CancelledError: - pass - - def stop(self, exceptions=True): - if not self.future.done(): - self.future.cancel() - elif exceptions: - # Give a chance to raise any exceptions - self.future.result() - - def __del__(self): - # Clean up on deletion - try: - self.stop(exceptions=False) - except RuntimeError: - # Event loop already stopped - pass - - async def send_input(self, message): - """ - Sends a single message to the application - """ - # Give it the message - await self.input_queue.put(message) - - async def receive_output(self, timeout=1): - """ - Receives a single message from the application, with optional timeout. - """ - # Make sure there's not an exception to raise from the task - if self.future.done(): - self.future.result() - # Wait and receive the message - try: - async with async_timeout(timeout): - return await self.output_queue.get() - except asyncio.TimeoutError as e: - # See if we have another error to raise inside - if self.future.done(): - self.future.result() - else: - self.future.cancel() - try: - await self.future - except asyncio.CancelledError: - pass - raise e - - async def receive_nothing(self, timeout=0.1, interval=0.01): - """ - Checks that there is no message to receive in the given time. - """ - # `interval` has precedence over `timeout` - start = time.monotonic() - while time.monotonic() - start < timeout: - if not self.output_queue.empty(): - return False - await asyncio.sleep(interval) - return self.output_queue.empty() diff --git a/venv/lib/python3.8/site-packages/asgiref/timeout.py b/venv/lib/python3.8/site-packages/asgiref/timeout.py deleted file mode 100644 index 0ff5892a..00000000 --- a/venv/lib/python3.8/site-packages/asgiref/timeout.py +++ /dev/null @@ -1,128 +0,0 @@ -# This code is originally sourced from the aio-libs project "async_timeout", -# under the Apache 2.0 license. You may see the original project at -# https://github.com/aio-libs/async-timeout - -# It is vendored here to reduce chain-dependencies on this library, and -# modified slightly to remove some features we don't use. - - -import asyncio -import sys -from types import TracebackType -from typing import Any, Optional, Type # noqa - -PY_37 = sys.version_info >= (3, 7) - - -class timeout: - """timeout context manager. - - Useful in cases when you want to apply timeout logic around block - of code or in cases when asyncio.wait_for is not suitable. For example: - - >>> with timeout(0.001): - ... async with aiohttp.get('https://github.com') as r: - ... await r.text() - - - timeout - value in seconds or None to disable timeout logic - loop - asyncio compatible event loop - """ - - def __init__( - self, - timeout: Optional[float], - *, - loop: Optional[asyncio.AbstractEventLoop] = None - ) -> None: - self._timeout = timeout - if loop is None: - loop = asyncio.get_event_loop() - self._loop = loop - self._task = None # type: Optional[asyncio.Task[Any]] - self._cancelled = False - self._cancel_handler = None # type: Optional[asyncio.Handle] - self._cancel_at = None # type: Optional[float] - - def __enter__(self) -> "timeout": - return self._do_enter() - - def __exit__( - self, - exc_type: Type[BaseException], - exc_val: BaseException, - exc_tb: TracebackType, - ) -> Optional[bool]: - self._do_exit(exc_type) - return None - - async def __aenter__(self) -> "timeout": - return self._do_enter() - - async def __aexit__( - self, - exc_type: Type[BaseException], - exc_val: BaseException, - exc_tb: TracebackType, - ) -> None: - self._do_exit(exc_type) - - @property - def expired(self) -> bool: - return self._cancelled - - @property - def remaining(self) -> Optional[float]: - if self._cancel_at is not None: - return max(self._cancel_at - self._loop.time(), 0.0) - else: - return None - - def _do_enter(self) -> "timeout": - # Support Tornado 5- without timeout - # Details: https://github.com/python/asyncio/issues/392 - if self._timeout is None: - return self - - self._task = current_task(self._loop) - if self._task is None: - raise RuntimeError( - "Timeout context manager should be used " "inside a task" - ) - - if self._timeout <= 0: - self._loop.call_soon(self._cancel_task) - return self - - self._cancel_at = self._loop.time() + self._timeout - self._cancel_handler = self._loop.call_at(self._cancel_at, self._cancel_task) - return self - - def _do_exit(self, exc_type: Type[BaseException]) -> None: - if exc_type is asyncio.CancelledError and self._cancelled: - self._cancel_handler = None - self._task = None - raise asyncio.TimeoutError - if self._timeout is not None and self._cancel_handler is not None: - self._cancel_handler.cancel() - self._cancel_handler = None - self._task = None - return None - - def _cancel_task(self) -> None: - if self._task is not None: - self._task.cancel() - self._cancelled = True - - -def current_task(loop: asyncio.AbstractEventLoop) -> "asyncio.Task[Any]": - if PY_37: - task = asyncio.current_task(loop=loop) # type: ignore - else: - task = asyncio.Task.current_task(loop=loop) - if task is None: - # this should be removed, tokio must use register_task and family API - if hasattr(loop, "current_task"): - task = loop.current_task() # type: ignore - - return task diff --git a/venv/lib/python3.8/site-packages/asgiref/wsgi.py b/venv/lib/python3.8/site-packages/asgiref/wsgi.py deleted file mode 100644 index 40fba205..00000000 --- a/venv/lib/python3.8/site-packages/asgiref/wsgi.py +++ /dev/null @@ -1,162 +0,0 @@ -from io import BytesIO -from tempfile import SpooledTemporaryFile - -from asgiref.sync import AsyncToSync, sync_to_async - - -class WsgiToAsgi: - """ - Wraps a WSGI application to make it into an ASGI application. - """ - - def __init__(self, wsgi_application): - self.wsgi_application = wsgi_application - - async def __call__(self, scope, receive, send): - """ - ASGI application instantiation point. - We return a new WsgiToAsgiInstance here with the WSGI app - and the scope, ready to respond when it is __call__ed. - """ - await WsgiToAsgiInstance(self.wsgi_application)(scope, receive, send) - - -class WsgiToAsgiInstance: - """ - Per-socket instance of a wrapped WSGI application - """ - - def __init__(self, wsgi_application): - self.wsgi_application = wsgi_application - self.response_started = False - self.response_content_length = None - - async def __call__(self, scope, receive, send): - if scope["type"] != "http": - raise ValueError("WSGI wrapper received a non-HTTP scope") - self.scope = scope - with SpooledTemporaryFile(max_size=65536) as body: - # Alright, wait for the http.request messages - while True: - message = await receive() - if message["type"] != "http.request": - raise ValueError("WSGI wrapper received a non-HTTP-request message") - body.write(message.get("body", b"")) - if not message.get("more_body"): - break - body.seek(0) - # Wrap send so it can be called from the subthread - self.sync_send = AsyncToSync(send) - # Call the WSGI app - await self.run_wsgi_app(body) - - def build_environ(self, scope, body): - """ - Builds a scope and request body into a WSGI environ object. - """ - environ = { - "REQUEST_METHOD": scope["method"], - "SCRIPT_NAME": scope.get("root_path", "").encode("utf8").decode("latin1"), - "PATH_INFO": scope["path"].encode("utf8").decode("latin1"), - "QUERY_STRING": scope["query_string"].decode("ascii"), - "SERVER_PROTOCOL": "HTTP/%s" % scope["http_version"], - "wsgi.version": (1, 0), - "wsgi.url_scheme": scope.get("scheme", "http"), - "wsgi.input": body, - "wsgi.errors": BytesIO(), - "wsgi.multithread": True, - "wsgi.multiprocess": True, - "wsgi.run_once": False, - } - # Get server name and port - required in WSGI, not in ASGI - if "server" in scope: - environ["SERVER_NAME"] = scope["server"][0] - environ["SERVER_PORT"] = str(scope["server"][1]) - else: - environ["SERVER_NAME"] = "localhost" - environ["SERVER_PORT"] = "80" - - if "client" in scope: - environ["REMOTE_ADDR"] = scope["client"][0] - - # Go through headers and make them into environ entries - for name, value in self.scope.get("headers", []): - name = name.decode("latin1") - if name == "content-length": - corrected_name = "CONTENT_LENGTH" - elif name == "content-type": - corrected_name = "CONTENT_TYPE" - else: - corrected_name = "HTTP_%s" % name.upper().replace("-", "_") - # HTTPbis say only ASCII chars are allowed in headers, but we latin1 just in case - value = value.decode("latin1") - if corrected_name in environ: - value = environ[corrected_name] + "," + value - environ[corrected_name] = value - return environ - - def start_response(self, status, response_headers, exc_info=None): - """ - WSGI start_response callable. - """ - # Don't allow re-calling once response has begun - if self.response_started: - raise exc_info[1].with_traceback(exc_info[2]) - # Don't allow re-calling without exc_info - if hasattr(self, "response_start") and exc_info is None: - raise ValueError( - "You cannot call start_response a second time without exc_info" - ) - # Extract status code - status_code, _ = status.split(" ", 1) - status_code = int(status_code) - # Extract headers - headers = [ - (name.lower().encode("ascii"), value.encode("ascii")) - for name, value in response_headers - ] - # Extract content-length - self.response_content_length = None - for name, value in response_headers: - if name.lower() == "content-length": - self.response_content_length = int(value) - # Build and send response start message. - self.response_start = { - "type": "http.response.start", - "status": status_code, - "headers": headers, - } - - @sync_to_async - def run_wsgi_app(self, body): - """ - Called in a subthread to run the WSGI app. We encapsulate like - this so that the start_response callable is called in the same thread. - """ - # Translate the scope and incoming request body into a WSGI environ - environ = self.build_environ(self.scope, body) - # Run the WSGI app - bytes_sent = 0 - for output in self.wsgi_application(environ, self.start_response): - # If this is the first response, include the response headers - if not self.response_started: - self.response_started = True - self.sync_send(self.response_start) - # If the application supplies a Content-Length header - if self.response_content_length is not None: - # The server should not transmit more bytes to the client than the header allows - bytes_allowed = self.response_content_length - bytes_sent - if len(output) > bytes_allowed: - output = output[:bytes_allowed] - self.sync_send( - {"type": "http.response.body", "body": output, "more_body": True} - ) - bytes_sent += len(output) - # The server should stop iterating over the response when enough data has been sent - if bytes_sent == self.response_content_length: - break - # Close connection - if not self.response_started: - self.response_started = True - self.sync_send(self.response_start) - self.sync_send({"type": "http.response.body"}) diff --git a/venv/lib/python3.8/site-packages/django/__init__.py b/venv/lib/python3.8/site-packages/django/__init__.py deleted file mode 100644 index 08496887..00000000 --- a/venv/lib/python3.8/site-packages/django/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -from django.utils.version import get_version - -VERSION = (3, 1, 7, 'final', 0) - -__version__ = get_version(VERSION) - - -def setup(set_prefix=True): - """ - Configure the settings (this happens as a side effect of accessing the - first setting), configure logging and populate the app registry. - Set the thread-local urlresolvers script prefix if `set_prefix` is True. - """ - from django.apps import apps - from django.conf import settings - from django.urls import set_script_prefix - from django.utils.log import configure_logging - - configure_logging(settings.LOGGING_CONFIG, settings.LOGGING) - if set_prefix: - set_script_prefix( - '/' if settings.FORCE_SCRIPT_NAME is None else settings.FORCE_SCRIPT_NAME - ) - apps.populate(settings.INSTALLED_APPS) diff --git a/venv/lib/python3.8/site-packages/django/__main__.py b/venv/lib/python3.8/site-packages/django/__main__.py deleted file mode 100644 index 8b96e91e..00000000 --- a/venv/lib/python3.8/site-packages/django/__main__.py +++ /dev/null @@ -1,9 +0,0 @@ -""" -Invokes django-admin when the django module is run as a script. - -Example: python -m django check -""" -from django.core import management - -if __name__ == "__main__": - management.execute_from_command_line() diff --git a/venv/lib/python3.8/site-packages/django/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 440b2fd5..00000000 Binary files a/venv/lib/python3.8/site-packages/django/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/__pycache__/__main__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/__pycache__/__main__.cpython-38.pyc deleted file mode 100644 index 37cbe140..00000000 Binary files a/venv/lib/python3.8/site-packages/django/__pycache__/__main__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/__pycache__/shortcuts.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/__pycache__/shortcuts.cpython-38.pyc deleted file mode 100644 index 31cbe88c..00000000 Binary files a/venv/lib/python3.8/site-packages/django/__pycache__/shortcuts.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/apps/__init__.py b/venv/lib/python3.8/site-packages/django/apps/__init__.py deleted file mode 100644 index 79091dc5..00000000 --- a/venv/lib/python3.8/site-packages/django/apps/__init__.py +++ /dev/null @@ -1,4 +0,0 @@ -from .config import AppConfig -from .registry import apps - -__all__ = ['AppConfig', 'apps'] diff --git a/venv/lib/python3.8/site-packages/django/apps/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/apps/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index aa4b3fe6..00000000 Binary files a/venv/lib/python3.8/site-packages/django/apps/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/apps/__pycache__/config.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/apps/__pycache__/config.cpython-38.pyc deleted file mode 100644 index 0dd7da29..00000000 Binary files a/venv/lib/python3.8/site-packages/django/apps/__pycache__/config.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/apps/__pycache__/registry.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/apps/__pycache__/registry.cpython-38.pyc deleted file mode 100644 index 93ed6877..00000000 Binary files a/venv/lib/python3.8/site-packages/django/apps/__pycache__/registry.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/apps/config.py b/venv/lib/python3.8/site-packages/django/apps/config.py deleted file mode 100644 index 2728503d..00000000 --- a/venv/lib/python3.8/site-packages/django/apps/config.py +++ /dev/null @@ -1,216 +0,0 @@ -import os -from importlib import import_module - -from django.core.exceptions import ImproperlyConfigured -from django.utils.module_loading import module_has_submodule - -MODELS_MODULE_NAME = 'models' - - -class AppConfig: - """Class representing a Django application and its configuration.""" - - def __init__(self, app_name, app_module): - # Full Python path to the application e.g. 'django.contrib.admin'. - self.name = app_name - - # Root module for the application e.g. . - self.module = app_module - - # Reference to the Apps registry that holds this AppConfig. Set by the - # registry when it registers the AppConfig instance. - self.apps = None - - # The following attributes could be defined at the class level in a - # subclass, hence the test-and-set pattern. - - # Last component of the Python path to the application e.g. 'admin'. - # This value must be unique across a Django project. - if not hasattr(self, 'label'): - self.label = app_name.rpartition(".")[2] - - # Human-readable name for the application e.g. "Admin". - if not hasattr(self, 'verbose_name'): - self.verbose_name = self.label.title() - - # Filesystem path to the application directory e.g. - # '/path/to/django/contrib/admin'. - if not hasattr(self, 'path'): - self.path = self._path_from_module(app_module) - - # Module containing models e.g. . Set by import_models(). - # None if the application doesn't have a models module. - self.models_module = None - - # Mapping of lowercase model names to model classes. Initially set to - # None to prevent accidental access before import_models() runs. - self.models = None - - def __repr__(self): - return '<%s: %s>' % (self.__class__.__name__, self.label) - - def _path_from_module(self, module): - """Attempt to determine app's filesystem path from its module.""" - # See #21874 for extended discussion of the behavior of this method in - # various cases. - # Convert paths to list because Python's _NamespacePath doesn't support - # indexing. - paths = list(getattr(module, '__path__', [])) - if len(paths) != 1: - filename = getattr(module, '__file__', None) - if filename is not None: - paths = [os.path.dirname(filename)] - else: - # For unknown reasons, sometimes the list returned by __path__ - # contains duplicates that must be removed (#25246). - paths = list(set(paths)) - if len(paths) > 1: - raise ImproperlyConfigured( - "The app module %r has multiple filesystem locations (%r); " - "you must configure this app with an AppConfig subclass " - "with a 'path' class attribute." % (module, paths)) - elif not paths: - raise ImproperlyConfigured( - "The app module %r has no filesystem location, " - "you must configure this app with an AppConfig subclass " - "with a 'path' class attribute." % module) - return paths[0] - - @classmethod - def create(cls, entry): - """ - Factory that creates an app config from an entry in INSTALLED_APPS. - """ - try: - # If import_module succeeds, entry is a path to an app module, - # which may specify an app config class with default_app_config. - # Otherwise, entry is a path to an app config class or an error. - module = import_module(entry) - - except ImportError: - # Track that importing as an app module failed. If importing as an - # app config class fails too, we'll trigger the ImportError again. - module = None - - mod_path, _, cls_name = entry.rpartition('.') - - # Raise the original exception when entry cannot be a path to an - # app config class. - if not mod_path: - raise - - else: - try: - # If this works, the app module specifies an app config class. - entry = module.default_app_config - except AttributeError: - # Otherwise, it simply uses the default app config class. - return cls(entry, module) - else: - mod_path, _, cls_name = entry.rpartition('.') - - # If we're reaching this point, we must attempt to load the app config - # class located at . - mod = import_module(mod_path) - try: - cls = getattr(mod, cls_name) - except AttributeError: - if module is None: - # If importing as an app module failed, check if the module - # contains any valid AppConfigs and show them as choices. - # Otherwise, that error probably contains the most informative - # traceback, so trigger it again. - candidates = sorted( - repr(name) for name, candidate in mod.__dict__.items() - if isinstance(candidate, type) and - issubclass(candidate, AppConfig) and - candidate is not AppConfig - ) - if candidates: - raise ImproperlyConfigured( - "'%s' does not contain a class '%s'. Choices are: %s." - % (mod_path, cls_name, ', '.join(candidates)) - ) - import_module(entry) - else: - raise - - # Check for obvious errors. (This check prevents duck typing, but - # it could be removed if it became a problem in practice.) - if not issubclass(cls, AppConfig): - raise ImproperlyConfigured( - "'%s' isn't a subclass of AppConfig." % entry) - - # Obtain app name here rather than in AppClass.__init__ to keep - # all error checking for entries in INSTALLED_APPS in one place. - try: - app_name = cls.name - except AttributeError: - raise ImproperlyConfigured( - "'%s' must supply a name attribute." % entry) - - # Ensure app_name points to a valid module. - try: - app_module = import_module(app_name) - except ImportError: - raise ImproperlyConfigured( - "Cannot import '%s'. Check that '%s.%s.name' is correct." % ( - app_name, mod_path, cls_name, - ) - ) - - # Entry is a path to an app config class. - return cls(app_name, app_module) - - def get_model(self, model_name, require_ready=True): - """ - Return the model with the given case-insensitive model_name. - - Raise LookupError if no model exists with this name. - """ - if require_ready: - self.apps.check_models_ready() - else: - self.apps.check_apps_ready() - try: - return self.models[model_name.lower()] - except KeyError: - raise LookupError( - "App '%s' doesn't have a '%s' model." % (self.label, model_name)) - - def get_models(self, include_auto_created=False, include_swapped=False): - """ - Return an iterable of models. - - By default, the following models aren't included: - - - auto-created models for many-to-many relations without - an explicit intermediate table, - - models that have been swapped out. - - Set the corresponding keyword argument to True to include such models. - Keyword arguments aren't documented; they're a private API. - """ - self.apps.check_models_ready() - for model in self.models.values(): - if model._meta.auto_created and not include_auto_created: - continue - if model._meta.swapped and not include_swapped: - continue - yield model - - def import_models(self): - # Dictionary of models for this app, primarily maintained in the - # 'all_models' attribute of the Apps this AppConfig is attached to. - self.models = self.apps.all_models[self.label] - - if module_has_submodule(self.module, MODELS_MODULE_NAME): - models_module_name = '%s.%s' % (self.name, MODELS_MODULE_NAME) - self.models_module = import_module(models_module_name) - - def ready(self): - """ - Override this method in subclasses to run code when Django starts. - """ diff --git a/venv/lib/python3.8/site-packages/django/apps/registry.py b/venv/lib/python3.8/site-packages/django/apps/registry.py deleted file mode 100644 index 62650ca4..00000000 --- a/venv/lib/python3.8/site-packages/django/apps/registry.py +++ /dev/null @@ -1,428 +0,0 @@ -import functools -import sys -import threading -import warnings -from collections import Counter, defaultdict -from functools import partial - -from django.core.exceptions import AppRegistryNotReady, ImproperlyConfigured - -from .config import AppConfig - - -class Apps: - """ - A registry that stores the configuration of installed applications. - - It also keeps track of models, e.g. to provide reverse relations. - """ - - def __init__(self, installed_apps=()): - # installed_apps is set to None when creating the master registry - # because it cannot be populated at that point. Other registries must - # provide a list of installed apps and are populated immediately. - if installed_apps is None and hasattr(sys.modules[__name__], 'apps'): - raise RuntimeError("You must supply an installed_apps argument.") - - # Mapping of app labels => model names => model classes. Every time a - # model is imported, ModelBase.__new__ calls apps.register_model which - # creates an entry in all_models. All imported models are registered, - # regardless of whether they're defined in an installed application - # and whether the registry has been populated. Since it isn't possible - # to reimport a module safely (it could reexecute initialization code) - # all_models is never overridden or reset. - self.all_models = defaultdict(dict) - - # Mapping of labels to AppConfig instances for installed apps. - self.app_configs = {} - - # Stack of app_configs. Used to store the current state in - # set_available_apps and set_installed_apps. - self.stored_app_configs = [] - - # Whether the registry is populated. - self.apps_ready = self.models_ready = self.ready = False - # For the autoreloader. - self.ready_event = threading.Event() - - # Lock for thread-safe population. - self._lock = threading.RLock() - self.loading = False - - # Maps ("app_label", "modelname") tuples to lists of functions to be - # called when the corresponding model is ready. Used by this class's - # `lazy_model_operation()` and `do_pending_operations()` methods. - self._pending_operations = defaultdict(list) - - # Populate apps and models, unless it's the master registry. - if installed_apps is not None: - self.populate(installed_apps) - - def populate(self, installed_apps=None): - """ - Load application configurations and models. - - Import each application module and then each model module. - - It is thread-safe and idempotent, but not reentrant. - """ - if self.ready: - return - - # populate() might be called by two threads in parallel on servers - # that create threads before initializing the WSGI callable. - with self._lock: - if self.ready: - return - - # An RLock prevents other threads from entering this section. The - # compare and set operation below is atomic. - if self.loading: - # Prevent reentrant calls to avoid running AppConfig.ready() - # methods twice. - raise RuntimeError("populate() isn't reentrant") - self.loading = True - - # Phase 1: initialize app configs and import app modules. - for entry in installed_apps: - if isinstance(entry, AppConfig): - app_config = entry - else: - app_config = AppConfig.create(entry) - if app_config.label in self.app_configs: - raise ImproperlyConfigured( - "Application labels aren't unique, " - "duplicates: %s" % app_config.label) - - self.app_configs[app_config.label] = app_config - app_config.apps = self - - # Check for duplicate app names. - counts = Counter( - app_config.name for app_config in self.app_configs.values()) - duplicates = [ - name for name, count in counts.most_common() if count > 1] - if duplicates: - raise ImproperlyConfigured( - "Application names aren't unique, " - "duplicates: %s" % ", ".join(duplicates)) - - self.apps_ready = True - - # Phase 2: import models modules. - for app_config in self.app_configs.values(): - app_config.import_models() - - self.clear_cache() - - self.models_ready = True - - # Phase 3: run ready() methods of app configs. - for app_config in self.get_app_configs(): - app_config.ready() - - self.ready = True - self.ready_event.set() - - def check_apps_ready(self): - """Raise an exception if all apps haven't been imported yet.""" - if not self.apps_ready: - from django.conf import settings - - # If "not ready" is due to unconfigured settings, accessing - # INSTALLED_APPS raises a more helpful ImproperlyConfigured - # exception. - settings.INSTALLED_APPS - raise AppRegistryNotReady("Apps aren't loaded yet.") - - def check_models_ready(self): - """Raise an exception if all models haven't been imported yet.""" - if not self.models_ready: - raise AppRegistryNotReady("Models aren't loaded yet.") - - def get_app_configs(self): - """Import applications and return an iterable of app configs.""" - self.check_apps_ready() - return self.app_configs.values() - - def get_app_config(self, app_label): - """ - Import applications and returns an app config for the given label. - - Raise LookupError if no application exists with this label. - """ - self.check_apps_ready() - try: - return self.app_configs[app_label] - except KeyError: - message = "No installed app with label '%s'." % app_label - for app_config in self.get_app_configs(): - if app_config.name == app_label: - message += " Did you mean '%s'?" % app_config.label - break - raise LookupError(message) - - # This method is performance-critical at least for Django's test suite. - @functools.lru_cache(maxsize=None) - def get_models(self, include_auto_created=False, include_swapped=False): - """ - Return a list of all installed models. - - By default, the following models aren't included: - - - auto-created models for many-to-many relations without - an explicit intermediate table, - - models that have been swapped out. - - Set the corresponding keyword argument to True to include such models. - """ - self.check_models_ready() - - result = [] - for app_config in self.app_configs.values(): - result.extend(app_config.get_models(include_auto_created, include_swapped)) - return result - - def get_model(self, app_label, model_name=None, require_ready=True): - """ - Return the model matching the given app_label and model_name. - - As a shortcut, app_label may be in the form .. - - model_name is case-insensitive. - - Raise LookupError if no application exists with this label, or no - model exists with this name in the application. Raise ValueError if - called with a single argument that doesn't contain exactly one dot. - """ - if require_ready: - self.check_models_ready() - else: - self.check_apps_ready() - - if model_name is None: - app_label, model_name = app_label.split('.') - - app_config = self.get_app_config(app_label) - - if not require_ready and app_config.models is None: - app_config.import_models() - - return app_config.get_model(model_name, require_ready=require_ready) - - def register_model(self, app_label, model): - # Since this method is called when models are imported, it cannot - # perform imports because of the risk of import loops. It mustn't - # call get_app_config(). - model_name = model._meta.model_name - app_models = self.all_models[app_label] - if model_name in app_models: - if (model.__name__ == app_models[model_name].__name__ and - model.__module__ == app_models[model_name].__module__): - warnings.warn( - "Model '%s.%s' was already registered. " - "Reloading models is not advised as it can lead to inconsistencies, " - "most notably with related models." % (app_label, model_name), - RuntimeWarning, stacklevel=2) - else: - raise RuntimeError( - "Conflicting '%s' models in application '%s': %s and %s." % - (model_name, app_label, app_models[model_name], model)) - app_models[model_name] = model - self.do_pending_operations(model) - self.clear_cache() - - def is_installed(self, app_name): - """ - Check whether an application with this name exists in the registry. - - app_name is the full name of the app e.g. 'django.contrib.admin'. - """ - self.check_apps_ready() - return any(ac.name == app_name for ac in self.app_configs.values()) - - def get_containing_app_config(self, object_name): - """ - Look for an app config containing a given object. - - object_name is the dotted Python path to the object. - - Return the app config for the inner application in case of nesting. - Return None if the object isn't in any registered app config. - """ - self.check_apps_ready() - candidates = [] - for app_config in self.app_configs.values(): - if object_name.startswith(app_config.name): - subpath = object_name[len(app_config.name):] - if subpath == '' or subpath[0] == '.': - candidates.append(app_config) - if candidates: - return sorted(candidates, key=lambda ac: -len(ac.name))[0] - - def get_registered_model(self, app_label, model_name): - """ - Similar to get_model(), but doesn't require that an app exists with - the given app_label. - - It's safe to call this method at import time, even while the registry - is being populated. - """ - model = self.all_models[app_label].get(model_name.lower()) - if model is None: - raise LookupError( - "Model '%s.%s' not registered." % (app_label, model_name)) - return model - - @functools.lru_cache(maxsize=None) - def get_swappable_settings_name(self, to_string): - """ - For a given model string (e.g. "auth.User"), return the name of the - corresponding settings name if it refers to a swappable model. If the - referred model is not swappable, return None. - - This method is decorated with lru_cache because it's performance - critical when it comes to migrations. Since the swappable settings don't - change after Django has loaded the settings, there is no reason to get - the respective settings attribute over and over again. - """ - for model in self.get_models(include_swapped=True): - swapped = model._meta.swapped - # Is this model swapped out for the model given by to_string? - if swapped and swapped == to_string: - return model._meta.swappable - # Is this model swappable and the one given by to_string? - if model._meta.swappable and model._meta.label == to_string: - return model._meta.swappable - return None - - def set_available_apps(self, available): - """ - Restrict the set of installed apps used by get_app_config[s]. - - available must be an iterable of application names. - - set_available_apps() must be balanced with unset_available_apps(). - - Primarily used for performance optimization in TransactionTestCase. - - This method is safe in the sense that it doesn't trigger any imports. - """ - available = set(available) - installed = {app_config.name for app_config in self.get_app_configs()} - if not available.issubset(installed): - raise ValueError( - "Available apps isn't a subset of installed apps, extra apps: %s" - % ", ".join(available - installed) - ) - - self.stored_app_configs.append(self.app_configs) - self.app_configs = { - label: app_config - for label, app_config in self.app_configs.items() - if app_config.name in available - } - self.clear_cache() - - def unset_available_apps(self): - """Cancel a previous call to set_available_apps().""" - self.app_configs = self.stored_app_configs.pop() - self.clear_cache() - - def set_installed_apps(self, installed): - """ - Enable a different set of installed apps for get_app_config[s]. - - installed must be an iterable in the same format as INSTALLED_APPS. - - set_installed_apps() must be balanced with unset_installed_apps(), - even if it exits with an exception. - - Primarily used as a receiver of the setting_changed signal in tests. - - This method may trigger new imports, which may add new models to the - registry of all imported models. They will stay in the registry even - after unset_installed_apps(). Since it isn't possible to replay - imports safely (e.g. that could lead to registering listeners twice), - models are registered when they're imported and never removed. - """ - if not self.ready: - raise AppRegistryNotReady("App registry isn't ready yet.") - self.stored_app_configs.append(self.app_configs) - self.app_configs = {} - self.apps_ready = self.models_ready = self.loading = self.ready = False - self.clear_cache() - self.populate(installed) - - def unset_installed_apps(self): - """Cancel a previous call to set_installed_apps().""" - self.app_configs = self.stored_app_configs.pop() - self.apps_ready = self.models_ready = self.ready = True - self.clear_cache() - - def clear_cache(self): - """ - Clear all internal caches, for methods that alter the app registry. - - This is mostly used in tests. - """ - # Call expire cache on each model. This will purge - # the relation tree and the fields cache. - self.get_models.cache_clear() - if self.ready: - # Circumvent self.get_models() to prevent that the cache is refilled. - # This particularly prevents that an empty value is cached while cloning. - for app_config in self.app_configs.values(): - for model in app_config.get_models(include_auto_created=True): - model._meta._expire_cache() - - def lazy_model_operation(self, function, *model_keys): - """ - Take a function and a number of ("app_label", "modelname") tuples, and - when all the corresponding models have been imported and registered, - call the function with the model classes as its arguments. - - The function passed to this method must accept exactly n models as - arguments, where n=len(model_keys). - """ - # Base case: no arguments, just execute the function. - if not model_keys: - function() - # Recursive case: take the head of model_keys, wait for the - # corresponding model class to be imported and registered, then apply - # that argument to the supplied function. Pass the resulting partial - # to lazy_model_operation() along with the remaining model args and - # repeat until all models are loaded and all arguments are applied. - else: - next_model, *more_models = model_keys - - # This will be executed after the class corresponding to next_model - # has been imported and registered. The `func` attribute provides - # duck-type compatibility with partials. - def apply_next_model(model): - next_function = partial(apply_next_model.func, model) - self.lazy_model_operation(next_function, *more_models) - apply_next_model.func = function - - # If the model has already been imported and registered, partially - # apply it to the function now. If not, add it to the list of - # pending operations for the model, where it will be executed with - # the model class as its sole argument once the model is ready. - try: - model_class = self.get_registered_model(*next_model) - except LookupError: - self._pending_operations[next_model].append(apply_next_model) - else: - apply_next_model(model_class) - - def do_pending_operations(self, model): - """ - Take a newly-prepared model and pass it to each function waiting for - it. This is called at the very end of Apps.register_model(). - """ - key = model._meta.app_label, model._meta.model_name - for function in self._pending_operations.pop(key, []): - function(model) - - -apps = Apps(installed_apps=None) diff --git a/venv/lib/python3.8/site-packages/django/bin/__pycache__/django-admin.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/bin/__pycache__/django-admin.cpython-38.pyc deleted file mode 100644 index 4c1a9cad..00000000 Binary files a/venv/lib/python3.8/site-packages/django/bin/__pycache__/django-admin.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/bin/django-admin.py b/venv/lib/python3.8/site-packages/django/bin/django-admin.py deleted file mode 100755 index 594b0f11..00000000 --- a/venv/lib/python3.8/site-packages/django/bin/django-admin.py +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env python -# When the django-admin.py deprecation ends, remove this script. -import warnings - -from django.core import management - -try: - from django.utils.deprecation import RemovedInDjango40Warning -except ImportError: - raise ImportError( - 'django-admin.py was deprecated in Django 3.1 and removed in Django ' - '4.0. Please manually remove this script from your virtual environment ' - 'and use django-admin instead.' - ) - -if __name__ == "__main__": - warnings.warn( - 'django-admin.py is deprecated in favor of django-admin.', - RemovedInDjango40Warning, - ) - management.execute_from_command_line() diff --git a/venv/lib/python3.8/site-packages/django/conf/__init__.py b/venv/lib/python3.8/site-packages/django/conf/__init__.py deleted file mode 100644 index 297d1e9b..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/__init__.py +++ /dev/null @@ -1,276 +0,0 @@ -""" -Settings and configuration for Django. - -Read values from the module specified by the DJANGO_SETTINGS_MODULE environment -variable, and then from django.conf.global_settings; see the global_settings.py -for a list of all possible variables. -""" - -import importlib -import os -import time -import traceback -import warnings -from pathlib import Path - -import django -from django.conf import global_settings -from django.core.exceptions import ImproperlyConfigured -from django.utils.deprecation import RemovedInDjango40Warning -from django.utils.functional import LazyObject, empty - -ENVIRONMENT_VARIABLE = "DJANGO_SETTINGS_MODULE" - -PASSWORD_RESET_TIMEOUT_DAYS_DEPRECATED_MSG = ( - 'The PASSWORD_RESET_TIMEOUT_DAYS setting is deprecated. Use ' - 'PASSWORD_RESET_TIMEOUT instead.' -) - -DEFAULT_HASHING_ALGORITHM_DEPRECATED_MSG = ( - 'The DEFAULT_HASHING_ALGORITHM transitional setting is deprecated. ' - 'Support for it and tokens, cookies, sessions, and signatures that use ' - 'SHA-1 hashing algorithm will be removed in Django 4.0.' -) - - -class SettingsReference(str): - """ - String subclass which references a current settings value. It's treated as - the value in memory but serializes to a settings.NAME attribute reference. - """ - def __new__(self, value, setting_name): - return str.__new__(self, value) - - def __init__(self, value, setting_name): - self.setting_name = setting_name - - -class LazySettings(LazyObject): - """ - A lazy proxy for either global Django settings or a custom settings object. - The user can manually configure settings prior to using them. Otherwise, - Django uses the settings module pointed to by DJANGO_SETTINGS_MODULE. - """ - def _setup(self, name=None): - """ - Load the settings module pointed to by the environment variable. This - is used the first time settings are needed, if the user hasn't - configured settings manually. - """ - settings_module = os.environ.get(ENVIRONMENT_VARIABLE) - if not settings_module: - desc = ("setting %s" % name) if name else "settings" - raise ImproperlyConfigured( - "Requested %s, but settings are not configured. " - "You must either define the environment variable %s " - "or call settings.configure() before accessing settings." - % (desc, ENVIRONMENT_VARIABLE)) - - self._wrapped = Settings(settings_module) - - def __repr__(self): - # Hardcode the class name as otherwise it yields 'Settings'. - if self._wrapped is empty: - return '' - return '' % { - 'settings_module': self._wrapped.SETTINGS_MODULE, - } - - def __getattr__(self, name): - """Return the value of a setting and cache it in self.__dict__.""" - if self._wrapped is empty: - self._setup(name) - val = getattr(self._wrapped, name) - self.__dict__[name] = val - return val - - def __setattr__(self, name, value): - """ - Set the value of setting. Clear all cached values if _wrapped changes - (@override_settings does this) or clear single values when set. - """ - if name == '_wrapped': - self.__dict__.clear() - else: - self.__dict__.pop(name, None) - super().__setattr__(name, value) - - def __delattr__(self, name): - """Delete a setting and clear it from cache if needed.""" - super().__delattr__(name) - self.__dict__.pop(name, None) - - def configure(self, default_settings=global_settings, **options): - """ - Called to manually configure the settings. The 'default_settings' - parameter sets where to retrieve any unspecified values from (its - argument must support attribute access (__getattr__)). - """ - if self._wrapped is not empty: - raise RuntimeError('Settings already configured.') - holder = UserSettingsHolder(default_settings) - for name, value in options.items(): - if not name.isupper(): - raise TypeError('Setting %r must be uppercase.' % name) - setattr(holder, name, value) - self._wrapped = holder - - @staticmethod - def _add_script_prefix(value): - """ - Add SCRIPT_NAME prefix to relative paths. - - Useful when the app is being served at a subpath and manually prefixing - subpath to STATIC_URL and MEDIA_URL in settings is inconvenient. - """ - # Don't apply prefix to absolute paths and URLs. - if value.startswith(('http://', 'https://', '/')): - return value - from django.urls import get_script_prefix - return '%s%s' % (get_script_prefix(), value) - - @property - def configured(self): - """Return True if the settings have already been configured.""" - return self._wrapped is not empty - - @property - def PASSWORD_RESET_TIMEOUT_DAYS(self): - stack = traceback.extract_stack() - # Show a warning if the setting is used outside of Django. - # Stack index: -1 this line, -2 the caller. - filename, _, _, _ = stack[-2] - if not filename.startswith(os.path.dirname(django.__file__)): - warnings.warn( - PASSWORD_RESET_TIMEOUT_DAYS_DEPRECATED_MSG, - RemovedInDjango40Warning, - stacklevel=2, - ) - return self.__getattr__('PASSWORD_RESET_TIMEOUT_DAYS') - - @property - def STATIC_URL(self): - return self._add_script_prefix(self.__getattr__('STATIC_URL')) - - @property - def MEDIA_URL(self): - return self._add_script_prefix(self.__getattr__('MEDIA_URL')) - - -class Settings: - def __init__(self, settings_module): - # update this dict from global settings (but only for ALL_CAPS settings) - for setting in dir(global_settings): - if setting.isupper(): - setattr(self, setting, getattr(global_settings, setting)) - - # store the settings module in case someone later cares - self.SETTINGS_MODULE = settings_module - - mod = importlib.import_module(self.SETTINGS_MODULE) - - tuple_settings = ( - "INSTALLED_APPS", - "TEMPLATE_DIRS", - "LOCALE_PATHS", - ) - self._explicit_settings = set() - for setting in dir(mod): - if setting.isupper(): - setting_value = getattr(mod, setting) - - if (setting in tuple_settings and - not isinstance(setting_value, (list, tuple))): - raise ImproperlyConfigured("The %s setting must be a list or a tuple. " % setting) - setattr(self, setting, setting_value) - self._explicit_settings.add(setting) - - if not self.SECRET_KEY: - raise ImproperlyConfigured("The SECRET_KEY setting must not be empty.") - - if self.is_overridden('PASSWORD_RESET_TIMEOUT_DAYS'): - if self.is_overridden('PASSWORD_RESET_TIMEOUT'): - raise ImproperlyConfigured( - 'PASSWORD_RESET_TIMEOUT_DAYS/PASSWORD_RESET_TIMEOUT are ' - 'mutually exclusive.' - ) - setattr(self, 'PASSWORD_RESET_TIMEOUT', self.PASSWORD_RESET_TIMEOUT_DAYS * 60 * 60 * 24) - warnings.warn(PASSWORD_RESET_TIMEOUT_DAYS_DEPRECATED_MSG, RemovedInDjango40Warning) - - if self.is_overridden('DEFAULT_HASHING_ALGORITHM'): - warnings.warn(DEFAULT_HASHING_ALGORITHM_DEPRECATED_MSG, RemovedInDjango40Warning) - - if hasattr(time, 'tzset') and self.TIME_ZONE: - # When we can, attempt to validate the timezone. If we can't find - # this file, no check happens and it's harmless. - zoneinfo_root = Path('/usr/share/zoneinfo') - zone_info_file = zoneinfo_root.joinpath(*self.TIME_ZONE.split('/')) - if zoneinfo_root.exists() and not zone_info_file.exists(): - raise ValueError("Incorrect timezone setting: %s" % self.TIME_ZONE) - # Move the time zone info into os.environ. See ticket #2315 for why - # we don't do this unconditionally (breaks Windows). - os.environ['TZ'] = self.TIME_ZONE - time.tzset() - - def is_overridden(self, setting): - return setting in self._explicit_settings - - def __repr__(self): - return '<%(cls)s "%(settings_module)s">' % { - 'cls': self.__class__.__name__, - 'settings_module': self.SETTINGS_MODULE, - } - - -class UserSettingsHolder: - """Holder for user configured settings.""" - # SETTINGS_MODULE doesn't make much sense in the manually configured - # (standalone) case. - SETTINGS_MODULE = None - - def __init__(self, default_settings): - """ - Requests for configuration variables not in this class are satisfied - from the module specified in default_settings (if possible). - """ - self.__dict__['_deleted'] = set() - self.default_settings = default_settings - - def __getattr__(self, name): - if not name.isupper() or name in self._deleted: - raise AttributeError - return getattr(self.default_settings, name) - - def __setattr__(self, name, value): - self._deleted.discard(name) - if name == 'PASSWORD_RESET_TIMEOUT_DAYS': - setattr(self, 'PASSWORD_RESET_TIMEOUT', value * 60 * 60 * 24) - warnings.warn(PASSWORD_RESET_TIMEOUT_DAYS_DEPRECATED_MSG, RemovedInDjango40Warning) - if name == 'DEFAULT_HASHING_ALGORITHM': - warnings.warn(DEFAULT_HASHING_ALGORITHM_DEPRECATED_MSG, RemovedInDjango40Warning) - super().__setattr__(name, value) - - def __delattr__(self, name): - self._deleted.add(name) - if hasattr(self, name): - super().__delattr__(name) - - def __dir__(self): - return sorted( - s for s in [*self.__dict__, *dir(self.default_settings)] - if s not in self._deleted - ) - - def is_overridden(self, setting): - deleted = (setting in self._deleted) - set_locally = (setting in self.__dict__) - set_on_default = getattr(self.default_settings, 'is_overridden', lambda s: False)(setting) - return deleted or set_locally or set_on_default - - def __repr__(self): - return '<%(cls)s>' % { - 'cls': self.__class__.__name__, - } - - -settings = LazySettings() diff --git a/venv/lib/python3.8/site-packages/django/conf/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index d8a697b8..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/__pycache__/global_settings.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/__pycache__/global_settings.cpython-38.pyc deleted file mode 100644 index ff2125fb..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/__pycache__/global_settings.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/app_template/__init__.py-tpl b/venv/lib/python3.8/site-packages/django/conf/app_template/__init__.py-tpl deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/app_template/admin.py-tpl b/venv/lib/python3.8/site-packages/django/conf/app_template/admin.py-tpl deleted file mode 100644 index 8c38f3f3..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/app_template/admin.py-tpl +++ /dev/null @@ -1,3 +0,0 @@ -from django.contrib import admin - -# Register your models here. diff --git a/venv/lib/python3.8/site-packages/django/conf/app_template/apps.py-tpl b/venv/lib/python3.8/site-packages/django/conf/app_template/apps.py-tpl deleted file mode 100644 index 9b2ce528..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/app_template/apps.py-tpl +++ /dev/null @@ -1,5 +0,0 @@ -from django.apps import AppConfig - - -class {{ camel_case_app_name }}Config(AppConfig): - name = '{{ app_name }}' diff --git a/venv/lib/python3.8/site-packages/django/conf/app_template/migrations/__init__.py-tpl b/venv/lib/python3.8/site-packages/django/conf/app_template/migrations/__init__.py-tpl deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/app_template/models.py-tpl b/venv/lib/python3.8/site-packages/django/conf/app_template/models.py-tpl deleted file mode 100644 index 71a83623..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/app_template/models.py-tpl +++ /dev/null @@ -1,3 +0,0 @@ -from django.db import models - -# Create your models here. diff --git a/venv/lib/python3.8/site-packages/django/conf/app_template/tests.py-tpl b/venv/lib/python3.8/site-packages/django/conf/app_template/tests.py-tpl deleted file mode 100644 index 7ce503c2..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/app_template/tests.py-tpl +++ /dev/null @@ -1,3 +0,0 @@ -from django.test import TestCase - -# Create your tests here. diff --git a/venv/lib/python3.8/site-packages/django/conf/app_template/views.py-tpl b/venv/lib/python3.8/site-packages/django/conf/app_template/views.py-tpl deleted file mode 100644 index 91ea44a2..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/app_template/views.py-tpl +++ /dev/null @@ -1,3 +0,0 @@ -from django.shortcuts import render - -# Create your views here. diff --git a/venv/lib/python3.8/site-packages/django/conf/global_settings.py b/venv/lib/python3.8/site-packages/django/conf/global_settings.py deleted file mode 100644 index 381ad63a..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/global_settings.py +++ /dev/null @@ -1,651 +0,0 @@ -""" -Default Django settings. Override these with settings in the module pointed to -by the DJANGO_SETTINGS_MODULE environment variable. -""" - - -# This is defined here as a do-nothing function because we can't import -# django.utils.translation -- that module depends on the settings. -def gettext_noop(s): - return s - - -#################### -# CORE # -#################### - -DEBUG = False - -# Whether the framework should propagate raw exceptions rather than catching -# them. This is useful under some testing situations and should never be used -# on a live site. -DEBUG_PROPAGATE_EXCEPTIONS = False - -# People who get code error notifications. -# In the format [('Full Name', 'email@example.com'), ('Full Name', 'anotheremail@example.com')] -ADMINS = [] - -# List of IP addresses, as strings, that: -# * See debug comments, when DEBUG is true -# * Receive x-headers -INTERNAL_IPS = [] - -# Hosts/domain names that are valid for this site. -# "*" matches anything, ".example.com" matches example.com and all subdomains -ALLOWED_HOSTS = [] - -# Local time zone for this installation. All choices can be found here: -# https://en.wikipedia.org/wiki/List_of_tz_zones_by_name (although not all -# systems may support all possibilities). When USE_TZ is True, this is -# interpreted as the default user time zone. -TIME_ZONE = 'America/Chicago' - -# If you set this to True, Django will use timezone-aware datetimes. -USE_TZ = False - -# Language code for this installation. All choices can be found here: -# http://www.i18nguy.com/unicode/language-identifiers.html -LANGUAGE_CODE = 'en-us' - -# Languages we provide translations for, out of the box. -LANGUAGES = [ - ('af', gettext_noop('Afrikaans')), - ('ar', gettext_noop('Arabic')), - ('ar-dz', gettext_noop('Algerian Arabic')), - ('ast', gettext_noop('Asturian')), - ('az', gettext_noop('Azerbaijani')), - ('bg', gettext_noop('Bulgarian')), - ('be', gettext_noop('Belarusian')), - ('bn', gettext_noop('Bengali')), - ('br', gettext_noop('Breton')), - ('bs', gettext_noop('Bosnian')), - ('ca', gettext_noop('Catalan')), - ('cs', gettext_noop('Czech')), - ('cy', gettext_noop('Welsh')), - ('da', gettext_noop('Danish')), - ('de', gettext_noop('German')), - ('dsb', gettext_noop('Lower Sorbian')), - ('el', gettext_noop('Greek')), - ('en', gettext_noop('English')), - ('en-au', gettext_noop('Australian English')), - ('en-gb', gettext_noop('British English')), - ('eo', gettext_noop('Esperanto')), - ('es', gettext_noop('Spanish')), - ('es-ar', gettext_noop('Argentinian Spanish')), - ('es-co', gettext_noop('Colombian Spanish')), - ('es-mx', gettext_noop('Mexican Spanish')), - ('es-ni', gettext_noop('Nicaraguan Spanish')), - ('es-ve', gettext_noop('Venezuelan Spanish')), - ('et', gettext_noop('Estonian')), - ('eu', gettext_noop('Basque')), - ('fa', gettext_noop('Persian')), - ('fi', gettext_noop('Finnish')), - ('fr', gettext_noop('French')), - ('fy', gettext_noop('Frisian')), - ('ga', gettext_noop('Irish')), - ('gd', gettext_noop('Scottish Gaelic')), - ('gl', gettext_noop('Galician')), - ('he', gettext_noop('Hebrew')), - ('hi', gettext_noop('Hindi')), - ('hr', gettext_noop('Croatian')), - ('hsb', gettext_noop('Upper Sorbian')), - ('hu', gettext_noop('Hungarian')), - ('hy', gettext_noop('Armenian')), - ('ia', gettext_noop('Interlingua')), - ('id', gettext_noop('Indonesian')), - ('ig', gettext_noop('Igbo')), - ('io', gettext_noop('Ido')), - ('is', gettext_noop('Icelandic')), - ('it', gettext_noop('Italian')), - ('ja', gettext_noop('Japanese')), - ('ka', gettext_noop('Georgian')), - ('kab', gettext_noop('Kabyle')), - ('kk', gettext_noop('Kazakh')), - ('km', gettext_noop('Khmer')), - ('kn', gettext_noop('Kannada')), - ('ko', gettext_noop('Korean')), - ('ky', gettext_noop('Kyrgyz')), - ('lb', gettext_noop('Luxembourgish')), - ('lt', gettext_noop('Lithuanian')), - ('lv', gettext_noop('Latvian')), - ('mk', gettext_noop('Macedonian')), - ('ml', gettext_noop('Malayalam')), - ('mn', gettext_noop('Mongolian')), - ('mr', gettext_noop('Marathi')), - ('my', gettext_noop('Burmese')), - ('nb', gettext_noop('Norwegian Bokmål')), - ('ne', gettext_noop('Nepali')), - ('nl', gettext_noop('Dutch')), - ('nn', gettext_noop('Norwegian Nynorsk')), - ('os', gettext_noop('Ossetic')), - ('pa', gettext_noop('Punjabi')), - ('pl', gettext_noop('Polish')), - ('pt', gettext_noop('Portuguese')), - ('pt-br', gettext_noop('Brazilian Portuguese')), - ('ro', gettext_noop('Romanian')), - ('ru', gettext_noop('Russian')), - ('sk', gettext_noop('Slovak')), - ('sl', gettext_noop('Slovenian')), - ('sq', gettext_noop('Albanian')), - ('sr', gettext_noop('Serbian')), - ('sr-latn', gettext_noop('Serbian Latin')), - ('sv', gettext_noop('Swedish')), - ('sw', gettext_noop('Swahili')), - ('ta', gettext_noop('Tamil')), - ('te', gettext_noop('Telugu')), - ('tg', gettext_noop('Tajik')), - ('th', gettext_noop('Thai')), - ('tk', gettext_noop('Turkmen')), - ('tr', gettext_noop('Turkish')), - ('tt', gettext_noop('Tatar')), - ('udm', gettext_noop('Udmurt')), - ('uk', gettext_noop('Ukrainian')), - ('ur', gettext_noop('Urdu')), - ('uz', gettext_noop('Uzbek')), - ('vi', gettext_noop('Vietnamese')), - ('zh-hans', gettext_noop('Simplified Chinese')), - ('zh-hant', gettext_noop('Traditional Chinese')), -] - -# Languages using BiDi (right-to-left) layout -LANGUAGES_BIDI = ["he", "ar", "ar-dz", "fa", "ur"] - -# If you set this to False, Django will make some optimizations so as not -# to load the internationalization machinery. -USE_I18N = True -LOCALE_PATHS = [] - -# Settings for language cookie -LANGUAGE_COOKIE_NAME = 'django_language' -LANGUAGE_COOKIE_AGE = None -LANGUAGE_COOKIE_DOMAIN = None -LANGUAGE_COOKIE_PATH = '/' -LANGUAGE_COOKIE_SECURE = False -LANGUAGE_COOKIE_HTTPONLY = False -LANGUAGE_COOKIE_SAMESITE = None - - -# If you set this to True, Django will format dates, numbers and calendars -# according to user current locale. -USE_L10N = False - -# Not-necessarily-technical managers of the site. They get broken link -# notifications and other various emails. -MANAGERS = ADMINS - -# Default charset to use for all HttpResponse objects, if a MIME type isn't -# manually specified. It's used to construct the Content-Type header. -DEFAULT_CHARSET = 'utf-8' - -# Email address that error messages come from. -SERVER_EMAIL = 'root@localhost' - -# Database connection info. If left empty, will default to the dummy backend. -DATABASES = {} - -# Classes used to implement DB routing behavior. -DATABASE_ROUTERS = [] - -# The email backend to use. For possible shortcuts see django.core.mail. -# The default is to use the SMTP backend. -# Third-party backends can be specified by providing a Python path -# to a module that defines an EmailBackend class. -EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' - -# Host for sending email. -EMAIL_HOST = 'localhost' - -# Port for sending email. -EMAIL_PORT = 25 - -# Whether to send SMTP 'Date' header in the local time zone or in UTC. -EMAIL_USE_LOCALTIME = False - -# Optional SMTP authentication information for EMAIL_HOST. -EMAIL_HOST_USER = '' -EMAIL_HOST_PASSWORD = '' -EMAIL_USE_TLS = False -EMAIL_USE_SSL = False -EMAIL_SSL_CERTFILE = None -EMAIL_SSL_KEYFILE = None -EMAIL_TIMEOUT = None - -# List of strings representing installed apps. -INSTALLED_APPS = [] - -TEMPLATES = [] - -# Default form rendering class. -FORM_RENDERER = 'django.forms.renderers.DjangoTemplates' - -# Default email address to use for various automated correspondence from -# the site managers. -DEFAULT_FROM_EMAIL = 'webmaster@localhost' - -# Subject-line prefix for email messages send with django.core.mail.mail_admins -# or ...mail_managers. Make sure to include the trailing space. -EMAIL_SUBJECT_PREFIX = '[Django] ' - -# Whether to append trailing slashes to URLs. -APPEND_SLASH = True - -# Whether to prepend the "www." subdomain to URLs that don't have it. -PREPEND_WWW = False - -# Override the server-derived value of SCRIPT_NAME -FORCE_SCRIPT_NAME = None - -# List of compiled regular expression objects representing User-Agent strings -# that are not allowed to visit any page, systemwide. Use this for bad -# robots/crawlers. Here are a few examples: -# import re -# DISALLOWED_USER_AGENTS = [ -# re.compile(r'^NaverBot.*'), -# re.compile(r'^EmailSiphon.*'), -# re.compile(r'^SiteSucker.*'), -# re.compile(r'^sohu-search'), -# ] -DISALLOWED_USER_AGENTS = [] - -ABSOLUTE_URL_OVERRIDES = {} - -# List of compiled regular expression objects representing URLs that need not -# be reported by BrokenLinkEmailsMiddleware. Here are a few examples: -# import re -# IGNORABLE_404_URLS = [ -# re.compile(r'^/apple-touch-icon.*\.png$'), -# re.compile(r'^/favicon.ico$'), -# re.compile(r'^/robots.txt$'), -# re.compile(r'^/phpmyadmin/'), -# re.compile(r'\.(cgi|php|pl)$'), -# ] -IGNORABLE_404_URLS = [] - -# A secret key for this particular Django installation. Used in secret-key -# hashing algorithms. Set this in your settings, or Django will complain -# loudly. -SECRET_KEY = '' - -# Default file storage mechanism that holds media. -DEFAULT_FILE_STORAGE = 'django.core.files.storage.FileSystemStorage' - -# Absolute filesystem path to the directory that will hold user-uploaded files. -# Example: "/var/www/example.com/media/" -MEDIA_ROOT = '' - -# URL that handles the media served from MEDIA_ROOT. -# Examples: "http://example.com/media/", "http://media.example.com/" -MEDIA_URL = '' - -# Absolute path to the directory static files should be collected to. -# Example: "/var/www/example.com/static/" -STATIC_ROOT = None - -# URL that handles the static files served from STATIC_ROOT. -# Example: "http://example.com/static/", "http://static.example.com/" -STATIC_URL = None - -# List of upload handler classes to be applied in order. -FILE_UPLOAD_HANDLERS = [ - 'django.core.files.uploadhandler.MemoryFileUploadHandler', - 'django.core.files.uploadhandler.TemporaryFileUploadHandler', -] - -# Maximum size, in bytes, of a request before it will be streamed to the -# file system instead of into memory. -FILE_UPLOAD_MAX_MEMORY_SIZE = 2621440 # i.e. 2.5 MB - -# Maximum size in bytes of request data (excluding file uploads) that will be -# read before a SuspiciousOperation (RequestDataTooBig) is raised. -DATA_UPLOAD_MAX_MEMORY_SIZE = 2621440 # i.e. 2.5 MB - -# Maximum number of GET/POST parameters that will be read before a -# SuspiciousOperation (TooManyFieldsSent) is raised. -DATA_UPLOAD_MAX_NUMBER_FIELDS = 1000 - -# Directory in which upload streamed files will be temporarily saved. A value of -# `None` will make Django use the operating system's default temporary directory -# (i.e. "/tmp" on *nix systems). -FILE_UPLOAD_TEMP_DIR = None - -# The numeric mode to set newly-uploaded files to. The value should be a mode -# you'd pass directly to os.chmod; see https://docs.python.org/library/os.html#files-and-directories. -FILE_UPLOAD_PERMISSIONS = 0o644 - -# The numeric mode to assign to newly-created directories, when uploading files. -# The value should be a mode as you'd pass to os.chmod; -# see https://docs.python.org/library/os.html#files-and-directories. -FILE_UPLOAD_DIRECTORY_PERMISSIONS = None - -# Python module path where user will place custom format definition. -# The directory where this setting is pointing should contain subdirectories -# named as the locales, containing a formats.py file -# (i.e. "myproject.locale" for myproject/locale/en/formats.py etc. use) -FORMAT_MODULE_PATH = None - -# Default formatting for date objects. See all available format strings here: -# https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'N j, Y' - -# Default formatting for datetime objects. See all available format strings here: -# https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATETIME_FORMAT = 'N j, Y, P' - -# Default formatting for time objects. See all available format strings here: -# https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -TIME_FORMAT = 'P' - -# Default formatting for date objects when only the year and month are relevant. -# See all available format strings here: -# https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -YEAR_MONTH_FORMAT = 'F Y' - -# Default formatting for date objects when only the month and day are relevant. -# See all available format strings here: -# https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -MONTH_DAY_FORMAT = 'F j' - -# Default short formatting for date objects. See all available format strings here: -# https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -SHORT_DATE_FORMAT = 'm/d/Y' - -# Default short formatting for datetime objects. -# See all available format strings here: -# https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -SHORT_DATETIME_FORMAT = 'm/d/Y P' - -# Default formats to be used when parsing dates from input boxes, in order -# See all available format string here: -# https://docs.python.org/library/datetime.html#strftime-behavior -# * Note that these format strings are different from the ones to display dates -DATE_INPUT_FORMATS = [ - '%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', # '2006-10-25', '10/25/2006', '10/25/06' - '%b %d %Y', '%b %d, %Y', # 'Oct 25 2006', 'Oct 25, 2006' - '%d %b %Y', '%d %b, %Y', # '25 Oct 2006', '25 Oct, 2006' - '%B %d %Y', '%B %d, %Y', # 'October 25 2006', 'October 25, 2006' - '%d %B %Y', '%d %B, %Y', # '25 October 2006', '25 October, 2006' -] - -# Default formats to be used when parsing times from input boxes, in order -# See all available format string here: -# https://docs.python.org/library/datetime.html#strftime-behavior -# * Note that these format strings are different from the ones to display dates -TIME_INPUT_FORMATS = [ - '%H:%M:%S', # '14:30:59' - '%H:%M:%S.%f', # '14:30:59.000200' - '%H:%M', # '14:30' -] - -# Default formats to be used when parsing dates and times from input boxes, -# in order -# See all available format string here: -# https://docs.python.org/library/datetime.html#strftime-behavior -# * Note that these format strings are different from the ones to display dates -DATETIME_INPUT_FORMATS = [ - '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59' - '%Y-%m-%d %H:%M:%S.%f', # '2006-10-25 14:30:59.000200' - '%Y-%m-%d %H:%M', # '2006-10-25 14:30' - '%m/%d/%Y %H:%M:%S', # '10/25/2006 14:30:59' - '%m/%d/%Y %H:%M:%S.%f', # '10/25/2006 14:30:59.000200' - '%m/%d/%Y %H:%M', # '10/25/2006 14:30' - '%m/%d/%y %H:%M:%S', # '10/25/06 14:30:59' - '%m/%d/%y %H:%M:%S.%f', # '10/25/06 14:30:59.000200' - '%m/%d/%y %H:%M', # '10/25/06 14:30' -] - -# First day of week, to be used on calendars -# 0 means Sunday, 1 means Monday... -FIRST_DAY_OF_WEEK = 0 - -# Decimal separator symbol -DECIMAL_SEPARATOR = '.' - -# Boolean that sets whether to add thousand separator when formatting numbers -USE_THOUSAND_SEPARATOR = False - -# Number of digits that will be together, when splitting them by -# THOUSAND_SEPARATOR. 0 means no grouping, 3 means splitting by thousands... -NUMBER_GROUPING = 0 - -# Thousand separator symbol -THOUSAND_SEPARATOR = ',' - -# The tablespaces to use for each model when not specified otherwise. -DEFAULT_TABLESPACE = '' -DEFAULT_INDEX_TABLESPACE = '' - -# Default X-Frame-Options header value -X_FRAME_OPTIONS = 'DENY' - -USE_X_FORWARDED_HOST = False -USE_X_FORWARDED_PORT = False - -# The Python dotted path to the WSGI application that Django's internal server -# (runserver) will use. If `None`, the return value of -# 'django.core.wsgi.get_wsgi_application' is used, thus preserving the same -# behavior as previous versions of Django. Otherwise this should point to an -# actual WSGI application object. -WSGI_APPLICATION = None - -# If your Django app is behind a proxy that sets a header to specify secure -# connections, AND that proxy ensures that user-submitted headers with the -# same name are ignored (so that people can't spoof it), set this value to -# a tuple of (header_name, header_value). For any requests that come in with -# that header/value, request.is_secure() will return True. -# WARNING! Only set this if you fully understand what you're doing. Otherwise, -# you may be opening yourself up to a security risk. -SECURE_PROXY_SSL_HEADER = None - -# Default hashing algorithm to use for encoding cookies, password reset tokens -# in the admin site, user sessions, and signatures. It's a transitional setting -# helpful in migrating multiple instance of the same project to Django 3.1+. -# Algorithm must be 'sha1' or 'sha256'. -DEFAULT_HASHING_ALGORITHM = 'sha256' - -############## -# MIDDLEWARE # -############## - -# List of middleware to use. Order is important; in the request phase, these -# middleware will be applied in the order given, and in the response -# phase the middleware will be applied in reverse order. -MIDDLEWARE = [] - -############ -# SESSIONS # -############ - -# Cache to store session data if using the cache session backend. -SESSION_CACHE_ALIAS = 'default' -# Cookie name. This can be whatever you want. -SESSION_COOKIE_NAME = 'sessionid' -# Age of cookie, in seconds (default: 2 weeks). -SESSION_COOKIE_AGE = 60 * 60 * 24 * 7 * 2 -# A string like "example.com", or None for standard domain cookie. -SESSION_COOKIE_DOMAIN = None -# Whether the session cookie should be secure (https:// only). -SESSION_COOKIE_SECURE = False -# The path of the session cookie. -SESSION_COOKIE_PATH = '/' -# Whether to use the HttpOnly flag. -SESSION_COOKIE_HTTPONLY = True -# Whether to set the flag restricting cookie leaks on cross-site requests. -# This can be 'Lax', 'Strict', 'None', or False to disable the flag. -SESSION_COOKIE_SAMESITE = 'Lax' -# Whether to save the session data on every request. -SESSION_SAVE_EVERY_REQUEST = False -# Whether a user's session cookie expires when the Web browser is closed. -SESSION_EXPIRE_AT_BROWSER_CLOSE = False -# The module to store session data -SESSION_ENGINE = 'django.contrib.sessions.backends.db' -# Directory to store session files if using the file session module. If None, -# the backend will use a sensible default. -SESSION_FILE_PATH = None -# class to serialize session data -SESSION_SERIALIZER = 'django.contrib.sessions.serializers.JSONSerializer' - -######### -# CACHE # -######### - -# The cache backends to use. -CACHES = { - 'default': { - 'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', - } -} -CACHE_MIDDLEWARE_KEY_PREFIX = '' -CACHE_MIDDLEWARE_SECONDS = 600 -CACHE_MIDDLEWARE_ALIAS = 'default' - -################## -# AUTHENTICATION # -################## - -AUTH_USER_MODEL = 'auth.User' - -AUTHENTICATION_BACKENDS = ['django.contrib.auth.backends.ModelBackend'] - -LOGIN_URL = '/accounts/login/' - -LOGIN_REDIRECT_URL = '/accounts/profile/' - -LOGOUT_REDIRECT_URL = None - -# The number of days a password reset link is valid for -PASSWORD_RESET_TIMEOUT_DAYS = 3 - -# The number of seconds a password reset link is valid for (default: 3 days). -PASSWORD_RESET_TIMEOUT = 60 * 60 * 24 * 3 - -# the first hasher in this list is the preferred algorithm. any -# password using different algorithms will be converted automatically -# upon login -PASSWORD_HASHERS = [ - 'django.contrib.auth.hashers.PBKDF2PasswordHasher', - 'django.contrib.auth.hashers.PBKDF2SHA1PasswordHasher', - 'django.contrib.auth.hashers.Argon2PasswordHasher', - 'django.contrib.auth.hashers.BCryptSHA256PasswordHasher', -] - -AUTH_PASSWORD_VALIDATORS = [] - -########### -# SIGNING # -########### - -SIGNING_BACKEND = 'django.core.signing.TimestampSigner' - -######## -# CSRF # -######## - -# Dotted path to callable to be used as view when a request is -# rejected by the CSRF middleware. -CSRF_FAILURE_VIEW = 'django.views.csrf.csrf_failure' - -# Settings for CSRF cookie. -CSRF_COOKIE_NAME = 'csrftoken' -CSRF_COOKIE_AGE = 60 * 60 * 24 * 7 * 52 -CSRF_COOKIE_DOMAIN = None -CSRF_COOKIE_PATH = '/' -CSRF_COOKIE_SECURE = False -CSRF_COOKIE_HTTPONLY = False -CSRF_COOKIE_SAMESITE = 'Lax' -CSRF_HEADER_NAME = 'HTTP_X_CSRFTOKEN' -CSRF_TRUSTED_ORIGINS = [] -CSRF_USE_SESSIONS = False - -############ -# MESSAGES # -############ - -# Class to use as messages backend -MESSAGE_STORAGE = 'django.contrib.messages.storage.fallback.FallbackStorage' - -# Default values of MESSAGE_LEVEL and MESSAGE_TAGS are defined within -# django.contrib.messages to avoid imports in this settings file. - -########### -# LOGGING # -########### - -# The callable to use to configure logging -LOGGING_CONFIG = 'logging.config.dictConfig' - -# Custom logging configuration. -LOGGING = {} - -# Default exception reporter class used in case none has been -# specifically assigned to the HttpRequest instance. -DEFAULT_EXCEPTION_REPORTER = 'django.views.debug.ExceptionReporter' - -# Default exception reporter filter class used in case none has been -# specifically assigned to the HttpRequest instance. -DEFAULT_EXCEPTION_REPORTER_FILTER = 'django.views.debug.SafeExceptionReporterFilter' - -########### -# TESTING # -########### - -# The name of the class to use to run the test suite -TEST_RUNNER = 'django.test.runner.DiscoverRunner' - -# Apps that don't need to be serialized at test database creation time -# (only apps with migrations are to start with) -TEST_NON_SERIALIZED_APPS = [] - -############ -# FIXTURES # -############ - -# The list of directories to search for fixtures -FIXTURE_DIRS = [] - -############### -# STATICFILES # -############### - -# A list of locations of additional static files -STATICFILES_DIRS = [] - -# The default file storage backend used during the build process -STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.StaticFilesStorage' - -# List of finder classes that know how to find static files in -# various locations. -STATICFILES_FINDERS = [ - 'django.contrib.staticfiles.finders.FileSystemFinder', - 'django.contrib.staticfiles.finders.AppDirectoriesFinder', - # 'django.contrib.staticfiles.finders.DefaultStorageFinder', -] - -############## -# MIGRATIONS # -############## - -# Migration module overrides for apps, by app label. -MIGRATION_MODULES = {} - -################# -# SYSTEM CHECKS # -################# - -# List of all issues generated by system checks that should be silenced. Light -# issues like warnings, infos or debugs will not generate a message. Silencing -# serious issues like errors and criticals does not result in hiding the -# message, but Django will not stop you from e.g. running server. -SILENCED_SYSTEM_CHECKS = [] - -####################### -# SECURITY MIDDLEWARE # -####################### -SECURE_BROWSER_XSS_FILTER = False -SECURE_CONTENT_TYPE_NOSNIFF = True -SECURE_HSTS_INCLUDE_SUBDOMAINS = False -SECURE_HSTS_PRELOAD = False -SECURE_HSTS_SECONDS = 0 -SECURE_REDIRECT_EXEMPT = [] -SECURE_REFERRER_POLICY = 'same-origin' -SECURE_SSL_HOST = None -SECURE_SSL_REDIRECT = False diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/__init__.py deleted file mode 100644 index 5ec5ca3d..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/__init__.py +++ /dev/null @@ -1,611 +0,0 @@ -""" -LANG_INFO is a dictionary structure to provide meta information about languages. - -About name_local: capitalize it as if your language name was appearing -inside a sentence in your language. -The 'fallback' key can be used to specify a special fallback logic which doesn't -follow the traditional 'fr-ca' -> 'fr' fallback logic. -""" - -LANG_INFO = { - 'af': { - 'bidi': False, - 'code': 'af', - 'name': 'Afrikaans', - 'name_local': 'Afrikaans', - }, - 'ar': { - 'bidi': True, - 'code': 'ar', - 'name': 'Arabic', - 'name_local': 'العربيّة', - }, - 'ar-dz': { - 'bidi': True, - 'code': 'ar-dz', - 'name': 'Algerian Arabic', - 'name_local': 'العربية الجزائرية', - }, - 'ast': { - 'bidi': False, - 'code': 'ast', - 'name': 'Asturian', - 'name_local': 'asturianu', - }, - 'az': { - 'bidi': True, - 'code': 'az', - 'name': 'Azerbaijani', - 'name_local': 'Azərbaycanca', - }, - 'be': { - 'bidi': False, - 'code': 'be', - 'name': 'Belarusian', - 'name_local': 'беларуская', - }, - 'bg': { - 'bidi': False, - 'code': 'bg', - 'name': 'Bulgarian', - 'name_local': 'български', - }, - 'bn': { - 'bidi': False, - 'code': 'bn', - 'name': 'Bengali', - 'name_local': 'বাংলা', - }, - 'br': { - 'bidi': False, - 'code': 'br', - 'name': 'Breton', - 'name_local': 'brezhoneg', - }, - 'bs': { - 'bidi': False, - 'code': 'bs', - 'name': 'Bosnian', - 'name_local': 'bosanski', - }, - 'ca': { - 'bidi': False, - 'code': 'ca', - 'name': 'Catalan', - 'name_local': 'català', - }, - 'cs': { - 'bidi': False, - 'code': 'cs', - 'name': 'Czech', - 'name_local': 'česky', - }, - 'cy': { - 'bidi': False, - 'code': 'cy', - 'name': 'Welsh', - 'name_local': 'Cymraeg', - }, - 'da': { - 'bidi': False, - 'code': 'da', - 'name': 'Danish', - 'name_local': 'dansk', - }, - 'de': { - 'bidi': False, - 'code': 'de', - 'name': 'German', - 'name_local': 'Deutsch', - }, - 'dsb': { - 'bidi': False, - 'code': 'dsb', - 'name': 'Lower Sorbian', - 'name_local': 'dolnoserbski', - }, - 'el': { - 'bidi': False, - 'code': 'el', - 'name': 'Greek', - 'name_local': 'Ελληνικά', - }, - 'en': { - 'bidi': False, - 'code': 'en', - 'name': 'English', - 'name_local': 'English', - }, - 'en-au': { - 'bidi': False, - 'code': 'en-au', - 'name': 'Australian English', - 'name_local': 'Australian English', - }, - 'en-gb': { - 'bidi': False, - 'code': 'en-gb', - 'name': 'British English', - 'name_local': 'British English', - }, - 'eo': { - 'bidi': False, - 'code': 'eo', - 'name': 'Esperanto', - 'name_local': 'Esperanto', - }, - 'es': { - 'bidi': False, - 'code': 'es', - 'name': 'Spanish', - 'name_local': 'español', - }, - 'es-ar': { - 'bidi': False, - 'code': 'es-ar', - 'name': 'Argentinian Spanish', - 'name_local': 'español de Argentina', - }, - 'es-co': { - 'bidi': False, - 'code': 'es-co', - 'name': 'Colombian Spanish', - 'name_local': 'español de Colombia', - }, - 'es-mx': { - 'bidi': False, - 'code': 'es-mx', - 'name': 'Mexican Spanish', - 'name_local': 'español de Mexico', - }, - 'es-ni': { - 'bidi': False, - 'code': 'es-ni', - 'name': 'Nicaraguan Spanish', - 'name_local': 'español de Nicaragua', - }, - 'es-ve': { - 'bidi': False, - 'code': 'es-ve', - 'name': 'Venezuelan Spanish', - 'name_local': 'español de Venezuela', - }, - 'et': { - 'bidi': False, - 'code': 'et', - 'name': 'Estonian', - 'name_local': 'eesti', - }, - 'eu': { - 'bidi': False, - 'code': 'eu', - 'name': 'Basque', - 'name_local': 'Basque', - }, - 'fa': { - 'bidi': True, - 'code': 'fa', - 'name': 'Persian', - 'name_local': 'فارسی', - }, - 'fi': { - 'bidi': False, - 'code': 'fi', - 'name': 'Finnish', - 'name_local': 'suomi', - }, - 'fr': { - 'bidi': False, - 'code': 'fr', - 'name': 'French', - 'name_local': 'français', - }, - 'fy': { - 'bidi': False, - 'code': 'fy', - 'name': 'Frisian', - 'name_local': 'frysk', - }, - 'ga': { - 'bidi': False, - 'code': 'ga', - 'name': 'Irish', - 'name_local': 'Gaeilge', - }, - 'gd': { - 'bidi': False, - 'code': 'gd', - 'name': 'Scottish Gaelic', - 'name_local': 'Gàidhlig', - }, - 'gl': { - 'bidi': False, - 'code': 'gl', - 'name': 'Galician', - 'name_local': 'galego', - }, - 'he': { - 'bidi': True, - 'code': 'he', - 'name': 'Hebrew', - 'name_local': 'עברית', - }, - 'hi': { - 'bidi': False, - 'code': 'hi', - 'name': 'Hindi', - 'name_local': 'हिंदी', - }, - 'hr': { - 'bidi': False, - 'code': 'hr', - 'name': 'Croatian', - 'name_local': 'Hrvatski', - }, - 'hsb': { - 'bidi': False, - 'code': 'hsb', - 'name': 'Upper Sorbian', - 'name_local': 'hornjoserbsce', - }, - 'hu': { - 'bidi': False, - 'code': 'hu', - 'name': 'Hungarian', - 'name_local': 'Magyar', - }, - 'hy': { - 'bidi': False, - 'code': 'hy', - 'name': 'Armenian', - 'name_local': 'հայերեն', - }, - 'ia': { - 'bidi': False, - 'code': 'ia', - 'name': 'Interlingua', - 'name_local': 'Interlingua', - }, - 'io': { - 'bidi': False, - 'code': 'io', - 'name': 'Ido', - 'name_local': 'ido', - }, - 'id': { - 'bidi': False, - 'code': 'id', - 'name': 'Indonesian', - 'name_local': 'Bahasa Indonesia', - }, - 'ig': { - 'bidi': False, - 'code': 'ig', - 'name': 'Igbo', - 'name_local': 'Asụsụ Ìgbò', - }, - 'is': { - 'bidi': False, - 'code': 'is', - 'name': 'Icelandic', - 'name_local': 'Íslenska', - }, - 'it': { - 'bidi': False, - 'code': 'it', - 'name': 'Italian', - 'name_local': 'italiano', - }, - 'ja': { - 'bidi': False, - 'code': 'ja', - 'name': 'Japanese', - 'name_local': '日本語', - }, - 'ka': { - 'bidi': False, - 'code': 'ka', - 'name': 'Georgian', - 'name_local': 'ქართული', - }, - 'kab': { - 'bidi': False, - 'code': 'kab', - 'name': 'Kabyle', - 'name_local': 'taqbaylit', - }, - 'kk': { - 'bidi': False, - 'code': 'kk', - 'name': 'Kazakh', - 'name_local': 'Қазақ', - }, - 'km': { - 'bidi': False, - 'code': 'km', - 'name': 'Khmer', - 'name_local': 'Khmer', - }, - 'kn': { - 'bidi': False, - 'code': 'kn', - 'name': 'Kannada', - 'name_local': 'Kannada', - }, - 'ko': { - 'bidi': False, - 'code': 'ko', - 'name': 'Korean', - 'name_local': '한국어', - }, - 'ky': { - 'bidi': False, - 'code': 'ky', - 'name': 'Kyrgyz', - 'name_local': 'Кыргызча', - }, - 'lb': { - 'bidi': False, - 'code': 'lb', - 'name': 'Luxembourgish', - 'name_local': 'Lëtzebuergesch', - }, - 'lt': { - 'bidi': False, - 'code': 'lt', - 'name': 'Lithuanian', - 'name_local': 'Lietuviškai', - }, - 'lv': { - 'bidi': False, - 'code': 'lv', - 'name': 'Latvian', - 'name_local': 'latviešu', - }, - 'mk': { - 'bidi': False, - 'code': 'mk', - 'name': 'Macedonian', - 'name_local': 'Македонски', - }, - 'ml': { - 'bidi': False, - 'code': 'ml', - 'name': 'Malayalam', - 'name_local': 'Malayalam', - }, - 'mn': { - 'bidi': False, - 'code': 'mn', - 'name': 'Mongolian', - 'name_local': 'Mongolian', - }, - 'mr': { - 'bidi': False, - 'code': 'mr', - 'name': 'Marathi', - 'name_local': 'मराठी', - }, - 'my': { - 'bidi': False, - 'code': 'my', - 'name': 'Burmese', - 'name_local': 'မြန်မာဘာသာ', - }, - 'nb': { - 'bidi': False, - 'code': 'nb', - 'name': 'Norwegian Bokmal', - 'name_local': 'norsk (bokmål)', - }, - 'ne': { - 'bidi': False, - 'code': 'ne', - 'name': 'Nepali', - 'name_local': 'नेपाली', - }, - 'nl': { - 'bidi': False, - 'code': 'nl', - 'name': 'Dutch', - 'name_local': 'Nederlands', - }, - 'nn': { - 'bidi': False, - 'code': 'nn', - 'name': 'Norwegian Nynorsk', - 'name_local': 'norsk (nynorsk)', - }, - 'no': { - 'bidi': False, - 'code': 'no', - 'name': 'Norwegian', - 'name_local': 'norsk', - }, - 'os': { - 'bidi': False, - 'code': 'os', - 'name': 'Ossetic', - 'name_local': 'Ирон', - }, - 'pa': { - 'bidi': False, - 'code': 'pa', - 'name': 'Punjabi', - 'name_local': 'Punjabi', - }, - 'pl': { - 'bidi': False, - 'code': 'pl', - 'name': 'Polish', - 'name_local': 'polski', - }, - 'pt': { - 'bidi': False, - 'code': 'pt', - 'name': 'Portuguese', - 'name_local': 'Português', - }, - 'pt-br': { - 'bidi': False, - 'code': 'pt-br', - 'name': 'Brazilian Portuguese', - 'name_local': 'Português Brasileiro', - }, - 'ro': { - 'bidi': False, - 'code': 'ro', - 'name': 'Romanian', - 'name_local': 'Română', - }, - 'ru': { - 'bidi': False, - 'code': 'ru', - 'name': 'Russian', - 'name_local': 'Русский', - }, - 'sk': { - 'bidi': False, - 'code': 'sk', - 'name': 'Slovak', - 'name_local': 'Slovensky', - }, - 'sl': { - 'bidi': False, - 'code': 'sl', - 'name': 'Slovenian', - 'name_local': 'Slovenščina', - }, - 'sq': { - 'bidi': False, - 'code': 'sq', - 'name': 'Albanian', - 'name_local': 'shqip', - }, - 'sr': { - 'bidi': False, - 'code': 'sr', - 'name': 'Serbian', - 'name_local': 'српски', - }, - 'sr-latn': { - 'bidi': False, - 'code': 'sr-latn', - 'name': 'Serbian Latin', - 'name_local': 'srpski (latinica)', - }, - 'sv': { - 'bidi': False, - 'code': 'sv', - 'name': 'Swedish', - 'name_local': 'svenska', - }, - 'sw': { - 'bidi': False, - 'code': 'sw', - 'name': 'Swahili', - 'name_local': 'Kiswahili', - }, - 'ta': { - 'bidi': False, - 'code': 'ta', - 'name': 'Tamil', - 'name_local': 'தமிழ்', - }, - 'te': { - 'bidi': False, - 'code': 'te', - 'name': 'Telugu', - 'name_local': 'తెలుగు', - }, - 'tg': { - 'bidi': False, - 'code': 'tg', - 'name': 'Tajik', - 'name_local': 'тоҷикӣ', - }, - 'th': { - 'bidi': False, - 'code': 'th', - 'name': 'Thai', - 'name_local': 'ภาษาไทย', - }, - 'tk': { - 'bidi': False, - 'code': 'tk', - 'name': 'Turkmen', - 'name_local': 'Türkmençe', - }, - 'tr': { - 'bidi': False, - 'code': 'tr', - 'name': 'Turkish', - 'name_local': 'Türkçe', - }, - 'tt': { - 'bidi': False, - 'code': 'tt', - 'name': 'Tatar', - 'name_local': 'Татарча', - }, - 'udm': { - 'bidi': False, - 'code': 'udm', - 'name': 'Udmurt', - 'name_local': 'Удмурт', - }, - 'uk': { - 'bidi': False, - 'code': 'uk', - 'name': 'Ukrainian', - 'name_local': 'Українська', - }, - 'ur': { - 'bidi': True, - 'code': 'ur', - 'name': 'Urdu', - 'name_local': 'اردو', - }, - 'uz': { - 'bidi': False, - 'code': 'uz', - 'name': 'Uzbek', - 'name_local': 'oʻzbek tili', - }, - 'vi': { - 'bidi': False, - 'code': 'vi', - 'name': 'Vietnamese', - 'name_local': 'Tiếng Việt', - }, - 'zh-cn': { - 'fallback': ['zh-hans'], - }, - 'zh-hans': { - 'bidi': False, - 'code': 'zh-hans', - 'name': 'Simplified Chinese', - 'name_local': '简体中文', - }, - 'zh-hant': { - 'bidi': False, - 'code': 'zh-hant', - 'name': 'Traditional Chinese', - 'name_local': '繁體中文', - }, - 'zh-hk': { - 'fallback': ['zh-hant'], - }, - 'zh-mo': { - 'fallback': ['zh-hant'], - }, - 'zh-my': { - 'fallback': ['zh-hans'], - }, - 'zh-sg': { - 'fallback': ['zh-hans'], - }, - 'zh-tw': { - 'fallback': ['zh-hant'], - }, -} diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index ff16bd40..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/af/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/af/LC_MESSAGES/django.mo deleted file mode 100644 index 5da17483..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/af/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/af/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/af/LC_MESSAGES/django.po deleted file mode 100644 index f7084ad4..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/af/LC_MESSAGES/django.po +++ /dev/null @@ -1,1267 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# F Wolff , 2019-2020 -# Stephen Cox , 2011-2012 -# unklphil , 2014,2019 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-07-20 19:37+0000\n" -"Last-Translator: F Wolff \n" -"Language-Team: Afrikaans (http://www.transifex.com/django/django/language/" -"af/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: af\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "Afrikaans" -msgstr "Afrikaans" - -msgid "Arabic" -msgstr "Arabies" - -msgid "Algerian Arabic" -msgstr "" - -msgid "Asturian" -msgstr "Asturies" - -msgid "Azerbaijani" -msgstr "Aserbeidjans" - -msgid "Bulgarian" -msgstr "Bulgaars" - -msgid "Belarusian" -msgstr "Wit-Russies" - -msgid "Bengali" -msgstr "Bengali" - -msgid "Breton" -msgstr "Bretons" - -msgid "Bosnian" -msgstr "Bosnies" - -msgid "Catalan" -msgstr "Katalaans" - -msgid "Czech" -msgstr "Tsjeggies" - -msgid "Welsh" -msgstr "Welsh" - -msgid "Danish" -msgstr "Deens" - -msgid "German" -msgstr "Duits" - -msgid "Lower Sorbian" -msgstr "Neder-Sorbies" - -msgid "Greek" -msgstr "Grieks" - -msgid "English" -msgstr "Engels" - -msgid "Australian English" -msgstr "Australiese Engels" - -msgid "British English" -msgstr "Britse Engels" - -msgid "Esperanto" -msgstr "Esperanto" - -msgid "Spanish" -msgstr "Spaans" - -msgid "Argentinian Spanish" -msgstr "Argentynse Spaans" - -msgid "Colombian Spanish" -msgstr "Kolombiaanse Spaans" - -msgid "Mexican Spanish" -msgstr "Meksikaanse Spaans" - -msgid "Nicaraguan Spanish" -msgstr "Nicaraguaanse Spaans" - -msgid "Venezuelan Spanish" -msgstr "Venezolaanse Spaans" - -msgid "Estonian" -msgstr "Estnies" - -msgid "Basque" -msgstr "Baskies" - -msgid "Persian" -msgstr "Persies" - -msgid "Finnish" -msgstr "Fins" - -msgid "French" -msgstr "Fraans" - -msgid "Frisian" -msgstr "Fries" - -msgid "Irish" -msgstr "Iers" - -msgid "Scottish Gaelic" -msgstr "Skots-Gaelies" - -msgid "Galician" -msgstr "Galicies" - -msgid "Hebrew" -msgstr "Hebreeus" - -msgid "Hindi" -msgstr "Hindoe" - -msgid "Croatian" -msgstr "Kroaties" - -msgid "Upper Sorbian" -msgstr "Opper-Sorbies" - -msgid "Hungarian" -msgstr "Hongaars" - -msgid "Armenian" -msgstr "Armeens" - -msgid "Interlingua" -msgstr "Interlingua" - -msgid "Indonesian" -msgstr "Indonesies" - -msgid "Igbo" -msgstr "" - -msgid "Ido" -msgstr "Ido" - -msgid "Icelandic" -msgstr "Yslands" - -msgid "Italian" -msgstr "Italiaans" - -msgid "Japanese" -msgstr "Japannees" - -msgid "Georgian" -msgstr "Georgian" - -msgid "Kabyle" -msgstr "Kabilies" - -msgid "Kazakh" -msgstr "Kazakh" - -msgid "Khmer" -msgstr "Khmer" - -msgid "Kannada" -msgstr "Kannada" - -msgid "Korean" -msgstr "Koreaans" - -msgid "Kyrgyz" -msgstr "" - -msgid "Luxembourgish" -msgstr "Luxemburgs" - -msgid "Lithuanian" -msgstr "Litaus" - -msgid "Latvian" -msgstr "Lets" - -msgid "Macedonian" -msgstr "Macedonies" - -msgid "Malayalam" -msgstr "Malabaars" - -msgid "Mongolian" -msgstr "Mongools" - -msgid "Marathi" -msgstr "Marathi" - -msgid "Burmese" -msgstr "Birmaans" - -msgid "Norwegian Bokmål" -msgstr "Noorweegse Bokmål" - -msgid "Nepali" -msgstr "Nepalees" - -msgid "Dutch" -msgstr "Nederlands" - -msgid "Norwegian Nynorsk" -msgstr "Noorweegse Nynorsk" - -msgid "Ossetic" -msgstr "Osseties" - -msgid "Punjabi" -msgstr "Punjabi" - -msgid "Polish" -msgstr "Pools" - -msgid "Portuguese" -msgstr "Portugees" - -msgid "Brazilian Portuguese" -msgstr "Brasiliaanse Portugees" - -msgid "Romanian" -msgstr "Roemeens" - -msgid "Russian" -msgstr "Russiese" - -msgid "Slovak" -msgstr "Slowaaks" - -msgid "Slovenian" -msgstr "Sloweens" - -msgid "Albanian" -msgstr "Albanees" - -msgid "Serbian" -msgstr "Serwies" - -msgid "Serbian Latin" -msgstr "Serwies Latyns" - -msgid "Swedish" -msgstr "Sweeds" - -msgid "Swahili" -msgstr "Swahili" - -msgid "Tamil" -msgstr "Tamil" - -msgid "Telugu" -msgstr "Teloegoe" - -msgid "Tajik" -msgstr "" - -msgid "Thai" -msgstr "Thai" - -msgid "Turkmen" -msgstr "" - -msgid "Turkish" -msgstr "Turks" - -msgid "Tatar" -msgstr "Tataars" - -msgid "Udmurt" -msgstr "Oedmoerts" - -msgid "Ukrainian" -msgstr "Oekraïens" - -msgid "Urdu" -msgstr "Oerdoe" - -msgid "Uzbek" -msgstr "Oesbekies " - -msgid "Vietnamese" -msgstr "Viëtnamees" - -msgid "Simplified Chinese" -msgstr "Vereenvoudigde Sjinees" - -msgid "Traditional Chinese" -msgstr "Tradisionele Sjinees" - -msgid "Messages" -msgstr "Boodskappe" - -msgid "Site Maps" -msgstr "Werfkaarte" - -msgid "Static Files" -msgstr "Statiese lêers" - -msgid "Syndication" -msgstr "Sindikasie" - -msgid "That page number is not an integer" -msgstr "Daai bladsynommer is nie 'n heelgetal nie" - -msgid "That page number is less than 1" -msgstr "Daai bladsynommer is minder as 1" - -msgid "That page contains no results" -msgstr "Daai bladsy bevat geen resultate nie" - -msgid "Enter a valid value." -msgstr "Gee 'n geldige waarde." - -msgid "Enter a valid URL." -msgstr "Gee ’n geldige URL." - -msgid "Enter a valid integer." -msgstr "Gee ’n geldige heelgetal." - -msgid "Enter a valid email address." -msgstr "Gee ’n geldige e-posadres." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "Gee ’n geldige IPv4-adres." - -msgid "Enter a valid IPv6 address." -msgstr "Gee ’n geldige IPv6-adres." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Gee ’n geldige IPv4- of IPv6-adres." - -msgid "Enter only digits separated by commas." -msgstr "Gee slegs syfers in wat deur kommas geskei is." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" -"Maak seker dat hierdie waarde %(limit_value)s is (dit is %(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Maak seker dat hierdie waarde kleiner of gelyk is aan %(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Maak seker dat hierdie waarde groter of gelyk is aan %(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Maak seker hierdie waarde het ten minste %(limit_value)d karakter (dit het " -"%(show_value)d)." -msgstr[1] "" -"Maak seker hierdie waarde het ten minste %(limit_value)d karakters (dit het " -"%(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Maak seker hierdie waarde het op die meeste %(limit_value)d karakter (dit " -"het %(show_value)d)." -msgstr[1] "" -"Maak seker hierdie waarde het op die meeste %(limit_value)d karakters (dit " -"het %(show_value)d)." - -msgid "Enter a number." -msgstr "Gee ’n getal." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Maak seker dat daar nie meer as %(max)s syfer in totaal is nie." -msgstr[1] "Maak seker dat daar nie meer as %(max)s syfers in totaal is nie." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "Maak seker dat daar nie meer as %(max)s desimale plek is nie." -msgstr[1] "Maak seker dat daar nie meer as %(max)s desimale plekke is nie." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -"Maak seker dat daar nie meer as %(max)s syfer voor die desimale punt is nie." -msgstr[1] "" -"Maak seker dat daar nie meer as %(max)s syfers voor die desimale punt is nie." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "Nul-karakters word nie toegelaat nie." - -msgid "and" -msgstr "en" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "%(model_name)s met hierdie %(field_labels)s bestaan alreeds." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "Waarde %(value)r is nie ’n geldige keuse nie." - -msgid "This field cannot be null." -msgstr "Hierdie veld kan nie nil wees nie." - -msgid "This field cannot be blank." -msgstr "Hierdie veld kan nie leeg wees nie." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s met hierdie %(field_label)s bestaan ​​alreeds." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(field_label)s moet uniek wees per %(date_field_label)s %(lookup_type)s." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Veld van tipe: %(field_type)s " - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "Boole (True of False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "String (hoogstens %(max_length)s karakters)" - -msgid "Comma-separated integers" -msgstr "Heelgetalle geskei met kommas" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "Datum (sonder die tyd)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "Datum (met die tyd)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "“%(value)s”-waarde moet ’n desimale getal wees." - -msgid "Decimal number" -msgstr "Desimale getal" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "Duur" - -msgid "Email address" -msgstr "E-posadres" - -msgid "File path" -msgstr "Lêerpad" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "Dryfpuntgetal" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "“%(value)s”-waarde moet ’n heelgetal wees." - -msgid "Integer" -msgstr "Heelgetal" - -msgid "Big (8 byte) integer" -msgstr "Groot (8 greep) heelgetal" - -msgid "IPv4 address" -msgstr "IPv4-adres" - -msgid "IP address" -msgstr "IP-adres" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "“%(value)s”-waarde moet een wees uit None, True of False." - -msgid "Boolean (Either True, False or None)" -msgstr "Boole (True, False, of None)" - -msgid "Positive big integer" -msgstr "Positiewe groot heelgetal" - -msgid "Positive integer" -msgstr "Positiewe heelgetal" - -msgid "Positive small integer" -msgstr "Klein positiewe heelgetal" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Slug (tot en met %(max_length)s karakters)" - -msgid "Small integer" -msgstr "Klein heelgetal" - -msgid "Text" -msgstr "Teks" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" -"“%(value)s”-waarde het ’n ongeldige formaat. Dit moet geformateer word as HH:" -"MM[:ss[.uuuuuu]]." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "Tyd" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Rou binêre data" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "“%(value)s” is nie ’n geldige UUID nie." - -msgid "Universally unique identifier" -msgstr "Universeel unieke identifiseerder" - -msgid "File" -msgstr "Lêer" - -msgid "Image" -msgstr "Prent" - -msgid "A JSON object" -msgstr "’n JSON-objek" - -msgid "Value must be valid JSON." -msgstr "Waarde moet geldige JSON wees." - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "%(model)s-objek met %(field)s %(value)r bestaan nie." - -msgid "Foreign Key (type determined by related field)" -msgstr "Vreemde sleutel (tipe bepaal deur verwante veld)" - -msgid "One-to-one relationship" -msgstr "Een-tot-een-verhouding" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "%(from)s-%(to)s-verwantskap" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "%(from)s-%(to)s-verwantskappe" - -msgid "Many-to-many relationship" -msgstr "Baie-tot-baie-verwantskap" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Dié veld is verpligtend." - -msgid "Enter a whole number." -msgstr "Tik ’n heelgetal in." - -msgid "Enter a valid date." -msgstr "Tik ’n geldige datum in." - -msgid "Enter a valid time." -msgstr "Tik ’n geldige tyd in." - -msgid "Enter a valid date/time." -msgstr "Tik ’n geldige datum/tyd in." - -msgid "Enter a valid duration." -msgstr "Tik ’n geldige tydsduur in." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "Die aantal dae moet tussen {min_days} en {max_days} wees." - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "" -"Geen lêer is ingedien nie. Maak seker die koderingtipe op die vorm is reg." - -msgid "No file was submitted." -msgstr "Geen lêer is ingedien nie." - -msgid "The submitted file is empty." -msgstr "Die ingedien lêer is leeg." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Maak seker hierdie lêernaam het hoogstens %(max)d karakter (dit het " -"%(length)d)." -msgstr[1] "" -"Maak seker hierdie lêernaam het hoogstens %(max)d karakters (dit het " -"%(length)d)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "Dien die lêer in óf merk die Maak skoon-boksie, nie altwee nie." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Laai ’n geldige prent. Die lêer wat jy opgelaai het, is nie ’n prent nie of " -"dit is ’n korrupte prent." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "" -"Kies 'n geldige keuse. %(value)s is nie een van die beskikbare keuses nie." - -msgid "Enter a list of values." -msgstr "Tik ’n lys waardes in." - -msgid "Enter a complete value." -msgstr "Tik ’n volledige waarde in." - -msgid "Enter a valid UUID." -msgstr "Tik ’n geldig UUID in." - -msgid "Enter a valid JSON." -msgstr "Gee geldige JSON." - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Versteekte veld %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "Die ManagementForm-data ontbreek of is mee gepeuter" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Dien asseblief %d of minder vorms in." -msgstr[1] "Dien asseblief %d of minder vorms in." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "Dien asseblief %d of meer vorms in." -msgstr[1] "Dien asseblief %d of meer vorms in." - -msgid "Order" -msgstr "Orde" - -msgid "Delete" -msgstr "Verwyder" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Korrigeer die dubbele data vir %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "Korrigeer die dubbele data vir %(field)s, dit moet uniek wees." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Korrigeer die dubbele data vir %(field_name)s, dit moet uniek wees vir die " -"%(lookup)s in %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "Korrigeer die dubbele waardes hieronder." - -msgid "The inline value did not match the parent instance." -msgstr "Die waarde inlyn pas nie by die ouerobjek nie." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" -"Kies ’n geldige keuse. Daardie keuse is nie een van die beskikbare keuses " -"nie." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "“%(pk)s” is nie ’n geldige waarde nie." - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "Maak skoon" - -msgid "Currently" -msgstr "Tans" - -msgid "Change" -msgstr "Verander" - -msgid "Unknown" -msgstr "Onbekend" - -msgid "Yes" -msgstr "Ja" - -msgid "No" -msgstr "Nee" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "ja,nee,miskien" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d greep" -msgstr[1] "%(size)d grepe" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "nm." - -msgid "a.m." -msgstr "vm." - -msgid "PM" -msgstr "NM" - -msgid "AM" -msgstr "VM" - -msgid "midnight" -msgstr "middernag" - -msgid "noon" -msgstr "middag" - -msgid "Monday" -msgstr "Maandag" - -msgid "Tuesday" -msgstr "Dinsdag" - -msgid "Wednesday" -msgstr "Woensdag" - -msgid "Thursday" -msgstr "Donderdag" - -msgid "Friday" -msgstr "Vrydag" - -msgid "Saturday" -msgstr "Saterdag" - -msgid "Sunday" -msgstr "Sondag" - -msgid "Mon" -msgstr "Ma" - -msgid "Tue" -msgstr "Di" - -msgid "Wed" -msgstr "Wo" - -msgid "Thu" -msgstr "Do" - -msgid "Fri" -msgstr "Vr" - -msgid "Sat" -msgstr "Sa" - -msgid "Sun" -msgstr "So" - -msgid "January" -msgstr "Januarie" - -msgid "February" -msgstr "Februarie" - -msgid "March" -msgstr "Maart" - -msgid "April" -msgstr "April" - -msgid "May" -msgstr "Mei" - -msgid "June" -msgstr "Junie" - -msgid "July" -msgstr "Julie" - -msgid "August" -msgstr "Augustus" - -msgid "September" -msgstr "September" - -msgid "October" -msgstr "Oktober" - -msgid "November" -msgstr "November" - -msgid "December" -msgstr "Desember" - -msgid "jan" -msgstr "jan" - -msgid "feb" -msgstr "feb" - -msgid "mar" -msgstr "mrt" - -msgid "apr" -msgstr "apr" - -msgid "may" -msgstr "mei" - -msgid "jun" -msgstr "jun" - -msgid "jul" -msgstr "jul" - -msgid "aug" -msgstr "aug" - -msgid "sep" -msgstr "sept" - -msgid "oct" -msgstr "okt" - -msgid "nov" -msgstr "nov" - -msgid "dec" -msgstr "des" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Jan." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Feb." - -msgctxt "abbrev. month" -msgid "March" -msgstr "Maart" - -msgctxt "abbrev. month" -msgid "April" -msgstr "April" - -msgctxt "abbrev. month" -msgid "May" -msgstr "Mei" - -msgctxt "abbrev. month" -msgid "June" -msgstr "Junie" - -msgctxt "abbrev. month" -msgid "July" -msgstr "Julie" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Aug." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Sept." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Okt." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Nov." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Des." - -msgctxt "alt. month" -msgid "January" -msgstr "Januarie" - -msgctxt "alt. month" -msgid "February" -msgstr "Februarie" - -msgctxt "alt. month" -msgid "March" -msgstr "Maart" - -msgctxt "alt. month" -msgid "April" -msgstr "April" - -msgctxt "alt. month" -msgid "May" -msgstr "Mei" - -msgctxt "alt. month" -msgid "June" -msgstr "Junie" - -msgctxt "alt. month" -msgid "July" -msgstr "Julie" - -msgctxt "alt. month" -msgid "August" -msgstr "Augustus" - -msgctxt "alt. month" -msgid "September" -msgstr "September" - -msgctxt "alt. month" -msgid "October" -msgstr "Oktober" - -msgctxt "alt. month" -msgid "November" -msgstr "November" - -msgctxt "alt. month" -msgid "December" -msgstr "Desember" - -msgid "This is not a valid IPv6 address." -msgstr "Hierdie is nie ’n geldige IPv6-adres nie." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s…" - -msgid "or" -msgstr "of" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d jaar" -msgstr[1] "%d jare" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d maand" -msgstr[1] "%d maande" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d week" -msgstr[1] "%d weke" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d dag" -msgstr[1] "%d dae" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d uur" -msgstr[1] "%d ure" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d minuut" -msgstr[1] "%d minute" - -msgid "Forbidden" -msgstr "Verbode" - -msgid "CSRF verification failed. Request aborted." -msgstr "CSRF-verifikasie het misluk. Versoek is laat val." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"U sien hierdie boodskap omdat dié werf ’n CSRF-koekie benodig wanneer vorms " -"ingedien word. Dié koekie word vir sekuriteitsredes benodig om te te " -"verseker dat u blaaier nie deur derde partye gekaap word nie." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "Meer inligting is beskikbaar met DEBUG=True." - -msgid "No year specified" -msgstr "Geen jaar gespesifiseer nie" - -msgid "Date out of range" -msgstr "Datum buite omvang" - -msgid "No month specified" -msgstr "Geen maand gespesifiseer nie" - -msgid "No day specified" -msgstr "Geen dag gespesifiseer nie" - -msgid "No week specified" -msgstr "Geen week gespesifiseer nie" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "Geen %(verbose_name_plural)s beskikbaar nie" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"Toekomstige %(verbose_name_plural)s is nie beskikbaar nie, omdat " -"%(class_name)s.allow_future vals is." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "Ongeldige datumstring “%(datestr)s” gegewe die formaat “%(format)s”" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Geen %(verbose_name)s gevind vir die soektog" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Ongeldige bladsy (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "Gidsindekse word nie hier toegelaat nie." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "“%(path)s” bestaan nie." - -#, python-format -msgid "Index of %(directory)s" -msgstr "Indeks van %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "Django: die webraamwerk vir perfeksioniste met sperdatums." - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"Sien die vrystellingsnotas vir Django " -"%(version)s" - -msgid "The install worked successfully! Congratulations!" -msgstr "Die installasie was suksesvol! Geluk!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"U sien dié bladsy omdat DEBUG=True in die settings-lêer is en geen URL’e opgestel is nie." - -msgid "Django Documentation" -msgstr "Django-dokumentasie" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "" - -msgid "Get started with Django" -msgstr "Kom aan die gang met Django" - -msgid "Django Community" -msgstr "Django-gemeenskap" - -msgid "Connect, get help, or contribute" -msgstr "Kontak, kry hulp om dra by" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ar/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/ar/LC_MESSAGES/django.mo deleted file mode 100644 index d65a93a9..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/ar/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ar/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/ar/LC_MESSAGES/django.po deleted file mode 100644 index ccda0183..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/ar/LC_MESSAGES/django.po +++ /dev/null @@ -1,1378 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Bashar Al-Abdulhadi, 2015-2016,2020 -# Bashar Al-Abdulhadi, 2014 -# Eyad Toma , 2013-2014 -# Jannis Leidel , 2011 -# Muaaz Alsaied, 2020 -# Omar Al-Ithawi , 2020 -# Ossama Khayat , 2011 -# Tony xD , 2020 -# صفا الفليج , 2020 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-07-15 00:40+0000\n" -"Last-Translator: Bashar Al-Abdulhadi\n" -"Language-Team: Arabic (http://www.transifex.com/django/django/language/ar/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ar\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " -"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" - -msgid "Afrikaans" -msgstr "الإفريقية" - -msgid "Arabic" -msgstr "العربيّة" - -msgid "Algerian Arabic" -msgstr "عربي جزائري" - -msgid "Asturian" -msgstr "الأسترية" - -msgid "Azerbaijani" -msgstr "الأذربيجانية" - -msgid "Bulgarian" -msgstr "البلغاريّة" - -msgid "Belarusian" -msgstr "البيلاروسية" - -msgid "Bengali" -msgstr "البنغاليّة" - -msgid "Breton" -msgstr "البريتونية" - -msgid "Bosnian" -msgstr "البوسنيّة" - -msgid "Catalan" -msgstr "الكتلانيّة" - -msgid "Czech" -msgstr "التشيكيّة" - -msgid "Welsh" -msgstr "الويلز" - -msgid "Danish" -msgstr "الدنماركيّة" - -msgid "German" -msgstr "الألمانيّة" - -msgid "Lower Sorbian" -msgstr "الصربية السفلى" - -msgid "Greek" -msgstr "اليونانيّة" - -msgid "English" -msgstr "الإنجليزيّة" - -msgid "Australian English" -msgstr "الإنجليزية الإسترالية" - -msgid "British English" -msgstr "الإنجليزيّة البريطانيّة" - -msgid "Esperanto" -msgstr "الاسبرانتو" - -msgid "Spanish" -msgstr "الإسبانيّة" - -msgid "Argentinian Spanish" -msgstr "الأسبانية الأرجنتينية" - -msgid "Colombian Spanish" -msgstr "الكولومبية الإسبانية" - -msgid "Mexican Spanish" -msgstr "الأسبانية المكسيكية" - -msgid "Nicaraguan Spanish" -msgstr "الإسبانية النيكاراغوية" - -msgid "Venezuelan Spanish" -msgstr "الإسبانية الفنزويلية" - -msgid "Estonian" -msgstr "الإستونيّة" - -msgid "Basque" -msgstr "الباسك" - -msgid "Persian" -msgstr "الفارسيّة" - -msgid "Finnish" -msgstr "الفنلنديّة" - -msgid "French" -msgstr "الفرنسيّة" - -msgid "Frisian" -msgstr "الفريزيّة" - -msgid "Irish" -msgstr "الإيرلنديّة" - -msgid "Scottish Gaelic" -msgstr "الغيلية الأسكتلندية" - -msgid "Galician" -msgstr "الجليقيّة" - -msgid "Hebrew" -msgstr "العبريّة" - -msgid "Hindi" -msgstr "الهندية" - -msgid "Croatian" -msgstr "الكرواتيّة" - -msgid "Upper Sorbian" -msgstr "الصربية العليا" - -msgid "Hungarian" -msgstr "الهنغاريّة" - -msgid "Armenian" -msgstr "الأرمنية" - -msgid "Interlingua" -msgstr "اللغة الوسيطة" - -msgid "Indonesian" -msgstr "الإندونيسيّة" - -msgid "Igbo" -msgstr "الإيبو" - -msgid "Ido" -msgstr "ايدو" - -msgid "Icelandic" -msgstr "الآيسلنديّة" - -msgid "Italian" -msgstr "الإيطاليّة" - -msgid "Japanese" -msgstr "اليابانيّة" - -msgid "Georgian" -msgstr "الجورجيّة" - -msgid "Kabyle" -msgstr "القبائل" - -msgid "Kazakh" -msgstr "الكازاخستانية" - -msgid "Khmer" -msgstr "الخمر" - -msgid "Kannada" -msgstr "الهنديّة (كنّادا)" - -msgid "Korean" -msgstr "الكوريّة" - -msgid "Kyrgyz" -msgstr "قيرغيز" - -msgid "Luxembourgish" -msgstr "اللوكسمبرجية" - -msgid "Lithuanian" -msgstr "اللتوانيّة" - -msgid "Latvian" -msgstr "اللاتفيّة" - -msgid "Macedonian" -msgstr "المقدونيّة" - -msgid "Malayalam" -msgstr "المايالام" - -msgid "Mongolian" -msgstr "المنغوليّة" - -msgid "Marathi" -msgstr "المهاراتية" - -msgid "Burmese" -msgstr "البورمية" - -msgid "Norwegian Bokmål" -msgstr "النرويجية" - -msgid "Nepali" -msgstr "النيبالية" - -msgid "Dutch" -msgstr "الهولنديّة" - -msgid "Norwegian Nynorsk" -msgstr "النينورسك نرويجيّة" - -msgid "Ossetic" -msgstr "الأوسيتيكية" - -msgid "Punjabi" -msgstr "البنجابيّة" - -msgid "Polish" -msgstr "البولنديّة" - -msgid "Portuguese" -msgstr "البرتغاليّة" - -msgid "Brazilian Portuguese" -msgstr "البرتغاليّة البرازيليّة" - -msgid "Romanian" -msgstr "الرومانيّة" - -msgid "Russian" -msgstr "الروسيّة" - -msgid "Slovak" -msgstr "السلوفاكيّة" - -msgid "Slovenian" -msgstr "السلوفانيّة" - -msgid "Albanian" -msgstr "الألبانيّة" - -msgid "Serbian" -msgstr "الصربيّة" - -msgid "Serbian Latin" -msgstr "اللاتينيّة الصربيّة" - -msgid "Swedish" -msgstr "السويديّة" - -msgid "Swahili" -msgstr "السواحلية" - -msgid "Tamil" -msgstr "التاميل" - -msgid "Telugu" -msgstr "التيلوغو" - -msgid "Tajik" -msgstr "طاجيك" - -msgid "Thai" -msgstr "التايلنديّة" - -msgid "Turkmen" -msgstr "تركمان" - -msgid "Turkish" -msgstr "التركيّة" - -msgid "Tatar" -msgstr "التتاريية" - -msgid "Udmurt" -msgstr "الأدمرتية" - -msgid "Ukrainian" -msgstr "الأكرانيّة" - -msgid "Urdu" -msgstr "الأوردو" - -msgid "Uzbek" -msgstr "الأوزبكي" - -msgid "Vietnamese" -msgstr "الفيتناميّة" - -msgid "Simplified Chinese" -msgstr "الصينيّة المبسطة" - -msgid "Traditional Chinese" -msgstr "الصينيّة التقليدية" - -msgid "Messages" -msgstr "الرسائل" - -msgid "Site Maps" -msgstr "خرائط الموقع" - -msgid "Static Files" -msgstr "الملفات الثابتة" - -msgid "Syndication" -msgstr "توظيف النشر" - -msgid "That page number is not an integer" -msgstr "رقم الصفحة هذا ليس عدداً طبيعياً" - -msgid "That page number is less than 1" -msgstr "رقم الصفحة أقل من 1" - -msgid "That page contains no results" -msgstr "هذه الصفحة لا تحتوي على نتائج" - -msgid "Enter a valid value." -msgstr "أدخِل قيمة صحيحة." - -msgid "Enter a valid URL." -msgstr "أدخِل رابطًا صحيحًا." - -msgid "Enter a valid integer." -msgstr "أدخِل عدداً طبيعياً." - -msgid "Enter a valid email address." -msgstr "أدخِل عنوان بريد إلكتروني صحيح." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "أدخل اختصار 'slug' صحيح يتكوّن من أحرف، أرقام، شرطات سفلية وعاديّة." - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" -"أدخل اختصار 'slug' صحيح يتكون من أحرف Unicode أو أرقام أو شرطات سفلية أو " -"واصلات." - -msgid "Enter a valid IPv4 address." -msgstr "أدخِل عنوان IPv4 صحيح." - -msgid "Enter a valid IPv6 address." -msgstr "أدخِل عنوان IPv6 صحيح." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "أدخِل عنوان IPv4 أو عنوان IPv6 صحيح." - -msgid "Enter only digits separated by commas." -msgstr "أدخِل فقط أرقامًا تفصلها الفواصل." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "تحقق من أن هذه القيمة هي %(limit_value)s (إنها %(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "تحقق من أن تكون هذه القيمة أقل من %(limit_value)s أو مساوية لها." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "تحقق من أن تكون هذه القيمة أكثر من %(limit_value)s أو مساوية لها." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"تأكد أن هذه القيمة تحتوي على %(limit_value)d حرف أو رمز على الأقل (هي تحتوي " -"حالياً على %(show_value)d)." -msgstr[1] "" -"تأكد أن هذه القيمة تحتوي على حرف أو رمز %(limit_value)d على الأقل (هي تحتوي " -"حالياً على %(show_value)d)." -msgstr[2] "" -"تأكد أن هذه القيمة تحتوي على %(limit_value)d حرف و رمز على الأقل (هي تحتوي " -"حالياً على %(show_value)d)." -msgstr[3] "" -"تأكد أن هذه القيمة تحتوي على %(limit_value)d حرف أو رمز على الأقل (هي تحتوي " -"حالياً على %(show_value)d)." -msgstr[4] "" -"تأكد أن هذه القيمة تحتوي على %(limit_value)d حرف أو رمز على الأقل (هي تحتوي " -"حالياً على %(show_value)d)." -msgstr[5] "" -"تأكد أن هذه القيمة تحتوي على %(limit_value)d حرف أو رمز على الأقل (هي تحتوي " -"حالياً على %(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"تأكد أن هذه القيمة تحتوي على %(limit_value)d حرف أو رمز على الأكثر (هي تحتوي " -"حالياً على %(show_value)d)." -msgstr[1] "" -"تأكد أن هذه القيمة تحتوي على حرف أو رمز %(limit_value)d على الأكثر (هي تحتوي " -"حالياً على %(show_value)d)." -msgstr[2] "" -"تأكد أن هذه القيمة تحتوي على %(limit_value)d حرف و رمز على الأكثر (هي تحتوي " -"حالياً على %(show_value)d)." -msgstr[3] "" -"تأكد أن هذه القيمة تحتوي على %(limit_value)d حرف أو رمز على الأكثر (هي تحتوي " -"حالياً على %(show_value)d)." -msgstr[4] "" -"تأكد أن هذه القيمة تحتوي على %(limit_value)d حرف أو رمز على الأكثر (هي تحتوي " -"حالياً على %(show_value)d)." -msgstr[5] "" -"تأكد أن هذه القيمة تحتوي على %(limit_value)d حرف أو رمز على الأكثر (هي تحتوي " -"حالياً على %(show_value)d)." - -msgid "Enter a number." -msgstr "أدخل رقماً." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "تحقق من أن تدخل %(max)s أرقام لا أكثر." -msgstr[1] "تحقق من أن تدخل رقم %(max)s لا أكثر." -msgstr[2] "تحقق من أن تدخل %(max)s رقمين لا أكثر." -msgstr[3] "تحقق من أن تدخل %(max)s أرقام لا أكثر." -msgstr[4] "تحقق من أن تدخل %(max)s أرقام لا أكثر." -msgstr[5] "تحقق من أن تدخل %(max)s أرقام لا أكثر." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "تحقق من أن تدخل %(max)s خانات عشرية لا أكثر." -msgstr[1] "تحقق من أن تدخل خانة %(max)s عشرية لا أكثر." -msgstr[2] "تحقق من أن تدخل %(max)s خانتين عشريتين لا أكثر." -msgstr[3] "تحقق من أن تدخل %(max)s خانات عشرية لا أكثر." -msgstr[4] "تحقق من أن تدخل %(max)s خانات عشرية لا أكثر." -msgstr[5] "تحقق من أن تدخل %(max)s خانات عشرية لا أكثر." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "تحقق من أن تدخل %(max)s أرقام قبل الفاصل العشري لا أكثر." -msgstr[1] "تحقق من أن تدخل رقم %(max)s قبل الفاصل العشري لا أكثر." -msgstr[2] "تحقق من أن تدخل %(max)s رقمين قبل الفاصل العشري لا أكثر." -msgstr[3] "تحقق من أن تدخل %(max)s أرقام قبل الفاصل العشري لا أكثر." -msgstr[4] "تحقق من أن تدخل %(max)s أرقام قبل الفاصل العشري لا أكثر." -msgstr[5] "تحقق من أن تدخل %(max)s أرقام قبل الفاصل العشري لا أكثر." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" -"امتداد الملف “%(extension)s” غير مسموح به. الامتدادات المسموح بها هي:" -"%(allowed_extensions)s." - -msgid "Null characters are not allowed." -msgstr "الأحرف الخالية غير مسموح بها." - -msgid "and" -msgstr "و" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "%(model_name)s بهذا %(field_labels)s موجود سلفاً." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "القيمة %(value)r ليست خيارا صحيحاً." - -msgid "This field cannot be null." -msgstr "لا يمكن تعيين null كقيمة لهذا الحقل." - -msgid "This field cannot be blank." -msgstr "لا يمكن ترك هذا الحقل فارغاً." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "النموذج %(model_name)s والحقل %(field_label)s موجود مسبقاً." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(field_label)s يجب أن يكون فريد لـ %(date_field_label)s %(lookup_type)s." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "حقل نوع: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "قيمة '%(value)s' يجب أن تكون True أو False." - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "قيمة “%(value)s” يجب أن تكون True , False أو None." - -msgid "Boolean (Either True or False)" -msgstr "ثنائي (إما True أو False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "سلسلة نص (%(max_length)s كحد أقصى)" - -msgid "Comma-separated integers" -msgstr "أرقام صحيحة مفصولة بفواصل" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" -"قيمة '%(value)s' ليست من بُنية تاريخ صحيحة. القيمة يجب ان تكون من البُنية YYYY-" -"MM-DD." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "قيمة '%(value)s' من بُنية صحيحة (YYYY-MM-DD) لكنها تحوي تاريخ غير صحيح." - -msgid "Date (without time)" -msgstr "التاريخ (دون الوقت)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" -"قيمة '%(value)s' ليست من بُنية صحيحة. القيمة يجب ان تكون من البُنية YYYY-MM-DD " -"HH:MM[:ss[.uuuuuu]][TZ] ." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" -"قيمة '%(value)s' من بُنية صحيحة (YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]) لكنها " -"تحوي وقت و تاريخ غير صحيحين." - -msgid "Date (with time)" -msgstr "التاريخ (مع الوقت)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "قيمة '%(value)s' يجب ان تكون عدد عشري." - -msgid "Decimal number" -msgstr "رقم عشري" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" -"قيمة '%(value)s' ليست بنسق صحيح. القيمة يجب ان تكون من التنسيق ([DD] " -"[[HH:]MM:]ss[.uuuuuu])" - -msgid "Duration" -msgstr "المدّة" - -msgid "Email address" -msgstr "عنوان بريد إلكتروني" - -msgid "File path" -msgstr "مسار الملف" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "قيمة '%(value)s' يجب ان تكون عدد تعويم." - -msgid "Floating point number" -msgstr "رقم فاصلة عائمة" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "قيمة '%(value)s' يجب ان تكون عدد طبيعي." - -msgid "Integer" -msgstr "عدد صحيح" - -msgid "Big (8 byte) integer" -msgstr "عدد صحيح كبير (8 بايت)" - -msgid "IPv4 address" -msgstr "عنوان IPv4" - -msgid "IP address" -msgstr "عنوان IP" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "قيمة '%(value)s' يجب ان تكون None أو True أو False." - -msgid "Boolean (Either True, False or None)" -msgstr "ثنائي (إما True أو False أو None)" - -msgid "Positive big integer" -msgstr "عدد صحيح موجب كبير" - -msgid "Positive integer" -msgstr "عدد صحيح موجب" - -msgid "Positive small integer" -msgstr "عدد صحيح صغير موجب" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Slug (حتى %(max_length)s)" - -msgid "Small integer" -msgstr "عدد صحيح صغير" - -msgid "Text" -msgstr "نص" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" -"قيمة '%(value)s' ليست بنسق صحيح. القيمة يجب ان تكون من التنسيق\n" -"HH:MM[:ss[.uuuuuu]]" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" -"قيمة '%(value)s' من بُنية صحيحة (HH:MM[:ss[.uuuuuu]]) لكنها تحوي وقت غير صحيح." - -msgid "Time" -msgstr "وقت" - -msgid "URL" -msgstr "رابط" - -msgid "Raw binary data" -msgstr "البيانات الثنائية الخام" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "القيمة \"%(value)s\" ليست UUID صالح." - -msgid "Universally unique identifier" -msgstr "معرّف فريد عالمياً" - -msgid "File" -msgstr "ملف" - -msgid "Image" -msgstr "صورة" - -msgid "A JSON object" -msgstr "كائن JSON" - -msgid "Value must be valid JSON." -msgstr "يجب أن تكون قيمة JSON صالحة." - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "النموذج %(model)s ذو الحقل و القيمة %(field)s %(value)r غير موجود." - -msgid "Foreign Key (type determined by related field)" -msgstr "الحقل المرتبط (تم تحديد النوع وفقاً للحقل المرتبط)" - -msgid "One-to-one relationship" -msgstr "علاقة واحد إلى واحد" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "%(from)s-%(to)s علاقة" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "%(from)s-%(to)s علاقات" - -msgid "Many-to-many relationship" -msgstr "علاقة متعدد إلى متعدد" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "هذا الحقل مطلوب." - -msgid "Enter a whole number." -msgstr "أدخل رقما صحيحا." - -msgid "Enter a valid date." -msgstr "أدخل تاريخاً صحيحاً." - -msgid "Enter a valid time." -msgstr "أدخل وقتاً صحيحاً." - -msgid "Enter a valid date/time." -msgstr "أدخل تاريخاً/وقتاً صحيحاً." - -msgid "Enter a valid duration." -msgstr "أدخل مدّة صحيحة" - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "يجب أن يكون عدد الأيام بين {min_days} و {max_days}." - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "لم يتم ارسال ملف، الرجاء التأكد من نوع ترميز الاستمارة." - -msgid "No file was submitted." -msgstr "لم يتم إرسال اي ملف." - -msgid "The submitted file is empty." -msgstr "الملف الذي قمت بإرساله فارغ." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"تأكد أن إسم هذا الملف يحتوي على %(max)d حرف على الأكثر (هو يحتوي الآن على " -"%(length)d حرف)." -msgstr[1] "" -"تأكد أن إسم هذا الملف يحتوي على حرف %(max)d على الأكثر (هو يحتوي الآن على " -"%(length)d حرف)." -msgstr[2] "" -"تأكد أن إسم هذا الملف يحتوي على %(max)d حرفين على الأكثر (هو يحتوي الآن على " -"%(length)d حرف)." -msgstr[3] "" -"تأكد أن إسم هذا الملف يحتوي على %(max)d حرف على الأكثر (هو يحتوي الآن على " -"%(length)d حرف)." -msgstr[4] "" -"تأكد أن إسم هذا الملف يحتوي على %(max)d حرف على الأكثر (هو يحتوي الآن على " -"%(length)d حرف)." -msgstr[5] "" -"تأكد أن إسم هذا الملف يحتوي على %(max)d حرف على الأكثر (هو يحتوي الآن على " -"%(length)d حرف)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "رجاءً أرسل ملف أو صح علامة صح عند مربع اختيار \"فارغ\"، وليس كلاهما." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"قم برفع صورة صحيحة، الملف الذي قمت برفعه إما أنه ليس ملفا لصورة أو أنه ملف " -"معطوب." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "انتق خياراً صحيحاً. %(value)s ليس أحد الخيارات المتاحة." - -msgid "Enter a list of values." -msgstr "أدخل قائمة من القيم." - -msgid "Enter a complete value." -msgstr "إدخال قيمة كاملة." - -msgid "Enter a valid UUID." -msgstr "أدخل قيمة UUID صحيحة." - -msgid "Enter a valid JSON." -msgstr "أدخل مدخل JSON صالح." - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(الحقل الخفي %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "بيانات ManagementForm مفقودة أو تم العبث بها" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "الرجاء إرسال %d إستمارة أو أقل." -msgstr[1] "الرجاء إرسال إستمارة %d أو أقل" -msgstr[2] "الرجاء إرسال %d إستمارتين أو أقل" -msgstr[3] "الرجاء إرسال %d إستمارة أو أقل" -msgstr[4] "الرجاء إرسال %d إستمارة أو أقل" -msgstr[5] "الرجاء إرسال %d إستمارة أو أقل" - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "الرجاء إرسال %d إستمارة أو أكثر." -msgstr[1] "الرجاء إرسال إستمارة %d أو أكثر." -msgstr[2] "الرجاء إرسال %d إستمارتين أو أكثر." -msgstr[3] "الرجاء إرسال %d إستمارة أو أكثر." -msgstr[4] "الرجاء إرسال %d إستمارة أو أكثر." -msgstr[5] "الرجاء إرسال %d إستمارة أو أكثر." - -msgid "Order" -msgstr "الترتيب" - -msgid "Delete" -msgstr "احذف" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "رجاء صحّح بيانات %(field)s المتكررة." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "رجاء صحّح بيانات %(field)s المتكررة والتي يجب أن تكون مُميّزة." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"رجاء صحّح بيانات %(field_name)s المتكررة والتي يجب أن تكون مُميّزة لـ%(lookup)s " -"في %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "رجاءً صحّح القيم المُكرّرة أدناه." - -msgid "The inline value did not match the parent instance." -msgstr "لا تتطابق القيمة المضمنة مع المثيل الأصلي." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "انتق خياراً صحيحاً. اختيارك ليس أحد الخيارات المتاحة." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "\"%(pk)s\" ليست قيمة صالحة." - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" -"%(datetime)s لا يمكن تفسيرها في المنطقة الزمنية %(current_timezone)s; قد " -"تكون غامضة أو أنها غير موجودة." - -msgid "Clear" -msgstr "تفريغ" - -msgid "Currently" -msgstr "حالياً" - -msgid "Change" -msgstr "عدّل" - -msgid "Unknown" -msgstr "مجهول" - -msgid "Yes" -msgstr "نعم" - -msgid "No" -msgstr "لا" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "نعم,لا,ربما" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d بايت" -msgstr[1] "بايت واحد" -msgstr[2] "بايتان" -msgstr[3] "%(size)d بايتان" -msgstr[4] "%(size)d بايت" -msgstr[5] "%(size)d بايت" - -#, python-format -msgid "%s KB" -msgstr "%s ك.ب" - -#, python-format -msgid "%s MB" -msgstr "%s م.ب" - -#, python-format -msgid "%s GB" -msgstr "%s ج.ب" - -#, python-format -msgid "%s TB" -msgstr "%s ت.ب" - -#, python-format -msgid "%s PB" -msgstr "%s ب.ب" - -msgid "p.m." -msgstr "م" - -msgid "a.m." -msgstr "ص" - -msgid "PM" -msgstr "م" - -msgid "AM" -msgstr "ص" - -msgid "midnight" -msgstr "منتصف الليل" - -msgid "noon" -msgstr "ظهراً" - -msgid "Monday" -msgstr "الاثنين" - -msgid "Tuesday" -msgstr "الثلاثاء" - -msgid "Wednesday" -msgstr "الأربعاء" - -msgid "Thursday" -msgstr "الخميس" - -msgid "Friday" -msgstr "الجمعة" - -msgid "Saturday" -msgstr "السبت" - -msgid "Sunday" -msgstr "الأحد" - -msgid "Mon" -msgstr "إثنين" - -msgid "Tue" -msgstr "ثلاثاء" - -msgid "Wed" -msgstr "أربعاء" - -msgid "Thu" -msgstr "خميس" - -msgid "Fri" -msgstr "جمعة" - -msgid "Sat" -msgstr "سبت" - -msgid "Sun" -msgstr "أحد" - -msgid "January" -msgstr "يناير" - -msgid "February" -msgstr "فبراير" - -msgid "March" -msgstr "مارس" - -msgid "April" -msgstr "إبريل" - -msgid "May" -msgstr "مايو" - -msgid "June" -msgstr "يونيو" - -msgid "July" -msgstr "يوليو" - -msgid "August" -msgstr "أغسطس" - -msgid "September" -msgstr "سبتمبر" - -msgid "October" -msgstr "أكتوبر" - -msgid "November" -msgstr "نوفمبر" - -msgid "December" -msgstr "ديسمبر" - -msgid "jan" -msgstr "يناير" - -msgid "feb" -msgstr "فبراير" - -msgid "mar" -msgstr "مارس" - -msgid "apr" -msgstr "إبريل" - -msgid "may" -msgstr "مايو" - -msgid "jun" -msgstr "يونيو" - -msgid "jul" -msgstr "يوليو" - -msgid "aug" -msgstr "أغسطس" - -msgid "sep" -msgstr "سبتمبر" - -msgid "oct" -msgstr "أكتوبر" - -msgid "nov" -msgstr "نوفمبر" - -msgid "dec" -msgstr "ديسمبر" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "يناير" - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "فبراير" - -msgctxt "abbrev. month" -msgid "March" -msgstr "مارس" - -msgctxt "abbrev. month" -msgid "April" -msgstr "إبريل" - -msgctxt "abbrev. month" -msgid "May" -msgstr "مايو" - -msgctxt "abbrev. month" -msgid "June" -msgstr "يونيو" - -msgctxt "abbrev. month" -msgid "July" -msgstr "يوليو" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "أغسطس" - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "سبتمبر" - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "أكتوبر" - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "نوفمبر" - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "ديسمبر" - -msgctxt "alt. month" -msgid "January" -msgstr "يناير" - -msgctxt "alt. month" -msgid "February" -msgstr "فبراير" - -msgctxt "alt. month" -msgid "March" -msgstr "مارس" - -msgctxt "alt. month" -msgid "April" -msgstr "أبريل" - -msgctxt "alt. month" -msgid "May" -msgstr "مايو" - -msgctxt "alt. month" -msgid "June" -msgstr "يونيو" - -msgctxt "alt. month" -msgid "July" -msgstr "يوليو" - -msgctxt "alt. month" -msgid "August" -msgstr "أغسطس" - -msgctxt "alt. month" -msgid "September" -msgstr "سبتمبر" - -msgctxt "alt. month" -msgid "October" -msgstr "أكتوبر" - -msgctxt "alt. month" -msgid "November" -msgstr "نوفمبر" - -msgctxt "alt. month" -msgid "December" -msgstr "ديسمبر" - -msgid "This is not a valid IPv6 address." -msgstr "هذا ليس عنوان IPv6 صحيح." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s..." - -msgid "or" -msgstr "أو" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr "، " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d سنة" -msgstr[1] "%d سنة" -msgstr[2] "%d سنوات" -msgstr[3] "%d سنوات" -msgstr[4] "%d سنوات" -msgstr[5] "%d سنوات" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d شهر" -msgstr[1] "%d شهر" -msgstr[2] "%d شهرين" -msgstr[3] "%d أشهر" -msgstr[4] "%d شهر" -msgstr[5] "%d شهر" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d اسبوع." -msgstr[1] "%d اسبوع." -msgstr[2] "%d أسبوعين" -msgstr[3] "%d أسابيع" -msgstr[4] "%d اسبوع." -msgstr[5] "%d أسبوع" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d يوم" -msgstr[1] "%d يوم" -msgstr[2] "%d يومان" -msgstr[3] "%d أيام" -msgstr[4] "%d يوم" -msgstr[5] "%d يوم" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d ساعة" -msgstr[1] "%d ساعة واحدة" -msgstr[2] "%d ساعتين" -msgstr[3] "%d ساعات" -msgstr[4] "%d ساعة" -msgstr[5] "%d ساعة" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d دقيقة" -msgstr[1] "%d دقيقة" -msgstr[2] "%d دقيقتين" -msgstr[3] "%d دقائق" -msgstr[4] "%d دقيقة" -msgstr[5] "%d دقيقة" - -msgid "Forbidden" -msgstr "ممنوع" - -msgid "CSRF verification failed. Request aborted." -msgstr "تم الفشل للتحقق من CSRF. تم إنهاء الطلب." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" -"تظهر لك هذه الرسالة لأن موقع HTTPS يتطلب \"رأس مرجعي\" ليتم إرساله بواسطة " -"مستعرض الويب الخاص بك ، ولكن لم يتم إرسال أي منها. هذا العنوان مطلوب لأسباب " -"أمنية ، للتأكد من أن متصفحك لا يتم اختراقه من قبل أطراف ثالثة." - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" -"إذا قمت بتكوين المستعرض لتعطيل رؤوس “Referer” ، فيرجى إعادة تمكينها ، على " -"الأقل لهذا الموقع ، أو لاتصالات HTTPS ، أو لطلبات “same-origin”." - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" -"إذا كنت تستخدم العلامة أو " -"تضمين رأس “Referrer-Policy: no-referrer”، يرجى إزالتها. تتطلب حماية CSRF أن " -"يقوم رأس “Referer” بإجراء فحص صارم للمراجع. إذا كنت قلقًا بشأن الخصوصية ، " -"فاستخدم بدائل مثل للروابط إلى مواقع الجهات الخارجية." - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"أنت ترى هذه الرسالة لأن هذا الموقع يتطلب كعكة CSRF عند تقديم النماذج. ملف " -"الكعكة هذا مطلوب لأسباب أمنية في تعريف الإرتباط، لضمان أنه لم يتم اختطاف " -"المتصفح من قبل أطراف أخرى." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" -"إذا قمت بضبط المتصفح لتعطيل الكوكيز الرجاء إعادة تغعيلها، على الأقل بالنسبة " -"لهذا الموقع، أو للطلبات من “same-origin”." - -msgid "More information is available with DEBUG=True." -msgstr "يتوفر مزيد من المعلومات عند ضبط الخيار DEBUG=True." - -msgid "No year specified" -msgstr "لم تحدد السنة" - -msgid "Date out of range" -msgstr "التاريخ خارج النطاق" - -msgid "No month specified" -msgstr "لم تحدد الشهر" - -msgid "No day specified" -msgstr "لم تحدد اليوم" - -msgid "No week specified" -msgstr "لم تحدد الأسبوع" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "لا يوجد %(verbose_name_plural)s" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"التاريخ بالمستقبل %(verbose_name_plural)s غير متوفر لأن قيمة %(class_name)s." -"allow_future هي False." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "نسق تاريخ غير صحيح \"%(datestr)s\" محدد بالشكل ''%(format)s\"" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "لم يعثر على أي %(verbose_name)s مطابقة لهذا الإستعلام" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "الصفحة ليست \"الأخيرة\"، كما لا يمكن تحويل القيمة إلى رقم طبيعي." - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "صفحة خاطئة (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" -"قائمة فارغة و\n" -"\"%(class_name)s.allow_empty\"\n" -"قيمته False." - -msgid "Directory indexes are not allowed here." -msgstr "لا يسمح لفهارس الدليل هنا." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "”%(path)s“ غير موجود" - -#, python-format -msgid "Index of %(directory)s" -msgstr "فهرس لـ %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "جانغو: إطار الويب للمهتمين بالكمال و لديهم مواعيد تسليم نهائية." - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"استعراض ملاحظات الإصدار لجانغو %(version)s" - -msgid "The install worked successfully! Congratulations!" -msgstr "تمت عملية التنصيب بنجاح! تهانينا!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"تظهر لك هذه الصفحة لأن DEBUG=True في ملف settings خاصتك كما أنك لم تقم بإعداد الروابط URLs." - -msgid "Django Documentation" -msgstr "وثائق تعليمات جانغو" - -msgid "Topics, references, & how-to’s" -msgstr "المواضيع و المراجع و التعليمات" - -msgid "Tutorial: A Polling App" -msgstr "برنامج تعليمي: تطبيق تصويت" - -msgid "Get started with Django" -msgstr "إبدأ مع جانغو" - -msgid "Django Community" -msgstr "مجتمع جانغو" - -msgid "Connect, get help, or contribute" -msgstr "اتصل بنا أو احصل على مساعدة أو ساهم" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ar/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/ar/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ar/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/ar/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 42b17666..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/ar/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ar/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/ar/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index a0aeb0f1..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/ar/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ar/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/ar/formats.py deleted file mode 100644 index 19cc8601..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/ar/formats.py +++ /dev/null @@ -1,21 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'j F، Y' -TIME_FORMAT = 'g:i A' -# DATETIME_FORMAT = -YEAR_MONTH_FORMAT = 'F Y' -MONTH_DAY_FORMAT = 'j F' -SHORT_DATE_FORMAT = 'd‏/m‏/Y' -# SHORT_DATETIME_FORMAT = -# FIRST_DAY_OF_WEEK = - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -# DATE_INPUT_FORMATS = -# TIME_INPUT_FORMATS = -# DATETIME_INPUT_FORMATS = -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = '.' -# NUMBER_GROUPING = diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ar_DZ/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/ar_DZ/LC_MESSAGES/django.mo deleted file mode 100644 index 1fce7bcd..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/ar_DZ/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ar_DZ/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/ar_DZ/LC_MESSAGES/django.po deleted file mode 100644 index 373dea11..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/ar_DZ/LC_MESSAGES/django.po +++ /dev/null @@ -1,1379 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Riterix , 2019-2020 -# Riterix , 2019 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-07-14 21:42+0000\n" -"Last-Translator: Transifex Bot <>\n" -"Language-Team: Arabic (Algeria) (http://www.transifex.com/django/django/" -"language/ar_DZ/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ar_DZ\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " -"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" - -msgid "Afrikaans" -msgstr "الإفريقية" - -msgid "Arabic" -msgstr "العربية" - -msgid "Algerian Arabic" -msgstr "العربية الجزائرية" - -msgid "Asturian" -msgstr "الأسترية" - -msgid "Azerbaijani" -msgstr "الأذربيجانية" - -msgid "Bulgarian" -msgstr "البلغارية" - -msgid "Belarusian" -msgstr "البيلاروسية" - -msgid "Bengali" -msgstr "البنغالية" - -msgid "Breton" -msgstr "البريتونية" - -msgid "Bosnian" -msgstr "البوسنية" - -msgid "Catalan" -msgstr "الكتلانية" - -msgid "Czech" -msgstr "التشيكية" - -msgid "Welsh" -msgstr "الويلز" - -msgid "Danish" -msgstr "الدنماركية" - -msgid "German" -msgstr "الألمانية" - -msgid "Lower Sorbian" -msgstr "الصربية السفلى" - -msgid "Greek" -msgstr "اليونانية" - -msgid "English" -msgstr "الإنجليزية" - -msgid "Australian English" -msgstr "الإنجليزية الإسترالية" - -msgid "British English" -msgstr "الإنجليزية البريطانية" - -msgid "Esperanto" -msgstr "الاسبرانتو" - -msgid "Spanish" -msgstr "الإسبانية" - -msgid "Argentinian Spanish" -msgstr "الأسبانية الأرجنتينية" - -msgid "Colombian Spanish" -msgstr "الكولومبية الإسبانية" - -msgid "Mexican Spanish" -msgstr "الأسبانية المكسيكية" - -msgid "Nicaraguan Spanish" -msgstr "الإسبانية النيكاراغوية" - -msgid "Venezuelan Spanish" -msgstr "الإسبانية الفنزويلية" - -msgid "Estonian" -msgstr "الإستونية" - -msgid "Basque" -msgstr "الباسك" - -msgid "Persian" -msgstr "الفارسية" - -msgid "Finnish" -msgstr "الفنلندية" - -msgid "French" -msgstr "الفرنسية" - -msgid "Frisian" -msgstr "الفريزية" - -msgid "Irish" -msgstr "الإيرلندية" - -msgid "Scottish Gaelic" -msgstr "الغيلية الأسكتلندية" - -msgid "Galician" -msgstr "الجليقية" - -msgid "Hebrew" -msgstr "العبرية" - -msgid "Hindi" -msgstr "الهندية" - -msgid "Croatian" -msgstr "الكرواتية" - -msgid "Upper Sorbian" -msgstr "الصربية العليا" - -msgid "Hungarian" -msgstr "الهنغارية" - -msgid "Armenian" -msgstr "الأرمنية" - -msgid "Interlingua" -msgstr "اللغة الوسيطة" - -msgid "Indonesian" -msgstr "الإندونيسية" - -msgid "Igbo" -msgstr "" - -msgid "Ido" -msgstr "ايدو" - -msgid "Icelandic" -msgstr "الآيسلندية" - -msgid "Italian" -msgstr "الإيطالية" - -msgid "Japanese" -msgstr "اليابانية" - -msgid "Georgian" -msgstr "الجورجية" - -msgid "Kabyle" -msgstr "القبائلية" - -msgid "Kazakh" -msgstr "الكازاخستانية" - -msgid "Khmer" -msgstr "الخمر" - -msgid "Kannada" -msgstr "الهندية (كنّادا)" - -msgid "Korean" -msgstr "الكورية" - -msgid "Kyrgyz" -msgstr "القيرغيزية" - -msgid "Luxembourgish" -msgstr "اللوكسمبرجية" - -msgid "Lithuanian" -msgstr "اللتوانية" - -msgid "Latvian" -msgstr "اللاتفية" - -msgid "Macedonian" -msgstr "المقدونية" - -msgid "Malayalam" -msgstr "المايالام" - -msgid "Mongolian" -msgstr "المنغولية" - -msgid "Marathi" -msgstr "المهاراتية" - -msgid "Burmese" -msgstr "البورمية" - -msgid "Norwegian Bokmål" -msgstr "النرويجية" - -msgid "Nepali" -msgstr "النيبالية" - -msgid "Dutch" -msgstr "الهولندية" - -msgid "Norwegian Nynorsk" -msgstr "النينورسك نرويجية" - -msgid "Ossetic" -msgstr "الأوسيتيكية" - -msgid "Punjabi" -msgstr "البنجابية" - -msgid "Polish" -msgstr "البولندية" - -msgid "Portuguese" -msgstr "البرتغالية" - -msgid "Brazilian Portuguese" -msgstr "البرتغالية البرازيلية" - -msgid "Romanian" -msgstr "الرومانية" - -msgid "Russian" -msgstr "الروسية" - -msgid "Slovak" -msgstr "السلوفاكية" - -msgid "Slovenian" -msgstr "السلوفانية" - -msgid "Albanian" -msgstr "الألبانية" - -msgid "Serbian" -msgstr "الصربية" - -msgid "Serbian Latin" -msgstr "اللاتينية الصربية" - -msgid "Swedish" -msgstr "السويدية" - -msgid "Swahili" -msgstr "السواحلية" - -msgid "Tamil" -msgstr "التاميل" - -msgid "Telugu" -msgstr "التيلوغو" - -msgid "Tajik" -msgstr "الطاجيكية" - -msgid "Thai" -msgstr "التايلندية" - -msgid "Turkmen" -msgstr "" - -msgid "Turkish" -msgstr "التركية" - -msgid "Tatar" -msgstr "التتاريية" - -msgid "Udmurt" -msgstr "الأدمرتية" - -msgid "Ukrainian" -msgstr "الأكرانية" - -msgid "Urdu" -msgstr "الأوردو" - -msgid "Uzbek" -msgstr "الأوزبكية" - -msgid "Vietnamese" -msgstr "الفيتنامية" - -msgid "Simplified Chinese" -msgstr "الصينية المبسطة" - -msgid "Traditional Chinese" -msgstr "الصينية التقليدية" - -msgid "Messages" -msgstr "الرسائل" - -msgid "Site Maps" -msgstr "خرائط الموقع" - -msgid "Static Files" -msgstr "الملفات الثابتة" - -msgid "Syndication" -msgstr "توظيف النشر" - -msgid "That page number is not an integer" -msgstr "رقم الصفحة ليس عددًا صحيحًا" - -msgid "That page number is less than 1" -msgstr "رقم الصفحة أقل من 1" - -msgid "That page contains no results" -msgstr "هذه الصفحة لا تحتوي على نتائج" - -msgid "Enter a valid value." -msgstr "أدخل قيمة صحيحة." - -msgid "Enter a valid URL." -msgstr "أدخل رابطاً صحيحاً." - -msgid "Enter a valid integer." -msgstr "أدخل رقم صالح." - -msgid "Enter a valid email address." -msgstr "أدخل عنوان بريد إلكتروني صحيح." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" -"أدخل “slug” صالحة تتكون من أحرف أو أرقام أو الشرطة السفلية أو الواصلات." - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" -"أدخل “slug” صالحة تتكون من أحرف Unicode أو الأرقام أو الشرطة السفلية أو " -"الواصلات." - -msgid "Enter a valid IPv4 address." -msgstr "أدخل عنوان IPv4 صحيح." - -msgid "Enter a valid IPv6 address." -msgstr "أدخل عنوان IPv6 صحيح." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "أدخل عنوان IPv4 أو عنوان IPv6 صحيح." - -msgid "Enter only digits separated by commas." -msgstr "أدخل أرقاما فقط مفصول بينها بفواصل." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "تحقق من أن هذه القيمة هي %(limit_value)s (إنها %(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "تحقق من أن تكون هذه القيمة أقل من %(limit_value)s أو مساوية لها." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "تحقق من أن تكون هذه القيمة أكثر من %(limit_value)s أو مساوية لها." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"تأكد أن هذه القيمة تحتوي على %(limit_value)d حرف أو رمز على الأقل (هي تحتوي " -"حالياً على %(show_value)d)." -msgstr[1] "" -"تأكد أن هذه القيمة تحتوي على %(limit_value)d حرف أو رمز على الأقل (هي تحتوي " -"حالياً على %(show_value)d)." -msgstr[2] "" -"تأكد أن هذه القيمة تحتوي على %(limit_value)d حرف أو رمز على الأقل (هي تحتوي " -"حالياً على %(show_value)d)." -msgstr[3] "" -"تأكد أن هذه القيمة تحتوي على %(limit_value)d حرف أو رمز على الأقل (هي تحتوي " -"حالياً على %(show_value)d)." -msgstr[4] "" -"تأكد أن هذه القيمة تحتوي على %(limit_value)d حرف أو رمز على الأقل (هي تحتوي " -"حالياً على %(show_value)d)." -msgstr[5] "" -"تأكد أن هذه القيمة تحتوي على %(limit_value)d حرف أو رمز على الأقل (هي تحتوي " -"حالياً على %(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"تأكد أن هذه القيمة تحتوي على %(limit_value)d حرف أو رمز على الأكثر (هي تحتوي " -"حالياً على %(show_value)d)." -msgstr[1] "" -"تأكد أن هذه القيمة تحتوي على %(limit_value)d حرف أو رمز على الأكثر (هي تحتوي " -"حالياً على %(show_value)d)." -msgstr[2] "" -"تأكد أن هذه القيمة تحتوي على %(limit_value)d حرف أو رمز على الأكثر (هي تحتوي " -"حالياً على %(show_value)d)." -msgstr[3] "" -"تأكد أن هذه القيمة تحتوي على %(limit_value)d حرف أو رمز على الأكثر (هي تحتوي " -"حالياً على %(show_value)d)." -msgstr[4] "" -"تأكد أن هذه القيمة تحتوي على %(limit_value)d حرف أو رمز على الأكثر (هي تحتوي " -"حالياً على %(show_value)d)." -msgstr[5] "" -"تأكد أن هذه القيمة تحتوي على %(limit_value)d حرف أو رمز على الأكثر (هي تحتوي " -"حالياً على %(show_value)d)." - -msgid "Enter a number." -msgstr "أدخل رقماً." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "تحقق من أن تدخل %(max)s أرقام لا أكثر." -msgstr[1] "تحقق من أن تدخل رقم %(max)s لا أكثر." -msgstr[2] "تحقق من أن تدخل %(max)s رقمين لا أكثر." -msgstr[3] "تحقق من أن تدخل %(max)s أرقام لا أكثر." -msgstr[4] "تحقق من أن تدخل %(max)s أرقام لا أكثر." -msgstr[5] "تحقق من أن تدخل %(max)s أرقام لا أكثر." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "تحقق من أن تدخل %(max)s خانات عشرية لا أكثر." -msgstr[1] "تحقق من أن تدخل %(max)s خانات عشرية لا أكثر." -msgstr[2] "تحقق من أن تدخل %(max)s خانات عشرية لا أكثر." -msgstr[3] "تحقق من أن تدخل %(max)s خانات عشرية لا أكثر." -msgstr[4] "تحقق من أن تدخل %(max)s خانات عشرية لا أكثر." -msgstr[5] "تحقق من أن تدخل %(max)s خانات عشرية لا أكثر." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "تحقق من أن تدخل %(max)s أرقام قبل الفاصل العشري لا أكثر." -msgstr[1] "تحقق من أن تدخل %(max)s أرقام قبل الفاصل العشري لا أكثر." -msgstr[2] "تحقق من أن تدخل %(max)s أرقام قبل الفاصل العشري لا أكثر." -msgstr[3] "تحقق من أن تدخل %(max)s أرقام قبل الفاصل العشري لا أكثر." -msgstr[4] "تحقق من أن تدخل %(max)s أرقام قبل الفاصل العشري لا أكثر." -msgstr[5] "تحقق من أن تدخل %(max)s أرقام قبل الفاصل العشري لا أكثر." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" -"امتداد الملف “%(extension)s” غير مسموح به. الامتدادات المسموح بها هي:" -"%(allowed_extensions)s." - -msgid "Null characters are not allowed." -msgstr "لا يُسمح بالأحرف الخالية." - -msgid "and" -msgstr "و" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "%(model_name)s بهذا %(field_labels)s موجود سلفاً." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "القيمة %(value)r ليست خيارا صحيحاً." - -msgid "This field cannot be null." -msgstr "لا يمكن ترك هذا الحقل خالي." - -msgid "This field cannot be blank." -msgstr "لا يمكن ترك هذا الحقل فارغاً." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "النموذج %(model_name)s والحقل %(field_label)s موجود مسبقاً." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(field_label)s يجب أن يكون فريد لـ %(date_field_label)s %(lookup_type)s." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "حقل نوع: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "يجب أن تكون القيمة “%(value)s” إما True أو False." - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "يجب أن تكون القيمة “%(value)s” إما True أو False أو None." - -msgid "Boolean (Either True or False)" -msgstr "ثنائي (إما True أو False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "سلسلة نص (%(max_length)s كحد أقصى)" - -msgid "Comma-separated integers" -msgstr "أرقام صحيحة مفصولة بفواصل" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" -"تحتوي القيمة “%(value)s” على تنسيق تاريخ غير صالح. يجب أن يكون بتنسيق YYYY-" -"MM-DD." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" -"تحتوي القيمة “%(value)s” على التنسيق الصحيح (YYYY-MM-DD) ولكنه تاريخ غير " -"صالح." - -msgid "Date (without time)" -msgstr "التاريخ (دون الوقت)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" -"تحتوي القيمة “%(value)s” على تنسيق غير صالح. يجب أن يكون بتنسيق YYYY-MM-DD " -"HH: MM [: ss [.uuuuuu]] [TZ]." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" -"تحتوي القيمة “%(value)s” على التنسيق الصحيح (YYYY-MM-DD HH: MM [: ss [." -"uuuuuu]] [TZ]) ولكنها تعد تاريخًا / وقتًا غير صالحين." - -msgid "Date (with time)" -msgstr "التاريخ (مع الوقت)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "يجب أن تكون القيمة “%(value)s” رقمًا عشريًا." - -msgid "Decimal number" -msgstr "رقم عشري" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" -"تحتوي القيمة “%(value)s” على تنسيق غير صالح. يجب أن يكون بتنسيق [DD] [[HH:] " -"MM:] ss [.uuuuuu]." - -msgid "Duration" -msgstr "المدّة" - -msgid "Email address" -msgstr "عنوان بريد إلكتروني" - -msgid "File path" -msgstr "مسار الملف" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "يجب أن تكون القيمة “%(value)s” قيمة عائمة." - -msgid "Floating point number" -msgstr "رقم فاصلة عائمة" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "يجب أن تكون القيمة “%(value)s” عددًا صحيحًا." - -msgid "Integer" -msgstr "عدد صحيح" - -msgid "Big (8 byte) integer" -msgstr "عدد صحيح كبير (8 بايت)" - -msgid "IPv4 address" -msgstr "عنوان IPv4" - -msgid "IP address" -msgstr "عنوان IP" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "يجب أن تكون القيمة “%(value)s” إما None أو True أو False." - -msgid "Boolean (Either True, False or None)" -msgstr "ثنائي (إما True أو False أو None)" - -msgid "Positive big integer" -msgstr "عدد صحيح كبير موجب" - -msgid "Positive integer" -msgstr "عدد صحيح موجب" - -msgid "Positive small integer" -msgstr "عدد صحيح صغير موجب" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Slug (حتى %(max_length)s)" - -msgid "Small integer" -msgstr "عدد صحيح صغير" - -msgid "Text" -msgstr "نص" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" -"تحتوي القيمة “%(value)s” على تنسيق غير صالح. يجب أن يكون بتنسيق HH: MM [: ss " -"[.uuuuuu]]." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" -"تحتوي القيمة “%(value)s” على التنسيق الصحيح (HH: MM [: ss [.uuuuuu]]) ولكنه " -"وقت غير صالح." - -msgid "Time" -msgstr "وقت" - -msgid "URL" -msgstr "رابط" - -msgid "Raw binary data" -msgstr "البيانات الثنائية الخام" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "“%(value)s” ليس UUID صالحًا." - -msgid "Universally unique identifier" -msgstr "المعرف الفريد العالمي (UUID)" - -msgid "File" -msgstr "ملف" - -msgid "Image" -msgstr "صورة" - -msgid "A JSON object" -msgstr "كائن JSON" - -msgid "Value must be valid JSON." -msgstr "يجب أن تكون قيمة JSON صالحة." - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "النموذج %(model)s ذو الحقل و القيمة %(field)s %(value)r غير موجود." - -msgid "Foreign Key (type determined by related field)" -msgstr "الحقل المرتبط (تم تحديد النوع وفقاً للحقل المرتبط)" - -msgid "One-to-one relationship" -msgstr "علاقة واحد إلى واحد" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "%(from)s-%(to)s علاقة" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "%(from)s-%(to)s علاقات" - -msgid "Many-to-many relationship" -msgstr "علاقة متعدد إلى متعدد" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "هذا الحقل مطلوب." - -msgid "Enter a whole number." -msgstr "أدخل رقما صحيحا." - -msgid "Enter a valid date." -msgstr "أدخل تاريخاً صحيحاً." - -msgid "Enter a valid time." -msgstr "أدخل وقتاً صحيحاً." - -msgid "Enter a valid date/time." -msgstr "أدخل تاريخاً/وقتاً صحيحاً." - -msgid "Enter a valid duration." -msgstr "أدخل مدّة صحيحة" - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "يجب أن يتراوح عدد الأيام بين {min_days} و {max_days}." - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "لم يتم ارسال ملف، الرجاء التأكد من نوع ترميز الاستمارة." - -msgid "No file was submitted." -msgstr "لم يتم إرسال اي ملف." - -msgid "The submitted file is empty." -msgstr "الملف الذي قمت بإرساله فارغ." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"تأكد أن إسم هذا الملف يحتوي على %(max)d حرف على الأكثر (هو يحتوي الآن على " -"%(length)d حرف)." -msgstr[1] "" -"تأكد أن إسم هذا الملف يحتوي على %(max)d حرف على الأكثر (هو يحتوي الآن على " -"%(length)d حرف)." -msgstr[2] "" -"تأكد أن إسم هذا الملف يحتوي على %(max)d حرف على الأكثر (هو يحتوي الآن على " -"%(length)d حرف)." -msgstr[3] "" -"تأكد أن إسم هذا الملف يحتوي على %(max)d حرف على الأكثر (هو يحتوي الآن على " -"%(length)d حرف)." -msgstr[4] "" -"تأكد أن إسم هذا الملف يحتوي على %(max)d حرف على الأكثر (هو يحتوي الآن على " -"%(length)d حرف)." -msgstr[5] "" -"تأكد أن إسم هذا الملف يحتوي على %(max)d حرف على الأكثر (هو يحتوي الآن على " -"%(length)d حرف)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" -"رجاءً أرسل ملف أو صح علامة صح عند مربع اختيار \\\"فارغ\\\"، وليس كلاهما." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"قم برفع صورة صحيحة، الملف الذي قمت برفعه إما أنه ليس ملفا لصورة أو أنه ملف " -"معطوب." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "انتق خياراً صحيحاً. %(value)s ليس أحد الخيارات المتاحة." - -msgid "Enter a list of values." -msgstr "أدخل قائمة من القيم." - -msgid "Enter a complete value." -msgstr "إدخال قيمة كاملة." - -msgid "Enter a valid UUID." -msgstr "أدخل قيمة UUID صحيحة." - -msgid "Enter a valid JSON." -msgstr "ادخل كائن JSON صالح." - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(الحقل الخفي %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "بيانات ManagementForm مفقودة أو تم العبث بها" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "الرجاء إرسال %d إستمارة أو أقل" -msgstr[1] "الرجاء إرسال %d إستمارة أو أقل" -msgstr[2] "الرجاء إرسال %d إستمارة أو أقل" -msgstr[3] "الرجاء إرسال %d إستمارة أو أقل" -msgstr[4] "الرجاء إرسال %d إستمارة أو أقل" -msgstr[5] "الرجاء إرسال %d إستمارة أو أقل" - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "الرجاء إرسال %d إستمارة أو أكثر." -msgstr[1] "الرجاء إرسال %d إستمارة أو أكثر." -msgstr[2] "الرجاء إرسال %d إستمارة أو أكثر." -msgstr[3] "الرجاء إرسال %d إستمارة أو أكثر." -msgstr[4] "الرجاء إرسال %d إستمارة أو أكثر." -msgstr[5] "الرجاء إرسال %d إستمارة أو أكثر." - -msgid "Order" -msgstr "الترتيب" - -msgid "Delete" -msgstr "احذف" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "رجاء صحّح بيانات %(field)s المتكررة." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "رجاء صحّح بيانات %(field)s المتكررة والتي يجب أن تكون مُميّزة." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"رجاء صحّح بيانات %(field_name)s المتكررة والتي يجب أن تكون مُميّزة لـ%(lookup)s " -"في %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "رجاءً صحّح القيم المُكرّرة أدناه." - -msgid "The inline value did not match the parent instance." -msgstr "القيمة المضمنة لا تتطابق مع المثيل الأصلي." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "انتق خياراً صحيحاً. اختيارك ليس أحد الخيارات المتاحة." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "“%(pk)s” ليست قيمة صالحة." - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" -"لا يمكن تفسير٪ %(datetime)s في المنطقة الزمنية٪ %(current_timezone)s؛ قد " -"تكون غامضة أو غير موجودة." - -msgid "Clear" -msgstr "تفريغ" - -msgid "Currently" -msgstr "حالياً" - -msgid "Change" -msgstr "عدّل" - -msgid "Unknown" -msgstr "مجهول" - -msgid "Yes" -msgstr "نعم" - -msgid "No" -msgstr "لا" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "نعم,لا,ربما" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d بايت" -msgstr[1] "%(size)d بايت واحد " -msgstr[2] "%(size)d بايتان" -msgstr[3] "%(size)d بايت" -msgstr[4] "%(size)d بايت" -msgstr[5] "%(size)d بايت" - -#, python-format -msgid "%s KB" -msgstr "%s ك.ب" - -#, python-format -msgid "%s MB" -msgstr "%s م.ب" - -#, python-format -msgid "%s GB" -msgstr "%s ج.ب" - -#, python-format -msgid "%s TB" -msgstr "%s ت.ب" - -#, python-format -msgid "%s PB" -msgstr "%s ب.ب" - -msgid "p.m." -msgstr "م" - -msgid "a.m." -msgstr "ص" - -msgid "PM" -msgstr "م" - -msgid "AM" -msgstr "ص" - -msgid "midnight" -msgstr "منتصف الليل" - -msgid "noon" -msgstr "ظهراً" - -msgid "Monday" -msgstr "الاثنين" - -msgid "Tuesday" -msgstr "الثلاثاء" - -msgid "Wednesday" -msgstr "الأربعاء" - -msgid "Thursday" -msgstr "الخميس" - -msgid "Friday" -msgstr "الجمعة" - -msgid "Saturday" -msgstr "السبت" - -msgid "Sunday" -msgstr "الأحد" - -msgid "Mon" -msgstr "إثنين" - -msgid "Tue" -msgstr "ثلاثاء" - -msgid "Wed" -msgstr "أربعاء" - -msgid "Thu" -msgstr "خميس" - -msgid "Fri" -msgstr "جمعة" - -msgid "Sat" -msgstr "سبت" - -msgid "Sun" -msgstr "أحد" - -msgid "January" -msgstr "جانفي" - -msgid "February" -msgstr "فيفري" - -msgid "March" -msgstr "مارس" - -msgid "April" -msgstr "أفريل" - -msgid "May" -msgstr "ماي" - -msgid "June" -msgstr "جوان" - -msgid "July" -msgstr "جويليه" - -msgid "August" -msgstr "أوت" - -msgid "September" -msgstr "سبتمبر" - -msgid "October" -msgstr "أكتوبر" - -msgid "November" -msgstr "نوفمبر" - -msgid "December" -msgstr "ديسمبر" - -msgid "jan" -msgstr "جانفي" - -msgid "feb" -msgstr "فيفري" - -msgid "mar" -msgstr "مارس" - -msgid "apr" -msgstr "أفريل" - -msgid "may" -msgstr "ماي" - -msgid "jun" -msgstr "جوان" - -msgid "jul" -msgstr "جويليه" - -msgid "aug" -msgstr "أوت" - -msgid "sep" -msgstr "سبتمبر" - -msgid "oct" -msgstr "أكتوبر" - -msgid "nov" -msgstr "نوفمبر" - -msgid "dec" -msgstr "ديسمبر" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "جانفي" - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "فيفري" - -msgctxt "abbrev. month" -msgid "March" -msgstr "مارس" - -msgctxt "abbrev. month" -msgid "April" -msgstr "أفريل" - -msgctxt "abbrev. month" -msgid "May" -msgstr "ماي" - -msgctxt "abbrev. month" -msgid "June" -msgstr "جوان" - -msgctxt "abbrev. month" -msgid "July" -msgstr "جويليه" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "أوت" - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "سبتمبر" - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "أكتوبر" - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "نوفمبر" - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "ديسمبر" - -msgctxt "alt. month" -msgid "January" -msgstr "جانفي" - -msgctxt "alt. month" -msgid "February" -msgstr "فيفري" - -msgctxt "alt. month" -msgid "March" -msgstr "مارس" - -msgctxt "alt. month" -msgid "April" -msgstr "أفريل" - -msgctxt "alt. month" -msgid "May" -msgstr "ماي" - -msgctxt "alt. month" -msgid "June" -msgstr "جوان" - -msgctxt "alt. month" -msgid "July" -msgstr "جويليه" - -msgctxt "alt. month" -msgid "August" -msgstr "أوت" - -msgctxt "alt. month" -msgid "September" -msgstr "سبتمبر" - -msgctxt "alt. month" -msgid "October" -msgstr "أكتوبر" - -msgctxt "alt. month" -msgid "November" -msgstr "نوفمبر" - -msgctxt "alt. month" -msgid "December" -msgstr "ديسمبر" - -msgid "This is not a valid IPv6 address." -msgstr "هذا ليس عنوان IPv6 صحيح." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s…" - -msgid "or" -msgstr "أو" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr "، " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d سنة" -msgstr[1] "%d سنة" -msgstr[2] "%d سنتان" -msgstr[3] "%d سنوات" -msgstr[4] "%d سنة" -msgstr[5] "%d سنة" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d شهر" -msgstr[1] "%d شهر" -msgstr[2] "%d شهرين\"" -msgstr[3] "%d أشهر" -msgstr[4] "%d شهر" -msgstr[5] "%d شهر" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d أسبوع" -msgstr[1] "%d اسبوع" -msgstr[2] "%d أسبوعين" -msgstr[3] "%d أسابيع" -msgstr[4] "%d أسبوع" -msgstr[5] "%d أسبوع" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d يوم" -msgstr[1] "%d يوم" -msgstr[2] "%d يومان" -msgstr[3] "%d أيام" -msgstr[4] "%d يوم" -msgstr[5] "%d يوم" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d ساعة" -msgstr[1] "%d ساعة" -msgstr[2] "%d ساعتين" -msgstr[3] "%d ساعات" -msgstr[4] "%d ساعة" -msgstr[5] "%d ساعة" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d دقيقة" -msgstr[1] "%d دقيقة" -msgstr[2] "%d دقيقتين" -msgstr[3] "%d دقائق" -msgstr[4] "%d دقيقة" -msgstr[5] "%d دقيقة" - -msgid "Forbidden" -msgstr "ممنوع" - -msgid "CSRF verification failed. Request aborted." -msgstr "تم الفشل للتحقق من CSRF. تم إنهاء الطلب." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" -"أنت ترى هذه الرسالة لأن موقع HTTPS هذا يتطلب إرسال “Referer header” بواسطة " -"متصفح الويب الخاص بك ، ولكن لم يتم إرسال أي منها. هذا العنوان مطلوب لأسباب " -"أمنية ، لضمان عدم اختطاف متصفحك من قبل أطراف ثالثة." - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" -"إذا قمت بتكوين المستعرض الخاص بك لتعطيل رؤوس “Referer” ، فالرجاء إعادة " -"تمكينها ، على الأقل لهذا الموقع ، أو لاتصالات HTTPS ، أو لطلبات “same-" -"origin”." - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" -"إذا كنت تستخدم العلامة أو تتضمن رأس “Referrer-Policy: no-referrer” ، فيرجى إزالتها. تتطلب حماية " -"CSRF رأس “Referer” القيام بالتحقق من “strict referer”. إذا كنت مهتمًا " -"بالخصوصية ، فاستخدم بدائل مثل للروابط إلى مواقع " -"الجهات الخارجية." - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"تشاهد هذه الرسالة لأن هذا الموقع يتطلب ملف تعريف ارتباط CSRF Cookie عند " -"إرسال النماذج. ملف تعريف ارتباط Cookie هذا مطلوب لأسباب أمنية ، لضمان عدم " -"اختطاف متصفحك من قبل أطراف ثالثة." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" -"إذا قمت بتكوين المستعرض الخاص بك لتعطيل ملفات تعريف الارتباط Cookies ، يرجى " -"إعادة تمكينها ، على الأقل لهذا الموقع ، أو لطلبات “same-origin”." - -msgid "More information is available with DEBUG=True." -msgstr "يتوفر مزيد من المعلومات عند ضبط الخيار DEBUG=True." - -msgid "No year specified" -msgstr "لم تحدد السنة" - -msgid "Date out of range" -msgstr "تاريخ خارج النطاق" - -msgid "No month specified" -msgstr "لم تحدد الشهر" - -msgid "No day specified" -msgstr "لم تحدد اليوم" - -msgid "No week specified" -msgstr "لم تحدد الأسبوع" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "لا يوجد %(verbose_name_plural)s" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"التاريخ بالمستقبل %(verbose_name_plural)s غير متوفر لأن قيمة %(class_name)s." -"allow_future هي False." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "سلسلة تاريخ غير صالحة “%(datestr)s” شكل معين “%(format)s”" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "لم يعثر على أي %(verbose_name)s مطابقة لهذا الإستعلام" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "الصفحة ليست \"الأخيرة\" ، ولا يمكن تحويلها إلى عدد صحيح." - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "صفحة خاطئة (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "القائمة فارغة و “%(class_name)s.allow_empty” هي False." - -msgid "Directory indexes are not allowed here." -msgstr "لا يسمح لفهارس الدليل هنا." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "“%(path)s” غير موجود" - -#, python-format -msgid "Index of %(directory)s" -msgstr "فهرس لـ %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" -"جانغو: المنصة البرمجية لتطبيقات الويب للمتَّسمين بالكمال مع المواعيد المحدّدة." - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"عرض ملاحظات الإصدار ل جانغو " -"%(version)s" - -msgid "The install worked successfully! Congratulations!" -msgstr "تمَّت عملية التثبيت بنجاح! تهانينا!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"تشاهد هذه الصفحة لأن DEBUG = True موجود في ملف الإعدادات الخاص بك ولم تقم بتكوين أي " -"عناوين URL." - -msgid "Django Documentation" -msgstr "توثيق جانغو" - -msgid "Topics, references, & how-to’s" -msgstr "الموضوعات ، المراجع، & الكيفية" - -msgid "Tutorial: A Polling App" -msgstr "البرنامج التعليمي: تطبيق الاقتراع" - -msgid "Get started with Django" -msgstr "الخطوات الأولى مع جانغو" - -msgid "Django Community" -msgstr "مجتمع جانغو" - -msgid "Connect, get help, or contribute" -msgstr "الاتصال، الحصول على المساعدة أو المساهمة" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ar_DZ/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/ar_DZ/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ar_DZ/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/ar_DZ/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 10866033..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/ar_DZ/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ar_DZ/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/ar_DZ/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 42d6f1c8..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/ar_DZ/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ar_DZ/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/ar_DZ/formats.py deleted file mode 100644 index e091e178..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/ar_DZ/formats.py +++ /dev/null @@ -1,29 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'j F Y' -TIME_FORMAT = 'H:i' -DATETIME_FORMAT = 'j F Y H:i' -YEAR_MONTH_FORMAT = 'F Y' -MONTH_DAY_FORMAT = 'j F' -SHORT_DATE_FORMAT = 'j F Y' -SHORT_DATETIME_FORMAT = 'j F Y H:i' -FIRST_DAY_OF_WEEK = 0 # Sunday - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -DATE_INPUT_FORMATS = [ - '%Y/%m/%d', # '2006/10/25' -] -TIME_INPUT_FORMATS = [ - '%H:%M', # '14:30 - '%H:%M:%S', # '14:30:59' -] -DATETIME_INPUT_FORMATS = [ - '%Y/%m/%d %H:%M', # '2006/10/25 14:30' - '%Y/%m/%d %H:%M:%S', # '2006/10/25 14:30:59' -] -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = '.' -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ast/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/ast/LC_MESSAGES/django.mo deleted file mode 100644 index 31733b2e..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/ast/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ast/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/ast/LC_MESSAGES/django.po deleted file mode 100644 index 417f18db..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/ast/LC_MESSAGES/django.po +++ /dev/null @@ -1,1237 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Ḷḷumex03 , 2014 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-27 22:40+0200\n" -"PO-Revision-Date: 2019-11-05 00:38+0000\n" -"Last-Translator: Ramiro Morales\n" -"Language-Team: Asturian (http://www.transifex.com/django/django/language/" -"ast/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ast\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "Afrikaans" -msgstr "Afrikáans" - -msgid "Arabic" -msgstr "Árabe" - -msgid "Asturian" -msgstr "" - -msgid "Azerbaijani" -msgstr "Azerbaixanu" - -msgid "Bulgarian" -msgstr "Búlgaru" - -msgid "Belarusian" -msgstr "Bielorrusu" - -msgid "Bengali" -msgstr "Bengalí" - -msgid "Breton" -msgstr "Bretón" - -msgid "Bosnian" -msgstr "Bosniu" - -msgid "Catalan" -msgstr "Catalán" - -msgid "Czech" -msgstr "Checu" - -msgid "Welsh" -msgstr "Galés" - -msgid "Danish" -msgstr "Danés" - -msgid "German" -msgstr "Alemán" - -msgid "Lower Sorbian" -msgstr "" - -msgid "Greek" -msgstr "Griegu" - -msgid "English" -msgstr "Inglés" - -msgid "Australian English" -msgstr "" - -msgid "British English" -msgstr "Inglés británicu" - -msgid "Esperanto" -msgstr "Esperantu" - -msgid "Spanish" -msgstr "Castellán" - -msgid "Argentinian Spanish" -msgstr "Español arxentín" - -msgid "Colombian Spanish" -msgstr "" - -msgid "Mexican Spanish" -msgstr "Español mexicanu" - -msgid "Nicaraguan Spanish" -msgstr "Español nicaraguanu" - -msgid "Venezuelan Spanish" -msgstr "Español venezolanu" - -msgid "Estonian" -msgstr "Estoniu" - -msgid "Basque" -msgstr "Vascu" - -msgid "Persian" -msgstr "Persa" - -msgid "Finnish" -msgstr "Finés" - -msgid "French" -msgstr "Francés" - -msgid "Frisian" -msgstr "Frisón" - -msgid "Irish" -msgstr "Irlandés" - -msgid "Scottish Gaelic" -msgstr "" - -msgid "Galician" -msgstr "Gallegu" - -msgid "Hebrew" -msgstr "Hebréu" - -msgid "Hindi" -msgstr "Hindi" - -msgid "Croatian" -msgstr "Croata" - -msgid "Upper Sorbian" -msgstr "" - -msgid "Hungarian" -msgstr "Húngaru" - -msgid "Armenian" -msgstr "" - -msgid "Interlingua" -msgstr "Interlingua" - -msgid "Indonesian" -msgstr "Indonesiu" - -msgid "Ido" -msgstr "" - -msgid "Icelandic" -msgstr "Islandés" - -msgid "Italian" -msgstr "Italianu" - -msgid "Japanese" -msgstr "Xaponés" - -msgid "Georgian" -msgstr "Xeorxanu" - -msgid "Kabyle" -msgstr "" - -msgid "Kazakh" -msgstr "Kazakh" - -msgid "Khmer" -msgstr "Khmer" - -msgid "Kannada" -msgstr "Canarés" - -msgid "Korean" -msgstr "Coreanu" - -msgid "Luxembourgish" -msgstr "Luxemburgués" - -msgid "Lithuanian" -msgstr "Lituanu" - -msgid "Latvian" -msgstr "Letón" - -msgid "Macedonian" -msgstr "Macedoniu" - -msgid "Malayalam" -msgstr "Malayalam" - -msgid "Mongolian" -msgstr "Mongol" - -msgid "Marathi" -msgstr "" - -msgid "Burmese" -msgstr "Birmanu" - -msgid "Norwegian Bokmål" -msgstr "" - -msgid "Nepali" -msgstr "Nepalí" - -msgid "Dutch" -msgstr "Holandés" - -msgid "Norwegian Nynorsk" -msgstr "Nynorsk noruegu" - -msgid "Ossetic" -msgstr "Osetiu" - -msgid "Punjabi" -msgstr "Punjabi" - -msgid "Polish" -msgstr "Polacu" - -msgid "Portuguese" -msgstr "Portugués" - -msgid "Brazilian Portuguese" -msgstr "Portugués brasileñu" - -msgid "Romanian" -msgstr "Rumanu" - -msgid "Russian" -msgstr "Rusu" - -msgid "Slovak" -msgstr "Eslovacu" - -msgid "Slovenian" -msgstr "Eslovenu" - -msgid "Albanian" -msgstr "Albanu" - -msgid "Serbian" -msgstr "Serbiu" - -msgid "Serbian Latin" -msgstr "Serbiu llatín" - -msgid "Swedish" -msgstr "Suecu" - -msgid "Swahili" -msgstr "Suaḥili" - -msgid "Tamil" -msgstr "Tamil" - -msgid "Telugu" -msgstr "Telugu" - -msgid "Thai" -msgstr "Tailandés" - -msgid "Turkish" -msgstr "Turcu" - -msgid "Tatar" -msgstr "Tatar" - -msgid "Udmurt" -msgstr "Udmurtu" - -msgid "Ukrainian" -msgstr "Ucranianu" - -msgid "Urdu" -msgstr "Urdu" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "Vietnamita" - -msgid "Simplified Chinese" -msgstr "Chinu simplificáu" - -msgid "Traditional Chinese" -msgstr "Chinu tradicional" - -msgid "Messages" -msgstr "" - -msgid "Site Maps" -msgstr "" - -msgid "Static Files" -msgstr "" - -msgid "Syndication" -msgstr "" - -msgid "That page number is not an integer" -msgstr "" - -msgid "That page number is less than 1" -msgstr "" - -msgid "That page contains no results" -msgstr "" - -msgid "Enter a valid value." -msgstr "Introduz un valor válidu." - -msgid "Enter a valid URL." -msgstr "Introduz una URL válida." - -msgid "Enter a valid integer." -msgstr "" - -msgid "Enter a valid email address." -msgstr "Introduz una direición de corréu válida." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "Introduz una direición IPv4 válida." - -msgid "Enter a valid IPv6 address." -msgstr "Introduz una direición IPv6 válida." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Introduz una direición IPv4 o IPv6 válida." - -msgid "Enter only digits separated by commas." -msgstr "Introduz namái díxitos separtaos per comes." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "Asegúrate qu'esti valor ye %(limit_value)s (ye %(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Asegúrate qu'esti valor ye menor o igual a %(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Asegúrate qu'esti valor ye mayor o igual a %(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Asegúrate qu'esti valor tien polo menos %(limit_value)d caráuter (tien " -"%(show_value)d)." -msgstr[1] "" -"Asegúrate qu'esti valor tien polo menos %(limit_value)d caráuteres (tien " -"%(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Asegúrate qu'esti valor tien como muncho %(limit_value)d caráuter (tien " -"%(show_value)d)." -msgstr[1] "" -"Asegúrate qu'esti valor tien como muncho %(limit_value)d caráuteres (tien " -"%(show_value)d)." - -msgid "Enter a number." -msgstr "Introduz un númberu." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Asegúrate que nun hai más de %(max)s díxitu en total." -msgstr[1] "Asegúrate que nun hai más de %(max)s díxitos en total." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "Asegúrate que nun hai más de %(max)s allugamientu decimal." -msgstr[1] "Asegúrate que nun hai más de %(max)s allugamientos decimales." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -"Asegúrate que nun hai más de %(max)s díxitu enantes del puntu decimal." -msgstr[1] "" -"Asegúrate que nun hai más de %(max)s díxitos enantes del puntu decimal." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "" - -msgid "and" -msgstr "y" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "" - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "" - -msgid "This field cannot be null." -msgstr "Esti campu nun pue ser nulu." - -msgid "This field cannot be blank." -msgstr "Esti campu nun pue tar baleru." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s con esti %(field_label)s yá esiste." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Campu de la triba: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "Boleanu (tamién True o False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Cadena (fasta %(max_length)s)" - -msgid "Comma-separated integers" -msgstr "Enteros separtaos per coma" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "Data (ensin hora)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "Data (con hora)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "Númberu decimal" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "" - -msgid "Email address" -msgstr "Direición de corréu" - -msgid "File path" -msgstr "Camín del ficheru" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "Númberu de puntu flotante" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "Enteru" - -msgid "Big (8 byte) integer" -msgstr "Enteru big (8 byte)" - -msgid "IPv4 address" -msgstr "Direición IPv4" - -msgid "IP address" -msgstr "Direición IP" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "Boleanu (tamién True, False o None)" - -msgid "Positive integer" -msgstr "Enteru positivu" - -msgid "Positive small integer" -msgstr "Enteru pequeñu positivu" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Slug (fasta %(max_length)s)" - -msgid "Small integer" -msgstr "Enteru pequeñu" - -msgid "Text" -msgstr "Testu" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "Hora" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Datos binarios crudos" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "" - -msgid "File" -msgstr "Ficheru" - -msgid "Image" -msgstr "Imaxe" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "" - -msgid "Foreign Key (type determined by related field)" -msgstr "Clave foriata (triba determinada pol campu rellacionáu)" - -msgid "One-to-one relationship" -msgstr "Rellación a ún" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "" - -msgid "Many-to-many relationship" -msgstr "Rellación a munchos" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Requierse esti campu." - -msgid "Enter a whole number." -msgstr "Introduz un númberu completu" - -msgid "Enter a valid date." -msgstr "Introduz una data válida." - -msgid "Enter a valid time." -msgstr "Introduz una hora válida." - -msgid "Enter a valid date/time." -msgstr "Introduz una data/hora válida." - -msgid "Enter a valid duration." -msgstr "" - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "" - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Nun s'unvió'l ficheru. Comprueba la triba de cifráu nel formulariu." - -msgid "No file was submitted." -msgstr "No file was submitted." - -msgid "The submitted file is empty." -msgstr "El ficheru dunviáu ta baleru." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Asegúrate qu'esti nome de ficheru tien polo menos %(max)d caráuter (tien " -"%(length)d)." -msgstr[1] "" -"Asegúrate qu'esti nome de ficheru tien polo menos %(max)d caráuteres (tien " -"%(length)d)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "Por favor, dunvia un ficheru o conseña la caxella , non dambos." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Xubi una imaxe válida. El ficheru que xubiesti o nun yera una imaxe, o taba " -"toriada." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "" -"Esbilla una escoyeta válida. %(value)s nun una ún de les escoyetes " -"disponibles." - -msgid "Enter a list of values." -msgstr "Introduz una llista valores." - -msgid "Enter a complete value." -msgstr "" - -msgid "Enter a valid UUID." -msgstr "" - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Campu anubríu %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Por favor, dunvia %d o menos formularios." -msgstr[1] "Por favor, dunvia %d o menos formularios." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "" -msgstr[1] "" - -msgid "Order" -msgstr "Orde" - -msgid "Delete" -msgstr "Desanciar" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Por favor, igua'l datu duplicáu de %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"Por favor, igua'l datu duplicáu pa %(field)s, el cual tien de ser únicu." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Por favor, igua'l datu duplicáu de %(field_name)s el cual tien de ser únicu " -"pal %(lookup)s en %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "Por favor, igua los valores duplicaos embaxo" - -msgid "The inline value did not match the parent instance." -msgstr "" - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" -"Esbilla una escoyeta válida. Esa escoyeta nun ye una de les escoyetes " -"disponibles." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "Llimpiar" - -msgid "Currently" -msgstr "Anguaño" - -msgid "Change" -msgstr "Camudar" - -msgid "Unknown" -msgstr "Desconocíu" - -msgid "Yes" -msgstr "Sí" - -msgid "No" -msgstr "Non" - -msgid "Year" -msgstr "" - -msgid "Month" -msgstr "" - -msgid "Day" -msgstr "" - -msgid "yes,no,maybe" -msgstr "sí,non,quiciabes" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d byte" -msgstr[1] "%(size)d bytes" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "p.m." - -msgid "a.m." -msgstr "a.m." - -msgid "PM" -msgstr "PM" - -msgid "AM" -msgstr "AM" - -msgid "midnight" -msgstr "Media nueche" - -msgid "noon" -msgstr "Meudía" - -msgid "Monday" -msgstr "Llunes" - -msgid "Tuesday" -msgstr "Martes" - -msgid "Wednesday" -msgstr "Miércoles" - -msgid "Thursday" -msgstr "Xueves" - -msgid "Friday" -msgstr "Vienres" - -msgid "Saturday" -msgstr "Sábadu" - -msgid "Sunday" -msgstr "Domingu" - -msgid "Mon" -msgstr "LLu" - -msgid "Tue" -msgstr "Mar" - -msgid "Wed" -msgstr "Mie" - -msgid "Thu" -msgstr "Xue" - -msgid "Fri" -msgstr "Vie" - -msgid "Sat" -msgstr "Sáb" - -msgid "Sun" -msgstr "Dom" - -msgid "January" -msgstr "Xineru" - -msgid "February" -msgstr "Febreru" - -msgid "March" -msgstr "Marzu" - -msgid "April" -msgstr "Abril" - -msgid "May" -msgstr "Mayu" - -msgid "June" -msgstr "Xunu" - -msgid "July" -msgstr "Xunetu" - -msgid "August" -msgstr "Agostu" - -msgid "September" -msgstr "Setiembre" - -msgid "October" -msgstr "Ochobre" - -msgid "November" -msgstr "Payares" - -msgid "December" -msgstr "Avientu" - -msgid "jan" -msgstr "xin" - -msgid "feb" -msgstr "feb" - -msgid "mar" -msgstr "mar" - -msgid "apr" -msgstr "abr" - -msgid "may" -msgstr "may" - -msgid "jun" -msgstr "xun" - -msgid "jul" -msgstr "xnt" - -msgid "aug" -msgstr "ago" - -msgid "sep" -msgstr "set" - -msgid "oct" -msgstr "och" - -msgid "nov" -msgstr "pay" - -msgid "dec" -msgstr "avi" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Xin." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Feb." - -msgctxt "abbrev. month" -msgid "March" -msgstr "Mar." - -msgctxt "abbrev. month" -msgid "April" -msgstr "Abr." - -msgctxt "abbrev. month" -msgid "May" -msgstr "May." - -msgctxt "abbrev. month" -msgid "June" -msgstr "Xun." - -msgctxt "abbrev. month" -msgid "July" -msgstr "Xnt." - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Ago." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Set." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Och." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Pay." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Avi." - -msgctxt "alt. month" -msgid "January" -msgstr "Xineru" - -msgctxt "alt. month" -msgid "February" -msgstr "Febreru" - -msgctxt "alt. month" -msgid "March" -msgstr "Marzu" - -msgctxt "alt. month" -msgid "April" -msgstr "Abril" - -msgctxt "alt. month" -msgid "May" -msgstr "Mayu" - -msgctxt "alt. month" -msgid "June" -msgstr "Xunu" - -msgctxt "alt. month" -msgid "July" -msgstr "Xunetu" - -msgctxt "alt. month" -msgid "August" -msgstr "Agostu" - -msgctxt "alt. month" -msgid "September" -msgstr "Setiembre" - -msgctxt "alt. month" -msgid "October" -msgstr "Ochobre" - -msgctxt "alt. month" -msgid "November" -msgstr "Payares" - -msgctxt "alt. month" -msgid "December" -msgstr "Avientu" - -msgid "This is not a valid IPv6 address." -msgstr "" - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "" - -msgid "or" -msgstr "o" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d añu" -msgstr[1] "%d años" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d mes" -msgstr[1] "%d meses" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d selmana" -msgstr[1] "%d selmanes" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d día" -msgstr[1] "%d díes" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d hora" -msgstr[1] "%d hores" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d minutu" -msgstr[1] "%d minutos" - -msgid "0 minutes" -msgstr "0 minutos" - -msgid "Forbidden" -msgstr "" - -msgid "CSRF verification failed. Request aborted." -msgstr "" - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "" - -msgid "No year specified" -msgstr "Nun s'especificó l'añu" - -msgid "Date out of range" -msgstr "" - -msgid "No month specified" -msgstr "Nun s'especificó'l mes" - -msgid "No day specified" -msgstr "Nun s'especificó'l día" - -msgid "No week specified" -msgstr "Nun s'especificó la selmana" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "Ensin %(verbose_name_plural)s disponible" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"Nun ta disponible'l %(verbose_name_plural)s futuru porque %(class_name)s." -"allow_future ye False." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Nun s'alcontró %(verbose_name)s que concase cola gueta" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Páxina inválida (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "Nun tán almitíos equí los indexaos de direutoriu." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Índiz de %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" - -msgid "The install worked successfully! Congratulations!" -msgstr "" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" - -msgid "Django Documentation" -msgstr "" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "" - -msgid "Get started with Django" -msgstr "" - -msgid "Django Community" -msgstr "" - -msgid "Connect, get help, or contribute" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/az/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/az/LC_MESSAGES/django.mo deleted file mode 100644 index dfb7d443..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/az/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/az/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/az/LC_MESSAGES/django.po deleted file mode 100644 index 95be54a4..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/az/LC_MESSAGES/django.po +++ /dev/null @@ -1,1278 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Emin Mastizada , 2018,2020 -# Emin Mastizada , 2015-2016 -# Metin Amiroff , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-27 22:40+0200\n" -"PO-Revision-Date: 2020-01-12 07:21+0000\n" -"Last-Translator: Emin Mastizada \n" -"Language-Team: Azerbaijani (http://www.transifex.com/django/django/language/" -"az/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: az\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "Afrikaans" -msgstr "Afrikaans" - -msgid "Arabic" -msgstr "Ərəbcə" - -msgid "Asturian" -msgstr "Asturiyaca" - -msgid "Azerbaijani" -msgstr "Azərbaycanca" - -msgid "Bulgarian" -msgstr "Bolqarca" - -msgid "Belarusian" -msgstr "Belarusca" - -msgid "Bengali" -msgstr "Benqalca" - -msgid "Breton" -msgstr "Bretonca" - -msgid "Bosnian" -msgstr "Bosniyaca" - -msgid "Catalan" -msgstr "Katalanca" - -msgid "Czech" -msgstr "Çexcə" - -msgid "Welsh" -msgstr "Uelscə" - -msgid "Danish" -msgstr "Danimarkaca" - -msgid "German" -msgstr "Almanca" - -msgid "Lower Sorbian" -msgstr "Aşağı Sorbca" - -msgid "Greek" -msgstr "Yunanca" - -msgid "English" -msgstr "İngiliscə" - -msgid "Australian English" -msgstr "Avstraliya İngiliscəsi" - -msgid "British English" -msgstr "Britaniya İngiliscəsi" - -msgid "Esperanto" -msgstr "Esperanto" - -msgid "Spanish" -msgstr "İspanca" - -msgid "Argentinian Spanish" -msgstr "Argentina İspancası" - -msgid "Colombian Spanish" -msgstr "Kolumbia İspancası" - -msgid "Mexican Spanish" -msgstr "Meksika İspancası" - -msgid "Nicaraguan Spanish" -msgstr "Nikaraqua İspancası" - -msgid "Venezuelan Spanish" -msgstr "Venesuela İspancası" - -msgid "Estonian" -msgstr "Estonca" - -msgid "Basque" -msgstr "Baskca" - -msgid "Persian" -msgstr "Farsca" - -msgid "Finnish" -msgstr "Fincə" - -msgid "French" -msgstr "Fransızca" - -msgid "Frisian" -msgstr "Friscə" - -msgid "Irish" -msgstr "İrlandca" - -msgid "Scottish Gaelic" -msgstr "Şotland Keltcəsi" - -msgid "Galician" -msgstr "Qallik dili" - -msgid "Hebrew" -msgstr "İbranicə" - -msgid "Hindi" -msgstr "Hindcə" - -msgid "Croatian" -msgstr "Xorvatca" - -msgid "Upper Sorbian" -msgstr "Üst Sorbca" - -msgid "Hungarian" -msgstr "Macarca" - -msgid "Armenian" -msgstr "Ermənicə" - -msgid "Interlingua" -msgstr "İnterlinqua" - -msgid "Indonesian" -msgstr "İndonezcə" - -msgid "Ido" -msgstr "İdoca" - -msgid "Icelandic" -msgstr "İslandca" - -msgid "Italian" -msgstr "İtalyanca" - -msgid "Japanese" -msgstr "Yaponca" - -msgid "Georgian" -msgstr "Gürcücə" - -msgid "Kabyle" -msgstr "Kabile" - -msgid "Kazakh" -msgstr "Qazax" - -msgid "Khmer" -msgstr "Kxmercə" - -msgid "Kannada" -msgstr "Kannada dili" - -msgid "Korean" -msgstr "Koreyca" - -msgid "Luxembourgish" -msgstr "Lüksemburqca" - -msgid "Lithuanian" -msgstr "Litva dili" - -msgid "Latvian" -msgstr "Latviya dili" - -msgid "Macedonian" -msgstr "Makedonca" - -msgid "Malayalam" -msgstr "Malayamca" - -msgid "Mongolian" -msgstr "Monqolca" - -msgid "Marathi" -msgstr "Marathicə" - -msgid "Burmese" -msgstr "Burmescə" - -msgid "Norwegian Bokmål" -msgstr "Norveç Bukmolcası" - -msgid "Nepali" -msgstr "Nepal" - -msgid "Dutch" -msgstr "Flamandca" - -msgid "Norwegian Nynorsk" -msgstr "Nynorsk Norveçcəsi" - -msgid "Ossetic" -msgstr "Osetincə" - -msgid "Punjabi" -msgstr "Pancabicə" - -msgid "Polish" -msgstr "Polyakca" - -msgid "Portuguese" -msgstr "Portuqalca" - -msgid "Brazilian Portuguese" -msgstr "Braziliya Portuqalcası" - -msgid "Romanian" -msgstr "Rumınca" - -msgid "Russian" -msgstr "Rusca" - -msgid "Slovak" -msgstr "Slovakca" - -msgid "Slovenian" -msgstr "Slovencə" - -msgid "Albanian" -msgstr "Albanca" - -msgid "Serbian" -msgstr "Serbcə" - -msgid "Serbian Latin" -msgstr "Serbcə Latın" - -msgid "Swedish" -msgstr "İsveçcə" - -msgid "Swahili" -msgstr "Suahili" - -msgid "Tamil" -msgstr "Tamilcə" - -msgid "Telugu" -msgstr "Teluqu dili" - -msgid "Thai" -msgstr "Tayca" - -msgid "Turkish" -msgstr "Türkcə" - -msgid "Tatar" -msgstr "Tatar" - -msgid "Udmurt" -msgstr "Udmurtca" - -msgid "Ukrainian" -msgstr "Ukraynaca" - -msgid "Urdu" -msgstr "Urduca" - -msgid "Uzbek" -msgstr "Özbəkcə" - -msgid "Vietnamese" -msgstr "Vyetnamca" - -msgid "Simplified Chinese" -msgstr "Sadələşdirilmiş Çincə" - -msgid "Traditional Chinese" -msgstr "Ənənəvi Çincə" - -msgid "Messages" -msgstr "Mesajlar" - -msgid "Site Maps" -msgstr "Sayt Xəritələri" - -msgid "Static Files" -msgstr "Statik Fayllar" - -msgid "Syndication" -msgstr "Sindikasiya" - -msgid "That page number is not an integer" -msgstr "Səhifə nömrəsi rəqəm deyil" - -msgid "That page number is less than 1" -msgstr "Səhifə nömrəsi 1-dən balacadır" - -msgid "That page contains no results" -msgstr "Səhifədə nəticə yoxdur" - -msgid "Enter a valid value." -msgstr "Düzgün qiymət daxil edin." - -msgid "Enter a valid URL." -msgstr "Düzgün URL daxil edin." - -msgid "Enter a valid integer." -msgstr "Düzgün rəqəm daxil edin." - -msgid "Enter a valid email address." -msgstr "Düzgün e-poçt ünvanı daxil edin." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" -"Hərflərdən, rəqəmlərdən, alt-xətlərdən və ya defislərdən ibarət düzgün " -"qısaltma (“slug”) daxil edin." - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" -"Unicode hərflərdən, rəqəmlərdən, alt-xətlərdən və ya defislərdən ibarət " -"düzgün qısaltma (“slug”) daxil edin." - -msgid "Enter a valid IPv4 address." -msgstr "Düzgün IPv4 ünvanı daxil edin." - -msgid "Enter a valid IPv6 address." -msgstr "Düzgün IPv6 ünvanını daxil edin." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Düzgün IPv4 və ya IPv6 ünvanını daxil edin." - -msgid "Enter only digits separated by commas." -msgstr "Vergüllə ayırmaqla yalnız rəqəmlər daxil edin." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "Əmin edin ki, bu qiymət %(limit_value)s-dir (bu %(show_value)s-dir)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "" -"Bu qiymətin %(limit_value)s-ya bərabər və ya ondan kiçik olduğunu yoxlayın." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "" -"Bu qiymətin %(limit_value)s-ya bərabər və ya ondan böyük olduğunu yoxlayın." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Bu dəyərin ən az %(limit_value)d simvol olduğuna əmin olun (%(show_value)d " -"var)" -msgstr[1] "" -"Bu dəyərin ən az %(limit_value)d simvol olduğuna əmin olun (%(show_value)d " -"var)" - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Bu dəyərin ən çox %(limit_value)d simvol olduğuna əmin olun (%(show_value)d " -"var)" -msgstr[1] "" -"Bu dəyərin ən çox %(limit_value)d simvol olduğuna əmin olun (%(show_value)d " -"var)" - -msgid "Enter a number." -msgstr "Ədəd daxil edin." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Toplamda %(max)s rəqəmdən çox olmadığına əmin olun." -msgstr[1] "Toplamda %(max)s rəqəmdən çox olmadığına əmin olun." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "Onluq hissənin %(max)s rəqəmdən çox olmadığına əmin olun." -msgstr[1] "Onluq hissənin %(max)s rəqəmdən çox olmadığına əmin olun." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "Onluq hissədən əvvəl %(max)s rəqəmdən çox olmadığına əmin olun." -msgstr[1] "Onluq hissədən əvvəl %(max)s rəqəmdən çox olmadığına əmin olun." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" -"“%(extension)s” fayl uzantısına icazə verilmir. İcazə verilən fayl " -"uzantıları: %(allowed_extensions)s." - -msgid "Null characters are not allowed." -msgstr "Null simvollara icazə verilmir." - -msgid "and" -msgstr "və" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "%(field_labels)s ilə %(model_name)s artıq mövcuddur." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "%(value)r dəyəri doğru seçim deyil." - -msgid "This field cannot be null." -msgstr "Bu sahə boş qala bilməz." - -msgid "This field cannot be blank." -msgstr "Bu sahə ağ qala bilməz." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s bu %(field_label)s sahə ilə artıq mövcuddur." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(field_label)s dəyəri %(date_field_label)s %(lookup_type)s üçün unikal " -"olmalıdır." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Sahənin tipi: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "“%(value)s” dəyəri True və ya False olmalıdır." - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "“%(value)s” dəyəri True, False və ya None olmalıdır." - -msgid "Boolean (Either True or False)" -msgstr "Bul (ya Doğru, ya Yalan)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Sətir (%(max_length)s simvola kimi)" - -msgid "Comma-separated integers" -msgstr "Vergüllə ayrılmış tam ədədlər" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" -"“%(value)s” dəyəri səhv tarix formatındadır. Formatı YYYY-MM-DD olmalıdır." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" -"“%(value)s” dəyəri düzgün formatdadır (YYYY-MM-DD) amma bu tarix xətalıdır." - -msgid "Date (without time)" -msgstr "Tarix (saatsız)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" -"“%(value)s” dəyərinin formatı səhvdir. Formatı YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ] olmalıdır." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" -"“%(value)s” dəyərinin formatı düzgündür (YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]) " -"amma bu tarix xətalıdır." - -msgid "Date (with time)" -msgstr "Tarix (vaxt ilə)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "“%(value)s” dəyəri onluq kəsrli (decimal) rəqəm olmalıdır." - -msgid "Decimal number" -msgstr "Rasional ədəd" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" -"“%(value)s” dəyərinin formatı səhvdir. Formatı [DD] [HH:[MM:]]ss[.uuuuuu] " -"olmalıdır." - -msgid "Duration" -msgstr "Müddət" - -msgid "Email address" -msgstr "E-poçt" - -msgid "File path" -msgstr "Faylın ünvanı" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "“%(value)s” dəyəri float olmalıdır." - -msgid "Floating point number" -msgstr "Sürüşən vergüllü ədəd" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "“%(value)s” dəyəri tam rəqəm olmalıdır." - -msgid "Integer" -msgstr "Tam ədəd" - -msgid "Big (8 byte) integer" -msgstr "Böyük (8 bayt) tam ədəd" - -msgid "IPv4 address" -msgstr "IPv4 ünvanı" - -msgid "IP address" -msgstr "IP ünvan" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "“%(value)s” dəyəri None, True və ya False olmalıdır." - -msgid "Boolean (Either True, False or None)" -msgstr "Bul (Ya Doğru, ya Yalan, ya da Heç nə)" - -msgid "Positive integer" -msgstr "Müsbət tam ədəd" - -msgid "Positive small integer" -msgstr "Müsbət tam kiçik ədəd" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Əzmə (%(max_length)s simvola kimi)" - -msgid "Small integer" -msgstr "Kiçik tam ədəd" - -msgid "Text" -msgstr "Mətn" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" -"“%(value)s” dəyərinin formatı səhvdir. Formatı HH:MM[:ss[.uuuuuu]] olmalıdır." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" -"“%(value)s” dəyəri düzgün formatdadır (HH:MM[:ss[.uuuuuu]]), amma vaxtı " -"xətalıdır." - -msgid "Time" -msgstr "Vaxt" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Düz ikili (binary) məlumat" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "“%(value)s” keçərli UUID deyil." - -msgid "Universally unique identifier" -msgstr "Universal təkrarolunmaz identifikator" - -msgid "File" -msgstr "Fayl" - -msgid "Image" -msgstr "Şəkil" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "%(field)s dəyəri %(value)r olan %(model)s mövcud deyil." - -msgid "Foreign Key (type determined by related field)" -msgstr "Xarici açar (bağlı olduğu sahəyə uyğun tipi alır)" - -msgid "One-to-one relationship" -msgstr "Birin-birə münasibət" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "%(from)s-%(to)s əlaqəsi" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "%(from)s-%(to)s əlaqələri" - -msgid "Many-to-many relationship" -msgstr "Çoxun-çoxa münasibət" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Bu sahə vacibdir." - -msgid "Enter a whole number." -msgstr "Tam ədəd daxil edin." - -msgid "Enter a valid date." -msgstr "Düzgün tarix daxil edin." - -msgid "Enter a valid time." -msgstr "Düzgün vaxt daxil edin." - -msgid "Enter a valid date/time." -msgstr "Düzgün tarix/vaxt daxil edin." - -msgid "Enter a valid duration." -msgstr "Keçərli müddət daxil edin." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "Günlərin sayı {min_days} ilə {max_days} arasında olmalıdır." - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Fayl göndərilməyib. Vərəqənin (\"form\") şifrələmə tipini yoxlayın." - -msgid "No file was submitted." -msgstr "Fayl göndərilməyib." - -msgid "The submitted file is empty." -msgstr "Göndərilən fayl boşdur." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Bu fayl adının ən çox %(max)d simvol olduğuna əmin olun (%(length)d var)." -msgstr[1] "" -"Bu fayl adının ən çox %(max)d simvol olduğuna əmin olun (%(length)d var)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" -"Ya fayl göndərin, ya da xanaya quş qoymayın, hər ikisini də birdən etməyin." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Düzgün şəkil göndərin. Göndərdiyiniz fayl ya şəkil deyil, ya da şəkildə " -"problem var." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "Düzgün seçim edin. %(value)s seçimlər arasında yoxdur." - -msgid "Enter a list of values." -msgstr "Qiymətlərin siyahısını daxil edin." - -msgid "Enter a complete value." -msgstr "Tam dəyər daxil edin." - -msgid "Enter a valid UUID." -msgstr "Keçərli UUID daxil et." - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Gizli %(name)s sahəsi) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "ManagementForm məlumatları əksikdir və ya korlanıb" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Lütfən %d və ya daha az forma göndərin." -msgstr[1] "Lütfən %d və ya daha az forma göndərin." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "Lütfən %d və ya daha çox forma göndərin." -msgstr[1] "Lütfən %d və ya daha çox forma göndərin." - -msgid "Order" -msgstr "Sırala" - -msgid "Delete" -msgstr "Sil" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "%(field)s sahəsinə görə təkrarlanan məlumatlara düzəliş edin." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"%(field)s sahəsinə görə təkrarlanan məlumatlara düzəliş edin, onların hamısı " -"fərqli olmalıdır." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"%(field_name)s sahəsinə görə təkrarlanan məlumatlara düzəliş edin, onlar " -"%(date_field)s %(lookup)s-a görə fərqli olmalıdır." - -msgid "Please correct the duplicate values below." -msgstr "Aşağıda təkrarlanan qiymətlərə düzəliş edin." - -msgid "The inline value did not match the parent instance." -msgstr "Sətiriçi dəyər ana nüsxəyə uyğun deyil." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "Düzgün seçim edin. Bu seçim mümkün deyil." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "“%(pk)s” düzgün dəyər deyil." - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" -"%(datetime)s vaxtı %(current_timezone)s zaman qurşağında ifadə oluna bilmir; " -"ya duallıq, ya da mövcud olmaya bilər." - -msgid "Clear" -msgstr "Təmizlə" - -msgid "Currently" -msgstr "Hal-hazırda" - -msgid "Change" -msgstr "Dəyiş" - -msgid "Unknown" -msgstr "Məlum deyil" - -msgid "Yes" -msgstr "Hə" - -msgid "No" -msgstr "Yox" - -msgid "Year" -msgstr "İl" - -msgid "Month" -msgstr "Ay" - -msgid "Day" -msgstr "Gün" - -msgid "yes,no,maybe" -msgstr "hə,yox,bəlkə" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d bayt" -msgstr[1] "%(size)d bayt" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s QB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "p.m." - -msgid "a.m." -msgstr "a.m." - -msgid "PM" -msgstr "PM" - -msgid "AM" -msgstr "AM" - -msgid "midnight" -msgstr "gecə yarısı" - -msgid "noon" -msgstr "günorta" - -msgid "Monday" -msgstr "Bazar ertəsi" - -msgid "Tuesday" -msgstr "Çərşənbə axşamı" - -msgid "Wednesday" -msgstr "Çərşənbə" - -msgid "Thursday" -msgstr "Cümə axşamı" - -msgid "Friday" -msgstr "Cümə" - -msgid "Saturday" -msgstr "Şənbə" - -msgid "Sunday" -msgstr "Bazar" - -msgid "Mon" -msgstr "B.e" - -msgid "Tue" -msgstr "Ç.a" - -msgid "Wed" -msgstr "Çrş" - -msgid "Thu" -msgstr "C.a" - -msgid "Fri" -msgstr "Cüm" - -msgid "Sat" -msgstr "Şnb" - -msgid "Sun" -msgstr "Bzr" - -msgid "January" -msgstr "Yanvar" - -msgid "February" -msgstr "Fevral" - -msgid "March" -msgstr "Mart" - -msgid "April" -msgstr "Aprel" - -msgid "May" -msgstr "May" - -msgid "June" -msgstr "İyun" - -msgid "July" -msgstr "İyul" - -msgid "August" -msgstr "Avqust" - -msgid "September" -msgstr "Sentyabr" - -msgid "October" -msgstr "Oktyabr" - -msgid "November" -msgstr "Noyabr" - -msgid "December" -msgstr "Dekabr" - -msgid "jan" -msgstr "ynv" - -msgid "feb" -msgstr "fvr" - -msgid "mar" -msgstr "mar" - -msgid "apr" -msgstr "apr" - -msgid "may" -msgstr "may" - -msgid "jun" -msgstr "iyn" - -msgid "jul" -msgstr "iyl" - -msgid "aug" -msgstr "avq" - -msgid "sep" -msgstr "snt" - -msgid "oct" -msgstr "okt" - -msgid "nov" -msgstr "noy" - -msgid "dec" -msgstr "dek" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Yan." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Fev." - -msgctxt "abbrev. month" -msgid "March" -msgstr "Mart" - -msgctxt "abbrev. month" -msgid "April" -msgstr "Aprel" - -msgctxt "abbrev. month" -msgid "May" -msgstr "May" - -msgctxt "abbrev. month" -msgid "June" -msgstr "İyun" - -msgctxt "abbrev. month" -msgid "July" -msgstr "İyul" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Avq." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Sent." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Okt." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Noy." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Dek." - -msgctxt "alt. month" -msgid "January" -msgstr "Yanvar" - -msgctxt "alt. month" -msgid "February" -msgstr "Fevral" - -msgctxt "alt. month" -msgid "March" -msgstr "Mart" - -msgctxt "alt. month" -msgid "April" -msgstr "Aprel" - -msgctxt "alt. month" -msgid "May" -msgstr "May" - -msgctxt "alt. month" -msgid "June" -msgstr "İyun" - -msgctxt "alt. month" -msgid "July" -msgstr "İyul" - -msgctxt "alt. month" -msgid "August" -msgstr "Avqust" - -msgctxt "alt. month" -msgid "September" -msgstr "Sentyabr" - -msgctxt "alt. month" -msgid "October" -msgstr "Oktyabr" - -msgctxt "alt. month" -msgid "November" -msgstr "Noyabr" - -msgctxt "alt. month" -msgid "December" -msgstr "Dekabr" - -msgid "This is not a valid IPv6 address." -msgstr "Bu doğru IPv6 ünvanı deyil." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s…" - -msgid "or" -msgstr "və ya" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d il" -msgstr[1] "%d il" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d ay" -msgstr[1] "%d ay" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d həftə" -msgstr[1] "%d həftə" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d gün" -msgstr[1] "%d gün" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d saat" -msgstr[1] "%d saat" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d dəqiqə" -msgstr[1] "%d dəqiqə" - -msgid "0 minutes" -msgstr "0 dəqiqə" - -msgid "Forbidden" -msgstr "Qadağan" - -msgid "CSRF verification failed. Request aborted." -msgstr "CSRF təsdiqləmə alınmadı. Sorğu ləğv edildi." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" -"Bu HTTPS sayt səyyahınız tərəfindən “Referer header” göndərilməsini tələb " -"edir, amma göndərilmir. Bu başlıq səyyahınızın üçüncü biri tərəfindən hack-" -"lənmədiyinə əmin olmaq üçün istifadə edilir." - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" -"Əgər səyyahınızın “Referer” başlığını göndərməsini söndürmüsünüzsə, lütfən " -"bu sayt üçün, HTTPS əlaqələr üçün və ya “same-origin” sorğular üçün aktiv " -"edin." - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" -"Əgər etiketini və ya " -"“Referrer-Policy: no-referrer” başlığını işlədirsinizsə, lütfən silin. CSRF " -"qoruma dəqiq yönləndirən yoxlaması üçün “Referer” başlığını tələb edir. Əgər " -"məxfilik üçün düşünürsünüzsə, üçüncü tərəf sayt keçidləri üçün kimi bir alternativ işlədin." - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Bu sayt formaları göndərmək üçün CSRF çərəzini işlədir. Bu çərəz " -"səyyahınızın üçüncü biri tərəfindən hack-lənmədiyinə əmin olmaq üçün " -"istifadə edilir. " - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" -"Əgər səyyahınızda çərəzlər söndürülübsə, lütfən bu sayt və ya “same-origin” " -"sorğular üçün aktiv edin." - -msgid "More information is available with DEBUG=True." -msgstr "Daha ətraflı məlumat DEBUG=True ilə mövcuddur." - -msgid "No year specified" -msgstr "İl göstərilməyib" - -msgid "Date out of range" -msgstr "Tarix aralığın xaricindədir" - -msgid "No month specified" -msgstr "Ay göstərilməyib" - -msgid "No day specified" -msgstr "Gün göstərilməyib" - -msgid "No week specified" -msgstr "Həftə göstərilməyib" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "%(verbose_name_plural)s seçmək mümkün deyil" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"Gələcək %(verbose_name_plural)s seçmək mümkün deyil, çünki %(class_name)s." -"allow_future Yalan kimi qeyd olunub." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "“%(format)s” formatına görə “%(datestr)s” tarixi düzgün deyil" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Sorğuya uyğun %(verbose_name)s tapılmadı" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "Səhifə həm “axırıncı” deyil, həm də tam ədədə çevrilə bilmir." - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Qeyri-düzgün səhifə (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "Siyahı boşdur və “%(class_name)s.allow_empty” dəyəri False-dur." - -msgid "Directory indexes are not allowed here." -msgstr "Ünvan indekslərinə icazə verilmir." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "“%(path)s” mövcud deyil" - -#, python-format -msgid "Index of %(directory)s" -msgstr "%(directory)s-nin indeksi" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "Django: tələsən mükəmməlləkçilər üçün Web framework." - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"Django %(version)s üçün buraxılış " -"qeydlərinə baxın" - -msgid "The install worked successfully! Congratulations!" -msgstr "Quruluş uğurla tamamlandı! Təbriklər!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"Tənzimləmə faylınızda DEBUG=True və heç bir URL qurmadığınız üçün bu səhifəni görürsünüz." - -msgid "Django Documentation" -msgstr "Django Sənədləri" - -msgid "Topics, references, & how-to’s" -msgstr "Mövzular, istinadlar və nümunələr" - -msgid "Tutorial: A Polling App" -msgstr "Məşğələ: Səsvermə Tətbiqi" - -msgid "Get started with Django" -msgstr "Django-ya başla" - -msgid "Django Community" -msgstr "Django İcması" - -msgid "Connect, get help, or contribute" -msgstr "Qoşul, kömək al və dəstək ol" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/az/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/az/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/az/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/az/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 50242507..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/az/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/az/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/az/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 6730faec..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/az/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/az/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/az/formats.py deleted file mode 100644 index 6f655d18..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/az/formats.py +++ /dev/null @@ -1,30 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'j E Y' -TIME_FORMAT = 'G:i' -DATETIME_FORMAT = 'j E Y, G:i' -YEAR_MONTH_FORMAT = 'F Y' -MONTH_DAY_FORMAT = 'j F' -SHORT_DATE_FORMAT = 'd.m.Y' -SHORT_DATETIME_FORMAT = 'd.m.Y H:i' -FIRST_DAY_OF_WEEK = 1 # Monday - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -DATE_INPUT_FORMATS = [ - '%d.%m.%Y', # '25.10.2006' - '%d.%m.%y', # '25.10.06' -] -DATETIME_INPUT_FORMATS = [ - '%d.%m.%Y %H:%M:%S', # '25.10.2006 14:30:59' - '%d.%m.%Y %H:%M:%S.%f', # '25.10.2006 14:30:59.000200' - '%d.%m.%Y %H:%M', # '25.10.2006 14:30' - '%d.%m.%y %H:%M:%S', # '25.10.06 14:30:59' - '%d.%m.%y %H:%M:%S.%f', # '25.10.06 14:30:59.000200' - '%d.%m.%y %H:%M', # '25.10.06 14:30' -] -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = '\xa0' # non-breaking space -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/be/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/be/LC_MESSAGES/django.mo deleted file mode 100644 index 5f7d9d70..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/be/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/be/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/be/LC_MESSAGES/django.po deleted file mode 100644 index ac2a5c3b..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/be/LC_MESSAGES/django.po +++ /dev/null @@ -1,1345 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Viktar Palstsiuk , 2014-2015 -# znotdead , 2016-2017,2019-2020 -# Дмитрий Шатера , 2016 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-07-15 01:21+0000\n" -"Last-Translator: znotdead \n" -"Language-Team: Belarusian (http://www.transifex.com/django/django/language/" -"be/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: be\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" -"%100>=11 && n%100<=14)? 2 : 3);\n" - -msgid "Afrikaans" -msgstr "Афрыкаанс" - -msgid "Arabic" -msgstr "Арабская" - -msgid "Algerian Arabic" -msgstr "Алжырская арабская" - -msgid "Asturian" -msgstr "Астурыйская" - -msgid "Azerbaijani" -msgstr "Азэрбайджанская" - -msgid "Bulgarian" -msgstr "Баўгарская" - -msgid "Belarusian" -msgstr "Беларуская" - -msgid "Bengali" -msgstr "Бэнґальская" - -msgid "Breton" -msgstr "Брэтонская" - -msgid "Bosnian" -msgstr "Басьнійская" - -msgid "Catalan" -msgstr "Каталёнская" - -msgid "Czech" -msgstr "Чэская" - -msgid "Welsh" -msgstr "Валійская" - -msgid "Danish" -msgstr "Дацкая" - -msgid "German" -msgstr "Нямецкая" - -msgid "Lower Sorbian" -msgstr "Ніжнелужыцкая" - -msgid "Greek" -msgstr "Грэцкая" - -msgid "English" -msgstr "Анґельская" - -msgid "Australian English" -msgstr "Анґельская (Аўстралія)" - -msgid "British English" -msgstr "Анґельская (Брытанская)" - -msgid "Esperanto" -msgstr "Эспэранта" - -msgid "Spanish" -msgstr "Гішпанская" - -msgid "Argentinian Spanish" -msgstr "Гішпанская (Арґентына)" - -msgid "Colombian Spanish" -msgstr "Гішпанская (Калумбія)" - -msgid "Mexican Spanish" -msgstr "Гішпанская (Мэксыка)" - -msgid "Nicaraguan Spanish" -msgstr "Гішпанская (Нікараґуа)" - -msgid "Venezuelan Spanish" -msgstr "Іспанская (Вэнэсуэла)" - -msgid "Estonian" -msgstr "Эстонская" - -msgid "Basque" -msgstr "Басконская" - -msgid "Persian" -msgstr "Фарсі" - -msgid "Finnish" -msgstr "Фінская" - -msgid "French" -msgstr "Француская" - -msgid "Frisian" -msgstr "Фрызкая" - -msgid "Irish" -msgstr "Ірляндзкая" - -msgid "Scottish Gaelic" -msgstr "Гэльская шатляндзкая" - -msgid "Galician" -msgstr "Ґальская" - -msgid "Hebrew" -msgstr "Габрэйская" - -msgid "Hindi" -msgstr "Гінды" - -msgid "Croatian" -msgstr "Харвацкая" - -msgid "Upper Sorbian" -msgstr "Верхнелужыцкая" - -msgid "Hungarian" -msgstr "Вугорская" - -msgid "Armenian" -msgstr "Армянскі" - -msgid "Interlingua" -msgstr "Інтэрлінгва" - -msgid "Indonesian" -msgstr "Інданэзійская" - -msgid "Igbo" -msgstr "Ігба" - -msgid "Ido" -msgstr "Іда" - -msgid "Icelandic" -msgstr "Ісьляндзкая" - -msgid "Italian" -msgstr "Італьянская" - -msgid "Japanese" -msgstr "Японская" - -msgid "Georgian" -msgstr "Грузінская" - -msgid "Kabyle" -msgstr "Кабільскі" - -msgid "Kazakh" -msgstr "Казаская" - -msgid "Khmer" -msgstr "Кхмерская" - -msgid "Kannada" -msgstr "Каннада" - -msgid "Korean" -msgstr "Карэйская" - -msgid "Kyrgyz" -msgstr "Кіргізская" - -msgid "Luxembourgish" -msgstr "Люксэмбургская" - -msgid "Lithuanian" -msgstr "Літоўская" - -msgid "Latvian" -msgstr "Латыская" - -msgid "Macedonian" -msgstr "Македонская" - -msgid "Malayalam" -msgstr "Малаялам" - -msgid "Mongolian" -msgstr "Манґольская" - -msgid "Marathi" -msgstr "Маратхі" - -msgid "Burmese" -msgstr "Бірманская" - -msgid "Norwegian Bokmål" -msgstr "Нарвэская букмал" - -msgid "Nepali" -msgstr "Нэпальская" - -msgid "Dutch" -msgstr "Галяндзкая" - -msgid "Norwegian Nynorsk" -msgstr "Нарвэская нюнорск" - -msgid "Ossetic" -msgstr "Асяцінская" - -msgid "Punjabi" -msgstr "Панджабі" - -msgid "Polish" -msgstr "Польская" - -msgid "Portuguese" -msgstr "Партуґальская" - -msgid "Brazilian Portuguese" -msgstr "Партуґальская (Бразылія)" - -msgid "Romanian" -msgstr "Румынская" - -msgid "Russian" -msgstr "Расейская" - -msgid "Slovak" -msgstr "Славацкая" - -msgid "Slovenian" -msgstr "Славенская" - -msgid "Albanian" -msgstr "Альбанская" - -msgid "Serbian" -msgstr "Сэрбская" - -msgid "Serbian Latin" -msgstr "Сэрбская (лацінка)" - -msgid "Swedish" -msgstr "Швэдзкая" - -msgid "Swahili" -msgstr "Суахілі" - -msgid "Tamil" -msgstr "Тамільская" - -msgid "Telugu" -msgstr "Тэлуґу" - -msgid "Tajik" -msgstr "Таджыкскі" - -msgid "Thai" -msgstr "Тайская" - -msgid "Turkmen" -msgstr "Туркменская" - -msgid "Turkish" -msgstr "Турэцкая" - -msgid "Tatar" -msgstr "Татарская" - -msgid "Udmurt" -msgstr "Удмурцкая" - -msgid "Ukrainian" -msgstr "Украінская" - -msgid "Urdu" -msgstr "Урду" - -msgid "Uzbek" -msgstr "Узбецкі" - -msgid "Vietnamese" -msgstr "Віетнамская" - -msgid "Simplified Chinese" -msgstr "Кітайская (спрошчаная)" - -msgid "Traditional Chinese" -msgstr "Кітайская (звычайная)" - -msgid "Messages" -msgstr "Паведамленні" - -msgid "Site Maps" -msgstr "Мапы сайту" - -msgid "Static Files" -msgstr "Cтатычныя файлы" - -msgid "Syndication" -msgstr "Сындыкацыя" - -msgid "That page number is not an integer" -msgstr "Лік гэтай старонкі не з'яўляецца цэлым лікам" - -msgid "That page number is less than 1" -msgstr "Лік старонкі менш чым 1" - -msgid "That page contains no results" -msgstr "Гэтая старонка не мае ніякіх вынікаў" - -msgid "Enter a valid value." -msgstr "Пазначце правільнае значэньне." - -msgid "Enter a valid URL." -msgstr "Пазначце чынную спасылку." - -msgid "Enter a valid integer." -msgstr "Увядзіце цэлы лік." - -msgid "Enter a valid email address." -msgstr "Увядзіце сапраўдны адрас электроннай пошты." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" -"Значэнне павінна быць толькі з літараў, личбаў, знакаў падкрэслівання ці " -"злучкі." - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" -"Значэнне павінна быць толькі з літараў стандарту Unicode, личбаў, знакаў " -"падкрэслівання ці злучкі." - -msgid "Enter a valid IPv4 address." -msgstr "Пазначце чынны адрас IPv4." - -msgid "Enter a valid IPv6 address." -msgstr "Пазначце чынны адрас IPv6." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Пазначце чынны адрас IPv4 або IPv6." - -msgid "Enter only digits separated by commas." -msgstr "Набярыце лічбы, падзеленыя коскамі." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" -"Упэўніцеся, што гэтае значэньне — %(limit_value)s (зараз яно — " -"%(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Значэньне мусіць быць меншым або роўным %(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Значэньне мусіць быць большым або роўным %(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Упэўніцеся, што гэтае значэнне мае не менш %(limit_value)d сімвал (зараз " -"%(show_value)d)." -msgstr[1] "" -"Упэўніцеся, што гэтае значэнне мае не менш %(limit_value)d сімвала (зараз " -"%(show_value)d)." -msgstr[2] "" -"Упэўніцеся, што гэтае значэнне мае не менш %(limit_value)d сімвалаў (зараз " -"%(show_value)d)." -msgstr[3] "" -"Упэўніцеся, што гэтае значэнне мае не менш %(limit_value)d сімвалаў (зараз " -"%(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Упэўніцеся, што гэтае значэнне мае не болей %(limit_value)d сімвал (зараз " -"%(show_value)d)." -msgstr[1] "" -"Упэўніцеся, што гэтае значэнне мае не болей %(limit_value)d сімвала (зараз " -"%(show_value)d)." -msgstr[2] "" -"Упэўніцеся, што гэтае значэнне мае не болей %(limit_value)d сімвалаў (зараз " -"%(show_value)d)." -msgstr[3] "" -"Упэўніцеся, што гэтае значэнне мае не болей %(limit_value)d сімвалаў (зараз " -"%(show_value)d)." - -msgid "Enter a number." -msgstr "Набярыце лік." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Упэўніцеся, што набралі ня болей за %(max)s лічбу." -msgstr[1] "Упэўніцеся, што набралі ня болей за %(max)s лічбы." -msgstr[2] "Упэўніцеся, што набралі ня болей за %(max)s лічбаў." -msgstr[3] "Упэўніцеся, што набралі ня болей за %(max)s лічбаў." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "Упэўніцеся, што набралі ня болей за %(max)s лічбу пасьля коскі." -msgstr[1] "Упэўніцеся, што набралі ня болей за %(max)s лічбы пасьля коскі." -msgstr[2] "Упэўніцеся, што набралі ня болей за %(max)s лічбаў пасьля коскі." -msgstr[3] "Упэўніцеся, што набралі ня болей за %(max)s лічбаў пасьля коскі." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "Упэўніцеся, што набралі ня болей за %(max)s лічбу да коскі." -msgstr[1] "Упэўніцеся, што набралі ня болей за %(max)s лічбы да коскі." -msgstr[2] "Упэўніцеся, што набралі ня болей за %(max)s лічбаў да коскі." -msgstr[3] "Упэўніцеся, што набралі ня болей за %(max)s лічбаў да коскі." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" -"Пашырэнне файла “%(extension)s” не дапускаецца. Дапушчальныя пашырэння: " -"%(allowed_extensions)s." - -msgid "Null characters are not allowed." -msgstr "Null сімвалы не дапускаюцца." - -msgid "and" -msgstr "і" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "%(model_name)s з такім %(field_labels)s ужо існуе." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "Значэнне %(value)r не з'яўляецца правільным выбарам." - -msgid "This field cannot be null." -msgstr "Поле ня можа мець значэньне «null»." - -msgid "This field cannot be blank." -msgstr "Трэба запоўніць поле." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s з такім %(field_label)s ужо існуе." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(field_label)s павінна быць унікальна для %(date_field_label)s " -"%(lookup_type)s." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Палі віду: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "Значэньне “%(value)s” павінна быць True альбо False." - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "Значэньне “%(value)s” павінна быць True, False альбо None." - -msgid "Boolean (Either True or False)" -msgstr "Ляґічнае («сапраўдна» або «не сапраўдна»)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Радок (ня болей за %(max_length)s)" - -msgid "Comma-separated integers" -msgstr "Цэлыя лікі, падзеленыя коскаю" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" -"Значэнне “%(value)s” мае няправільны фармат. Яно павінна быць у фармаце ГГГГ-" -"ММ-ДД." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" -"Значэнне “%(value)s” мае правільны фармат(ГГГГ-ММ-ДД) але гэта несапраўдная " -"дата." - -msgid "Date (without time)" -msgstr "Дата (бяз часу)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" -"Значэнне “%(value)s” мае няправільны фармат. Яно павінна быць у фармаце ГГГГ-" -"ММ-ДД ГГ:ХХ[:сс[.мммммм]][ЧА], дзе ЧА — часавы абсяг." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" -"Значэнне “%(value)s” мае правільны фармат (ГГГГ-ММ-ДД ГГ:ХХ[:сс[.мммммм]]" -"[ЧА], дзе ЧА — часавы абсяг) але гэта несапраўдныя дата/час." - -msgid "Date (with time)" -msgstr "Дата (разам з часам)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "Значэньне “%(value)s” павінна быць дзесятковым лікам." - -msgid "Decimal number" -msgstr "Дзесятковы лік" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" -"Значэньне “%(value)s” мае няправільны фармат. Яно павінна быць у фармаце " -"[ДД] [ГГ:[ХХ:]]сс[.мммммм]." - -msgid "Duration" -msgstr "Працягласць" - -msgid "Email address" -msgstr "Адрас эл. пошты" - -msgid "File path" -msgstr "Шлях да файла" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "Значэньне “%(value)s” павінна быць дробным лікам." - -msgid "Floating point number" -msgstr "Лік зь пераноснай коскаю" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "Значэньне “%(value)s” павінна быць цэлым лікам." - -msgid "Integer" -msgstr "Цэлы лік" - -msgid "Big (8 byte) integer" -msgstr "Вялікі (8 байтаў) цэлы" - -msgid "IPv4 address" -msgstr "Адрас IPv4" - -msgid "IP address" -msgstr "Адрас IP" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "Значэньне “%(value)s” павінна быць None, True альбо False." - -msgid "Boolean (Either True, False or None)" -msgstr "Ляґічнае («сапраўдна», «не сапраўдна» ці «нічога»)" - -msgid "Positive big integer" -msgstr "Дадатны вялікі цэлы лік" - -msgid "Positive integer" -msgstr "Дадатны цэлы лік" - -msgid "Positive small integer" -msgstr "Дадатны малы цэлы лік" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Бірка (ня болей за %(max_length)s)" - -msgid "Small integer" -msgstr "Малы цэлы лік" - -msgid "Text" -msgstr "Тэкст" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" -"Значэньне “%(value)s” мае няправільны фармат. Яно павінна быць у фармаце ГГ:" -"ХХ[:сс[.мммммм]]." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" -"Значэнне “%(value)s” мае правільны фармат (ГГ:ХХ[:сс[.мммммм]]) але гэта " -"несапраўдны час." - -msgid "Time" -msgstr "Час" - -msgid "URL" -msgstr "Сеціўная спасылка" - -msgid "Raw binary data" -msgstr "Неапрацаваныя бінарныя зьвесткі" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "“%(value)s” не з'яўляецца дапушчальным UUID." - -msgid "Universally unique identifier" -msgstr "Універсальны непаўторны ідэнтыфікатар" - -msgid "File" -msgstr "Файл" - -msgid "Image" -msgstr "Выява" - -msgid "A JSON object" -msgstr "Аб'ект JSON" - -msgid "Value must be valid JSON." -msgstr "Значэньне павінна быць сапраўдным JSON." - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "Экземпляр %(model)s з %(field)s %(value)r не iснуе." - -msgid "Foreign Key (type determined by related field)" -msgstr "Вонкавы ключ (від вызначаецца паводле зьвязанага поля)" - -msgid "One-to-one relationship" -msgstr "Сувязь «адзін да аднаго»" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "Сувязь %(from)s-%(to)s" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "Сувязi %(from)s-%(to)s" - -msgid "Many-to-many relationship" -msgstr "Сувязь «некалькі да некалькіх»" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Поле трэба запоўніць." - -msgid "Enter a whole number." -msgstr "Набярыце ўвесь лік." - -msgid "Enter a valid date." -msgstr "Пазначце чынную дату." - -msgid "Enter a valid time." -msgstr "Пазначце чынны час." - -msgid "Enter a valid date/time." -msgstr "Пазначце чынныя час і дату." - -msgid "Enter a valid duration." -msgstr "Увядзіце сапраўдны тэрмін." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "Колькасць дзён павінна быць паміж {min_days} i {max_days}." - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Файл не даслалі. Зірніце кадоўку блянку." - -msgid "No file was submitted." -msgstr "Файл не даслалі." - -msgid "The submitted file is empty." -msgstr "Дасланы файл — парожні." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Упэўніцеся, што гэтае імя файлу мае не болей %(max)d сімвал (зараз " -"%(length)d)." -msgstr[1] "" -"Упэўніцеся, што гэтае імя файлу мае не болей %(max)d сімвала (зараз " -"%(length)d)." -msgstr[2] "" -"Упэўніцеся, што гэтае імя файлу мае не болей %(max)d сімвалаў (зараз " -"%(length)d)." -msgstr[3] "" -"Упэўніцеся, што гэтае імя файлу мае не болей %(max)d сімвалаў (зараз " -"%(length)d)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" -"Трэба або даслаць файл, або абраць «Ачысьціць», але нельга рабіць гэта " -"адначасова." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Запампаваць чынны малюнак. Запампавалі або не выяву, або пашкоджаную выяву." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "Абярыце дазволенае. %(value)s няма ў даступных значэньнях." - -msgid "Enter a list of values." -msgstr "Упішыце сьпіс значэньняў." - -msgid "Enter a complete value." -msgstr "Калі ласка, увядзіце поўнае значэньне." - -msgid "Enter a valid UUID." -msgstr "Увядзіце сапраўдны UUID." - -msgid "Enter a valid JSON." -msgstr "Пазначце сапраўдны JSON." - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Схаванае поле %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "Данныя ManagementForm адсутнічаюць ці былі пашкоджаны" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Калі ласка, адпраўце %d або менш формаў." -msgstr[1] "Калі ласка, адпраўце %d або менш формаў." -msgstr[2] "Калі ласка, адпраўце %d або менш формаў." -msgstr[3] "Калі ласка, адпраўце %d або менш формаў." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "Калі ласка, адпраўце %d або больш формаў." -msgstr[1] "Калі ласка, адпраўце %d або больш формаў." -msgstr[2] "Калі ласка, адпраўце %d або больш формаў." -msgstr[3] "Калі ласка, адпраўце %d або больш формаў." - -msgid "Order" -msgstr "Парадак" - -msgid "Delete" -msgstr "Выдаліць" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "У полі «%(field)s» выпраўце зьвесткі, якія паўтараюцца." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "Выпраўце зьвесткі ў полі «%(field)s»: нельга, каб яны паўтараліся." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Выпраўце зьвесткі ў полі «%(field_name)s»: нельга каб зьвесткі ў " -"«%(date_field)s» для «%(lookup)s» паўтараліся." - -msgid "Please correct the duplicate values below." -msgstr "Выпраўце зьвесткі, якія паўтараюцца (гл. ніжэй)." - -msgid "The inline value did not match the parent instance." -msgstr "Убудаванае значэнне не супадае з бацькоўскім значэннем." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "Абярыце дазволенае. Абранага няма ў даступных значэньнях." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "“%(pk)s” не сапраўднае значэнне." - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" -"У часавым абсягу %(current_timezone)s нельга зразумець дату %(datetime)s: " -"яна можа быць неадназначнаю або яе можа не існаваць." - -msgid "Clear" -msgstr "Ачысьціць" - -msgid "Currently" -msgstr "Зараз" - -msgid "Change" -msgstr "Зьмяніць" - -msgid "Unknown" -msgstr "Невядома" - -msgid "Yes" -msgstr "Так" - -msgid "No" -msgstr "Не" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "так,не,магчыма" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d байт" -msgstr[1] "%(size)d байты" -msgstr[2] "%(size)d байтаў" -msgstr[3] "%(size)d байтаў" - -#, python-format -msgid "%s KB" -msgstr "%s КБ" - -#, python-format -msgid "%s MB" -msgstr "%s МБ" - -#, python-format -msgid "%s GB" -msgstr "%s ҐБ" - -#, python-format -msgid "%s TB" -msgstr "%s ТБ" - -#, python-format -msgid "%s PB" -msgstr "%s ПБ" - -msgid "p.m." -msgstr "папаўдні" - -msgid "a.m." -msgstr "папоўначы" - -msgid "PM" -msgstr "папаўдні" - -msgid "AM" -msgstr "папоўначы" - -msgid "midnight" -msgstr "поўнач" - -msgid "noon" -msgstr "поўдзень" - -msgid "Monday" -msgstr "Панядзелак" - -msgid "Tuesday" -msgstr "Аўторак" - -msgid "Wednesday" -msgstr "Серада" - -msgid "Thursday" -msgstr "Чацьвер" - -msgid "Friday" -msgstr "Пятніца" - -msgid "Saturday" -msgstr "Субота" - -msgid "Sunday" -msgstr "Нядзеля" - -msgid "Mon" -msgstr "Пн" - -msgid "Tue" -msgstr "Аў" - -msgid "Wed" -msgstr "Ср" - -msgid "Thu" -msgstr "Чц" - -msgid "Fri" -msgstr "Пт" - -msgid "Sat" -msgstr "Сб" - -msgid "Sun" -msgstr "Нд" - -msgid "January" -msgstr "студзеня" - -msgid "February" -msgstr "лютага" - -msgid "March" -msgstr "сакавік" - -msgid "April" -msgstr "красавіка" - -msgid "May" -msgstr "траўня" - -msgid "June" -msgstr "чэрвеня" - -msgid "July" -msgstr "ліпеня" - -msgid "August" -msgstr "жніўня" - -msgid "September" -msgstr "верасьня" - -msgid "October" -msgstr "кастрычніка" - -msgid "November" -msgstr "лістапада" - -msgid "December" -msgstr "сьнежня" - -msgid "jan" -msgstr "сту" - -msgid "feb" -msgstr "лют" - -msgid "mar" -msgstr "сак" - -msgid "apr" -msgstr "кра" - -msgid "may" -msgstr "тра" - -msgid "jun" -msgstr "чэр" - -msgid "jul" -msgstr "ліп" - -msgid "aug" -msgstr "жні" - -msgid "sep" -msgstr "вер" - -msgid "oct" -msgstr "кас" - -msgid "nov" -msgstr "ліс" - -msgid "dec" -msgstr "сьн" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Сту." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Люты" - -msgctxt "abbrev. month" -msgid "March" -msgstr "сакавік" - -msgctxt "abbrev. month" -msgid "April" -msgstr "красавіка" - -msgctxt "abbrev. month" -msgid "May" -msgstr "траўня" - -msgctxt "abbrev. month" -msgid "June" -msgstr "чэрвеня" - -msgctxt "abbrev. month" -msgid "July" -msgstr "ліпеня" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Жні." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Вер." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Кас." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Ліс." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Сьн." - -msgctxt "alt. month" -msgid "January" -msgstr "студзеня" - -msgctxt "alt. month" -msgid "February" -msgstr "лютага" - -msgctxt "alt. month" -msgid "March" -msgstr "сакавік" - -msgctxt "alt. month" -msgid "April" -msgstr "красавіка" - -msgctxt "alt. month" -msgid "May" -msgstr "траўня" - -msgctxt "alt. month" -msgid "June" -msgstr "чэрвеня" - -msgctxt "alt. month" -msgid "July" -msgstr "ліпеня" - -msgctxt "alt. month" -msgid "August" -msgstr "жніўня" - -msgctxt "alt. month" -msgid "September" -msgstr "верасьня" - -msgctxt "alt. month" -msgid "October" -msgstr "кастрычніка" - -msgctxt "alt. month" -msgid "November" -msgstr "лістапада" - -msgctxt "alt. month" -msgid "December" -msgstr "сьнежня" - -msgid "This is not a valid IPv6 address." -msgstr "Гэта ня правільны адрас IPv6." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s…" - -msgid "or" -msgstr "або" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d год" -msgstr[1] "%d гады" -msgstr[2] "%d гадоў" -msgstr[3] "%d гадоў" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d месяц" -msgstr[1] "%d месяцы" -msgstr[2] "%d месяцаў" -msgstr[3] "%d месяцаў" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d тыдзень" -msgstr[1] "%d тыдні" -msgstr[2] "%d тыдняў" -msgstr[3] "%d тыдняў" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d дзень" -msgstr[1] "%d дні" -msgstr[2] "%d дзён" -msgstr[3] "%d дзён" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d гадзіна" -msgstr[1] "%d гадзіны" -msgstr[2] "%d гадзін" -msgstr[3] "%d гадзін" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d хвіліна" -msgstr[1] "%d хвіліны" -msgstr[2] "%d хвілінаў" -msgstr[3] "%d хвілінаў" - -msgid "Forbidden" -msgstr "Забаронена" - -msgid "CSRF verification failed. Request aborted." -msgstr "CSRF-праверка не атрымалася. Запыт спынены." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" -"Вы бачыце гэта паведамленне, таму што гэты HTTPS-сайт патрабуе каб Referer " -"загаловак быў адасланы вашым вэб-браўзэрам, але гэтага не адбылося. Гэты " -"загаловак неабходны для бяспекі, каб пераканацца, што ваш браўзэр не " -"ўзаламаны трэцімі асобамі." - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" -"Калі вы сканфігуравалі ваш браўзэр так, каб ён не працаваў з “Referer” " -"загалоўкамі, калі ласка дазвольце іх хаця б для гэтага сайту, ці для HTTPS " -"злучэнняў, ці для 'same-origin' запытаў." - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" -"Калі вы выкарыстоўваеце тэг " -"ці дадалі загаловак “Referrer-Policy: no-referrer”, калі ласка выдаліце іх. " -"CSRF абароне неабходны “Referer” загаловак для строгай праверкі. Калі Вы " -"турбуецеся аб прыватнасці, выкарыстоўвайце альтэрнатывы, напрыклад , для спасылкі на сайты трэціх асоб." - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Вы бачыце гэта паведамленне, таму што гэты сайт патрабуе CSRF кукі для " -"адсылкі формы. Гэтыя кукі неабходныя для бяспекі, каб пераканацца, што ваш " -"браўзэр не ўзламаны трэцімі асобамі." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" -"Калі вы сканфігуравалі ваш браўзэр так, каб ён не працаваў з кукамі, калі " -"ласка дазвольце іх хаця б для гэтага сайту ці для “same-origin” запытаў." - -msgid "More information is available with DEBUG=True." -msgstr "Больш падрабязная інфармацыя даступная з DEBUG=True." - -msgid "No year specified" -msgstr "Не пазначылі год" - -msgid "Date out of range" -msgstr "Дата выходзіць за межы дыяпазону" - -msgid "No month specified" -msgstr "Не пазначылі месяц" - -msgid "No day specified" -msgstr "Не пазначылі дзень" - -msgid "No week specified" -msgstr "Не пазначылі тыдзень" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "Няма доступу да %(verbose_name_plural)s" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"Няма доступу да %(verbose_name_plural)s, якія будуць, бо «%(class_name)s." -"allow_future» мае значэньне «не сапраўдна»." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "Радок даты “%(datestr)s” не адпавядае выгляду “%(format)s”" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Па запыце не знайшлі ніводнага %(verbose_name)s" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" -"Нумар бачыны ня мае значэньня “last” і яго нельга ператварыць у цэлы лік." - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Няправільная старонка (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" -"Сьпіс парожні, але “%(class_name)s.allow_empty” мае значэньне «не " -"сапраўдна», што забараняе паказваць парожнія сьпісы." - -msgid "Directory indexes are not allowed here." -msgstr "Не дазваляецца глядзець сьпіс файлаў каталёґа." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "“%(path)s” не існуе" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Файлы каталёґа «%(directory)s»" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "Джанга: Web рамкі для перфекцыяністаў з крайнімі тэрмінамі." - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"Паглядзець заўвагі да выпуску для Джангі " -"%(version)s" - -msgid "The install worked successfully! Congratulations!" -msgstr "Усталяванне прайшло паспяхова! Віншаванні!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"Вы бачыце гэту старонку таму што DEBUG=True у вашым файле налад і вы не сканфігурыравалі ніякіх URL." - -msgid "Django Documentation" -msgstr "Дакументацыя Джангі" - -msgid "Topics, references, & how-to’s" -msgstr "Тэмы, спасылкі, & як зрабіць" - -msgid "Tutorial: A Polling App" -msgstr "Падручнік: Дадатак для галасавання" - -msgid "Get started with Django" -msgstr "Пачніце з Джангаю" - -msgid "Django Community" -msgstr "Джанга супольнасць" - -msgid "Connect, get help, or contribute" -msgstr "Злучайцеся, атрымлівайце дапамогу, ці спрыяйце" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/bg/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/bg/LC_MESSAGES/django.mo deleted file mode 100644 index a7886df8..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/bg/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/bg/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/bg/LC_MESSAGES/django.po deleted file mode 100644 index e911c00a..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/bg/LC_MESSAGES/django.po +++ /dev/null @@ -1,1269 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Boris Chervenkov , 2012 -# Claude Paroz , 2020 -# Jannis Leidel , 2011 -# Lyuboslav Petrov , 2014 -# Todor Lubenov , 2013-2015 -# Venelin Stoykov , 2015-2017 -# vestimir , 2014 -# Alexander Atanasov , 2012 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-07-14 21:42+0000\n" -"Last-Translator: Transifex Bot <>\n" -"Language-Team: Bulgarian (http://www.transifex.com/django/django/language/" -"bg/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: bg\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "Afrikaans" -msgstr "Африкански" - -msgid "Arabic" -msgstr "арабски език" - -msgid "Algerian Arabic" -msgstr "" - -msgid "Asturian" -msgstr "Астурийски" - -msgid "Azerbaijani" -msgstr "Азербайджански език" - -msgid "Bulgarian" -msgstr "български език" - -msgid "Belarusian" -msgstr "Беларуски" - -msgid "Bengali" -msgstr "бенгалски език" - -msgid "Breton" -msgstr "Бретон" - -msgid "Bosnian" -msgstr "босненски език" - -msgid "Catalan" -msgstr "каталунски език" - -msgid "Czech" -msgstr "чешки език" - -msgid "Welsh" -msgstr "уелски език" - -msgid "Danish" -msgstr "датски език" - -msgid "German" -msgstr "немски език" - -msgid "Lower Sorbian" -msgstr "" - -msgid "Greek" -msgstr "гръцки език" - -msgid "English" -msgstr "английски език" - -msgid "Australian English" -msgstr "Австралийски Английски" - -msgid "British English" -msgstr "британски английски" - -msgid "Esperanto" -msgstr "Есперанто" - -msgid "Spanish" -msgstr "испански език" - -msgid "Argentinian Spanish" -msgstr "кастилски" - -msgid "Colombian Spanish" -msgstr "Колумбийски Испански" - -msgid "Mexican Spanish" -msgstr "Мексикански испански" - -msgid "Nicaraguan Spanish" -msgstr "никарагуански испански" - -msgid "Venezuelan Spanish" -msgstr "Испански Венецуелски" - -msgid "Estonian" -msgstr "естонски език" - -msgid "Basque" -msgstr "баски" - -msgid "Persian" -msgstr "персийски език" - -msgid "Finnish" -msgstr "финландски език" - -msgid "French" -msgstr "френски език" - -msgid "Frisian" -msgstr "фризийски език" - -msgid "Irish" -msgstr "ирландски език" - -msgid "Scottish Gaelic" -msgstr "" - -msgid "Galician" -msgstr "галицейски език" - -msgid "Hebrew" -msgstr "иврит" - -msgid "Hindi" -msgstr "хинди" - -msgid "Croatian" -msgstr "хърватски език" - -msgid "Upper Sorbian" -msgstr "" - -msgid "Hungarian" -msgstr "унгарски език" - -msgid "Armenian" -msgstr "" - -msgid "Interlingua" -msgstr "Международен" - -msgid "Indonesian" -msgstr "индонезийски език" - -msgid "Igbo" -msgstr "" - -msgid "Ido" -msgstr "Идо" - -msgid "Icelandic" -msgstr "исландски език" - -msgid "Italian" -msgstr "италиански език" - -msgid "Japanese" -msgstr "японски език" - -msgid "Georgian" -msgstr "грузински език" - -msgid "Kabyle" -msgstr "" - -msgid "Kazakh" -msgstr "Казахски" - -msgid "Khmer" -msgstr "кхмерски език" - -msgid "Kannada" -msgstr "каннада" - -msgid "Korean" -msgstr "Корейски" - -msgid "Kyrgyz" -msgstr "" - -msgid "Luxembourgish" -msgstr "Люксембургски" - -msgid "Lithuanian" -msgstr "Литовски" - -msgid "Latvian" -msgstr "Латвийски" - -msgid "Macedonian" -msgstr "Македонски" - -msgid "Malayalam" -msgstr "малаялам" - -msgid "Mongolian" -msgstr "Монголски" - -msgid "Marathi" -msgstr "Марати" - -msgid "Burmese" -msgstr "Бурмесе" - -msgid "Norwegian Bokmål" -msgstr "" - -msgid "Nepali" -msgstr "Непалски" - -msgid "Dutch" -msgstr "холандски" - -msgid "Norwegian Nynorsk" -msgstr "норвежки съвременен език" - -msgid "Ossetic" -msgstr "Осетски" - -msgid "Punjabi" -msgstr "пенджаби" - -msgid "Polish" -msgstr "полски език" - -msgid "Portuguese" -msgstr "португалски език" - -msgid "Brazilian Portuguese" -msgstr "бразилски португалски" - -msgid "Romanian" -msgstr "румънски език" - -msgid "Russian" -msgstr "руски език" - -msgid "Slovak" -msgstr "словашки език" - -msgid "Slovenian" -msgstr "словенски език" - -msgid "Albanian" -msgstr "албански език" - -msgid "Serbian" -msgstr "сръбски език" - -msgid "Serbian Latin" -msgstr "сръбски с латински букви" - -msgid "Swedish" -msgstr "шведски език" - -msgid "Swahili" -msgstr "Суахили" - -msgid "Tamil" -msgstr "тамил" - -msgid "Telugu" -msgstr "телугу" - -msgid "Tajik" -msgstr "" - -msgid "Thai" -msgstr "тайландски език" - -msgid "Turkmen" -msgstr "" - -msgid "Turkish" -msgstr "турски език" - -msgid "Tatar" -msgstr "Татарски" - -msgid "Udmurt" -msgstr "Удмурт" - -msgid "Ukrainian" -msgstr "украински език" - -msgid "Urdu" -msgstr "Урду" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "виетнамски език" - -msgid "Simplified Chinese" -msgstr "китайски език" - -msgid "Traditional Chinese" -msgstr "традиционен китайски" - -msgid "Messages" -msgstr "Съобщения" - -msgid "Site Maps" -msgstr "Бързи Maps" - -msgid "Static Files" -msgstr "Статични файлове" - -msgid "Syndication" -msgstr "Syndication" - -msgid "That page number is not an integer" -msgstr "Номерът на страницата не е цяло число" - -msgid "That page number is less than 1" -msgstr "Номерът на страницата е по-малък от 1" - -msgid "That page contains no results" -msgstr "В тази страница няма резултати" - -msgid "Enter a valid value." -msgstr "Въведете валидна стойност. " - -msgid "Enter a valid URL." -msgstr "Въведете валиден URL адрес." - -msgid "Enter a valid integer." -msgstr "Въведете валидно число." - -msgid "Enter a valid email address." -msgstr "Въведете валиден имейл адрес." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "Въведете валиден IPv4 адрес." - -msgid "Enter a valid IPv6 address." -msgstr "Въведете валиден IPv6 адрес." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Въведете валиден IPv4 или IPv6 адрес." - -msgid "Enter only digits separated by commas." -msgstr "Въведете само еднозначни числа, разделени със запетая. " - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "Уверете се, че тази стойност е %(limit_value)s (тя е %(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Уверете се, че тази стойност е по-малка или равна на %(limit_value)s ." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "" -"Уверете се, че тази стойност е по-голяма или равна на %(limit_value)s ." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Уверете се, че тази стойност е най-малко %(limit_value)d знака (тя има " -"%(show_value)d )." -msgstr[1] "" -"Уверете се, че тази стойност е най-малко %(limit_value)d знака (тя има " -"%(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Уверете се, тази стойност има най-много %(limit_value)d знака (тя има " -"%(show_value)d)." -msgstr[1] "" -"Уверете се, че тази стойност има най-много %(limit_value)d знака (тя има " -"%(show_value)d)." - -msgid "Enter a number." -msgstr "Въведете число." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Уверете се, че има не повече от %(max)s цифри в общо." -msgstr[1] "Уверете се, че има не повече от %(max)s цифри общо." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "" -"Уверете се, че има не повече от%(max)s знак след десетичната запетая." -msgstr[1] "" -"Уверете се, че има не повече от %(max)s знака след десетичната запетая." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -"Уверете се, че има не повече от %(max)s цифри преди десетичната запетая." -msgstr[1] "" -"Уверете се, че има не повече от %(max)s цифри преди десетичната запетая." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "" - -msgid "and" -msgstr "и" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "%(model_name)s с тези %(field_labels)s вече съществува." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "Стойността %(value)r не е валиден избор." - -msgid "This field cannot be null." -msgstr "Това поле не може да има празна стойност." - -msgid "This field cannot be blank." -msgstr "Това поле не може да е празно." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s с този %(field_label)s вече съществува." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(field_label)s трябва да са уникални за %(date_field_label)s " -"%(lookup_type)s." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Поле от тип: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "Boolean (True или False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Символен низ (до %(max_length)s символа)" - -msgid "Comma-separated integers" -msgstr "Цели числа, разделени с запетая" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "Дата (без час)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "Дата (и час)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "Десетична дроб" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "Продължителност" - -msgid "Email address" -msgstr "Email адрес" - -msgid "File path" -msgstr "Път към файл" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "Число с плаваща запетая" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "Цяло число" - -msgid "Big (8 byte) integer" -msgstr "Голямо (8 байта) цяло число" - -msgid "IPv4 address" -msgstr "IPv4 адрес" - -msgid "IP address" -msgstr "IP адрес" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "Boolean (Възможните стойности са True, False или None)" - -msgid "Positive big integer" -msgstr "" - -msgid "Positive integer" -msgstr "Положително цяло число" - -msgid "Positive small integer" -msgstr "Положително 2 байта цяло число" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Slug (до %(max_length)s )" - -msgid "Small integer" -msgstr "2 байта цяло число" - -msgid "Text" -msgstr "Текст" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "Време" - -msgid "URL" -msgstr "URL адрес" - -msgid "Raw binary data" -msgstr "сурови двоични данни" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "" - -msgid "File" -msgstr "Файл" - -msgid "Image" -msgstr "Изображение" - -msgid "A JSON object" -msgstr "" - -msgid "Value must be valid JSON." -msgstr "" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "Инстанция на %(model)s с %(field)s %(value)r не съществува." - -msgid "Foreign Key (type determined by related field)" -msgstr "Външен ключ (тип, определен от свързаното поле)" - -msgid "One-to-one relationship" -msgstr "словенски език" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "" - -msgid "Many-to-many relationship" -msgstr "Много-към-много връзка" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Това поле е задължително." - -msgid "Enter a whole number." -msgstr "Въведете цяло число. " - -msgid "Enter a valid date." -msgstr "Въведете валидна дата. " - -msgid "Enter a valid time." -msgstr "Въведете валиден час." - -msgid "Enter a valid date/time." -msgstr "Въведете валидна дата/час. " - -msgid "Enter a valid duration." -msgstr "Въведете валидна продължителност." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "" - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Не е получен файл. Проверете типа кодиране на формата. " - -msgid "No file was submitted." -msgstr "Няма изпратен файл." - -msgid "The submitted file is empty." -msgstr "Каченият файл е празен. " - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "Уверете се, това име е най-много %(max)d знака (то има %(length)d)." -msgstr[1] "" -"Уверете се, че това файлово име има най-много %(max)d знаци (има " -"%(length)d)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" -"Моля, или пратете файл или маркирайте полето за изчистване, но не и двете." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Качете валидно изображение. Файлът, който сте качили или не е изображение, " -"или е повреден. " - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "Направете валиден избор. %(value)s не е един от възможните избори." - -msgid "Enter a list of values." -msgstr "Въведете списък от стойности" - -msgid "Enter a complete value." -msgstr "Въведете пълна стойност." - -msgid "Enter a valid UUID." -msgstr "Въведете валиден UUID." - -msgid "Enter a valid JSON." -msgstr "" - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Скрито поле %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "Данни за мениджърската форма липсват или са били променени." - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Моля, въведете %d по-малко форми." -msgstr[1] "Моля, въведете %d по-малко форми." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "Моля, въведете %d или по-вече форми." -msgstr[1] "Моля, въведете %d или по-вече форми." - -msgid "Order" -msgstr "Ред" - -msgid "Delete" -msgstr "Изтрий" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Моля, коригирайте дублираните данни за %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"Моля, коригирайте дублираните данни за %(field)s, които трябва да са " -"уникални." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Моля, коригирайте дублиранитe данни за %(field_name)s , които трябва да са " -"уникални за %(lookup)s в %(date_field)s ." - -msgid "Please correct the duplicate values below." -msgstr "Моля, коригирайте повтарящите се стойности по-долу." - -msgid "The inline value did not match the parent instance." -msgstr "" - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "Направете валиден избор. Този не е един от възможните избори. " - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "Изчисти" - -msgid "Currently" -msgstr "Сега" - -msgid "Change" -msgstr "Промени" - -msgid "Unknown" -msgstr "Неизвестно" - -msgid "Yes" -msgstr "Да" - -msgid "No" -msgstr "Не" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "да,не,може би" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d, байт" -msgstr[1] "%(size)d, байта" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s ТБ" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "след обяд" - -msgid "a.m." -msgstr "преди обяд" - -msgid "PM" -msgstr "след обяд" - -msgid "AM" -msgstr "преди обяд" - -msgid "midnight" -msgstr "полунощ" - -msgid "noon" -msgstr "обяд" - -msgid "Monday" -msgstr "понеделник" - -msgid "Tuesday" -msgstr "вторник" - -msgid "Wednesday" -msgstr "сряда" - -msgid "Thursday" -msgstr "четвъртък" - -msgid "Friday" -msgstr "петък" - -msgid "Saturday" -msgstr "събота" - -msgid "Sunday" -msgstr "неделя" - -msgid "Mon" -msgstr "Пон" - -msgid "Tue" -msgstr "Вт" - -msgid "Wed" -msgstr "Ср" - -msgid "Thu" -msgstr "Чет" - -msgid "Fri" -msgstr "Пет" - -msgid "Sat" -msgstr "Съб" - -msgid "Sun" -msgstr "Нед" - -msgid "January" -msgstr "Януари" - -msgid "February" -msgstr "Февруари" - -msgid "March" -msgstr "Март" - -msgid "April" -msgstr "Април" - -msgid "May" -msgstr "Май" - -msgid "June" -msgstr "Юни" - -msgid "July" -msgstr "Юли" - -msgid "August" -msgstr "Август" - -msgid "September" -msgstr "Септември" - -msgid "October" -msgstr "Октомври" - -msgid "November" -msgstr "Ноември" - -msgid "December" -msgstr "Декември" - -msgid "jan" -msgstr "ян" - -msgid "feb" -msgstr "фев" - -msgid "mar" -msgstr "мар" - -msgid "apr" -msgstr "апр" - -msgid "may" -msgstr "май" - -msgid "jun" -msgstr "юни" - -msgid "jul" -msgstr "юли" - -msgid "aug" -msgstr "авг" - -msgid "sep" -msgstr "сеп" - -msgid "oct" -msgstr "окт" - -msgid "nov" -msgstr "ноев" - -msgid "dec" -msgstr "дек" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Ян." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Фев." - -msgctxt "abbrev. month" -msgid "March" -msgstr "Март" - -msgctxt "abbrev. month" -msgid "April" -msgstr "Април" - -msgctxt "abbrev. month" -msgid "May" -msgstr "Май" - -msgctxt "abbrev. month" -msgid "June" -msgstr "Юни" - -msgctxt "abbrev. month" -msgid "July" -msgstr "Юли" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Авг." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Септ." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Окт." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Ноев." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Дек." - -msgctxt "alt. month" -msgid "January" -msgstr "Януари" - -msgctxt "alt. month" -msgid "February" -msgstr "Февруари" - -msgctxt "alt. month" -msgid "March" -msgstr "Март" - -msgctxt "alt. month" -msgid "April" -msgstr "Април" - -msgctxt "alt. month" -msgid "May" -msgstr "Май" - -msgctxt "alt. month" -msgid "June" -msgstr "Юни" - -msgctxt "alt. month" -msgid "July" -msgstr "Юли" - -msgctxt "alt. month" -msgid "August" -msgstr "Август" - -msgctxt "alt. month" -msgid "September" -msgstr "Септември" - -msgctxt "alt. month" -msgid "October" -msgstr "след обяд" - -msgctxt "alt. month" -msgid "November" -msgstr "Ноември" - -msgctxt "alt. month" -msgid "December" -msgstr "Декември" - -msgid "This is not a valid IPv6 address." -msgstr "Въведете валиден IPv6 адрес." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "" - -msgid "or" -msgstr "или" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr "," - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d година" -msgstr[1] "%d години" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d месец" -msgstr[1] "%d месеца" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d седмица" -msgstr[1] "%d седмици" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d дни" -msgstr[1] "%d дни" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d час" -msgstr[1] "%d часа" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d минута" -msgstr[1] "%d минути" - -msgid "Forbidden" -msgstr "Забранен" - -msgid "CSRF verification failed. Request aborted." -msgstr "CSRF проверката се провали. Заявката прекратена." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Вие виждате това съобщение, защото този сайт изисква CSRF бисквитка когато " -"се подават формуляри. Тази бисквитка е задължителна от съображения за " -"сигурност, за да се гарантира, че вашият браузър не е компрометиран от трети " -"страни." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "Повече информация е на разположение с DEBUG=True." - -msgid "No year specified" -msgstr "Не е посочена година" - -msgid "Date out of range" -msgstr "" - -msgid "No month specified" -msgstr "Не е посочен месец" - -msgid "No day specified" -msgstr "ноев" - -msgid "No week specified" -msgstr "Не е посочена седмица" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "Няма достъпни %(verbose_name_plural)s" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"Бъдещo %(verbose_name_plural)s е достъпно, тъй като %(class_name)s." -"allow_future е False." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Няма %(verbose_name)s , съвпадащи със заявката" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Невалидна страница (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "Тук не е позволено индексиране на директория." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Индекс %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "Django: Фреймуоркът за перфекционисти с крайни срокове." - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" - -msgid "The install worked successfully! Congratulations!" -msgstr "" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"Вие виждате тази страница защото DEBUG=True е във вашият settings файл и не сте конфигурирали никакви " -"URL-и" - -msgid "Django Documentation" -msgstr "Django Документация" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "" - -msgid "Get started with Django" -msgstr "Започнете с Django" - -msgid "Django Community" -msgstr "" - -msgid "Connect, get help, or contribute" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/bg/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/bg/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/bg/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/bg/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 917b26cb..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/bg/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/bg/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/bg/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index f1e7d3ce..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/bg/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/bg/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/bg/formats.py deleted file mode 100644 index b7d0c3b5..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/bg/formats.py +++ /dev/null @@ -1,21 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'd F Y' -TIME_FORMAT = 'H:i' -# DATETIME_FORMAT = -# YEAR_MONTH_FORMAT = -MONTH_DAY_FORMAT = 'j F' -SHORT_DATE_FORMAT = 'd.m.Y' -# SHORT_DATETIME_FORMAT = -# FIRST_DAY_OF_WEEK = - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -# DATE_INPUT_FORMATS = -# TIME_INPUT_FORMATS = -# DATETIME_INPUT_FORMATS = -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = ' ' # Non-breaking space -# NUMBER_GROUPING = diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/bn/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/bn/LC_MESSAGES/django.mo deleted file mode 100644 index ef52f360..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/bn/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/bn/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/bn/LC_MESSAGES/django.po deleted file mode 100644 index b554f7a8..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/bn/LC_MESSAGES/django.po +++ /dev/null @@ -1,1218 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Jannis Leidel , 2011 -# M Nasimul Haque , 2013 -# Tahmid Rafi , 2012-2013 -# Tahmid Rafi , 2013 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-27 22:40+0200\n" -"PO-Revision-Date: 2019-11-05 00:38+0000\n" -"Last-Translator: Ramiro Morales\n" -"Language-Team: Bengali (http://www.transifex.com/django/django/language/" -"bn/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: bn\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "Afrikaans" -msgstr "আফ্রিকার অন্যতম সরকারি ভাষা" - -msgid "Arabic" -msgstr "আরবী" - -msgid "Asturian" -msgstr "" - -msgid "Azerbaijani" -msgstr "আজারবাইজানি" - -msgid "Bulgarian" -msgstr "বুলগেরিয়ান" - -msgid "Belarusian" -msgstr "বেলারুশীয়" - -msgid "Bengali" -msgstr "বাংলা" - -msgid "Breton" -msgstr "ব্রেটন" - -msgid "Bosnian" -msgstr "বসনিয়ান" - -msgid "Catalan" -msgstr "ক্যাটালান" - -msgid "Czech" -msgstr "চেক" - -msgid "Welsh" -msgstr "ওয়েল্স" - -msgid "Danish" -msgstr "ড্যানিশ" - -msgid "German" -msgstr "জার্মান" - -msgid "Lower Sorbian" -msgstr "" - -msgid "Greek" -msgstr "গ্রিক" - -msgid "English" -msgstr "ইংলিশ" - -msgid "Australian English" -msgstr "" - -msgid "British English" -msgstr "বৃটিশ ইংলিশ" - -msgid "Esperanto" -msgstr "আন্তর্জাতিক ভাষা" - -msgid "Spanish" -msgstr "স্প্যানিশ" - -msgid "Argentinian Spanish" -msgstr "আর্জেন্টিনিয়ান স্প্যানিশ" - -msgid "Colombian Spanish" -msgstr "" - -msgid "Mexican Spanish" -msgstr "মেক্সিকান স্প্যানিশ" - -msgid "Nicaraguan Spanish" -msgstr "নিকারাগুয়ান স্প্যানিশ" - -msgid "Venezuelan Spanish" -msgstr "ভেনেজুয়েলার স্প্যানিশ" - -msgid "Estonian" -msgstr "এস্তোনিয়ান" - -msgid "Basque" -msgstr "বাস্ক" - -msgid "Persian" -msgstr "ফারসি" - -msgid "Finnish" -msgstr "ফিনিশ" - -msgid "French" -msgstr "ফ্রেঞ্চ" - -msgid "Frisian" -msgstr "ফ্রিজ্ল্যানডের ভাষা" - -msgid "Irish" -msgstr "আইরিশ" - -msgid "Scottish Gaelic" -msgstr "" - -msgid "Galician" -msgstr "গ্যালিসিয়ান" - -msgid "Hebrew" -msgstr "হিব্রু" - -msgid "Hindi" -msgstr "হিন্দী" - -msgid "Croatian" -msgstr "ক্রোয়েশিয়ান" - -msgid "Upper Sorbian" -msgstr "" - -msgid "Hungarian" -msgstr "হাঙ্গেরিয়ান" - -msgid "Armenian" -msgstr "" - -msgid "Interlingua" -msgstr "" - -msgid "Indonesian" -msgstr "ইন্দোনেশিয়ান" - -msgid "Ido" -msgstr "" - -msgid "Icelandic" -msgstr "আইসল্যান্ডিক" - -msgid "Italian" -msgstr "ইটালিয়ান" - -msgid "Japanese" -msgstr "জাপানিজ" - -msgid "Georgian" -msgstr "জর্জিয়ান" - -msgid "Kabyle" -msgstr "" - -msgid "Kazakh" -msgstr "কাজাখ" - -msgid "Khmer" -msgstr "খমার" - -msgid "Kannada" -msgstr "কান্নাড়া" - -msgid "Korean" -msgstr "কোরিয়ান" - -msgid "Luxembourgish" -msgstr "লুক্সেমবার্গীয়" - -msgid "Lithuanian" -msgstr "লিথুয়ানিয়ান" - -msgid "Latvian" -msgstr "লাটভিয়ান" - -msgid "Macedonian" -msgstr "ম্যাসাডোনিয়ান" - -msgid "Malayalam" -msgstr "মালায়ালম" - -msgid "Mongolian" -msgstr "মঙ্গোলিয়ান" - -msgid "Marathi" -msgstr "" - -msgid "Burmese" -msgstr "বার্মিজ" - -msgid "Norwegian Bokmål" -msgstr "" - -msgid "Nepali" -msgstr "নেপালি" - -msgid "Dutch" -msgstr "ডাচ" - -msgid "Norwegian Nynorsk" -msgstr "নরওয়েজীয়ান নিনর্স্ক" - -msgid "Ossetic" -msgstr "অসেটিক" - -msgid "Punjabi" -msgstr "পাঞ্জাবী" - -msgid "Polish" -msgstr "পোলিশ" - -msgid "Portuguese" -msgstr "পর্তুগীজ" - -msgid "Brazilian Portuguese" -msgstr "ব্রাজিলিয়ান পর্তুগীজ" - -msgid "Romanian" -msgstr "রোমানিয়ান" - -msgid "Russian" -msgstr "রাশান" - -msgid "Slovak" -msgstr "স্লোভাক" - -msgid "Slovenian" -msgstr "স্লোভেনিয়ান" - -msgid "Albanian" -msgstr "আলবেনীয়ান" - -msgid "Serbian" -msgstr "সার্বিয়ান" - -msgid "Serbian Latin" -msgstr "সার্বিয়ান ল্যাটিন" - -msgid "Swedish" -msgstr "সুইডিশ" - -msgid "Swahili" -msgstr "সোয়াহিলি" - -msgid "Tamil" -msgstr "তামিল" - -msgid "Telugu" -msgstr "তেলেগু" - -msgid "Thai" -msgstr "থাই" - -msgid "Turkish" -msgstr "তুর্কি" - -msgid "Tatar" -msgstr "তাতারদেশীয়" - -msgid "Udmurt" -msgstr "" - -msgid "Ukrainian" -msgstr "ইউক্রেনিয়ান" - -msgid "Urdu" -msgstr "উর্দু" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "ভিয়েতনামিজ" - -msgid "Simplified Chinese" -msgstr "সরলীকৃত চাইনীজ" - -msgid "Traditional Chinese" -msgstr "প্রচলিত চাইনীজ" - -msgid "Messages" -msgstr "" - -msgid "Site Maps" -msgstr "" - -msgid "Static Files" -msgstr "" - -msgid "Syndication" -msgstr "" - -msgid "That page number is not an integer" -msgstr "" - -msgid "That page number is less than 1" -msgstr "" - -msgid "That page contains no results" -msgstr "" - -msgid "Enter a valid value." -msgstr "একটি বৈধ মান দিন।" - -msgid "Enter a valid URL." -msgstr "বৈধ URL দিন" - -msgid "Enter a valid integer." -msgstr "" - -msgid "Enter a valid email address." -msgstr "একটি বৈধ ইমেইল ঠিকানা লিখুন." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "একটি বৈধ IPv4 ঠিকানা দিন।" - -msgid "Enter a valid IPv6 address." -msgstr "একটি বৈধ IPv6 ঠিকানা টাইপ করুন।" - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "একটি বৈধ IPv4 অথবা IPv6 ঠিকানা টাইপ করুন।" - -msgid "Enter only digits separated by commas." -msgstr "শুধুমাত্র কমা দিয়ে সংখ্যা দিন।" - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "সংখ্যাটির মান %(limit_value)s হতে হবে (এটা এখন %(show_value)s আছে)।" - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "সংখ্যাটির মান %(limit_value)s এর চেয়ে ছোট বা সমান হতে হবে।" - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "সংখ্যাটির মান %(limit_value)s এর চেয়ে বড় বা সমান হতে হবে।" - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" - -msgid "Enter a number." -msgstr "একটি সংখ্যা প্রবেশ করান।" - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "" - -msgid "and" -msgstr "এবং" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "" - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "" - -msgid "This field cannot be null." -msgstr "এর মান null হতে পারবে না।" - -msgid "This field cannot be blank." -msgstr "এই ফিল্ডের মান ফাঁকা হতে পারে না" - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(field_label)s সহ %(model_name)s আরেকটি রয়েছে।" - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "ফিল্ডের ধরণ: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "বুলিয়ান (হয় True অথবা False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "স্ট্রিং (সর্বোচ্চ %(max_length)s)" - -msgid "Comma-separated integers" -msgstr "কমা দিয়ে আলাদা করা ইন্টিজার" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "তারিখ (সময় বাদে)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "তারিখ (সময় সহ)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "দশমিক সংখ্যা" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "" - -msgid "Email address" -msgstr "ইমেইল ঠিকানা" - -msgid "File path" -msgstr "ফাইল পথ" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "ফ্লোটিং পয়েন্ট সংখ্যা" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "ইন্টিজার" - -msgid "Big (8 byte) integer" -msgstr "বিগ (৮ বাইট) ইন্টিজার" - -msgid "IPv4 address" -msgstr "IPv4 ঠিকানা" - -msgid "IP address" -msgstr "আইপি ঠিকানা" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "বুলিয়ান (হয় True, False অথবা None)" - -msgid "Positive integer" -msgstr "পজিটিভ ইন্টিজার" - -msgid "Positive small integer" -msgstr "পজিটিভ স্মল ইন্টিজার" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "স্লাগ (সর্বোচ্চ %(max_length)s)" - -msgid "Small integer" -msgstr "স্মল ইন্টিজার" - -msgid "Text" -msgstr "টেক্সট" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "সময়" - -msgid "URL" -msgstr "ইউআরএল (URL)" - -msgid "Raw binary data" -msgstr "র বাইনারি ডাটা" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "" - -msgid "File" -msgstr "ফাইল" - -msgid "Image" -msgstr "ইমেজ" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "" - -msgid "Foreign Key (type determined by related field)" -msgstr "ফরেন কি (টাইপ রিলেটেড ফিল্ড দ্বারা নির্ণীত হবে)" - -msgid "One-to-one relationship" -msgstr "ওয়ান-টু-ওয়ান রিলেশানশিপ" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "" - -msgid "Many-to-many relationship" -msgstr "ম্যানি-টু-ম্যানি রিলেশানশিপ" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr "" - -msgid "This field is required." -msgstr "এটি আবশ্যক।" - -msgid "Enter a whole number." -msgstr "একটি পূর্ণসংখ্যা দিন" - -msgid "Enter a valid date." -msgstr "বৈধ তারিখ দিন।" - -msgid "Enter a valid time." -msgstr "বৈধ সময় দিন।" - -msgid "Enter a valid date/time." -msgstr "বৈধ তারিখ/সময় দিন।" - -msgid "Enter a valid duration." -msgstr "" - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "" - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "কোন ফাইল দেয়া হয়নি। ফর্মের এনকোডিং ঠিক আছে কিনা দেখুন।" - -msgid "No file was submitted." -msgstr "কোন ফাইল দেয়া হয়নি।" - -msgid "The submitted file is empty." -msgstr "ফাইলটি খালি।" - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -msgstr[1] "" - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" -"একটি ফাইল সাবমিট করুন অথবা ক্লিয়ার চেকবক্সটি চেক করে দিন, যে কোন একটি করুন।" - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"সঠিক ছবি আপলোড করুন। যে ফাইলটি আপলোড করা হয়েছে তা হয় ছবি নয় অথবা নষ্ট হয়ে " -"যাওয়া ছবি।" - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "%(value)s বৈধ নয়। অনুগ্রহ করে আরেকটি সিলেক্ট করুন।" - -msgid "Enter a list of values." -msgstr "কয়েকটি মানের তালিকা দিন।" - -msgid "Enter a complete value." -msgstr "" - -msgid "Enter a valid UUID." -msgstr "" - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr "" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "" -msgstr[1] "" - -msgid "Order" -msgstr "ক্রম" - -msgid "Delete" -msgstr "মুছুন" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "" - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" - -msgid "Please correct the duplicate values below." -msgstr "" - -msgid "The inline value did not match the parent instance." -msgstr "" - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "এটি বৈধ নয়। অনুগ্রহ করে আরেকটি সিলেক্ট করুন।" - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "পরিষ্কার করুন" - -msgid "Currently" -msgstr "এই মুহুর্তে" - -msgid "Change" -msgstr "পরিবর্তন" - -msgid "Unknown" -msgstr "অজানা" - -msgid "Yes" -msgstr "হ্যাঁ" - -msgid "No" -msgstr "না" - -msgid "Year" -msgstr "" - -msgid "Month" -msgstr "" - -msgid "Day" -msgstr "" - -msgid "yes,no,maybe" -msgstr "হ্যাঁ,না,হয়তো" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d বাইট" -msgstr[1] "%(size)d বাইট" - -#, python-format -msgid "%s KB" -msgstr "%s কিলোবাইট" - -#, python-format -msgid "%s MB" -msgstr "%s মেগাবাইট" - -#, python-format -msgid "%s GB" -msgstr "%s গিগাবাইট" - -#, python-format -msgid "%s TB" -msgstr "%s টেরাবাইট" - -#, python-format -msgid "%s PB" -msgstr "%s পেটাবাইট" - -msgid "p.m." -msgstr "অপরাহ্ন" - -msgid "a.m." -msgstr "পূর্বাহ্ন" - -msgid "PM" -msgstr "অপরাহ্ন" - -msgid "AM" -msgstr "পূর্বাহ্ন" - -msgid "midnight" -msgstr "মধ্যরাত" - -msgid "noon" -msgstr "দুপুর" - -msgid "Monday" -msgstr "সোমবার" - -msgid "Tuesday" -msgstr "মঙ্গলবার" - -msgid "Wednesday" -msgstr "বুধবার" - -msgid "Thursday" -msgstr "বৃহস্পতিবার" - -msgid "Friday" -msgstr "শুক্রবার" - -msgid "Saturday" -msgstr "শনিবার" - -msgid "Sunday" -msgstr "রবিবার" - -msgid "Mon" -msgstr "সোম" - -msgid "Tue" -msgstr "মঙ্গল" - -msgid "Wed" -msgstr "বুধ" - -msgid "Thu" -msgstr "বৃহঃ" - -msgid "Fri" -msgstr "শুক্র" - -msgid "Sat" -msgstr "শনি" - -msgid "Sun" -msgstr "রবি" - -msgid "January" -msgstr "জানুয়ারি" - -msgid "February" -msgstr "ফেব্রুয়ারি" - -msgid "March" -msgstr "মার্চ" - -msgid "April" -msgstr "এপ্রিল" - -msgid "May" -msgstr "মে" - -msgid "June" -msgstr "জুন" - -msgid "July" -msgstr "জুলাই" - -msgid "August" -msgstr "আগস্ট" - -msgid "September" -msgstr "সেপ্টেম্বর" - -msgid "October" -msgstr "অক্টোবর" - -msgid "November" -msgstr "নভেম্বর" - -msgid "December" -msgstr "ডিসেম্বর" - -msgid "jan" -msgstr "জান." - -msgid "feb" -msgstr "ফেব." - -msgid "mar" -msgstr "মার্চ" - -msgid "apr" -msgstr "এপ্রি." - -msgid "may" -msgstr "মে" - -msgid "jun" -msgstr "জুন" - -msgid "jul" -msgstr "জুল." - -msgid "aug" -msgstr "আগ." - -msgid "sep" -msgstr "সেপ্টে." - -msgid "oct" -msgstr "অক্টো." - -msgid "nov" -msgstr "নভে." - -msgid "dec" -msgstr "ডিসে." - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "জানু." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "ফেব্রু." - -msgctxt "abbrev. month" -msgid "March" -msgstr "মার্চ" - -msgctxt "abbrev. month" -msgid "April" -msgstr "এপ্রিল" - -msgctxt "abbrev. month" -msgid "May" -msgstr "মে" - -msgctxt "abbrev. month" -msgid "June" -msgstr "জুন" - -msgctxt "abbrev. month" -msgid "July" -msgstr "জুলাই" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "আগ." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "সেপ্ট." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "অক্টো." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "নভে." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "ডিসে." - -msgctxt "alt. month" -msgid "January" -msgstr "জানুয়ারি" - -msgctxt "alt. month" -msgid "February" -msgstr "ফেব্রুয়ারি" - -msgctxt "alt. month" -msgid "March" -msgstr "মার্চ" - -msgctxt "alt. month" -msgid "April" -msgstr "এপ্রিল" - -msgctxt "alt. month" -msgid "May" -msgstr "মে" - -msgctxt "alt. month" -msgid "June" -msgstr "জুন" - -msgctxt "alt. month" -msgid "July" -msgstr "জুলাই" - -msgctxt "alt. month" -msgid "August" -msgstr "আগস্ট" - -msgctxt "alt. month" -msgid "September" -msgstr "সেপ্টেম্বর" - -msgctxt "alt. month" -msgid "October" -msgstr "অক্টোবর" - -msgctxt "alt. month" -msgid "November" -msgstr "নভেম্বর" - -msgctxt "alt. month" -msgid "December" -msgstr "ডিসেম্বর" - -msgid "This is not a valid IPv6 address." -msgstr "" - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "" - -msgid "or" -msgstr "অথবা" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr "," - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "" -msgstr[1] "" - -msgid "0 minutes" -msgstr "0 মিনিট" - -msgid "Forbidden" -msgstr "" - -msgid "CSRF verification failed. Request aborted." -msgstr "" - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "" - -msgid "No year specified" -msgstr "কোন বছর উল্লেখ করা হয়নি" - -msgid "Date out of range" -msgstr "" - -msgid "No month specified" -msgstr "কোন মাস উল্লেখ করা হয়নি" - -msgid "No day specified" -msgstr "কোন দিন উল্লেখ করা হয়নি" - -msgid "No week specified" -msgstr "কোন সপ্তাহ উল্লেখ করা হয়নি" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "কোন %(verbose_name_plural)s নেই" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "কুয়েরি ম্যাচ করে এমন কোন %(verbose_name)s পাওয়া যায় নি" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "ডিরেক্টরি ইনডেক্স অনুমোদিত নয়" - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "%(directory)s এর ইনডেক্স" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" - -msgid "The install worked successfully! Congratulations!" -msgstr "" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" - -msgid "Django Documentation" -msgstr "" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "" - -msgid "Get started with Django" -msgstr "" - -msgid "Django Community" -msgstr "" - -msgid "Connect, get help, or contribute" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/bn/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/bn/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/bn/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/bn/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index e5c5e701..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/bn/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/bn/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/bn/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 4dbfe5c0..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/bn/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/bn/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/bn/formats.py deleted file mode 100644 index 6205fb95..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/bn/formats.py +++ /dev/null @@ -1,32 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'j F, Y' -TIME_FORMAT = 'g:i A' -# DATETIME_FORMAT = -YEAR_MONTH_FORMAT = 'F Y' -MONTH_DAY_FORMAT = 'j F' -SHORT_DATE_FORMAT = 'j M, Y' -# SHORT_DATETIME_FORMAT = -FIRST_DAY_OF_WEEK = 6 # Saturday - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -DATE_INPUT_FORMATS = [ - '%d/%m/%Y', # 25/10/2016 - '%d/%m/%y', # 25/10/16 - '%d-%m-%Y', # 25-10-2016 - '%d-%m-%y', # 25-10-16 -] -TIME_INPUT_FORMATS = [ - '%H:%M:%S', # 14:30:59 - '%H:%M', # 14:30 -] -DATETIME_INPUT_FORMATS = [ - '%d/%m/%Y %H:%M:%S', # 25/10/2006 14:30:59 - '%d/%m/%Y %H:%M', # 25/10/2006 14:30 -] -DECIMAL_SEPARATOR = '.' -THOUSAND_SEPARATOR = ',' -# NUMBER_GROUPING = diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/br/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/br/LC_MESSAGES/django.mo deleted file mode 100644 index e2aa70c8..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/br/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/br/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/br/LC_MESSAGES/django.po deleted file mode 100644 index 0c283109..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/br/LC_MESSAGES/django.po +++ /dev/null @@ -1,1288 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Claude Paroz , 2020 -# Fulup , 2012,2014 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-07-14 21:42+0000\n" -"Last-Translator: Transifex Bot <>\n" -"Language-Team: Breton (http://www.transifex.com/django/django/language/br/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: br\n" -"Plural-Forms: nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !" -"=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n" -"%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > " -"19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 " -"&& n % 1000000 == 0) ? 3 : 4);\n" - -msgid "Afrikaans" -msgstr "Afrikaneg" - -msgid "Arabic" -msgstr "Arabeg" - -msgid "Algerian Arabic" -msgstr "" - -msgid "Asturian" -msgstr "Astureg" - -msgid "Azerbaijani" -msgstr "Azeri" - -msgid "Bulgarian" -msgstr "Bulgareg" - -msgid "Belarusian" -msgstr "Belaruseg" - -msgid "Bengali" -msgstr "Bengaleg" - -msgid "Breton" -msgstr "Brezhoneg" - -msgid "Bosnian" -msgstr "Bosneg" - -msgid "Catalan" -msgstr "Katalaneg" - -msgid "Czech" -msgstr "Tchekeg" - -msgid "Welsh" -msgstr "Kembraeg" - -msgid "Danish" -msgstr "Daneg" - -msgid "German" -msgstr "Alamaneg" - -msgid "Lower Sorbian" -msgstr "" - -msgid "Greek" -msgstr "Gresianeg" - -msgid "English" -msgstr "Saozneg" - -msgid "Australian English" -msgstr "Saozneg Aostralia" - -msgid "British English" -msgstr "Saozneg Breizh-Veur" - -msgid "Esperanto" -msgstr "Esperanteg" - -msgid "Spanish" -msgstr "Spagnoleg" - -msgid "Argentinian Spanish" -msgstr "Spagnoleg Arc'hantina" - -msgid "Colombian Spanish" -msgstr "" - -msgid "Mexican Spanish" -msgstr "Spagnoleg Mec'hiko" - -msgid "Nicaraguan Spanish" -msgstr "Spagnoleg Nicaragua" - -msgid "Venezuelan Spanish" -msgstr "Spagnoleg Venezuela" - -msgid "Estonian" -msgstr "Estoneg" - -msgid "Basque" -msgstr "Euskareg" - -msgid "Persian" -msgstr "Perseg" - -msgid "Finnish" -msgstr "Finneg" - -msgid "French" -msgstr "Galleg" - -msgid "Frisian" -msgstr "Frizeg" - -msgid "Irish" -msgstr "Iwerzhoneg" - -msgid "Scottish Gaelic" -msgstr "" - -msgid "Galician" -msgstr "Galizeg" - -msgid "Hebrew" -msgstr "Hebraeg" - -msgid "Hindi" -msgstr "Hindi" - -msgid "Croatian" -msgstr "Kroateg" - -msgid "Upper Sorbian" -msgstr "" - -msgid "Hungarian" -msgstr "Hungareg" - -msgid "Armenian" -msgstr "" - -msgid "Interlingua" -msgstr "Interlingua" - -msgid "Indonesian" -msgstr "Indonezeg" - -msgid "Igbo" -msgstr "" - -msgid "Ido" -msgstr "Ido" - -msgid "Icelandic" -msgstr "Islandeg" - -msgid "Italian" -msgstr "Italianeg" - -msgid "Japanese" -msgstr "Japaneg" - -msgid "Georgian" -msgstr "Jorjianeg" - -msgid "Kabyle" -msgstr "" - -msgid "Kazakh" -msgstr "kazak" - -msgid "Khmer" -msgstr "Khmer" - -msgid "Kannada" -msgstr "Kannata" - -msgid "Korean" -msgstr "Koreaneg" - -msgid "Kyrgyz" -msgstr "" - -msgid "Luxembourgish" -msgstr "Luksembourgeg" - -msgid "Lithuanian" -msgstr "Lituaneg" - -msgid "Latvian" -msgstr "Latveg" - -msgid "Macedonian" -msgstr "Makedoneg" - -msgid "Malayalam" -msgstr "Malayalam" - -msgid "Mongolian" -msgstr "Mongoleg" - -msgid "Marathi" -msgstr "Marathi" - -msgid "Burmese" -msgstr "Burmeg" - -msgid "Norwegian Bokmål" -msgstr "" - -msgid "Nepali" -msgstr "nepaleg" - -msgid "Dutch" -msgstr "Nederlandeg" - -msgid "Norwegian Nynorsk" -msgstr "Norvegeg Nynorsk" - -msgid "Ossetic" -msgstr "Oseteg" - -msgid "Punjabi" -msgstr "Punjabeg" - -msgid "Polish" -msgstr "Poloneg" - -msgid "Portuguese" -msgstr "Portugaleg" - -msgid "Brazilian Portuguese" -msgstr "Portugaleg Brazil" - -msgid "Romanian" -msgstr "Roumaneg" - -msgid "Russian" -msgstr "Rusianeg" - -msgid "Slovak" -msgstr "Slovakeg" - -msgid "Slovenian" -msgstr "Sloveneg" - -msgid "Albanian" -msgstr "Albaneg" - -msgid "Serbian" -msgstr "Serbeg" - -msgid "Serbian Latin" -msgstr "Serbeg e lizherennoù latin" - -msgid "Swedish" -msgstr "Svedeg" - -msgid "Swahili" -msgstr "swahileg" - -msgid "Tamil" -msgstr "Tamileg" - -msgid "Telugu" -msgstr "Telougou" - -msgid "Tajik" -msgstr "" - -msgid "Thai" -msgstr "Thai" - -msgid "Turkmen" -msgstr "" - -msgid "Turkish" -msgstr "Turkeg" - -msgid "Tatar" -msgstr "tatar" - -msgid "Udmurt" -msgstr "Oudmourteg" - -msgid "Ukrainian" -msgstr "Ukraineg" - -msgid "Urdu" -msgstr "Ourdou" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "Vietnameg" - -msgid "Simplified Chinese" -msgstr "Sinaeg eeunaet" - -msgid "Traditional Chinese" -msgstr "Sinaeg hengounel" - -msgid "Messages" -msgstr "" - -msgid "Site Maps" -msgstr "Tresoù al lec'hienn" - -msgid "Static Files" -msgstr "Restroù statek" - -msgid "Syndication" -msgstr "Sindikadur" - -msgid "That page number is not an integer" -msgstr "" - -msgid "That page number is less than 1" -msgstr "" - -msgid "That page contains no results" -msgstr "" - -msgid "Enter a valid value." -msgstr "Merkit un talvoud reizh" - -msgid "Enter a valid URL." -msgstr "Merkit un URL reizh" - -msgid "Enter a valid integer." -msgstr "" - -msgid "Enter a valid email address." -msgstr "Merkit ur chomlec'h postel reizh" - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "Merkit ur chomlec'h IPv4 reizh." - -msgid "Enter a valid IPv6 address." -msgstr "Merkit ur chomlec'h IPv6 reizh." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Merkit ur chomlec'h IPv4 pe IPv6 reizh." - -msgid "Enter only digits separated by commas." -msgstr "Merkañ hepken sifroù dispartiet dre skejoù." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" -"Bezit sur ez eo an talvoud-mañ %(limit_value)s (evit ar mare ez eo " -"%(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Gwiriit mat emañ an talvoud-mañ a-is pe par da %(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Gwiriit mat emañ an talvoud-mañ a-us pe par da %(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" -msgstr[4] "" - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" -msgstr[4] "" - -msgid "Enter a number." -msgstr "Merkit un niver." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" -msgstr[4] "" - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" -msgstr[4] "" - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" -msgstr[4] "" - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "" - -msgid "and" -msgstr "ha" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "" - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "" - -msgid "This field cannot be null." -msgstr "N'hall ket ar vaezienn chom goullo" - -msgid "This field cannot be blank." -msgstr "N'hall ket ar vaezienn chom goullo" - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "Bez' ez eus c'hoazh eus ur %(model_name)s gant ar %(field_label)s-mañ." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Seurt maezienn : %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "Boulean (gwir pe gaou)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "neudennad arouezennoù (betek %(max_length)s)" - -msgid "Comma-separated integers" -msgstr "Niveroù anterin dispartiet dre ur skej" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "Deizad (hep eur)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "Deizad (gant an eur)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "Niver dekvedennel" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "" - -msgid "Email address" -msgstr "Chomlec'h postel" - -msgid "File path" -msgstr "Treug war-du ar restr" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "Niver gant skej nij" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "Anterin" - -msgid "Big (8 byte) integer" -msgstr "Anterin bras (8 okted)" - -msgid "IPv4 address" -msgstr "Chomlec'h IPv4" - -msgid "IP address" -msgstr "Chomlec'h IP" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "Boulean (gwir pe gaou pe netra)" - -msgid "Positive big integer" -msgstr "" - -msgid "Positive integer" -msgstr "Niver anterin pozitivel" - -msgid "Positive small integer" -msgstr "Niver anterin bihan pozitivel" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Slug (betek %(max_length)s arouez.)" - -msgid "Small integer" -msgstr "Niver anterin bihan" - -msgid "Text" -msgstr "Testenn" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "Eur" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "" - -msgid "File" -msgstr "Restr" - -msgid "Image" -msgstr "Skeudenn" - -msgid "A JSON object" -msgstr "" - -msgid "Value must be valid JSON." -msgstr "" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "" - -msgid "Foreign Key (type determined by related field)" -msgstr "Alc'hwez estren (seurt termenet dre ar vaezienn liammet)" - -msgid "One-to-one relationship" -msgstr "Darempred unan-ouzh-unan" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "" - -msgid "Many-to-many relationship" -msgstr "Darempred lies-ouzh-lies" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr "" - -msgid "This field is required." -msgstr "Rekis eo leuniañ ar vaezienn." - -msgid "Enter a whole number." -msgstr "Merkit un niver anterin." - -msgid "Enter a valid date." -msgstr "Merkit un deiziad reizh" - -msgid "Enter a valid time." -msgstr "Merkit un eur reizh" - -msgid "Enter a valid date/time." -msgstr "Merkit un eur/deiziad reizh" - -msgid "Enter a valid duration." -msgstr "" - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "" - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "N'eus ket kaset restr ebet. Gwiriit ar seurt enkodañ evit ar restr" - -msgid "No file was submitted." -msgstr "N'eus bet kaset restr ebet." - -msgid "The submitted file is empty." -msgstr "Goullo eo ar restr kaset." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" -msgstr[4] "" - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "Kasit ur restr pe askit al log riñsañ; an eil pe egile" - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Enpozhiit ur skeudenn reizh. Ar seurt bet enporzhiet ganeoc'h a oa foeltret " -"pe ne oa ket ur skeudenn" - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "Dizuit un dibab reizh. %(value)s n'emañ ket e-touez an dibaboù posupl." - -msgid "Enter a list of values." -msgstr "Merkit ur roll talvoudoù" - -msgid "Enter a complete value." -msgstr "Merkañ un talvoud klok" - -msgid "Enter a valid UUID." -msgstr "" - -msgid "Enter a valid JSON." -msgstr "" - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr "" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" -msgstr[4] "" - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" -msgstr[4] "" - -msgid "Order" -msgstr "Urzh" - -msgid "Delete" -msgstr "Diverkañ" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Reizhit ar roadennoù e doubl e %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"Reizhit ar roadennoù e doubl e %(field)s, na zle bezañ enni nemet talvoudoù " -"dzho o-unan." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Reizhit ar roadennoù e doubl e %(field_name)s a rank bezañ ennañ talvodoù en " -"o-unan evit lodenn %(lookup)s %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "Reizhañ ar roadennoù e doubl zo a-is" - -msgid "The inline value did not match the parent instance." -msgstr "" - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "Diuzit un dibab reizh. N'emañ ket an dibab-mañ e-touez ar re bosupl." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "Riñsañ" - -msgid "Currently" -msgstr "Evit ar mare" - -msgid "Change" -msgstr "Kemmañ" - -msgid "Unknown" -msgstr "Dianav" - -msgid "Yes" -msgstr "Ya" - -msgid "No" -msgstr "Ket" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "ya,ket,marteze" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d okted" -msgstr[1] "%(size)d okted" -msgstr[2] "%(size)d okted" -msgstr[3] "%(size)d okted" -msgstr[4] "%(size)d okted" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "g.m." - -msgid "a.m." -msgstr "mintin" - -msgid "PM" -msgstr "G.M." - -msgid "AM" -msgstr "Mintin" - -msgid "midnight" -msgstr "hanternoz" - -msgid "noon" -msgstr "kreisteiz" - -msgid "Monday" -msgstr "Lun" - -msgid "Tuesday" -msgstr "Meurzh" - -msgid "Wednesday" -msgstr "Merc'her" - -msgid "Thursday" -msgstr "Yaou" - -msgid "Friday" -msgstr "Gwener" - -msgid "Saturday" -msgstr "Sadorn" - -msgid "Sunday" -msgstr "Sul" - -msgid "Mon" -msgstr "Lun" - -msgid "Tue" -msgstr "Meu" - -msgid "Wed" -msgstr "Mer" - -msgid "Thu" -msgstr "Yao" - -msgid "Fri" -msgstr "Gwe" - -msgid "Sat" -msgstr "Sad" - -msgid "Sun" -msgstr "Sul" - -msgid "January" -msgstr "Genver" - -msgid "February" -msgstr "C'hwevrer" - -msgid "March" -msgstr "Meurzh" - -msgid "April" -msgstr "Ebrel" - -msgid "May" -msgstr "Mae" - -msgid "June" -msgstr "Mezheven" - -msgid "July" -msgstr "Gouere" - -msgid "August" -msgstr "Eost" - -msgid "September" -msgstr "Gwengolo" - -msgid "October" -msgstr "Here" - -msgid "November" -msgstr "Du" - -msgid "December" -msgstr "Kerzu" - -msgid "jan" -msgstr "Gen" - -msgid "feb" -msgstr "C'hwe" - -msgid "mar" -msgstr "Meu" - -msgid "apr" -msgstr "Ebr" - -msgid "may" -msgstr "Mae" - -msgid "jun" -msgstr "Mez" - -msgid "jul" -msgstr "Gou" - -msgid "aug" -msgstr "Eos" - -msgid "sep" -msgstr "Gwe" - -msgid "oct" -msgstr "Her" - -msgid "nov" -msgstr "Du" - -msgid "dec" -msgstr "Kzu" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Gen." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "C'hwe." - -msgctxt "abbrev. month" -msgid "March" -msgstr "Meu." - -msgctxt "abbrev. month" -msgid "April" -msgstr "Ebr." - -msgctxt "abbrev. month" -msgid "May" -msgstr "Mae" - -msgctxt "abbrev. month" -msgid "June" -msgstr "Mez." - -msgctxt "abbrev. month" -msgid "July" -msgstr "Gou." - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Eos." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Gwe." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Her." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Du" - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Kzu" - -msgctxt "alt. month" -msgid "January" -msgstr "Genver" - -msgctxt "alt. month" -msgid "February" -msgstr "C'hwevrer" - -msgctxt "alt. month" -msgid "March" -msgstr "Meurzh" - -msgctxt "alt. month" -msgid "April" -msgstr "Ebrel" - -msgctxt "alt. month" -msgid "May" -msgstr "Mae" - -msgctxt "alt. month" -msgid "June" -msgstr "Mezheven" - -msgctxt "alt. month" -msgid "July" -msgstr "Gouere" - -msgctxt "alt. month" -msgid "August" -msgstr "Eost" - -msgctxt "alt. month" -msgid "September" -msgstr "Gwengolo" - -msgctxt "alt. month" -msgid "October" -msgstr "Here" - -msgctxt "alt. month" -msgid "November" -msgstr "Du" - -msgctxt "alt. month" -msgid "December" -msgstr "Kerzu" - -msgid "This is not a valid IPv6 address." -msgstr "" - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "" - -msgid "or" -msgstr "pe" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr "," - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d bloaz" -msgstr[1] "%d bloaz" -msgstr[2] "%d bloaz" -msgstr[3] "%d bloaz" -msgstr[4] "%d bloaz" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d miz" -msgstr[1] "%d miz" -msgstr[2] "%d miz" -msgstr[3] "%d miz" -msgstr[4] "%d miz" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d sizhun" -msgstr[1] "%d sizhun" -msgstr[2] "%d sizhun" -msgstr[3] "%d sizhun" -msgstr[4] "%d sizhun" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d deiz" -msgstr[1] "%d deiz" -msgstr[2] "%d deiz" -msgstr[3] "%d deiz" -msgstr[4] "%d deiz" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d eur" -msgstr[1] "%d eur" -msgstr[2] "%d eur" -msgstr[3] "%d eur" -msgstr[4] "%d eur" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d munud" -msgstr[1] "%d munud" -msgstr[2] "%d munud" -msgstr[3] "%d munud" -msgstr[4] "%d munud" - -msgid "Forbidden" -msgstr "Difennet" - -msgid "CSRF verification failed. Request aborted." -msgstr "" - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "" - -msgid "No year specified" -msgstr "N'eus bet resisaet bloavezh ebet" - -msgid "Date out of range" -msgstr "" - -msgid "No month specified" -msgstr "N'eus bet resisaet miz ebet" - -msgid "No day specified" -msgstr "N'eus bet resisaet deiz ebet" - -msgid "No week specified" -msgstr "N'eus bet resisaet sizhun ebet" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "N'eus %(verbose_name_plural)s ebet da gaout." - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"En dazont ne vo ket a %(verbose_name_plural)s rak faos eo %(class_name)s." -"allow_future." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "" -"N'eus bet kavet traezenn %(verbose_name)s ebet o klotaén gant ar goulenn" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "N'haller ket diskwel endalc'had ar c'havlec'h-mañ." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Meneger %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" - -msgid "The install worked successfully! Congratulations!" -msgstr "" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" - -msgid "Django Documentation" -msgstr "" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "" - -msgid "Get started with Django" -msgstr "" - -msgid "Django Community" -msgstr "" - -msgid "Connect, get help, or contribute" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/bs/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/bs/LC_MESSAGES/django.mo deleted file mode 100644 index 064cc5d8..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/bs/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/bs/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/bs/LC_MESSAGES/django.po deleted file mode 100644 index a985b84e..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/bs/LC_MESSAGES/django.po +++ /dev/null @@ -1,1238 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Filip Dupanović , 2011 -# Jannis Leidel , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-27 22:40+0200\n" -"PO-Revision-Date: 2019-11-05 00:38+0000\n" -"Last-Translator: Ramiro Morales\n" -"Language-Team: Bosnian (http://www.transifex.com/django/django/language/" -"bs/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: bs\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" - -msgid "Afrikaans" -msgstr "" - -msgid "Arabic" -msgstr "arapski" - -msgid "Asturian" -msgstr "" - -msgid "Azerbaijani" -msgstr "Azerbejdžanski" - -msgid "Bulgarian" -msgstr "bugarski" - -msgid "Belarusian" -msgstr "" - -msgid "Bengali" -msgstr "bengalski" - -msgid "Breton" -msgstr "" - -msgid "Bosnian" -msgstr "bosanski" - -msgid "Catalan" -msgstr "katalonski" - -msgid "Czech" -msgstr "češki" - -msgid "Welsh" -msgstr "velški" - -msgid "Danish" -msgstr "danski" - -msgid "German" -msgstr "njemački" - -msgid "Lower Sorbian" -msgstr "" - -msgid "Greek" -msgstr "grčki" - -msgid "English" -msgstr "engleski" - -msgid "Australian English" -msgstr "" - -msgid "British English" -msgstr "Britanski engleski" - -msgid "Esperanto" -msgstr "" - -msgid "Spanish" -msgstr "španski" - -msgid "Argentinian Spanish" -msgstr "Argentinski španski" - -msgid "Colombian Spanish" -msgstr "" - -msgid "Mexican Spanish" -msgstr "Meksički španski" - -msgid "Nicaraguan Spanish" -msgstr "Nikuaraganski španski" - -msgid "Venezuelan Spanish" -msgstr "" - -msgid "Estonian" -msgstr "estonski" - -msgid "Basque" -msgstr "baskijski" - -msgid "Persian" -msgstr "persijski" - -msgid "Finnish" -msgstr "finski" - -msgid "French" -msgstr "francuski" - -msgid "Frisian" -msgstr "frišanski" - -msgid "Irish" -msgstr "irski" - -msgid "Scottish Gaelic" -msgstr "" - -msgid "Galician" -msgstr "galski" - -msgid "Hebrew" -msgstr "hebrejski" - -msgid "Hindi" -msgstr "hindi" - -msgid "Croatian" -msgstr "hrvatski" - -msgid "Upper Sorbian" -msgstr "" - -msgid "Hungarian" -msgstr "mađarski" - -msgid "Armenian" -msgstr "" - -msgid "Interlingua" -msgstr "" - -msgid "Indonesian" -msgstr "Indonežanski" - -msgid "Ido" -msgstr "" - -msgid "Icelandic" -msgstr "islandski" - -msgid "Italian" -msgstr "italijanski" - -msgid "Japanese" -msgstr "japanski" - -msgid "Georgian" -msgstr "gruzijski" - -msgid "Kabyle" -msgstr "" - -msgid "Kazakh" -msgstr "" - -msgid "Khmer" -msgstr "kambođanski" - -msgid "Kannada" -msgstr "kanada" - -msgid "Korean" -msgstr "korejski" - -msgid "Luxembourgish" -msgstr "" - -msgid "Lithuanian" -msgstr "litvanski" - -msgid "Latvian" -msgstr "latvijski" - -msgid "Macedonian" -msgstr "makedonski" - -msgid "Malayalam" -msgstr "Malajalamski" - -msgid "Mongolian" -msgstr "Mongolski" - -msgid "Marathi" -msgstr "" - -msgid "Burmese" -msgstr "" - -msgid "Norwegian Bokmål" -msgstr "" - -msgid "Nepali" -msgstr "" - -msgid "Dutch" -msgstr "holandski" - -msgid "Norwegian Nynorsk" -msgstr "Norveški novi" - -msgid "Ossetic" -msgstr "" - -msgid "Punjabi" -msgstr "Pandžabi" - -msgid "Polish" -msgstr "poljski" - -msgid "Portuguese" -msgstr "portugalski" - -msgid "Brazilian Portuguese" -msgstr "brazilski portugalski" - -msgid "Romanian" -msgstr "rumunski" - -msgid "Russian" -msgstr "ruski" - -msgid "Slovak" -msgstr "slovački" - -msgid "Slovenian" -msgstr "slovenački" - -msgid "Albanian" -msgstr "albanski" - -msgid "Serbian" -msgstr "srpski" - -msgid "Serbian Latin" -msgstr "srpski latinski" - -msgid "Swedish" -msgstr "švedski" - -msgid "Swahili" -msgstr "" - -msgid "Tamil" -msgstr "tamilski" - -msgid "Telugu" -msgstr "telugu" - -msgid "Thai" -msgstr "tajlandski" - -msgid "Turkish" -msgstr "turski" - -msgid "Tatar" -msgstr "" - -msgid "Udmurt" -msgstr "" - -msgid "Ukrainian" -msgstr "ukrajinski" - -msgid "Urdu" -msgstr "Urdu" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "vijetnamežanski" - -msgid "Simplified Chinese" -msgstr "novokineski" - -msgid "Traditional Chinese" -msgstr "starokineski" - -msgid "Messages" -msgstr "" - -msgid "Site Maps" -msgstr "" - -msgid "Static Files" -msgstr "" - -msgid "Syndication" -msgstr "" - -msgid "That page number is not an integer" -msgstr "" - -msgid "That page number is less than 1" -msgstr "" - -msgid "That page contains no results" -msgstr "" - -msgid "Enter a valid value." -msgstr "Unesite ispravnu vrijednost." - -msgid "Enter a valid URL." -msgstr "Unesite ispravan URL." - -msgid "Enter a valid integer." -msgstr "" - -msgid "Enter a valid email address." -msgstr "" - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "Unesite ispravnu IPv4 adresu." - -msgid "Enter a valid IPv6 address." -msgstr "" - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "" - -msgid "Enter only digits separated by commas." -msgstr "Unesite samo brojke razdvojene zapetama." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" -"Pobrinite se da je ova vrijednost %(limit_value)s (trenutno je " -"%(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Ova vrijednost mora da bude manja ili jednaka %(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Ova vrijednost mora biti veća ili jednaka %(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -msgid "Enter a number." -msgstr "Unesite broj." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "" - -msgid "and" -msgstr "i" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "" - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "" - -msgid "This field cannot be null." -msgstr "Ovo polje ne može ostati prazno." - -msgid "This field cannot be blank." -msgstr "Ovo polje ne može biti prazno." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s sa ovom vrijednošću %(field_label)s već postoji." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Polje tipa: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "Bulova vrijednost (True ili False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "String (najviše %(max_length)s znakova)" - -msgid "Comma-separated integers" -msgstr "Cijeli brojevi razdvojeni zapetama" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "Datum (bez vremena)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "Datum (sa vremenom)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "Decimalni broj" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "" - -msgid "Email address" -msgstr "Email adresa" - -msgid "File path" -msgstr "Putanja fajla" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "Broj sa pokrenom zapetom" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "Cijeo broj" - -msgid "Big (8 byte) integer" -msgstr "Big (8 bajtni) integer" - -msgid "IPv4 address" -msgstr "" - -msgid "IP address" -msgstr "IP adresa" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "Bulova vrijednost (True, False ili None)" - -msgid "Positive integer" -msgstr "" - -msgid "Positive small integer" -msgstr "" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "" - -msgid "Small integer" -msgstr "" - -msgid "Text" -msgstr "Tekst" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "Vrijeme" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "" - -msgid "File" -msgstr "" - -msgid "Image" -msgstr "" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "" - -msgid "Foreign Key (type determined by related field)" -msgstr "Strani ključ (tip određen povezanim poljem)" - -msgid "One-to-one relationship" -msgstr "Jedan-na-jedan odnos" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "" - -msgid "Many-to-many relationship" -msgstr "Više-na-više odsnos" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr "" - -msgid "This field is required." -msgstr "Ovo polje se mora popuniti." - -msgid "Enter a whole number." -msgstr "Unesite cijeo broj." - -msgid "Enter a valid date." -msgstr "Unesite ispravan datum." - -msgid "Enter a valid time." -msgstr "Unesite ispravno vrijeme" - -msgid "Enter a valid date/time." -msgstr "Unesite ispravan datum/vrijeme." - -msgid "Enter a valid duration." -msgstr "" - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "" - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Fajl nije prebačen. Provjerite tip enkodiranja formulara." - -msgid "No file was submitted." -msgstr "Fajl nije prebačen." - -msgid "The submitted file is empty." -msgstr "Prebačen fajl je prazan." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Prebacite ispravan fajl. Fajl koji je prebačen ili nije slika, ili je " -"oštećen." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "" -"%(value)s nije među ponuđenim vrijednostima. Odaberite jednu od ponuđenih." - -msgid "Enter a list of values." -msgstr "Unesite listu vrijednosti." - -msgid "Enter a complete value." -msgstr "" - -msgid "Enter a valid UUID." -msgstr "" - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr "" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -msgid "Order" -msgstr "Redoslijed" - -msgid "Delete" -msgstr "Obriši" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Ispravite dupli sadržaj za polja: %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"Ispravite dupli sadržaj za polja: %(field)s, koji mora da bude jedinstven." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Ispravite dupli sadržaj za polja: %(field_name)s, koji mora da bude " -"jedinstven za %(lookup)s u %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "Ispravite duple vrijednosti dole." - -msgid "The inline value did not match the parent instance." -msgstr "" - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" -"Odabrana vrijednost nije među ponuđenima. Odaberite jednu od ponuđenih." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "Očisti" - -msgid "Currently" -msgstr "Trenutno" - -msgid "Change" -msgstr "Izmjeni" - -msgid "Unknown" -msgstr "Nepoznato" - -msgid "Yes" -msgstr "Da" - -msgid "No" -msgstr "Ne" - -msgid "Year" -msgstr "" - -msgid "Month" -msgstr "" - -msgid "Day" -msgstr "" - -msgid "yes,no,maybe" -msgstr "da,ne,možda" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "po p." - -msgid "a.m." -msgstr "prije p." - -msgid "PM" -msgstr "PM" - -msgid "AM" -msgstr "AM" - -msgid "midnight" -msgstr "ponoć" - -msgid "noon" -msgstr "podne" - -msgid "Monday" -msgstr "ponedjeljak" - -msgid "Tuesday" -msgstr "utorak" - -msgid "Wednesday" -msgstr "srijeda" - -msgid "Thursday" -msgstr "četvrtak" - -msgid "Friday" -msgstr "petak" - -msgid "Saturday" -msgstr "subota" - -msgid "Sunday" -msgstr "nedjelja" - -msgid "Mon" -msgstr "pon." - -msgid "Tue" -msgstr "uto." - -msgid "Wed" -msgstr "sri." - -msgid "Thu" -msgstr "čet." - -msgid "Fri" -msgstr "pet." - -msgid "Sat" -msgstr "sub." - -msgid "Sun" -msgstr "ned." - -msgid "January" -msgstr "januar" - -msgid "February" -msgstr "februar" - -msgid "March" -msgstr "mart" - -msgid "April" -msgstr "april" - -msgid "May" -msgstr "maj" - -msgid "June" -msgstr "juni" - -msgid "July" -msgstr "juli" - -msgid "August" -msgstr "august" - -msgid "September" -msgstr "septembar" - -msgid "October" -msgstr "oktobar" - -msgid "November" -msgstr "novembar" - -msgid "December" -msgstr "decembar" - -msgid "jan" -msgstr "jan." - -msgid "feb" -msgstr "feb." - -msgid "mar" -msgstr "mar." - -msgid "apr" -msgstr "apr." - -msgid "may" -msgstr "maj." - -msgid "jun" -msgstr "jun." - -msgid "jul" -msgstr "jul." - -msgid "aug" -msgstr "aug." - -msgid "sep" -msgstr "sep." - -msgid "oct" -msgstr "okt." - -msgid "nov" -msgstr "nov." - -msgid "dec" -msgstr "dec." - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Jan." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Feb." - -msgctxt "abbrev. month" -msgid "March" -msgstr "Mart" - -msgctxt "abbrev. month" -msgid "April" -msgstr "April" - -msgctxt "abbrev. month" -msgid "May" -msgstr "Maj" - -msgctxt "abbrev. month" -msgid "June" -msgstr "Juni" - -msgctxt "abbrev. month" -msgid "July" -msgstr "juli" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "august" - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "septembar" - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "oktobar" - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "novembar" - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "decembar" - -msgctxt "alt. month" -msgid "January" -msgstr "januar" - -msgctxt "alt. month" -msgid "February" -msgstr "februar" - -msgctxt "alt. month" -msgid "March" -msgstr "mart" - -msgctxt "alt. month" -msgid "April" -msgstr "april" - -msgctxt "alt. month" -msgid "May" -msgstr "maj" - -msgctxt "alt. month" -msgid "June" -msgstr "juni" - -msgctxt "alt. month" -msgid "July" -msgstr "juli" - -msgctxt "alt. month" -msgid "August" -msgstr "august" - -msgctxt "alt. month" -msgid "September" -msgstr "septembar" - -msgctxt "alt. month" -msgid "October" -msgstr "oktobar" - -msgctxt "alt. month" -msgid "November" -msgstr "Novembar" - -msgctxt "alt. month" -msgid "December" -msgstr "decembar" - -msgid "This is not a valid IPv6 address." -msgstr "" - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "" - -msgid "or" -msgstr "ili" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -msgid "0 minutes" -msgstr "" - -msgid "Forbidden" -msgstr "" - -msgid "CSRF verification failed. Request aborted." -msgstr "" - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "" - -msgid "No year specified" -msgstr "Godina nije naznačena" - -msgid "Date out of range" -msgstr "" - -msgid "No month specified" -msgstr "Mjesec nije naznačen" - -msgid "No day specified" -msgstr "Dan nije naznačen" - -msgid "No week specified" -msgstr "Sedmica nije naznačena" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "" - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" - -msgid "The install worked successfully! Congratulations!" -msgstr "" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" - -msgid "Django Documentation" -msgstr "" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "" - -msgid "Get started with Django" -msgstr "" - -msgid "Django Community" -msgstr "" - -msgid "Connect, get help, or contribute" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/bs/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/bs/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/bs/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/bs/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index b16c713b..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/bs/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/bs/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/bs/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 4fcbf011..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/bs/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/bs/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/bs/formats.py deleted file mode 100644 index 25d9b40e..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/bs/formats.py +++ /dev/null @@ -1,21 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'j. N Y.' -TIME_FORMAT = 'G:i' -DATETIME_FORMAT = 'j. N. Y. G:i T' -YEAR_MONTH_FORMAT = 'F Y.' -MONTH_DAY_FORMAT = 'j. F' -SHORT_DATE_FORMAT = 'Y M j' -# SHORT_DATETIME_FORMAT = -# FIRST_DAY_OF_WEEK = - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -# DATE_INPUT_FORMATS = -# TIME_INPUT_FORMATS = -# DATETIME_INPUT_FORMATS = -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = '.' -# NUMBER_GROUPING = diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ca/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/ca/LC_MESSAGES/django.mo deleted file mode 100644 index 5ff9b1ed..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/ca/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ca/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/ca/LC_MESSAGES/django.po deleted file mode 100644 index 63440683..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/ca/LC_MESSAGES/django.po +++ /dev/null @@ -1,1314 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Antoni Aloy , 2012,2015-2017 -# Carles Barrobés , 2011-2012,2014 -# duub qnnp, 2015 -# Gil Obradors Via , 2019 -# Gil Obradors Via , 2019 -# Jannis Leidel , 2011 -# Manel Clos , 2020 -# Manuel Miranda , 2015 -# Roger Pons , 2015 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-07-14 21:42+0000\n" -"Last-Translator: Transifex Bot <>\n" -"Language-Team: Catalan (http://www.transifex.com/django/django/language/" -"ca/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ca\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "Afrikaans" -msgstr "Afrikans" - -msgid "Arabic" -msgstr "àrab" - -msgid "Algerian Arabic" -msgstr "àrab argelià" - -msgid "Asturian" -msgstr "Asturià" - -msgid "Azerbaijani" -msgstr "azerbaijanès" - -msgid "Bulgarian" -msgstr "búlgar" - -msgid "Belarusian" -msgstr "Bielorús" - -msgid "Bengali" -msgstr "bengalí" - -msgid "Breton" -msgstr "Bretó" - -msgid "Bosnian" -msgstr "bosnià" - -msgid "Catalan" -msgstr "català" - -msgid "Czech" -msgstr "txec" - -msgid "Welsh" -msgstr "gal·lès" - -msgid "Danish" -msgstr "danès" - -msgid "German" -msgstr "alemany" - -msgid "Lower Sorbian" -msgstr "Lower Sorbian" - -msgid "Greek" -msgstr "grec" - -msgid "English" -msgstr "anglès" - -msgid "Australian English" -msgstr "Anglès d'Austràlia" - -msgid "British English" -msgstr "anglès britànic" - -msgid "Esperanto" -msgstr "Esperanto" - -msgid "Spanish" -msgstr "espanyol" - -msgid "Argentinian Spanish" -msgstr "castellà d'Argentina" - -msgid "Colombian Spanish" -msgstr "Español de Colombia" - -msgid "Mexican Spanish" -msgstr "espanyol de Mèxic" - -msgid "Nicaraguan Spanish" -msgstr "castellà de Nicaragua" - -msgid "Venezuelan Spanish" -msgstr "Espanyol de Veneçuela" - -msgid "Estonian" -msgstr "estonià" - -msgid "Basque" -msgstr "euskera" - -msgid "Persian" -msgstr "persa" - -msgid "Finnish" -msgstr "finlandès" - -msgid "French" -msgstr "francès" - -msgid "Frisian" -msgstr "frisi" - -msgid "Irish" -msgstr "irlandès" - -msgid "Scottish Gaelic" -msgstr "Escocés Gaélico" - -msgid "Galician" -msgstr "gallec" - -msgid "Hebrew" -msgstr "hebreu" - -msgid "Hindi" -msgstr "hindi" - -msgid "Croatian" -msgstr "croat" - -msgid "Upper Sorbian" -msgstr "Upper Sorbian" - -msgid "Hungarian" -msgstr "hongarès" - -msgid "Armenian" -msgstr "Armeni" - -msgid "Interlingua" -msgstr "Interlingua" - -msgid "Indonesian" -msgstr "indonesi" - -msgid "Igbo" -msgstr "" - -msgid "Ido" -msgstr "Ido" - -msgid "Icelandic" -msgstr "islandès" - -msgid "Italian" -msgstr "italià" - -msgid "Japanese" -msgstr "japonès" - -msgid "Georgian" -msgstr "georgià" - -msgid "Kabyle" -msgstr "Cabilenc" - -msgid "Kazakh" -msgstr "Kazakh" - -msgid "Khmer" -msgstr "khmer" - -msgid "Kannada" -msgstr "kannarès" - -msgid "Korean" -msgstr "coreà" - -msgid "Kyrgyz" -msgstr "" - -msgid "Luxembourgish" -msgstr "Luxemburguès" - -msgid "Lithuanian" -msgstr "lituà" - -msgid "Latvian" -msgstr "letó" - -msgid "Macedonian" -msgstr "macedoni" - -msgid "Malayalam" -msgstr "malaiàlam " - -msgid "Mongolian" -msgstr "mongol" - -msgid "Marathi" -msgstr "Maratí" - -msgid "Burmese" -msgstr "Burmès" - -msgid "Norwegian Bokmål" -msgstr "Norwegian Bokmål" - -msgid "Nepali" -msgstr "Nepalí" - -msgid "Dutch" -msgstr "holandès" - -msgid "Norwegian Nynorsk" -msgstr "noruec nynorsk" - -msgid "Ossetic" -msgstr "Ossètic" - -msgid "Punjabi" -msgstr "panjabi" - -msgid "Polish" -msgstr "polonès" - -msgid "Portuguese" -msgstr "portuguès" - -msgid "Brazilian Portuguese" -msgstr "portuguès de brasil" - -msgid "Romanian" -msgstr "romanès" - -msgid "Russian" -msgstr "rus" - -msgid "Slovak" -msgstr "eslovac" - -msgid "Slovenian" -msgstr "eslovè" - -msgid "Albanian" -msgstr "albanès" - -msgid "Serbian" -msgstr "serbi" - -msgid "Serbian Latin" -msgstr "serbi llatí" - -msgid "Swedish" -msgstr "suec" - -msgid "Swahili" -msgstr "Swahili" - -msgid "Tamil" -msgstr "tàmil" - -msgid "Telugu" -msgstr "telugu" - -msgid "Tajik" -msgstr "" - -msgid "Thai" -msgstr "tailandès" - -msgid "Turkmen" -msgstr "" - -msgid "Turkish" -msgstr "turc" - -msgid "Tatar" -msgstr "Tatar" - -msgid "Udmurt" -msgstr "Udmurt" - -msgid "Ukrainian" -msgstr "ucraïnès" - -msgid "Urdu" -msgstr "urdu" - -msgid "Uzbek" -msgstr "Uzbek" - -msgid "Vietnamese" -msgstr "vietnamita" - -msgid "Simplified Chinese" -msgstr "xinès simplificat" - -msgid "Traditional Chinese" -msgstr "xinès tradicional" - -msgid "Messages" -msgstr "Missatges" - -msgid "Site Maps" -msgstr "Mapes del lloc" - -msgid "Static Files" -msgstr "Arxius estàtics" - -msgid "Syndication" -msgstr "Sindicació" - -msgid "That page number is not an integer" -msgstr "Aquesta plana no és un sencer" - -msgid "That page number is less than 1" -msgstr "El nombre de plana és inferior a 1" - -msgid "That page contains no results" -msgstr "La plana no conté cap resultat" - -msgid "Enter a valid value." -msgstr "Introduïu un valor vàlid." - -msgid "Enter a valid URL." -msgstr "Introduïu una URL vàlida." - -msgid "Enter a valid integer." -msgstr "Introduïu un enter vàlid." - -msgid "Enter a valid email address." -msgstr "Introdueix una adreça de correu electrònic vàlida" - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" -"Introduïu un 'slug' vàlid, consistent en lletres, números, guions o guions " -"baixos." - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" -"Introduïu un 'slug' vàlid format per lletres Unicode, números, guions o " -"guions baixos." - -msgid "Enter a valid IPv4 address." -msgstr "Introduïu una adreça IPv4 vàlida." - -msgid "Enter a valid IPv6 address." -msgstr "Entreu una adreça IPv6 vàlida." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Entreu una adreça IPv4 o IPv6 vàlida." - -msgid "Enter only digits separated by commas." -msgstr "Introduïu només dígits separats per comes." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "Assegureu-vos que el valor sigui %(limit_value)s (és %(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "" -"Assegureu-vos que aquest valor sigui menor o igual que %(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "" -"Assegureu-vos que aquest valor sigui més gran o igual que %(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Assegureu-vos que aquest valor té almenys %(limit_value)d caràcter (en té " -"%(show_value)d)." -msgstr[1] "" -"Assegureu-vos que aquest valor té almenys %(limit_value)d caràcters (en té " -"%(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Assegureu-vos que aquest valor té com a molt %(limit_value)d caràcter (en té " -"%(show_value)d)." -msgstr[1] "" -"Assegureu-vos que aquest valor té com a molt %(limit_value)d caràcters (en " -"té %(show_value)d)." - -msgid "Enter a number." -msgstr "Introduïu un número." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Assegureu-vos que no hi ha més de %(max)s dígit en total." -msgstr[1] "Assegureu-vos que no hi ha més de %(max)s dígits en total." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "Assegureu-vos que no hi ha més de %(max)s decimal." -msgstr[1] "Assegureu-vos que no hi ha més de %(max)s decimals." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -"Assegureu-vos que no hi ha més de %(max)s dígit abans de la coma decimal." -msgstr[1] "" -"Assegureu-vos que no hi ha més de %(max)s dígits abans de la coma decimal." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" -"L'extensió d'arxiu '%(extension)s' no està permesa. Les extensions permeses " -"són: '%(allowed_extensions)s'." - -msgid "Null characters are not allowed." -msgstr "Caràcters nul no estan permesos." - -msgid "and" -msgstr "i" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "Ja existeix %(model_name)s amb aquest %(field_labels)s." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "El valor %(value)r no és una opció vàlida." - -msgid "This field cannot be null." -msgstr "Aquest camp no pot ser nul." - -msgid "This field cannot be blank." -msgstr "Aquest camp no pot estar en blanc." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "Ja existeix %(model_name)s amb aquest %(field_label)s." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(field_label)s ha de ser únic per a %(date_field_label)s i %(lookup_type)s." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Camp del tipus: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "El valor '%(value)s' ha de ser \"True\" o \"False\"." - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "El valor '%(value)s' ha de ser cert, fals o cap." - -msgid "Boolean (Either True or False)" -msgstr "Booleà (Cert o Fals)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Cadena (de fins a %(max_length)s)" - -msgid "Comma-separated integers" -msgstr "Enters separats per comes" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" -"El valor '%(value)s' no té un format de data vàlid. Ha de tenir el format " -"YYYY-MM-DD." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" -"El valor '%(value)s' té el format correcte (YYYY-MM-DD) però no és una data " -"vàlida." - -msgid "Date (without time)" -msgstr "Data (sense hora)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" -"El valor '%(value)s' no té un format vàlid. Ha de tenir el format YYYY-MM-DD " -"HH:MM[:ss[.uuuuuu]][TZ]." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" -"El valor '%(value)s' té el format correcte (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) però no és una data/hora vàlida." - -msgid "Date (with time)" -msgstr "Data (amb hora)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "El valor '%(value)s' ha de ser un nombre decimal." - -msgid "Decimal number" -msgstr "Número decimal" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" -"'El valor %(value)s' té un format invàlid. Ha d'estar en el format [DD] [HH:" -"[MM:]]ss[.uuuuuu] ." - -msgid "Duration" -msgstr "Durada" - -msgid "Email address" -msgstr "Adreça de correu electrònic" - -msgid "File path" -msgstr "Ruta del fitxer" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "El valor '%(value)s' ha de ser un número de coma flotant." - -msgid "Floating point number" -msgstr "Número de coma flotant" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "El valor '%(value)s' ha de ser un nombre enter." - -msgid "Integer" -msgstr "Enter" - -msgid "Big (8 byte) integer" -msgstr "Enter gran (8 bytes)" - -msgid "IPv4 address" -msgstr "Adreça IPv4" - -msgid "IP address" -msgstr "Adreça IP" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "El valor '%(value)s' ha de ser None, True o False." - -msgid "Boolean (Either True, False or None)" -msgstr "Booleà (Cert, Fals o Cap ('None'))" - -msgid "Positive big integer" -msgstr "Enter gran positiu" - -msgid "Positive integer" -msgstr "Enter positiu" - -msgid "Positive small integer" -msgstr "Enter petit positiu" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Slug (fins a %(max_length)s)" - -msgid "Small integer" -msgstr "Enter petit" - -msgid "Text" -msgstr "Text" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" -"El valor '%(value)s' no té un format vàlid. Ha de tenir el format HH:MM[:ss[." -"uuuuuu]]." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" -"El valor '%(value)s' té el format correcte (HH:MM[:ss[.uuuuuu]]) però no és " -"una hora vàlida." - -msgid "Time" -msgstr "Hora" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Dades binàries" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "'%(value)s' no és un UUID vàlid." - -msgid "Universally unique identifier" -msgstr "Identificador únic universal" - -msgid "File" -msgstr "Arxiu" - -msgid "Image" -msgstr "Imatge" - -msgid "A JSON object" -msgstr "Un objecte JSON" - -msgid "Value must be valid JSON." -msgstr "El valor ha de ser JSON vàlid." - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "La instància de %(model)s amb %(field)s %(value)r no existeix." - -msgid "Foreign Key (type determined by related field)" -msgstr "Clau forana (tipus determinat pel camp relacionat)" - -msgid "One-to-one relationship" -msgstr "Inter-relació un-a-un" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "relació %(from)s-%(to)s " - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "relacions %(from)s-%(to)s " - -msgid "Many-to-many relationship" -msgstr "Inter-relació molts-a-molts" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Aquest camp és obligatori." - -msgid "Enter a whole number." -msgstr "Introduïu un número sencer." - -msgid "Enter a valid date." -msgstr "Introduïu una data vàlida." - -msgid "Enter a valid time." -msgstr "Introduïu una hora vàlida." - -msgid "Enter a valid date/time." -msgstr "Introduïu una data/hora vàlides." - -msgid "Enter a valid duration." -msgstr "Introdueixi una durada vàlida." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "El número de dies ha de ser entre {min_days} i {max_days}." - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "" -"No s'ha enviat cap fitxer. Comproveu el tipus de codificació del formulari." - -msgid "No file was submitted." -msgstr "No s'ha enviat cap fitxer." - -msgid "The submitted file is empty." -msgstr "El fitxer enviat està buit." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Aquest nom d'arxiu hauria de tenir com a molt %(max)d caràcter (en té " -"%(length)d)." -msgstr[1] "" -"Aquest nom d'arxiu hauria de tenir com a molt %(max)d caràcters (en té " -"%(length)d)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" -"Si us plau, envieu un fitxer o marqueu la casella de selecció \"netejar\", " -"no ambdós." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Carregueu una imatge vàlida. El fitxer que heu carregat no era una imatge o " -"estava corrupte." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "Esculliu una opció vàlida. %(value)s no és una de les opcions vàlides." - -msgid "Enter a list of values." -msgstr "Introduïu una llista de valors." - -msgid "Enter a complete value." -msgstr "Introduïu un valor complet." - -msgid "Enter a valid UUID." -msgstr "Intrudueixi un UUID vàlid." - -msgid "Enter a valid JSON." -msgstr "Entreu un JSON vàlid." - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Camp ocult %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "Falten dades de ManagementForm o s'ha manipulat" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Sisplau envieu com a molt %d formulari." -msgstr[1] "Sisplau envieu com a molt %d formularis." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "Sisplau envieu com a mínim %d formulari." -msgstr[1] "Sisplau envieu com a mínim %d formularis." - -msgid "Order" -msgstr "Ordre" - -msgid "Delete" -msgstr "Eliminar" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Si us plau, corregiu la dada duplicada per a %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"Si us plau, corregiu la dada duplicada per a %(field)s, la qual ha de ser " -"única." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Si us plau, corregiu la dada duplicada per a %(field_name)s, la qual ha de " -"ser única per a %(lookup)s en %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "Si us plau, corregiu els valors duplicats a sota." - -msgid "The inline value did not match the parent instance." -msgstr "El valor en línia no coincideix la instancia mare ." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" -"Esculli una opció vàlida. Aquesta opció no és una de les opcions disponibles." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "\"%(pk)s\" no és un valor vàlid" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" -"No s'ha pogut interpretar %(datetime)s a la zona horària " -"%(current_timezone)s; potser és ambigua o no existeix." - -msgid "Clear" -msgstr "Netejar" - -msgid "Currently" -msgstr "Actualment" - -msgid "Change" -msgstr "Modificar" - -msgid "Unknown" -msgstr "Desconegut" - -msgid "Yes" -msgstr "Sí" - -msgid "No" -msgstr "No" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "sí,no,potser" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d byte" -msgstr[1] "%(size)d bytes" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "p.m." - -msgid "a.m." -msgstr "a.m." - -msgid "PM" -msgstr "PM" - -msgid "AM" -msgstr "AM" - -msgid "midnight" -msgstr "mitjanit" - -msgid "noon" -msgstr "migdia" - -msgid "Monday" -msgstr "Dilluns" - -msgid "Tuesday" -msgstr "Dimarts" - -msgid "Wednesday" -msgstr "Dimecres" - -msgid "Thursday" -msgstr "Dijous" - -msgid "Friday" -msgstr "Divendres" - -msgid "Saturday" -msgstr "Dissabte" - -msgid "Sunday" -msgstr "Diumenge" - -msgid "Mon" -msgstr "dl." - -msgid "Tue" -msgstr "dt." - -msgid "Wed" -msgstr "dc." - -msgid "Thu" -msgstr "dj." - -msgid "Fri" -msgstr "dv." - -msgid "Sat" -msgstr "ds." - -msgid "Sun" -msgstr "dg." - -msgid "January" -msgstr "gener" - -msgid "February" -msgstr "febrer" - -msgid "March" -msgstr "març" - -msgid "April" -msgstr "abril" - -msgid "May" -msgstr "maig" - -msgid "June" -msgstr "juny" - -msgid "July" -msgstr "juliol" - -msgid "August" -msgstr "agost" - -msgid "September" -msgstr "setembre" - -msgid "October" -msgstr "octubre" - -msgid "November" -msgstr "novembre" - -msgid "December" -msgstr "desembre" - -msgid "jan" -msgstr "gen." - -msgid "feb" -msgstr "feb." - -msgid "mar" -msgstr "març" - -msgid "apr" -msgstr "abr." - -msgid "may" -msgstr "maig" - -msgid "jun" -msgstr "juny" - -msgid "jul" -msgstr "jul." - -msgid "aug" -msgstr "ago." - -msgid "sep" -msgstr "set." - -msgid "oct" -msgstr "oct." - -msgid "nov" -msgstr "nov." - -msgid "dec" -msgstr "des." - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "gen." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "feb." - -msgctxt "abbrev. month" -msgid "March" -msgstr "mar." - -msgctxt "abbrev. month" -msgid "April" -msgstr "abr." - -msgctxt "abbrev. month" -msgid "May" -msgstr "mai." - -msgctxt "abbrev. month" -msgid "June" -msgstr "jun." - -msgctxt "abbrev. month" -msgid "July" -msgstr "jul." - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "ago." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "set." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "oct." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "nov." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "des." - -msgctxt "alt. month" -msgid "January" -msgstr "gener" - -msgctxt "alt. month" -msgid "February" -msgstr "febrer" - -msgctxt "alt. month" -msgid "March" -msgstr "març" - -msgctxt "alt. month" -msgid "April" -msgstr "abril" - -msgctxt "alt. month" -msgid "May" -msgstr "maig" - -msgctxt "alt. month" -msgid "June" -msgstr "juny" - -msgctxt "alt. month" -msgid "July" -msgstr "juliol" - -msgctxt "alt. month" -msgid "August" -msgstr "agost" - -msgctxt "alt. month" -msgid "September" -msgstr "setembre" - -msgctxt "alt. month" -msgid "October" -msgstr "octubre" - -msgctxt "alt. month" -msgid "November" -msgstr "novembre" - -msgctxt "alt. month" -msgid "December" -msgstr "desembre" - -msgid "This is not a valid IPv6 address." -msgstr "Aquesta no és una adreça IPv6 vàlida." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s..." - -msgid "or" -msgstr "o" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d any" -msgstr[1] "%d anys" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d mes" -msgstr[1] "%d mesos" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d setmana" -msgstr[1] "%d setmanes" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d dia" -msgstr[1] "%d dies" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d hora" -msgstr[1] "%d hores" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d minut" -msgstr[1] "%d minuts" - -msgid "Forbidden" -msgstr "Prohibit" - -msgid "CSRF verification failed. Request aborted." -msgstr "La verificació de CSRF ha fallat. Petició abortada." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" -"Estàs veient aquest missatge perquè aquest lloc HTTPS requereix que el teu " -"navegador enviï una capçalera 'Referer', i no n'ha arribada cap. Aquesta " -"capçalera es requereix per motius de seguretat, per garantir que el teu " -"navegador no està sent infiltrat per tercers." - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" -"Si has configurat el teu navegador per deshabilitar capçaleres 'Referer', " -"sisplau torna-les a habilitar, com a mínim per a aquest lloc, o per a " -"connexions HTTPs, o per a peticions amb el mateix orígen." - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" -"Si utilitza l'etiqueta o " -"inclou la capçalera 'Referrer-Policy: no-referrer' , si et plau elimina-la. " -"La protecció CSRF requereix la capçalera 'Referer' per a fer una " -"comprovació estricte. Si està preocupat en quan a la privacitat, utilitzi " -"alternatives com per enllaçar a aplicacions de " -"tercers." - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Estàs veient aquest missatge perquè aquest lloc requereix una galeta CSRF " -"quan s'envien formularis. Aquesta galeta es requereix per motius de " -"seguretat, per garantir que el teu navegador no està sent infiltrat per " -"tercers." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" -"Si has configurat el teu navegador per deshabilitar galetes, sisplau torna-" -"les a habilitar, com a mínim per a aquest lloc, o per a peticions amb el " -"mateix orígen." - -msgid "More information is available with DEBUG=True." -msgstr "Més informació disponible amb DEBUG=True." - -msgid "No year specified" -msgstr "No s'ha especificat any" - -msgid "Date out of range" -msgstr "Data fora de rang" - -msgid "No month specified" -msgstr "No s'ha especificat mes" - -msgid "No day specified" -msgstr "No s'ha especificat dia" - -msgid "No week specified" -msgstr "No s'ha especificat setmana" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "Cap %(verbose_name_plural)s disponible" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"Futurs %(verbose_name_plural)s no disponibles perquè %(class_name)s." -"allow_future és Fals." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "Cadena invàlida de data '%(datestr)s' donat el format '%(format)s'" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "No s'ha trobat sap %(verbose_name)s que coincideixi amb la petició" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "La pàgina no és 'last', ni es pot convertir en un enter" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Pàgina invàlida (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "Llista buida i '%(class_name)s.allow_empty' és Fals." - -msgid "Directory indexes are not allowed here." -msgstr "Aquí no es permeten índexs de directori." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "\"%(path)s\" no existeix" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Índex de %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "Django: l'entorn de treball per a perfeccionistes de temps rècord." - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"Visualitza notes de llançament per Django " -"%(version)s" - -msgid "The install worked successfully! Congratulations!" -msgstr "La instal·lació ha estat un èxit! Felicitats!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"Està veient aquesta pàgina degut a que el paràmetre DEBUG=Trueconsta al fitxer de configuració i no teniu " -"direccions URLs configurades." - -msgid "Django Documentation" -msgstr "Documentació de Django" - -msgid "Topics, references, & how-to’s" -msgstr "Temes, referències, & Com es fa" - -msgid "Tutorial: A Polling App" -msgstr "Programa d'aprenentatge: Una aplicació enquesta" - -msgid "Get started with Django" -msgstr "Primers passos amb Django" - -msgid "Django Community" -msgstr "Comunitat Django" - -msgid "Connect, get help, or contribute" -msgstr "Connecta, obté ajuda, o col·labora" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ca/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/ca/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ca/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/ca/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index bc079c61..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/ca/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ca/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/ca/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index e5913c15..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/ca/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ca/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/ca/formats.py deleted file mode 100644 index 746d08fd..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/ca/formats.py +++ /dev/null @@ -1,30 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = r'j \d\e F \d\e Y' -TIME_FORMAT = 'G:i' -DATETIME_FORMAT = r'j \d\e F \d\e Y \a \l\e\s G:i' -YEAR_MONTH_FORMAT = r'F \d\e\l Y' -MONTH_DAY_FORMAT = r'j \d\e F' -SHORT_DATE_FORMAT = 'd/m/Y' -SHORT_DATETIME_FORMAT = 'd/m/Y G:i' -FIRST_DAY_OF_WEEK = 1 # Monday - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -DATE_INPUT_FORMATS = [ - # '31/12/2009', '31/12/09' - '%d/%m/%Y', '%d/%m/%y' -] -DATETIME_INPUT_FORMATS = [ - '%d/%m/%Y %H:%M:%S', - '%d/%m/%Y %H:%M:%S.%f', - '%d/%m/%Y %H:%M', - '%d/%m/%y %H:%M:%S', - '%d/%m/%y %H:%M:%S.%f', - '%d/%m/%y %H:%M', -] -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = '.' -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/cs/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/cs/LC_MESSAGES/django.mo deleted file mode 100644 index 283d3115..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/cs/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/cs/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/cs/LC_MESSAGES/django.po deleted file mode 100644 index 90158e5e..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/cs/LC_MESSAGES/django.po +++ /dev/null @@ -1,1341 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Claude Paroz , 2020 -# Jannis Leidel , 2011 -# Jan Papež , 2012 -# Jirka Vejrazka , 2011 -# trendspotter , 2020 -# Tomáš Ehrlich , 2015 -# Vláďa Macek , 2012-2014 -# Vláďa Macek , 2015-2020 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-07-20 09:27+0000\n" -"Last-Translator: Vláďa Macek \n" -"Language-Team: Czech (http://www.transifex.com/django/django/language/cs/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: cs\n" -"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n " -"<= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n" - -msgid "Afrikaans" -msgstr "afrikánsky" - -msgid "Arabic" -msgstr "arabsky" - -msgid "Algerian Arabic" -msgstr "alžírskou arabštinou" - -msgid "Asturian" -msgstr "asturštinou" - -msgid "Azerbaijani" -msgstr "ázerbájdžánsky" - -msgid "Bulgarian" -msgstr "bulharsky" - -msgid "Belarusian" -msgstr "bělorusky" - -msgid "Bengali" -msgstr "bengálsky" - -msgid "Breton" -msgstr "bretonsky" - -msgid "Bosnian" -msgstr "bosensky" - -msgid "Catalan" -msgstr "katalánsky" - -msgid "Czech" -msgstr "česky" - -msgid "Welsh" -msgstr "velšsky" - -msgid "Danish" -msgstr "dánsky" - -msgid "German" -msgstr "německy" - -msgid "Lower Sorbian" -msgstr "dolnolužickou srbštinou" - -msgid "Greek" -msgstr "řecky" - -msgid "English" -msgstr "anglicky" - -msgid "Australian English" -msgstr "australskou angličtinou" - -msgid "British English" -msgstr "britskou angličtinou" - -msgid "Esperanto" -msgstr "esperantsky" - -msgid "Spanish" -msgstr "španělsky" - -msgid "Argentinian Spanish" -msgstr "argentinskou španělštinou" - -msgid "Colombian Spanish" -msgstr "kolumbijskou španělštinou" - -msgid "Mexican Spanish" -msgstr "mexickou španělštinou" - -msgid "Nicaraguan Spanish" -msgstr "nikaragujskou španělštinou" - -msgid "Venezuelan Spanish" -msgstr "venezuelskou španělštinou" - -msgid "Estonian" -msgstr "estonsky" - -msgid "Basque" -msgstr "baskicky" - -msgid "Persian" -msgstr "persky" - -msgid "Finnish" -msgstr "finsky" - -msgid "French" -msgstr "francouzsky" - -msgid "Frisian" -msgstr "frísky" - -msgid "Irish" -msgstr "irsky" - -msgid "Scottish Gaelic" -msgstr "skotskou keltštinou" - -msgid "Galician" -msgstr "galicijsky" - -msgid "Hebrew" -msgstr "hebrejsky" - -msgid "Hindi" -msgstr "hindsky" - -msgid "Croatian" -msgstr "chorvatsky" - -msgid "Upper Sorbian" -msgstr "hornolužickou srbštinou" - -msgid "Hungarian" -msgstr "maďarsky" - -msgid "Armenian" -msgstr "arménštinou" - -msgid "Interlingua" -msgstr "interlingua" - -msgid "Indonesian" -msgstr "indonésky" - -msgid "Igbo" -msgstr "igboštinou" - -msgid "Ido" -msgstr "idem" - -msgid "Icelandic" -msgstr "islandsky" - -msgid "Italian" -msgstr "italsky" - -msgid "Japanese" -msgstr "japonsky" - -msgid "Georgian" -msgstr "gruzínštinou" - -msgid "Kabyle" -msgstr "kabylštinou" - -msgid "Kazakh" -msgstr "kazašsky" - -msgid "Khmer" -msgstr "khmersky" - -msgid "Kannada" -msgstr "kannadsky" - -msgid "Korean" -msgstr "korejsky" - -msgid "Kyrgyz" -msgstr "kyrgyzštinou" - -msgid "Luxembourgish" -msgstr "lucembursky" - -msgid "Lithuanian" -msgstr "litevsky" - -msgid "Latvian" -msgstr "lotyšsky" - -msgid "Macedonian" -msgstr "makedonsky" - -msgid "Malayalam" -msgstr "malajálamsky" - -msgid "Mongolian" -msgstr "mongolsky" - -msgid "Marathi" -msgstr "marathi" - -msgid "Burmese" -msgstr "barmštinou" - -msgid "Norwegian Bokmål" -msgstr "bokmål norštinou" - -msgid "Nepali" -msgstr "nepálsky" - -msgid "Dutch" -msgstr "nizozemsky" - -msgid "Norwegian Nynorsk" -msgstr "norsky (Nynorsk)" - -msgid "Ossetic" -msgstr "osetštinou" - -msgid "Punjabi" -msgstr "paňdžábsky" - -msgid "Polish" -msgstr "polsky" - -msgid "Portuguese" -msgstr "portugalsky" - -msgid "Brazilian Portuguese" -msgstr "brazilskou portugalštinou" - -msgid "Romanian" -msgstr "rumunsky" - -msgid "Russian" -msgstr "rusky" - -msgid "Slovak" -msgstr "slovensky" - -msgid "Slovenian" -msgstr "slovinsky" - -msgid "Albanian" -msgstr "albánsky" - -msgid "Serbian" -msgstr "srbsky" - -msgid "Serbian Latin" -msgstr "srbsky (latinkou)" - -msgid "Swedish" -msgstr "švédsky" - -msgid "Swahili" -msgstr "svahilsky" - -msgid "Tamil" -msgstr "tamilsky" - -msgid "Telugu" -msgstr "telužsky" - -msgid "Tajik" -msgstr "Tádžik" - -msgid "Thai" -msgstr "thajsky" - -msgid "Turkmen" -msgstr "turkmenštinou" - -msgid "Turkish" -msgstr "turecky" - -msgid "Tatar" -msgstr "tatarsky" - -msgid "Udmurt" -msgstr "udmurtsky" - -msgid "Ukrainian" -msgstr "ukrajinsky" - -msgid "Urdu" -msgstr "urdsky" - -msgid "Uzbek" -msgstr "uzbecky" - -msgid "Vietnamese" -msgstr "vietnamsky" - -msgid "Simplified Chinese" -msgstr "čínsky (zjednodušeně)" - -msgid "Traditional Chinese" -msgstr "čínsky (tradičně)" - -msgid "Messages" -msgstr "Zprávy" - -msgid "Site Maps" -msgstr "Mapy webu" - -msgid "Static Files" -msgstr "Statické soubory" - -msgid "Syndication" -msgstr "Syndikace" - -msgid "That page number is not an integer" -msgstr "Číslo stránky není celé číslo." - -msgid "That page number is less than 1" -msgstr "Číslo stránky je menší než 1" - -msgid "That page contains no results" -msgstr "Stránka je bez výsledků" - -msgid "Enter a valid value." -msgstr "Zadejte platnou hodnotu." - -msgid "Enter a valid URL." -msgstr "Zadejte platnou adresu URL." - -msgid "Enter a valid integer." -msgstr "Zadejte platné celé číslo." - -msgid "Enter a valid email address." -msgstr "Zadejte platnou e-mailovou adresu." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" -"Vložte platný identifikátor složený pouze z písmen, čísel, podtržítek a " -"pomlček." - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" -"Zadejte platný identifikátor složený pouze z písmen, čísel, podtržítek a " -"pomlček typu Unicode." - -msgid "Enter a valid IPv4 address." -msgstr "Zadejte platnou adresu typu IPv4." - -msgid "Enter a valid IPv6 address." -msgstr "Zadejte platnou adresu typu IPv6." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Zadejte platnou adresu typu IPv4 nebo IPv6." - -msgid "Enter only digits separated by commas." -msgstr "Zadejte pouze číslice oddělené čárkami." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "Hodnota musí být %(limit_value)s (nyní je %(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Hodnota musí být menší nebo rovna %(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Hodnota musí být větší nebo rovna %(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Tato hodnota má mít nejméně %(limit_value)d znak (nyní má %(show_value)d)." -msgstr[1] "" -"Tato hodnota má mít nejméně %(limit_value)d znaky (nyní má %(show_value)d)." -msgstr[2] "" -"Tato hodnota má mít nejméně %(limit_value)d znaků (nyní má %(show_value)d)." -msgstr[3] "" -"Tato hodnota má mít nejméně %(limit_value)d znaků (nyní má %(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Tato hodnota má mít nejvýše %(limit_value)d znak (nyní má %(show_value)d)." -msgstr[1] "" -"Tato hodnota má mít nejvýše %(limit_value)d znaky (nyní má %(show_value)d)." -msgstr[2] "" -"Tato hodnota má mít nejvýše %(limit_value)d znaků (nyní má %(show_value)d)." -msgstr[3] "" -"Tato hodnota má mít nejvýše %(limit_value)d znaků (nyní má %(show_value)d)." - -msgid "Enter a number." -msgstr "Zadejte číslo." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Ujistěte se, že pole neobsahuje celkem více než %(max)s číslici." -msgstr[1] "Ujistěte se, že pole neobsahuje celkem více než %(max)s číslice." -msgstr[2] "Ujistěte se, že pole neobsahuje celkem více než %(max)s číslic." -msgstr[3] "Ujistěte se, že pole neobsahuje celkem více než %(max)s číslic." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "Ujistěte se, že pole neobsahuje více než %(max)s desetinné místo." -msgstr[1] "Ujistěte se, že pole neobsahuje více než %(max)s desetinná místa." -msgstr[2] "Ujistěte se, že pole neobsahuje více než %(max)s desetinných míst." -msgstr[3] "Ujistěte se, že pole neobsahuje více než %(max)s desetinných míst." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -"Ujistěte se, že hodnota neobsahuje více než %(max)s místo před desetinnou " -"čárkou (tečkou)." -msgstr[1] "" -"Ujistěte se, že hodnota neobsahuje více než %(max)s místa před desetinnou " -"čárkou (tečkou)." -msgstr[2] "" -"Ujistěte se, že hodnota neobsahuje více než %(max)s míst před desetinnou " -"čárkou (tečkou)." -msgstr[3] "" -"Ujistěte se, že hodnota neobsahuje více než %(max)s míst před desetinnou " -"čárkou (tečkou)." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" -"Přípona souboru \"%(extension)s\" není povolena. Povolené jsou tyto: " -"%(allowed_extensions)s." - -msgid "Null characters are not allowed." -msgstr "Nulové znaky nejsou povoleny." - -msgid "and" -msgstr "a" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "" -"Položka %(model_name)s s touto kombinací hodnot v polích %(field_labels)s " -"již existuje." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "Hodnota %(value)r není platná možnost." - -msgid "This field cannot be null." -msgstr "Pole nemůže být null." - -msgid "This field cannot be blank." -msgstr "Pole nemůže být prázdné." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "" -"Položka %(model_name)s s touto hodnotou v poli %(field_label)s již existuje." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"Pole %(field_label)s musí být unikátní testem %(lookup_type)s pro pole " -"%(date_field_label)s." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Pole typu: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "Hodnota \"%(value)s\" musí být buď True nebo False." - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "Hodnota \"%(value)s\" musí být buď True, False nebo None." - -msgid "Boolean (Either True or False)" -msgstr "Pravdivost (buď Ano (True), nebo Ne (False))" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Řetězec (max. %(max_length)s znaků)" - -msgid "Comma-separated integers" -msgstr "Celá čísla oddělená čárkou" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "Hodnota \"%(value)s\" není platné datum. Musí být ve tvaru RRRR-MM-DD." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" -"Ačkoli hodnota \"%(value)s\" je ve správném tvaru (RRRR-MM-DD), jde o " -"neplatné datum." - -msgid "Date (without time)" -msgstr "Datum (bez času)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" -"Hodnota \"%(value)s\" je v neplatném tvaru, který má být RRRR-MM-DD HH:MM[:" -"SS[.uuuuuu]][TZ]." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" -"Ačkoli hodnota \"%(value)s\" je ve správném tvaru (RRRR-MM-DD HH:MM[:SS[." -"uuuuuu]][TZ]), jde o neplatné datum a čas." - -msgid "Date (with time)" -msgstr "Datum (s časem)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "Hodnota \"%(value)s\" musí být desítkové číslo." - -msgid "Decimal number" -msgstr "Desetinné číslo" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" -"Hodnota \"%(value)s\" je v neplatném tvaru, který má být [DD] [HH:[MM:]]ss[." -"uuuuuu]." - -msgid "Duration" -msgstr "Doba trvání" - -msgid "Email address" -msgstr "E-mailová adresa" - -msgid "File path" -msgstr "Cesta k souboru" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "Hodnota \"%(value)s\" musí být reálné číslo." - -msgid "Floating point number" -msgstr "Číslo s pohyblivou řádovou čárkou" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "Hodnota \"%(value)s\" musí být celé číslo." - -msgid "Integer" -msgstr "Celé číslo" - -msgid "Big (8 byte) integer" -msgstr "Velké číslo (8 bajtů)" - -msgid "IPv4 address" -msgstr "Adresa IPv4" - -msgid "IP address" -msgstr "Adresa IP" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "Hodnota \"%(value)s\" musí být buď None, True nebo False." - -msgid "Boolean (Either True, False or None)" -msgstr "Pravdivost (buď Ano (True), Ne (False) nebo Nic (None))" - -msgid "Positive big integer" -msgstr "Velké kladné celé číslo" - -msgid "Positive integer" -msgstr "Kladné celé číslo" - -msgid "Positive small integer" -msgstr "Kladné malé celé číslo" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Identifikátor (nejvýše %(max_length)s znaků)" - -msgid "Small integer" -msgstr "Malé celé číslo" - -msgid "Text" -msgstr "Text" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" -"Hodnota \"%(value)s\" je v neplatném tvaru, který má být HH:MM[:ss[.uuuuuu]]." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" -"Ačkoli hodnota \"%(value)s\" je ve správném tvaru (HH:MM[:ss[.uuuuuu]]), jde " -"o neplatný čas." - -msgid "Time" -msgstr "Čas" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Přímá binární data" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "\"%(value)s\" není platná hodnota typu UUID." - -msgid "Universally unique identifier" -msgstr "Všeobecně jedinečný identifikátor" - -msgid "File" -msgstr "Soubor" - -msgid "Image" -msgstr "Obrázek" - -msgid "A JSON object" -msgstr "Objekt typu JSON" - -msgid "Value must be valid JSON." -msgstr "Hodnota musí být platná struktura typu JSON." - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "" -"Položka typu %(model)s s hodnotou %(field)s rovnou %(value)r neexistuje." - -msgid "Foreign Key (type determined by related field)" -msgstr "Cizí klíč (typ určen pomocí souvisejícího pole)" - -msgid "One-to-one relationship" -msgstr "Vazba jedna-jedna" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "Vazba z %(from)s do %(to)s" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "Vazby z %(from)s do %(to)s" - -msgid "Many-to-many relationship" -msgstr "Vazba mnoho-mnoho" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?!" - -msgid "This field is required." -msgstr "Toto pole je třeba vyplnit." - -msgid "Enter a whole number." -msgstr "Zadejte celé číslo." - -msgid "Enter a valid date." -msgstr "Zadejte platné datum." - -msgid "Enter a valid time." -msgstr "Zadejte platný čas." - -msgid "Enter a valid date/time." -msgstr "Zadejte platné datum a čas." - -msgid "Enter a valid duration." -msgstr "Zadejte platnou délku trvání." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "Počet dní musí být mezi {min_days} a {max_days}." - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "" -"Soubor nebyl odeslán. Zkontrolujte parametr \"encoding type\" formuláře." - -msgid "No file was submitted." -msgstr "Žádný soubor nebyl odeslán." - -msgid "The submitted file is empty." -msgstr "Odeslaný soubor je prázdný." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Tento název souboru má mít nejvýše %(max)d znak (nyní má %(length)d)." -msgstr[1] "" -"Tento název souboru má mít nejvýše %(max)d znaky (nyní má %(length)d)." -msgstr[2] "" -"Tento název souboru má mít nejvýše %(max)d znaků (nyní má %(length)d)." -msgstr[3] "" -"Tento název souboru má mít nejvýše %(max)d znaků (nyní má %(length)d)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "Musíte vybrat cestu k souboru nebo vymazat výběr, ne obojí." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Nahrajte platný obrázek. Odeslaný soubor buď nebyl obrázek nebo byl poškozen." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "Vyberte platnou možnost, \"%(value)s\" není k dispozici." - -msgid "Enter a list of values." -msgstr "Zadejte seznam hodnot." - -msgid "Enter a complete value." -msgstr "Zadejte úplnou hodnotu." - -msgid "Enter a valid UUID." -msgstr "Zadejte platné UUID." - -msgid "Enter a valid JSON." -msgstr "Zadejte platnou strukturu typu JSON." - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Skryté pole %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "Data objektu ManagementForm chybí nebo byla pozměněna." - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Odešlete %d nebo méně formulářů." -msgstr[1] "Odešlete %d nebo méně formulářů." -msgstr[2] "Odešlete %d nebo méně formulářů." -msgstr[3] "Odešlete %d nebo méně formulářů." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "Odešlete %d nebo více formulářů." -msgstr[1] "Odešlete %d nebo více formulářů." -msgstr[2] "Odešlete %d nebo více formulářů." -msgstr[3] "Odešlete %d nebo více formulářů." - -msgid "Order" -msgstr "Pořadí" - -msgid "Delete" -msgstr "Odstranit" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Opravte duplicitní data v poli %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "Opravte duplicitní data v poli %(field)s, které musí být unikátní." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Opravte duplicitní data v poli %(field_name)s, které musí být unikátní " -"testem %(lookup)s pole %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "Odstraňte duplicitní hodnoty níže." - -msgid "The inline value did not match the parent instance." -msgstr "Hodnota typu inline neodpovídá rodičovské položce." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "Vyberte platnou možnost. Tato není k dispozici." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "\"%(pk)s\" není platná hodnota." - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" -"Hodnotu %(datetime)s nelze interpretovat v časové zóně %(current_timezone)s; " -"může být nejednoznačná nebo nemusí existovat." - -msgid "Clear" -msgstr "Zrušit" - -msgid "Currently" -msgstr "Aktuálně" - -msgid "Change" -msgstr "Změnit" - -msgid "Unknown" -msgstr "Neznámé" - -msgid "Yes" -msgstr "Ano" - -msgid "No" -msgstr "Ne" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "ano,ne,možná" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d bajt" -msgstr[1] "%(size)d bajty" -msgstr[2] "%(size)d bajtů" -msgstr[3] "%(size)d bajtů" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "odp." - -msgid "a.m." -msgstr "dop." - -msgid "PM" -msgstr "odp." - -msgid "AM" -msgstr "dop." - -msgid "midnight" -msgstr "půlnoc" - -msgid "noon" -msgstr "poledne" - -msgid "Monday" -msgstr "pondělí" - -msgid "Tuesday" -msgstr "úterý" - -msgid "Wednesday" -msgstr "středa" - -msgid "Thursday" -msgstr "čtvrtek" - -msgid "Friday" -msgstr "pátek" - -msgid "Saturday" -msgstr "sobota" - -msgid "Sunday" -msgstr "neděle" - -msgid "Mon" -msgstr "po" - -msgid "Tue" -msgstr "út" - -msgid "Wed" -msgstr "st" - -msgid "Thu" -msgstr "čt" - -msgid "Fri" -msgstr "pá" - -msgid "Sat" -msgstr "so" - -msgid "Sun" -msgstr "ne" - -msgid "January" -msgstr "leden" - -msgid "February" -msgstr "únor" - -msgid "March" -msgstr "březen" - -msgid "April" -msgstr "duben" - -msgid "May" -msgstr "květen" - -msgid "June" -msgstr "červen" - -msgid "July" -msgstr "červenec" - -msgid "August" -msgstr "srpen" - -msgid "September" -msgstr "září" - -msgid "October" -msgstr "říjen" - -msgid "November" -msgstr "listopad" - -msgid "December" -msgstr "prosinec" - -msgid "jan" -msgstr "led" - -msgid "feb" -msgstr "úno" - -msgid "mar" -msgstr "bře" - -msgid "apr" -msgstr "dub" - -msgid "may" -msgstr "kvě" - -msgid "jun" -msgstr "čen" - -msgid "jul" -msgstr "čec" - -msgid "aug" -msgstr "srp" - -msgid "sep" -msgstr "zář" - -msgid "oct" -msgstr "říj" - -msgid "nov" -msgstr "lis" - -msgid "dec" -msgstr "pro" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Led." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Úno." - -msgctxt "abbrev. month" -msgid "March" -msgstr "Bře." - -msgctxt "abbrev. month" -msgid "April" -msgstr "Dub." - -msgctxt "abbrev. month" -msgid "May" -msgstr "Kvě." - -msgctxt "abbrev. month" -msgid "June" -msgstr "Čer." - -msgctxt "abbrev. month" -msgid "July" -msgstr "Čec." - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Srp." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Zář." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Říj." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Lis." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Pro." - -msgctxt "alt. month" -msgid "January" -msgstr "ledna" - -msgctxt "alt. month" -msgid "February" -msgstr "února" - -msgctxt "alt. month" -msgid "March" -msgstr "března" - -msgctxt "alt. month" -msgid "April" -msgstr "dubna" - -msgctxt "alt. month" -msgid "May" -msgstr "května" - -msgctxt "alt. month" -msgid "June" -msgstr "června" - -msgctxt "alt. month" -msgid "July" -msgstr "července" - -msgctxt "alt. month" -msgid "August" -msgstr "srpna" - -msgctxt "alt. month" -msgid "September" -msgstr "září" - -msgctxt "alt. month" -msgid "October" -msgstr "října" - -msgctxt "alt. month" -msgid "November" -msgstr "listopadu" - -msgctxt "alt. month" -msgid "December" -msgstr "prosince" - -msgid "This is not a valid IPv6 address." -msgstr "Toto není platná adresa typu IPv6." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s…" - -msgid "or" -msgstr "nebo" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d rok" -msgstr[1] "%d roky" -msgstr[2] "%d let" -msgstr[3] "%d let" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d měsíc" -msgstr[1] "%d měsíce" -msgstr[2] "%d měsíců" -msgstr[3] "%d měsíců" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d týden" -msgstr[1] "%d týdny" -msgstr[2] "%d týdnů" -msgstr[3] "%d týdnů" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d den" -msgstr[1] "%d dny" -msgstr[2] "%d dní" -msgstr[3] "%d dní" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d hodina" -msgstr[1] "%d hodiny" -msgstr[2] "%d hodin" -msgstr[3] "%d hodin" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d minuta" -msgstr[1] "%d minuty" -msgstr[2] "%d minut" -msgstr[3] "%d minut" - -msgid "Forbidden" -msgstr "Nepřístupné (Forbidden)" - -msgid "CSRF verification failed. Request aborted." -msgstr "Selhalo ověření typu CSRF. Požadavek byl zadržen." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" -"Tato zpráva se zobrazuje, protože tento web na protokolu HTTPS požaduje " -"záhlaví \"Referer\" od vašeho webového prohlížeče. Záhlaví je požadováno z " -"bezpečnostních důvodů, aby se zajistilo, že vašeho prohlížeče se nezmocnil " -"někdo další." - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" -"Pokud má váš prohlížeč záhlaví \"Referer\" vypnuté, žádáme vás o jeho " -"zapnutí, alespoň pro tento web nebo pro spojení typu HTTPS nebo pro " -"požadavky typu \"stejný původ\" (same origin)." - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" -"Pokud používáte značku nebo " -"záhlaví \"Referrer-Policy: no-referrer\", odeberte je. Ochrana typu CSRF " -"vyžaduje, aby záhlaví zajišťovalo striktní hlídání refereru. Pokud je pro " -"vás soukromí důležité, použijte k odkazům na cizí weby alternativní možnosti " -"jako například ." - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Tato zpráva se zobrazuje, protože tento web při odesílání formulářů požaduje " -"v souboru cookie údaj CSRF, a to z bezpečnostních důvodů, aby se zajistilo, " -"že se vašeho prohlížeče nezmocnil někdo další." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" -"Pokud má váš prohlížeč soubory cookie vypnuté, žádáme vás o jejich zapnutí, " -"alespoň pro tento web nebo pro požadavky typu \"stejný původ\" (same origin)." - -msgid "More information is available with DEBUG=True." -msgstr "V případě zapnutí volby DEBUG=True bude k dispozici více informací." - -msgid "No year specified" -msgstr "Nebyl specifikován rok" - -msgid "Date out of range" -msgstr "Datum je mimo rozsah" - -msgid "No month specified" -msgstr "Nebyl specifikován měsíc" - -msgid "No day specified" -msgstr "Nebyl specifikován den" - -msgid "No week specified" -msgstr "Nebyl specifikován týden" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "%(verbose_name_plural)s nejsou k dispozici" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"%(verbose_name_plural)s s budoucím datem nejsou k dipozici protoze " -"%(class_name)s.allow_future je False" - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "Datum \"%(datestr)s\" neodpovídá formátu \"%(format)s\"" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Nepodařilo se nalézt žádný objekt %(verbose_name)s" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" -"Požadavek na stránku nemohl být konvertován na celé číslo, ani není \"last\"." - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Neplatná stránka (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "List je prázdný a \"%(class_name)s.allow_empty\" je nastaveno na False" - -msgid "Directory indexes are not allowed here." -msgstr "Indexy adresářů zde nejsou povoleny." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "Cesta \"%(path)s\" neexistuje" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Index adresáře %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "Django: Webový framework pro perfekcionisty, kteří mají termín" - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"Zobrazit poznámky k vydání frameworku Django " -"%(version)s" - -msgid "The install worked successfully! Congratulations!" -msgstr "Instalace proběhla úspěšně, gratulujeme!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"Tuto zprávu vidíte, protože máte v nastavení Djanga zapnutý vývojový režim " -"DEBUG=True a zatím nemáte " -"nastavena žádná URL." - -msgid "Django Documentation" -msgstr "Dokumentace frameworku Django" - -msgid "Topics, references, & how-to’s" -msgstr "Témata, odkazy & how-to" - -msgid "Tutorial: A Polling App" -msgstr "Tutoriál: Hlasovací aplikace" - -msgid "Get started with Django" -msgstr "Začínáme s frameworkem Django" - -msgid "Django Community" -msgstr "Komunita kolem frameworku Django" - -msgid "Connect, get help, or contribute" -msgstr "Propojte se, získejte pomoc, podílejte se" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/cs/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/cs/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/cs/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/cs/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 9d094dd3..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/cs/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/cs/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/cs/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index ca4fec16..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/cs/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/cs/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/cs/formats.py deleted file mode 100644 index c01af8b7..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/cs/formats.py +++ /dev/null @@ -1,40 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'j. E Y' -TIME_FORMAT = 'G:i' -DATETIME_FORMAT = 'j. E Y G:i' -YEAR_MONTH_FORMAT = 'F Y' -MONTH_DAY_FORMAT = 'j. F' -SHORT_DATE_FORMAT = 'd.m.Y' -SHORT_DATETIME_FORMAT = 'd.m.Y G:i' -FIRST_DAY_OF_WEEK = 1 # Monday - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -DATE_INPUT_FORMATS = [ - '%d.%m.%Y', '%d.%m.%y', # '05.01.2006', '05.01.06' - '%d. %m. %Y', '%d. %m. %y', # '5. 1. 2006', '5. 1. 06' - # '%d. %B %Y', '%d. %b. %Y', # '25. October 2006', '25. Oct. 2006' -] -# Kept ISO formats as one is in first position -TIME_INPUT_FORMATS = [ - '%H:%M:%S', # '04:30:59' - '%H.%M', # '04.30' - '%H:%M', # '04:30' -] -DATETIME_INPUT_FORMATS = [ - '%d.%m.%Y %H:%M:%S', # '05.01.2006 04:30:59' - '%d.%m.%Y %H:%M:%S.%f', # '05.01.2006 04:30:59.000200' - '%d.%m.%Y %H.%M', # '05.01.2006 04.30' - '%d.%m.%Y %H:%M', # '05.01.2006 04:30' - '%d. %m. %Y %H:%M:%S', # '05. 01. 2006 04:30:59' - '%d. %m. %Y %H:%M:%S.%f', # '05. 01. 2006 04:30:59.000200' - '%d. %m. %Y %H.%M', # '05. 01. 2006 04.30' - '%d. %m. %Y %H:%M', # '05. 01. 2006 04:30' - '%Y-%m-%d %H.%M', # '2006-01-05 04.30' -] -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = '\xa0' # non-breaking space -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/cy/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/cy/LC_MESSAGES/django.mo deleted file mode 100644 index ea5b45ce..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/cy/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/cy/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/cy/LC_MESSAGES/django.po deleted file mode 100644 index 16383ce0..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/cy/LC_MESSAGES/django.po +++ /dev/null @@ -1,1278 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Jannis Leidel , 2011 -# Maredudd ap Gwyndaf , 2012,2014 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-27 22:40+0200\n" -"PO-Revision-Date: 2019-11-05 00:38+0000\n" -"Last-Translator: Ramiro Morales\n" -"Language-Team: Welsh (http://www.transifex.com/django/django/language/cy/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: cy\n" -"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != " -"11) ? 2 : 3;\n" - -msgid "Afrikaans" -msgstr "Affricaneg" - -msgid "Arabic" -msgstr "Arabeg" - -msgid "Asturian" -msgstr "Astwrieg" - -msgid "Azerbaijani" -msgstr "Azerbaijanaidd" - -msgid "Bulgarian" -msgstr "Bwlgareg" - -msgid "Belarusian" -msgstr "Belarwseg" - -msgid "Bengali" -msgstr "Bengaleg" - -msgid "Breton" -msgstr "Llydaweg" - -msgid "Bosnian" -msgstr "Bosnieg" - -msgid "Catalan" -msgstr "Catalaneg" - -msgid "Czech" -msgstr "Tsieceg" - -msgid "Welsh" -msgstr "Cymraeg" - -msgid "Danish" -msgstr "Daneg" - -msgid "German" -msgstr "Almaeneg" - -msgid "Lower Sorbian" -msgstr "" - -msgid "Greek" -msgstr "Groegedd" - -msgid "English" -msgstr "Saesneg" - -msgid "Australian English" -msgstr "Saesneg Awstralia" - -msgid "British English" -msgstr "Saesneg Prydain" - -msgid "Esperanto" -msgstr "Esperanto" - -msgid "Spanish" -msgstr "Sbaeneg" - -msgid "Argentinian Spanish" -msgstr "Sbaeneg Ariannin" - -msgid "Colombian Spanish" -msgstr "" - -msgid "Mexican Spanish" -msgstr "Sbaeneg Mecsico" - -msgid "Nicaraguan Spanish" -msgstr "Sbaeneg Nicaragwa" - -msgid "Venezuelan Spanish" -msgstr "Sbaeneg Feneswela" - -msgid "Estonian" -msgstr "Estoneg" - -msgid "Basque" -msgstr "Basgeg" - -msgid "Persian" -msgstr "Persieg" - -msgid "Finnish" -msgstr "Ffinneg" - -msgid "French" -msgstr "Ffrangeg" - -msgid "Frisian" -msgstr "Ffrisieg" - -msgid "Irish" -msgstr "Gwyddeleg" - -msgid "Scottish Gaelic" -msgstr "" - -msgid "Galician" -msgstr "Galisieg" - -msgid "Hebrew" -msgstr "Hebraeg" - -msgid "Hindi" -msgstr "Hindi" - -msgid "Croatian" -msgstr "Croasieg" - -msgid "Upper Sorbian" -msgstr "" - -msgid "Hungarian" -msgstr "Hwngareg" - -msgid "Armenian" -msgstr "" - -msgid "Interlingua" -msgstr "Interlingua" - -msgid "Indonesian" -msgstr "Indoneseg" - -msgid "Ido" -msgstr "Ido" - -msgid "Icelandic" -msgstr "Islandeg" - -msgid "Italian" -msgstr "Eidaleg" - -msgid "Japanese" -msgstr "Siapanëeg" - -msgid "Georgian" -msgstr "Georgeg" - -msgid "Kabyle" -msgstr "" - -msgid "Kazakh" -msgstr "Casacstanaidd" - -msgid "Khmer" -msgstr "Chmereg" - -msgid "Kannada" -msgstr "Canadeg" - -msgid "Korean" -msgstr "Corëeg" - -msgid "Luxembourgish" -msgstr "Lwcsembergeg" - -msgid "Lithuanian" -msgstr "Lithwaneg" - -msgid "Latvian" -msgstr "Latfieg" - -msgid "Macedonian" -msgstr "Macedoneg" - -msgid "Malayalam" -msgstr "Malaialam" - -msgid "Mongolian" -msgstr "Mongoleg" - -msgid "Marathi" -msgstr "Marathi" - -msgid "Burmese" -msgstr "Byrmaneg" - -msgid "Norwegian Bokmål" -msgstr "" - -msgid "Nepali" -msgstr "Nepaleg" - -msgid "Dutch" -msgstr "Iseldireg" - -msgid "Norwegian Nynorsk" -msgstr "Ninorsk Norwyeg" - -msgid "Ossetic" -msgstr "Osetieg" - -msgid "Punjabi" -msgstr "Pwnjabi" - -msgid "Polish" -msgstr "Pwyleg" - -msgid "Portuguese" -msgstr "Portiwgaleg" - -msgid "Brazilian Portuguese" -msgstr "Portiwgaleg Brasil" - -msgid "Romanian" -msgstr "Romaneg" - -msgid "Russian" -msgstr "Rwsieg" - -msgid "Slovak" -msgstr "Slofaceg" - -msgid "Slovenian" -msgstr "Slofeneg" - -msgid "Albanian" -msgstr "Albaneg" - -msgid "Serbian" -msgstr "Serbeg" - -msgid "Serbian Latin" -msgstr "Lladin Serbiaidd" - -msgid "Swedish" -msgstr "Swedeg" - -msgid "Swahili" -msgstr "Swahili" - -msgid "Tamil" -msgstr "Tamil" - -msgid "Telugu" -msgstr "Telwgw" - -msgid "Thai" -msgstr "Tai" - -msgid "Turkish" -msgstr "Twrceg" - -msgid "Tatar" -msgstr "Tatareg" - -msgid "Udmurt" -msgstr "Wdmwrteg" - -msgid "Ukrainian" -msgstr "Wcreineg" - -msgid "Urdu" -msgstr "Wrdw" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "Fietnameg" - -msgid "Simplified Chinese" -msgstr "Tsieinëeg Syml" - -msgid "Traditional Chinese" -msgstr "Tseinëeg Traddodiadol" - -msgid "Messages" -msgstr "" - -msgid "Site Maps" -msgstr "Mapiau Safle" - -msgid "Static Files" -msgstr "Ffeiliau Statig" - -msgid "Syndication" -msgstr "Syndicetiad" - -msgid "That page number is not an integer" -msgstr "" - -msgid "That page number is less than 1" -msgstr "" - -msgid "That page contains no results" -msgstr "" - -msgid "Enter a valid value." -msgstr "Rhowch werth dilys." - -msgid "Enter a valid URL." -msgstr "Rhowch URL dilys." - -msgid "Enter a valid integer." -msgstr "Rhowch gyfanrif dilys." - -msgid "Enter a valid email address." -msgstr "Rhowch gyfeiriad ebost dilys." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "Rhowch gyfeiriad IPv4 dilys." - -msgid "Enter a valid IPv6 address." -msgstr "Rhowch gyfeiriad IPv6 dilys." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Rhowch gyfeiriad IPv4 neu IPv6 dilys." - -msgid "Enter only digits separated by commas." -msgstr "Rhowch ddigidau wedi'i gwahanu gan gomas yn unig." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" -"Sicrhewch taw y gwerth yw %(limit_value)s (%(show_value)s yw ar hyn o bryd)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Sicrhewch fod y gwerth hwn yn fwy neu'n llai na %(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Sicrhewch fod y gwerth yn fwy na neu'n gyfartal â %(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Sicrhewch fod gan y gwerth hwn oleiaf %(limit_value)d nod (mae ganddo " -"%(show_value)d)." -msgstr[1] "" -"Sicrhewch fod gan y gwerth hwn oleiaf %(limit_value)d nod (mae ganddo " -"%(show_value)d)." -msgstr[2] "" -"Sicrhewch fod gan y gwerth hwn oleiaf %(limit_value)d nod (mae ganddo " -"%(show_value)d)." -msgstr[3] "" -"Sicrhewch fod gan y gwerth hwn oleiaf %(limit_value)d nod (mae ganddo " -"%(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Sicrhewch fod gan y gwerth hwn ddim mwy na %(limit_value)d nod (mae ganddo " -"%(show_value)d)." -msgstr[1] "" -"Sicrhewch fod gan y gwerth hwn ddim mwy na %(limit_value)d nod (mae ganddo " -"%(show_value)d)." -msgstr[2] "" -"Sicrhewch fod gan y gwerth hwn ddim mwy na %(limit_value)d nod (mae ganddo " -"%(show_value)d)." -msgstr[3] "" -"Sicrhewch fod gan y gwerth hwn ddim mwy na %(limit_value)d nod (mae ganddo " -"%(show_value)d)." - -msgid "Enter a number." -msgstr "Rhowch rif." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Sicrhewch nad oes mwy nag %(max)s digid i gyd." -msgstr[1] "Sicrhewch nad oes mwy na %(max)s ddigid i gyd." -msgstr[2] "Sicrhewch nad oes mwy na %(max)s digid i gyd." -msgstr[3] "Sicrhewch nad oes mwy na %(max)s digid i gyd." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "Sicrhewch nad oes mwy nag %(max)s lle degol." -msgstr[1] "Sicrhewch nad oes mwy na %(max)s le degol." -msgstr[2] "Sicrhewch nad oes mwy na %(max)s lle degol." -msgstr[3] "Sicrhewch nad oes mwy na %(max)s lle degol." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "Sicrhewch nad oes mwy nag %(max)s digid cyn y pwynt degol." -msgstr[1] "Sicrhewch nad oes mwy na %(max)s ddigid cyn y pwynt degol." -msgstr[2] "Sicrhewch nad oes mwy na %(max)s digid cyn y pwynt degol." -msgstr[3] "Sicrhewch nad oes mwy na %(max)s digid cyn y pwynt degol." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "" - -msgid "and" -msgstr "a" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "Mae %(model_name)s gyda'r %(field_labels)s hyn yn bodoli'n barod." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "Nid yw gwerth %(value)r yn ddewis dilys." - -msgid "This field cannot be null." -msgstr "Ni all y maes hwn fod yn 'null'." - -msgid "This field cannot be blank." -msgstr "Ni all y maes hwn fod yn wag." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "Mae %(model_name)s gyda'r %(field_label)s hwn yn bodoli'n barod." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Maes o fath: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "Boleaidd (Unai True neu False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "String (hyd at %(max_length)s)" - -msgid "Comma-separated integers" -msgstr "Cyfanrifau wedi'u gwahanu gan gomas" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "Dyddiad (heb amser)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "Dyddiad (gydag amser)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "Rhif degol" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "" - -msgid "Email address" -msgstr "Cyfeiriad ebost" - -msgid "File path" -msgstr "Llwybr ffeil" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "Rhif pwynt symudol" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "cyfanrif" - -msgid "Big (8 byte) integer" -msgstr "Cyfanrif mawr (8 beit)" - -msgid "IPv4 address" -msgstr "Cyfeiriad IPv4" - -msgid "IP address" -msgstr "cyfeiriad IP" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "Boleaidd (Naill ai True, False neu None)" - -msgid "Positive integer" -msgstr "Cyfanrif positif" - -msgid "Positive small integer" -msgstr "Cyfanrif bach positif" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Malwen (hyd at %(max_length)s)" - -msgid "Small integer" -msgstr "Cyfanrif bach" - -msgid "Text" -msgstr "Testun" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "Amser" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Data deuol crai" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "" - -msgid "File" -msgstr "Ffeil" - -msgid "Image" -msgstr "Delwedd" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "" - -msgid "Foreign Key (type determined by related field)" -msgstr "Allwedd Estron (math yn ddibynol ar y maes cysylltiedig)" - -msgid "One-to-one relationship" -msgstr "Perthynas un-i-un" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "" - -msgid "Many-to-many relationship" -msgstr "Perthynas llawer-i-lawer" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Mae angen y maes hwn." - -msgid "Enter a whole number." -msgstr "Rhowch cyfanrif." - -msgid "Enter a valid date." -msgstr "Rhif ddyddiad dilys." - -msgid "Enter a valid time." -msgstr "Rhowch amser dilys." - -msgid "Enter a valid date/time." -msgstr "Rhowch ddyddiad/amser dilys." - -msgid "Enter a valid duration." -msgstr "" - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "" - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Ni anfonwyd ffeil. Gwiriwch math yr amgodiad ar y ffurflen." - -msgid "No file was submitted." -msgstr "Ni anfonwyd ffeil." - -msgid "The submitted file is empty." -msgstr "Mae'r ffeil yn wag." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Sicrhewch fod gan enw'r ffeil ar y mwyaf %(max)d nod (mae ganddo %(length)d)." -msgstr[1] "" -"Sicrhewch fod gan enw'r ffeil ar y mwyaf %(max)d nod (mae ganddo %(length)d)." -msgstr[2] "" -"Sicrhewch fod gan enw'r ffeil ar y mwyaf %(max)d nod (mae ganddo %(length)d)." -msgstr[3] "" -"Sicrhewch fod gan enw'r ffeil ar y mwyaf %(max)d nod (mae ganddo %(length)d)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" -"Nail ai cyflwynwych ffeil neu dewisiwch y blwch gwiriad, ond nid y ddau." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Llwythwch ddelwedd dilys. Doedd y ddelwedd a lwythwyd ddim yn ddelwedd " -"dilys, neu roedd yn ddelwedd llygredig." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "" -"Dewiswch ddewisiad dilys. Nid yw %(value)s yn un o'r dewisiadau sydd ar gael." - -msgid "Enter a list of values." -msgstr "Rhowch restr o werthoedd." - -msgid "Enter a complete value." -msgstr "Rhowch werth cyflawn." - -msgid "Enter a valid UUID." -msgstr "" - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Maes cudd %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "Mae data ManagementForm ar goll neu mae rhywun wedi ymyrryd ynddo" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Cyflwynwch %d neu lai o ffurflenni." -msgstr[1] "Cyflwynwch %d neu lai o ffurflenni." -msgstr[2] "Cyflwynwch %d neu lai o ffurflenni." -msgstr[3] "Cyflwynwch %d neu lai o ffurflenni." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "Cyflwynwch %d neu fwy o ffurflenni." -msgstr[1] "Cyflwynwch %d neu fwy o ffurflenni." -msgstr[2] "Cyflwynwch %d neu fwy o ffurflenni." -msgstr[3] "Cyflwynwch %d neu fwy o ffurflenni." - -msgid "Order" -msgstr "Trefn" - -msgid "Delete" -msgstr "Dileu" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Cywirwch y data dyblyg ar gyfer %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"Cywirwch y data dyblyg ar gyfer %(field)s, sydd yn gorfod bod yn unigryw." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Cywirwch y data dyblyg ar gyfer %(field_name)s sydd yn gorfod bod yn unigryw " -"ar gyfer %(lookup)s yn %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "Cywirwch y gwerthoedd dyblyg isod." - -msgid "The inline value did not match the parent instance." -msgstr "" - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" -"Dewiswch ddewisiad dilys. Nid yw'r dewisiad yn un o'r dewisiadau sydd ar " -"gael." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "Clirio" - -msgid "Currently" -msgstr "Ar hyn o bryd" - -msgid "Change" -msgstr "Newid" - -msgid "Unknown" -msgstr "Anhysbys" - -msgid "Yes" -msgstr "Ie" - -msgid "No" -msgstr "Na" - -msgid "Year" -msgstr "" - -msgid "Month" -msgstr "" - -msgid "Day" -msgstr "" - -msgid "yes,no,maybe" -msgstr "ie,na,efallai" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d beit" -msgstr[1] "%(size)d beit" -msgstr[2] "%(size)d beit" -msgstr[3] "%(size)d beit" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "y.h." - -msgid "a.m." -msgstr "y.b." - -msgid "PM" -msgstr "YH" - -msgid "AM" -msgstr "YB" - -msgid "midnight" -msgstr "canol nos" - -msgid "noon" -msgstr "canol dydd" - -msgid "Monday" -msgstr "Dydd Llun" - -msgid "Tuesday" -msgstr "Dydd Mawrth" - -msgid "Wednesday" -msgstr "Dydd Mercher" - -msgid "Thursday" -msgstr "Dydd Iau" - -msgid "Friday" -msgstr "Dydd Gwener" - -msgid "Saturday" -msgstr "Dydd Sadwrn" - -msgid "Sunday" -msgstr "Dydd Sul" - -msgid "Mon" -msgstr "Llu" - -msgid "Tue" -msgstr "Maw" - -msgid "Wed" -msgstr "Mer" - -msgid "Thu" -msgstr "Iau" - -msgid "Fri" -msgstr "Gwe" - -msgid "Sat" -msgstr "Sad" - -msgid "Sun" -msgstr "Sul" - -msgid "January" -msgstr "Ionawr" - -msgid "February" -msgstr "Chwefror" - -msgid "March" -msgstr "Mawrth" - -msgid "April" -msgstr "Ebrill" - -msgid "May" -msgstr "Mai" - -msgid "June" -msgstr "Mehefin" - -msgid "July" -msgstr "Gorffenaf" - -msgid "August" -msgstr "Awst" - -msgid "September" -msgstr "Medi" - -msgid "October" -msgstr "Hydref" - -msgid "November" -msgstr "Tachwedd" - -msgid "December" -msgstr "Rhagfyr" - -msgid "jan" -msgstr "ion" - -msgid "feb" -msgstr "chw" - -msgid "mar" -msgstr "maw" - -msgid "apr" -msgstr "ebr" - -msgid "may" -msgstr "mai" - -msgid "jun" -msgstr "meh" - -msgid "jul" -msgstr "gor" - -msgid "aug" -msgstr "aws" - -msgid "sep" -msgstr "med" - -msgid "oct" -msgstr "hyd" - -msgid "nov" -msgstr "tach" - -msgid "dec" -msgstr "rhag" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Ion." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Chwe." - -msgctxt "abbrev. month" -msgid "March" -msgstr "Mawrth" - -msgctxt "abbrev. month" -msgid "April" -msgstr "Ebrill" - -msgctxt "abbrev. month" -msgid "May" -msgstr "Mai" - -msgctxt "abbrev. month" -msgid "June" -msgstr "Meh." - -msgctxt "abbrev. month" -msgid "July" -msgstr "Gorff." - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Awst" - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Medi" - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Hydr." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Tach." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Rhag." - -msgctxt "alt. month" -msgid "January" -msgstr "Ionawr" - -msgctxt "alt. month" -msgid "February" -msgstr "Chwefror" - -msgctxt "alt. month" -msgid "March" -msgstr "Mawrth" - -msgctxt "alt. month" -msgid "April" -msgstr "Ebrill" - -msgctxt "alt. month" -msgid "May" -msgstr "Mai" - -msgctxt "alt. month" -msgid "June" -msgstr "Mehefin" - -msgctxt "alt. month" -msgid "July" -msgstr "Gorffenaf" - -msgctxt "alt. month" -msgid "August" -msgstr "Awst" - -msgctxt "alt. month" -msgid "September" -msgstr "Medi" - -msgctxt "alt. month" -msgid "October" -msgstr "Hydref" - -msgctxt "alt. month" -msgid "November" -msgstr "Tachwedd" - -msgctxt "alt. month" -msgid "December" -msgstr "Rhagfyr" - -msgid "This is not a valid IPv6 address." -msgstr "Nid yw hwn yn gyfeiriad IPv6 dilys." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "" - -msgid "or" -msgstr "neu" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr "," - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d blwyddyn" -msgstr[1] "%d flynedd" -msgstr[2] "%d blwyddyn" -msgstr[3] "%d blwyddyn" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d mis" -msgstr[1] "%d fis" -msgstr[2] "%d mis" -msgstr[3] "%d mis" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d wythnos" -msgstr[1] "%d wythnos" -msgstr[2] "%d wythnos" -msgstr[3] "%d wythnos" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d diwrnod" -msgstr[1] "%d ddiwrnod" -msgstr[2] "%d diwrnod" -msgstr[3] "%d diwrnod" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d awr" -msgstr[1] "%d awr" -msgstr[2] "%d awr" -msgstr[3] "%d awr" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d munud" -msgstr[1] "%d funud" -msgstr[2] "%d munud" -msgstr[3] "%d munud" - -msgid "0 minutes" -msgstr "0 munud" - -msgid "Forbidden" -msgstr "Gwaharddedig" - -msgid "CSRF verification failed. Request aborted." -msgstr "Gwirio CSRF wedi methu. Ataliwyd y cais." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Dangosir y neges hwn oherwydd bod angen cwci CSRF ar y safle hwn pan yn " -"anfon ffurflenni. Mae angen y cwci ar gyfer diogelwch er mwyn sicrhau nad " -"oes trydydd parti yn herwgipio eich porwr." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "Mae mwy o wybodaeth ar gael gyda DEBUG=True" - -msgid "No year specified" -msgstr "Dim blwyddyn wedi’i bennu" - -msgid "Date out of range" -msgstr "" - -msgid "No month specified" -msgstr "Dim mis wedi’i bennu" - -msgid "No day specified" -msgstr "Dim diwrnod wedi’i bennu" - -msgid "No week specified" -msgstr "Dim wythnos wedi’i bennu" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "Dim %(verbose_name_plural)s ar gael" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"%(verbose_name_plural)s i'r dyfodol ddim ar gael oherwydd mae %(class_name)s." -"allow_future yn 'False'. " - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Ni ganfuwyd %(verbose_name)s yn cydweddu â'r ymholiad" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Tudalen annilys (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "Ni ganiateir mynegai cyfeiriaduron yma." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Mynegai %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" - -msgid "The install worked successfully! Congratulations!" -msgstr "" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" - -msgid "Django Documentation" -msgstr "" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "" - -msgid "Get started with Django" -msgstr "" - -msgid "Django Community" -msgstr "" - -msgid "Connect, get help, or contribute" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/cy/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/cy/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/cy/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/cy/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index c42b5c01..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/cy/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/cy/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/cy/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 51f41558..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/cy/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/cy/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/cy/formats.py deleted file mode 100644 index db40cabf..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/cy/formats.py +++ /dev/null @@ -1,32 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'j F Y' # '25 Hydref 2006' -TIME_FORMAT = 'P' # '2:30 y.b.' -DATETIME_FORMAT = 'j F Y, P' # '25 Hydref 2006, 2:30 y.b.' -YEAR_MONTH_FORMAT = 'F Y' # 'Hydref 2006' -MONTH_DAY_FORMAT = 'j F' # '25 Hydref' -SHORT_DATE_FORMAT = 'd/m/Y' # '25/10/2006' -SHORT_DATETIME_FORMAT = 'd/m/Y P' # '25/10/2006 2:30 y.b.' -FIRST_DAY_OF_WEEK = 1 # 'Dydd Llun' - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -DATE_INPUT_FORMATS = [ - '%d/%m/%Y', '%d/%m/%y', # '25/10/2006', '25/10/06' -] -DATETIME_INPUT_FORMATS = [ - '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59' - '%Y-%m-%d %H:%M:%S.%f', # '2006-10-25 14:30:59.000200' - '%Y-%m-%d %H:%M', # '2006-10-25 14:30' - '%d/%m/%Y %H:%M:%S', # '25/10/2006 14:30:59' - '%d/%m/%Y %H:%M:%S.%f', # '25/10/2006 14:30:59.000200' - '%d/%m/%Y %H:%M', # '25/10/2006 14:30' - '%d/%m/%y %H:%M:%S', # '25/10/06 14:30:59' - '%d/%m/%y %H:%M:%S.%f', # '25/10/06 14:30:59.000200' - '%d/%m/%y %H:%M', # '25/10/06 14:30' -] -DECIMAL_SEPARATOR = '.' -THOUSAND_SEPARATOR = ',' -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/da/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/da/LC_MESSAGES/django.mo deleted file mode 100644 index 942a4928..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/da/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/da/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/da/LC_MESSAGES/django.po deleted file mode 100644 index 29e47856..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/da/LC_MESSAGES/django.po +++ /dev/null @@ -1,1296 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Christian Joergensen , 2012 -# Danni Randeris , 2014 -# Erik Ramsgaard Wognsen , 2020 -# Erik Ramsgaard Wognsen , 2013-2019 -# Finn Gruwier Larsen, 2011 -# Jannis Leidel , 2011 -# jonaskoelker , 2012 -# Mads Chr. Olesen , 2013 -# valberg , 2015 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-07-15 08:18+0000\n" -"Last-Translator: Erik Ramsgaard Wognsen \n" -"Language-Team: Danish (http://www.transifex.com/django/django/language/da/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: da\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "Afrikaans" -msgstr "afrikaans" - -msgid "Arabic" -msgstr "arabisk" - -msgid "Algerian Arabic" -msgstr "algerisk arabisk" - -msgid "Asturian" -msgstr "Asturisk" - -msgid "Azerbaijani" -msgstr "azerbaidjansk" - -msgid "Bulgarian" -msgstr "bulgarsk" - -msgid "Belarusian" -msgstr "hviderussisk" - -msgid "Bengali" -msgstr "bengalsk" - -msgid "Breton" -msgstr "bretonsk" - -msgid "Bosnian" -msgstr "bosnisk" - -msgid "Catalan" -msgstr "catalansk" - -msgid "Czech" -msgstr "tjekkisk" - -msgid "Welsh" -msgstr "walisisk" - -msgid "Danish" -msgstr "dansk" - -msgid "German" -msgstr "tysk" - -msgid "Lower Sorbian" -msgstr "nedresorbisk" - -msgid "Greek" -msgstr "græsk" - -msgid "English" -msgstr "engelsk" - -msgid "Australian English" -msgstr "australsk engelsk" - -msgid "British English" -msgstr "britisk engelsk" - -msgid "Esperanto" -msgstr "esperanto" - -msgid "Spanish" -msgstr "spansk" - -msgid "Argentinian Spanish" -msgstr "argentinsk spansk" - -msgid "Colombian Spanish" -msgstr "colombiansk spansk" - -msgid "Mexican Spanish" -msgstr "mexikansk spansk" - -msgid "Nicaraguan Spanish" -msgstr "nicaraguansk spansk" - -msgid "Venezuelan Spanish" -msgstr "venezuelansk spansk" - -msgid "Estonian" -msgstr "estisk" - -msgid "Basque" -msgstr "baskisk" - -msgid "Persian" -msgstr "persisk" - -msgid "Finnish" -msgstr "finsk" - -msgid "French" -msgstr "fransk" - -msgid "Frisian" -msgstr "frisisk" - -msgid "Irish" -msgstr "irsk" - -msgid "Scottish Gaelic" -msgstr "skotsk gælisk" - -msgid "Galician" -msgstr "galicisk" - -msgid "Hebrew" -msgstr "hebraisk" - -msgid "Hindi" -msgstr "hindi" - -msgid "Croatian" -msgstr "kroatisk" - -msgid "Upper Sorbian" -msgstr "øvresorbisk" - -msgid "Hungarian" -msgstr "ungarsk" - -msgid "Armenian" -msgstr "armensk" - -msgid "Interlingua" -msgstr "interlingua" - -msgid "Indonesian" -msgstr "indonesisk" - -msgid "Igbo" -msgstr "igbo" - -msgid "Ido" -msgstr "Ido" - -msgid "Icelandic" -msgstr "islandsk" - -msgid "Italian" -msgstr "italiensk" - -msgid "Japanese" -msgstr "japansk" - -msgid "Georgian" -msgstr "georgisk" - -msgid "Kabyle" -msgstr "kabylsk" - -msgid "Kazakh" -msgstr "kasakhisk" - -msgid "Khmer" -msgstr "khmer" - -msgid "Kannada" -msgstr "kannada" - -msgid "Korean" -msgstr "koreansk" - -msgid "Kyrgyz" -msgstr "kirgisisk" - -msgid "Luxembourgish" -msgstr "luxembourgisk" - -msgid "Lithuanian" -msgstr "litauisk" - -msgid "Latvian" -msgstr "lettisk" - -msgid "Macedonian" -msgstr "makedonsk" - -msgid "Malayalam" -msgstr "malaysisk" - -msgid "Mongolian" -msgstr "mongolsk" - -msgid "Marathi" -msgstr "Marathi" - -msgid "Burmese" -msgstr "burmesisk" - -msgid "Norwegian Bokmål" -msgstr "norsk bokmål" - -msgid "Nepali" -msgstr "nepalesisk" - -msgid "Dutch" -msgstr "hollandsk" - -msgid "Norwegian Nynorsk" -msgstr "norsk nynorsk" - -msgid "Ossetic" -msgstr "ossetisk" - -msgid "Punjabi" -msgstr "punjabi" - -msgid "Polish" -msgstr "polsk" - -msgid "Portuguese" -msgstr "portugisisk" - -msgid "Brazilian Portuguese" -msgstr "brasiliansk portugisisk" - -msgid "Romanian" -msgstr "rumænsk" - -msgid "Russian" -msgstr "russisk" - -msgid "Slovak" -msgstr "slovakisk" - -msgid "Slovenian" -msgstr "slovensk" - -msgid "Albanian" -msgstr "albansk" - -msgid "Serbian" -msgstr "serbisk" - -msgid "Serbian Latin" -msgstr "serbisk (latin)" - -msgid "Swedish" -msgstr "svensk" - -msgid "Swahili" -msgstr "swahili" - -msgid "Tamil" -msgstr "tamil" - -msgid "Telugu" -msgstr "telugu" - -msgid "Tajik" -msgstr "tadsjikisk" - -msgid "Thai" -msgstr "thai" - -msgid "Turkmen" -msgstr "turkmensk" - -msgid "Turkish" -msgstr "tyrkisk" - -msgid "Tatar" -msgstr "tatarisk" - -msgid "Udmurt" -msgstr "udmurtisk" - -msgid "Ukrainian" -msgstr "ukrainsk" - -msgid "Urdu" -msgstr "urdu" - -msgid "Uzbek" -msgstr "usbekisk" - -msgid "Vietnamese" -msgstr "vietnamesisk" - -msgid "Simplified Chinese" -msgstr "forenklet kinesisk" - -msgid "Traditional Chinese" -msgstr "traditionelt kinesisk" - -msgid "Messages" -msgstr "Meddelelser" - -msgid "Site Maps" -msgstr "Site Maps" - -msgid "Static Files" -msgstr "Static Files" - -msgid "Syndication" -msgstr "Syndication" - -msgid "That page number is not an integer" -msgstr "Det sidetal er ikke et heltal" - -msgid "That page number is less than 1" -msgstr "Det sidetal er mindre end 1" - -msgid "That page contains no results" -msgstr "Den side indeholder ingen resultater" - -msgid "Enter a valid value." -msgstr "Indtast en gyldig værdi." - -msgid "Enter a valid URL." -msgstr "Indtast en gyldig URL." - -msgid "Enter a valid integer." -msgstr "Indtast et gyldigt heltal." - -msgid "Enter a valid email address." -msgstr "Indtast en gyldig e-mail-adresse." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" -"Indtast en gyldig “slug” bestående af bogstaver, cifre, understreger eller " -"bindestreger." - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" -"Indtast en gyldig “slug” bestående af Unicode-bogstaver, cifre, understreger " -"eller bindestreger." - -msgid "Enter a valid IPv4 address." -msgstr "Indtast en gyldig IPv4-adresse." - -msgid "Enter a valid IPv6 address." -msgstr "Indtast en gyldig IPv6-adresse." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Indtast en gyldig IPv4- eller IPv6-adresse." - -msgid "Enter only digits separated by commas." -msgstr "Indtast kun cifre adskilt af kommaer." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "Denne værdi skal være %(limit_value)s (den er %(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Denne værdi skal være mindre end eller lig %(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Denne værdi skal være større end eller lig %(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Denne værdi skal have mindst %(limit_value)d tegn (den har %(show_value)d)." -msgstr[1] "" -"Denne værdi skal have mindst %(limit_value)d tegn (den har %(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Denne værdi må højst have %(limit_value)d tegn (den har %(show_value)d)." -msgstr[1] "" -"Denne værdi må højst have %(limit_value)d tegn (den har %(show_value)d)." - -msgid "Enter a number." -msgstr "Indtast et tal." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Der må maksimalt være %(max)s ciffer i alt." -msgstr[1] "Der må maksimalt være %(max)s cifre i alt." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "Der må maksimalt være %(max)s decimal." -msgstr[1] "Der må maksimalt være %(max)s decimaler." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "Der må maksimalt være %(max)s ciffer før kommaet." -msgstr[1] "Der må maksimalt være %(max)s cifre før kommaet." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" -"Filendelse “%(extension)s” er ikke tilladt. Tilladte filendelser er: " -"%(allowed_extensions)s." - -msgid "Null characters are not allowed." -msgstr "Null-tegn er ikke tilladte." - -msgid "and" -msgstr "og" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "%(model_name)s med dette %(field_labels)s eksisterer allerede." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "Værdien %(value)r er ikke et gyldigt valg." - -msgid "This field cannot be null." -msgstr "Dette felt kan ikke være null." - -msgid "This field cannot be blank." -msgstr "Dette felt kan ikke være tomt." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s med dette %(field_label)s eksisterer allerede." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(field_label)s skal være unik for %(date_field_label)s %(lookup_type)s." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Felt af type: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "“%(value)s”-værdien skal være enten True eller False." - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "“%(value)s”-værdien skal være enten True, False eller None." - -msgid "Boolean (Either True or False)" -msgstr "Boolsk (enten True eller False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Streng (op til %(max_length)s)" - -msgid "Comma-separated integers" -msgstr "Kommaseparerede heltal" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" -"“%(value)s”-værdien har et ugyldigt datoformat. Den skal være i formatet " -"ÅÅÅÅ-MM-DD." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" -"“%(value)s”-værdien har det korrekte format (ÅÅÅÅ-MM-DD) men er en ugyldig " -"dato." - -msgid "Date (without time)" -msgstr "Dato (uden tid)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" -"“%(value)s”-værdien har et ugyldigt format. Den skal være i formatet ÅÅÅÅ-MM-" -"DD TT:MM[:ss[.uuuuuu]][TZ]." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" -"“%(value)s”-værdien har det korrekte format (ÅÅÅÅ-MM-DD TT:MM[:ss[.uuuuuu]]" -"[TZ]) men er en ugyldig dato/tid." - -msgid "Date (with time)" -msgstr "Dato (med tid)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "“%(value)s”-værdien skal være et decimaltal." - -msgid "Decimal number" -msgstr "Decimaltal" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" -"“%(value)s”-værdien har et ugyldigt format. Den skal være i formatet [DD] " -"[[TT:]MM:]ss[.uuuuuu]." - -msgid "Duration" -msgstr "Varighed" - -msgid "Email address" -msgstr "E-mail-adresse" - -msgid "File path" -msgstr "Sti" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "“%(value)s”-værdien skal være et kommatal." - -msgid "Floating point number" -msgstr "Flydende-komma-tal" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "“%(value)s”-værdien skal være et heltal." - -msgid "Integer" -msgstr "Heltal" - -msgid "Big (8 byte) integer" -msgstr "Stort heltal (8 byte)" - -msgid "IPv4 address" -msgstr "IPv4-adresse" - -msgid "IP address" -msgstr "IP-adresse" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "“%(value)s”-værdien skal være enten None, True eller False." - -msgid "Boolean (Either True, False or None)" -msgstr "Boolsk (True, False eller None)" - -msgid "Positive big integer" -msgstr "Positivt stort heltal" - -msgid "Positive integer" -msgstr "Positivt heltal" - -msgid "Positive small integer" -msgstr "Positivt lille heltal" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "\"Slug\" (op til %(max_length)s)" - -msgid "Small integer" -msgstr "Lille heltal" - -msgid "Text" -msgstr "Tekst" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" -"“%(value)s”-værdien har et ugyldigt format. Den skal være i formatet TT:MM[:" -"ss[.uuuuuu]]." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" -"“%(value)s”-værdien har det korrekte format (TT:MM[:ss[.uuuuuu]]) men er et " -"ugyldigt tidspunkt." - -msgid "Time" -msgstr "Tid" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Rå binære data" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "“%(value)s” er ikke et gyldigt UUID." - -msgid "Universally unique identifier" -msgstr "Universelt unik identifikator" - -msgid "File" -msgstr "Fil" - -msgid "Image" -msgstr "Billede" - -msgid "A JSON object" -msgstr "Et JSON-objekt" - -msgid "Value must be valid JSON." -msgstr "Værdien skal være gyldig JSON." - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "%(model)s instans med %(field)s %(value)r findes ikke." - -msgid "Foreign Key (type determined by related field)" -msgstr "Fremmednøgle (type bestemt af relateret felt)" - -msgid "One-to-one relationship" -msgstr "En-til-en-relation" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "%(from)s-%(to)s-relation" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "%(from)s-%(to)s-relationer" - -msgid "Many-to-many relationship" -msgstr "Mange-til-mange-relation" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Dette felt er påkrævet." - -msgid "Enter a whole number." -msgstr "Indtast et heltal." - -msgid "Enter a valid date." -msgstr "Indtast en gyldig dato." - -msgid "Enter a valid time." -msgstr "Indtast en gyldig tid." - -msgid "Enter a valid date/time." -msgstr "Indtast gyldig dato/tid." - -msgid "Enter a valid duration." -msgstr "Indtast en gyldig varighed." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "Antallet af dage skal være mellem {min_days} og {max_days}." - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Ingen fil blev indsendt. Kontroller kodningstypen i formularen." - -msgid "No file was submitted." -msgstr "Ingen fil blev indsendt." - -msgid "The submitted file is empty." -msgstr "Den indsendte fil er tom." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "Dette filnavn må højst have %(max)d tegn (det har %(length)d)." -msgstr[1] "Dette filnavn må højst have %(max)d tegn (det har %(length)d)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" -"Du skal enten indsende en fil eller afmarkere afkrydsningsfeltet, ikke begge " -"dele." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Indsend en billedfil. Filen, du indsendte, var enten ikke et billede eller " -"en defekt billedfil." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "" -"Marker en gyldig valgmulighed. %(value)s er ikke en af de tilgængelige " -"valgmuligheder." - -msgid "Enter a list of values." -msgstr "Indtast en liste af værdier." - -msgid "Enter a complete value." -msgstr "Indtast en komplet værdi." - -msgid "Enter a valid UUID." -msgstr "Indtast et gyldigt UUID." - -msgid "Enter a valid JSON." -msgstr "Indtast gyldig JSON." - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Skjult felt %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "ManagementForm-data mangler eller er blevet manipuleret" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Send venligst %d eller færre formularer." -msgstr[1] "Send venligst %d eller færre formularer." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "Send venligst %d eller flere formularer." -msgstr[1] "Send venligst %d eller flere formularer." - -msgid "Order" -msgstr "Rækkefølge" - -msgid "Delete" -msgstr "Slet" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Ret venligst duplikerede data for %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "Ret venligst de duplikerede data for %(field)s, som skal være unik." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Ret venligst de duplikerede data for %(field_name)s, som skal være unik for " -"%(lookup)s i %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "Ret venligst de duplikerede data herunder." - -msgid "The inline value did not match the parent instance." -msgstr "Den indlejrede værdi passede ikke med forældreinstansen." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" -"Marker en gyldig valgmulighed. Det valg, du har foretaget, er ikke blandt de " -"tilgængelige valgmuligheder." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "“%(pk)s” er ikke en gyldig værdi." - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" -"%(datetime)s kunne ikke fortolkes i tidszonen %(current_timezone)s; den kan " -"være tvetydig eller den eksisterer måske ikke." - -msgid "Clear" -msgstr "Afmarkér" - -msgid "Currently" -msgstr "Aktuelt" - -msgid "Change" -msgstr "Ret" - -msgid "Unknown" -msgstr "Ukendt" - -msgid "Yes" -msgstr "Ja" - -msgid "No" -msgstr "Nej" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "ja,nej,måske" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d byte" -msgstr[1] "%(size)d bytes" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "p.m." - -msgid "a.m." -msgstr "a.m." - -msgid "PM" -msgstr "PM" - -msgid "AM" -msgstr "AM" - -msgid "midnight" -msgstr "midnat" - -msgid "noon" -msgstr "middag" - -msgid "Monday" -msgstr "mandag" - -msgid "Tuesday" -msgstr "tirsdag" - -msgid "Wednesday" -msgstr "onsdag" - -msgid "Thursday" -msgstr "torsdag" - -msgid "Friday" -msgstr "fredag" - -msgid "Saturday" -msgstr "lørdag" - -msgid "Sunday" -msgstr "søndag" - -msgid "Mon" -msgstr "man" - -msgid "Tue" -msgstr "tir" - -msgid "Wed" -msgstr "ons" - -msgid "Thu" -msgstr "tor" - -msgid "Fri" -msgstr "fre" - -msgid "Sat" -msgstr "lør" - -msgid "Sun" -msgstr "søn" - -msgid "January" -msgstr "januar" - -msgid "February" -msgstr "februar" - -msgid "March" -msgstr "marts" - -msgid "April" -msgstr "april" - -msgid "May" -msgstr "maj" - -msgid "June" -msgstr "juni" - -msgid "July" -msgstr "juli" - -msgid "August" -msgstr "august" - -msgid "September" -msgstr "september" - -msgid "October" -msgstr "oktober" - -msgid "November" -msgstr "november" - -msgid "December" -msgstr "december" - -msgid "jan" -msgstr "jan" - -msgid "feb" -msgstr "feb" - -msgid "mar" -msgstr "mar" - -msgid "apr" -msgstr "apr" - -msgid "may" -msgstr "maj" - -msgid "jun" -msgstr "jun" - -msgid "jul" -msgstr "jul" - -msgid "aug" -msgstr "aug" - -msgid "sep" -msgstr "sept" - -msgid "oct" -msgstr "okt" - -msgid "nov" -msgstr "nov" - -msgid "dec" -msgstr "dec" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "jan." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "feb." - -msgctxt "abbrev. month" -msgid "March" -msgstr "marts" - -msgctxt "abbrev. month" -msgid "April" -msgstr "april" - -msgctxt "abbrev. month" -msgid "May" -msgstr "maj" - -msgctxt "abbrev. month" -msgid "June" -msgstr "juni" - -msgctxt "abbrev. month" -msgid "July" -msgstr "juli" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "aug." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "sept." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "okt." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "nov." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "dec." - -msgctxt "alt. month" -msgid "January" -msgstr "januar" - -msgctxt "alt. month" -msgid "February" -msgstr "februar" - -msgctxt "alt. month" -msgid "March" -msgstr "marts" - -msgctxt "alt. month" -msgid "April" -msgstr "april" - -msgctxt "alt. month" -msgid "May" -msgstr "maj" - -msgctxt "alt. month" -msgid "June" -msgstr "juni" - -msgctxt "alt. month" -msgid "July" -msgstr "juli" - -msgctxt "alt. month" -msgid "August" -msgstr "august" - -msgctxt "alt. month" -msgid "September" -msgstr "september" - -msgctxt "alt. month" -msgid "October" -msgstr "oktober" - -msgctxt "alt. month" -msgid "November" -msgstr "november" - -msgctxt "alt. month" -msgid "December" -msgstr "december" - -msgid "This is not a valid IPv6 address." -msgstr "Dette er ikke en gyldig IPv6-adresse." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s…" - -msgid "or" -msgstr "eller" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d år" -msgstr[1] "%d år" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d måned" -msgstr[1] "%d måneder" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d uge" -msgstr[1] "%d uger" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d dag" -msgstr[1] "%d dage" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d time" -msgstr[1] "%d timer" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d minut" -msgstr[1] "%d minutter" - -msgid "Forbidden" -msgstr "Forbudt" - -msgid "CSRF verification failed. Request aborted." -msgstr "CSRF-verifikationen mislykkedes. Forespørgslen blev afbrudt." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" -"Du ser denne besked fordi denne HTTPS-webside kræver at din browser sender " -"en “Referer header”, men den blev ikke sendt. Denne header er påkrævet af " -"sikkerhedsmæssige grunde for at sikre at din browser ikke bliver kapret af " -"tredjepart." - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" -"Hvis du har opsat din browser til ikke at sende “Referer” headere, beder vi " -"dig slå dem til igen, i hvert fald for denne webside, eller for HTTPS-" -"forbindelser, eller for “same-origin”-forespørgsler." - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" -"Hvis du bruger tagget eller " -"inkluderer headeren “Referrer-Policy: no-referrer”, så fjern dem venligst. " -"CSRF-beskyttelsen afhænger af at “Referer”-headeren udfører stringent " -"referer-kontrol. Hvis du er bekymret om privatliv, så brug alternativer så " -"som for links til tredjepartswebsider." - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Du ser denne besked fordi denne webside kræver en CSRF-cookie, når du sender " -"formularer. Denne cookie er påkrævet af sikkerhedsmæssige grunde for at " -"sikre at din browser ikke bliver kapret af tredjepart." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" -"Hvis du har slået cookies fra i din browser, beder vi dig slå dem til igen, " -"i hvert fald for denne webside, eller for “same-origin”-forespørgsler." - -msgid "More information is available with DEBUG=True." -msgstr "Mere information er tilgængeligt med DEBUG=True." - -msgid "No year specified" -msgstr "Intet år specificeret" - -msgid "Date out of range" -msgstr "Dato uden for rækkevidde" - -msgid "No month specified" -msgstr "Ingen måned specificeret" - -msgid "No day specified" -msgstr "Ingen dag specificeret" - -msgid "No week specified" -msgstr "Ingen uge specificeret" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "Ingen %(verbose_name_plural)s til rådighed" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"Fremtidige %(verbose_name_plural)s ikke tilgængelige, fordi %(class_name)s ." -"allow_future er falsk." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "Ugyldig datostreng “%(datestr)s” givet format “%(format)s”" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Ingen %(verbose_name)s fundet matcher forespørgslen" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "Side er ikke “sidste”, og kan heller ikke konverteres til en int." - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Ugyldig side (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "Tom liste og “%(class_name)s.allow_empty” er falsk." - -msgid "Directory indexes are not allowed here." -msgstr "Mappeindekser er ikke tilladte her" - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "“%(path)s” eksisterer ikke" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Indeks for %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "Django: Webframework'et for perfektionister med deadlines." - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"Vis udgivelsesnoter for Django %(version)s" - -msgid "The install worked successfully! Congratulations!" -msgstr "Installationen virkede! Tillykke!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"Du ser denne side fordi du har DEBUG=True i din settings-fil og ikke har opsat nogen URL'er." - -msgid "Django Documentation" -msgstr "Django-dokumentation" - -msgid "Topics, references, & how-to’s" -msgstr "Emner, referencer & how-to’s" - -msgid "Tutorial: A Polling App" -msgstr "Gennemgang: En afstemnings-app" - -msgid "Get started with Django" -msgstr "Kom i gang med Django" - -msgid "Django Community" -msgstr "Django-fællesskabet" - -msgid "Connect, get help, or contribute" -msgstr "Forbind, få hjælp eller bidrag" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/da/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/da/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/da/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/da/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index a3513397..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/da/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/da/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/da/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 14c87ba0..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/da/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/da/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/da/formats.py deleted file mode 100644 index 6237a720..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/da/formats.py +++ /dev/null @@ -1,26 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'j. F Y' -TIME_FORMAT = 'H:i' -DATETIME_FORMAT = 'j. F Y H:i' -YEAR_MONTH_FORMAT = 'F Y' -MONTH_DAY_FORMAT = 'j. F' -SHORT_DATE_FORMAT = 'd.m.Y' -SHORT_DATETIME_FORMAT = 'd.m.Y H:i' -FIRST_DAY_OF_WEEK = 1 - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -DATE_INPUT_FORMATS = [ - '%d.%m.%Y', # '25.10.2006' -] -DATETIME_INPUT_FORMATS = [ - '%d.%m.%Y %H:%M:%S', # '25.10.2006 14:30:59' - '%d.%m.%Y %H:%M:%S.%f', # '25.10.2006 14:30:59.000200' - '%d.%m.%Y %H:%M', # '25.10.2006 14:30' -] -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = '.' -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/de/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/de/LC_MESSAGES/django.mo deleted file mode 100644 index 09c7bcf3..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/de/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/de/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/de/LC_MESSAGES/django.po deleted file mode 100644 index 14051644..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/de/LC_MESSAGES/django.po +++ /dev/null @@ -1,1318 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# André Hagenbruch, 2011-2012 -# Florian Apolloner , 2011 -# Daniel Roschka , 2016 -# Florian Apolloner , 2018,2020 -# Jannis Vajen, 2011,2013 -# Jannis Leidel , 2013-2018,2020 -# Jannis Vajen, 2016 -# Markus Holtermann , 2013,2015 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-07-17 07:52+0000\n" -"Last-Translator: Florian Apolloner \n" -"Language-Team: German (http://www.transifex.com/django/django/language/de/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: de\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "Afrikaans" -msgstr "Afrikaans" - -msgid "Arabic" -msgstr "Arabisch" - -msgid "Algerian Arabic" -msgstr "Algerisches Arabisch" - -msgid "Asturian" -msgstr "Asturisch" - -msgid "Azerbaijani" -msgstr "Aserbaidschanisch" - -msgid "Bulgarian" -msgstr "Bulgarisch" - -msgid "Belarusian" -msgstr "Weißrussisch" - -msgid "Bengali" -msgstr "Bengali" - -msgid "Breton" -msgstr "Bretonisch" - -msgid "Bosnian" -msgstr "Bosnisch" - -msgid "Catalan" -msgstr "Katalanisch" - -msgid "Czech" -msgstr "Tschechisch" - -msgid "Welsh" -msgstr "Walisisch" - -msgid "Danish" -msgstr "Dänisch" - -msgid "German" -msgstr "Deutsch" - -msgid "Lower Sorbian" -msgstr "Niedersorbisch" - -msgid "Greek" -msgstr "Griechisch" - -msgid "English" -msgstr "Englisch" - -msgid "Australian English" -msgstr "Australisches Englisch" - -msgid "British English" -msgstr "Britisches Englisch" - -msgid "Esperanto" -msgstr "Esperanto" - -msgid "Spanish" -msgstr "Spanisch" - -msgid "Argentinian Spanish" -msgstr "Argentinisches Spanisch" - -msgid "Colombian Spanish" -msgstr "Kolumbianisches Spanisch" - -msgid "Mexican Spanish" -msgstr "Mexikanisches Spanisch" - -msgid "Nicaraguan Spanish" -msgstr "Nicaraguanisches Spanisch" - -msgid "Venezuelan Spanish" -msgstr "Venezolanisches Spanisch" - -msgid "Estonian" -msgstr "Estnisch" - -msgid "Basque" -msgstr "Baskisch" - -msgid "Persian" -msgstr "Persisch" - -msgid "Finnish" -msgstr "Finnisch" - -msgid "French" -msgstr "Französisch" - -msgid "Frisian" -msgstr "Friesisch" - -msgid "Irish" -msgstr "Irisch" - -msgid "Scottish Gaelic" -msgstr "Schottisch-Gälisch" - -msgid "Galician" -msgstr "Galicisch" - -msgid "Hebrew" -msgstr "Hebräisch" - -msgid "Hindi" -msgstr "Hindi" - -msgid "Croatian" -msgstr "Kroatisch" - -msgid "Upper Sorbian" -msgstr "Obersorbisch" - -msgid "Hungarian" -msgstr "Ungarisch" - -msgid "Armenian" -msgstr "Armenisch" - -msgid "Interlingua" -msgstr "Interlingua" - -msgid "Indonesian" -msgstr "Indonesisch" - -msgid "Igbo" -msgstr "Igbo" - -msgid "Ido" -msgstr "Ido" - -msgid "Icelandic" -msgstr "Isländisch" - -msgid "Italian" -msgstr "Italienisch" - -msgid "Japanese" -msgstr "Japanisch" - -msgid "Georgian" -msgstr "Georgisch" - -msgid "Kabyle" -msgstr "Kabylisch" - -msgid "Kazakh" -msgstr "Kasachisch" - -msgid "Khmer" -msgstr "Khmer" - -msgid "Kannada" -msgstr "Kannada" - -msgid "Korean" -msgstr "Koreanisch" - -msgid "Kyrgyz" -msgstr "Kirgisisch" - -msgid "Luxembourgish" -msgstr "Luxemburgisch" - -msgid "Lithuanian" -msgstr "Litauisch" - -msgid "Latvian" -msgstr "Lettisch" - -msgid "Macedonian" -msgstr "Mazedonisch" - -msgid "Malayalam" -msgstr "Malayalam" - -msgid "Mongolian" -msgstr "Mongolisch" - -msgid "Marathi" -msgstr "Marathi" - -msgid "Burmese" -msgstr "Birmanisch" - -msgid "Norwegian Bokmål" -msgstr "Norwegisch (Bokmål)" - -msgid "Nepali" -msgstr "Nepali" - -msgid "Dutch" -msgstr "Niederländisch" - -msgid "Norwegian Nynorsk" -msgstr "Norwegisch (Nynorsk)" - -msgid "Ossetic" -msgstr "Ossetisch" - -msgid "Punjabi" -msgstr "Panjabi" - -msgid "Polish" -msgstr "Polnisch" - -msgid "Portuguese" -msgstr "Portugiesisch" - -msgid "Brazilian Portuguese" -msgstr "Brasilianisches Portugiesisch" - -msgid "Romanian" -msgstr "Rumänisch" - -msgid "Russian" -msgstr "Russisch" - -msgid "Slovak" -msgstr "Slowakisch" - -msgid "Slovenian" -msgstr "Slowenisch" - -msgid "Albanian" -msgstr "Albanisch" - -msgid "Serbian" -msgstr "Serbisch" - -msgid "Serbian Latin" -msgstr "Serbisch (Latein)" - -msgid "Swedish" -msgstr "Schwedisch" - -msgid "Swahili" -msgstr "Swahili" - -msgid "Tamil" -msgstr "Tamilisch" - -msgid "Telugu" -msgstr "Telugisch" - -msgid "Tajik" -msgstr "Tadschikisch" - -msgid "Thai" -msgstr "Thailändisch" - -msgid "Turkmen" -msgstr "Turkmenisch" - -msgid "Turkish" -msgstr "Türkisch" - -msgid "Tatar" -msgstr "Tatarisch" - -msgid "Udmurt" -msgstr "Udmurtisch" - -msgid "Ukrainian" -msgstr "Ukrainisch" - -msgid "Urdu" -msgstr "Urdu" - -msgid "Uzbek" -msgstr "Usbekisch" - -msgid "Vietnamese" -msgstr "Vietnamesisch" - -msgid "Simplified Chinese" -msgstr "Vereinfachtes Chinesisch" - -msgid "Traditional Chinese" -msgstr "Traditionelles Chinesisch" - -msgid "Messages" -msgstr "Mitteilungen" - -msgid "Site Maps" -msgstr "Sitemaps" - -msgid "Static Files" -msgstr "Statische Dateien" - -msgid "Syndication" -msgstr "Syndication" - -msgid "That page number is not an integer" -msgstr "Diese Seitennummer ist keine Ganzzahl" - -msgid "That page number is less than 1" -msgstr "Diese Seitennummer ist kleiner als 1" - -msgid "That page contains no results" -msgstr "Diese Seite enthält keine Ergebnisse" - -msgid "Enter a valid value." -msgstr "Bitte einen gültigen Wert eingeben." - -msgid "Enter a valid URL." -msgstr "Bitte eine gültige Adresse eingeben." - -msgid "Enter a valid integer." -msgstr "Bitte eine gültige Ganzzahl eingeben." - -msgid "Enter a valid email address." -msgstr "Bitte gültige E-Mail-Adresse eingeben." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" -"Bitte ein gültiges Kürzel, bestehend aus Buchstaben, Ziffern, Unterstrichen " -"und Bindestrichen, eingeben." - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" -"Bitte ein gültiges Kürzel eingeben, bestehend aus Buchstaben (Unicode), " -"Ziffern, Unter- und Bindestrichen." - -msgid "Enter a valid IPv4 address." -msgstr "Bitte eine gültige IPv4-Adresse eingeben." - -msgid "Enter a valid IPv6 address." -msgstr "Bitte eine gültige IPv6-Adresse eingeben." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Bitte eine gültige IPv4- oder IPv6-Adresse eingeben" - -msgid "Enter only digits separated by commas." -msgstr "Bitte nur durch Komma getrennte Ziffern eingeben." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" -"Bitte sicherstellen, dass der Wert %(limit_value)s ist. (Er ist " -"%(show_value)s.)" - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Dieser Wert muss kleiner oder gleich %(limit_value)s sein." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Dieser Wert muss größer oder gleich %(limit_value)s sein." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Bitte sicherstellen, dass der Wert aus mindestens %(limit_value)d Zeichen " -"besteht. (Er besteht aus %(show_value)d Zeichen.)" -msgstr[1] "" -"Bitte sicherstellen, dass der Wert aus mindestens %(limit_value)d Zeichen " -"besteht. (Er besteht aus %(show_value)d Zeichen.)" - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Bitte sicherstellen, dass der Wert aus höchstens %(limit_value)d Zeichen " -"besteht. (Er besteht aus %(show_value)d Zeichen.)" -msgstr[1] "" -"Bitte sicherstellen, dass der Wert aus höchstens %(limit_value)d Zeichen " -"besteht. (Er besteht aus %(show_value)d Zeichen.)" - -msgid "Enter a number." -msgstr "Bitte eine Zahl eingeben." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "" -"Bitte sicherstellen, dass der Wert höchstens %(max)s Ziffer enthält." -msgstr[1] "" -"Bitte sicherstellen, dass der Wert höchstens %(max)s Ziffern enthält." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "" -"Bitte sicherstellen, dass der Wert höchstens %(max)s Dezimalstelle enthält." -msgstr[1] "" -"Bitte sicherstellen, dass der Wert höchstens %(max)s Dezimalstellen enthält." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -"Bitte sicherstellen, dass der Wert höchstens %(max)s Ziffer vor dem Komma " -"enthält." -msgstr[1] "" -"Bitte sicherstellen, dass der Wert höchstens %(max)s Ziffern vor dem Komma " -"enthält." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" -"Dateiendung „%(extension)s“ ist nicht erlaubt. Erlaubte Dateiendungen sind: " -"„%(allowed_extensions)s“." - -msgid "Null characters are not allowed." -msgstr "Nullzeichen sind nicht erlaubt." - -msgid "and" -msgstr "und" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "%(model_name)s mit diesem %(field_labels)s existiert bereits." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "Wert %(value)r ist keine gültige Option." - -msgid "This field cannot be null." -msgstr "Dieses Feld darf nicht null sein." - -msgid "This field cannot be blank." -msgstr "Dieses Feld darf nicht leer sein." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s mit diesem %(field_label)s existiert bereits." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(field_label)s muss für %(date_field_label)s %(lookup_type)s eindeutig sein." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Feldtyp: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "Wert „%(value)s“ muss entweder True oder False sein." - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "Wert „%(value)s“ muss True, False oder None sein." - -msgid "Boolean (Either True or False)" -msgstr "Boolescher Wert (True oder False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Zeichenkette (bis zu %(max_length)s Zeichen)" - -msgid "Comma-separated integers" -msgstr "Kommaseparierte Liste von Ganzzahlen" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" -"Wert „%(value)s“ hat ein ungültiges Datumsformat. Es muss YYYY-MM-DD " -"entsprechen." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" -"Wert „%(value)s“ hat das korrekte Format (YYYY-MM-DD) aber ein ungültiges " -"Datum." - -msgid "Date (without time)" -msgstr "Datum (ohne Uhrzeit)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" -"Wert „%(value)s“ hat ein ungültiges Format. Es muss YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] entsprechen." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" -"Wert „%(value)s“ hat das korrekte Format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) aber eine ungültige Zeit-/Datumsangabe." - -msgid "Date (with time)" -msgstr "Datum (mit Uhrzeit)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "Wert „%(value)s“ muss eine Dezimalzahl sein." - -msgid "Decimal number" -msgstr "Dezimalzahl" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" -"Wert „%(value)s“ hat ein ungültiges Format. Es muss der Form [DD] [HH:" -"[MM:]]ss[.uuuuuu] entsprechen." - -msgid "Duration" -msgstr "Zeitspanne" - -msgid "Email address" -msgstr "E-Mail-Adresse" - -msgid "File path" -msgstr "Dateipfad" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "Wert „%(value)s“ muss eine Fließkommazahl sein." - -msgid "Floating point number" -msgstr "Gleitkommazahl" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "Wert „%(value)s“ muss eine Ganzzahl sein." - -msgid "Integer" -msgstr "Ganzzahl" - -msgid "Big (8 byte) integer" -msgstr "Große Ganzzahl (8 Byte)" - -msgid "IPv4 address" -msgstr "IPv4-Adresse" - -msgid "IP address" -msgstr "IP-Adresse" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "Wert „%(value)s“ muss entweder None, True oder False sein." - -msgid "Boolean (Either True, False or None)" -msgstr "Boolescher Wert (True, False oder None)" - -msgid "Positive big integer" -msgstr "Positive große Ganzzahl" - -msgid "Positive integer" -msgstr "Positive Ganzzahl" - -msgid "Positive small integer" -msgstr "Positive kleine Ganzzahl" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Kürzel (bis zu %(max_length)s)" - -msgid "Small integer" -msgstr "Kleine Ganzzahl" - -msgid "Text" -msgstr "Text" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" -"Wert „%(value)s“ hat ein ungültiges Format. Es muss HH:MM[:ss[.uuuuuu]] " -"entsprechen." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" -"Wert „%(value)s“ hat das korrekte Format (HH:MM[:ss[.uuuuuu]]), aber ist " -"eine ungültige Zeitangabe." - -msgid "Time" -msgstr "Zeit" - -msgid "URL" -msgstr "Adresse (URL)" - -msgid "Raw binary data" -msgstr "Binärdaten" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "Wert „%(value)s“ ist keine gültige UUID." - -msgid "Universally unique identifier" -msgstr "Universally Unique Identifier" - -msgid "File" -msgstr "Datei" - -msgid "Image" -msgstr "Bild" - -msgid "A JSON object" -msgstr "Ein JSON-Objekt" - -msgid "Value must be valid JSON." -msgstr "Wert muss gültiges JSON sein." - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "Objekt vom Typ %(model)s mit %(field)s %(value)r existiert nicht." - -msgid "Foreign Key (type determined by related field)" -msgstr "Fremdschlüssel (Typ definiert durch verknüpftes Feld)" - -msgid "One-to-one relationship" -msgstr "1:1-Beziehung" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "%(from)s-%(to)s-Beziehung" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "%(from)s-%(to)s-Beziehungen" - -msgid "Many-to-many relationship" -msgstr "n:m-Beziehung" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Dieses Feld ist zwingend erforderlich." - -msgid "Enter a whole number." -msgstr "Bitte eine ganze Zahl eingeben." - -msgid "Enter a valid date." -msgstr "Bitte ein gültiges Datum eingeben." - -msgid "Enter a valid time." -msgstr "Bitte eine gültige Uhrzeit eingeben." - -msgid "Enter a valid date/time." -msgstr "Bitte ein gültiges Datum und Uhrzeit eingeben." - -msgid "Enter a valid duration." -msgstr "Bitte eine gültige Zeitspanne eingeben." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "Die Anzahl der Tage muss zwischen {min_days} und {max_days} sein." - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "" -"Es wurde keine Datei übertragen. Überprüfen Sie das Encoding des Formulars." - -msgid "No file was submitted." -msgstr "Es wurde keine Datei übertragen." - -msgid "The submitted file is empty." -msgstr "Die übertragene Datei ist leer." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Bitte sicherstellen, dass der Dateiname aus höchstens %(max)d Zeichen " -"besteht. (Er besteht aus %(length)d Zeichen.)" -msgstr[1] "" -"Bitte sicherstellen, dass der Dateiname aus höchstens %(max)d Zeichen " -"besteht. (Er besteht aus %(length)d Zeichen.)" - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" -"Bitte wählen Sie entweder eine Datei aus oder wählen Sie „Löschen“, nicht " -"beides." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Bitte ein gültiges Bild hochladen. Die hochgeladene Datei ist kein Bild oder " -"ist defekt." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "" -"Bitte eine gültige Auswahl treffen. %(value)s ist keine gültige Auswahl." - -msgid "Enter a list of values." -msgstr "Bitte eine Liste mit Werten eingeben." - -msgid "Enter a complete value." -msgstr "Bitte einen vollständigen Wert eingeben." - -msgid "Enter a valid UUID." -msgstr "Bitte eine gültige UUID eingeben." - -msgid "Enter a valid JSON." -msgstr "Bitte ein gültiges JSON-Objekt eingeben." - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Verstecktes Feld %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "ManagementForm-Daten fehlen oder wurden manipuliert." - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Bitte höchstens %d Formular abschicken." -msgstr[1] "Bitte höchstens %d Formulare abschicken." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "Bitte %d oder mehr Formulare abschicken." -msgstr[1] "Bitte %d oder mehr Formulare abschicken." - -msgid "Order" -msgstr "Reihenfolge" - -msgid "Delete" -msgstr "Löschen" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Bitte die doppelten Daten für %(field)s korrigieren." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"Bitte die doppelten Daten für %(field)s korrigieren, das eindeutig sein muss." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Bitte die doppelten Daten für %(field_name)s korrigieren, da es für " -"%(lookup)s in %(date_field)s eindeutig sein muss." - -msgid "Please correct the duplicate values below." -msgstr "Bitte die unten aufgeführten doppelten Werte korrigieren." - -msgid "The inline value did not match the parent instance." -msgstr "Der Inline-Wert passt nicht zur übergeordneten Instanz." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "Bitte eine gültige Auswahl treffen. Dies ist keine gültige Auswahl." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "„%(pk)s“ ist kein gültiger Wert." - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" -"%(datetime)s konnte mit der Zeitzone %(current_timezone)s nicht eindeutig " -"interpretiert werden, da es doppeldeutig oder eventuell inkorrekt ist." - -msgid "Clear" -msgstr "Zurücksetzen" - -msgid "Currently" -msgstr "Derzeit" - -msgid "Change" -msgstr "Ändern" - -msgid "Unknown" -msgstr "Unbekannt" - -msgid "Yes" -msgstr "Ja" - -msgid "No" -msgstr "Nein" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "Ja,Nein,Vielleicht" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d Byte" -msgstr[1] "%(size)d Bytes" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "nachm." - -msgid "a.m." -msgstr "vorm." - -msgid "PM" -msgstr "nachm." - -msgid "AM" -msgstr "vorm." - -msgid "midnight" -msgstr "Mitternacht" - -msgid "noon" -msgstr "Mittag" - -msgid "Monday" -msgstr "Montag" - -msgid "Tuesday" -msgstr "Dienstag" - -msgid "Wednesday" -msgstr "Mittwoch" - -msgid "Thursday" -msgstr "Donnerstag" - -msgid "Friday" -msgstr "Freitag" - -msgid "Saturday" -msgstr "Samstag" - -msgid "Sunday" -msgstr "Sonntag" - -msgid "Mon" -msgstr "Mo" - -msgid "Tue" -msgstr "Di" - -msgid "Wed" -msgstr "Mi" - -msgid "Thu" -msgstr "Do" - -msgid "Fri" -msgstr "Fr" - -msgid "Sat" -msgstr "Sa" - -msgid "Sun" -msgstr "So" - -msgid "January" -msgstr "Januar" - -msgid "February" -msgstr "Februar" - -msgid "March" -msgstr "März" - -msgid "April" -msgstr "April" - -msgid "May" -msgstr "Mai" - -msgid "June" -msgstr "Juni" - -msgid "July" -msgstr "Juli" - -msgid "August" -msgstr "August" - -msgid "September" -msgstr "September" - -msgid "October" -msgstr "Oktober" - -msgid "November" -msgstr "November" - -msgid "December" -msgstr "Dezember" - -msgid "jan" -msgstr "Jan" - -msgid "feb" -msgstr "Feb" - -msgid "mar" -msgstr "Mär" - -msgid "apr" -msgstr "Apr" - -msgid "may" -msgstr "Mai" - -msgid "jun" -msgstr "Jun" - -msgid "jul" -msgstr "Jul" - -msgid "aug" -msgstr "Aug" - -msgid "sep" -msgstr "Sep" - -msgid "oct" -msgstr "Okt" - -msgid "nov" -msgstr "Nov" - -msgid "dec" -msgstr "Dez" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Jan." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Feb." - -msgctxt "abbrev. month" -msgid "March" -msgstr "März" - -msgctxt "abbrev. month" -msgid "April" -msgstr "April" - -msgctxt "abbrev. month" -msgid "May" -msgstr "Mai" - -msgctxt "abbrev. month" -msgid "June" -msgstr "Juni" - -msgctxt "abbrev. month" -msgid "July" -msgstr "Juli" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Aug." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Sept." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Okt." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Nov." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Dez." - -msgctxt "alt. month" -msgid "January" -msgstr "Januar" - -msgctxt "alt. month" -msgid "February" -msgstr "Februar" - -msgctxt "alt. month" -msgid "March" -msgstr "März" - -msgctxt "alt. month" -msgid "April" -msgstr "April" - -msgctxt "alt. month" -msgid "May" -msgstr "Mai" - -msgctxt "alt. month" -msgid "June" -msgstr "Juni" - -msgctxt "alt. month" -msgid "July" -msgstr "Juli" - -msgctxt "alt. month" -msgid "August" -msgstr "August" - -msgctxt "alt. month" -msgid "September" -msgstr "September" - -msgctxt "alt. month" -msgid "October" -msgstr "Oktober" - -msgctxt "alt. month" -msgid "November" -msgstr "November" - -msgctxt "alt. month" -msgid "December" -msgstr "Dezember" - -msgid "This is not a valid IPv6 address." -msgstr "Dies ist keine gültige IPv6-Adresse." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s…" - -msgid "or" -msgstr "oder" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d Jahr" -msgstr[1] "%d Jahre" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d Monat" -msgstr[1] "%d Monate" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d Woche" -msgstr[1] "%d Wochen" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d Tag" -msgstr[1] "%d Tage" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d Stunde" -msgstr[1] "%d Stunden" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d Minute" -msgstr[1] "%d Minuten" - -msgid "Forbidden" -msgstr "Verboten" - -msgid "CSRF verification failed. Request aborted." -msgstr "CSRF-Verifizierung fehlgeschlagen. Anfrage abgebrochen." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" -"Sie sehen diese Fehlermeldung da diese HTTPS-Seite einen „Referer“-Header " -"von Ihrem Webbrowser erwartet, aber keinen erhalten hat. Dieser Header ist " -"aus Sicherheitsgründen notwendig, um sicherzustellen, dass Ihr Webbrowser " -"nicht von Dritten missbraucht wird." - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" -"Falls Sie Ihren Webbrowser so konfiguriert haben, dass „Referer“-Header " -"nicht gesendet werden, müssen Sie diese Funktion mindestens für diese Seite, " -"für sichere HTTPS-Verbindungen oder für „Same-Origin“-Verbindungen " -"reaktivieren." - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" -"Wenn der Tag „“ oder der " -"„Referrer-Policy: no-referrer“-Header verwendet wird, entfernen Sie sie " -"bitte. Der „Referer“-Header wird zur korrekten CSRF-Verifizierung benötigt. " -"Falls es datenschutzrechtliche Gründe gibt, benutzen Sie bitte Alternativen " -"wie „“ für Links zu Drittseiten." - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Sie sehen Diese Nachricht, da diese Seite einen CSRF-Cookie beim Verarbeiten " -"von Formulardaten benötigt. Dieses Cookie ist aus Sicherheitsgründen " -"notwendig, um sicherzustellen, dass Ihr Webbrowser nicht von Dritten " -"missbraucht wird." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" -"Falls Sie Cookies in Ihren Webbrowser deaktiviert haben, müssen Sie sie " -"mindestens für diese Seite oder für „Same-Origin“-Verbindungen reaktivieren." - -msgid "More information is available with DEBUG=True." -msgstr "Mehr Information ist verfügbar mit DEBUG=True." - -msgid "No year specified" -msgstr "Kein Jahr angegeben" - -msgid "Date out of range" -msgstr "Datum außerhalb des zulässigen Bereichs" - -msgid "No month specified" -msgstr "Kein Monat angegeben" - -msgid "No day specified" -msgstr "Kein Tag angegeben" - -msgid "No week specified" -msgstr "Keine Woche angegeben" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "Keine %(verbose_name_plural)s verfügbar" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"In der Zukunft liegende %(verbose_name_plural)s sind nicht verfügbar, da " -"%(class_name)s.allow_future auf False gesetzt ist." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "Ungültiges Datum „%(datestr)s“ für das Format „%(format)s“" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Konnte keine %(verbose_name)s mit diesen Parametern finden." - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" -"Weder ist dies die letzte Seite („last“) noch konnte sie in einen " -"ganzzahligen Wert umgewandelt werden." - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Ungültige Seite (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "Leere Liste und „%(class_name)s.allow_empty“ ist False." - -msgid "Directory indexes are not allowed here." -msgstr "Dateilisten sind untersagt." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "„%(path)s“ ist nicht vorhanden" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Verzeichnis %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "Django: Das Webframework für Perfektionisten mit Termindruck." - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"Versionshinweise für Django %(version)s " -"anzeigen" - -msgid "The install worked successfully! Congratulations!" -msgstr "Die Installation war erfolgreich. Herzlichen Glückwunsch!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"Diese Seite ist sichtbar weil in der Settings-Datei DEBUG = True steht und die URLs noch nicht konfiguriert " -"sind." - -msgid "Django Documentation" -msgstr "Django-Dokumentation" - -msgid "Topics, references, & how-to’s" -msgstr "Themen, Referenz, & Kurzanleitungen" - -msgid "Tutorial: A Polling App" -msgstr "Tutorial: Eine Umfrage-App" - -msgid "Get started with Django" -msgstr "Los geht's mit Django" - -msgid "Django Community" -msgstr "Django-Community" - -msgid "Connect, get help, or contribute" -msgstr "Nimm Kontakt auf, erhalte Hilfe oder arbeite an Django mit" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/de/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/de/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/de/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/de/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 63cdc80b..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/de/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/de/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/de/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 08069194..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/de/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/de/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/de/formats.py deleted file mode 100644 index 7bd5e058..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/de/formats.py +++ /dev/null @@ -1,27 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'j. F Y' -TIME_FORMAT = 'H:i' -DATETIME_FORMAT = 'j. F Y H:i' -YEAR_MONTH_FORMAT = 'F Y' -MONTH_DAY_FORMAT = 'j. F' -SHORT_DATE_FORMAT = 'd.m.Y' -SHORT_DATETIME_FORMAT = 'd.m.Y H:i' -FIRST_DAY_OF_WEEK = 1 # Monday - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -DATE_INPUT_FORMATS = [ - '%d.%m.%Y', '%d.%m.%y', # '25.10.2006', '25.10.06' - # '%d. %B %Y', '%d. %b. %Y', # '25. October 2006', '25. Oct. 2006' -] -DATETIME_INPUT_FORMATS = [ - '%d.%m.%Y %H:%M:%S', # '25.10.2006 14:30:59' - '%d.%m.%Y %H:%M:%S.%f', # '25.10.2006 14:30:59.000200' - '%d.%m.%Y %H:%M', # '25.10.2006 14:30' -] -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = '.' -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/de_CH/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/de_CH/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/de_CH/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/de_CH/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 23fa9fc8..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/de_CH/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/de_CH/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/de_CH/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 47028c0e..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/de_CH/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/de_CH/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/de_CH/formats.py deleted file mode 100644 index 999feda2..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/de_CH/formats.py +++ /dev/null @@ -1,33 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'j. F Y' -TIME_FORMAT = 'H:i' -DATETIME_FORMAT = 'j. F Y H:i' -YEAR_MONTH_FORMAT = 'F Y' -MONTH_DAY_FORMAT = 'j. F' -SHORT_DATE_FORMAT = 'd.m.Y' -SHORT_DATETIME_FORMAT = 'd.m.Y H:i' -FIRST_DAY_OF_WEEK = 1 # Monday - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -DATE_INPUT_FORMATS = [ - '%d.%m.%Y', '%d.%m.%y', # '25.10.2006', '25.10.06' - # '%d. %B %Y', '%d. %b. %Y', # '25. October 2006', '25. Oct. 2006' -] -DATETIME_INPUT_FORMATS = [ - '%d.%m.%Y %H:%M:%S', # '25.10.2006 14:30:59' - '%d.%m.%Y %H:%M:%S.%f', # '25.10.2006 14:30:59.000200' - '%d.%m.%Y %H:%M', # '25.10.2006 14:30' -] - -# these are the separators for non-monetary numbers. For monetary numbers, -# the DECIMAL_SEPARATOR is a . (decimal point) and the THOUSAND_SEPARATOR is a -# ' (single quote). -# For details, please refer to http://www.bk.admin.ch/dokumentation/sprachen/04915/05016/index.html?lang=de -# (in German) and the documentation -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = '\xa0' # non-breaking space -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/dsb/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/dsb/LC_MESSAGES/django.mo deleted file mode 100644 index 79a756f5..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/dsb/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/dsb/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/dsb/LC_MESSAGES/django.po deleted file mode 100644 index 215ae387..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/dsb/LC_MESSAGES/django.po +++ /dev/null @@ -1,1347 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Michael Wolf , 2016-2020 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-07-21 12:56+0000\n" -"Last-Translator: Michael Wolf \n" -"Language-Team: Lower Sorbian (http://www.transifex.com/django/django/" -"language/dsb/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: dsb\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" -"%100==4 ? 2 : 3);\n" - -msgid "Afrikaans" -msgstr "Afrikaanšćina" - -msgid "Arabic" -msgstr "Arabšćina" - -msgid "Algerian Arabic" -msgstr "Algeriska arabšćina" - -msgid "Asturian" -msgstr "Asturišćina" - -msgid "Azerbaijani" -msgstr "Azerbajdžanišćina" - -msgid "Bulgarian" -msgstr "Bulgaršćina" - -msgid "Belarusian" -msgstr "Běłorušćina" - -msgid "Bengali" -msgstr "Bengalšćina" - -msgid "Breton" -msgstr "Bretońšćina" - -msgid "Bosnian" -msgstr "Bosnišćina" - -msgid "Catalan" -msgstr "Katalańšćina" - -msgid "Czech" -msgstr "Češćina" - -msgid "Welsh" -msgstr "Kymrišćina" - -msgid "Danish" -msgstr "Dańšćina" - -msgid "German" -msgstr "Nimšćina" - -msgid "Lower Sorbian" -msgstr "Dolnoserbšćina" - -msgid "Greek" -msgstr "Grichišćina" - -msgid "English" -msgstr "Engelšćina" - -msgid "Australian English" -msgstr "Awstralska engelšćina" - -msgid "British English" -msgstr "Britiska engelšćina" - -msgid "Esperanto" -msgstr "Esperanto" - -msgid "Spanish" -msgstr "Špańšćina" - -msgid "Argentinian Spanish" -msgstr "Argentinska špańšćina" - -msgid "Colombian Spanish" -msgstr "Kolumbiska špańšćina" - -msgid "Mexican Spanish" -msgstr "Mexikańska špańšćina" - -msgid "Nicaraguan Spanish" -msgstr "Nikaraguaska špańšćina" - -msgid "Venezuelan Spanish" -msgstr "Venezolaniska špańšćina" - -msgid "Estonian" -msgstr "Estnišćina" - -msgid "Basque" -msgstr "Baskišćina" - -msgid "Persian" -msgstr "Persišćina" - -msgid "Finnish" -msgstr "Finšćina" - -msgid "French" -msgstr "Francojšćina" - -msgid "Frisian" -msgstr "Frizišćina" - -msgid "Irish" -msgstr "Iršćina" - -msgid "Scottish Gaelic" -msgstr "Šotiska gelišćina" - -msgid "Galician" -msgstr "Galicišćina" - -msgid "Hebrew" -msgstr "Hebrejšćina" - -msgid "Hindi" -msgstr "Hindišćina" - -msgid "Croatian" -msgstr "Chorwatšćina" - -msgid "Upper Sorbian" -msgstr "Górnoserbšćina" - -msgid "Hungarian" -msgstr "Hungoršćina" - -msgid "Armenian" -msgstr "Armeńšćina" - -msgid "Interlingua" -msgstr "Interlingua" - -msgid "Indonesian" -msgstr "Indonešćina" - -msgid "Igbo" -msgstr "Igbo" - -msgid "Ido" -msgstr "Ido" - -msgid "Icelandic" -msgstr "Islandšćina" - -msgid "Italian" -msgstr "Italšćina" - -msgid "Japanese" -msgstr "Japańšćina" - -msgid "Georgian" -msgstr "Georgišćina" - -msgid "Kabyle" -msgstr "Kabylšćina" - -msgid "Kazakh" -msgstr "Kazachšćina" - -msgid "Khmer" -msgstr "Rěc Khmerow" - -msgid "Kannada" -msgstr "Kannadišćina" - -msgid "Korean" -msgstr "Korejańšćina" - -msgid "Kyrgyz" -msgstr "Kirgišćina" - -msgid "Luxembourgish" -msgstr "Luxemburgšćina" - -msgid "Lithuanian" -msgstr "Litawšćina" - -msgid "Latvian" -msgstr "Letišćina" - -msgid "Macedonian" -msgstr "Makedońšćina" - -msgid "Malayalam" -msgstr "Malajalam" - -msgid "Mongolian" -msgstr "Mongolšćina" - -msgid "Marathi" -msgstr "Marathi" - -msgid "Burmese" -msgstr "Myanmaršćina" - -msgid "Norwegian Bokmål" -msgstr "Norwegski Bokmål" - -msgid "Nepali" -msgstr "Nepalšćina" - -msgid "Dutch" -msgstr "¨Nižozemšćina" - -msgid "Norwegian Nynorsk" -msgstr "Norwegski Nynorsk" - -msgid "Ossetic" -msgstr "Osetšćina" - -msgid "Punjabi" -msgstr "Pundžabi" - -msgid "Polish" -msgstr "Pólšćina" - -msgid "Portuguese" -msgstr "Portugišćina" - -msgid "Brazilian Portuguese" -msgstr "Brazilska portugišćina" - -msgid "Romanian" -msgstr "Rumunšćina" - -msgid "Russian" -msgstr "Rušćina" - -msgid "Slovak" -msgstr "Słowakšćina" - -msgid "Slovenian" -msgstr "Słowjeńšćina" - -msgid "Albanian" -msgstr "Albanšćina" - -msgid "Serbian" -msgstr "Serbišćina" - -msgid "Serbian Latin" -msgstr "Serbišćina, łatyńska" - -msgid "Swedish" -msgstr "Šwedšćina" - -msgid "Swahili" -msgstr "Suahelšćina" - -msgid "Tamil" -msgstr "Tamilšćina" - -msgid "Telugu" -msgstr "Telugu" - -msgid "Tajik" -msgstr "Tadźikišćina" - -msgid "Thai" -msgstr "Thaišćina" - -msgid "Turkmen" -msgstr "Turkmeńšćina" - -msgid "Turkish" -msgstr "Turkojšćina" - -msgid "Tatar" -msgstr "Tataršćina" - -msgid "Udmurt" -msgstr "Udmurtšćina" - -msgid "Ukrainian" -msgstr "Ukrainšćina" - -msgid "Urdu" -msgstr "Urdu" - -msgid "Uzbek" -msgstr "Uzbekšćina" - -msgid "Vietnamese" -msgstr "Vietnamšćina" - -msgid "Simplified Chinese" -msgstr "Zjadnorjona chinšćina" - -msgid "Traditional Chinese" -msgstr "Tradicionelna chinšćina" - -msgid "Messages" -msgstr "Powěsći" - -msgid "Site Maps" -msgstr "Wopśimjeśowy pśeglěd sedła" - -msgid "Static Files" -msgstr "Statiske dataje" - -msgid "Syndication" -msgstr "Syndikacija" - -msgid "That page number is not an integer" -msgstr "Toś ten numer boka njejo ceła licba" - -msgid "That page number is less than 1" -msgstr "Numer boka jo mjeńšy ako 1" - -msgid "That page contains no results" -msgstr "Toś ten bok njewopśimujo wuslědki" - -msgid "Enter a valid value." -msgstr "Zapódajśo płaśiwu gódnotu." - -msgid "Enter a valid URL." -msgstr "Zapódajśo płaśiwy URL." - -msgid "Enter a valid integer." -msgstr "Zapódajśo płaśiwu cełu licbu." - -msgid "Enter a valid email address." -msgstr "Zapódajśo płaśiwu e-mailowu adresu." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" -"Zapódajśo płaśiwe „adresowe mě“, kótarež jano wopśimujo pismiki, licby, " -"pódsmužki abo wězawki." - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" -"Zapódajśo płaśiwe „adresowe mě“, kótarež jano wopśimujo unicodowe pismiki, " -"licby, pódmužki abo wězawki." - -msgid "Enter a valid IPv4 address." -msgstr "Zapódajśo płaśiwu IPv4-adresu." - -msgid "Enter a valid IPv6 address." -msgstr "Zapódajśo płaśiwu IPv6-adresu." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Zapódajśo płaśiwu IPv4- abo IPv6-adresu." - -msgid "Enter only digits separated by commas." -msgstr "Zapódajśo jano cyfry źělone pśez komy." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "Zawěsććo toś tu gódnotu jo %(limit_value)s (jo %(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "" -"Zawěsććo, až toś ta gódnota jo mjeńša ako abo to samske ako %(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "" -"Zawěsććo, až toś ta gódnota jo wětša ako abo to samske ako %(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Zawěsććo, až toś ta gódnota ma nanejmjenjej %(limit_value)d znamuško (ma " -"%(show_value)d)." -msgstr[1] "" -"Zawěsććo, až toś ta gódnota ma nanejmjenjej %(limit_value)d znamušce (ma " -"%(show_value)d)." -msgstr[2] "" -"Zawěsććo, až toś ta gódnota ma nanejmjenjej %(limit_value)d znamuška (ma " -"%(show_value)d)." -msgstr[3] "" -"Zawěsććo, až toś ta gódnota ma nanejmjenjej %(limit_value)d znamuškow (ma " -"%(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Zawěććo, až toś ta gódnota ma maksimalnje %(limit_value)d znamuško (ma " -"%(show_value)d)." -msgstr[1] "" -"Zawěććo, až toś ta gódnota ma maksimalnje %(limit_value)d znamušce (ma " -"%(show_value)d)." -msgstr[2] "" -"Zawěććo, až toś ta gódnota ma maksimalnje %(limit_value)d znamuška (ma " -"%(show_value)d)." -msgstr[3] "" -"Zawěććo, až toś ta gódnota ma maksimalnje %(limit_value)d znamuškow (ma " -"%(show_value)d)." - -msgid "Enter a number." -msgstr "Zapódajśo licbu." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Zawěsććo, až njejo wěcej ako %(max)s cyfry dogromady." -msgstr[1] "Zawěsććo, až njejo wěcej ako %(max)s cyfrowu dogromady." -msgstr[2] "Zawěsććo, až njejo wěcej ako %(max)s cyfrow dogromady." -msgstr[3] "Zawěsććo, až njejo wěcej ako %(max)s cyfrow dogromady." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "Zawěsććo, až njejo wěcej ako %(max)s decimalnego městna." -msgstr[1] "Zawěsććo, až njejo wěcej ako %(max)s decimalneju městnowu." -msgstr[2] "Zawěsććo, až njejo wěcej ako %(max)s decimalnych městnow." -msgstr[3] "Zawěsććo, až njejo wěcej ako %(max)s decimalnych městnow." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "Zawěsććo, až njejo wěcej ako %(max)s cyfry pśed decimalneju komu." -msgstr[1] "Zawěsććo, až njejo wěcej ako %(max)s cyfrowu pśed decimalneju komu." -msgstr[2] "Zawěsććo, až njejo wěcej ako %(max)s cyfrow pśed decimalneju komu." -msgstr[3] "Zawěsććo, až njejo wěcej ako %(max)s cyfrow pśed decimalneju komu." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" -"Datajowy sufiks „%(extension)s“ njejo dowólony. Dowólone sufikse su: " -"%(allowed_extensions)s." - -msgid "Null characters are not allowed." -msgstr "Znamuška nul njejsu dowólone." - -msgid "and" -msgstr "a" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "%(model_name)s z toś tym %(field_labels)s južo eksistěrujo." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "Gódnota %(value)r njejo płaśiwa wóleńska móžnosć." - -msgid "This field cannot be null." -msgstr "Toś to pólo njamóžo nul byś." - -msgid "This field cannot be blank." -msgstr "Toś to pólo njamóžo prozne byś." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s z toś tym %(field_label)s južo eksistěrujo." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(field_label)s musy za %(date_field_label)s %(lookup_type)s jadnorazowy byś." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Typ póla: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "Gódnota „%(value)s“ musy pak True pak False byś." - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "Gódnota „%(value)s“ musy pak True, False pak None byś." - -msgid "Boolean (Either True or False)" -msgstr "Boolean (pak True pak False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Znamuškowy rjeśazk (až %(max_length)s)" - -msgid "Comma-separated integers" -msgstr "Pśez komu źělone cełe licby" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" -"Gódnota „%(value)s“ ma njepłaśiwy datumowy format. Musy we formaśe DD.MM." -"YYYY byś." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" -"Gódnota „%(value)s“ ma korektny format (DD.MM.YYYY), ale jo njepłaśiwy datum." - -msgid "Date (without time)" -msgstr "Datum (bźez casa)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" -"Gódnota „%(value)s“ ma njepłaśiwy format. Musy w formaśe DD.MM.YYYY HH:MM[:" -"ss[.uuuuuu]][TZ] byś." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" -"Gódnota „%(value)s“ ma korektny format (DD.MM.YYYY HH:MM[:ss[.uuuuuu]][TZ]), " -"ale jo njepłaśiwy datum/cas." - -msgid "Date (with time)" -msgstr "Datum (z casom)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "Gódnota „%(value)s“ musy decimalna licba byś." - -msgid "Decimal number" -msgstr "Decimalna licba" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" -"Gódnota „%(value)s“ ma njepłaśiwy format. Musy we formaśe [DD] " -"[[HH:]MM:]ss[.uuuuuu] byś." - -msgid "Duration" -msgstr "Traśe" - -msgid "Email address" -msgstr "E-mailowa adresa" - -msgid "File path" -msgstr "Datajowa sćažka" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "Gódnota „%(value)s“ musy typ float měś." - -msgid "Floating point number" -msgstr "Licba běžeceje komy" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "Gódnota „%(value)s“ musy ceła licba byś." - -msgid "Integer" -msgstr "Integer" - -msgid "Big (8 byte) integer" -msgstr "Big (8 bajtow) integer" - -msgid "IPv4 address" -msgstr "IPv4-adresa" - -msgid "IP address" -msgstr "IP-adresa" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "Gódnota „%(value)s“ musy pak None, True pak False byś." - -msgid "Boolean (Either True, False or None)" -msgstr "Boolean (pak True, False pak None)" - -msgid "Positive big integer" -msgstr "Pozitiwna wjelika ceła licba" - -msgid "Positive integer" -msgstr "Pozitiwna ceła licba" - -msgid "Positive small integer" -msgstr "Pozitiwna mała ceła licba" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Adresowe mě (až %(max_length)s)" - -msgid "Small integer" -msgstr "Mała ceła licba" - -msgid "Text" -msgstr "Tekst" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" -"Gódnota „%(value)s“ ma njepłaśiwy format. Musy w formaśe HH:MM[:ss[." -"uuuuuu]] byś." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" -"Gódnota „%(value)s“ ma korektny format (HH:MM[:ss[.uuuuuu]]), ale jo " -"njepłaśiwy cas." - -msgid "Time" -msgstr "Cas" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Gropne binarne daty" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "„%(value)s“ njejo płaśiwy UUID." - -msgid "Universally unique identifier" -msgstr "Uniwerselnje jadnorazowy identifikator" - -msgid "File" -msgstr "Dataja" - -msgid "Image" -msgstr "Woraz" - -msgid "A JSON object" -msgstr "JSON-objekt" - -msgid "Value must be valid JSON." -msgstr "Gódnota musy płaśiwy JSON byś." - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "Instanca %(model)s z %(field)s %(value)r njeeksistěrujo." - -msgid "Foreign Key (type determined by related field)" -msgstr "Cuzy kluc (typ póstaja se pśez wótpowědne pólo)" - -msgid "One-to-one relationship" -msgstr "Póśěg jaden jaden" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "Póśěg %(from)s-%(to)s" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "Póśěgi %(from)s-%(to)s" - -msgid "Many-to-many relationship" -msgstr "Póśěg wjele wjele" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Toś to pólo jo trěbne." - -msgid "Enter a whole number." -msgstr "Zapódajśo cełu licbu." - -msgid "Enter a valid date." -msgstr "Zapódajśo płaśiwy datum." - -msgid "Enter a valid time." -msgstr "Zapódajśo płaśiwy cas." - -msgid "Enter a valid date/time." -msgstr "Zapódajśo płaśiwy datum/cas." - -msgid "Enter a valid duration." -msgstr "Zapódaśe płaśiwe traśe." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "Licba dnjow musy mjazy {min_days} a {max_days} byś." - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "" -"Dataja njejo se wótpósłała. Pśeglědujśo koděrowański typ na formularje. " - -msgid "No file was submitted." -msgstr "Žedna dataja jo se wótpósłała." - -msgid "The submitted file is empty." -msgstr "Wótpósłana dataja jo prozna." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Zawěsććo, až toś to datajowe mě ma maksimalnje %(max)d znamuško (ma " -"%(length)d)." -msgstr[1] "" -"Zawěsććo, až toś to datajowe mě ma maksimalnje %(max)d znamušce (ma " -"%(length)d)." -msgstr[2] "" -"Zawěsććo, až toś to datajowe mě ma maksimalnje %(max)d znamuška (ma " -"%(length)d)." -msgstr[3] "" -"Zawěsććo, až toś to datajowe mě ma maksimalnje %(max)d znamuškow (ma " -"%(length)d)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" -"Pšosym pak wótpósćelśo dataju pak stajśo kokulku do kontrolnego kašćika, " -"njecyńśo wobej." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Nagrajśo płaśiwy wobraz. Dataja, kótaruž sćo nagrał, pak njejo wobraz był " -"pak jo wobškóźony wobraz." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "" -"Wubjeŕśo płaśiwu wóleńsku móžnosć. %(value)s njejo jadna z k dispoziciji " -"stojecych wóleńskich móžnosćow." - -msgid "Enter a list of values." -msgstr "Zapódajśo lisćinu gódnotow." - -msgid "Enter a complete value." -msgstr "Zapódajśo dopołnu gódnotu." - -msgid "Enter a valid UUID." -msgstr "Zapódajśo płaśiwy UUID." - -msgid "Enter a valid JSON." -msgstr "Zapódajśo płaśiwy JSON." - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Schowane pólo %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "Daty ManagementForm feluju abo su sfalšowane" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Pšosym wótposćelśo %d formular." -msgstr[1] "Pšosym wótposćelśo %d formulara abo mjenjej." -msgstr[2] "Pšosym wótposćelśo %d formulary abo mjenjej." -msgstr[3] "Pšosym wótposćelśo %d formularow abo mjenjej." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "Pšosym wótposćelśo %d formular abo wěcej." -msgstr[1] "Pšosym wótposćelśo %d formulara abo wěcej." -msgstr[2] "Pšosym wótposćelśo %d formulary abo wěcej." -msgstr[3] "Pšosym wótposćelśo %d formularow abo wěcej." - -msgid "Order" -msgstr "Rěd" - -msgid "Delete" -msgstr "Lašowaś" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Pšosym korigěrujśo dwójne daty za %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"Pšosym korigěrujśo dwójne daty za %(field)s, kótarež muse jadnorazowe byś." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Pšosym korigěrujśo dwójne daty za %(field_name)s, kótarež muse za %(lookup)s " -"w %(date_field)s jadnorazowe byś." - -msgid "Please correct the duplicate values below." -msgstr "Pšosym korigěrujśo slědujuce dwójne gódnoty." - -msgid "The inline value did not match the parent instance." -msgstr "Gódnota inline nadrědowanej instance njewótpowědujo." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" -"Wubjeŕśo płaśiwu wóleńsku móžnosć. Toś ta wóleńska móžnosć njejo žedna z " -"wóleńskich móžnosćow." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "„%(pk)s“ njejo płaśiwa gódnota." - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" -"%(datetime)s njedajo se w casowej conje %(current_timezone)s " -"interpretěrowaś; jo dwójozmysłowy abo snaź njeeksistěrujo." - -msgid "Clear" -msgstr "Lašowaś" - -msgid "Currently" -msgstr "Tuchylu" - -msgid "Change" -msgstr "Změniś" - -msgid "Unknown" -msgstr "Njeznaty" - -msgid "Yes" -msgstr "Jo" - -msgid "No" -msgstr "Ně" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "jo,ně,snaź" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d bajt" -msgstr[1] "%(size)d bajta" -msgstr[2] "%(size)d bajty" -msgstr[3] "%(size)d bajtow" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "wótpołdnja" - -msgid "a.m." -msgstr "dopołdnja" - -msgid "PM" -msgstr "wótpołdnja" - -msgid "AM" -msgstr "dopołdnja" - -msgid "midnight" -msgstr "połnoc" - -msgid "noon" -msgstr "połdnjo" - -msgid "Monday" -msgstr "Pónjeźele" - -msgid "Tuesday" -msgstr "Wałtora" - -msgid "Wednesday" -msgstr "Srjoda" - -msgid "Thursday" -msgstr "Stwórtk" - -msgid "Friday" -msgstr "Pětk" - -msgid "Saturday" -msgstr "Sobota" - -msgid "Sunday" -msgstr "Njeźela" - -msgid "Mon" -msgstr "Pón" - -msgid "Tue" -msgstr "Wał" - -msgid "Wed" -msgstr "Srj" - -msgid "Thu" -msgstr "Stw" - -msgid "Fri" -msgstr "Pět" - -msgid "Sat" -msgstr "Sob" - -msgid "Sun" -msgstr "Nje" - -msgid "January" -msgstr "Januar" - -msgid "February" -msgstr "Februar" - -msgid "March" -msgstr "Měrc" - -msgid "April" -msgstr "Apryl" - -msgid "May" -msgstr "Maj" - -msgid "June" -msgstr "Junij" - -msgid "July" -msgstr "Julij" - -msgid "August" -msgstr "Awgust" - -msgid "September" -msgstr "September" - -msgid "October" -msgstr "Oktober" - -msgid "November" -msgstr "Nowember" - -msgid "December" -msgstr "December" - -msgid "jan" -msgstr "jan" - -msgid "feb" -msgstr "feb" - -msgid "mar" -msgstr "měr" - -msgid "apr" -msgstr "apr" - -msgid "may" -msgstr "maj" - -msgid "jun" -msgstr "jun" - -msgid "jul" -msgstr "jul" - -msgid "aug" -msgstr "awg" - -msgid "sep" -msgstr "sep" - -msgid "oct" -msgstr "okt" - -msgid "nov" -msgstr "now" - -msgid "dec" -msgstr "dec" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Jan." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Feb." - -msgctxt "abbrev. month" -msgid "March" -msgstr "Měrc" - -msgctxt "abbrev. month" -msgid "April" -msgstr "Apryl" - -msgctxt "abbrev. month" -msgid "May" -msgstr "Maj" - -msgctxt "abbrev. month" -msgid "June" -msgstr "Junij" - -msgctxt "abbrev. month" -msgid "July" -msgstr "Julij" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Awg." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Sept." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Okt." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Now." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Dec." - -msgctxt "alt. month" -msgid "January" -msgstr "Januar" - -msgctxt "alt. month" -msgid "February" -msgstr "Februar" - -msgctxt "alt. month" -msgid "March" -msgstr "Měrc" - -msgctxt "alt. month" -msgid "April" -msgstr "Apryl" - -msgctxt "alt. month" -msgid "May" -msgstr "Maj" - -msgctxt "alt. month" -msgid "June" -msgstr "Junij" - -msgctxt "alt. month" -msgid "July" -msgstr "Julij" - -msgctxt "alt. month" -msgid "August" -msgstr "Awgust" - -msgctxt "alt. month" -msgid "September" -msgstr "September" - -msgctxt "alt. month" -msgid "October" -msgstr "Oktober" - -msgctxt "alt. month" -msgid "November" -msgstr "Nowember" - -msgctxt "alt. month" -msgid "December" -msgstr "December" - -msgid "This is not a valid IPv6 address." -msgstr "To njejo płaśiwa IPv6-adresa." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s…" - -msgid "or" -msgstr "abo" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d lěto" -msgstr[1] "%d lěśe" -msgstr[2] "%d lěta" -msgstr[3] "%d lět" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d mjasec" -msgstr[1] "%d mjaseca" -msgstr[2] "%d mjasece" -msgstr[3] "%d mjasecow" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d tyźeń" -msgstr[1] "%d tyéznja" -msgstr[2] "%d tyźenje" -msgstr[3] "%d tyźenjow" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d źeń" -msgstr[1] "%d dnja" -msgstr[2] "%d dny" -msgstr[3] "%d dnjow" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d góźina" -msgstr[1] "%d góźinje" -msgstr[2] "%d góźiny" -msgstr[3] "%d góźin" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d minuta" -msgstr[1] "%d minuśe" -msgstr[2] "%d minuty" -msgstr[3] "%d minutow" - -msgid "Forbidden" -msgstr "Zakazany" - -msgid "CSRF verification failed. Request aborted." -msgstr "CSRF-pśeglědanje njejo se raźiło. Napšašowanje jo se pśetergnuło." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" -"Wiźiśo toś tu powěźeńku, dokulaž toś to HTTPS-sedło trjeba głowu 'Referer', " -"aby se pśez waš webwobglědowak słało, ale žedna njejo se pósłała. Toś ta " -"głowa jo trěbna z pśicynow wěstoty, aby so zawěsćiło, až waš wobglědowak " -"njekaprujo se wót tśeśich." - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" -"Jolic sćo swój wobglědowak tak konfigurěrował, aby se głowy 'Referer' " -"znjemóžnili, zmóžniśo je pšosym zasej, nanejmjenjej za toś to sedło, za " -"HTTPS-zwiski abo za napšašowanja 'same-origin'." - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" -"Jolic woznamjenje wužywaśo " -"abo głowu „Referrer-Policy: no-referrer“ zapśimujośo, wótwónoźćo je. CSRF-" -"šćit pomina se głowu „Referer“, aby striktnu kontrolu referera pśewjasć. " -"Jolic se wó swóju priwatnosć staraśo, wužywajśo alternatiwy ako za wótkazy k sedłam tśeśich." - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Wiźiśo toś tu powěźeńku, dokulaž toś to HTTPS-sedło trjeba CSRF-cookie, aby " -"formulary wótpósłało. Toś ten cookie jo trěbna z pśicynow wěstoty, aby so " -"zawěsćiło, až waš wobglědowak njekaprujo se wót tśeśich." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" -"Jolic sćo swój wobglědowak tak konfigurěrował, aby cookieje znjemóžnili, " -"zmóžniśo je pšosym zasej, nanejmjenjej za toś to sedło abo za napšašowanja " -"„same-origin“." - -msgid "More information is available with DEBUG=True." -msgstr "Dalšne informacije su k dispoziciji z DEBUG=True." - -msgid "No year specified" -msgstr "Žedno lěto pódane" - -msgid "Date out of range" -msgstr "Datum zwenka wobcerka" - -msgid "No month specified" -msgstr "Žeden mjasec pódany" - -msgid "No day specified" -msgstr "Žeden źeń pódany" - -msgid "No week specified" -msgstr "Žeden tyźeń pódany" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "Žedne %(verbose_name_plural)s k dispoziciji" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"Pśichodne %(verbose_name_plural)s njejo k dispoziciji, dokulaž " -"%(class_name)s.allow_future jo False." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" -"Njepłaśiwy „%(format)s“ za datumowy znamuškowy rjeśazk „%(datestr)s“ pódany" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Žedno %(verbose_name)s namakane, kótarež wótpowědujo napšašowanjeju." - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "Bok njejo „last“, ani njedajo se do „int“ konwertěrowaś." - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Njepłaśiwy bok (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "Prozna lisćina a „%(class_name)s.allow_empty“ jo False." - -msgid "Directory indexes are not allowed here." -msgstr "Zapisowe indekse njejsu how dowólone." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "„%(path)s“ njeeksistěrujo" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Indeks %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "Django? Web-framework za perfekcionisty z terminami." - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"Wersijowe informacije za Django %(version)s " -"pokazaś" - -msgid "The install worked successfully! Congratulations!" -msgstr "Instalacija jo była wuspěšna! Gratulacija!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"Wiźiśo toś ten bok, dokulaž DEBUG=True jo w swójej dataji nastajenjow a njejsćo konfigurěrował " -"URL." - -msgid "Django Documentation" -msgstr "Dokumentacija Django" - -msgid "Topics, references, & how-to’s" -msgstr "Temy, reference a rozpokazanja" - -msgid "Tutorial: A Polling App" -msgstr "Rozpokazanje: Napšašowańske nałoženje" - -msgid "Get started with Django" -msgstr "Prědne kšace z Django" - -msgid "Django Community" -msgstr "Zgromaźeństwo Django" - -msgid "Connect, get help, or contribute" -msgstr "Zwězajśo, wobsarajśo se pomoc abo źěłajśo sobu" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/el/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/el/LC_MESSAGES/django.mo deleted file mode 100644 index 30fd8296..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/el/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/el/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/el/LC_MESSAGES/django.po deleted file mode 100644 index 79d592aa..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/el/LC_MESSAGES/django.po +++ /dev/null @@ -1,1269 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Apostolis Bessas , 2013 -# Dimitris Glezos , 2011,2013,2017 -# Giannis Meletakis , 2015 -# Jannis Leidel , 2011 -# Nick Mavrakis , 2017-2019 -# Nikolas Demiridis , 2014 -# Nick Mavrakis , 2016 -# Pãnoș , 2014 -# Pãnoș , 2016 -# Serafeim Papastefanos , 2016 -# Stavros Korokithakis , 2014,2016 -# Yorgos Pagles , 2011-2012 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-27 22:40+0200\n" -"PO-Revision-Date: 2019-11-05 00:38+0000\n" -"Last-Translator: Ramiro Morales\n" -"Language-Team: Greek (http://www.transifex.com/django/django/language/el/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: el\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "Afrikaans" -msgstr "Αφρικάνς" - -msgid "Arabic" -msgstr "Αραβικά" - -msgid "Asturian" -msgstr "Αστούριας" - -msgid "Azerbaijani" -msgstr "Γλώσσα Αζερμπαϊτζάν" - -msgid "Bulgarian" -msgstr "Βουλγαρικά" - -msgid "Belarusian" -msgstr "Λευκορώσικα" - -msgid "Bengali" -msgstr "Μπενγκάλι" - -msgid "Breton" -msgstr "Βρετονικά" - -msgid "Bosnian" -msgstr "Βοσνιακά" - -msgid "Catalan" -msgstr "Καταλανικά" - -msgid "Czech" -msgstr "Τσέχικα" - -msgid "Welsh" -msgstr "Ουαλικά" - -msgid "Danish" -msgstr "Δανέζικα" - -msgid "German" -msgstr "Γερμανικά" - -msgid "Lower Sorbian" -msgstr "Κάτω Σορβικά" - -msgid "Greek" -msgstr "Ελληνικά" - -msgid "English" -msgstr "Αγγλικά" - -msgid "Australian English" -msgstr "Αγγλικά Αυστραλίας" - -msgid "British English" -msgstr "Αγγλικά Βρετανίας" - -msgid "Esperanto" -msgstr "Εσπεράντο" - -msgid "Spanish" -msgstr "Ισπανικά" - -msgid "Argentinian Spanish" -msgstr "Ισπανικά Αργεντινής" - -msgid "Colombian Spanish" -msgstr "Ισπανικά Κολομβίας" - -msgid "Mexican Spanish" -msgstr "Μεξικανική διάλεκτος Ισπανικών" - -msgid "Nicaraguan Spanish" -msgstr "Ισπανικά Νικαράγουας " - -msgid "Venezuelan Spanish" -msgstr "Ισπανικά Βενεζουέλας" - -msgid "Estonian" -msgstr "Εσθονικά" - -msgid "Basque" -msgstr "Βάσκικα" - -msgid "Persian" -msgstr "Περσικά" - -msgid "Finnish" -msgstr "Φινλανδικά" - -msgid "French" -msgstr "Γαλλικά" - -msgid "Frisian" -msgstr "Frisian" - -msgid "Irish" -msgstr "Ιρλανδικά" - -msgid "Scottish Gaelic" -msgstr "Σκωτσέζικα Γαελικά" - -msgid "Galician" -msgstr "Γαελικά" - -msgid "Hebrew" -msgstr "Εβραϊκά" - -msgid "Hindi" -msgstr "Ινδικά" - -msgid "Croatian" -msgstr "Κροατικά" - -msgid "Upper Sorbian" -msgstr "Άνω Σορβικά" - -msgid "Hungarian" -msgstr "Ουγγρικά" - -msgid "Armenian" -msgstr "Αρμενικά" - -msgid "Interlingua" -msgstr "Ιντερλίνγκουα" - -msgid "Indonesian" -msgstr "Ινδονησιακά" - -msgid "Ido" -msgstr "Ίντο" - -msgid "Icelandic" -msgstr "Ισλανδικά" - -msgid "Italian" -msgstr "Ιταλικά" - -msgid "Japanese" -msgstr "Γιαπωνέζικα" - -msgid "Georgian" -msgstr "Γεωργιανά" - -msgid "Kabyle" -msgstr "Kabyle" - -msgid "Kazakh" -msgstr "Καζακστά" - -msgid "Khmer" -msgstr "Χμερ" - -msgid "Kannada" -msgstr "Κανάντα" - -msgid "Korean" -msgstr "Κορεάτικα" - -msgid "Luxembourgish" -msgstr "Λουξεμβουργιανά" - -msgid "Lithuanian" -msgstr "Λιθουανικά" - -msgid "Latvian" -msgstr "Λεττονικά" - -msgid "Macedonian" -msgstr "Μακεδονικά" - -msgid "Malayalam" -msgstr "Μαλαγιαλάμ" - -msgid "Mongolian" -msgstr "Μογγολικά" - -msgid "Marathi" -msgstr "Μαράθι" - -msgid "Burmese" -msgstr "Βιρμανικά" - -msgid "Norwegian Bokmål" -msgstr "Νορβηγικά Μποκμάλ" - -msgid "Nepali" -msgstr "Νεπαλέζικα" - -msgid "Dutch" -msgstr "Ολλανδικά" - -msgid "Norwegian Nynorsk" -msgstr "Νορβηγική διάλεκτος Nynorsk - Νεονορβηγική" - -msgid "Ossetic" -msgstr "Οσσετικά" - -msgid "Punjabi" -msgstr "Πουντζάμπι" - -msgid "Polish" -msgstr "Πολωνικά" - -msgid "Portuguese" -msgstr "Πορτογαλικά" - -msgid "Brazilian Portuguese" -msgstr "Πορτογαλικά - διάλεκτος Βραζιλίας" - -msgid "Romanian" -msgstr "Ρουμανικά" - -msgid "Russian" -msgstr "Ρωσικά" - -msgid "Slovak" -msgstr "Σλοβακικά" - -msgid "Slovenian" -msgstr "Σλοβενικά" - -msgid "Albanian" -msgstr "Αλβανικά" - -msgid "Serbian" -msgstr "Σερβικά" - -msgid "Serbian Latin" -msgstr "Σέρβικα Λατινικά" - -msgid "Swedish" -msgstr "Σουηδικά" - -msgid "Swahili" -msgstr "Σουαχίλι" - -msgid "Tamil" -msgstr "Διάλεκτος Ταμίλ" - -msgid "Telugu" -msgstr "Τελούγκου" - -msgid "Thai" -msgstr "Ταϊλάνδης" - -msgid "Turkish" -msgstr "Τουρκικά" - -msgid "Tatar" -msgstr "Ταταρικά" - -msgid "Udmurt" -msgstr "Ουντμουρτικά" - -msgid "Ukrainian" -msgstr "Ουκρανικά" - -msgid "Urdu" -msgstr "Urdu" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "Βιετναμέζικα" - -msgid "Simplified Chinese" -msgstr "Απλοποιημένα Κινέζικα" - -msgid "Traditional Chinese" -msgstr "Παραδοσιακά Κινέζικα" - -msgid "Messages" -msgstr "Μηνύματα" - -msgid "Site Maps" -msgstr "Χάρτες Ιστότοπου" - -msgid "Static Files" -msgstr "Στατικά Αρχεία" - -msgid "Syndication" -msgstr "Syndication" - -msgid "That page number is not an integer" -msgstr "Ο αριθμός αυτής της σελίδας δεν είναι ακέραιος" - -msgid "That page number is less than 1" -msgstr "Ο αριθμός αυτής της σελίδας είναι μικρότερος του 1" - -msgid "That page contains no results" -msgstr "Η σελίδα αυτή δεν περιέχει αποτελέσματα" - -msgid "Enter a valid value." -msgstr "Εισάγετε μια έγκυρη τιμή." - -msgid "Enter a valid URL." -msgstr "Εισάγετε ένα έγκυρο URL." - -msgid "Enter a valid integer." -msgstr "Εισάγετε έναν έγκυρο ακέραιο." - -msgid "Enter a valid email address." -msgstr "Εισάγετε μια έγκυρη διεύθυνση ηλ. ταχυδρομείου." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "Εισάγετε μια έγκυρη IPv4 διεύθυνση." - -msgid "Enter a valid IPv6 address." -msgstr "Εισάγετε μία έγκυρη IPv6 διεύθυνση" - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Εισάγετε μία έγκυρη IPv4 ή IPv6 διεύθυνση" - -msgid "Enter only digits separated by commas." -msgstr "Εισάγετε μόνο ψηφία χωρισμένα με κόμματα." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" -"Βεβαιωθείτε ότι η τιμή είναι %(limit_value)s (η τιμή που καταχωρήσατε είναι " -"%(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Βεβαιωθείτε ότι η τιμή είναι μικρότερη ή ίση από %(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Βεβαιωθείτε ότι η τιμή είναι μεγαλύτερη ή ίση από %(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Βεβαιωθείται πως η τιμή αυτή έχει τουλάχιστον %(limit_value)d χαρακτήρες " -"(έχει %(show_value)d)." -msgstr[1] "" -"Βεβαιωθείτε πως η τιμή έχει τουλάχιστον %(limit_value)d χαρακτήρες (έχει " -"%(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Βεβαιωθείται πως η τιμή αυτή έχει τοπολύ %(limit_value)d χαρακτήρες (έχει " -"%(show_value)d)." -msgstr[1] "" -"Βεβαιωθείτε πως η τιμή έχει το πολύ %(limit_value)d χαρακτήρες (έχει " -"%(show_value)d)." - -msgid "Enter a number." -msgstr "Εισάγετε έναν αριθμό." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "" -"Σιγουρευτείτε οτι τα σύνολο των ψηφίων δεν είναι παραπάνω από %(max)s" -msgstr[1] "" -"Σιγουρευτείτε οτι τα σύνολο των ψηφίων δεν είναι παραπάνω από %(max)s" - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "Σιγουρευτείτε ότι το δεκαδικό ψηφίο δεν είναι παραπάνω από %(max)s." -msgstr[1] "Σιγουρευτείτε ότι τα δεκαδικά ψηφία δεν είναι παραπάνω από %(max)s." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -"Βεβαιωθείτε ότι δεν υπάρχουν πάνω από %(max)s ψηφία πριν την υποδιαστολή." -msgstr[1] "" -"Βεβαιωθείτε ότι δεν υπάρχουν πάνω από %(max)s ψηφία πριν την υποδιαστολή." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "Δεν επιτρέπονται null (μηδενικοί) χαρακτήρες" - -msgid "and" -msgstr "και" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "%(model_name)s με αυτή την %(field_labels)s υπάρχει ήδη." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "Η τιμή %(value)r δεν είναι έγκυρη επιλογή." - -msgid "This field cannot be null." -msgstr "Το πεδίο αυτό δεν μπορεί να είναι μηδενικό (null)." - -msgid "This field cannot be blank." -msgstr "Το πεδίο αυτό δεν μπορεί να είναι κενό." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s με αυτό το %(field_label)s υπάρχει ήδη." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(field_label)s πρέπει να είναι μοναδική για %(date_field_label)s " -"%(lookup_type)s." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Πεδίο τύπου: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "Boolean (Είτε Αληθές ή Ψευδές)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Συμβολοσειρά (μέχρι %(max_length)s)" - -msgid "Comma-separated integers" -msgstr "Ακέραιοι χωρισμένοι με κόμματα" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "Ημερομηνία (χωρίς την ώρα)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "Ημερομηνία (με ώρα)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "Δεκαδικός αριθμός" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "Διάρκεια" - -msgid "Email address" -msgstr "Ηλεκτρονική διεύθυνση" - -msgid "File path" -msgstr "Τοποθεσία αρχείου" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "Αριθμός κινητής υποδιαστολής" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "Ακέραιος" - -msgid "Big (8 byte) integer" -msgstr "Μεγάλος ακέραιος - big integer (8 bytes)" - -msgid "IPv4 address" -msgstr "Διεύθυνση IPv4" - -msgid "IP address" -msgstr "IP διεύθυνση" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "Boolean (Αληθές, Ψευδές, ή τίποτα)" - -msgid "Positive integer" -msgstr "Θετικός ακέραιος" - -msgid "Positive small integer" -msgstr "Θετικός μικρός ακέραιος" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Slug (μέχρι %(max_length)s)" - -msgid "Small integer" -msgstr "Μικρός ακέραιος" - -msgid "Text" -msgstr "Κείμενο" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "Ώρα" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Δυαδικά δεδομένα" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "Καθολικά μοναδικό αναγνωριστικό" - -msgid "File" -msgstr "Αρχείο" - -msgid "Image" -msgstr "Εικόνα" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "" -"Το μοντέλο %(model)s με την τιμή %(value)r του πεδίου %(field)s δεν υπάρχει." - -msgid "Foreign Key (type determined by related field)" -msgstr "Foreign Key (ο τύπος καθορίζεται από το πεδίο του συσχετισμού)" - -msgid "One-to-one relationship" -msgstr "Σχέση ένα-προς-ένα" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "σχέση %(from)s-%(to)s" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "σχέσεις %(from)s-%(to)s" - -msgid "Many-to-many relationship" -msgstr "Σχέση πολλά-προς-πολλά" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Αυτό το πεδίο είναι απαραίτητο." - -msgid "Enter a whole number." -msgstr "Εισάγετε έναν ακέραιο αριθμό." - -msgid "Enter a valid date." -msgstr "Εισάγετε μια έγκυρη ημερομηνία." - -msgid "Enter a valid time." -msgstr "Εισάγετε μια έγκυρη ώρα." - -msgid "Enter a valid date/time." -msgstr "Εισάγετε μια έγκυρη ημερομηνία/ώρα." - -msgid "Enter a valid duration." -msgstr "Εισάγετε μια έγκυρη διάρκεια." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "Ο αριθμός των ημερών πρέπει να είναι μεταξύ {min_days} και {max_days}." - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "" -"Δεν έχει υποβληθεί κάποιο αρχείο. Ελέγξτε τον τύπο κωδικοποίησης στη φόρμα." - -msgid "No file was submitted." -msgstr "Δεν υποβλήθηκε κάποιο αρχείο." - -msgid "The submitted file is empty." -msgstr "Το αρχείο που υποβλήθηκε είναι κενό." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Βεβαιωθείται πως το όνομα του αρχείου έχει το πολύ %(max)d χαρακτήρα (το " -"παρόν έχει %(length)d)." -msgstr[1] "" -"Βεβαιωθείται πως το όνομα του αρχείου έχει το πολύ %(max)d χαρακτήρα (το " -"παρόν έχει %(length)d)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" -"Βεβαιωθείτε ότι είτε έχετε επιλέξει ένα αρχείο για αποστολή είτε έχετε " -"επιλέξει την εκκαθάριση του πεδίου. Δεν είναι δυνατή η επιλογή και των δύο " -"ταυτοχρόνως." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Βεβαιωθείτε ότι το αρχείο που έχετε επιλέξει για αποστολή είναι αρχείο " -"εικόνας. Το τρέχον είτε δεν ήταν εικόνα είτε έχει υποστεί φθορά." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "" -"Βεβαιωθείτε ότι έχετε επιλέξει μία έγκυρη επιλογή. Η τιμή %(value)s δεν " -"είναι διαθέσιμη προς επιλογή." - -msgid "Enter a list of values." -msgstr "Εισάγετε μια λίστα τιμών." - -msgid "Enter a complete value." -msgstr "Εισάγετε μια πλήρης τιμή" - -msgid "Enter a valid UUID." -msgstr "Εισάγετε μια έγκυρη UUID." - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Κρυφό πεδίο %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "Τα δεδομένα του ManagementForm λείπουν ή έχουν αλλοιωθεί" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Παρακαλώ υποβάλλετε %d ή λιγότερες φόρμες." -msgstr[1] "Παρακαλώ υποβάλλετε %d ή λιγότερες φόρμες." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "Παρακαλώ υποβάλλετε %d ή περισσότερες φόρμες." -msgstr[1] "Παρακαλώ υποβάλλετε %d ή περισσότερες φόρμες." - -msgid "Order" -msgstr "Ταξινόμηση" - -msgid "Delete" -msgstr "Διαγραφή" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Στο %(field)s έχετε ξαναεισάγει τα ίδια δεδομένα." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"Στο %(field)s έχετε ξαναεισάγει τα ίδια δεδομένα. Θα πρέπει να εμφανίζονται " -"μία φορά. " - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Στο %(field_name)s έχετε ξαναεισάγει τα ίδια δεδομένα. Θα πρέπει να " -"εμφανίζονται μία φορά για το %(lookup)s στο %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "Έχετε ξαναεισάγει την ίδια τιμη. Βεβαιωθείτε ότι είναι μοναδική." - -msgid "The inline value did not match the parent instance." -msgstr "Η τιμή δεν είναι ίση με την αντίστοιχη τιμή του γονικού object." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" -"Επιλέξτε μια έγκυρη επιλογή. Η επιλογή αυτή δεν είναι μία από τις διαθέσιμες " -"επιλογές." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "Εκκαθάριση" - -msgid "Currently" -msgstr "Τώρα" - -msgid "Change" -msgstr "Επεξεργασία" - -msgid "Unknown" -msgstr "Άγνωστο" - -msgid "Yes" -msgstr "Ναι" - -msgid "No" -msgstr "Όχι" - -msgid "Year" -msgstr "" - -msgid "Month" -msgstr "" - -msgid "Day" -msgstr "" - -msgid "yes,no,maybe" -msgstr "ναι,όχι,ίσως" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d bytes" -msgstr[1] "%(size)d bytes" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "μμ." - -msgid "a.m." -msgstr "πμ." - -msgid "PM" -msgstr "ΜΜ" - -msgid "AM" -msgstr "ΠΜ" - -msgid "midnight" -msgstr "μεσάνυχτα" - -msgid "noon" -msgstr "μεσημέρι" - -msgid "Monday" -msgstr "Δευτέρα" - -msgid "Tuesday" -msgstr "Τρίτη" - -msgid "Wednesday" -msgstr "Τετάρτη" - -msgid "Thursday" -msgstr "Πέμπτη" - -msgid "Friday" -msgstr "Παρασκευή" - -msgid "Saturday" -msgstr "Σάββατο" - -msgid "Sunday" -msgstr "Κυριακή" - -msgid "Mon" -msgstr "Δευ" - -msgid "Tue" -msgstr "Τρί" - -msgid "Wed" -msgstr "Τετ" - -msgid "Thu" -msgstr "Πέμ" - -msgid "Fri" -msgstr "Παρ" - -msgid "Sat" -msgstr "Σαβ" - -msgid "Sun" -msgstr "Κυρ" - -msgid "January" -msgstr "Ιανουάριος" - -msgid "February" -msgstr "Φεβρουάριος" - -msgid "March" -msgstr "Μάρτιος" - -msgid "April" -msgstr "Απρίλιος" - -msgid "May" -msgstr "Μάιος" - -msgid "June" -msgstr "Ιούνιος" - -msgid "July" -msgstr "Ιούλιος" - -msgid "August" -msgstr "Αύγουστος" - -msgid "September" -msgstr "Σεπτέμβριος" - -msgid "October" -msgstr "Οκτώβριος" - -msgid "November" -msgstr "Νοέμβριος" - -msgid "December" -msgstr "Δεκέμβριος" - -msgid "jan" -msgstr "Ιαν" - -msgid "feb" -msgstr "Φεβ" - -msgid "mar" -msgstr "Μάρ" - -msgid "apr" -msgstr "Απρ" - -msgid "may" -msgstr "Μάι" - -msgid "jun" -msgstr "Ιούν" - -msgid "jul" -msgstr "Ιούλ" - -msgid "aug" -msgstr "Αύγ" - -msgid "sep" -msgstr "Σεπ" - -msgid "oct" -msgstr "Οκτ" - -msgid "nov" -msgstr "Νοέ" - -msgid "dec" -msgstr "Δεκ" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Ιαν." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Φεβ." - -msgctxt "abbrev. month" -msgid "March" -msgstr "Μάρτιος" - -msgctxt "abbrev. month" -msgid "April" -msgstr "Απρίλ." - -msgctxt "abbrev. month" -msgid "May" -msgstr "Μάιος" - -msgctxt "abbrev. month" -msgid "June" -msgstr "Ιούν." - -msgctxt "abbrev. month" -msgid "July" -msgstr "Ιούλ." - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Αύγ." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Σεπτ." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Οκτ." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Νοέμ." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Δεκ." - -msgctxt "alt. month" -msgid "January" -msgstr "Ιανουαρίου" - -msgctxt "alt. month" -msgid "February" -msgstr "Φεβρουαρίου" - -msgctxt "alt. month" -msgid "March" -msgstr "Μαρτίου" - -msgctxt "alt. month" -msgid "April" -msgstr "Απριλίου" - -msgctxt "alt. month" -msgid "May" -msgstr "Μαΐου" - -msgctxt "alt. month" -msgid "June" -msgstr "Ιουνίου" - -msgctxt "alt. month" -msgid "July" -msgstr "Ιουλίου" - -msgctxt "alt. month" -msgid "August" -msgstr "Αυγούστου" - -msgctxt "alt. month" -msgid "September" -msgstr "Σεπτεμβρίου" - -msgctxt "alt. month" -msgid "October" -msgstr "Οκτωβρίου" - -msgctxt "alt. month" -msgid "November" -msgstr "Νοεμβρίου" - -msgctxt "alt. month" -msgid "December" -msgstr "Δεκεμβρίου" - -msgid "This is not a valid IPv6 address." -msgstr "Αυτή δεν είναι έγκυρη διεύθυνση IPv6." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s…" - -msgid "or" -msgstr "ή" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d χρόνος" -msgstr[1] "%d χρόνια" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d μήνας" -msgstr[1] "%d μήνες" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d βδομάδα" -msgstr[1] "%d βδομάδες" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d μέρα" -msgstr[1] "%d μέρες" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d ώρα" -msgstr[1] "%d ώρες" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d λεπτό" -msgstr[1] "%d λεπτά" - -msgid "0 minutes" -msgstr "0 λεπτά" - -msgid "Forbidden" -msgstr "Απαγορευμένο" - -msgid "CSRF verification failed. Request aborted." -msgstr "Η πιστοποίηση CSRF απέτυχε. Το αίτημα ματαιώθηκε." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Βλέπετε αυτό το μήνυμα επειδή αυτή η σελίδα απαιτεί ένα CSRF cookie, όταν " -"κατατίθενται φόρμες. Αυτό το cookie είναι απαραίτητο για λόγους ασφαλείας, " -"για να εξασφαλιστεί ότι ο browser δεν έχει γίνει hijacked από τρίτους." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "Περισσότερες πληροφορίες είναι διαθέσιμες με DEBUG=True." - -msgid "No year specified" -msgstr "Δεν έχει οριστεί χρονιά" - -msgid "Date out of range" -msgstr "Ημερομηνία εκτός εύρους" - -msgid "No month specified" -msgstr "Δεν έχει οριστεί μήνας" - -msgid "No day specified" -msgstr "Δεν έχει οριστεί μέρα" - -msgid "No week specified" -msgstr "Δεν έχει οριστεί εβδομάδα" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "Δεν υπάρχουν διαθέσιμα %(verbose_name_plural)s" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"Μελλοντικά %(verbose_name_plural)s δεν είναι διαθέσιμα διότι δεν έχει τεθεί " -"το %(class_name)s.allow_future." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Δεν βρέθηκαν %(verbose_name)s που να ικανοποιούν την αναζήτηση." - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Άκυρη σελίδα (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "Τα ευρετήρια καταλόγων δεν επιτρέπονται εδώ." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Ευρετήριο του %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "Django: το Web framework για τελειομανείς με προθεσμίες." - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"Δείτε τις σημειώσεις κυκλοφορίας για το " -"Django %(version)s" - -msgid "The install worked successfully! Congratulations!" -msgstr "Η εγκατάσταση δούλεψε με επιτυχία! Συγχαρητήρια!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"Βλέπετε αυτό το μήνυμα επειδή έχετε DEBUG=True στο αρχείο settings και δεν έχετε ρυθμίσει κανένα URL στο " -"αρχείο urls.py. Στρωθείτε στην δουλειά!" - -msgid "Django Documentation" -msgstr "Εγχειρίδιο Django" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "Εγχειρίδιο: Ένα App Ψηφοφορίας" - -msgid "Get started with Django" -msgstr "Ξεκινήστε με το Django" - -msgid "Django Community" -msgstr "Κοινότητα Django" - -msgid "Connect, get help, or contribute" -msgstr "Συνδεθείτε, λάβετε βοήθεια, ή συνεισφέρετε" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/el/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/el/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/el/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/el/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index da50ff25..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/el/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/el/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/el/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 045e22cd..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/el/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/el/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/el/formats.py deleted file mode 100644 index 8d3175a7..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/el/formats.py +++ /dev/null @@ -1,32 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'd/m/Y' -TIME_FORMAT = 'P' -DATETIME_FORMAT = 'd/m/Y P' -YEAR_MONTH_FORMAT = 'F Y' -MONTH_DAY_FORMAT = 'j F' -SHORT_DATE_FORMAT = 'd/m/Y' -SHORT_DATETIME_FORMAT = 'd/m/Y P' -FIRST_DAY_OF_WEEK = 0 # Sunday - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -DATE_INPUT_FORMATS = [ - '%d/%m/%Y', '%d/%m/%y', '%Y-%m-%d', # '25/10/2006', '25/10/06', '2006-10-25', -] -DATETIME_INPUT_FORMATS = [ - '%d/%m/%Y %H:%M:%S', # '25/10/2006 14:30:59' - '%d/%m/%Y %H:%M:%S.%f', # '25/10/2006 14:30:59.000200' - '%d/%m/%Y %H:%M', # '25/10/2006 14:30' - '%d/%m/%y %H:%M:%S', # '25/10/06 14:30:59' - '%d/%m/%y %H:%M:%S.%f', # '25/10/06 14:30:59.000200' - '%d/%m/%y %H:%M', # '25/10/06 14:30' - '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59' - '%Y-%m-%d %H:%M:%S.%f', # '2006-10-25 14:30:59.000200' - '%Y-%m-%d %H:%M', # '2006-10-25 14:30' -] -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = '.' -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/en/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/en/LC_MESSAGES/django.mo deleted file mode 100644 index 0d4c976d..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/en/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/en/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/en/LC_MESSAGES/django.po deleted file mode 100644 index 4e784e03..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/en/LC_MESSAGES/django.po +++ /dev/null @@ -1,1564 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -msgid "" -msgstr "" -"Project-Id-Version: Django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2010-05-13 15:35+0200\n" -"Last-Translator: Django team\n" -"Language-Team: English \n" -"Language: en\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: conf/global_settings.py:52 -msgid "Afrikaans" -msgstr "" - -#: conf/global_settings.py:53 -msgid "Arabic" -msgstr "" - -#: conf/global_settings.py:54 -msgid "Algerian Arabic" -msgstr "" - -#: conf/global_settings.py:55 -msgid "Asturian" -msgstr "" - -#: conf/global_settings.py:56 -msgid "Azerbaijani" -msgstr "" - -#: conf/global_settings.py:57 -msgid "Bulgarian" -msgstr "" - -#: conf/global_settings.py:58 -msgid "Belarusian" -msgstr "" - -#: conf/global_settings.py:59 -msgid "Bengali" -msgstr "" - -#: conf/global_settings.py:60 -msgid "Breton" -msgstr "" - -#: conf/global_settings.py:61 -msgid "Bosnian" -msgstr "" - -#: conf/global_settings.py:62 -msgid "Catalan" -msgstr "" - -#: conf/global_settings.py:63 -msgid "Czech" -msgstr "" - -#: conf/global_settings.py:64 -msgid "Welsh" -msgstr "" - -#: conf/global_settings.py:65 -msgid "Danish" -msgstr "" - -#: conf/global_settings.py:66 -msgid "German" -msgstr "" - -#: conf/global_settings.py:67 -msgid "Lower Sorbian" -msgstr "" - -#: conf/global_settings.py:68 -msgid "Greek" -msgstr "" - -#: conf/global_settings.py:69 -msgid "English" -msgstr "" - -#: conf/global_settings.py:70 -msgid "Australian English" -msgstr "" - -#: conf/global_settings.py:71 -msgid "British English" -msgstr "" - -#: conf/global_settings.py:72 -msgid "Esperanto" -msgstr "" - -#: conf/global_settings.py:73 -msgid "Spanish" -msgstr "" - -#: conf/global_settings.py:74 -msgid "Argentinian Spanish" -msgstr "" - -#: conf/global_settings.py:75 -msgid "Colombian Spanish" -msgstr "" - -#: conf/global_settings.py:76 -msgid "Mexican Spanish" -msgstr "" - -#: conf/global_settings.py:77 -msgid "Nicaraguan Spanish" -msgstr "" - -#: conf/global_settings.py:78 -msgid "Venezuelan Spanish" -msgstr "" - -#: conf/global_settings.py:79 -msgid "Estonian" -msgstr "" - -#: conf/global_settings.py:80 -msgid "Basque" -msgstr "" - -#: conf/global_settings.py:81 -msgid "Persian" -msgstr "" - -#: conf/global_settings.py:82 -msgid "Finnish" -msgstr "" - -#: conf/global_settings.py:83 -msgid "French" -msgstr "" - -#: conf/global_settings.py:84 -msgid "Frisian" -msgstr "" - -#: conf/global_settings.py:85 -msgid "Irish" -msgstr "" - -#: conf/global_settings.py:86 -msgid "Scottish Gaelic" -msgstr "" - -#: conf/global_settings.py:87 -msgid "Galician" -msgstr "" - -#: conf/global_settings.py:88 -msgid "Hebrew" -msgstr "" - -#: conf/global_settings.py:89 -msgid "Hindi" -msgstr "" - -#: conf/global_settings.py:90 -msgid "Croatian" -msgstr "" - -#: conf/global_settings.py:91 -msgid "Upper Sorbian" -msgstr "" - -#: conf/global_settings.py:92 -msgid "Hungarian" -msgstr "" - -#: conf/global_settings.py:93 -msgid "Armenian" -msgstr "" - -#: conf/global_settings.py:94 -msgid "Interlingua" -msgstr "" - -#: conf/global_settings.py:95 -msgid "Indonesian" -msgstr "" - -#: conf/global_settings.py:96 -msgid "Igbo" -msgstr "" - -#: conf/global_settings.py:96 -msgid "Ido" -msgstr "" - -#: conf/global_settings.py:97 -msgid "Icelandic" -msgstr "" - -#: conf/global_settings.py:98 -msgid "Italian" -msgstr "" - -#: conf/global_settings.py:99 -msgid "Japanese" -msgstr "" - -#: conf/global_settings.py:100 -msgid "Georgian" -msgstr "" - -#: conf/global_settings.py:101 -msgid "Kabyle" -msgstr "" - -#: conf/global_settings.py:102 -msgid "Kazakh" -msgstr "" - -#: conf/global_settings.py:103 -msgid "Khmer" -msgstr "" - -#: conf/global_settings.py:104 -msgid "Kannada" -msgstr "" - -#: conf/global_settings.py:105 -msgid "Korean" -msgstr "" - -#: conf/global_settings.py:106 -msgid "Kyrgyz" -msgstr "" - -#: conf/global_settings.py:106 -msgid "Luxembourgish" -msgstr "" - -#: conf/global_settings.py:107 -msgid "Lithuanian" -msgstr "" - -#: conf/global_settings.py:108 -msgid "Latvian" -msgstr "" - -#: conf/global_settings.py:109 -msgid "Macedonian" -msgstr "" - -#: conf/global_settings.py:110 -msgid "Malayalam" -msgstr "" - -#: conf/global_settings.py:111 -msgid "Mongolian" -msgstr "" - -#: conf/global_settings.py:112 -msgid "Marathi" -msgstr "" - -#: conf/global_settings.py:113 -msgid "Burmese" -msgstr "" - -#: conf/global_settings.py:114 -msgid "Norwegian Bokmål" -msgstr "" - -#: conf/global_settings.py:115 -msgid "Nepali" -msgstr "" - -#: conf/global_settings.py:116 -msgid "Dutch" -msgstr "" - -#: conf/global_settings.py:117 -msgid "Norwegian Nynorsk" -msgstr "" - -#: conf/global_settings.py:118 -msgid "Ossetic" -msgstr "" - -#: conf/global_settings.py:119 -msgid "Punjabi" -msgstr "" - -#: conf/global_settings.py:120 -msgid "Polish" -msgstr "" - -#: conf/global_settings.py:121 -msgid "Portuguese" -msgstr "" - -#: conf/global_settings.py:122 -msgid "Brazilian Portuguese" -msgstr "" - -#: conf/global_settings.py:123 -msgid "Romanian" -msgstr "" - -#: conf/global_settings.py:124 -msgid "Russian" -msgstr "" - -#: conf/global_settings.py:125 -msgid "Slovak" -msgstr "" - -#: conf/global_settings.py:126 -msgid "Slovenian" -msgstr "" - -#: conf/global_settings.py:127 -msgid "Albanian" -msgstr "" - -#: conf/global_settings.py:128 -msgid "Serbian" -msgstr "" - -#: conf/global_settings.py:129 -msgid "Serbian Latin" -msgstr "" - -#: conf/global_settings.py:130 -msgid "Swedish" -msgstr "" - -#: conf/global_settings.py:131 -msgid "Swahili" -msgstr "" - -#: conf/global_settings.py:132 -msgid "Tamil" -msgstr "" - -#: conf/global_settings.py:133 -msgid "Telugu" -msgstr "" - -#: conf/global_settings.py:133 -msgid "Tajik" -msgstr "" - -#: conf/global_settings.py:134 -msgid "Thai" -msgstr "" - -#: conf/global_settings.py:135 -msgid "Turkmen" -msgstr "" - -#: conf/global_settings.py:135 -msgid "Turkish" -msgstr "" - -#: conf/global_settings.py:136 -msgid "Tatar" -msgstr "" - -#: conf/global_settings.py:137 -msgid "Udmurt" -msgstr "" - -#: conf/global_settings.py:138 -msgid "Ukrainian" -msgstr "" - -#: conf/global_settings.py:139 -msgid "Urdu" -msgstr "" - -#: conf/global_settings.py:140 -msgid "Uzbek" -msgstr "" - -#: conf/global_settings.py:141 -msgid "Vietnamese" -msgstr "" - -#: conf/global_settings.py:142 -msgid "Simplified Chinese" -msgstr "" - -#: conf/global_settings.py:143 -msgid "Traditional Chinese" -msgstr "" - -#: contrib/messages/apps.py:7 -msgid "Messages" -msgstr "" - -#: contrib/sitemaps/apps.py:7 -msgid "Site Maps" -msgstr "" - -#: contrib/staticfiles/apps.py:9 -msgid "Static Files" -msgstr "" - -#: contrib/syndication/apps.py:7 -msgid "Syndication" -msgstr "" - -#: core/paginator.py:48 -msgid "That page number is not an integer" -msgstr "" - -#: core/paginator.py:50 -msgid "That page number is less than 1" -msgstr "" - -#: core/paginator.py:55 -msgid "That page contains no results" -msgstr "" - -#: core/validators.py:20 -msgid "Enter a valid value." -msgstr "" - -#: core/validators.py:91 forms/fields.py:671 -msgid "Enter a valid URL." -msgstr "" - -#: core/validators.py:145 -msgid "Enter a valid integer." -msgstr "" - -#: core/validators.py:156 -msgid "Enter a valid email address." -msgstr "" - -#. Translators: "letters" means latin letters: a-z and A-Z. -#: core/validators.py:230 -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -#: core/validators.py:237 -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -#: core/validators.py:246 core/validators.py:266 -msgid "Enter a valid IPv4 address." -msgstr "" - -#: core/validators.py:251 core/validators.py:267 -msgid "Enter a valid IPv6 address." -msgstr "" - -#: core/validators.py:261 core/validators.py:265 -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "" - -#: core/validators.py:295 -msgid "Enter only digits separated by commas." -msgstr "" - -#: core/validators.py:301 -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" - -#: core/validators.py:334 -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "" - -#: core/validators.py:343 -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "" - -#: core/validators.py:353 -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" - -#: core/validators.py:368 -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" - -#: core/validators.py:387 forms/fields.py:292 forms/fields.py:327 -msgid "Enter a number." -msgstr "" - -#: core/validators.py:389 -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "" -msgstr[1] "" - -#: core/validators.py:394 -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "" -msgstr[1] "" - -#: core/validators.py:399 -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -msgstr[1] "" - -#: core/validators.py:461 -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -#: core/validators.py:513 -msgid "Null characters are not allowed." -msgstr "" - -#: db/models/base.py:1187 forms/models.py:760 -msgid "and" -msgstr "" - -#: db/models/base.py:1189 -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "" - -#: db/models/fields/__init__.py:100 -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "" - -#: db/models/fields/__init__.py:101 -msgid "This field cannot be null." -msgstr "" - -#: db/models/fields/__init__.py:102 -msgid "This field cannot be blank." -msgstr "" - -#: db/models/fields/__init__.py:103 -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "" - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#: db/models/fields/__init__.py:107 -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" - -#: db/models/fields/__init__.py:126 -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "" - -#: db/models/fields/__init__.py:939 -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#: db/models/fields/__init__.py:940 -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -#: db/models/fields/__init__.py:942 -msgid "Boolean (Either True or False)" -msgstr "" - -#: db/models/fields/__init__.py:983 -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "" - -#: db/models/fields/__init__.py:1047 -msgid "Comma-separated integers" -msgstr "" - -#: db/models/fields/__init__.py:1096 -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#: db/models/fields/__init__.py:1098 db/models/fields/__init__.py:1241 -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -#: db/models/fields/__init__.py:1101 -msgid "Date (without time)" -msgstr "" - -#: db/models/fields/__init__.py:1239 -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#: db/models/fields/__init__.py:1243 -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -#: db/models/fields/__init__.py:1247 -msgid "Date (with time)" -msgstr "" - -#: db/models/fields/__init__.py:1395 -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -#: db/models/fields/__init__.py:1397 -msgid "Decimal number" -msgstr "" - -#: db/models/fields/__init__.py:1536 -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -#: db/models/fields/__init__.py:1539 -msgid "Duration" -msgstr "" - -#: db/models/fields/__init__.py:1589 -msgid "Email address" -msgstr "" - -#: db/models/fields/__init__.py:1612 -msgid "File path" -msgstr "" - -#: db/models/fields/__init__.py:1678 -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -#: db/models/fields/__init__.py:1680 -msgid "Floating point number" -msgstr "" - -#: db/models/fields/__init__.py:1718 -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -#: db/models/fields/__init__.py:1720 -msgid "Integer" -msgstr "" - -#: db/models/fields/__init__.py:1803 -msgid "Big (8 byte) integer" -msgstr "" - -#: db/models/fields/__init__.py:1819 -msgid "IPv4 address" -msgstr "" - -#: db/models/fields/__init__.py:1850 -msgid "IP address" -msgstr "" - -#: db/models/fields/__init__.py:1930 db/models/fields/__init__.py:1931 -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -#: db/models/fields/__init__.py:1933 -msgid "Boolean (Either True, False or None)" -msgstr "" - -#: db/models/fields/__init__.py:1976 -msgid "Positive big integer" -msgstr "" - -#: db/models/fields/__init__.py:1989 -msgid "Positive integer" -msgstr "" - -#: db/models/fields/__init__.py:2002 -msgid "Positive small integer" -msgstr "" - -#: db/models/fields/__init__.py:2016 -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "" - -#: db/models/fields/__init__.py:2048 -msgid "Small integer" -msgstr "" - -#: db/models/fields/__init__.py:2055 -msgid "Text" -msgstr "" - -#: db/models/fields/__init__.py:2083 -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#: db/models/fields/__init__.py:2085 -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -#: db/models/fields/__init__.py:2088 -msgid "Time" -msgstr "" - -#: db/models/fields/__init__.py:2214 -msgid "URL" -msgstr "" - -#: db/models/fields/__init__.py:2236 -msgid "Raw binary data" -msgstr "" - -#: db/models/fields/__init__.py:2301 -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -#: db/models/fields/__init__.py:2303 -msgid "Universally unique identifier" -msgstr "" - -#: db/models/fields/files.py:231 -msgid "File" -msgstr "" - -#: db/models/fields/files.py:377 -msgid "Image" -msgstr "" - -#: db/models/fields/json.py:18 -msgid "A JSON object" -msgstr "" - -#: db/models/fields/json.py:20 -msgid "Value must be valid JSON." -msgstr "" - -#: db/models/fields/related.py:786 -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "" - -#: db/models/fields/related.py:788 -msgid "Foreign Key (type determined by related field)" -msgstr "" - -#: db/models/fields/related.py:1041 -msgid "One-to-one relationship" -msgstr "" - -#: db/models/fields/related.py:1095 -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "" - -#: db/models/fields/related.py:1096 -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "" - -#: db/models/fields/related.py:1138 -msgid "Many-to-many relationship" -msgstr "" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the label -#: forms/boundfield.py:150 -msgid ":?.!" -msgstr "" - -#: forms/fields.py:54 -msgid "This field is required." -msgstr "" - -#: forms/fields.py:247 -msgid "Enter a whole number." -msgstr "" - -#: forms/fields.py:398 forms/fields.py:1139 -msgid "Enter a valid date." -msgstr "" - -#: forms/fields.py:422 forms/fields.py:1140 -msgid "Enter a valid time." -msgstr "" - -#: forms/fields.py:450 -msgid "Enter a valid date/time." -msgstr "" - -#: forms/fields.py:484 -msgid "Enter a valid duration." -msgstr "" - -#: forms/fields.py:485 -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "" - -#: forms/fields.py:545 -msgid "No file was submitted. Check the encoding type on the form." -msgstr "" - -#: forms/fields.py:546 -msgid "No file was submitted." -msgstr "" - -#: forms/fields.py:547 -msgid "The submitted file is empty." -msgstr "" - -#: forms/fields.py:549 -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -msgstr[1] "" - -#: forms/fields.py:552 -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" - -#: forms/fields.py:613 -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" - -#: forms/fields.py:775 forms/fields.py:865 forms/models.py:1296 -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "" - -#: forms/fields.py:866 forms/fields.py:981 forms/models.py:1295 -msgid "Enter a list of values." -msgstr "" - -#: forms/fields.py:982 -msgid "Enter a complete value." -msgstr "" - -#: forms/fields.py:1198 -msgid "Enter a valid UUID." -msgstr "" - -#: forms/fields.py:1228 -msgid "Enter a valid JSON." -msgstr "" - -#. Translators: This is the default suffix added to form field labels -#: forms/forms.py:78 -msgid ":" -msgstr "" - -#: forms/forms.py:205 -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "" - -#: forms/formsets.py:93 -msgid "ManagementForm data is missing or has been tampered with" -msgstr "" - -#: forms/formsets.py:345 -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "" -msgstr[1] "" - -#: forms/formsets.py:352 -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "" -msgstr[1] "" - -#: forms/formsets.py:379 forms/formsets.py:386 -msgid "Order" -msgstr "" - -#: forms/formsets.py:391 -msgid "Delete" -msgstr "" - -#: forms/models.py:755 -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "" - -#: forms/models.py:759 -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" - -#: forms/models.py:765 -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" - -#: forms/models.py:774 -msgid "Please correct the duplicate values below." -msgstr "" - -#: forms/models.py:1096 -msgid "The inline value did not match the parent instance." -msgstr "" - -#: forms/models.py:1180 -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" - -#: forms/models.py:1298 -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#: forms/utils.py:167 -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -#: forms/widgets.py:398 -msgid "Clear" -msgstr "" - -#: forms/widgets.py:399 -msgid "Currently" -msgstr "" - -#: forms/widgets.py:400 -msgid "Change" -msgstr "" - -#: forms/widgets.py:709 -msgid "Unknown" -msgstr "" - -#: forms/widgets.py:710 -msgid "Yes" -msgstr "" - -#: forms/widgets.py:711 -msgid "No" -msgstr "" - -#. Translators: Please do not add spaces around commas. -#: template/defaultfilters.py:790 -msgid "yes,no,maybe" -msgstr "" - -#: template/defaultfilters.py:819 template/defaultfilters.py:836 -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "" -msgstr[1] "" - -#: template/defaultfilters.py:838 -#, python-format -msgid "%s KB" -msgstr "" - -#: template/defaultfilters.py:840 -#, python-format -msgid "%s MB" -msgstr "" - -#: template/defaultfilters.py:842 -#, python-format -msgid "%s GB" -msgstr "" - -#: template/defaultfilters.py:844 -#, python-format -msgid "%s TB" -msgstr "" - -#: template/defaultfilters.py:846 -#, python-format -msgid "%s PB" -msgstr "" - -#: utils/dateformat.py:65 -msgid "p.m." -msgstr "" - -#: utils/dateformat.py:66 -msgid "a.m." -msgstr "" - -#: utils/dateformat.py:71 -msgid "PM" -msgstr "" - -#: utils/dateformat.py:72 -msgid "AM" -msgstr "" - -#: utils/dateformat.py:149 -msgid "midnight" -msgstr "" - -#: utils/dateformat.py:151 -msgid "noon" -msgstr "" - -#: utils/dates.py:6 -msgid "Monday" -msgstr "" - -#: utils/dates.py:6 -msgid "Tuesday" -msgstr "" - -#: utils/dates.py:6 -msgid "Wednesday" -msgstr "" - -#: utils/dates.py:6 -msgid "Thursday" -msgstr "" - -#: utils/dates.py:6 -msgid "Friday" -msgstr "" - -#: utils/dates.py:7 -msgid "Saturday" -msgstr "" - -#: utils/dates.py:7 -msgid "Sunday" -msgstr "" - -#: utils/dates.py:10 -msgid "Mon" -msgstr "" - -#: utils/dates.py:10 -msgid "Tue" -msgstr "" - -#: utils/dates.py:10 -msgid "Wed" -msgstr "" - -#: utils/dates.py:10 -msgid "Thu" -msgstr "" - -#: utils/dates.py:10 -msgid "Fri" -msgstr "" - -#: utils/dates.py:11 -msgid "Sat" -msgstr "" - -#: utils/dates.py:11 -msgid "Sun" -msgstr "" - -#: utils/dates.py:14 -msgid "January" -msgstr "" - -#: utils/dates.py:14 -msgid "February" -msgstr "" - -#: utils/dates.py:14 -msgid "March" -msgstr "" - -#: utils/dates.py:14 -msgid "April" -msgstr "" - -#: utils/dates.py:14 -msgid "May" -msgstr "" - -#: utils/dates.py:14 -msgid "June" -msgstr "" - -#: utils/dates.py:15 -msgid "July" -msgstr "" - -#: utils/dates.py:15 -msgid "August" -msgstr "" - -#: utils/dates.py:15 -msgid "September" -msgstr "" - -#: utils/dates.py:15 -msgid "October" -msgstr "" - -#: utils/dates.py:15 -msgid "November" -msgstr "" - -#: utils/dates.py:16 -msgid "December" -msgstr "" - -#: utils/dates.py:19 -msgid "jan" -msgstr "" - -#: utils/dates.py:19 -msgid "feb" -msgstr "" - -#: utils/dates.py:19 -msgid "mar" -msgstr "" - -#: utils/dates.py:19 -msgid "apr" -msgstr "" - -#: utils/dates.py:19 -msgid "may" -msgstr "" - -#: utils/dates.py:19 -msgid "jun" -msgstr "" - -#: utils/dates.py:20 -msgid "jul" -msgstr "" - -#: utils/dates.py:20 -msgid "aug" -msgstr "" - -#: utils/dates.py:20 -msgid "sep" -msgstr "" - -#: utils/dates.py:20 -msgid "oct" -msgstr "" - -#: utils/dates.py:20 -msgid "nov" -msgstr "" - -#: utils/dates.py:20 -msgid "dec" -msgstr "" - -#: utils/dates.py:23 -msgctxt "abbrev. month" -msgid "Jan." -msgstr "" - -#: utils/dates.py:24 -msgctxt "abbrev. month" -msgid "Feb." -msgstr "" - -#: utils/dates.py:25 -msgctxt "abbrev. month" -msgid "March" -msgstr "" - -#: utils/dates.py:26 -msgctxt "abbrev. month" -msgid "April" -msgstr "" - -#: utils/dates.py:27 -msgctxt "abbrev. month" -msgid "May" -msgstr "" - -#: utils/dates.py:28 -msgctxt "abbrev. month" -msgid "June" -msgstr "" - -#: utils/dates.py:29 -msgctxt "abbrev. month" -msgid "July" -msgstr "" - -#: utils/dates.py:30 -msgctxt "abbrev. month" -msgid "Aug." -msgstr "" - -#: utils/dates.py:31 -msgctxt "abbrev. month" -msgid "Sept." -msgstr "" - -#: utils/dates.py:32 -msgctxt "abbrev. month" -msgid "Oct." -msgstr "" - -#: utils/dates.py:33 -msgctxt "abbrev. month" -msgid "Nov." -msgstr "" - -#: utils/dates.py:34 -msgctxt "abbrev. month" -msgid "Dec." -msgstr "" - -#: utils/dates.py:37 -msgctxt "alt. month" -msgid "January" -msgstr "" - -#: utils/dates.py:38 -msgctxt "alt. month" -msgid "February" -msgstr "" - -#: utils/dates.py:39 -msgctxt "alt. month" -msgid "March" -msgstr "" - -#: utils/dates.py:40 -msgctxt "alt. month" -msgid "April" -msgstr "" - -#: utils/dates.py:41 -msgctxt "alt. month" -msgid "May" -msgstr "" - -#: utils/dates.py:42 -msgctxt "alt. month" -msgid "June" -msgstr "" - -#: utils/dates.py:43 -msgctxt "alt. month" -msgid "July" -msgstr "" - -#: utils/dates.py:44 -msgctxt "alt. month" -msgid "August" -msgstr "" - -#: utils/dates.py:45 -msgctxt "alt. month" -msgid "September" -msgstr "" - -#: utils/dates.py:46 -msgctxt "alt. month" -msgid "October" -msgstr "" - -#: utils/dates.py:47 -msgctxt "alt. month" -msgid "November" -msgstr "" - -#: utils/dates.py:48 -msgctxt "alt. month" -msgid "December" -msgstr "" - -#: utils/ipv6.py:8 -msgid "This is not a valid IPv6 address." -msgstr "" - -#: utils/text.py:70 -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "" - -#: utils/text.py:236 -msgid "or" -msgstr "" - -#. Translators: This string is used as a separator between list elements -#: utils/text.py:255 utils/timesince.py:83 -msgid ", " -msgstr "" - -#: utils/timesince.py:9 -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "" -msgstr[1] "" - -#: utils/timesince.py:10 -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "" -msgstr[1] "" - -#: utils/timesince.py:11 -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "" -msgstr[1] "" - -#: utils/timesince.py:12 -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "" -msgstr[1] "" - -#: utils/timesince.py:13 -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "" -msgstr[1] "" - -#: utils/timesince.py:14 -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "" -msgstr[1] "" - -#: views/csrf.py:110 -msgid "Forbidden" -msgstr "" - -#: views/csrf.py:111 -msgid "CSRF verification failed. Request aborted." -msgstr "" - -#: views/csrf.py:115 -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -#: views/csrf.py:120 -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -#: views/csrf.py:124 -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -#: views/csrf.py:132 -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" - -#: views/csrf.py:137 -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -#: views/csrf.py:142 -msgid "More information is available with DEBUG=True." -msgstr "" - -#: views/generic/dates.py:41 -msgid "No year specified" -msgstr "" - -#: views/generic/dates.py:61 views/generic/dates.py:111 -#: views/generic/dates.py:208 -msgid "Date out of range" -msgstr "" - -#: views/generic/dates.py:90 -msgid "No month specified" -msgstr "" - -#: views/generic/dates.py:142 -msgid "No day specified" -msgstr "" - -#: views/generic/dates.py:188 -msgid "No week specified" -msgstr "" - -#: views/generic/dates.py:338 views/generic/dates.py:367 -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "" - -#: views/generic/dates.py:589 -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" - -#: views/generic/dates.py:623 -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#: views/generic/detail.py:54 -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "" - -#: views/generic/list.py:67 -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#: views/generic/list.py:72 -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "" - -#: views/generic/list.py:154 -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -#: views/static.py:40 -msgid "Directory indexes are not allowed here." -msgstr "" - -#: views/static.py:42 -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#: views/static.py:80 -#, python-format -msgid "Index of %(directory)s" -msgstr "" - -#: views/templates/default_urlconf.html:7 -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" - -#: views/templates/default_urlconf.html:346 -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" - -#: views/templates/default_urlconf.html:368 -msgid "The install worked successfully! Congratulations!" -msgstr "" - -#: views/templates/default_urlconf.html:369 -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" - -#: views/templates/default_urlconf.html:384 -msgid "Django Documentation" -msgstr "" - -#: views/templates/default_urlconf.html:385 -msgid "Topics, references, & how-to’s" -msgstr "" - -#: views/templates/default_urlconf.html:396 -msgid "Tutorial: A Polling App" -msgstr "" - -#: views/templates/default_urlconf.html:397 -msgid "Get started with Django" -msgstr "" - -#: views/templates/default_urlconf.html:408 -msgid "Django Community" -msgstr "" - -#: views/templates/default_urlconf.html:409 -msgid "Connect, get help, or contribute" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/en/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/en/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/en/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/en/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index a7bdff48..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/en/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/en/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/en/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index e2f5ade3..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/en/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/en/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/en/formats.py deleted file mode 100644 index ccace3d2..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/en/formats.py +++ /dev/null @@ -1,37 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'N j, Y' -TIME_FORMAT = 'P' -DATETIME_FORMAT = 'N j, Y, P' -YEAR_MONTH_FORMAT = 'F Y' -MONTH_DAY_FORMAT = 'F j' -SHORT_DATE_FORMAT = 'm/d/Y' -SHORT_DATETIME_FORMAT = 'm/d/Y P' -FIRST_DAY_OF_WEEK = 0 # Sunday - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -# Kept ISO formats as they are in first position -DATE_INPUT_FORMATS = [ - '%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', # '2006-10-25', '10/25/2006', '10/25/06' - # '%b %d %Y', '%b %d, %Y', # 'Oct 25 2006', 'Oct 25, 2006' - # '%d %b %Y', '%d %b, %Y', # '25 Oct 2006', '25 Oct, 2006' - # '%B %d %Y', '%B %d, %Y', # 'October 25 2006', 'October 25, 2006' - # '%d %B %Y', '%d %B, %Y', # '25 October 2006', '25 October, 2006' -] -DATETIME_INPUT_FORMATS = [ - '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59' - '%Y-%m-%d %H:%M:%S.%f', # '2006-10-25 14:30:59.000200' - '%Y-%m-%d %H:%M', # '2006-10-25 14:30' - '%m/%d/%Y %H:%M:%S', # '10/25/2006 14:30:59' - '%m/%d/%Y %H:%M:%S.%f', # '10/25/2006 14:30:59.000200' - '%m/%d/%Y %H:%M', # '10/25/2006 14:30' - '%m/%d/%y %H:%M:%S', # '10/25/06 14:30:59' - '%m/%d/%y %H:%M:%S.%f', # '10/25/06 14:30:59.000200' - '%m/%d/%y %H:%M', # '10/25/06 14:30' -] -DECIMAL_SEPARATOR = '.' -THOUSAND_SEPARATOR = ',' -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/en_AU/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/en_AU/LC_MESSAGES/django.mo deleted file mode 100644 index 28504477..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/en_AU/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/en_AU/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/en_AU/LC_MESSAGES/django.po deleted file mode 100644 index a7e39e63..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/en_AU/LC_MESSAGES/django.po +++ /dev/null @@ -1,1231 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Tom Fifield , 2014 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-27 22:40+0200\n" -"PO-Revision-Date: 2019-11-05 00:38+0000\n" -"Last-Translator: Ramiro Morales\n" -"Language-Team: English (Australia) (http://www.transifex.com/django/django/" -"language/en_AU/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: en_AU\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "Afrikaans" -msgstr "Afrikaans" - -msgid "Arabic" -msgstr "Arabic" - -msgid "Asturian" -msgstr "" - -msgid "Azerbaijani" -msgstr "Azerbaijani" - -msgid "Bulgarian" -msgstr "Bulgarian" - -msgid "Belarusian" -msgstr "Belarusian" - -msgid "Bengali" -msgstr "Bengali" - -msgid "Breton" -msgstr "Breton" - -msgid "Bosnian" -msgstr "Bosnian" - -msgid "Catalan" -msgstr "Catalan" - -msgid "Czech" -msgstr "Czech" - -msgid "Welsh" -msgstr "Welsh" - -msgid "Danish" -msgstr "Danish" - -msgid "German" -msgstr "German" - -msgid "Lower Sorbian" -msgstr "" - -msgid "Greek" -msgstr "Greek" - -msgid "English" -msgstr "English" - -msgid "Australian English" -msgstr "" - -msgid "British English" -msgstr "British English" - -msgid "Esperanto" -msgstr "Esperanto" - -msgid "Spanish" -msgstr "Spanish" - -msgid "Argentinian Spanish" -msgstr "Argentinian Spanish" - -msgid "Colombian Spanish" -msgstr "" - -msgid "Mexican Spanish" -msgstr "Mexican Spanish" - -msgid "Nicaraguan Spanish" -msgstr "Nicaraguan Spanish" - -msgid "Venezuelan Spanish" -msgstr "Venezuelan Spanish" - -msgid "Estonian" -msgstr "Estonian" - -msgid "Basque" -msgstr "Basque" - -msgid "Persian" -msgstr "Persian" - -msgid "Finnish" -msgstr "Finnish" - -msgid "French" -msgstr "French" - -msgid "Frisian" -msgstr "Frisian" - -msgid "Irish" -msgstr "Irish" - -msgid "Scottish Gaelic" -msgstr "" - -msgid "Galician" -msgstr "Galician" - -msgid "Hebrew" -msgstr "Hebrew" - -msgid "Hindi" -msgstr "Hindi" - -msgid "Croatian" -msgstr "Croatian" - -msgid "Upper Sorbian" -msgstr "" - -msgid "Hungarian" -msgstr "Hungarian" - -msgid "Armenian" -msgstr "" - -msgid "Interlingua" -msgstr "Interlingua" - -msgid "Indonesian" -msgstr "Indonesian" - -msgid "Ido" -msgstr "" - -msgid "Icelandic" -msgstr "Icelandic" - -msgid "Italian" -msgstr "Italian" - -msgid "Japanese" -msgstr "Japanese" - -msgid "Georgian" -msgstr "Georgian" - -msgid "Kabyle" -msgstr "" - -msgid "Kazakh" -msgstr "Kazakh" - -msgid "Khmer" -msgstr "Khmer" - -msgid "Kannada" -msgstr "Kannada" - -msgid "Korean" -msgstr "Korean" - -msgid "Luxembourgish" -msgstr "Luxembourgish" - -msgid "Lithuanian" -msgstr "Lithuanian" - -msgid "Latvian" -msgstr "Latvian" - -msgid "Macedonian" -msgstr "Macedonian" - -msgid "Malayalam" -msgstr "Malayalam" - -msgid "Mongolian" -msgstr "Mongolian" - -msgid "Marathi" -msgstr "" - -msgid "Burmese" -msgstr "Burmese" - -msgid "Norwegian Bokmål" -msgstr "" - -msgid "Nepali" -msgstr "Nepali" - -msgid "Dutch" -msgstr "Dutch" - -msgid "Norwegian Nynorsk" -msgstr "Norwegian Nynorsk" - -msgid "Ossetic" -msgstr "Ossetic" - -msgid "Punjabi" -msgstr "Punjabi" - -msgid "Polish" -msgstr "Polish" - -msgid "Portuguese" -msgstr "Portuguese" - -msgid "Brazilian Portuguese" -msgstr "Brazilian Portuguese" - -msgid "Romanian" -msgstr "Romanian" - -msgid "Russian" -msgstr "Russian" - -msgid "Slovak" -msgstr "Slovak" - -msgid "Slovenian" -msgstr "Slovenian" - -msgid "Albanian" -msgstr "Albanian" - -msgid "Serbian" -msgstr "Serbian" - -msgid "Serbian Latin" -msgstr "Serbian Latin" - -msgid "Swedish" -msgstr "Swedish" - -msgid "Swahili" -msgstr "Swahili" - -msgid "Tamil" -msgstr "Tamil" - -msgid "Telugu" -msgstr "Telugu" - -msgid "Thai" -msgstr "Thai" - -msgid "Turkish" -msgstr "Turkish" - -msgid "Tatar" -msgstr "Tatar" - -msgid "Udmurt" -msgstr "Udmurt" - -msgid "Ukrainian" -msgstr "Ukrainian" - -msgid "Urdu" -msgstr "Urdu" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "Vietnamese" - -msgid "Simplified Chinese" -msgstr "Simplified Chinese" - -msgid "Traditional Chinese" -msgstr "Traditional Chinese" - -msgid "Messages" -msgstr "" - -msgid "Site Maps" -msgstr "" - -msgid "Static Files" -msgstr "" - -msgid "Syndication" -msgstr "" - -msgid "That page number is not an integer" -msgstr "" - -msgid "That page number is less than 1" -msgstr "" - -msgid "That page contains no results" -msgstr "" - -msgid "Enter a valid value." -msgstr "Enter a valid value." - -msgid "Enter a valid URL." -msgstr "Enter a valid URL." - -msgid "Enter a valid integer." -msgstr "" - -msgid "Enter a valid email address." -msgstr "Enter a valid email address." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "Enter a valid IPv4 address." - -msgid "Enter a valid IPv6 address." -msgstr "Enter a valid IPv6 address." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Enter a valid IPv4 or IPv6 address." - -msgid "Enter only digits separated by commas." -msgstr "Enter only digits separated by commas." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "Ensure this value is %(limit_value)s (it is %(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Ensure this value is less than or equal to %(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Ensure this value is greater than or equal to %(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgstr[1] "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgstr[1] "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." - -msgid "Enter a number." -msgstr "Enter a number." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Ensure that there are no more than %(max)s digit in total." -msgstr[1] "Ensure that there are no more than %(max)s digits in total." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "Ensure that there are no more than %(max)s decimal place." -msgstr[1] "Ensure that there are no more than %(max)s decimal places." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgstr[1] "" -"Ensure that there are no more than %(max)s digits before the decimal point." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "" - -msgid "and" -msgstr "and" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "" - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "" - -msgid "This field cannot be null." -msgstr "This field cannot be null." - -msgid "This field cannot be blank." -msgstr "This field cannot be blank." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s with this %(field_label)s already exists." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Field of type: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "Boolean (Either True or False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "String (up to %(max_length)s)" - -msgid "Comma-separated integers" -msgstr "Comma-separated integers" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "Date (without time)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "Date (with time)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "Decimal number" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "" - -msgid "Email address" -msgstr "Email address" - -msgid "File path" -msgstr "File path" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "Floating point number" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "Integer" - -msgid "Big (8 byte) integer" -msgstr "Big (8 byte) integer" - -msgid "IPv4 address" -msgstr "IPv4 address" - -msgid "IP address" -msgstr "IP address" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "Boolean (Either True, False or None)" - -msgid "Positive integer" -msgstr "Positive integer" - -msgid "Positive small integer" -msgstr "Positive small integer" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Slug (up to %(max_length)s)" - -msgid "Small integer" -msgstr "Small integer" - -msgid "Text" -msgstr "Text" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "Time" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Raw binary data" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "" - -msgid "File" -msgstr "File" - -msgid "Image" -msgstr "Image" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "" - -msgid "Foreign Key (type determined by related field)" -msgstr "Foreign Key (type determined by related field)" - -msgid "One-to-one relationship" -msgstr "One-to-one relationship" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "" - -msgid "Many-to-many relationship" -msgstr "Many-to-many relationship" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "This field is required." - -msgid "Enter a whole number." -msgstr "Enter a whole number." - -msgid "Enter a valid date." -msgstr "Enter a valid date." - -msgid "Enter a valid time." -msgstr "Enter a valid time." - -msgid "Enter a valid date/time." -msgstr "Enter a valid date/time." - -msgid "Enter a valid duration." -msgstr "" - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "" - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "No file was submitted. Check the encoding type on the form." - -msgid "No file was submitted." -msgstr "No file was submitted." - -msgid "The submitted file is empty." -msgstr "The submitted file is empty." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Ensure this filename has at most %(max)d character (it has %(length)d)." -msgstr[1] "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "Please either submit a file or check the clear checkbox, not both." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "Select a valid choice. %(value)s is not one of the available choices." - -msgid "Enter a list of values." -msgstr "Enter a list of values." - -msgid "Enter a complete value." -msgstr "" - -msgid "Enter a valid UUID." -msgstr "" - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Hidden field %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Please submit %d or fewer forms." -msgstr[1] "Please submit %d or fewer forms." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "" -msgstr[1] "" - -msgid "Order" -msgstr "Order" - -msgid "Delete" -msgstr "Delete" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Please correct the duplicate data for %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "Please correct the duplicate data for %(field)s, which must be unique." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "Please correct the duplicate values below." - -msgid "The inline value did not match the parent instance." -msgstr "" - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" -"Select a valid choice. That choice is not one of the available choices." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "Clear" - -msgid "Currently" -msgstr "Currently" - -msgid "Change" -msgstr "Change" - -msgid "Unknown" -msgstr "Unknown" - -msgid "Yes" -msgstr "Yes" - -msgid "No" -msgstr "No" - -msgid "Year" -msgstr "" - -msgid "Month" -msgstr "" - -msgid "Day" -msgstr "" - -msgid "yes,no,maybe" -msgstr "yes,no,maybe" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d byte" -msgstr[1] "%(size)d bytes" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "p.m." - -msgid "a.m." -msgstr "a.m." - -msgid "PM" -msgstr "PM" - -msgid "AM" -msgstr "AM" - -msgid "midnight" -msgstr "midnight" - -msgid "noon" -msgstr "noon" - -msgid "Monday" -msgstr "Monday" - -msgid "Tuesday" -msgstr "Tuesday" - -msgid "Wednesday" -msgstr "Wednesday" - -msgid "Thursday" -msgstr "Thursday" - -msgid "Friday" -msgstr "Friday" - -msgid "Saturday" -msgstr "Saturday" - -msgid "Sunday" -msgstr "Sunday" - -msgid "Mon" -msgstr "Mon" - -msgid "Tue" -msgstr "Tue" - -msgid "Wed" -msgstr "Wed" - -msgid "Thu" -msgstr "Thu" - -msgid "Fri" -msgstr "Fri" - -msgid "Sat" -msgstr "Sat" - -msgid "Sun" -msgstr "Sun" - -msgid "January" -msgstr "January" - -msgid "February" -msgstr "February" - -msgid "March" -msgstr "March" - -msgid "April" -msgstr "April" - -msgid "May" -msgstr "May" - -msgid "June" -msgstr "June" - -msgid "July" -msgstr "July" - -msgid "August" -msgstr "August" - -msgid "September" -msgstr "September" - -msgid "October" -msgstr "October" - -msgid "November" -msgstr "November" - -msgid "December" -msgstr "December" - -msgid "jan" -msgstr "jan" - -msgid "feb" -msgstr "feb" - -msgid "mar" -msgstr "mar" - -msgid "apr" -msgstr "apr" - -msgid "may" -msgstr "may" - -msgid "jun" -msgstr "jun" - -msgid "jul" -msgstr "jul" - -msgid "aug" -msgstr "aug" - -msgid "sep" -msgstr "sep" - -msgid "oct" -msgstr "oct" - -msgid "nov" -msgstr "nov" - -msgid "dec" -msgstr "dec" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Jan." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Feb." - -msgctxt "abbrev. month" -msgid "March" -msgstr "March" - -msgctxt "abbrev. month" -msgid "April" -msgstr "April" - -msgctxt "abbrev. month" -msgid "May" -msgstr "May" - -msgctxt "abbrev. month" -msgid "June" -msgstr "June" - -msgctxt "abbrev. month" -msgid "July" -msgstr "July" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Aug." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Sept." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Oct." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Nov." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Dec." - -msgctxt "alt. month" -msgid "January" -msgstr "January" - -msgctxt "alt. month" -msgid "February" -msgstr "February" - -msgctxt "alt. month" -msgid "March" -msgstr "March" - -msgctxt "alt. month" -msgid "April" -msgstr "April" - -msgctxt "alt. month" -msgid "May" -msgstr "May" - -msgctxt "alt. month" -msgid "June" -msgstr "June" - -msgctxt "alt. month" -msgid "July" -msgstr "July" - -msgctxt "alt. month" -msgid "August" -msgstr "August" - -msgctxt "alt. month" -msgid "September" -msgstr "September" - -msgctxt "alt. month" -msgid "October" -msgstr "October" - -msgctxt "alt. month" -msgid "November" -msgstr "November" - -msgctxt "alt. month" -msgid "December" -msgstr "December" - -msgid "This is not a valid IPv6 address." -msgstr "" - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "" - -msgid "or" -msgstr "or" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d year" -msgstr[1] "%d years" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d month" -msgstr[1] "%d months" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d week" -msgstr[1] "%d weeks" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d day" -msgstr[1] "%d days" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d hour" -msgstr[1] "%d hours" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d minute" -msgstr[1] "%d minutes" - -msgid "0 minutes" -msgstr "0 minutes" - -msgid "Forbidden" -msgstr "" - -msgid "CSRF verification failed. Request aborted." -msgstr "" - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "" - -msgid "No year specified" -msgstr "No year specified" - -msgid "Date out of range" -msgstr "" - -msgid "No month specified" -msgstr "No month specified" - -msgid "No day specified" -msgstr "No day specified" - -msgid "No week specified" -msgstr "No week specified" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "No %(verbose_name_plural)s available" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "No %(verbose_name)s found matching the query" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Invalid page (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "Directory indexes are not allowed here." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Index of %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" - -msgid "The install worked successfully! Congratulations!" -msgstr "" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" - -msgid "Django Documentation" -msgstr "" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "" - -msgid "Get started with Django" -msgstr "" - -msgid "Django Community" -msgstr "" - -msgid "Connect, get help, or contribute" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/en_AU/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/en_AU/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/en_AU/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/en_AU/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 27f74681..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/en_AU/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/en_AU/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/en_AU/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 0a12c2ce..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/en_AU/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/en_AU/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/en_AU/formats.py deleted file mode 100644 index 310577cb..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/en_AU/formats.py +++ /dev/null @@ -1,36 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'j M Y' # '25 Oct 2006' -TIME_FORMAT = 'P' # '2:30 p.m.' -DATETIME_FORMAT = 'j M Y, P' # '25 Oct 2006, 2:30 p.m.' -YEAR_MONTH_FORMAT = 'F Y' # 'October 2006' -MONTH_DAY_FORMAT = 'j F' # '25 October' -SHORT_DATE_FORMAT = 'd/m/Y' # '25/10/2006' -SHORT_DATETIME_FORMAT = 'd/m/Y P' # '25/10/2006 2:30 p.m.' -FIRST_DAY_OF_WEEK = 0 # Sunday - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -DATE_INPUT_FORMATS = [ - '%d/%m/%Y', '%d/%m/%y', # '25/10/2006', '25/10/06' - # '%b %d %Y', '%b %d, %Y', # 'Oct 25 2006', 'Oct 25, 2006' - # '%d %b %Y', '%d %b, %Y', # '25 Oct 2006', '25 Oct, 2006' - # '%B %d %Y', '%B %d, %Y', # 'October 25 2006', 'October 25, 2006' - # '%d %B %Y', '%d %B, %Y', # '25 October 2006', '25 October, 2006' -] -DATETIME_INPUT_FORMATS = [ - '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59' - '%Y-%m-%d %H:%M:%S.%f', # '2006-10-25 14:30:59.000200' - '%Y-%m-%d %H:%M', # '2006-10-25 14:30' - '%d/%m/%Y %H:%M:%S', # '25/10/2006 14:30:59' - '%d/%m/%Y %H:%M:%S.%f', # '25/10/2006 14:30:59.000200' - '%d/%m/%Y %H:%M', # '25/10/2006 14:30' - '%d/%m/%y %H:%M:%S', # '25/10/06 14:30:59' - '%d/%m/%y %H:%M:%S.%f', # '25/10/06 14:30:59.000200' - '%d/%m/%y %H:%M', # '25/10/06 14:30' -] -DECIMAL_SEPARATOR = '.' -THOUSAND_SEPARATOR = ',' -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/en_GB/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/en_GB/LC_MESSAGES/django.mo deleted file mode 100644 index bc4b2ccf..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/en_GB/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/en_GB/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/en_GB/LC_MESSAGES/django.po deleted file mode 100644 index 348adb06..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/en_GB/LC_MESSAGES/django.po +++ /dev/null @@ -1,1221 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Jannis Leidel , 2011 -# jon_atkinson , 2011-2012 -# Ross Poulton , 2011-2012 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-27 22:40+0200\n" -"PO-Revision-Date: 2019-11-05 00:38+0000\n" -"Last-Translator: Ramiro Morales\n" -"Language-Team: English (United Kingdom) (http://www.transifex.com/django/" -"django/language/en_GB/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: en_GB\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "Afrikaans" -msgstr "" - -msgid "Arabic" -msgstr "Arabic" - -msgid "Asturian" -msgstr "" - -msgid "Azerbaijani" -msgstr "Azerbaijani" - -msgid "Bulgarian" -msgstr "Bulgarian" - -msgid "Belarusian" -msgstr "" - -msgid "Bengali" -msgstr "Bengali" - -msgid "Breton" -msgstr "" - -msgid "Bosnian" -msgstr "Bosnian" - -msgid "Catalan" -msgstr "Catalan" - -msgid "Czech" -msgstr "Czech" - -msgid "Welsh" -msgstr "Welsh" - -msgid "Danish" -msgstr "Danish" - -msgid "German" -msgstr "German" - -msgid "Lower Sorbian" -msgstr "" - -msgid "Greek" -msgstr "Greek" - -msgid "English" -msgstr "English" - -msgid "Australian English" -msgstr "" - -msgid "British English" -msgstr "British English" - -msgid "Esperanto" -msgstr "Esperanto" - -msgid "Spanish" -msgstr "Spanish" - -msgid "Argentinian Spanish" -msgstr "Argentinian Spanish" - -msgid "Colombian Spanish" -msgstr "" - -msgid "Mexican Spanish" -msgstr "Mexican Spanish" - -msgid "Nicaraguan Spanish" -msgstr "Nicaraguan Spanish" - -msgid "Venezuelan Spanish" -msgstr "" - -msgid "Estonian" -msgstr "Estonian" - -msgid "Basque" -msgstr "Basque" - -msgid "Persian" -msgstr "Persian" - -msgid "Finnish" -msgstr "Finnish" - -msgid "French" -msgstr "French" - -msgid "Frisian" -msgstr "Frisian" - -msgid "Irish" -msgstr "Irish" - -msgid "Scottish Gaelic" -msgstr "" - -msgid "Galician" -msgstr "Galician" - -msgid "Hebrew" -msgstr "Hebrew" - -msgid "Hindi" -msgstr "Hindi" - -msgid "Croatian" -msgstr "Croatian" - -msgid "Upper Sorbian" -msgstr "" - -msgid "Hungarian" -msgstr "Hungarian" - -msgid "Armenian" -msgstr "" - -msgid "Interlingua" -msgstr "" - -msgid "Indonesian" -msgstr "Indonesian" - -msgid "Ido" -msgstr "" - -msgid "Icelandic" -msgstr "Icelandic" - -msgid "Italian" -msgstr "Italian" - -msgid "Japanese" -msgstr "Japanese" - -msgid "Georgian" -msgstr "Georgian" - -msgid "Kabyle" -msgstr "" - -msgid "Kazakh" -msgstr "Kazakh" - -msgid "Khmer" -msgstr "Khmer" - -msgid "Kannada" -msgstr "Kannada" - -msgid "Korean" -msgstr "Korean" - -msgid "Luxembourgish" -msgstr "" - -msgid "Lithuanian" -msgstr "Lithuanian" - -msgid "Latvian" -msgstr "Latvian" - -msgid "Macedonian" -msgstr "Macedonian" - -msgid "Malayalam" -msgstr "Malayalam" - -msgid "Mongolian" -msgstr "Mongolian" - -msgid "Marathi" -msgstr "" - -msgid "Burmese" -msgstr "" - -msgid "Norwegian Bokmål" -msgstr "" - -msgid "Nepali" -msgstr "Nepali" - -msgid "Dutch" -msgstr "Dutch" - -msgid "Norwegian Nynorsk" -msgstr "Norwegian Nynorsk" - -msgid "Ossetic" -msgstr "" - -msgid "Punjabi" -msgstr "Punjabi" - -msgid "Polish" -msgstr "Polish" - -msgid "Portuguese" -msgstr "Portuguese" - -msgid "Brazilian Portuguese" -msgstr "Brazilian Portuguese" - -msgid "Romanian" -msgstr "Romanian" - -msgid "Russian" -msgstr "Russian" - -msgid "Slovak" -msgstr "Slovak" - -msgid "Slovenian" -msgstr "Slovenian" - -msgid "Albanian" -msgstr "Albanian" - -msgid "Serbian" -msgstr "Serbian" - -msgid "Serbian Latin" -msgstr "Serbian Latin" - -msgid "Swedish" -msgstr "Swedish" - -msgid "Swahili" -msgstr "Swahili" - -msgid "Tamil" -msgstr "Tamil" - -msgid "Telugu" -msgstr "Telugu" - -msgid "Thai" -msgstr "Thai" - -msgid "Turkish" -msgstr "Turkish" - -msgid "Tatar" -msgstr "Tatar" - -msgid "Udmurt" -msgstr "" - -msgid "Ukrainian" -msgstr "Ukrainian" - -msgid "Urdu" -msgstr "Urdu" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "Vietnamese" - -msgid "Simplified Chinese" -msgstr "Simplified Chinese" - -msgid "Traditional Chinese" -msgstr "Traditional Chinese" - -msgid "Messages" -msgstr "" - -msgid "Site Maps" -msgstr "" - -msgid "Static Files" -msgstr "" - -msgid "Syndication" -msgstr "" - -msgid "That page number is not an integer" -msgstr "" - -msgid "That page number is less than 1" -msgstr "" - -msgid "That page contains no results" -msgstr "" - -msgid "Enter a valid value." -msgstr "Enter a valid value." - -msgid "Enter a valid URL." -msgstr "Enter a valid URL." - -msgid "Enter a valid integer." -msgstr "" - -msgid "Enter a valid email address." -msgstr "" - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "Enter a valid IPv4 address." - -msgid "Enter a valid IPv6 address." -msgstr "Enter a valid IPv6 address." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Enter a valid IPv4 or IPv6 address." - -msgid "Enter only digits separated by commas." -msgstr "Enter only digits separated by commas." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "Ensure this value is %(limit_value)s (it is %(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Ensure this value is less than or equal to %(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Ensure this value is greater than or equal to %(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" - -msgid "Enter a number." -msgstr "Enter a number." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "" - -msgid "and" -msgstr "and" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "" - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "" - -msgid "This field cannot be null." -msgstr "This field cannot be null." - -msgid "This field cannot be blank." -msgstr "This field cannot be blank." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s with this %(field_label)s already exists." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Field of type: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "Boolean (Either True or False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "String (up to %(max_length)s)" - -msgid "Comma-separated integers" -msgstr "Comma-separated integers" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "Date (without time)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "Date (with time)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "Decimal number" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "" - -msgid "Email address" -msgstr "Email address" - -msgid "File path" -msgstr "File path" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "Floating point number" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "Integer" - -msgid "Big (8 byte) integer" -msgstr "Big (8 byte) integer" - -msgid "IPv4 address" -msgstr "IPv4 address" - -msgid "IP address" -msgstr "IP address" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "Boolean (Either True, False or None)" - -msgid "Positive integer" -msgstr "Positive integer" - -msgid "Positive small integer" -msgstr "Positive small integer" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Slug (up to %(max_length)s)" - -msgid "Small integer" -msgstr "Small integer" - -msgid "Text" -msgstr "Text" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "Time" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "" - -msgid "File" -msgstr "File" - -msgid "Image" -msgstr "Image" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "" - -msgid "Foreign Key (type determined by related field)" -msgstr "Foreign Key (type determined by related field)" - -msgid "One-to-one relationship" -msgstr "One-to-one relationship" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "" - -msgid "Many-to-many relationship" -msgstr "Many-to-many relationship" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr "" - -msgid "This field is required." -msgstr "This field is required." - -msgid "Enter a whole number." -msgstr "Enter a whole number." - -msgid "Enter a valid date." -msgstr "Enter a valid date." - -msgid "Enter a valid time." -msgstr "Enter a valid time." - -msgid "Enter a valid date/time." -msgstr "Enter a valid date/time." - -msgid "Enter a valid duration." -msgstr "" - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "" - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "No file was submitted. Check the encoding type on the form." - -msgid "No file was submitted." -msgstr "No file was submitted." - -msgid "The submitted file is empty." -msgstr "The submitted file is empty." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -msgstr[1] "" - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "Please either submit a file or check the clear checkbox, not both." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "Select a valid choice. %(value)s is not one of the available choices." - -msgid "Enter a list of values." -msgstr "Enter a list of values." - -msgid "Enter a complete value." -msgstr "" - -msgid "Enter a valid UUID." -msgstr "" - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr "" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "" -msgstr[1] "" - -msgid "Order" -msgstr "Order" - -msgid "Delete" -msgstr "Delete" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Please correct the duplicate data for %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "Please correct the duplicate data for %(field)s, which must be unique." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "Please correct the duplicate values below." - -msgid "The inline value did not match the parent instance." -msgstr "" - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" -"Select a valid choice. That choice is not one of the available choices." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "Clear" - -msgid "Currently" -msgstr "Currently" - -msgid "Change" -msgstr "Change" - -msgid "Unknown" -msgstr "Unknown" - -msgid "Yes" -msgstr "Yes" - -msgid "No" -msgstr "No" - -msgid "Year" -msgstr "" - -msgid "Month" -msgstr "" - -msgid "Day" -msgstr "" - -msgid "yes,no,maybe" -msgstr "yes,no,maybe" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d byte" -msgstr[1] "%(size)d bytes" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "p.m." - -msgid "a.m." -msgstr "a.m." - -msgid "PM" -msgstr "PM" - -msgid "AM" -msgstr "AM" - -msgid "midnight" -msgstr "midnight" - -msgid "noon" -msgstr "noon" - -msgid "Monday" -msgstr "Monday" - -msgid "Tuesday" -msgstr "Tuesday" - -msgid "Wednesday" -msgstr "Wednesday" - -msgid "Thursday" -msgstr "Thursday" - -msgid "Friday" -msgstr "Friday" - -msgid "Saturday" -msgstr "Saturday" - -msgid "Sunday" -msgstr "Sunday" - -msgid "Mon" -msgstr "Mon" - -msgid "Tue" -msgstr "Tue" - -msgid "Wed" -msgstr "Wed" - -msgid "Thu" -msgstr "Thu" - -msgid "Fri" -msgstr "Fri" - -msgid "Sat" -msgstr "Sat" - -msgid "Sun" -msgstr "Sun" - -msgid "January" -msgstr "January" - -msgid "February" -msgstr "February" - -msgid "March" -msgstr "March" - -msgid "April" -msgstr "April" - -msgid "May" -msgstr "May" - -msgid "June" -msgstr "June" - -msgid "July" -msgstr "July" - -msgid "August" -msgstr "August" - -msgid "September" -msgstr "September" - -msgid "October" -msgstr "October" - -msgid "November" -msgstr "November" - -msgid "December" -msgstr "December" - -msgid "jan" -msgstr "jan" - -msgid "feb" -msgstr "feb" - -msgid "mar" -msgstr "mar" - -msgid "apr" -msgstr "apr" - -msgid "may" -msgstr "may" - -msgid "jun" -msgstr "jun" - -msgid "jul" -msgstr "jul" - -msgid "aug" -msgstr "aug" - -msgid "sep" -msgstr "sep" - -msgid "oct" -msgstr "oct" - -msgid "nov" -msgstr "nov" - -msgid "dec" -msgstr "dec" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Jan." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Feb." - -msgctxt "abbrev. month" -msgid "March" -msgstr "March" - -msgctxt "abbrev. month" -msgid "April" -msgstr "April" - -msgctxt "abbrev. month" -msgid "May" -msgstr "May" - -msgctxt "abbrev. month" -msgid "June" -msgstr "June" - -msgctxt "abbrev. month" -msgid "July" -msgstr "July" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Aug." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Sept." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Oct." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Nov." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Dec." - -msgctxt "alt. month" -msgid "January" -msgstr "January" - -msgctxt "alt. month" -msgid "February" -msgstr "February" - -msgctxt "alt. month" -msgid "March" -msgstr "March" - -msgctxt "alt. month" -msgid "April" -msgstr "April" - -msgctxt "alt. month" -msgid "May" -msgstr "May" - -msgctxt "alt. month" -msgid "June" -msgstr "June" - -msgctxt "alt. month" -msgid "July" -msgstr "July" - -msgctxt "alt. month" -msgid "August" -msgstr "August" - -msgctxt "alt. month" -msgid "September" -msgstr "September" - -msgctxt "alt. month" -msgid "October" -msgstr "October" - -msgctxt "alt. month" -msgid "November" -msgstr "November" - -msgctxt "alt. month" -msgid "December" -msgstr "December" - -msgid "This is not a valid IPv6 address." -msgstr "" - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "" - -msgid "or" -msgstr "or" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "" -msgstr[1] "" - -msgid "0 minutes" -msgstr "" - -msgid "Forbidden" -msgstr "" - -msgid "CSRF verification failed. Request aborted." -msgstr "" - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "" - -msgid "No year specified" -msgstr "No year specified" - -msgid "Date out of range" -msgstr "" - -msgid "No month specified" -msgstr "No month specified" - -msgid "No day specified" -msgstr "No day specified" - -msgid "No week specified" -msgstr "No week specified" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "No %(verbose_name_plural)s available" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "No %(verbose_name)s found matching the query" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "Directory indexes are not allowed here." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Index of %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" - -msgid "The install worked successfully! Congratulations!" -msgstr "" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" - -msgid "Django Documentation" -msgstr "" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "" - -msgid "Get started with Django" -msgstr "" - -msgid "Django Community" -msgstr "" - -msgid "Connect, get help, or contribute" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/en_GB/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/en_GB/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/en_GB/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/en_GB/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index ad998589..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/en_GB/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/en_GB/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/en_GB/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 3aa4b245..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/en_GB/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/en_GB/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/en_GB/formats.py deleted file mode 100644 index 8895179e..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/en_GB/formats.py +++ /dev/null @@ -1,36 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'j M Y' # '25 Oct 2006' -TIME_FORMAT = 'P' # '2:30 p.m.' -DATETIME_FORMAT = 'j M Y, P' # '25 Oct 2006, 2:30 p.m.' -YEAR_MONTH_FORMAT = 'F Y' # 'October 2006' -MONTH_DAY_FORMAT = 'j F' # '25 October' -SHORT_DATE_FORMAT = 'd/m/Y' # '25/10/2006' -SHORT_DATETIME_FORMAT = 'd/m/Y P' # '25/10/2006 2:30 p.m.' -FIRST_DAY_OF_WEEK = 1 # Monday - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -DATE_INPUT_FORMATS = [ - '%d/%m/%Y', '%d/%m/%y', # '25/10/2006', '25/10/06' - # '%b %d %Y', '%b %d, %Y', # 'Oct 25 2006', 'Oct 25, 2006' - # '%d %b %Y', '%d %b, %Y', # '25 Oct 2006', '25 Oct, 2006' - # '%B %d %Y', '%B %d, %Y', # 'October 25 2006', 'October 25, 2006' - # '%d %B %Y', '%d %B, %Y', # '25 October 2006', '25 October, 2006' -] -DATETIME_INPUT_FORMATS = [ - '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59' - '%Y-%m-%d %H:%M:%S.%f', # '2006-10-25 14:30:59.000200' - '%Y-%m-%d %H:%M', # '2006-10-25 14:30' - '%d/%m/%Y %H:%M:%S', # '25/10/2006 14:30:59' - '%d/%m/%Y %H:%M:%S.%f', # '25/10/2006 14:30:59.000200' - '%d/%m/%Y %H:%M', # '25/10/2006 14:30' - '%d/%m/%y %H:%M:%S', # '25/10/06 14:30:59' - '%d/%m/%y %H:%M:%S.%f', # '25/10/06 14:30:59.000200' - '%d/%m/%y %H:%M', # '25/10/06 14:30' -] -DECIMAL_SEPARATOR = '.' -THOUSAND_SEPARATOR = ',' -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/eo/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/eo/LC_MESSAGES/django.mo deleted file mode 100644 index eb4dfc28..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/eo/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/eo/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/eo/LC_MESSAGES/django.po deleted file mode 100644 index 05d9161f..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/eo/LC_MESSAGES/django.po +++ /dev/null @@ -1,1251 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Baptiste Darthenay , 2012-2013 -# Baptiste Darthenay , 2013-2019 -# batisteo , 2011 -# Dinu Gherman , 2011 -# kristjan , 2011 -# Nikolay Korotkiy , 2017-2018 -# Robin van der Vliet , 2019 -# Adamo Mesha , 2012 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-27 22:40+0200\n" -"PO-Revision-Date: 2019-11-05 00:38+0000\n" -"Last-Translator: Ramiro Morales\n" -"Language-Team: Esperanto (http://www.transifex.com/django/django/language/" -"eo/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: eo\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "Afrikaans" -msgstr "Afrikansa" - -msgid "Arabic" -msgstr "Araba" - -msgid "Asturian" -msgstr "Asturia" - -msgid "Azerbaijani" -msgstr "Azerbajĝana" - -msgid "Bulgarian" -msgstr "Bulgara" - -msgid "Belarusian" -msgstr "Belorusa" - -msgid "Bengali" -msgstr "Bengala" - -msgid "Breton" -msgstr "Bretona" - -msgid "Bosnian" -msgstr "Bosnia" - -msgid "Catalan" -msgstr "Kataluna" - -msgid "Czech" -msgstr "Ĉeĥa" - -msgid "Welsh" -msgstr "Kimra" - -msgid "Danish" -msgstr "Dana" - -msgid "German" -msgstr "Germana" - -msgid "Lower Sorbian" -msgstr "Malsuprasaroba" - -msgid "Greek" -msgstr "Greka" - -msgid "English" -msgstr "Angla" - -msgid "Australian English" -msgstr "Angla (Aŭstralia)" - -msgid "British English" -msgstr "Angla (Brita)" - -msgid "Esperanto" -msgstr "Esperanto" - -msgid "Spanish" -msgstr "Hispana" - -msgid "Argentinian Spanish" -msgstr "Hispana (Argentinio)" - -msgid "Colombian Spanish" -msgstr "Hispana (Kolombio)" - -msgid "Mexican Spanish" -msgstr "Hispana (Meksiko)" - -msgid "Nicaraguan Spanish" -msgstr "Hispana (Nikaragvo)" - -msgid "Venezuelan Spanish" -msgstr "Hispana (Venezuelo)" - -msgid "Estonian" -msgstr "Estona" - -msgid "Basque" -msgstr "Eŭska" - -msgid "Persian" -msgstr "Persa" - -msgid "Finnish" -msgstr "Finna" - -msgid "French" -msgstr "Franca" - -msgid "Frisian" -msgstr "Frisa" - -msgid "Irish" -msgstr "Irlanda" - -msgid "Scottish Gaelic" -msgstr "Skota gaela" - -msgid "Galician" -msgstr "Galega" - -msgid "Hebrew" -msgstr "Hebrea" - -msgid "Hindi" -msgstr "Hinda" - -msgid "Croatian" -msgstr "Kroata" - -msgid "Upper Sorbian" -msgstr "Suprasoraba" - -msgid "Hungarian" -msgstr "Hungara" - -msgid "Armenian" -msgstr "Armena" - -msgid "Interlingua" -msgstr "Interlingvaa" - -msgid "Indonesian" -msgstr "Indoneza" - -msgid "Ido" -msgstr "Ido" - -msgid "Icelandic" -msgstr "Islanda" - -msgid "Italian" -msgstr "Itala" - -msgid "Japanese" -msgstr "Japana" - -msgid "Georgian" -msgstr "Kartvela" - -msgid "Kabyle" -msgstr "Kabila" - -msgid "Kazakh" -msgstr "Kazaĥa" - -msgid "Khmer" -msgstr "Kmera" - -msgid "Kannada" -msgstr "Kanara" - -msgid "Korean" -msgstr "Korea" - -msgid "Luxembourgish" -msgstr "Lukszemburga" - -msgid "Lithuanian" -msgstr "Litova" - -msgid "Latvian" -msgstr "Latva" - -msgid "Macedonian" -msgstr "Makedona" - -msgid "Malayalam" -msgstr "Malajala" - -msgid "Mongolian" -msgstr "Mongola" - -msgid "Marathi" -msgstr "Marata" - -msgid "Burmese" -msgstr "Birma" - -msgid "Norwegian Bokmål" -msgstr "Norvega Bbokmål" - -msgid "Nepali" -msgstr "Nepala" - -msgid "Dutch" -msgstr "Nederlanda" - -msgid "Norwegian Nynorsk" -msgstr "Norvega (nynorsk)" - -msgid "Ossetic" -msgstr "Oseta" - -msgid "Punjabi" -msgstr "Panĝaba" - -msgid "Polish" -msgstr "Pola" - -msgid "Portuguese" -msgstr "Portugala" - -msgid "Brazilian Portuguese" -msgstr "Portugala (Brazilo)" - -msgid "Romanian" -msgstr "Rumana" - -msgid "Russian" -msgstr "Rusa" - -msgid "Slovak" -msgstr "Slovaka" - -msgid "Slovenian" -msgstr "Slovena" - -msgid "Albanian" -msgstr "Albana" - -msgid "Serbian" -msgstr "Serba" - -msgid "Serbian Latin" -msgstr "Serba (latina)" - -msgid "Swedish" -msgstr "Sveda" - -msgid "Swahili" -msgstr "Svahila" - -msgid "Tamil" -msgstr "Tamila" - -msgid "Telugu" -msgstr "Telugua" - -msgid "Thai" -msgstr "Taja" - -msgid "Turkish" -msgstr "Turka" - -msgid "Tatar" -msgstr "Tatara" - -msgid "Udmurt" -msgstr "Udmurta" - -msgid "Ukrainian" -msgstr "Ukraina" - -msgid "Urdu" -msgstr "Urdua" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "Vjetnama" - -msgid "Simplified Chinese" -msgstr "Ĉina (simpligite)" - -msgid "Traditional Chinese" -msgstr "Ĉina (tradicie)" - -msgid "Messages" -msgstr "Mesaĝoj" - -msgid "Site Maps" -msgstr "Retejaj mapoj" - -msgid "Static Files" -msgstr "Statikaj dosieroj" - -msgid "Syndication" -msgstr "Abonrilato" - -msgid "That page number is not an integer" -msgstr "Tuo paĝnumero ne estas entjero" - -msgid "That page number is less than 1" -msgstr "Tuo paĝnumero estas malpli ol 1" - -msgid "That page contains no results" -msgstr "Tiu paĝo ne enhavas rezultojn" - -msgid "Enter a valid value." -msgstr "Enigu validan valoron." - -msgid "Enter a valid URL." -msgstr "Enigu validan adreson." - -msgid "Enter a valid integer." -msgstr "Enigu validan entjero." - -msgid "Enter a valid email address." -msgstr "Enigu validan retpoŝtan adreson." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "Enigu validan IPv4-adreson." - -msgid "Enter a valid IPv6 address." -msgstr "Enigu validan IPv6-adreson." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Enigu validan IPv4 aŭ IPv6-adreson." - -msgid "Enter only digits separated by commas." -msgstr "Enigu nur ciferojn apartigitajn per komoj." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" -"Certigu ke ĉi tiu valoro estas %(limit_value)s (ĝi estas %(show_value)s). " - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Certigu ke ĉi tiu valoro estas malpli ol aŭ egala al %(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Certigu ke ĉi tiu valoro estas pli ol aŭ egala al %(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Certigu, ke tiu valoro havas %(limit_value)d signon (ĝi havas " -"%(show_value)d)." -msgstr[1] "" -"Certigu, ke tiu valoro havas %(limit_value)d signojn (ĝi havas " -"%(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Certigu, ke tio valuto maksimume havas %(limit_value)d karakterojn (ĝi havas " -"%(show_value)d)." -msgstr[1] "" -"Certigu, ke tiu valoro maksimume havas %(limit_value)d signojn (ĝi havas " -"%(show_value)d)." - -msgid "Enter a number." -msgstr "Enigu nombron." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Certigu ke ne estas pli ol %(max)s cifero entute." -msgstr[1] "Certigu ke ne estas pli ol %(max)s ciferoj entute." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "Certigu, ke ne estas pli ol %(max)s dekumaj lokoj." -msgstr[1] "Certigu, ke ne estas pli ol %(max)s dekumaj lokoj." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "Certigu ke ne estas pli ol %(max)s ciferoj antaŭ la dekuma punkto." -msgstr[1] "Certigu ke ne estas pli ol %(max)s ciferoj antaŭ la dekuma punkto." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "Nulsignoj ne estas permesitaj." - -msgid "and" -msgstr "kaj" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "%(model_name)s kun tiuj %(field_labels)s jam ekzistas." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "Valoro %(value)r ne estas valida elekto." - -msgid "This field cannot be null." -msgstr "Tiu ĉi kampo ne povas esti senvalora (null)." - -msgid "This field cannot be blank." -msgstr "Tiu ĉi kampo ne povas esti malplena." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s kun tiu %(field_label)s jam ekzistas." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(field_label)s devas esti unika por %(date_field_label)s %(lookup_type)s." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Kampo de tipo: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "Bulea (Vera aŭ Malvera)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Ĉeno (ĝis %(max_length)s)" - -msgid "Comma-separated integers" -msgstr "Kom-apartigitaj entjeroj" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "Dato (sen horo)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "Dato (kun horo)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "Dekuma nombro" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "Daŭro" - -msgid "Email address" -msgstr "Retpoŝtadreso" - -msgid "File path" -msgstr "Dosiervojo" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "Glitkoma nombro" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "Entjero" - -msgid "Big (8 byte) integer" -msgstr "Granda (8 bitoka) entjero" - -msgid "IPv4 address" -msgstr "IPv4-adreso" - -msgid "IP address" -msgstr "IP-adreso" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "Buleo (Vera, Malvera aŭ Neniu)" - -msgid "Positive integer" -msgstr "Pozitiva entjero" - -msgid "Positive small integer" -msgstr "Pozitiva malgranda entjero" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Ĵetonvorto (ĝis %(max_length)s)" - -msgid "Small integer" -msgstr "Malgranda entjero" - -msgid "Text" -msgstr "Teksto" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "Horo" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Kruda binara datumo" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "Universe unika identigilo" - -msgid "File" -msgstr "Dosiero" - -msgid "Image" -msgstr "Bildo" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "%(model)s kazo kun %(field)s %(value)r ne ekzistas." - -msgid "Foreign Key (type determined by related field)" -msgstr "Fremda ŝlosilo (tipo determinita per rilata kampo)" - -msgid "One-to-one relationship" -msgstr "Unu-al-unu rilato" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "%(from)s-%(to)s rilato" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "%(from)s-%(to)s rilatoj" - -msgid "Many-to-many relationship" -msgstr "Mult-al-multa rilato" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Ĉi tiu kampo estas deviga." - -msgid "Enter a whole number." -msgstr "Enigu plenan nombron." - -msgid "Enter a valid date." -msgstr "Enigu validan daton." - -msgid "Enter a valid time." -msgstr "Enigu validan horon." - -msgid "Enter a valid date/time." -msgstr "Enigu validan daton/tempon." - -msgid "Enter a valid duration." -msgstr "Enigu validan daŭron." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "La nombro da tagoj devas esti inter {min_days} kaj {max_days}." - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "" -"Neniu dosiero estis alŝutita. Kontrolu la kodoprezentan tipon en la " -"formularo." - -msgid "No file was submitted." -msgstr "Neniu dosiero estis alŝutita." - -msgid "The submitted file is empty." -msgstr "La alŝutita dosiero estas malplena." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Certigu, ke tio dosiernomo maksimume havas %(max)d karakteron (ĝi havas " -"%(length)d)." -msgstr[1] "" -"Certigu, ke tiu dosiernomo maksimume havas %(max)d signojn (ĝi havas " -"%(length)d)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" -"Bonvolu aŭ alŝuti dosieron, aŭ elekti la malplenan markobutonon, ne ambaŭ." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Alŝutu validan bildon. La alŝutita dosiero ne estas bildo, aŭ estas " -"difektita bildo." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "Elektu validan elekton. %(value)s ne estas el la eblaj elektoj." - -msgid "Enter a list of values." -msgstr "Enigu liston de valoroj." - -msgid "Enter a complete value." -msgstr "Enigu kompletan valoron." - -msgid "Enter a valid UUID." -msgstr "Enigu validan UUID-n." - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Kaŝita kampo %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "ManagementForm datumoj mankas, aŭ estas tuŝaĉitaj kun" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Bonvolu sendi %d aŭ malpli formularojn." -msgstr[1] "Bonvolu sendi %d aŭ malpli formularojn." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "Bonvolu sendi %d aŭ pli formularojn." -msgstr[1] "Bonvolu sendi %d aŭ pli formularojn." - -msgid "Order" -msgstr "Ordo" - -msgid "Delete" -msgstr "Forigi" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Bonvolu ĝustigi la duoblan datumon por %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"Bonvolu ĝustigi la duoblan datumon por %(field)s, kiu devas esti unika." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Bonvolu ĝustigi la duoblan datumon por %(field_name)s, kiu devas esti unika " -"por la %(lookup)s en %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "Bonvolu ĝustigi la duoblan valoron sube." - -msgid "The inline value did not match the parent instance." -msgstr "La enteksta valoro ne egalas la patran aperon." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "Elektu validan elekton. Ĉi tiu elekto ne estas el la eblaj elektoj." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "Vakigi" - -msgid "Currently" -msgstr "Nuntempe" - -msgid "Change" -msgstr "Ŝanĝi" - -msgid "Unknown" -msgstr "Nekonate" - -msgid "Yes" -msgstr "Jes" - -msgid "No" -msgstr "Ne" - -msgid "Year" -msgstr "" - -msgid "Month" -msgstr "" - -msgid "Day" -msgstr "" - -msgid "yes,no,maybe" -msgstr "jes,ne,eble" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d bitoko" -msgstr[1] "%(size)d bitokoj" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "ptm" - -msgid "a.m." -msgstr "atm" - -msgid "PM" -msgstr "PTM" - -msgid "AM" -msgstr "ATM" - -msgid "midnight" -msgstr "noktomezo" - -msgid "noon" -msgstr "tagmezo" - -msgid "Monday" -msgstr "lundo" - -msgid "Tuesday" -msgstr "mardo" - -msgid "Wednesday" -msgstr "merkredo" - -msgid "Thursday" -msgstr "ĵaŭdo" - -msgid "Friday" -msgstr "vendredo" - -msgid "Saturday" -msgstr "sabato" - -msgid "Sunday" -msgstr "dimanĉo" - -msgid "Mon" -msgstr "lun" - -msgid "Tue" -msgstr "mar" - -msgid "Wed" -msgstr "mer" - -msgid "Thu" -msgstr "ĵaŭ" - -msgid "Fri" -msgstr "ven" - -msgid "Sat" -msgstr "sab" - -msgid "Sun" -msgstr "dim" - -msgid "January" -msgstr "januaro" - -msgid "February" -msgstr "februaro" - -msgid "March" -msgstr "marto" - -msgid "April" -msgstr "aprilo" - -msgid "May" -msgstr "majo" - -msgid "June" -msgstr "junio" - -msgid "July" -msgstr "julio" - -msgid "August" -msgstr "aŭgusto" - -msgid "September" -msgstr "septembro" - -msgid "October" -msgstr "oktobro" - -msgid "November" -msgstr "novembro" - -msgid "December" -msgstr "decembro" - -msgid "jan" -msgstr "jan" - -msgid "feb" -msgstr "feb" - -msgid "mar" -msgstr "mar" - -msgid "apr" -msgstr "apr" - -msgid "may" -msgstr "maj" - -msgid "jun" -msgstr "jun" - -msgid "jul" -msgstr "jul" - -msgid "aug" -msgstr "aŭg" - -msgid "sep" -msgstr "sep" - -msgid "oct" -msgstr "okt" - -msgid "nov" -msgstr "nov" - -msgid "dec" -msgstr "dec" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "jan." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "feb." - -msgctxt "abbrev. month" -msgid "March" -msgstr "marto" - -msgctxt "abbrev. month" -msgid "April" -msgstr "apr." - -msgctxt "abbrev. month" -msgid "May" -msgstr "majo" - -msgctxt "abbrev. month" -msgid "June" -msgstr "jun." - -msgctxt "abbrev. month" -msgid "July" -msgstr "jul." - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "aŭg." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "sept." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "okt." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "nov." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "dec." - -msgctxt "alt. month" -msgid "January" -msgstr "Januaro" - -msgctxt "alt. month" -msgid "February" -msgstr "Februaro" - -msgctxt "alt. month" -msgid "March" -msgstr "Marto" - -msgctxt "alt. month" -msgid "April" -msgstr "Aprilo" - -msgctxt "alt. month" -msgid "May" -msgstr "Majo" - -msgctxt "alt. month" -msgid "June" -msgstr "Junio" - -msgctxt "alt. month" -msgid "July" -msgstr "Julio" - -msgctxt "alt. month" -msgid "August" -msgstr "Aŭgusto" - -msgctxt "alt. month" -msgid "September" -msgstr "Septembro" - -msgctxt "alt. month" -msgid "October" -msgstr "Oktobro" - -msgctxt "alt. month" -msgid "November" -msgstr "Novembro" - -msgctxt "alt. month" -msgid "December" -msgstr "Decembro" - -msgid "This is not a valid IPv6 address." -msgstr "Tiu ne estas valida IPv6-adreso." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s…" - -msgid "or" -msgstr "aŭ" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d jaro" -msgstr[1] "%d jaroj" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d monato" -msgstr[1] "%d monatoj" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d semajno" -msgstr[1] "%d semajnoj" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d tago" -msgstr[1] "%d tagoj" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d horo" -msgstr[1] "%d horoj" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d minuto" -msgstr[1] "%d minutoj" - -msgid "0 minutes" -msgstr "0 minutoj" - -msgid "Forbidden" -msgstr "Malpermesa" - -msgid "CSRF verification failed. Request aborted." -msgstr "CSRF konfirmo malsukcesis. Peto ĉesigita." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Vi vidas tiun mesaĝon ĉar tiu-ĉi retejo postulas CSRF kuketon sendante " -"formojn. Tiu-ĉi kuketo estas bezonata pro motivoj de sekureco, por certigi " -"ke via retumilo ne esti forrabita de triaj partioj." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "Pliaj informoj estas videblaj kun DEBUG=True." - -msgid "No year specified" -msgstr "Neniu jaro specifita" - -msgid "Date out of range" -msgstr "Dato ne en la intervalo" - -msgid "No month specified" -msgstr "Neniu monato specifita" - -msgid "No day specified" -msgstr "Neniu tago specifita" - -msgid "No week specified" -msgstr "Neniu semajno specifita" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "Neniu %(verbose_name_plural)s disponeblaj" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"Estonta %(verbose_name_plural)s ne disponeblas ĉar %(class_name)s." -"allow_future estas Malvera." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Neniu %(verbose_name)s trovita kongruas kun la informpeto" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Nevalida paĝo (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "Dosierujaj indeksoj ne estas permesitaj tie." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Indekso de %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "Dĵango: la retframo por perfektemuloj kun limdatoj" - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"Vidu eldonajn notojn por Dĵango %(version)s" - -msgid "The install worked successfully! Congratulations!" -msgstr "La instalado sukcesis! Gratulojn!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"Vi vidas ĉi tiun paĝon ĉar DEBUG = " -"True estas en via agorda dosiero kaj vi ne agordis ajnan URL." - -msgid "Django Documentation" -msgstr "Djanga dokumentaro" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "Instruilo: apo pri enketoj" - -msgid "Get started with Django" -msgstr "Komencu kun Dĵango" - -msgid "Django Community" -msgstr "Djanga komunumo" - -msgid "Connect, get help, or contribute" -msgstr "Konektiĝu, ricevu helpon aŭ kontribuu" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/eo/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/eo/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/eo/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/eo/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index cc0923d9..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/eo/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/eo/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/eo/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 8017e6ac..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/eo/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/eo/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/eo/formats.py deleted file mode 100644 index 604e5f5b..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/eo/formats.py +++ /dev/null @@ -1,47 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = r'j\-\a \d\e F Y' # '26-a de julio 1887' -TIME_FORMAT = 'H:i' # '18:59' -DATETIME_FORMAT = r'j\-\a \d\e F Y\, \j\e H:i' # '26-a de julio 1887, je 18:59' -YEAR_MONTH_FORMAT = r'F \d\e Y' # 'julio de 1887' -MONTH_DAY_FORMAT = r'j\-\a \d\e F' # '26-a de julio' -SHORT_DATE_FORMAT = 'Y-m-d' # '1887-07-26' -SHORT_DATETIME_FORMAT = 'Y-m-d H:i' # '1887-07-26 18:59' -FIRST_DAY_OF_WEEK = 1 # Monday (lundo) - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -DATE_INPUT_FORMATS = [ - '%Y-%m-%d', # '1887-07-26' - '%y-%m-%d', # '87-07-26' - '%Y %m %d', # '1887 07 26' - '%Y.%m.%d', # '1887.07.26' - '%d-a de %b %Y', # '26-a de jul 1887' - '%d %b %Y', # '26 jul 1887' - '%d-a de %B %Y', # '26-a de julio 1887' - '%d %B %Y', # '26 julio 1887' - '%d %m %Y', # '26 07 1887' - '%d/%m/%Y', # '26/07/1887' -] -TIME_INPUT_FORMATS = [ - '%H:%M:%S', # '18:59:00' - '%H:%M', # '18:59' -] -DATETIME_INPUT_FORMATS = [ - '%Y-%m-%d %H:%M:%S', # '1887-07-26 18:59:00' - '%Y-%m-%d %H:%M', # '1887-07-26 18:59' - - '%Y.%m.%d %H:%M:%S', # '1887.07.26 18:59:00' - '%Y.%m.%d %H:%M', # '1887.07.26 18:59' - - '%d/%m/%Y %H:%M:%S', # '26/07/1887 18:59:00' - '%d/%m/%Y %H:%M', # '26/07/1887 18:59' - - '%y-%m-%d %H:%M:%S', # '87-07-26 18:59:00' - '%y-%m-%d %H:%M', # '87-07-26 18:59' -] -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = '\xa0' # non-breaking space -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/es/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/es/LC_MESSAGES/django.mo deleted file mode 100644 index d2b4e206..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/es/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/es/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/es/LC_MESSAGES/django.po deleted file mode 100644 index 2492b0bc..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/es/LC_MESSAGES/django.po +++ /dev/null @@ -1,1330 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Abe Estrada, 2013 -# albertoalcolea , 2014 -# Amanda Copete, 2017 -# Antoni Aloy , 2011-2014,2017,2019 -# Claude Paroz , 2020 -# Diego Andres Sanabria Martin , 2012 -# Diego Schulz , 2012 -# Ernesto Avilés, 2015-2016 -# Ernesto Avilés, 2014 -# Ernesto Avilés, 2020 -# Ernesto Rico Schmidt , 2017 -# 8cb2d5a716c3c9a99b6d20472609a4d5_6d03802 , 2011 -# Ignacio José Lizarán Rus , 2019 -# Igor Támara , 2015 -# Jannis Leidel , 2011 -# José Luis , 2016 -# Josue Naaman Nistal Guerra , 2014 -# Leonardo J. Caballero G. , 2011,2013 -# Luigy, 2019 -# Marc Garcia , 2011 -# monobotsoft , 2012 -# ntrrgc , 2013 -# ntrrgc , 2013 -# Pablo, 2015 -# Sebastián Magrí, 2013 -# Uriel Medina , 2020 -# Veronicabh , 2015 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-09-28 03:17+0000\n" -"Last-Translator: Uriel Medina \n" -"Language-Team: Spanish (http://www.transifex.com/django/django/language/" -"es/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "Afrikaans" -msgstr "Africano" - -msgid "Arabic" -msgstr "Árabe" - -msgid "Algerian Arabic" -msgstr "Árabe argelino" - -msgid "Asturian" -msgstr "Asturiano" - -msgid "Azerbaijani" -msgstr "Azerbaiyán" - -msgid "Bulgarian" -msgstr "Búlgaro" - -msgid "Belarusian" -msgstr "Bielorruso" - -msgid "Bengali" -msgstr "Bengalí" - -msgid "Breton" -msgstr "Bretón" - -msgid "Bosnian" -msgstr "Bosnio" - -msgid "Catalan" -msgstr "Catalán" - -msgid "Czech" -msgstr "Checo" - -msgid "Welsh" -msgstr "Galés" - -msgid "Danish" -msgstr "Danés" - -msgid "German" -msgstr "Alemán" - -msgid "Lower Sorbian" -msgstr "Bajo sorbio" - -msgid "Greek" -msgstr "Griego" - -msgid "English" -msgstr "Inglés" - -msgid "Australian English" -msgstr "Inglés australiano" - -msgid "British English" -msgstr "Inglés británico" - -msgid "Esperanto" -msgstr "Esperanto" - -msgid "Spanish" -msgstr "Español" - -msgid "Argentinian Spanish" -msgstr "Español de Argentina" - -msgid "Colombian Spanish" -msgstr "Español de Colombia" - -msgid "Mexican Spanish" -msgstr "Español de México" - -msgid "Nicaraguan Spanish" -msgstr "Español de Nicaragua" - -msgid "Venezuelan Spanish" -msgstr "Español de Venezuela" - -msgid "Estonian" -msgstr "Estonio" - -msgid "Basque" -msgstr "Vasco" - -msgid "Persian" -msgstr "Persa" - -msgid "Finnish" -msgstr "Finés" - -msgid "French" -msgstr "Francés" - -msgid "Frisian" -msgstr "Frisón" - -msgid "Irish" -msgstr "Irlandés" - -msgid "Scottish Gaelic" -msgstr "Gaélico Escocés" - -msgid "Galician" -msgstr "Gallego" - -msgid "Hebrew" -msgstr "Hebreo" - -msgid "Hindi" -msgstr "Hindi" - -msgid "Croatian" -msgstr "Croata" - -msgid "Upper Sorbian" -msgstr "Alto sorbio" - -msgid "Hungarian" -msgstr "Húngaro" - -msgid "Armenian" -msgstr "Armenio" - -msgid "Interlingua" -msgstr "Interlingua" - -msgid "Indonesian" -msgstr "Indonesio" - -msgid "Igbo" -msgstr "Igbo" - -msgid "Ido" -msgstr "Ido" - -msgid "Icelandic" -msgstr "Islandés" - -msgid "Italian" -msgstr "Italiano" - -msgid "Japanese" -msgstr "Japonés" - -msgid "Georgian" -msgstr "Georgiano" - -msgid "Kabyle" -msgstr "Cabilio" - -msgid "Kazakh" -msgstr "Kazajo" - -msgid "Khmer" -msgstr "Khmer" - -msgid "Kannada" -msgstr "Kannada" - -msgid "Korean" -msgstr "Coreano" - -msgid "Kyrgyz" -msgstr "Kirguís" - -msgid "Luxembourgish" -msgstr "Luxenburgués" - -msgid "Lithuanian" -msgstr "Lituano" - -msgid "Latvian" -msgstr "Letón" - -msgid "Macedonian" -msgstr "Macedonio" - -msgid "Malayalam" -msgstr "Malayalam" - -msgid "Mongolian" -msgstr "Mongol" - -msgid "Marathi" -msgstr "Maratí" - -msgid "Burmese" -msgstr "Birmano" - -msgid "Norwegian Bokmål" -msgstr "Bokmål noruego" - -msgid "Nepali" -msgstr "Nepalí" - -msgid "Dutch" -msgstr "Holandés" - -msgid "Norwegian Nynorsk" -msgstr "Nynorsk" - -msgid "Ossetic" -msgstr "Osetio" - -msgid "Punjabi" -msgstr "Panyabí" - -msgid "Polish" -msgstr "Polaco" - -msgid "Portuguese" -msgstr "Portugués" - -msgid "Brazilian Portuguese" -msgstr "Portugués de Brasil" - -msgid "Romanian" -msgstr "Rumano" - -msgid "Russian" -msgstr "Ruso" - -msgid "Slovak" -msgstr "Eslovaco" - -msgid "Slovenian" -msgstr "Esloveno" - -msgid "Albanian" -msgstr "Albanés" - -msgid "Serbian" -msgstr "Serbio" - -msgid "Serbian Latin" -msgstr "Serbio latino" - -msgid "Swedish" -msgstr "Sueco" - -msgid "Swahili" -msgstr "Suajili" - -msgid "Tamil" -msgstr "Tamil" - -msgid "Telugu" -msgstr "Telugu" - -msgid "Tajik" -msgstr "Tayiko" - -msgid "Thai" -msgstr "Tailandés" - -msgid "Turkmen" -msgstr "Turcomanos" - -msgid "Turkish" -msgstr "Turco" - -msgid "Tatar" -msgstr "Tártaro" - -msgid "Udmurt" -msgstr "Udmurt" - -msgid "Ukrainian" -msgstr "Ucraniano" - -msgid "Urdu" -msgstr "Urdu" - -msgid "Uzbek" -msgstr "Uzbeko" - -msgid "Vietnamese" -msgstr "Vietnamita" - -msgid "Simplified Chinese" -msgstr "Chino simplificado" - -msgid "Traditional Chinese" -msgstr "Chino tradicional" - -msgid "Messages" -msgstr "Mensajes" - -msgid "Site Maps" -msgstr "Mapas del sitio" - -msgid "Static Files" -msgstr "Archivos estáticos" - -msgid "Syndication" -msgstr "Sindicación" - -msgid "That page number is not an integer" -msgstr "Este número de página no es un entero" - -msgid "That page number is less than 1" -msgstr "Este número de página es menor que 1" - -msgid "That page contains no results" -msgstr "Esa página no contiene resultados" - -msgid "Enter a valid value." -msgstr "Introduzca un valor válido." - -msgid "Enter a valid URL." -msgstr "Introduzca una URL válida." - -msgid "Enter a valid integer." -msgstr "Introduzca un número entero válido." - -msgid "Enter a valid email address." -msgstr "Introduzca una dirección de correo electrónico válida." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" -"Introduzca un 'slug' válido, consistente en letras, números, guiones bajos o " -"medios." - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" -"Introduzca un 'slug' válido, consistente en letras, números, guiones bajos o " -"medios de Unicode." - -msgid "Enter a valid IPv4 address." -msgstr "Introduzca una dirección IPv4 válida." - -msgid "Enter a valid IPv6 address." -msgstr "Introduzca una dirección IPv6 válida." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Introduzca una dirección IPv4 o IPv6 válida." - -msgid "Enter only digits separated by commas." -msgstr "Introduzca sólo dígitos separados por comas." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" -"Asegúrese de que este valor es %(limit_value)s (actualmente es " -"%(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Asegúrese de que este valor es menor o igual a %(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Asegúrese de que este valor es mayor o igual a %(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Asegúrese de que este valor tenga al menos %(limit_value)d caracter (tiene " -"%(show_value)d)." -msgstr[1] "" -"Asegúrese de que este valor tenga al menos %(limit_value)d carácter(es) " -"(tiene%(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Asegúrese de que este valor tenga menos de %(limit_value)d caracter (tiene " -"%(show_value)d)." -msgstr[1] "" -"Asegúrese de que este valor tenga menos de %(limit_value)d caracteres (tiene " -"%(show_value)d)." - -msgid "Enter a number." -msgstr "Introduzca un número." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Asegúrese de que no hay más de %(max)s dígito en total." -msgstr[1] "Asegúrese de que no haya más de %(max)s dígitos en total." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "Asegúrese de que no haya más de %(max)s dígito decimal." -msgstr[1] "Asegúrese de que no haya más de %(max)s dígitos decimales." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -"Asegúrese de que no haya más de %(max)s dígito antes del punto decimal" -msgstr[1] "" -"Asegúrese de que no haya más de %(max)s dígitos antes del punto decimal." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" -"La extensión de archivo “%(extension)s” no esta permitida. Las extensiones " -"permitidas son: %(allowed_extensions)s." - -msgid "Null characters are not allowed." -msgstr "Los caracteres nulos no están permitidos." - -msgid "and" -msgstr "y" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "%(model_name)s con este %(field_labels)s ya existe." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "Valor %(value)r no es una opción válida." - -msgid "This field cannot be null." -msgstr "Este campo no puede ser nulo." - -msgid "This field cannot be blank." -msgstr "Este campo no puede estar vacío." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "Ya existe %(model_name)s con este %(field_label)s." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(field_label)s debe ser único para %(date_field_label)s %(lookup_type)s." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Campo de tipo: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "“%(value)s”: el valor debe ser Verdadero o Falso." - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "“%(value)s”: el valor debe ser Verdadero, Falso o Nulo." - -msgid "Boolean (Either True or False)" -msgstr "Booleano (Verdadero o Falso)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Cadena (máximo %(max_length)s)" - -msgid "Comma-separated integers" -msgstr "Enteros separados por coma" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" -"“%(value)s” : el valor tiene un formato de fecha inválido. Debería estar en " -"el formato YYYY-MM-DD." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" -"“%(value)s” : el valor tiene el formato correcto (YYYY-MM-DD) pero es una " -"fecha inválida." - -msgid "Date (without time)" -msgstr "Fecha (sin hora)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" -"“%(value)s”: el valor tiene un formato inválido. Debería estar en el formato " -"YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" -"“%(value)s”: el valor tiene el formato correcto (YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ]) pero es una fecha inválida." - -msgid "Date (with time)" -msgstr "Fecha (con hora)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "“%(value)s”: el valor debe ser un número decimal." - -msgid "Decimal number" -msgstr "Número decimal" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" -"“%(value)s”: el valor tiene un formato inválido. Debería estar en el formato " -"[DD] [[HH:]MM:]ss[.uuuuuu]" - -msgid "Duration" -msgstr "Duración" - -msgid "Email address" -msgstr "Correo electrónico" - -msgid "File path" -msgstr "Ruta de fichero" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "“%(value)s”: el valor debería ser un número de coma flotante." - -msgid "Floating point number" -msgstr "Número en coma flotante" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "“%(value)s”: el valor debería ser un numero entero" - -msgid "Integer" -msgstr "Entero" - -msgid "Big (8 byte) integer" -msgstr "Entero grande (8 bytes)" - -msgid "IPv4 address" -msgstr "Dirección IPv4" - -msgid "IP address" -msgstr "Dirección IP" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "“%(value)s”: el valor debería ser None, Verdadero o Falso." - -msgid "Boolean (Either True, False or None)" -msgstr "Booleano (Verdadero, Falso o Nulo)" - -msgid "Positive big integer" -msgstr "Entero grande positivo" - -msgid "Positive integer" -msgstr "Entero positivo" - -msgid "Positive small integer" -msgstr "Entero positivo corto" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Slug (hasta %(max_length)s)" - -msgid "Small integer" -msgstr "Entero corto" - -msgid "Text" -msgstr "Texto" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" -"“%(value)s”: el valor tiene un formato inválido. Debería estar en el formato " -"HH:MM[:ss[.uuuuuu]]." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" -"“%(value)s” : el valor tiene el formato correcto (HH:MM[:ss[.uuuuuu]]) pero " -"es un tiempo inválido." - -msgid "Time" -msgstr "Hora" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Datos binarios en bruto" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "“%(value)s” no es un UUID válido." - -msgid "Universally unique identifier" -msgstr "Identificador universal único" - -msgid "File" -msgstr "Archivo" - -msgid "Image" -msgstr "Imagen" - -msgid "A JSON object" -msgstr "Un objeto JSON" - -msgid "Value must be valid JSON." -msgstr "El valor debe ser un objeto JSON válido." - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "La instancia de %(model)s con %(field)s %(value)r no existe." - -msgid "Foreign Key (type determined by related field)" -msgstr "Clave foránea (tipo determinado por el campo relacionado)" - -msgid "One-to-one relationship" -msgstr "Relación uno-a-uno" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "relación %(from)s-%(to)s" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "relaciones %(from)s-%(to)s" - -msgid "Many-to-many relationship" -msgstr "Relación muchos-a-muchos" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Este campo es obligatorio." - -msgid "Enter a whole number." -msgstr "Introduzca un número entero." - -msgid "Enter a valid date." -msgstr "Introduzca una fecha válida." - -msgid "Enter a valid time." -msgstr "Introduzca una hora válida." - -msgid "Enter a valid date/time." -msgstr "Introduzca una fecha/hora válida." - -msgid "Enter a valid duration." -msgstr "Introduzca una duración válida." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "El número de días debe estar entre {min_days} y {max_days}." - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "" -"No se ha enviado ningún fichero. Compruebe el tipo de codificación en el " -"formulario." - -msgid "No file was submitted." -msgstr "No se ha enviado ningún fichero" - -msgid "The submitted file is empty." -msgstr "El fichero enviado está vacío." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Asegúrese de que este nombre de archivo tenga como máximo %(max)d caracter " -"(tiene %(length)d)." -msgstr[1] "" -"Asegúrese de que este nombre de archivo tenga como máximo %(max)d " -"carácter(es) (tiene %(length)d)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" -"Por favor envíe un fichero o marque la casilla de limpiar, pero no ambos." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Envíe una imagen válida. El fichero que ha enviado no era una imagen o se " -"trataba de una imagen corrupta." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "" -"Escoja una opción válida. %(value)s no es una de las opciones disponibles." - -msgid "Enter a list of values." -msgstr "Introduzca una lista de valores." - -msgid "Enter a complete value." -msgstr "Introduzca un valor completo." - -msgid "Enter a valid UUID." -msgstr "Introduzca un UUID válido." - -msgid "Enter a valid JSON." -msgstr "Ingresa un JSON válido." - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Campo oculto %(name)s) *%(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "Los datos de ManagementForm faltan o han sido manipulados" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Por favor, envíe %d formulario o menos." -msgstr[1] "Por favor, envíe %d formularios o menos" - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "Por favor, envíe %d formulario o más." -msgstr[1] "Por favor, envíe %d formularios o más." - -msgid "Order" -msgstr "Orden" - -msgid "Delete" -msgstr "Eliminar" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Por favor, corrija el dato duplicado para %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"Por favor corrija el dato duplicado para %(field)s, ya que debe ser único." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Por favor corrija los datos duplicados para %(field_name)s ya que debe ser " -"único para %(lookup)s en %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "Por favor, corrija los valores duplicados abajo." - -msgid "The inline value did not match the parent instance." -msgstr "El valor en línea no coincide con la instancia padre." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "Escoja una opción válida. Esa opción no está entre las disponibles." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "“%(pk)s” no es un valor válido." - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" -"%(datetime)s no pudo ser interpretado en la zona horaria " -"%(current_timezone)s; podría ser ambiguo o no existir." - -msgid "Clear" -msgstr "Limpiar" - -msgid "Currently" -msgstr "Actualmente" - -msgid "Change" -msgstr "Modificar" - -msgid "Unknown" -msgstr "Desconocido" - -msgid "Yes" -msgstr "Sí" - -msgid "No" -msgstr "No" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "sí,no,quizás" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d byte" -msgstr[1] "%(size)d bytes" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "p.m." - -msgid "a.m." -msgstr "a.m." - -msgid "PM" -msgstr "PM" - -msgid "AM" -msgstr "AM" - -msgid "midnight" -msgstr "medianoche" - -msgid "noon" -msgstr "mediodía" - -msgid "Monday" -msgstr "Lunes" - -msgid "Tuesday" -msgstr "Martes" - -msgid "Wednesday" -msgstr "Miércoles" - -msgid "Thursday" -msgstr "Jueves" - -msgid "Friday" -msgstr "Viernes" - -msgid "Saturday" -msgstr "Sábado" - -msgid "Sunday" -msgstr "Domingo" - -msgid "Mon" -msgstr "Lun" - -msgid "Tue" -msgstr "Mar" - -msgid "Wed" -msgstr "Mié" - -msgid "Thu" -msgstr "Jue" - -msgid "Fri" -msgstr "Vie" - -msgid "Sat" -msgstr "Sáb" - -msgid "Sun" -msgstr "Dom" - -msgid "January" -msgstr "Enero" - -msgid "February" -msgstr "Febrero" - -msgid "March" -msgstr "Marzo" - -msgid "April" -msgstr "Abril" - -msgid "May" -msgstr "Mayo" - -msgid "June" -msgstr "Junio" - -msgid "July" -msgstr "Julio" - -msgid "August" -msgstr "Agosto" - -msgid "September" -msgstr "Septiembre" - -msgid "October" -msgstr "Octubre" - -msgid "November" -msgstr "Noviembre" - -msgid "December" -msgstr "Diciembre" - -msgid "jan" -msgstr "ene" - -msgid "feb" -msgstr "feb" - -msgid "mar" -msgstr "mar" - -msgid "apr" -msgstr "abr" - -msgid "may" -msgstr "may" - -msgid "jun" -msgstr "jun" - -msgid "jul" -msgstr "jul" - -msgid "aug" -msgstr "ago" - -msgid "sep" -msgstr "sep" - -msgid "oct" -msgstr "oct" - -msgid "nov" -msgstr "nov" - -msgid "dec" -msgstr "dic" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Ene." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Feb." - -msgctxt "abbrev. month" -msgid "March" -msgstr "Mar." - -msgctxt "abbrev. month" -msgid "April" -msgstr "Abr." - -msgctxt "abbrev. month" -msgid "May" -msgstr "Mayo" - -msgctxt "abbrev. month" -msgid "June" -msgstr "Jun." - -msgctxt "abbrev. month" -msgid "July" -msgstr "Jul." - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Ago." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Sept." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Oct." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Nov." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Dic." - -msgctxt "alt. month" -msgid "January" -msgstr "Enero" - -msgctxt "alt. month" -msgid "February" -msgstr "Febrero" - -msgctxt "alt. month" -msgid "March" -msgstr "Marzo" - -msgctxt "alt. month" -msgid "April" -msgstr "Abril" - -msgctxt "alt. month" -msgid "May" -msgstr "Mayo" - -msgctxt "alt. month" -msgid "June" -msgstr "Junio" - -msgctxt "alt. month" -msgid "July" -msgstr "Julio" - -msgctxt "alt. month" -msgid "August" -msgstr "Agosto" - -msgctxt "alt. month" -msgid "September" -msgstr "Septiembre" - -msgctxt "alt. month" -msgid "October" -msgstr "Octubre" - -msgctxt "alt. month" -msgid "November" -msgstr "Noviembre" - -msgctxt "alt. month" -msgid "December" -msgstr "Diciembre" - -msgid "This is not a valid IPv6 address." -msgstr "No es una dirección IPv6 válida." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s..." - -msgid "or" -msgstr "o" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d año" -msgstr[1] "%d años" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d mes" -msgstr[1] "%d meses" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d semana" -msgstr[1] "%d semanas" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d día" -msgstr[1] "%d días" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d hora" -msgstr[1] "%d horas" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d minuto" -msgstr[1] "%d minutos" - -msgid "Forbidden" -msgstr "Prohibido" - -msgid "CSRF verification failed. Request aborted." -msgstr "La verificación CSRF ha fallado. Solicitud abortada." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" -"Está viendo este mensaje porque este sitio HTTPS requiere que su navegador " -"web envíe un \"encabezado de referencia\", pero no se envió ninguno. Este " -"encabezado es necesario por razones de seguridad, para garantizar que su " -"navegador no sea secuestrado por terceros." - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" -"Si ha configurado su navegador para deshabilitar los encabezados \"Referer" -"\", vuelva a habilitarlos, al menos para este sitio, o para conexiones " -"HTTPS, o para solicitudes del \"mismo origen\"." - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" -"Si esta utilizando la etiqueta o incluyendo el encabezado \"Referrer-Policy: no-referrer\", elimínelos. " -"La protección CSRF requiere que el encabezado \"Referer\" realice una " -"comprobación estricta del referente. Si le preocupa la privacidad, utilice " -"alternativas como para los enlaces a sitios de " -"terceros." - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Estás viendo este mensaje porqué esta web requiere una cookie CSRF cuando se " -"envían formularios. Esta cookie se necesita por razones de seguridad, para " -"asegurar que tu navegador no ha sido comprometido por terceras partes." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" -"Si ha configurado su navegador para deshabilitar las cookies, vuelva a " -"habilitarlas, al menos para este sitio o para solicitudes del \"mismo origen" -"\"." - -msgid "More information is available with DEBUG=True." -msgstr "Más información disponible si se establece DEBUG=True." - -msgid "No year specified" -msgstr "No se ha indicado el año" - -msgid "Date out of range" -msgstr "Fecha fuera de rango" - -msgid "No month specified" -msgstr "No se ha indicado el mes" - -msgid "No day specified" -msgstr "No se ha indicado el día" - -msgid "No week specified" -msgstr "No se ha indicado la semana" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "No %(verbose_name_plural)s disponibles" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"Los futuros %(verbose_name_plural)s no están disponibles porque " -"%(class_name)s.allow_future es Falso." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "Cadena de fecha no valida “%(datestr)s” dado el formato “%(format)s”" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "No se encontró ningún %(verbose_name)s coincidente con la consulta" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "La página no es la \"última\", ni se puede convertir a un entero." - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Página inválida (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "Lista vacía y “%(class_name)s.allow_empty” es Falso" - -msgid "Directory indexes are not allowed here." -msgstr "Los índices de directorio no están permitidos." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "“%(path)s” no existe" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Índice de %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "Django: el marco web para perfeccionistas con plazos." - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"Ve la notas de la versión de Django " -"%(version)s" - -msgid "The install worked successfully! Congratulations!" -msgstr "¡La instalación funcionó con éxito! ¡Felicitaciones!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"Estás viendo esta página porque DEBUG=True está en su archivo de configuración y no ha configurado " -"ninguna URL." - -msgid "Django Documentation" -msgstr "Documentación de Django" - -msgid "Topics, references, & how-to’s" -msgstr "Temas, referencias, & como hacer" - -msgid "Tutorial: A Polling App" -msgstr "Tutorial: Una aplicación de encuesta" - -msgid "Get started with Django" -msgstr "Comienza con Django" - -msgid "Django Community" -msgstr "Comunidad Django" - -msgid "Connect, get help, or contribute" -msgstr "Conéctate, obtén ayuda o contribuye" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/es/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/es/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/es/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/es/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 83edc3c4..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/es/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/es/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/es/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index b8b068cd..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/es/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/es/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/es/formats.py deleted file mode 100644 index b7aca789..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/es/formats.py +++ /dev/null @@ -1,30 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = r'j \d\e F \d\e Y' -TIME_FORMAT = 'H:i' -DATETIME_FORMAT = r'j \d\e F \d\e Y \a \l\a\s H:i' -YEAR_MONTH_FORMAT = r'F \d\e Y' -MONTH_DAY_FORMAT = r'j \d\e F' -SHORT_DATE_FORMAT = 'd/m/Y' -SHORT_DATETIME_FORMAT = 'd/m/Y H:i' -FIRST_DAY_OF_WEEK = 1 # Monday - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -DATE_INPUT_FORMATS = [ - # '31/12/2009', '31/12/09' - '%d/%m/%Y', '%d/%m/%y' -] -DATETIME_INPUT_FORMATS = [ - '%d/%m/%Y %H:%M:%S', - '%d/%m/%Y %H:%M:%S.%f', - '%d/%m/%Y %H:%M', - '%d/%m/%y %H:%M:%S', - '%d/%m/%y %H:%M:%S.%f', - '%d/%m/%y %H:%M', -] -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = '.' -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/es_AR/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/es_AR/LC_MESSAGES/django.mo deleted file mode 100644 index 15937022..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/es_AR/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/es_AR/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/es_AR/LC_MESSAGES/django.po deleted file mode 100644 index 260fc5b3..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/es_AR/LC_MESSAGES/django.po +++ /dev/null @@ -1,1311 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Jannis Leidel , 2011 -# lardissone , 2014 -# poli , 2014 -# Ramiro Morales, 2013-2020 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-07-14 21:42+0000\n" -"Last-Translator: Transifex Bot <>\n" -"Language-Team: Spanish (Argentina) (http://www.transifex.com/django/django/" -"language/es_AR/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: es_AR\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "Afrikaans" -msgstr "afrikáans" - -msgid "Arabic" -msgstr "árabe" - -msgid "Algerian Arabic" -msgstr "Árabe de Argelia" - -msgid "Asturian" -msgstr "asturiano" - -msgid "Azerbaijani" -msgstr "azerbaiyán" - -msgid "Bulgarian" -msgstr "búlgaro" - -msgid "Belarusian" -msgstr "bielorruso" - -msgid "Bengali" -msgstr "bengalí" - -msgid "Breton" -msgstr "bretón" - -msgid "Bosnian" -msgstr "bosnio" - -msgid "Catalan" -msgstr "catalán" - -msgid "Czech" -msgstr "checo" - -msgid "Welsh" -msgstr "galés" - -msgid "Danish" -msgstr "danés" - -msgid "German" -msgstr "alemán" - -msgid "Lower Sorbian" -msgstr "bajo sorabo" - -msgid "Greek" -msgstr "griego" - -msgid "English" -msgstr "inglés" - -msgid "Australian English" -msgstr "inglés australiano" - -msgid "British English" -msgstr "inglés británico" - -msgid "Esperanto" -msgstr "esperanto" - -msgid "Spanish" -msgstr "español" - -msgid "Argentinian Spanish" -msgstr "español (Argentina)" - -msgid "Colombian Spanish" -msgstr "español (Colombia)" - -msgid "Mexican Spanish" -msgstr "español (México)" - -msgid "Nicaraguan Spanish" -msgstr "español (Nicaragua)" - -msgid "Venezuelan Spanish" -msgstr "español (Venezuela)" - -msgid "Estonian" -msgstr "estonio" - -msgid "Basque" -msgstr "vasco" - -msgid "Persian" -msgstr "persa" - -msgid "Finnish" -msgstr "finlandés" - -msgid "French" -msgstr "francés" - -msgid "Frisian" -msgstr "frisón" - -msgid "Irish" -msgstr "irlandés" - -msgid "Scottish Gaelic" -msgstr "gaélico escocés" - -msgid "Galician" -msgstr "gallego" - -msgid "Hebrew" -msgstr "hebreo" - -msgid "Hindi" -msgstr "hindi" - -msgid "Croatian" -msgstr "croata" - -msgid "Upper Sorbian" -msgstr "alto sorabo" - -msgid "Hungarian" -msgstr "húngaro" - -msgid "Armenian" -msgstr "armenio" - -msgid "Interlingua" -msgstr "Interlingua" - -msgid "Indonesian" -msgstr "indonesio" - -msgid "Igbo" -msgstr "" - -msgid "Ido" -msgstr "ido" - -msgid "Icelandic" -msgstr "islandés" - -msgid "Italian" -msgstr "italiano" - -msgid "Japanese" -msgstr "japonés" - -msgid "Georgian" -msgstr "georgiano" - -msgid "Kabyle" -msgstr "cabilio" - -msgid "Kazakh" -msgstr "kazajo" - -msgid "Khmer" -msgstr "jémer" - -msgid "Kannada" -msgstr "canarés" - -msgid "Korean" -msgstr "coreano" - -msgid "Kyrgyz" -msgstr "kirguís" - -msgid "Luxembourgish" -msgstr "luxemburgués" - -msgid "Lithuanian" -msgstr "lituano" - -msgid "Latvian" -msgstr "letón" - -msgid "Macedonian" -msgstr "macedonio" - -msgid "Malayalam" -msgstr "malabar" - -msgid "Mongolian" -msgstr "mongol" - -msgid "Marathi" -msgstr "maratí" - -msgid "Burmese" -msgstr "burmés" - -msgid "Norwegian Bokmål" -msgstr "bokmål noruego" - -msgid "Nepali" -msgstr "nepalés" - -msgid "Dutch" -msgstr "holandés" - -msgid "Norwegian Nynorsk" -msgstr "nynorsk" - -msgid "Ossetic" -msgstr "osetio" - -msgid "Punjabi" -msgstr "panyabí" - -msgid "Polish" -msgstr "polaco" - -msgid "Portuguese" -msgstr "portugués" - -msgid "Brazilian Portuguese" -msgstr "portugués de Brasil" - -msgid "Romanian" -msgstr "rumano" - -msgid "Russian" -msgstr "ruso" - -msgid "Slovak" -msgstr "eslovaco" - -msgid "Slovenian" -msgstr "esloveno" - -msgid "Albanian" -msgstr "albanés" - -msgid "Serbian" -msgstr "serbio" - -msgid "Serbian Latin" -msgstr "latín de Serbia" - -msgid "Swedish" -msgstr "sueco" - -msgid "Swahili" -msgstr "suajili" - -msgid "Tamil" -msgstr "tamil" - -msgid "Telugu" -msgstr "telugu" - -msgid "Tajik" -msgstr "tayiko" - -msgid "Thai" -msgstr "tailandés" - -msgid "Turkmen" -msgstr "turcomano" - -msgid "Turkish" -msgstr "turco" - -msgid "Tatar" -msgstr "tártaro" - -msgid "Udmurt" -msgstr "udmurto" - -msgid "Ukrainian" -msgstr "ucraniano" - -msgid "Urdu" -msgstr "urdu" - -msgid "Uzbek" -msgstr "uzbeko" - -msgid "Vietnamese" -msgstr "vietnamita" - -msgid "Simplified Chinese" -msgstr "chino simplificado" - -msgid "Traditional Chinese" -msgstr "chino tradicional" - -msgid "Messages" -msgstr "Mensajes" - -msgid "Site Maps" -msgstr "Mapas de sitio" - -msgid "Static Files" -msgstr "Archivos estáticos" - -msgid "Syndication" -msgstr "Sindicación" - -msgid "That page number is not an integer" -msgstr "El número de página no es un entero" - -msgid "That page number is less than 1" -msgstr "El número de página es menor a 1" - -msgid "That page contains no results" -msgstr "Esa página no contiene resultados" - -msgid "Enter a valid value." -msgstr "Introduzca un valor válido." - -msgid "Enter a valid URL." -msgstr "Introduzca una URL válida." - -msgid "Enter a valid integer." -msgstr "Introduzca un valor numérico entero válido." - -msgid "Enter a valid email address." -msgstr "Introduzca una dirección de email válida." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "Introduzca un “slug” válido compuesto por letras, números o guiones." - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" -"Introduzca un “slug” compuesto por letras Unicode, números, guiones bajos o " -"guiones." - -msgid "Enter a valid IPv4 address." -msgstr "Introduzca una dirección IPv4 válida." - -msgid "Enter a valid IPv6 address." -msgstr "Introduzca una dirección IPv6 válida." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Introduzca una dirección IPv4 o IPv6 válida." - -msgid "Enter only digits separated by commas." -msgstr "Introduzca sólo dígitos separados por comas." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" -"Asegúrese de que este valor sea %(limit_value)s (actualmente es " -"%(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Asegúrese de que este valor sea menor o igual a %(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Asegúrese de que este valor sea mayor o igual a %(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Asegúrese de que este valor tenga como mínimo %(limit_value)d caracter " -"(tiene %(show_value)d)." -msgstr[1] "" -"Asegúrese de que este valor tenga como mínimo %(limit_value)d caracteres " -"(tiene %(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Asegúrese de que este valor tenga como máximo %(limit_value)d caracter " -"(tiene %(show_value)d)." -msgstr[1] "" -"Asegúrese de que este valor tenga como máximo %(limit_value)d caracteres " -"(tiene %(show_value)d)." - -msgid "Enter a number." -msgstr "Introduzca un número." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Asegúrese de que no exista en total mas de %(max)s dígito." -msgstr[1] "Asegúrese de que no existan en total mas de %(max)s dígitos." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "Asegúrese de que no exista mas de %(max)s lugar decimal." -msgstr[1] "Asegúrese de que no existan mas de %(max)s lugares decimales." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -"Asegúrese de que no exista mas de %(max)s dígito antes del punto decimal." -msgstr[1] "" -"Asegúrese de que no existan mas de %(max)s dígitos antes del punto decimal." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" -"La extensión de archivo “%(extension)s” no está permitida. Las extensiones " -"aceptadas son: “%(allowed_extensions)s”." - -msgid "Null characters are not allowed." -msgstr "No se admiten caracteres nulos." - -msgid "and" -msgstr "y" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "Ya existe un/a %(model_name)s con este/a %(field_labels)s." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "El valor %(value)r no es una opción válida." - -msgid "This field cannot be null." -msgstr "Este campo no puede ser nulo." - -msgid "This field cannot be blank." -msgstr "Este campo no puede estar en blanco." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "Ya existe un/a %(model_name)s con este/a %(field_label)s." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(field_label)s debe ser único/a para un %(lookup_type)s " -"%(date_field_label)s determinado." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Campo tipo: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "El valor de “%(value)s” debe ser Verdadero o Falso." - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "El valor de “%(value)s” debe ser Verdadero, Falso o None." - -msgid "Boolean (Either True or False)" -msgstr "Booleano (Verdadero o Falso)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Cadena (máximo %(max_length)s)" - -msgid "Comma-separated integers" -msgstr "Enteros separados por comas" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" -"El valor de “%(value)s” tiene un formato de fecha inválido. Debe usar el " -"formato AAAA-MM-DD." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" -"El valor de “%(value)s” tiene un formato de fecha correcto (AAAA-MM-DD) pero " -"representa una fecha inválida." - -msgid "Date (without time)" -msgstr "Fecha (sin hora)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" -"El valor de “%(value)s” tiene un formato inválido. Debe usar el formato AAAA-" -"MM-DD HH:MM[:ss[.uuuuuu]][TZ]." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" -"El valor de “%(value)s” tiene un formato correcto (AAAA-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ]) pero representa una fecha/hora inválida." - -msgid "Date (with time)" -msgstr "Fecha (con hora)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "El valor de “%(value)s” debe ser un número decimal." - -msgid "Decimal number" -msgstr "Número decimal" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" -"El valor de “%(value)s” tiene un formato inválido. Debe usar el formato [DD] " -"[[HH:]MM:]ss[.uuuuuu]." - -msgid "Duration" -msgstr "Duración" - -msgid "Email address" -msgstr "Dirección de correo electrónico" - -msgid "File path" -msgstr "Ruta de archivo" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "El valor de “%(value)s” debe ser un número de coma flotante." - -msgid "Floating point number" -msgstr "Número de coma flotante" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "El valor de “%(value)s” debe ser un número entero." - -msgid "Integer" -msgstr "Entero" - -msgid "Big (8 byte) integer" -msgstr "Entero grande (8 bytes)" - -msgid "IPv4 address" -msgstr "Dirección IPv4" - -msgid "IP address" -msgstr "Dirección IP" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "El valor de “%(value)s” debe ser None, Verdadero o Falso." - -msgid "Boolean (Either True, False or None)" -msgstr "Booleano (Verdadero, Falso o Nulo)" - -msgid "Positive big integer" -msgstr "Entero grande positivo" - -msgid "Positive integer" -msgstr "Entero positivo" - -msgid "Positive small integer" -msgstr "Entero pequeño positivo" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Slug (de hasta %(max_length)s caracteres)" - -msgid "Small integer" -msgstr "Entero pequeño" - -msgid "Text" -msgstr "Texto" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" -"El valor de “%(value)s” tiene un formato inválido. Debe usar el formato HH:" -"MM[:ss[.uuuuuu]]." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" -"El valor de “%(value)s” tiene un formato correcto (HH:MM[:ss[.uuuuuu]]) pero " -"representa una hora inválida." - -msgid "Time" -msgstr "Hora" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Datos binarios crudos" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "“%(value)s” no es un UUID válido." - -msgid "Universally unique identifier" -msgstr "Identificador universalmente único" - -msgid "File" -msgstr "Archivo" - -msgid "Image" -msgstr "Imagen" - -msgid "A JSON object" -msgstr "Un objeto JSON" - -msgid "Value must be valid JSON." -msgstr "El valor debe ser JSON válido." - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "No existe una instancia de %(model)s con %(field)s %(value)r." - -msgid "Foreign Key (type determined by related field)" -msgstr "Clave foránea (el tipo está determinado por el campo relacionado)" - -msgid "One-to-one relationship" -msgstr "Relación uno-a-uno" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "relación %(from)s-%(to)s" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "relaciones %(from)s-%(to)s" - -msgid "Many-to-many relationship" -msgstr "Relación muchos-a-muchos" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Este campo es obligatorio." - -msgid "Enter a whole number." -msgstr "Introduzca un número entero." - -msgid "Enter a valid date." -msgstr "Introduzca una fecha válida." - -msgid "Enter a valid time." -msgstr "Introduzca un valor de hora válido." - -msgid "Enter a valid date/time." -msgstr "Introduzca un valor de fecha/hora válido." - -msgid "Enter a valid duration." -msgstr "Introduzca una duración válida." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "La cantidad de días debe tener valores entre {min_days} y {max_days}." - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "" -"No se envió un archivo. Verifique el tipo de codificación en el formulario." - -msgid "No file was submitted." -msgstr "No se envió ningún archivo." - -msgid "The submitted file is empty." -msgstr "El archivo enviado está vacío." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Asegúrese de que este nombre de archivo tenga como máximo %(max)d caracter " -"(tiene %(length)d)." -msgstr[1] "" -"Asegúrese de que este nombre de archivo tenga como máximo %(max)d caracteres " -"(tiene %(length)d)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "Por favor envíe un archivo o active el checkbox, pero no ambas cosas." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Seleccione una imagen válida. El archivo que ha seleccionado no es una " -"imagen o es un archivo de imagen corrupto." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "" -"Seleccione una opción válida. %(value)s no es una de las opciones " -"disponibles." - -msgid "Enter a list of values." -msgstr "Introduzca una lista de valores." - -msgid "Enter a complete value." -msgstr "Introduzca un valor completo." - -msgid "Enter a valid UUID." -msgstr "Introduzca un UUID válido." - -msgid "Enter a valid JSON." -msgstr "Introduzca JSON válido." - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Campo oculto %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "" -"Los datos correspondientes al ManagementForm no existen o han sido " -"modificados" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Por favor envíe cero o %d formularios." -msgstr[1] "Por favor envíe un máximo de %d formularios." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "Por favor envíe %d o mas formularios." -msgstr[1] "Por favor envíe %d o mas formularios." - -msgid "Order" -msgstr "Ordenar" - -msgid "Delete" -msgstr "Eliminar" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Por favor, corrija la información duplicada en %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"Por favor corrija la información duplicada en %(field)s, que debe ser única." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Por favor corrija la información duplicada en %(field_name)s que debe ser " -"única para el %(lookup)s en %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "Por favor, corrija los valores duplicados detallados mas abajo." - -msgid "The inline value did not match the parent instance." -msgstr "El valor inline no coincide con el de la instancia padre." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" -"Seleccione una opción válida. La opción seleccionada no es una de las " -"disponibles." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "“%(pk)s” no es un valor válido." - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" -"%(datetime)s no puede ser interpretado en la zona horaria " -"%(current_timezone)s; ya que podría ser ambiguo o podría no existir." - -msgid "Clear" -msgstr "Eliminar" - -msgid "Currently" -msgstr "Actualmente" - -msgid "Change" -msgstr "Modificar" - -msgid "Unknown" -msgstr "Desconocido" - -msgid "Yes" -msgstr "Sí" - -msgid "No" -msgstr "No" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "si,no,talvez" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d byte" -msgstr[1] "%(size)d bytes" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "p.m." - -msgid "a.m." -msgstr "a.m." - -msgid "PM" -msgstr "PM" - -msgid "AM" -msgstr "AM" - -msgid "midnight" -msgstr "medianoche" - -msgid "noon" -msgstr "mediodía" - -msgid "Monday" -msgstr "Lunes" - -msgid "Tuesday" -msgstr "Martes" - -msgid "Wednesday" -msgstr "Miércoles" - -msgid "Thursday" -msgstr "Jueves" - -msgid "Friday" -msgstr "Viernes" - -msgid "Saturday" -msgstr "Sábado" - -msgid "Sunday" -msgstr "Domingo" - -msgid "Mon" -msgstr "Lun" - -msgid "Tue" -msgstr "Mar" - -msgid "Wed" -msgstr "Mie" - -msgid "Thu" -msgstr "Jue" - -msgid "Fri" -msgstr "Vie" - -msgid "Sat" -msgstr "Sab" - -msgid "Sun" -msgstr "Dom" - -msgid "January" -msgstr "Enero" - -msgid "February" -msgstr "Febrero" - -msgid "March" -msgstr "Marzo" - -msgid "April" -msgstr "Abril" - -msgid "May" -msgstr "Mayo" - -msgid "June" -msgstr "Junio" - -msgid "July" -msgstr "Julio" - -msgid "August" -msgstr "Agosto" - -msgid "September" -msgstr "Setiembre" - -msgid "October" -msgstr "Octubre" - -msgid "November" -msgstr "Noviembre" - -msgid "December" -msgstr "Diciembre" - -msgid "jan" -msgstr "ene" - -msgid "feb" -msgstr "feb" - -msgid "mar" -msgstr "mar" - -msgid "apr" -msgstr "abr" - -msgid "may" -msgstr "may" - -msgid "jun" -msgstr "jun" - -msgid "jul" -msgstr "jul" - -msgid "aug" -msgstr "ago" - -msgid "sep" -msgstr "set" - -msgid "oct" -msgstr "oct" - -msgid "nov" -msgstr "nov" - -msgid "dec" -msgstr "dic" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Enero" - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Feb." - -msgctxt "abbrev. month" -msgid "March" -msgstr "Marzo" - -msgctxt "abbrev. month" -msgid "April" -msgstr "Abril" - -msgctxt "abbrev. month" -msgid "May" -msgstr "Mayo" - -msgctxt "abbrev. month" -msgid "June" -msgstr "Junio" - -msgctxt "abbrev. month" -msgid "July" -msgstr "Julio" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Ago." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Set." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Oct." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Nov." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Dic." - -msgctxt "alt. month" -msgid "January" -msgstr "enero" - -msgctxt "alt. month" -msgid "February" -msgstr "febrero" - -msgctxt "alt. month" -msgid "March" -msgstr "marzo" - -msgctxt "alt. month" -msgid "April" -msgstr "abril" - -msgctxt "alt. month" -msgid "May" -msgstr "mayo" - -msgctxt "alt. month" -msgid "June" -msgstr "junio" - -msgctxt "alt. month" -msgid "July" -msgstr "julio" - -msgctxt "alt. month" -msgid "August" -msgstr "agosto" - -msgctxt "alt. month" -msgid "September" -msgstr "setiembre" - -msgctxt "alt. month" -msgid "October" -msgstr "octubre" - -msgctxt "alt. month" -msgid "November" -msgstr "noviembre" - -msgctxt "alt. month" -msgid "December" -msgstr "diciembre" - -msgid "This is not a valid IPv6 address." -msgstr "Esta no es una dirección IPv6 válida." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s…" - -msgid "or" -msgstr "o" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d año" -msgstr[1] "%d años" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d mes" -msgstr[1] "%d meses" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d semana" -msgstr[1] "%d semanas" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d día" -msgstr[1] "%d días" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d hora" -msgstr[1] "%d horas" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d minuto" -msgstr[1] "%d minutos" - -msgid "Forbidden" -msgstr "Prohibido" - -msgid "CSRF verification failed. Request aborted." -msgstr "Verificación CSRF fallida. Petición abortada." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" -"Ud. está viendo este mensaje porque este sitio HTTPS tiene como " -"requerimiento que su browser Web envíe una cabecera “Referer” pero el mismo " -"no ha enviado una. El hecho de que esta cabecera sea obligatoria es una " -"medida de seguridad para comprobar que su browser no está siendo controlado " -"por terceros." - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" -"Si ha configurado su browser para deshabilitar las cabeceras “Referer”, por " -"favor activelas al menos para este sitio, o para conexiones HTTPS o para " -"peticiones generadas desde el mismo origen." - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" -"Si está usando la etiqueta " -"o está incluyendo el encabezado “Referrer-Policy: no-referrer” por favor " -"quitelos. La protección CSRF necesita el encabezado “Referer” para realizar " -"una comprobación estricta de los referers. Si le preocupa la privacidad " -"tiene alternativas tales como usar en los enlaces a " -"sitios de terceros." - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Ud. está viendo este mensaje porque este sitio tiene como requerimiento el " -"uso de una 'cookie' CSRF cuando se envíen formularios. El hecho de que esta " -"'cookie' sea obligatoria es una medida de seguridad para comprobar que su " -"browser no está siendo controlado por terceros." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" -"Si ha configurado su browser para deshabilitar “cookies”, por favor " -"activelas al menos para este sitio o para peticiones generadas desde el " -"mismo origen." - -msgid "More information is available with DEBUG=True." -msgstr "Hay mas información disponible. Para ver la misma use DEBUG=True." - -msgid "No year specified" -msgstr "No se ha especificado el valor año" - -msgid "Date out of range" -msgstr "Fecha fuera de rango" - -msgid "No month specified" -msgstr "No se ha especificado el valor mes" - -msgid "No day specified" -msgstr "No se ha especificado el valor día" - -msgid "No week specified" -msgstr "No se ha especificado el valor semana" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "No hay %(verbose_name_plural)s disponibles" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"No hay %(verbose_name_plural)s futuros disponibles porque %(class_name)s." -"allow_future tiene el valor False." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "Cadena de fecha inválida “%(datestr)s”, formato “%(format)s”" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "No se han encontrado %(verbose_name)s que coincidan con la consulta " - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "Página debe tener el valor “last” o un valor número entero." - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Página inválida (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "Lista vacía y “%(class_name)s.allow_empty” tiene el valor False." - -msgid "Directory indexes are not allowed here." -msgstr "" -"No está habilitada la generación de listados de directorios en esta " -"ubicación." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "“%(path)s” no existe" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Listado de %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "Django: El framework Web para perfeccionistas con deadlines." - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"Ver las release notes de Django %(version)s" - -msgid "The install worked successfully! Congratulations!" -msgstr "La instalación ha sido exitosa. ¡Felicitaciones!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"Está viendo esta página porque el archivo de configuración contiene DEBUG=True y no ha configurado ninguna URL." - -msgid "Django Documentation" -msgstr "Documentación de Django" - -msgid "Topics, references, & how-to’s" -msgstr "Tópicos, referencia & how-to’s" - -msgid "Tutorial: A Polling App" -msgstr "Tutorial: Una app de encuesta" - -msgid "Get started with Django" -msgstr "Comience a aprender Django" - -msgid "Django Community" -msgstr "Comunidad Django" - -msgid "Connect, get help, or contribute" -msgstr "Conéctese, consiga ayuda o contribuya" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/es_AR/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/es_AR/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/es_AR/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/es_AR/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 7aba5ae2..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/es_AR/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/es_AR/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/es_AR/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 3be9b7bc..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/es_AR/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/es_AR/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/es_AR/formats.py deleted file mode 100644 index e856c4a2..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/es_AR/formats.py +++ /dev/null @@ -1,30 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = r'j N Y' -TIME_FORMAT = r'H:i' -DATETIME_FORMAT = r'j N Y H:i' -YEAR_MONTH_FORMAT = r'F Y' -MONTH_DAY_FORMAT = r'j \d\e F' -SHORT_DATE_FORMAT = r'd/m/Y' -SHORT_DATETIME_FORMAT = r'd/m/Y H:i' -FIRST_DAY_OF_WEEK = 0 # 0: Sunday, 1: Monday - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -DATE_INPUT_FORMATS = [ - '%d/%m/%Y', # '31/12/2009' - '%d/%m/%y', # '31/12/09' -] -DATETIME_INPUT_FORMATS = [ - '%d/%m/%Y %H:%M:%S', - '%d/%m/%Y %H:%M:%S.%f', - '%d/%m/%Y %H:%M', - '%d/%m/%y %H:%M:%S', - '%d/%m/%y %H:%M:%S.%f', - '%d/%m/%y %H:%M', -] -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = '.' -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/es_CO/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/es_CO/LC_MESSAGES/django.mo deleted file mode 100644 index 678fdc71..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/es_CO/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/es_CO/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/es_CO/LC_MESSAGES/django.po deleted file mode 100644 index 9f839fea..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/es_CO/LC_MESSAGES/django.po +++ /dev/null @@ -1,1258 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Carlos Muñoz , 2015 -# Claude Paroz , 2020 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-07-14 21:42+0000\n" -"Last-Translator: Transifex Bot <>\n" -"Language-Team: Spanish (Colombia) (http://www.transifex.com/django/django/" -"language/es_CO/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: es_CO\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "Afrikaans" -msgstr "Afrikáans" - -msgid "Arabic" -msgstr "Árabe" - -msgid "Algerian Arabic" -msgstr "" - -msgid "Asturian" -msgstr "Asturiano" - -msgid "Azerbaijani" -msgstr "Azerí" - -msgid "Bulgarian" -msgstr "Búlgaro" - -msgid "Belarusian" -msgstr "Bielorruso" - -msgid "Bengali" -msgstr "Bengalí" - -msgid "Breton" -msgstr "Bretón" - -msgid "Bosnian" -msgstr "Bosnio" - -msgid "Catalan" -msgstr "Catalán" - -msgid "Czech" -msgstr "Checo" - -msgid "Welsh" -msgstr "Galés" - -msgid "Danish" -msgstr "Danés" - -msgid "German" -msgstr "Alemán" - -msgid "Lower Sorbian" -msgstr "" - -msgid "Greek" -msgstr "Griego" - -msgid "English" -msgstr "Inglés" - -msgid "Australian English" -msgstr "Inglés Australiano" - -msgid "British English" -msgstr "Inglés Británico" - -msgid "Esperanto" -msgstr "Esperanto" - -msgid "Spanish" -msgstr "Español" - -msgid "Argentinian Spanish" -msgstr "Español de Argentina" - -msgid "Colombian Spanish" -msgstr "" - -msgid "Mexican Spanish" -msgstr "Español de México" - -msgid "Nicaraguan Spanish" -msgstr "Español de Nicaragua" - -msgid "Venezuelan Spanish" -msgstr "Español venezolano" - -msgid "Estonian" -msgstr "Estonio" - -msgid "Basque" -msgstr "Vasco" - -msgid "Persian" -msgstr "Persa" - -msgid "Finnish" -msgstr "Finés" - -msgid "French" -msgstr "Francés" - -msgid "Frisian" -msgstr "Frisón" - -msgid "Irish" -msgstr "Irlandés" - -msgid "Scottish Gaelic" -msgstr "" - -msgid "Galician" -msgstr "Gallego" - -msgid "Hebrew" -msgstr "Hebreo" - -msgid "Hindi" -msgstr "Hindi" - -msgid "Croatian" -msgstr "Croata" - -msgid "Upper Sorbian" -msgstr "" - -msgid "Hungarian" -msgstr "Húngaro" - -msgid "Armenian" -msgstr "" - -msgid "Interlingua" -msgstr "Interlingua" - -msgid "Indonesian" -msgstr "Indonesio" - -msgid "Igbo" -msgstr "" - -msgid "Ido" -msgstr "Ido" - -msgid "Icelandic" -msgstr "Islandés" - -msgid "Italian" -msgstr "Italiano" - -msgid "Japanese" -msgstr "Japonés" - -msgid "Georgian" -msgstr "Georgiano" - -msgid "Kabyle" -msgstr "" - -msgid "Kazakh" -msgstr "Kazajo" - -msgid "Khmer" -msgstr "Khmer" - -msgid "Kannada" -msgstr "Kannada" - -msgid "Korean" -msgstr "Koreano" - -msgid "Kyrgyz" -msgstr "" - -msgid "Luxembourgish" -msgstr "Luxenburgués" - -msgid "Lithuanian" -msgstr "Lituano" - -msgid "Latvian" -msgstr "Letón" - -msgid "Macedonian" -msgstr "Macedonio" - -msgid "Malayalam" -msgstr "Malayalam" - -msgid "Mongolian" -msgstr "Mongol" - -msgid "Marathi" -msgstr "Maratí" - -msgid "Burmese" -msgstr "Birmano" - -msgid "Norwegian Bokmål" -msgstr "" - -msgid "Nepali" -msgstr "Nepalí" - -msgid "Dutch" -msgstr "Holandés" - -msgid "Norwegian Nynorsk" -msgstr "Nynorsk" - -msgid "Ossetic" -msgstr "Osetio" - -msgid "Punjabi" -msgstr "Panyabí" - -msgid "Polish" -msgstr "Polaco" - -msgid "Portuguese" -msgstr "Portugués" - -msgid "Brazilian Portuguese" -msgstr "Portugués brasileño" - -msgid "Romanian" -msgstr "Rumano" - -msgid "Russian" -msgstr "Ruso" - -msgid "Slovak" -msgstr "Eslovaco" - -msgid "Slovenian" -msgstr "Esloveno" - -msgid "Albanian" -msgstr "Albanés" - -msgid "Serbian" -msgstr "Serbio" - -msgid "Serbian Latin" -msgstr "Serbio latino" - -msgid "Swedish" -msgstr "Sueco" - -msgid "Swahili" -msgstr "Suajili" - -msgid "Tamil" -msgstr "Tamil" - -msgid "Telugu" -msgstr "Telugu" - -msgid "Tajik" -msgstr "" - -msgid "Thai" -msgstr "Tailandés" - -msgid "Turkmen" -msgstr "" - -msgid "Turkish" -msgstr "Turco" - -msgid "Tatar" -msgstr "Tártaro" - -msgid "Udmurt" -msgstr "Udmurt" - -msgid "Ukrainian" -msgstr "Ucraniano" - -msgid "Urdu" -msgstr "Urdu" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "Vietnamita" - -msgid "Simplified Chinese" -msgstr "Chino simplificado" - -msgid "Traditional Chinese" -msgstr "Chino tradicional" - -msgid "Messages" -msgstr "Mensajes" - -msgid "Site Maps" -msgstr "Mapas del sitio" - -msgid "Static Files" -msgstr "Archivos estáticos" - -msgid "Syndication" -msgstr "Sindicación" - -msgid "That page number is not an integer" -msgstr "" - -msgid "That page number is less than 1" -msgstr "" - -msgid "That page contains no results" -msgstr "" - -msgid "Enter a valid value." -msgstr "Ingrese un valor válido." - -msgid "Enter a valid URL." -msgstr "Ingrese una URL válida." - -msgid "Enter a valid integer." -msgstr "Ingrese un entero válido." - -msgid "Enter a valid email address." -msgstr "Ingrese una dirección de correo electrónico válida." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "Ingrese una dirección IPv4 válida." - -msgid "Enter a valid IPv6 address." -msgstr "Ingrese una dirección IPv6 válida." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Ingrese una dirección IPv4 o IPv6 válida." - -msgid "Enter only digits separated by commas." -msgstr "Ingrese solo números separados por comas." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "Asegúrese de que este valor es %(limit_value)s (es %(show_value)s )." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Asegúrese de que este valor sea menor o igual a %(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Asegúrese de que este valor sea mayor o igual a %(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Asegúrese de que este valor tenga como mínimo %(limit_value)d carácter " -"(tiene %(show_value)d)." -msgstr[1] "" -"Asegúrese de que este valor tenga como mínimo %(limit_value)d caracteres " -"(tiene %(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Asegúrese de que este valor tenga como máximo %(limit_value)d carácter " -"(tiene %(show_value)d)." -msgstr[1] "" -"Asegúrese de que este valor tenga como máximo %(limit_value)d caracteres " -"(tiene %(show_value)d)." - -msgid "Enter a number." -msgstr "Ingrese un número." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Asegúrese de que no hayan mas de %(max)s dígito en total." -msgstr[1] "Asegúrese de que no hayan mas de %(max)s dígitos en total." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "Asegúrese de que no hayan más de %(max)s decimal." -msgstr[1] "Asegúrese de que no hayan más de %(max)s decimales." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -"Asegúrese de que no hayan más de %(max)s dígito antes del punto decimal." -msgstr[1] "" -"Asegúrese de que no hayan más de %(max)s dígitos antes del punto decimal" - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "" - -msgid "and" -msgstr "y" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "Ya existe un/a %(model_name)s con este/a %(field_labels)s." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "Valor %(value)r no es una opción válida." - -msgid "This field cannot be null." -msgstr "Este campo no puede ser nulo." - -msgid "This field cannot be blank." -msgstr "Este campo no puede estar en blanco." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "Ya existe un/a %(model_name)s con este/a %(field_label)s." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(field_label)s debe ser único para %(date_field_label)s %(lookup_type)s." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Tipo de campo: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "Booleano (Verdadero o Falso)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Cadena (máximo %(max_length)s)" - -msgid "Comma-separated integers" -msgstr "Enteros separados por comas" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "Fecha (sin hora)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "Fecha (con hora)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "Número decimal" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "Duración" - -msgid "Email address" -msgstr "Dirección de correo electrónico" - -msgid "File path" -msgstr "Ruta de archivo" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "Número de punto flotante" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "Entero" - -msgid "Big (8 byte) integer" -msgstr "Entero grande (8 bytes)" - -msgid "IPv4 address" -msgstr "Dirección IPv4" - -msgid "IP address" -msgstr "Dirección IP" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "Booleano (Verdadero, Falso o Nulo)" - -msgid "Positive big integer" -msgstr "" - -msgid "Positive integer" -msgstr "Entero positivo" - -msgid "Positive small integer" -msgstr "Entero positivo pequeño" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Slug (hasta %(max_length)s)" - -msgid "Small integer" -msgstr "Entero pequeño" - -msgid "Text" -msgstr "Texto" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "Hora" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Datos de binarios brutos" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "" - -msgid "File" -msgstr "Archivo" - -msgid "Image" -msgstr "Imagen" - -msgid "A JSON object" -msgstr "" - -msgid "Value must be valid JSON." -msgstr "" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "La instancia del %(model)s con %(field)s %(value)r no existe." - -msgid "Foreign Key (type determined by related field)" -msgstr "Llave foránea (tipo determinado por el campo relacionado)" - -msgid "One-to-one relationship" -msgstr "Relación uno-a-uno" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "" - -msgid "Many-to-many relationship" -msgstr "Relación muchos-a-muchos" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Este campo es obligatorio." - -msgid "Enter a whole number." -msgstr "Ingrese un número entero." - -msgid "Enter a valid date." -msgstr "Ingrese una fecha válida." - -msgid "Enter a valid time." -msgstr "Ingrese una hora válida." - -msgid "Enter a valid date/time." -msgstr "Ingrese una fecha/hora válida." - -msgid "Enter a valid duration." -msgstr "Ingrese una duración válida." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "" - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "" -"No se ha enviado ningún fichero. Compruebe el tipo de codificación en el " -"formulario." - -msgid "No file was submitted." -msgstr "No se ha enviado ningún fichero." - -msgid "The submitted file is empty." -msgstr "El fichero enviado está vacío." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Asegúrese de que este nombre de archivo tenga como máximo %(max)d carácter " -"(tiene %(length)d)." -msgstr[1] "" -"Asegúrese de que este nombre de archivo tenga como máximo %(max)d caracteres " -"(tiene %(length)d)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" -"Por favor envíe un fichero o marque la casilla de limpiar, pero no ambos." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Envíe una imagen válida. El fichero que ha enviado no era una imagen o se " -"trataba de una imagen corrupta." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "" -"Escoja una opción válida. %(value)s no es una de las opciones disponibles." - -msgid "Enter a list of values." -msgstr "Ingrese una lista de valores." - -msgid "Enter a complete value." -msgstr "Ingrese un valor completo." - -msgid "Enter a valid UUID." -msgstr "Ingrese un UUID válido." - -msgid "Enter a valid JSON." -msgstr "" - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Campo oculto %(name)s) *%(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "Los datos de ManagementForm faltan o han sido manipulados" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Por favor, envíe %d o menos formularios." -msgstr[1] "Por favor, envíe %d o menos formularios." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "Por favor, envíe %d o mas formularios." -msgstr[1] "Por favor, envíe %d o mas formularios." - -msgid "Order" -msgstr "Orden" - -msgid "Delete" -msgstr "Eliminar" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Por favor, corrija el dato duplicado para %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"Por favor corrija el dato duplicado para %(field)s, este debe ser único." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Por favor corrija los datos duplicados para %(field_name)s este debe ser " -"único para %(lookup)s en %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "Por favor, corrija los valores duplicados abajo." - -msgid "The inline value did not match the parent instance." -msgstr "" - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "Escoja una opción válida. Esa opción no está entre las disponibles." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "Limpiar" - -msgid "Currently" -msgstr "Actualmente" - -msgid "Change" -msgstr "Cambiar" - -msgid "Unknown" -msgstr "Desconocido" - -msgid "Yes" -msgstr "Sí" - -msgid "No" -msgstr "No" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "sí,no,quizás" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d byte" -msgstr[1] "%(size)d bytes" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "p.m." - -msgid "a.m." -msgstr "a.m." - -msgid "PM" -msgstr "PM" - -msgid "AM" -msgstr "AM" - -msgid "midnight" -msgstr "medianoche" - -msgid "noon" -msgstr "mediodía" - -msgid "Monday" -msgstr "Lunes" - -msgid "Tuesday" -msgstr "Martes" - -msgid "Wednesday" -msgstr "Miércoles" - -msgid "Thursday" -msgstr "Jueves" - -msgid "Friday" -msgstr "Viernes" - -msgid "Saturday" -msgstr "Sábado" - -msgid "Sunday" -msgstr "Domingo" - -msgid "Mon" -msgstr "Lun" - -msgid "Tue" -msgstr "Mar" - -msgid "Wed" -msgstr "Mié" - -msgid "Thu" -msgstr "Jue" - -msgid "Fri" -msgstr "Vie" - -msgid "Sat" -msgstr "Sáb" - -msgid "Sun" -msgstr "Dom" - -msgid "January" -msgstr "Enero" - -msgid "February" -msgstr "Febrero" - -msgid "March" -msgstr "Marzo" - -msgid "April" -msgstr "Abril" - -msgid "May" -msgstr "Mayo" - -msgid "June" -msgstr "Junio" - -msgid "July" -msgstr "Julio" - -msgid "August" -msgstr "Agosto" - -msgid "September" -msgstr "Septiembre" - -msgid "October" -msgstr "Octubre" - -msgid "November" -msgstr "Noviembre" - -msgid "December" -msgstr "Diciembre" - -msgid "jan" -msgstr "ene" - -msgid "feb" -msgstr "feb" - -msgid "mar" -msgstr "mar" - -msgid "apr" -msgstr "abr" - -msgid "may" -msgstr "may" - -msgid "jun" -msgstr "jun" - -msgid "jul" -msgstr "jul" - -msgid "aug" -msgstr "ago" - -msgid "sep" -msgstr "sep" - -msgid "oct" -msgstr "oct" - -msgid "nov" -msgstr "nov" - -msgid "dec" -msgstr "dic" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Ene." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Feb." - -msgctxt "abbrev. month" -msgid "March" -msgstr "Marzo" - -msgctxt "abbrev. month" -msgid "April" -msgstr "Abril" - -msgctxt "abbrev. month" -msgid "May" -msgstr "Mayo" - -msgctxt "abbrev. month" -msgid "June" -msgstr "Junio" - -msgctxt "abbrev. month" -msgid "July" -msgstr "Julio" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Ago." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Sep." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Oct." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Nov." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Dic." - -msgctxt "alt. month" -msgid "January" -msgstr "Enero" - -msgctxt "alt. month" -msgid "February" -msgstr "Febrero" - -msgctxt "alt. month" -msgid "March" -msgstr "Marzo" - -msgctxt "alt. month" -msgid "April" -msgstr "Abril" - -msgctxt "alt. month" -msgid "May" -msgstr "Mayo" - -msgctxt "alt. month" -msgid "June" -msgstr "Junio" - -msgctxt "alt. month" -msgid "July" -msgstr "Julio" - -msgctxt "alt. month" -msgid "August" -msgstr "Agosto" - -msgctxt "alt. month" -msgid "September" -msgstr "Septiembre" - -msgctxt "alt. month" -msgid "October" -msgstr "Octubre" - -msgctxt "alt. month" -msgid "November" -msgstr "Noviembre" - -msgctxt "alt. month" -msgid "December" -msgstr "Diciembre" - -msgid "This is not a valid IPv6 address." -msgstr "Esta no es una dirección IPv6 válida." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "" - -msgid "or" -msgstr "o" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr "," - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d año" -msgstr[1] "%d años" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d mes" -msgstr[1] "%d meses" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d semana" -msgstr[1] "%d semanas" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d día" -msgstr[1] "%d días" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d hora" -msgstr[1] "%d horas" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d minuto" -msgstr[1] "%d minutos" - -msgid "Forbidden" -msgstr "Prohibido" - -msgid "CSRF verification failed. Request aborted." -msgstr "Verificación CSRF fallida. Solicitud abortada." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Estás viendo este mensaje porqué esta web requiere una cookie CSRF cuando se " -"envían formularios. Esta cookie se necesita por razones de seguridad, para " -"asegurar que tu navegador no ha sido comprometido por terceras partes." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "Se puede ver más información si se establece DEBUG=True." - -msgid "No year specified" -msgstr "No se ha indicado el año" - -msgid "Date out of range" -msgstr "" - -msgid "No month specified" -msgstr "No se ha indicado el mes" - -msgid "No day specified" -msgstr "No se ha indicado el día" - -msgid "No week specified" -msgstr "No se ha indicado la semana" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "No %(verbose_name_plural)s disponibles" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"Los futuros %(verbose_name_plural)s no están disponibles porque " -"%(class_name)s.allow_future es Falso." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "No se encontró ningún %(verbose_name)s coincidente con la consulta" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Página inválida (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "Los índices de directorio no están permitidos." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Índice de %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" - -msgid "The install worked successfully! Congratulations!" -msgstr "" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" - -msgid "Django Documentation" -msgstr "" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "" - -msgid "Get started with Django" -msgstr "" - -msgid "Django Community" -msgstr "" - -msgid "Connect, get help, or contribute" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/es_CO/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/es_CO/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/es_CO/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/es_CO/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 50d64e5f..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/es_CO/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/es_CO/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/es_CO/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 4af4960c..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/es_CO/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/es_CO/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/es_CO/formats.py deleted file mode 100644 index cefbe26d..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/es_CO/formats.py +++ /dev/null @@ -1,26 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -DATE_FORMAT = r'j \d\e F \d\e Y' -TIME_FORMAT = 'H:i' -DATETIME_FORMAT = r'j \d\e F \d\e Y \a \l\a\s H:i' -YEAR_MONTH_FORMAT = r'F \d\e Y' -MONTH_DAY_FORMAT = r'j \d\e F' -SHORT_DATE_FORMAT = 'd/m/Y' -SHORT_DATETIME_FORMAT = 'd/m/Y H:i' -FIRST_DAY_OF_WEEK = 1 -DATE_INPUT_FORMATS = [ - '%d/%m/%Y', '%d/%m/%y', # '25/10/2006', '25/10/06' - '%Y%m%d', # '20061025' - -] -DATETIME_INPUT_FORMATS = [ - '%d/%m/%Y %H:%M:%S', - '%d/%m/%Y %H:%M:%S.%f', - '%d/%m/%Y %H:%M', - '%d/%m/%y %H:%M:%S', - '%d/%m/%y %H:%M:%S.%f', - '%d/%m/%y %H:%M', -] -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = '.' -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/es_MX/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/es_MX/LC_MESSAGES/django.mo deleted file mode 100644 index 3d6233aa..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/es_MX/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/es_MX/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/es_MX/LC_MESSAGES/django.po deleted file mode 100644 index c0a9a2ed..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/es_MX/LC_MESSAGES/django.po +++ /dev/null @@ -1,1247 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Abe Estrada, 2011-2013 -# Claude Paroz , 2020 -# Jesús Bautista , 2019-2020 -# zodman , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-07-14 21:42+0000\n" -"Last-Translator: Transifex Bot <>\n" -"Language-Team: Spanish (Mexico) (http://www.transifex.com/django/django/" -"language/es_MX/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: es_MX\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "Afrikaans" -msgstr "afrikáans" - -msgid "Arabic" -msgstr "Árabe" - -msgid "Algerian Arabic" -msgstr "" - -msgid "Asturian" -msgstr "" - -msgid "Azerbaijani" -msgstr "Azerbaijani" - -msgid "Bulgarian" -msgstr "Búlgaro" - -msgid "Belarusian" -msgstr "bielorruso" - -msgid "Bengali" -msgstr "Bengalí" - -msgid "Breton" -msgstr "bretón" - -msgid "Bosnian" -msgstr "Bosnio" - -msgid "Catalan" -msgstr "Catalán" - -msgid "Czech" -msgstr "Checo" - -msgid "Welsh" -msgstr "Galés" - -msgid "Danish" -msgstr "Danés" - -msgid "German" -msgstr "Alemán" - -msgid "Lower Sorbian" -msgstr "" - -msgid "Greek" -msgstr "Griego" - -msgid "English" -msgstr "Inglés" - -msgid "Australian English" -msgstr "" - -msgid "British English" -msgstr "Inglés británico" - -msgid "Esperanto" -msgstr "Esperanto" - -msgid "Spanish" -msgstr "Español" - -msgid "Argentinian Spanish" -msgstr "Español de Argentina" - -msgid "Colombian Spanish" -msgstr "Español Colombiano" - -msgid "Mexican Spanish" -msgstr "Español de México" - -msgid "Nicaraguan Spanish" -msgstr "Español de nicaragua" - -msgid "Venezuelan Spanish" -msgstr "español de Venezuela" - -msgid "Estonian" -msgstr "Estonio" - -msgid "Basque" -msgstr "Vasco" - -msgid "Persian" -msgstr "Persa" - -msgid "Finnish" -msgstr "Finés" - -msgid "French" -msgstr "Francés" - -msgid "Frisian" -msgstr "Frisón" - -msgid "Irish" -msgstr "Irlandés" - -msgid "Scottish Gaelic" -msgstr "" - -msgid "Galician" -msgstr "Gallego" - -msgid "Hebrew" -msgstr "Hebreo" - -msgid "Hindi" -msgstr "Hindi" - -msgid "Croatian" -msgstr "Croata" - -msgid "Upper Sorbian" -msgstr "" - -msgid "Hungarian" -msgstr "Húngaro" - -msgid "Armenian" -msgstr "" - -msgid "Interlingua" -msgstr "Interlingua" - -msgid "Indonesian" -msgstr "Indonesio" - -msgid "Igbo" -msgstr "" - -msgid "Ido" -msgstr "" - -msgid "Icelandic" -msgstr "Islandés" - -msgid "Italian" -msgstr "Italiano" - -msgid "Japanese" -msgstr "Japonés" - -msgid "Georgian" -msgstr "Georgiano" - -msgid "Kabyle" -msgstr "" - -msgid "Kazakh" -msgstr "Kazajstán" - -msgid "Khmer" -msgstr "Khmer" - -msgid "Kannada" -msgstr "Kannada" - -msgid "Korean" -msgstr "Coreano" - -msgid "Kyrgyz" -msgstr "" - -msgid "Luxembourgish" -msgstr "luxemburgués" - -msgid "Lithuanian" -msgstr "Lituano" - -msgid "Latvian" -msgstr "Letón" - -msgid "Macedonian" -msgstr "Macedonio" - -msgid "Malayalam" -msgstr "Malayalam" - -msgid "Mongolian" -msgstr "Mongol" - -msgid "Marathi" -msgstr "" - -msgid "Burmese" -msgstr "burmés" - -msgid "Norwegian Bokmål" -msgstr "" - -msgid "Nepali" -msgstr "Nepal" - -msgid "Dutch" -msgstr "Holandés" - -msgid "Norwegian Nynorsk" -msgstr "Noruego Nynorsk" - -msgid "Ossetic" -msgstr "osetio" - -msgid "Punjabi" -msgstr "Punjabi" - -msgid "Polish" -msgstr "Polaco" - -msgid "Portuguese" -msgstr "Portugués" - -msgid "Brazilian Portuguese" -msgstr "Portugués de Brasil" - -msgid "Romanian" -msgstr "Rumano" - -msgid "Russian" -msgstr "Ruso" - -msgid "Slovak" -msgstr "Eslovaco" - -msgid "Slovenian" -msgstr "Esloveno" - -msgid "Albanian" -msgstr "Albanés" - -msgid "Serbian" -msgstr "Serbio" - -msgid "Serbian Latin" -msgstr "Latin Serbio" - -msgid "Swedish" -msgstr "Sueco" - -msgid "Swahili" -msgstr "Swahili" - -msgid "Tamil" -msgstr "Tamil" - -msgid "Telugu" -msgstr "Telugu" - -msgid "Tajik" -msgstr "" - -msgid "Thai" -msgstr "Tailandés" - -msgid "Turkmen" -msgstr "" - -msgid "Turkish" -msgstr "Turco" - -msgid "Tatar" -msgstr "Tatar" - -msgid "Udmurt" -msgstr "udmurto" - -msgid "Ukrainian" -msgstr "Ucraniano" - -msgid "Urdu" -msgstr "Urdu" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "Vietnamita" - -msgid "Simplified Chinese" -msgstr "Chino simplificado" - -msgid "Traditional Chinese" -msgstr "Chino tradicional" - -msgid "Messages" -msgstr "Mensajes" - -msgid "Site Maps" -msgstr "" - -msgid "Static Files" -msgstr "Archivos Estáticos" - -msgid "Syndication" -msgstr "" - -msgid "That page number is not an integer" -msgstr "" - -msgid "That page number is less than 1" -msgstr "" - -msgid "That page contains no results" -msgstr "" - -msgid "Enter a valid value." -msgstr "Introduzca un valor válido." - -msgid "Enter a valid URL." -msgstr "Ingrese una URL válida." - -msgid "Enter a valid integer." -msgstr "Ingrese un entero válido." - -msgid "Enter a valid email address." -msgstr "Introduzca una dirección de correo electrónico válida." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "Introduzca una dirección IPv4 válida." - -msgid "Enter a valid IPv6 address." -msgstr "Introduzca una dirección IPv6 válida." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Introduzca una dirección IPv4 o IPv6 válida." - -msgid "Enter only digits separated by commas." -msgstr "Introduzca sólo números separados por comas." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "Asegúrese de que este valor es %(limit_value)s (es %(show_value)s )." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Asegúrese de que este valor sea menor o igual a %(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Asegúrese de que este valor sea mayor o igual a %(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Asegúrese de que este valor tenga como mínimo %(limit_value)d caracter " -"(tiene %(show_value)d)." -msgstr[1] "" -"Asegúrese de que este valor tenga como mínimo %(limit_value)d caracteres " -"(tiene %(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" - -msgid "Enter a number." -msgstr "Introduzca un número." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "" - -msgid "and" -msgstr "y" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "" - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "" - -msgid "This field cannot be null." -msgstr "Este campo no puede ser nulo." - -msgid "This field cannot be blank." -msgstr "Este campo no puede estar en blanco." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "Ya existe un/a %(model_name)s con este/a %(field_label)s." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Campo tipo: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "Boolean (Verdadero o Falso)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Cadena (máximo %(max_length)s)" - -msgid "Comma-separated integers" -msgstr "Enteros separados por comas" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "Fecha (sin hora)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "Fecha (con hora)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "Número decimal" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "Duración" - -msgid "Email address" -msgstr "Dirección de correo electrónico" - -msgid "File path" -msgstr "Ruta de archivo" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "El valor \"%(value)s\" debe ser flotante." - -msgid "Floating point number" -msgstr "Número de punto flotante" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "Entero" - -msgid "Big (8 byte) integer" -msgstr "Entero grande (8 bytes)" - -msgid "IPv4 address" -msgstr "Dirección IPv4" - -msgid "IP address" -msgstr "Dirección IP" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "Booleano (Verdadero, Falso o Nulo)" - -msgid "Positive big integer" -msgstr "" - -msgid "Positive integer" -msgstr "Entero positivo" - -msgid "Positive small integer" -msgstr "Entero positivo pequeño" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Slug (hasta %(max_length)s)" - -msgid "Small integer" -msgstr "Entero pequeño" - -msgid "Text" -msgstr "Texto" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "Hora" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "" - -msgid "File" -msgstr "Archivo" - -msgid "Image" -msgstr "Imagen" - -msgid "A JSON object" -msgstr "" - -msgid "Value must be valid JSON." -msgstr "" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "" - -msgid "Foreign Key (type determined by related field)" -msgstr "Clave foránea (el tipo está determinado por el campo relacionado)" - -msgid "One-to-one relationship" -msgstr "Relación uno-a-uno" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "" - -msgid "Many-to-many relationship" -msgstr "Relación muchos-a-muchos" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Este campo es obligatorio." - -msgid "Enter a whole number." -msgstr "Introduzca un número entero." - -msgid "Enter a valid date." -msgstr "Introduzca una fecha válida." - -msgid "Enter a valid time." -msgstr "Introduzca una hora válida." - -msgid "Enter a valid date/time." -msgstr "Introduzca una fecha/hora válida." - -msgid "Enter a valid duration." -msgstr "" - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "" - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "" -"No se envió un archivo. Verifique el tipo de codificación en el formulario." - -msgid "No file was submitted." -msgstr "No se envió ningún archivo." - -msgid "The submitted file is empty." -msgstr "El archivo enviado está vacío." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -msgstr[1] "" - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "Por favor envíe un archivo o marque la casilla, no ambos." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Seleccione una imagen válida. El archivo que ha seleccionado no es una " -"imagen o es un un archivo de imagen corrupto." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "" -"Seleccione una opción válida. %(value)s no es una de las opciones " -"disponibles." - -msgid "Enter a list of values." -msgstr "Introduzca una lista de valores." - -msgid "Enter a complete value." -msgstr "Ingrese un valor completo." - -msgid "Enter a valid UUID." -msgstr "" - -msgid "Enter a valid JSON." -msgstr "" - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "" -msgstr[1] "" - -msgid "Order" -msgstr "Ordenar" - -msgid "Delete" -msgstr "Eliminar" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Por favor, corrija la información duplicada en %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"Por favor corrija la información duplicada en %(field)s, que debe ser única." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Por favor corrija la información duplicada en %(field_name)s que debe ser " -"única para el %(lookup)s en %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "Por favor, corrija los valores duplicados detallados mas abajo." - -msgid "The inline value did not match the parent instance." -msgstr "" - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" -"Seleccione una opción válida. La opción seleccionada no es una de las " -"disponibles." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "Borrar" - -msgid "Currently" -msgstr "Actualmente" - -msgid "Change" -msgstr "Modificar" - -msgid "Unknown" -msgstr "Desconocido" - -msgid "Yes" -msgstr "Sí" - -msgid "No" -msgstr "No" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "sí,no,tal vez" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d byte" -msgstr[1] "%(size)d bytes" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "p.m." - -msgid "a.m." -msgstr "a.m." - -msgid "PM" -msgstr "PM" - -msgid "AM" -msgstr "AM" - -msgid "midnight" -msgstr "medianoche" - -msgid "noon" -msgstr "mediodía" - -msgid "Monday" -msgstr "Lunes" - -msgid "Tuesday" -msgstr "Martes" - -msgid "Wednesday" -msgstr "Miércoles" - -msgid "Thursday" -msgstr "Jueves" - -msgid "Friday" -msgstr "Viernes" - -msgid "Saturday" -msgstr "Sábado" - -msgid "Sunday" -msgstr "Domingo" - -msgid "Mon" -msgstr "Lun" - -msgid "Tue" -msgstr "Mar" - -msgid "Wed" -msgstr "Mie" - -msgid "Thu" -msgstr "Jue" - -msgid "Fri" -msgstr "Vie" - -msgid "Sat" -msgstr "Sab" - -msgid "Sun" -msgstr "Dom" - -msgid "January" -msgstr "Enero" - -msgid "February" -msgstr "Febrero" - -msgid "March" -msgstr "Marzo" - -msgid "April" -msgstr "Abril" - -msgid "May" -msgstr "Mayo" - -msgid "June" -msgstr "Junio" - -msgid "July" -msgstr "Julio" - -msgid "August" -msgstr "Agosto" - -msgid "September" -msgstr "Septiembre" - -msgid "October" -msgstr "Octubre" - -msgid "November" -msgstr "Noviembre" - -msgid "December" -msgstr "Diciembre" - -msgid "jan" -msgstr "ene" - -msgid "feb" -msgstr "feb" - -msgid "mar" -msgstr "mar" - -msgid "apr" -msgstr "abr" - -msgid "may" -msgstr "may" - -msgid "jun" -msgstr "jun" - -msgid "jul" -msgstr "jul" - -msgid "aug" -msgstr "ago" - -msgid "sep" -msgstr "sep" - -msgid "oct" -msgstr "oct" - -msgid "nov" -msgstr "nov" - -msgid "dec" -msgstr "dic" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Ene." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Feb." - -msgctxt "abbrev. month" -msgid "March" -msgstr "Marzo" - -msgctxt "abbrev. month" -msgid "April" -msgstr "Abril" - -msgctxt "abbrev. month" -msgid "May" -msgstr "Mayo" - -msgctxt "abbrev. month" -msgid "June" -msgstr "Junio" - -msgctxt "abbrev. month" -msgid "July" -msgstr "Julio" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Ago." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Sep." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Oct." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Nov." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Dic." - -msgctxt "alt. month" -msgid "January" -msgstr "Enero" - -msgctxt "alt. month" -msgid "February" -msgstr "Febrero" - -msgctxt "alt. month" -msgid "March" -msgstr "Marzo" - -msgctxt "alt. month" -msgid "April" -msgstr "Abril" - -msgctxt "alt. month" -msgid "May" -msgstr "Mayo" - -msgctxt "alt. month" -msgid "June" -msgstr "Junio" - -msgctxt "alt. month" -msgid "July" -msgstr "Julio" - -msgctxt "alt. month" -msgid "August" -msgstr "Agosto" - -msgctxt "alt. month" -msgid "September" -msgstr "Septiembre" - -msgctxt "alt. month" -msgid "October" -msgstr "Octubre" - -msgctxt "alt. month" -msgid "November" -msgstr "Noviembre" - -msgctxt "alt. month" -msgid "December" -msgstr "Diciembre" - -msgid "This is not a valid IPv6 address." -msgstr "Esta no es una dirección IPv6 válida." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "" - -msgid "or" -msgstr "o" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr "," - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d año" -msgstr[1] "%d años" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d mes" -msgstr[1] "%d meses" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d semana" -msgstr[1] "%d semanas" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d día" -msgstr[1] "%d días" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d hora" -msgstr[1] "%d horas" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d minuto" -msgstr[1] "%d minutos" - -msgid "Forbidden" -msgstr "Prohibido" - -msgid "CSRF verification failed. Request aborted." -msgstr "" - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "" - -msgid "No year specified" -msgstr "No se ha especificado el valor año" - -msgid "Date out of range" -msgstr "Fecha fuera de rango" - -msgid "No month specified" -msgstr "No se ha especificado el valor mes" - -msgid "No day specified" -msgstr "No se ha especificado el valor dia" - -msgid "No week specified" -msgstr "No se ha especificado el valor semana" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "No hay %(verbose_name_plural)s disponibles" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"No hay %(verbose_name_plural)s futuros disponibles porque %(class_name)s." -"allow_future tiene el valor False." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "No se han encontrado %(verbose_name)s que coincidan con la consulta" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Página inválida (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "Los índices del directorio no están permitidos." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Índice de %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" - -msgid "The install worked successfully! Congratulations!" -msgstr "" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" - -msgid "Django Documentation" -msgstr "Documentación de Django" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "" - -msgid "Get started with Django" -msgstr "" - -msgid "Django Community" -msgstr "" - -msgid "Connect, get help, or contribute" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/es_MX/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/es_MX/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/es_MX/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/es_MX/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index a44b866c..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/es_MX/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/es_MX/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/es_MX/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index f0eb3da4..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/es_MX/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/es_MX/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/es_MX/formats.py deleted file mode 100644 index 760edcfa..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/es_MX/formats.py +++ /dev/null @@ -1,25 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -DATE_FORMAT = r'j \d\e F \d\e Y' -TIME_FORMAT = 'H:i' -DATETIME_FORMAT = r'j \d\e F \d\e Y \a \l\a\s H:i' -YEAR_MONTH_FORMAT = r'F \d\e Y' -MONTH_DAY_FORMAT = r'j \d\e F' -SHORT_DATE_FORMAT = 'd/m/Y' -SHORT_DATETIME_FORMAT = 'd/m/Y H:i' -FIRST_DAY_OF_WEEK = 1 # Monday: ISO 8601 -DATE_INPUT_FORMATS = [ - '%d/%m/%Y', '%d/%m/%y', # '25/10/2006', '25/10/06' - '%Y%m%d', # '20061025' -] -DATETIME_INPUT_FORMATS = [ - '%d/%m/%Y %H:%M:%S', - '%d/%m/%Y %H:%M:%S.%f', - '%d/%m/%Y %H:%M', - '%d/%m/%y %H:%M:%S', - '%d/%m/%y %H:%M:%S.%f', - '%d/%m/%y %H:%M', -] -DECIMAL_SEPARATOR = '.' # ',' is also official (less common): NOM-008-SCFI-2002 -THOUSAND_SEPARATOR = ',' -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/es_NI/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/es_NI/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/es_NI/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/es_NI/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 66ca4e19..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/es_NI/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/es_NI/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/es_NI/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 559d1802..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/es_NI/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/es_NI/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/es_NI/formats.py deleted file mode 100644 index 2eacf506..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/es_NI/formats.py +++ /dev/null @@ -1,26 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -DATE_FORMAT = r'j \d\e F \d\e Y' -TIME_FORMAT = 'H:i' -DATETIME_FORMAT = r'j \d\e F \d\e Y \a \l\a\s H:i' -YEAR_MONTH_FORMAT = r'F \d\e Y' -MONTH_DAY_FORMAT = r'j \d\e F' -SHORT_DATE_FORMAT = 'd/m/Y' -SHORT_DATETIME_FORMAT = 'd/m/Y H:i' -FIRST_DAY_OF_WEEK = 1 # Monday: ISO 8601 -DATE_INPUT_FORMATS = [ - '%d/%m/%Y', '%d/%m/%y', # '25/10/2006', '25/10/06' - '%Y%m%d', # '20061025' - -] -DATETIME_INPUT_FORMATS = [ - '%d/%m/%Y %H:%M:%S', - '%d/%m/%Y %H:%M:%S.%f', - '%d/%m/%Y %H:%M', - '%d/%m/%y %H:%M:%S', - '%d/%m/%y %H:%M:%S.%f', - '%d/%m/%y %H:%M', -] -DECIMAL_SEPARATOR = '.' -THOUSAND_SEPARATOR = ',' -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/es_PR/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/es_PR/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/es_PR/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/es_PR/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 7fc4b734..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/es_PR/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/es_PR/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/es_PR/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index a1de89a7..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/es_PR/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/es_PR/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/es_PR/formats.py deleted file mode 100644 index 7f53ef9f..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/es_PR/formats.py +++ /dev/null @@ -1,27 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -DATE_FORMAT = r'j \d\e F \d\e Y' -TIME_FORMAT = 'H:i' -DATETIME_FORMAT = r'j \d\e F \d\e Y \a \l\a\s H:i' -YEAR_MONTH_FORMAT = r'F \d\e Y' -MONTH_DAY_FORMAT = r'j \d\e F' -SHORT_DATE_FORMAT = 'd/m/Y' -SHORT_DATETIME_FORMAT = 'd/m/Y H:i' -FIRST_DAY_OF_WEEK = 0 # Sunday - -DATE_INPUT_FORMATS = [ - # '31/12/2009', '31/12/09' - '%d/%m/%Y', '%d/%m/%y' -] -DATETIME_INPUT_FORMATS = [ - '%d/%m/%Y %H:%M:%S', - '%d/%m/%Y %H:%M:%S.%f', - '%d/%m/%Y %H:%M', - '%d/%m/%y %H:%M:%S', - '%d/%m/%y %H:%M:%S.%f', - '%d/%m/%y %H:%M', -] - -DECIMAL_SEPARATOR = '.' -THOUSAND_SEPARATOR = ',' -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/es_VE/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/es_VE/LC_MESSAGES/django.mo deleted file mode 100644 index f7efb3ef..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/es_VE/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/es_VE/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/es_VE/LC_MESSAGES/django.po deleted file mode 100644 index bd0a9048..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/es_VE/LC_MESSAGES/django.po +++ /dev/null @@ -1,1260 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Claude Paroz , 2020 -# Eduardo , 2017 -# Leonardo J. Caballero G. , 2016 -# Sebastián Magrí, 2011 -# Yoel Acevedo, 2017 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-07-14 21:42+0000\n" -"Last-Translator: Transifex Bot <>\n" -"Language-Team: Spanish (Venezuela) (http://www.transifex.com/django/django/" -"language/es_VE/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: es_VE\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "Afrikaans" -msgstr "Afrikáans" - -msgid "Arabic" -msgstr "Árabe" - -msgid "Algerian Arabic" -msgstr "" - -msgid "Asturian" -msgstr "Asturiano" - -msgid "Azerbaijani" -msgstr "Azerí" - -msgid "Bulgarian" -msgstr "Búlgaro" - -msgid "Belarusian" -msgstr "Bielorruso" - -msgid "Bengali" -msgstr "Bengalí" - -msgid "Breton" -msgstr "Bretón" - -msgid "Bosnian" -msgstr "Bosnio" - -msgid "Catalan" -msgstr "Catalán" - -msgid "Czech" -msgstr "Checo" - -msgid "Welsh" -msgstr "Galés" - -msgid "Danish" -msgstr "Danés" - -msgid "German" -msgstr "Alemán" - -msgid "Lower Sorbian" -msgstr "Sorbio Inferior" - -msgid "Greek" -msgstr "Griego" - -msgid "English" -msgstr "Inglés" - -msgid "Australian English" -msgstr "Inglés Australiano" - -msgid "British English" -msgstr "Inglés Británico" - -msgid "Esperanto" -msgstr "Esperanto" - -msgid "Spanish" -msgstr "Español" - -msgid "Argentinian Spanish" -msgstr "Español de Argentina" - -msgid "Colombian Spanish" -msgstr "Español de Colombia" - -msgid "Mexican Spanish" -msgstr "Español de México" - -msgid "Nicaraguan Spanish" -msgstr "Español de Nicaragua" - -msgid "Venezuelan Spanish" -msgstr "Español de Venezuela" - -msgid "Estonian" -msgstr "Estonio" - -msgid "Basque" -msgstr "Vazco" - -msgid "Persian" -msgstr "Persa" - -msgid "Finnish" -msgstr "Finlandés" - -msgid "French" -msgstr "Francés" - -msgid "Frisian" -msgstr "Frisio" - -msgid "Irish" -msgstr "Irlandés" - -msgid "Scottish Gaelic" -msgstr "Gaélico Escocés" - -msgid "Galician" -msgstr "Galés" - -msgid "Hebrew" -msgstr "Hebreo" - -msgid "Hindi" -msgstr "Hindi" - -msgid "Croatian" -msgstr "Croata" - -msgid "Upper Sorbian" -msgstr "Sorbio Superior" - -msgid "Hungarian" -msgstr "Húngaro" - -msgid "Armenian" -msgstr "" - -msgid "Interlingua" -msgstr "Interlingua" - -msgid "Indonesian" -msgstr "Indonesio" - -msgid "Igbo" -msgstr "" - -msgid "Ido" -msgstr "Ido" - -msgid "Icelandic" -msgstr "Islandés" - -msgid "Italian" -msgstr "Italiano" - -msgid "Japanese" -msgstr "Japonés" - -msgid "Georgian" -msgstr "Georgiano" - -msgid "Kabyle" -msgstr "" - -msgid "Kazakh" -msgstr "Kazajo" - -msgid "Khmer" -msgstr "Khmer" - -msgid "Kannada" -msgstr "Canarés" - -msgid "Korean" -msgstr "Coreano" - -msgid "Kyrgyz" -msgstr "" - -msgid "Luxembourgish" -msgstr "Luxenburgués" - -msgid "Lithuanian" -msgstr "Lituano" - -msgid "Latvian" -msgstr "Latvio" - -msgid "Macedonian" -msgstr "Macedonio" - -msgid "Malayalam" -msgstr "Malayala" - -msgid "Mongolian" -msgstr "Mongol" - -msgid "Marathi" -msgstr "Maratí" - -msgid "Burmese" -msgstr "Birmano" - -msgid "Norwegian Bokmål" -msgstr "Noruego" - -msgid "Nepali" -msgstr "Nepalí" - -msgid "Dutch" -msgstr "Holandés" - -msgid "Norwegian Nynorsk" -msgstr "Nynorsk" - -msgid "Ossetic" -msgstr "Osetio" - -msgid "Punjabi" -msgstr "Punjabi" - -msgid "Polish" -msgstr "Polaco" - -msgid "Portuguese" -msgstr "Portugués" - -msgid "Brazilian Portuguese" -msgstr "Portugués de Brasil" - -msgid "Romanian" -msgstr "Ruman" - -msgid "Russian" -msgstr "Ruso" - -msgid "Slovak" -msgstr "Eslovaco" - -msgid "Slovenian" -msgstr "Eslovenio" - -msgid "Albanian" -msgstr "Albano" - -msgid "Serbian" -msgstr "Serbi" - -msgid "Serbian Latin" -msgstr "Latín Serbio" - -msgid "Swedish" -msgstr "Sueco" - -msgid "Swahili" -msgstr "Suajili" - -msgid "Tamil" -msgstr "Tamil" - -msgid "Telugu" -msgstr "Telugu" - -msgid "Tajik" -msgstr "" - -msgid "Thai" -msgstr "Tailandés" - -msgid "Turkmen" -msgstr "" - -msgid "Turkish" -msgstr "Turco" - -msgid "Tatar" -msgstr "Tártaro" - -msgid "Udmurt" -msgstr "Udmurt" - -msgid "Ukrainian" -msgstr "Ucranio" - -msgid "Urdu" -msgstr "Urdu" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "Vietnamita" - -msgid "Simplified Chinese" -msgstr "Chino simplificado" - -msgid "Traditional Chinese" -msgstr "Chino tradicional" - -msgid "Messages" -msgstr "Mensajes" - -msgid "Site Maps" -msgstr "Mapas del sitio" - -msgid "Static Files" -msgstr "Archivos estáticos" - -msgid "Syndication" -msgstr "Sindicación" - -msgid "That page number is not an integer" -msgstr "Ese número de página no es un número entero" - -msgid "That page number is less than 1" -msgstr "Ese número de página es menor que 1" - -msgid "That page contains no results" -msgstr "Esa página no contiene resultados" - -msgid "Enter a valid value." -msgstr "Introduzca un valor válido." - -msgid "Enter a valid URL." -msgstr "Introduzca una URL válida." - -msgid "Enter a valid integer." -msgstr "Ingrese un valor válido." - -msgid "Enter a valid email address." -msgstr "Ingrese una dirección de correo electrónico válida." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "Introduzca una dirección IPv4 válida." - -msgid "Enter a valid IPv6 address." -msgstr "Ingrese una dirección IPv6 válida." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Ingrese una dirección IPv4 o IPv6 válida." - -msgid "Enter only digits separated by commas." -msgstr "Introduzca solo dígitos separados por comas." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "Asegúrese de que este valor %(limit_value)s (ahora es %(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Asegúrese de que este valor es menor o igual que %(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Asegúrese de que este valor es mayor o igual que %(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Asegúrese de que este valor tenga como mínimo %(limit_value)d carácter " -"(tiene %(show_value)d)." -msgstr[1] "" -"Asegúrese de que este valor tenga como mínimo %(limit_value)d caracteres " -"(tiene %(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Asegúrese de que este valor tenga como máximo %(limit_value)d carácter " -"(tiene %(show_value)d)." -msgstr[1] "" -"Asegúrese de que este valor tenga como máximo %(limit_value)d caracteres " -"(tiene %(show_value)d)." - -msgid "Enter a number." -msgstr "Introduzca un número." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Asegúrese de que no hayan más de %(max)s dígito en total." -msgstr[1] "Asegúrese de que no hayan más de %(max)s dígitos en total." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "Asegúrese de que no hayan más de %(max)s decimal." -msgstr[1] "Asegúrese de que no hayan más de %(max)s decimales." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -"Asegúrese de que no hayan más de %(max)s dígito antes del punto decimal." -msgstr[1] "" -"Asegúrese de que no hayan más de %(max)s dígitos antes del punto decimal." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "" - -msgid "and" -msgstr "y" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "%(model_name)s con este %(field_labels)s ya existe." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "Valor %(value)r no es una opción válida." - -msgid "This field cannot be null." -msgstr "Este campo no puede ser nulo." - -msgid "This field cannot be blank." -msgstr "Este campo no puede estar en blanco." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s con esta %(field_label)s ya existe." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(field_label)s debe ser único para %(date_field_label)s %(lookup_type)s." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Tipo de campo: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "Booleano (Verdadero o Falso)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Cadena (máximo %(max_length)s)" - -msgid "Comma-separated integers" -msgstr "Enteros separados por comas" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "Fecha (sin hora)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "Fecha (con hora)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "Número decimal" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "Duración" - -msgid "Email address" -msgstr "Dirección de correo electrónico" - -msgid "File path" -msgstr "Ruta de archivo" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "Número de punto flotante" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "Entero" - -msgid "Big (8 byte) integer" -msgstr "Entero grande (8 bytes)" - -msgid "IPv4 address" -msgstr "Dirección IPv4" - -msgid "IP address" -msgstr "Dirección IP" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "Booleano (Verdadero, Falso o Nulo)" - -msgid "Positive big integer" -msgstr "" - -msgid "Positive integer" -msgstr "Entero positivo" - -msgid "Positive small integer" -msgstr "Entero positivo pequeño" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Slug (hasta %(max_length)s)" - -msgid "Small integer" -msgstr "Entero pequeño" - -msgid "Text" -msgstr "Texto" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "Hora" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Datos de binarios brutos" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "" - -msgid "File" -msgstr "Archivo" - -msgid "Image" -msgstr "Imagen" - -msgid "A JSON object" -msgstr "" - -msgid "Value must be valid JSON." -msgstr "" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "la instancia del %(model)s con %(field)s %(value)r no existe." - -msgid "Foreign Key (type determined by related field)" -msgstr "Clave foránea (tipo determinado por el campo relacionado)" - -msgid "One-to-one relationship" -msgstr "Relación uno a uno" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "Relación %(from)s - %(to)s " - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "Relaciones %(from)s - %(to)s" - -msgid "Many-to-many relationship" -msgstr "Relación muchos a muchos" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Este campo es obligatorio." - -msgid "Enter a whole number." -msgstr "Introduzca un número completo." - -msgid "Enter a valid date." -msgstr "Introduzca una fecha válida." - -msgid "Enter a valid time." -msgstr "Introduzca una hora válida." - -msgid "Enter a valid date/time." -msgstr "Introduzca una hora y fecha válida." - -msgid "Enter a valid duration." -msgstr "Ingrese una duración válida." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "" - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "" -"No se envió archivo alguno. Revise el tipo de codificación del formulario." - -msgid "No file was submitted." -msgstr "No se envió ningún archivo." - -msgid "The submitted file is empty." -msgstr "El archivo enviado está vacío." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Asegúrese de que este nombre de archivo tenga como máximo %(max)d carácter " -"(tiene %(length)d)." -msgstr[1] "" -"Asegúrese de que este nombre de archivo tenga como máximo %(max)d caracteres " -"(tiene %(length)d)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "Por favor provea un archivo o active el selector de limpiar, no ambos." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Envíe una imagen válida. El fichero que ha enviado no era una imagen o se " -"trataba de una imagen corrupta." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "" -"Escoja una opción válida. %(value)s no es una de las opciones disponibles." - -msgid "Enter a list of values." -msgstr "Ingrese una lista de valores." - -msgid "Enter a complete value." -msgstr "Ingrese un valor completo." - -msgid "Enter a valid UUID." -msgstr "Ingrese un UUID válido." - -msgid "Enter a valid JSON." -msgstr "" - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Campo oculto %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "Los datos de ManagementForm faltan o han sido manipulados" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Por favor, envíe %d o un menor número de formularios." -msgstr[1] "Por favor, envíe %d o un menor número de formularios." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "Por favor, envíe %d o más formularios." -msgstr[1] "Por favor, envíe %d o más formularios." - -msgid "Order" -msgstr "Orden" - -msgid "Delete" -msgstr "Eliminar" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Por favor, corrija el dato duplicado para %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"Por favor, corrija el dato duplicado para %(field)s, este debe ser único." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Por favor, corrija los datos duplicados para %(field_name)s este debe ser " -"único para %(lookup)s en %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "Por favor, corrija los valores duplicados abajo." - -msgid "The inline value did not match the parent instance." -msgstr "" - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" -"Escoja una opción válida. Esa opción no está entre las opciones disponibles." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "Limpiar" - -msgid "Currently" -msgstr "Actualmente" - -msgid "Change" -msgstr "Cambiar" - -msgid "Unknown" -msgstr "Desconocido" - -msgid "Yes" -msgstr "Sí" - -msgid "No" -msgstr "No" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "sí,no,quizás" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d byte" -msgstr[1] "%(size)d bytes" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "p.m." - -msgid "a.m." -msgstr "a.m." - -msgid "PM" -msgstr "PM" - -msgid "AM" -msgstr "AM" - -msgid "midnight" -msgstr "medianoche" - -msgid "noon" -msgstr "mediodía" - -msgid "Monday" -msgstr "Lunes" - -msgid "Tuesday" -msgstr "Martes" - -msgid "Wednesday" -msgstr "Miércoles" - -msgid "Thursday" -msgstr "Jueves" - -msgid "Friday" -msgstr "Viernes" - -msgid "Saturday" -msgstr "Sábado" - -msgid "Sunday" -msgstr "Domingo" - -msgid "Mon" -msgstr "Lun" - -msgid "Tue" -msgstr "Mar" - -msgid "Wed" -msgstr "Mié" - -msgid "Thu" -msgstr "Jue" - -msgid "Fri" -msgstr "Vie" - -msgid "Sat" -msgstr "Sáb" - -msgid "Sun" -msgstr "Dom" - -msgid "January" -msgstr "Enero" - -msgid "February" -msgstr "Febrero" - -msgid "March" -msgstr "Marzo" - -msgid "April" -msgstr "Abril" - -msgid "May" -msgstr "Mayo" - -msgid "June" -msgstr "Junio" - -msgid "July" -msgstr "Julio" - -msgid "August" -msgstr "Agosto" - -msgid "September" -msgstr "Septiembre" - -msgid "October" -msgstr "Octubre" - -msgid "November" -msgstr "Noviembre" - -msgid "December" -msgstr "Diciembre" - -msgid "jan" -msgstr "ene" - -msgid "feb" -msgstr "feb" - -msgid "mar" -msgstr "mar" - -msgid "apr" -msgstr "abr" - -msgid "may" -msgstr "may" - -msgid "jun" -msgstr "jun" - -msgid "jul" -msgstr "jul" - -msgid "aug" -msgstr "ago" - -msgid "sep" -msgstr "sep" - -msgid "oct" -msgstr "oct" - -msgid "nov" -msgstr "nov" - -msgid "dec" -msgstr "dic" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Ene." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Feb." - -msgctxt "abbrev. month" -msgid "March" -msgstr "Marzo" - -msgctxt "abbrev. month" -msgid "April" -msgstr "Abril" - -msgctxt "abbrev. month" -msgid "May" -msgstr "Mayo" - -msgctxt "abbrev. month" -msgid "June" -msgstr "Junio" - -msgctxt "abbrev. month" -msgid "July" -msgstr "Julio" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Ago." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Sep." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Oct." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Nov." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Dic." - -msgctxt "alt. month" -msgid "January" -msgstr "Enero" - -msgctxt "alt. month" -msgid "February" -msgstr "Febrero" - -msgctxt "alt. month" -msgid "March" -msgstr "Marzo" - -msgctxt "alt. month" -msgid "April" -msgstr "Abril" - -msgctxt "alt. month" -msgid "May" -msgstr "Mayo" - -msgctxt "alt. month" -msgid "June" -msgstr "Junio" - -msgctxt "alt. month" -msgid "July" -msgstr "Julio" - -msgctxt "alt. month" -msgid "August" -msgstr "Agosto" - -msgctxt "alt. month" -msgid "September" -msgstr "Septiembre" - -msgctxt "alt. month" -msgid "October" -msgstr "Octubre" - -msgctxt "alt. month" -msgid "November" -msgstr "Noviembre" - -msgctxt "alt. month" -msgid "December" -msgstr "Diciembre" - -msgid "This is not a valid IPv6 address." -msgstr "Esta no es una dirección IPv6 válida." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "" - -msgid "or" -msgstr "o" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d año" -msgstr[1] "%d años" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d mes" -msgstr[1] "%d meses" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d semana" -msgstr[1] "%d semanas" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d día" -msgstr[1] "%d días" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d hora" -msgstr[1] "%d horas" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d minuto" -msgstr[1] "%d minutos" - -msgid "Forbidden" -msgstr "Prohibido" - -msgid "CSRF verification failed. Request aborted." -msgstr "Verificación CSRF fallida. Solicitud abortada." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Estás viendo este mensaje porqué esta web requiere una cookie CSRF cuando se " -"envían formularios. Esta cookie se necesita por razones de seguridad, para " -"asegurar que tu navegador no ha sido comprometido por terceras partes." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "Se puede ver más información si se establece DEBUG=True." - -msgid "No year specified" -msgstr "No se ha indicado el año" - -msgid "Date out of range" -msgstr "" - -msgid "No month specified" -msgstr "No se ha indicado el mes" - -msgid "No day specified" -msgstr "No se ha indicado el día" - -msgid "No week specified" -msgstr "No se ha indicado la semana" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "No %(verbose_name_plural)s disponibles" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"Los futuros %(verbose_name_plural)s no están disponibles porque " -"%(class_name)s.allow_future es Falso." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "No se encontró ningún %(verbose_name)s coincidente con la consulta" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Página inválida (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "Los índices de directorio no están permitidos." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Índice de %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" - -msgid "The install worked successfully! Congratulations!" -msgstr "" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" - -msgid "Django Documentation" -msgstr "" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "" - -msgid "Get started with Django" -msgstr "" - -msgid "Django Community" -msgstr "" - -msgid "Connect, get help, or contribute" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/et/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/et/LC_MESSAGES/django.mo deleted file mode 100644 index dc8fe5a8..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/et/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/et/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/et/LC_MESSAGES/django.po deleted file mode 100644 index a85b2ed1..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/et/LC_MESSAGES/django.po +++ /dev/null @@ -1,1302 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# eallik , 2011 -# Erlend Eelmets , 2020 -# Jannis Leidel , 2011 -# Janno Liivak , 2013-2015 -# madisvain , 2011 -# Martin Pajuste , 2014-2015 -# Martin Pajuste , 2016-2017,2019-2020 -# Marti Raudsepp , 2014,2016 -# Ragnar Rebase , 2019 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-09-03 15:37+0000\n" -"Last-Translator: Erlend Eelmets \n" -"Language-Team: Estonian (http://www.transifex.com/django/django/language/" -"et/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: et\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "Afrikaans" -msgstr "afrikaani" - -msgid "Arabic" -msgstr "araabia" - -msgid "Algerian Arabic" -msgstr "Alžeeria Araabia" - -msgid "Asturian" -msgstr "astuuria" - -msgid "Azerbaijani" -msgstr "aserbaidžaani" - -msgid "Bulgarian" -msgstr "bulgaaria" - -msgid "Belarusian" -msgstr "valgevene" - -msgid "Bengali" -msgstr "bengali" - -msgid "Breton" -msgstr "bretooni" - -msgid "Bosnian" -msgstr "bosnia" - -msgid "Catalan" -msgstr "katalaani" - -msgid "Czech" -msgstr "tšehhi" - -msgid "Welsh" -msgstr "uelsi" - -msgid "Danish" -msgstr "taani" - -msgid "German" -msgstr "saksa" - -msgid "Lower Sorbian" -msgstr "alamsorbi" - -msgid "Greek" -msgstr "kreeka" - -msgid "English" -msgstr "inglise" - -msgid "Australian English" -msgstr "austraalia inglise" - -msgid "British English" -msgstr "briti inglise" - -msgid "Esperanto" -msgstr "esperanto" - -msgid "Spanish" -msgstr "hispaania" - -msgid "Argentinian Spanish" -msgstr "argentiina hispaani" - -msgid "Colombian Spanish" -msgstr "kolumbia hispaania" - -msgid "Mexican Spanish" -msgstr "mehhiko hispaania" - -msgid "Nicaraguan Spanish" -msgstr "nikaraagua hispaania" - -msgid "Venezuelan Spanish" -msgstr "venetsueela hispaania" - -msgid "Estonian" -msgstr "eesti" - -msgid "Basque" -msgstr "baski" - -msgid "Persian" -msgstr "pärsia" - -msgid "Finnish" -msgstr "soome" - -msgid "French" -msgstr "prantsuse" - -msgid "Frisian" -msgstr "friisi" - -msgid "Irish" -msgstr "iiri" - -msgid "Scottish Gaelic" -msgstr "šoti gaeli" - -msgid "Galician" -msgstr "galiitsia" - -msgid "Hebrew" -msgstr "heebrea" - -msgid "Hindi" -msgstr "hindi" - -msgid "Croatian" -msgstr "horvaatia" - -msgid "Upper Sorbian" -msgstr "ülemsorbi" - -msgid "Hungarian" -msgstr "ungari" - -msgid "Armenian" -msgstr "armeenia" - -msgid "Interlingua" -msgstr "interlingua" - -msgid "Indonesian" -msgstr "indoneesi" - -msgid "Igbo" -msgstr "ibo" - -msgid "Ido" -msgstr "ido" - -msgid "Icelandic" -msgstr "islandi" - -msgid "Italian" -msgstr "itaalia" - -msgid "Japanese" -msgstr "jaapani" - -msgid "Georgian" -msgstr "gruusia" - -msgid "Kabyle" -msgstr "Kabiili" - -msgid "Kazakh" -msgstr "kasahhi" - -msgid "Khmer" -msgstr "khmeri" - -msgid "Kannada" -msgstr "kannada" - -msgid "Korean" -msgstr "korea" - -msgid "Kyrgyz" -msgstr "kirgiisi" - -msgid "Luxembourgish" -msgstr "letseburgi" - -msgid "Lithuanian" -msgstr "leedu" - -msgid "Latvian" -msgstr "läti" - -msgid "Macedonian" -msgstr "makedoonia" - -msgid "Malayalam" -msgstr "malaia" - -msgid "Mongolian" -msgstr "mongoolia" - -msgid "Marathi" -msgstr "marathi" - -msgid "Burmese" -msgstr "birma" - -msgid "Norwegian Bokmål" -msgstr "norra bokmål" - -msgid "Nepali" -msgstr "nepali" - -msgid "Dutch" -msgstr "hollandi" - -msgid "Norwegian Nynorsk" -msgstr "norra (nynorsk)" - -msgid "Ossetic" -msgstr "osseetia" - -msgid "Punjabi" -msgstr "pandžab" - -msgid "Polish" -msgstr "poola" - -msgid "Portuguese" -msgstr "portugali" - -msgid "Brazilian Portuguese" -msgstr "brasiilia portugali" - -msgid "Romanian" -msgstr "rumeenia" - -msgid "Russian" -msgstr "vene" - -msgid "Slovak" -msgstr "slovaki" - -msgid "Slovenian" -msgstr "sloveeni" - -msgid "Albanian" -msgstr "albaania" - -msgid "Serbian" -msgstr "serbia" - -msgid "Serbian Latin" -msgstr "serbia (ladina)" - -msgid "Swedish" -msgstr "rootsi" - -msgid "Swahili" -msgstr "suahiili" - -msgid "Tamil" -msgstr "tamiili" - -msgid "Telugu" -msgstr "telugu" - -msgid "Tajik" -msgstr "tadžiki" - -msgid "Thai" -msgstr "tai" - -msgid "Turkmen" -msgstr "türkmeeni" - -msgid "Turkish" -msgstr "türgi" - -msgid "Tatar" -msgstr "tatari" - -msgid "Udmurt" -msgstr "udmurdi" - -msgid "Ukrainian" -msgstr "ukrania" - -msgid "Urdu" -msgstr "urdu" - -msgid "Uzbek" -msgstr "Usbeki" - -msgid "Vietnamese" -msgstr "vietnami" - -msgid "Simplified Chinese" -msgstr "lihtsustatud hiina" - -msgid "Traditional Chinese" -msgstr "traditsiooniline hiina" - -msgid "Messages" -msgstr "Sõnumid" - -msgid "Site Maps" -msgstr "Saidikaardid" - -msgid "Static Files" -msgstr "Staatilised failid" - -msgid "Syndication" -msgstr "Sündikeerimine" - -msgid "That page number is not an integer" -msgstr "See lehe number ei ole täisarv" - -msgid "That page number is less than 1" -msgstr "See lehe number on väiksem kui 1" - -msgid "That page contains no results" -msgstr "See leht ei sisalda tulemusi" - -msgid "Enter a valid value." -msgstr "Sisestage korrektne väärtus." - -msgid "Enter a valid URL." -msgstr "Sisestage korrektne URL." - -msgid "Enter a valid integer." -msgstr "Sisestage korrektne täisarv." - -msgid "Enter a valid email address." -msgstr "Sisestage korrektne e-posti aadress." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" -"Sisestage korrektne “nälk”, mis koosneb tähtedest, numbritest, " -"alakriipsudest või sidekriipsudest." - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" -"Sisestage korrektne “nälk”, mis koosneb Unicode tähtedest, numbritest, ala- " -"või sidekriipsudest." - -msgid "Enter a valid IPv4 address." -msgstr "Sisestage korrektne IPv4 aadress." - -msgid "Enter a valid IPv6 address." -msgstr "Sisestage korrektne IPv6 aadress." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Sisestage korrektne IPv4 või IPv6 aadress." - -msgid "Enter only digits separated by commas." -msgstr "Sisestage ainult komaga eraldatud numbreid." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "Veendu, et see väärtus on %(limit_value)s (hetkel on %(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Veendu, et see väärtus on väiksem või võrdne kui %(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Veendu, et see väärtus on suurem või võrdne kui %(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Väärtuses peab olema vähemalt %(limit_value)d tähemärk (praegu on " -"%(show_value)d)." -msgstr[1] "" -"Väärtuses peab olema vähemalt %(limit_value)d tähemärki (praegu on " -"%(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Väärtuses võib olla kõige rohkem %(limit_value)d tähemärk (praegu on " -"%(show_value)d)." -msgstr[1] "" -"Väärtuses võib olla kõige rohkem %(limit_value)d tähemärki (praegu on " -"%(show_value)d)." - -msgid "Enter a number." -msgstr "Sisestage arv." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Veenduge, et kogu numbrikohtade arv ei oleks suurem kui %(max)s." -msgstr[1] "Veenduge, et kogu numbrikohtade arv ei oleks suurem kui %(max)s." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "Veenduge, et komakohtade arv ei oleks suurem kui %(max)s." -msgstr[1] "Veenduge, et komakohtade arv ei oleks suurem kui %(max)s." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -"Veenduge, et komast vasakul olevaid numbreid ei oleks rohkem kui %(max)s." -msgstr[1] "" -"Veenduge, et komast vasakul olevaid numbreid ei oleks rohkem kui %(max)s." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" -"Faililaiend “%(extension)s” pole lubatud. Lubatud laiendid on: " -"%(allowed_extensions)s." - -msgid "Null characters are not allowed." -msgstr "Tühjad tähemärgid ei ole lubatud." - -msgid "and" -msgstr "ja" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "%(model_name)s väljaga %(field_labels)s on juba olemas." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "Väärtus %(value)r ei ole kehtiv valik." - -msgid "This field cannot be null." -msgstr "See lahter ei tohi olla tühi." - -msgid "This field cannot be blank." -msgstr "See väli ei saa olla tühi." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "Sellise %(field_label)s-väljaga %(model_name)s on juba olemas." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(field_label)s peab olema unikaalne %(date_field_label)s %(lookup_type)s " -"suhtes." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Lahter tüüpi: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "“%(value)s” väärtus peab olema Tõene või Väär." - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "“%(value)s” väärtus peab olema Tõene, Väär või Tühi." - -msgid "Boolean (Either True or False)" -msgstr "Tõeväärtus (Kas tõene või väär)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "String (kuni %(max_length)s märki)" - -msgid "Comma-separated integers" -msgstr "Komaga eraldatud täisarvud" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" -"“%(value)s” väärtusel on vale kuupäevaformaat. See peab olema kujul AAAA-KK-" -"PP." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" -"“%(value)s” väärtusel on õige formaat (AAAA-KK-PP), kuid kuupäev on vale." - -msgid "Date (without time)" -msgstr "Kuupäev (kellaajata)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" -"“%(value)s” väärtusel on vale formaat. Peab olema formaadis AAAA-KK-PP HH:" -"MM[:ss[.uuuuuu]][TZ]." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" -"“%(value)s” väärtusel on õige formaat (AAAA-KK-PP HH:MM[:ss[.uuuuuu]][TZ]), " -"kuid kuupäev/kellaaeg on vale." - -msgid "Date (with time)" -msgstr "Kuupäev (kellaajaga)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "“%(value)s” väärtus peab olema kümnendarv." - -msgid "Decimal number" -msgstr "Kümnendmurd" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" -"“%(value)s” väärtusel on vale formaat. Peab olema formaadis [DD] " -"[[HH:]MM:]ss[.uuuuuu]." - -msgid "Duration" -msgstr "Kestus" - -msgid "Email address" -msgstr "E-posti aadress" - -msgid "File path" -msgstr "Faili asukoht" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "“%(value)s” väärtus peab olema ujukomaarv." - -msgid "Floating point number" -msgstr "Ujukomaarv" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "“%(value)s” väärtus peab olema täisarv." - -msgid "Integer" -msgstr "Täisarv" - -msgid "Big (8 byte) integer" -msgstr "Suur (8 baiti) täisarv" - -msgid "IPv4 address" -msgstr "IPv4 aadress" - -msgid "IP address" -msgstr "IP aadress" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "“%(value)s” väärtus peab olema kas Tühi, Tõene või Väär." - -msgid "Boolean (Either True, False or None)" -msgstr "Tõeväärtus (Kas tõene, väär või tühi)" - -msgid "Positive big integer" -msgstr "Positiivne suur täisarv" - -msgid "Positive integer" -msgstr "Positiivne täisarv" - -msgid "Positive small integer" -msgstr "Positiivne väikene täisarv" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Nälk (kuni %(max_length)s märki)" - -msgid "Small integer" -msgstr "Väike täisarv" - -msgid "Text" -msgstr "Tekst" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" -"“%(value)s” väärtusel on vale formaat. Peab olema formaadis HH:MM[:ss[." -"uuuuuu]]." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" -"“%(value)s” väärtusel on õige formaat (HH:MM[:ss[.uuuuuu]]), kuid kellaaeg " -"on vale." - -msgid "Time" -msgstr "Aeg" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Töötlemata binaarandmed" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "“%(value)s” ei ole korrektne UUID." - -msgid "Universally unique identifier" -msgstr "Universaalne unikaalne identifikaator" - -msgid "File" -msgstr "Fail" - -msgid "Image" -msgstr "Pilt" - -msgid "A JSON object" -msgstr "JSON objekt" - -msgid "Value must be valid JSON." -msgstr "Väärtus peab olema korrektne JSON." - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "%(model)s isendit %(field)s %(value)r ei leidu." - -msgid "Foreign Key (type determined by related field)" -msgstr "Välisvõti (tüübi määrab seotud väli) " - -msgid "One-to-one relationship" -msgstr "Üks-ühele seos" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "%(from)s-%(to)s seos" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "%(from)s-%(to)s seosed" - -msgid "Many-to-many relationship" -msgstr "Mitu-mitmele seos" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "See lahter on nõutav." - -msgid "Enter a whole number." -msgstr "Sisestage täisarv." - -msgid "Enter a valid date." -msgstr "Sisestage korrektne kuupäev." - -msgid "Enter a valid time." -msgstr "Sisestage korrektne kellaaeg." - -msgid "Enter a valid date/time." -msgstr "Sisestage korrektne kuupäev ja kellaaeg." - -msgid "Enter a valid duration." -msgstr "Sisestage korrektne kestus." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "Päevade arv peab jääma vahemikku {min_days} kuni {max_days}." - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Ühtegi faili ei saadetud. Kontrollige vormi kodeeringutüüpi." - -msgid "No file was submitted." -msgstr "Ühtegi faili ei saadetud." - -msgid "The submitted file is empty." -msgstr "Saadetud fail on tühi." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Veenduge, et faili nimes poleks rohkem kui %(max)d märk (praegu on " -"%(length)d)." -msgstr[1] "" -"Veenduge, et faili nimes poleks rohkem kui %(max)d märki (praegu on " -"%(length)d)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "Palun laadige fail või märgistage 'tühjenda' kast, mitte mõlemat." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Laadige korrektne pilt. Fail, mille laadisite, ei olnud kas pilt või oli " -"fail vigane." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "Valige korrektne väärtus. %(value)s ei ole valitav." - -msgid "Enter a list of values." -msgstr "Sisestage väärtuste nimekiri." - -msgid "Enter a complete value." -msgstr "Sisestage täielik väärtus." - -msgid "Enter a valid UUID." -msgstr "Sisestage korrektne UUID." - -msgid "Enter a valid JSON." -msgstr "Sisestage korrektne JSON." - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Peidetud väli %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "ManagementForm andmed on kadunud või nendega on keegi midagi teinud" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Palun kinnitage %d või vähem vormi." -msgstr[1] "Palun kinnitage %d või vähem vormi." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "Palun kinnitage %d või rohkem vormi." -msgstr[1] "Palun kinnitage %d või rohkem vormi." - -msgid "Order" -msgstr "Järjestus" - -msgid "Delete" -msgstr "Kustuta" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Palun parandage duplikaat-andmed lahtris %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"Palun parandage duplikaat-andmed lahtris %(field)s, mis peab olema unikaalne." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "Palun parandage allolevad duplikaat-väärtused" - -msgid "The inline value did not match the parent instance." -msgstr "Pesastatud väärtus ei sobi ülemobjektiga." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "Valige korrektne väärtus. Valitud väärtus ei ole valitav." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "“%(pk)s” ei ole korrektne väärtus." - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" -"%(datetime)s ei saanud tõlgendada ajavööndis %(current_timezone)s; see on " -"kas mitmetähenduslik või seda ei eksisteeri." - -msgid "Clear" -msgstr "Tühjenda" - -msgid "Currently" -msgstr "Hetkel" - -msgid "Change" -msgstr "Muuda" - -msgid "Unknown" -msgstr "Tundmatu" - -msgid "Yes" -msgstr "Jah" - -msgid "No" -msgstr "Ei" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "jah,ei,võib-olla" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d bait" -msgstr[1] "%(size)d baiti" - -#, python-format -msgid "%s KB" -msgstr "%s kB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "p.l." - -msgid "a.m." -msgstr "e.l." - -msgid "PM" -msgstr "PL" - -msgid "AM" -msgstr "EL" - -msgid "midnight" -msgstr "südaöö" - -msgid "noon" -msgstr "keskpäev" - -msgid "Monday" -msgstr "esmaspäev" - -msgid "Tuesday" -msgstr "teisipäev" - -msgid "Wednesday" -msgstr "kolmapäev" - -msgid "Thursday" -msgstr "neljapäev" - -msgid "Friday" -msgstr "reede" - -msgid "Saturday" -msgstr "laupäev" - -msgid "Sunday" -msgstr "pühapäev" - -msgid "Mon" -msgstr "esmasp." - -msgid "Tue" -msgstr "teisip." - -msgid "Wed" -msgstr "kolmap." - -msgid "Thu" -msgstr "neljap." - -msgid "Fri" -msgstr "reede" - -msgid "Sat" -msgstr "laup." - -msgid "Sun" -msgstr "pühap." - -msgid "January" -msgstr "jaanuar" - -msgid "February" -msgstr "veebruar" - -msgid "March" -msgstr "märts" - -msgid "April" -msgstr "aprill" - -msgid "May" -msgstr "mai" - -msgid "June" -msgstr "juuni" - -msgid "July" -msgstr "juuli" - -msgid "August" -msgstr "august" - -msgid "September" -msgstr "september" - -msgid "October" -msgstr "oktoober" - -msgid "November" -msgstr "november" - -msgid "December" -msgstr "detsember" - -msgid "jan" -msgstr "jaan" - -msgid "feb" -msgstr "veeb" - -msgid "mar" -msgstr "märts" - -msgid "apr" -msgstr "apr" - -msgid "may" -msgstr "mai" - -msgid "jun" -msgstr "jun" - -msgid "jul" -msgstr "jul" - -msgid "aug" -msgstr "aug" - -msgid "sep" -msgstr "sept" - -msgid "oct" -msgstr "okt" - -msgid "nov" -msgstr "nov" - -msgid "dec" -msgstr "dets" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "jaan." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "veeb." - -msgctxt "abbrev. month" -msgid "March" -msgstr "mär." - -msgctxt "abbrev. month" -msgid "April" -msgstr "apr." - -msgctxt "abbrev. month" -msgid "May" -msgstr "mai" - -msgctxt "abbrev. month" -msgid "June" -msgstr "juuni" - -msgctxt "abbrev. month" -msgid "July" -msgstr "juuli" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "aug." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "sept." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "okt." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "nov." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "dets." - -msgctxt "alt. month" -msgid "January" -msgstr "jaanuar" - -msgctxt "alt. month" -msgid "February" -msgstr "veebruar" - -msgctxt "alt. month" -msgid "March" -msgstr "märts" - -msgctxt "alt. month" -msgid "April" -msgstr "aprill" - -msgctxt "alt. month" -msgid "May" -msgstr "mai" - -msgctxt "alt. month" -msgid "June" -msgstr "juuni" - -msgctxt "alt. month" -msgid "July" -msgstr "juuli" - -msgctxt "alt. month" -msgid "August" -msgstr "august" - -msgctxt "alt. month" -msgid "September" -msgstr "september" - -msgctxt "alt. month" -msgid "October" -msgstr "oktoober" - -msgctxt "alt. month" -msgid "November" -msgstr "november" - -msgctxt "alt. month" -msgid "December" -msgstr "detsember" - -msgid "This is not a valid IPv6 address." -msgstr "See ei ole korrektne IPv6 aadress." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s…" - -msgid "or" -msgstr "või" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d aasta" -msgstr[1] "%d aastat" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d kuu" -msgstr[1] "%d kuud" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d nädal" -msgstr[1] "%d nädalat" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d päev" -msgstr[1] "%d päeva" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d tund" -msgstr[1] "%d tundi" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d minut" -msgstr[1] "%d minutit" - -msgid "Forbidden" -msgstr "Keelatud" - -msgid "CSRF verification failed. Request aborted." -msgstr "CSRF verifitseerimine ebaõnnestus. Päring katkestati." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" -"Näete seda sõnumit, kuna käesolev HTTPS leht nõuab “Viitaja päise” saatmist " -"teie brauserile, kuid seda ei saadetud. Seda päist on vaja " -"turvakaalutlustel, kindlustamaks et teie brauserit ei ole kolmandate " -"osapoolte poolt üle võetud." - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" -"Kui olete oma brauseri seadistustes välja lülitanud “Viitaja” päised siis " -"lülitage need taas sisse vähemalt antud lehe jaoks või HTTPS üheduste jaoks " -"või “sama-allika” päringute jaoks." - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" -"Kui kasutate silti või " -"saadate päist “Referrer-Policy: no-referrer”, siis palun eemaldage need. " -"CSRF kaitse vajab range viitaja kontrolliks päist “Referer”. Kui privaatsus " -"on probleemiks, kasutage alternatiive nagu " -"linkidele, mis viivad kolmandate poolte lehtedele." - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Näete seda teadet, kuna see leht vajab CSRF küpsist vormide postitamiseks. " -"Seda küpsist on vaja turvakaalutlustel, kindlustamaks et teie brauserit ei " -"ole kolmandate osapoolte poolt üle võetud." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" -"Kui olete oma brauseris küpsised keelanud, siis palun lubage need vähemalt " -"selle lehe jaoks või “sama-allika” päringute jaoks." - -msgid "More information is available with DEBUG=True." -msgstr "Saadaval on rohkem infot kasutades DEBUG=True" - -msgid "No year specified" -msgstr "Aasta on valimata" - -msgid "Date out of range" -msgstr "Kuupäev vahemikust väljas" - -msgid "No month specified" -msgstr "Kuu on valimata" - -msgid "No day specified" -msgstr "Päev on valimata" - -msgid "No week specified" -msgstr "Nädal on valimata" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "Ei leitud %(verbose_name_plural)s" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"Tulevane %(verbose_name_plural)s pole saadaval, sest %(class_name)s." -"allow_future on False." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "Vigane kuupäeva sõne “%(datestr)s” lähtudes formaadist “%(format)s”" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Päringule vastavat %(verbose_name)s ei leitud" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "Lehekülg pole “viimane” ja ei saa teda konvertida täisarvuks." - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Vigane leht (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "Tühi list ja “%(class_name)s.allow_empty” on Väär." - -msgid "Directory indexes are not allowed here." -msgstr "Kausta sisuloendid ei ole siin lubatud." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "“%(path)s” ei eksisteeri" - -#, python-format -msgid "Index of %(directory)s" -msgstr "%(directory)s sisuloend" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "Django: Veebiraamistik tähtaegadega perfektsionistidele." - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"Vaata release notes Djangole %(version)s" - -msgid "The install worked successfully! Congratulations!" -msgstr "Paigaldamine õnnestus! Palju õnne!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"Näete seda lehte, kuna teil on määratud DEBUG=True Django seadete failis ja te ei ole ühtki URLi seadistanud." - -msgid "Django Documentation" -msgstr "Django dokumentatsioon" - -msgid "Topics, references, & how-to’s" -msgstr "Teemad, viited, & õpetused" - -msgid "Tutorial: A Polling App" -msgstr "Õpetus: Küsitlusrakendus" - -msgid "Get started with Django" -msgstr "Alusta Djangoga" - -msgid "Django Community" -msgstr "Django Kogukond" - -msgid "Connect, get help, or contribute" -msgstr "Suhelge, küsige abi või panustage" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/et/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/et/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/et/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/et/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 64560dbe..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/et/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/et/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/et/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index e213aead..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/et/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/et/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/et/formats.py deleted file mode 100644 index 1e1e458e..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/et/formats.py +++ /dev/null @@ -1,21 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'j. F Y' -TIME_FORMAT = 'G:i' -# DATETIME_FORMAT = -# YEAR_MONTH_FORMAT = -MONTH_DAY_FORMAT = 'j. F' -SHORT_DATE_FORMAT = 'd.m.Y' -# SHORT_DATETIME_FORMAT = -# FIRST_DAY_OF_WEEK = - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -# DATE_INPUT_FORMATS = -# TIME_INPUT_FORMATS = -# DATETIME_INPUT_FORMATS = -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = ' ' # Non-breaking space -# NUMBER_GROUPING = diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/eu/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/eu/LC_MESSAGES/django.mo deleted file mode 100644 index 3394c40c..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/eu/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/eu/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/eu/LC_MESSAGES/django.po deleted file mode 100644 index ffaa5502..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/eu/LC_MESSAGES/django.po +++ /dev/null @@ -1,1252 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Aitzol Naberan , 2013,2016 -# Ander Martínez , 2013-2014 -# Eneko Illarramendi , 2017-2019 -# Jannis Leidel , 2011 -# jazpillaga , 2011 -# julen, 2011-2012 -# julen, 2013,2015 -# totorika93 , 2012 -# Unai Zalakain , 2013 -# Urtzi Odriozola , 2017 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-27 22:40+0200\n" -"PO-Revision-Date: 2019-11-05 00:38+0000\n" -"Last-Translator: Ramiro Morales\n" -"Language-Team: Basque (http://www.transifex.com/django/django/language/eu/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: eu\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "Afrikaans" -msgstr "Afrikaans" - -msgid "Arabic" -msgstr "Arabiera" - -msgid "Asturian" -msgstr "Asturiera" - -msgid "Azerbaijani" -msgstr "Azerbaijanera" - -msgid "Bulgarian" -msgstr "Bulgariera" - -msgid "Belarusian" -msgstr "Bielorrusiera" - -msgid "Bengali" -msgstr "Bengalera" - -msgid "Breton" -msgstr "Bretoia" - -msgid "Bosnian" -msgstr "Bosniera" - -msgid "Catalan" -msgstr "Katalana" - -msgid "Czech" -msgstr "Txekiera" - -msgid "Welsh" -msgstr "Galesa" - -msgid "Danish" -msgstr "Daniera" - -msgid "German" -msgstr "Alemana" - -msgid "Lower Sorbian" -msgstr "Behe-sorbiera" - -msgid "Greek" -msgstr "Greziera" - -msgid "English" -msgstr "Ingelesa" - -msgid "Australian English" -msgstr "Australiar ingelesa" - -msgid "British English" -msgstr "Ingelesa" - -msgid "Esperanto" -msgstr "Esperantoa" - -msgid "Spanish" -msgstr "Gaztelania" - -msgid "Argentinian Spanish" -msgstr "Gaztelania (Argentina)" - -msgid "Colombian Spanish" -msgstr "Gaztelania (Kolonbia)" - -msgid "Mexican Spanish" -msgstr "Gaztelania (Mexiko)" - -msgid "Nicaraguan Spanish" -msgstr "Gaztelania (Nikaragua)" - -msgid "Venezuelan Spanish" -msgstr "Gaztelania (Venezuela)" - -msgid "Estonian" -msgstr "Estoniera" - -msgid "Basque" -msgstr "Euskara" - -msgid "Persian" -msgstr "Persiera" - -msgid "Finnish" -msgstr "Finlandiera" - -msgid "French" -msgstr "Frantsesa" - -msgid "Frisian" -msgstr "Frisiera" - -msgid "Irish" -msgstr "Irlandako gaelikoa" - -msgid "Scottish Gaelic" -msgstr "Eskoziako gaelikoa" - -msgid "Galician" -msgstr "Galiziera" - -msgid "Hebrew" -msgstr "Hebreera" - -msgid "Hindi" -msgstr "Hindi" - -msgid "Croatian" -msgstr "Kroaziera" - -msgid "Upper Sorbian" -msgstr "Goi-sorbiera" - -msgid "Hungarian" -msgstr "Hungariera" - -msgid "Armenian" -msgstr "Armeniera" - -msgid "Interlingua" -msgstr "Interlingua" - -msgid "Indonesian" -msgstr "Indonesiera" - -msgid "Ido" -msgstr "Ido" - -msgid "Icelandic" -msgstr "Islandiera" - -msgid "Italian" -msgstr "Italiera" - -msgid "Japanese" -msgstr "Japoniera" - -msgid "Georgian" -msgstr "Georgiera" - -msgid "Kabyle" -msgstr "Kabylera" - -msgid "Kazakh" -msgstr "Kazakhera" - -msgid "Khmer" -msgstr "Khmerera" - -msgid "Kannada" -msgstr "Kannada" - -msgid "Korean" -msgstr "Koreera" - -msgid "Luxembourgish" -msgstr "Luxenburgera" - -msgid "Lithuanian" -msgstr "Lituaniera" - -msgid "Latvian" -msgstr "Letoniera" - -msgid "Macedonian" -msgstr "Mazedoniera" - -msgid "Malayalam" -msgstr "Malabarera" - -msgid "Mongolian" -msgstr "Mongoliera" - -msgid "Marathi" -msgstr "Marathera" - -msgid "Burmese" -msgstr "Birmaniera" - -msgid "Norwegian Bokmål" -msgstr "Bokmåla (Norvegia)" - -msgid "Nepali" -msgstr "Nepalera" - -msgid "Dutch" -msgstr "Nederlandera" - -msgid "Norwegian Nynorsk" -msgstr "Nynorsk (Norvegia)" - -msgid "Ossetic" -msgstr "Osetiera" - -msgid "Punjabi" -msgstr "Punjabera" - -msgid "Polish" -msgstr "Poloniera" - -msgid "Portuguese" -msgstr "Portugesa" - -msgid "Brazilian Portuguese" -msgstr "Portugesa (Brazil)" - -msgid "Romanian" -msgstr "Errumaniera" - -msgid "Russian" -msgstr "Errusiera" - -msgid "Slovak" -msgstr "Eslovakiera" - -msgid "Slovenian" -msgstr "Esloveniera" - -msgid "Albanian" -msgstr "Albaniera" - -msgid "Serbian" -msgstr "Serbiera" - -msgid "Serbian Latin" -msgstr "Serbiera" - -msgid "Swedish" -msgstr "Suediera" - -msgid "Swahili" -msgstr "Swahilia" - -msgid "Tamil" -msgstr "Tamilera" - -msgid "Telugu" -msgstr "Telugua" - -msgid "Thai" -msgstr "Thailandiera" - -msgid "Turkish" -msgstr "Turkiera" - -msgid "Tatar" -msgstr "Tatarera" - -msgid "Udmurt" -msgstr "Udmurtera" - -msgid "Ukrainian" -msgstr "Ukrainera" - -msgid "Urdu" -msgstr "Urdua" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "Vietnamera" - -msgid "Simplified Chinese" -msgstr "Txinera (sinpletua)" - -msgid "Traditional Chinese" -msgstr "Txinera (tradizionala)" - -msgid "Messages" -msgstr "Mezuak" - -msgid "Site Maps" -msgstr "Sitemap-ak" - -msgid "Static Files" -msgstr "Fitxategi estatikoak" - -msgid "Syndication" -msgstr "Sindikazioa" - -msgid "That page number is not an integer" -msgstr "Orrialde hori ez da zenbaki bat" - -msgid "That page number is less than 1" -msgstr "Orrialde zenbaki hori 1 baino txikiagoa da" - -msgid "That page contains no results" -msgstr "Orrialde horrek ez du emaitzarik" - -msgid "Enter a valid value." -msgstr "Idatzi baleko balio bat." - -msgid "Enter a valid URL." -msgstr "Idatzi baleko URL bat." - -msgid "Enter a valid integer." -msgstr "Idatzi baleko zenbaki bat." - -msgid "Enter a valid email address." -msgstr "Idatzi baleko helbide elektroniko bat." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "Idatzi baleko IPv4 sare-helbide bat." - -msgid "Enter a valid IPv6 address." -msgstr "Idatzi baleko IPv6 sare-helbide bat." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Idatzi baleko IPv4 edo IPv6 sare-helbide bat." - -msgid "Enter only digits separated by commas." -msgstr "Idatzi komaz bereizitako digitoak soilik." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" -"Ziurtatu balio hau gutxienez %(limit_value)s dela (orain %(show_value)s da)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Ziurtatu balio hau %(limit_value)s baino txikiagoa edo berdina dela." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Ziurtatu balio hau %(limit_value)s baino handiagoa edo berdina dela." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Ziurtatu balio honek gutxienez karaktere %(limit_value)d duela " -"(%(show_value)d ditu)." -msgstr[1] "" -"Ziurtatu balio honek gutxienez %(limit_value)d karaktere dituela " -"(%(show_value)d ditu)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Ziurtatu balio honek gehienez karaktere %(limit_value)d duela " -"(%(show_value)d ditu)." -msgstr[1] "" -"Ziurtatu balio honek gehienez %(limit_value)d karaktere dituela " -"(%(show_value)d ditu)." - -msgid "Enter a number." -msgstr "Idatzi zenbaki bat." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Ziurtatu digitu %(max)s baino gehiago ez dagoela guztira." -msgstr[1] "Ziurtatu %(max)s digitu baino gehiago ez dagoela guztira." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "Ziurtatu ez dagoela digitu %(max)s baino gehiago komaren atzetik." -msgstr[1] "Ziurtatu ez dagoela %(max)s digitu baino gehiago komaren atzetik." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "Ziurtatu ez dagoela digitu %(max)s baino gehiago komaren aurretik." -msgstr[1] "Ziurtatu ez dagoela %(max)s digitu baino gehiago komaren aurretik." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "Null karaktereak ez daude baimenduta." - -msgid "and" -msgstr "eta" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "%(field_labels)s hauek dauzkan %(model_name)s dagoeneko existitzen da." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "%(value)r balioa ez da baleko aukera bat." - -msgid "This field cannot be null." -msgstr "Eremu hau ezin daiteke hutsa izan (null)." - -msgid "This field cannot be blank." -msgstr "Eremu honek ezin du hutsik egon." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(field_label)s hori daukan %(model_name)s dagoeneko existitzen da." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Eremuaren mota: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "Boolearra (True edo False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "String-a (%(max_length)s gehienez)" - -msgid "Comma-separated integers" -msgstr "Komaz bereiztutako zenbaki osoak" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "Data (ordurik gabe)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "Data (orduarekin)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "Zenbaki hamartarra" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "Iraupena" - -msgid "Email address" -msgstr "Helbide elektronikoa" - -msgid "File path" -msgstr "Fitxategiaren bidea" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "Koma higikorreko zenbakia (float)" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "Zenbaki osoa" - -msgid "Big (8 byte) integer" -msgstr "Zenbaki osoa (handia 8 byte)" - -msgid "IPv4 address" -msgstr "IPv4 sare-helbidea" - -msgid "IP address" -msgstr "IP helbidea" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "Boolearra (True, False edo None)" - -msgid "Positive integer" -msgstr "Osoko positiboa" - -msgid "Positive small integer" -msgstr "Osoko positibo txikia" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Slug (gehienez %(max_length)s)" - -msgid "Small integer" -msgstr "Osoko txikia" - -msgid "Text" -msgstr "Testua" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "Ordua" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Datu bitar gordinak" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "\"Universally unique identifier\"" - -msgid "File" -msgstr "Fitxategia" - -msgid "Image" -msgstr "Irudia" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "" -"%(field)s %(value)r edukidun %(model)s modeloko instantziarik ez da " -"exiistitzen." - -msgid "Foreign Key (type determined by related field)" -msgstr "1-N (mota erlazionatutako eremuaren arabera)" - -msgid "One-to-one relationship" -msgstr "Bat-bat erlazioa" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "%(from)s-%(to)s erlazioa" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "%(from)s-%(to)s erlazioak" - -msgid "Many-to-many relationship" -msgstr "M:N erlazioa" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Eremu hau beharrezkoa da." - -msgid "Enter a whole number." -msgstr "Idatzi zenbaki oso bat." - -msgid "Enter a valid date." -msgstr "Idatzi baleko data bat." - -msgid "Enter a valid time." -msgstr "Idatzi baleko ordu bat." - -msgid "Enter a valid date/time." -msgstr "Idatzi baleko data/ordu bat." - -msgid "Enter a valid duration." -msgstr "Idatzi baleko iraupen bat." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "Egun kopuruak {min_days} eta {max_days} artean egon behar du." - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Ez da fitxategirik bidali. Egiaztatu formularioaren kodeketa-mota." - -msgid "No file was submitted." -msgstr "Ez da fitxategirik bidali." - -msgid "The submitted file is empty." -msgstr "Bidalitako fitxategia hutsik dago." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Ziurtatu fitxategi izen honek gehienez karaktere %(max)d duela (%(length)d " -"ditu)." -msgstr[1] "" -"Ziurtatu fitxategi izen honek gehienez %(max)d karaktere dituela (%(length)d " -"ditu)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "Mesedez, igo fitxategi bat edo egin klik garbitu botoian, ez biak." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Igo baleko irudi bat. Zuk igotako fitxategia ez da irudi bat edo akatsen bat " -"du." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "Hautatu baleko aukera bat. %(value)s ez dago erabilgarri." - -msgid "Enter a list of values." -msgstr "Idatzi balio-zerrenda bat." - -msgid "Enter a complete value." -msgstr "Sartu balio osoa." - -msgid "Enter a valid UUID." -msgstr "Idatzi baleko UUID bat." - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(%(name)s eremu ezkutua) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "ManagementForm daturik ez dago edo ez da balekoa." - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Bidali formulario %d edo gutxiago, mesedez." -msgstr[1] "Bidali %d formulario edo gutxiago, mesedez." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "Gehitu formulario %d edo gehiago" -msgstr[1] "Bidali %d formulario edo gehiago, mesedez." - -msgid "Order" -msgstr "Ordena" - -msgid "Delete" -msgstr "Ezabatu" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Zuzendu bikoiztketa %(field)s eremuan." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "Zuzendu bikoizketa %(field)s eremuan. Bakarra izan behar da." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Zuzendu bakarra izan behar den%(field_name)s eremuarentzako bikoiztutako " -"data %(lookup)s egiteko %(date_field)s eremuan" - -msgid "Please correct the duplicate values below." -msgstr "Zuzendu hurrengo balio bikoiztuak." - -msgid "The inline value did not match the parent instance." -msgstr "Barneko balioa eta gurasoaren instantzia ez datoz bat." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "Hautatu aukera zuzen bat. Hautatutakoa ez da zuzena." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "Garbitu" - -msgid "Currently" -msgstr "Orain" - -msgid "Change" -msgstr "Aldatu" - -msgid "Unknown" -msgstr "Ezezaguna" - -msgid "Yes" -msgstr "Bai" - -msgid "No" -msgstr "Ez" - -msgid "Year" -msgstr "" - -msgid "Month" -msgstr "" - -msgid "Day" -msgstr "" - -msgid "yes,no,maybe" -msgstr "bai,ez,agian" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "byte %(size)d " -msgstr[1] "%(size)d byte" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "p.m." - -msgid "a.m." -msgstr "a.m." - -msgid "PM" -msgstr "PM" - -msgid "AM" -msgstr "AM" - -msgid "midnight" -msgstr "gauerdia" - -msgid "noon" -msgstr "eguerdia" - -msgid "Monday" -msgstr "astelehena" - -msgid "Tuesday" -msgstr "asteartea" - -msgid "Wednesday" -msgstr "asteazkena" - -msgid "Thursday" -msgstr "osteguna" - -msgid "Friday" -msgstr "ostirala" - -msgid "Saturday" -msgstr "larunbata" - -msgid "Sunday" -msgstr "igandea" - -msgid "Mon" -msgstr "al" - -msgid "Tue" -msgstr "ar" - -msgid "Wed" -msgstr "az" - -msgid "Thu" -msgstr "og" - -msgid "Fri" -msgstr "ol" - -msgid "Sat" -msgstr "lr" - -msgid "Sun" -msgstr "ig" - -msgid "January" -msgstr "urtarrila" - -msgid "February" -msgstr "otsaila" - -msgid "March" -msgstr "martxoa" - -msgid "April" -msgstr "apirila" - -msgid "May" -msgstr "maiatza" - -msgid "June" -msgstr "ekaina" - -msgid "July" -msgstr "uztaila" - -msgid "August" -msgstr "abuztua" - -msgid "September" -msgstr "iraila" - -msgid "October" -msgstr "urria" - -msgid "November" -msgstr "azaroa" - -msgid "December" -msgstr "abendua" - -msgid "jan" -msgstr "urt" - -msgid "feb" -msgstr "ots" - -msgid "mar" -msgstr "mar" - -msgid "apr" -msgstr "api" - -msgid "may" -msgstr "mai" - -msgid "jun" -msgstr "eka" - -msgid "jul" -msgstr "uzt" - -msgid "aug" -msgstr "abu" - -msgid "sep" -msgstr "ira" - -msgid "oct" -msgstr "urr" - -msgid "nov" -msgstr "aza" - -msgid "dec" -msgstr "abe" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "urt." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "ots." - -msgctxt "abbrev. month" -msgid "March" -msgstr "mar." - -msgctxt "abbrev. month" -msgid "April" -msgstr "api." - -msgctxt "abbrev. month" -msgid "May" -msgstr "mai." - -msgctxt "abbrev. month" -msgid "June" -msgstr "eka." - -msgctxt "abbrev. month" -msgid "July" -msgstr "uzt." - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "abu." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "ira." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "urr." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "aza." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "abe." - -msgctxt "alt. month" -msgid "January" -msgstr "urtarrila" - -msgctxt "alt. month" -msgid "February" -msgstr "otsaila" - -msgctxt "alt. month" -msgid "March" -msgstr "martxoa" - -msgctxt "alt. month" -msgid "April" -msgstr "apirila" - -msgctxt "alt. month" -msgid "May" -msgstr "maiatza" - -msgctxt "alt. month" -msgid "June" -msgstr "ekaina" - -msgctxt "alt. month" -msgid "July" -msgstr "uztaila" - -msgctxt "alt. month" -msgid "August" -msgstr "abuztua" - -msgctxt "alt. month" -msgid "September" -msgstr "iraila" - -msgctxt "alt. month" -msgid "October" -msgstr "urria" - -msgctxt "alt. month" -msgid "November" -msgstr "azaroa" - -msgctxt "alt. month" -msgid "December" -msgstr "abendua" - -msgid "This is not a valid IPv6 address." -msgstr "Hau ez da baleko IPv6 helbide bat." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s…" - -msgid "or" -msgstr "edo" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "urte %d" -msgstr[1] "%d urte" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "hilabete %d" -msgstr[1] "%d hilabete" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "aste %d" -msgstr[1] "%d aste" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "egun %d" -msgstr[1] "%d egun" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "ordu %d" -msgstr[1] "%d ordu" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "minutu %d" -msgstr[1] "%d minutu" - -msgid "0 minutes" -msgstr "0 minutu" - -msgid "Forbidden" -msgstr "Debekatuta" - -msgid "CSRF verification failed. Request aborted." -msgstr "CSRF egiaztapenak huts egin du. Eskaera abortatu da." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Formularioa bidaltzean gune honek CSRF cookie bat behar duelako ikusten duzu " -"mezu hau. Cookie hau beharrezkoa da segurtasun arrazoiengatik, zure " -"nabigatzailea beste batek ordezkatzen ez duela ziurtatzeko." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "Informazio gehiago erabilgarri dago DEBUG=True ezarrita." - -msgid "No year specified" -msgstr "Ez da urterik zehaztu" - -msgid "Date out of range" -msgstr "Data baliozko tartetik kanpo" - -msgid "No month specified" -msgstr "Ez da hilabeterik zehaztu" - -msgid "No day specified" -msgstr "Ez da egunik zehaztu" - -msgid "No week specified" -msgstr "Ez da asterik zehaztu" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "Ez dago %(verbose_name_plural)s" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"Etorkizuneko %(verbose_name_plural)s ez dago aukeran %(class_name)s." -"allow_future False delako" - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Bilaketarekin bat datorren %(verbose_name)s-rik ez dago" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Orri baliogabea (%(page_number)s):%(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "Direktorio zerrendak ez daude baimenduak." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "%(directory)s zerrenda" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "Django: epeekin perfekzionistak direnentzat Web frameworka." - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"Ikusi Django %(version)s-ren argitaratze " -"oharrak" - -msgid "The install worked successfully! Congratulations!" -msgstr "Instalazioak arrakastaz funtzionatu du! Zorionak!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"Zure settings fitxategian DEBUG=True jarrita eta URLrik konfiguratu gabe duzulako ari zara " -"ikusten orrialde hau." - -msgid "Django Documentation" -msgstr "Django dokumentazioa" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "Tutoriala: Galdetegi aplikazioa" - -msgid "Get started with Django" -msgstr "Hasi Djangorekin" - -msgid "Django Community" -msgstr "Django Komunitatea" - -msgid "Connect, get help, or contribute" -msgstr "Konektatu, lortu laguntza edo lagundu" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/eu/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/eu/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/eu/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/eu/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 92e5ec1e..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/eu/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/eu/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/eu/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 23e7a109..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/eu/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/eu/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/eu/formats.py deleted file mode 100644 index 33e63053..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/eu/formats.py +++ /dev/null @@ -1,21 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = r'Y\k\o N j\a' -TIME_FORMAT = 'H:i' -DATETIME_FORMAT = r'Y\k\o N j\a, H:i' -YEAR_MONTH_FORMAT = r'Y\k\o F' -MONTH_DAY_FORMAT = r'F\r\e\n j\a' -SHORT_DATE_FORMAT = 'Y-m-d' -SHORT_DATETIME_FORMAT = 'Y-m-d H:i' -FIRST_DAY_OF_WEEK = 1 # Astelehena - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -# DATE_INPUT_FORMATS = -# TIME_INPUT_FORMATS = -# DATETIME_INPUT_FORMATS = -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = '.' -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/fa/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/fa/LC_MESSAGES/django.mo deleted file mode 100644 index 6ff55c51..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/fa/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/fa/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/fa/LC_MESSAGES/django.po deleted file mode 100644 index cd4fa4d7..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/fa/LC_MESSAGES/django.po +++ /dev/null @@ -1,1304 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Ahmad Hosseini , 2020 -# Ali Vakilzade , 2015 -# Arash Fazeli , 2012 -# Eric Hamiter , 2019 -# Jannis Leidel , 2011 -# Mazdak Badakhshan , 2014 -# Milad Hazrati , 2019 -# MJafar Mashhadi , 2018 -# Mohammad Hossein Mojtahedi , 2013,2019 -# Pouya Abbassi, 2016 -# rahim agh , 2020 -# Reza Mohammadi , 2013-2016 -# Saeed , 2011 -# Sina Cheraghi , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-08-20 15:48+0000\n" -"Last-Translator: Ahmad Hosseini \n" -"Language-Team: Persian (http://www.transifex.com/django/django/language/" -"fa/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fa\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - -msgid "Afrikaans" -msgstr "آفریکانس" - -msgid "Arabic" -msgstr "عربی" - -msgid "Algerian Arabic" -msgstr "عربی الجزایری" - -msgid "Asturian" -msgstr "آستوری" - -msgid "Azerbaijani" -msgstr "آذربایجانی" - -msgid "Bulgarian" -msgstr "بلغاری" - -msgid "Belarusian" -msgstr "بلاروس" - -msgid "Bengali" -msgstr "بنگالی" - -msgid "Breton" -msgstr "برتون" - -msgid "Bosnian" -msgstr "بوسنیایی" - -msgid "Catalan" -msgstr "کاتالونیایی" - -msgid "Czech" -msgstr "چکی" - -msgid "Welsh" -msgstr "ویلزی" - -msgid "Danish" -msgstr "دانمارکی" - -msgid "German" -msgstr "آلمانی" - -msgid "Lower Sorbian" -msgstr "صربستانی پایین" - -msgid "Greek" -msgstr "یونانی" - -msgid "English" -msgstr "انگلیسی" - -msgid "Australian English" -msgstr "انگلیسی استرالیایی" - -msgid "British English" -msgstr "انگلیسی بریتیش" - -msgid "Esperanto" -msgstr "اسپرانتو" - -msgid "Spanish" -msgstr "اسپانیایی" - -msgid "Argentinian Spanish" -msgstr "اسپانیایی آرژانتینی" - -msgid "Colombian Spanish" -msgstr "اسپانیایی کلمبیایی" - -msgid "Mexican Spanish" -msgstr "اسپانیولی مکزیکی" - -msgid "Nicaraguan Spanish" -msgstr "نیکاراگوئه اسپانیایی" - -msgid "Venezuelan Spanish" -msgstr "ونزوئلا اسپانیایی" - -msgid "Estonian" -msgstr "استونی" - -msgid "Basque" -msgstr "باسکی" - -msgid "Persian" -msgstr "فارسی" - -msgid "Finnish" -msgstr "فنلاندی" - -msgid "French" -msgstr "فرانسوی" - -msgid "Frisian" -msgstr "فریزی" - -msgid "Irish" -msgstr "ایرلندی" - -msgid "Scottish Gaelic" -msgstr "گیلیک اسکاتلندی" - -msgid "Galician" -msgstr "گالیسیایی" - -msgid "Hebrew" -msgstr "عبری" - -msgid "Hindi" -msgstr "هندی" - -msgid "Croatian" -msgstr "کرواتی" - -msgid "Upper Sorbian" -msgstr "صربستانی بالا" - -msgid "Hungarian" -msgstr "مجاری" - -msgid "Armenian" -msgstr "ارمنی" - -msgid "Interlingua" -msgstr "اینترلینگوا" - -msgid "Indonesian" -msgstr "اندونزیایی" - -msgid "Igbo" -msgstr "ایگبو" - -msgid "Ido" -msgstr "ایدو" - -msgid "Icelandic" -msgstr "ایسلندی" - -msgid "Italian" -msgstr "ایتالیایی" - -msgid "Japanese" -msgstr "ژاپنی" - -msgid "Georgian" -msgstr "گرجی" - -msgid "Kabyle" -msgstr "قبایلی" - -msgid "Kazakh" -msgstr "قزاقستان" - -msgid "Khmer" -msgstr "خمری" - -msgid "Kannada" -msgstr "کناده‌ای" - -msgid "Korean" -msgstr "کره‌ای" - -msgid "Kyrgyz" -msgstr "قرقیزی" - -msgid "Luxembourgish" -msgstr "لوگزامبورگی" - -msgid "Lithuanian" -msgstr "لیتوانی" - -msgid "Latvian" -msgstr "لتونیایی" - -msgid "Macedonian" -msgstr "مقدونی" - -msgid "Malayalam" -msgstr "مالایایی" - -msgid "Mongolian" -msgstr "مغولی" - -msgid "Marathi" -msgstr "مِراتی" - -msgid "Burmese" -msgstr "برمه‌ای" - -msgid "Norwegian Bokmål" -msgstr "نروژی" - -msgid "Nepali" -msgstr "نپالی" - -msgid "Dutch" -msgstr "هلندی" - -msgid "Norwegian Nynorsk" -msgstr "نروژی Nynorsk" - -msgid "Ossetic" -msgstr "آسی" - -msgid "Punjabi" -msgstr "پنجابی" - -msgid "Polish" -msgstr "لهستانی" - -msgid "Portuguese" -msgstr "پرتغالی" - -msgid "Brazilian Portuguese" -msgstr "پرتغالیِ برزیل" - -msgid "Romanian" -msgstr "رومانی" - -msgid "Russian" -msgstr "روسی" - -msgid "Slovak" -msgstr "اسلواکی" - -msgid "Slovenian" -msgstr "اسلووِنی" - -msgid "Albanian" -msgstr "آلبانیایی" - -msgid "Serbian" -msgstr "صربی" - -msgid "Serbian Latin" -msgstr "صربی لاتین" - -msgid "Swedish" -msgstr "سوئدی" - -msgid "Swahili" -msgstr "سواحیلی" - -msgid "Tamil" -msgstr "تامیلی" - -msgid "Telugu" -msgstr "تلوگویی" - -msgid "Tajik" -msgstr "تاجیک" - -msgid "Thai" -msgstr "تایلندی" - -msgid "Turkmen" -msgstr "ترکمن" - -msgid "Turkish" -msgstr "ترکی" - -msgid "Tatar" -msgstr "تاتار" - -msgid "Udmurt" -msgstr "ادمورت" - -msgid "Ukrainian" -msgstr "اکراینی" - -msgid "Urdu" -msgstr "اردو" - -msgid "Uzbek" -msgstr "ازبکی" - -msgid "Vietnamese" -msgstr "ویتنامی" - -msgid "Simplified Chinese" -msgstr "چینی ساده‌شده" - -msgid "Traditional Chinese" -msgstr "چینی سنتی" - -msgid "Messages" -msgstr "پیغام‌ها" - -msgid "Site Maps" -msgstr "نقشه‌های وب‌گاه" - -msgid "Static Files" -msgstr "پرونده‌های استاتیک" - -msgid "Syndication" -msgstr "پیوند" - -msgid "That page number is not an integer" -msgstr "شمارهٔ صفحه یک عدد طبیعی نیست" - -msgid "That page number is less than 1" -msgstr "شمارهٔ صفحه کوچکتر از ۱ است" - -msgid "That page contains no results" -msgstr "این صفحه خالی از اطلاعات است" - -msgid "Enter a valid value." -msgstr "یک مقدار معتبر وارد کنید." - -msgid "Enter a valid URL." -msgstr "یک نشانی اینترنتی معتبر وارد کنید." - -msgid "Enter a valid integer." -msgstr "یک عدد معتبر وارد کنید." - -msgid "Enter a valid email address." -msgstr "یک ایمیل آدرس معتبر وارد کنید." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" -"یک \"اسلاگ\" معتبر متشکل از حروف، اعداد، خط زیر یا خط فاصله، وارد کنید. " - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" -"یک \"اسلاگ\" معتبر وارد کنید که شامل حروف یونیکد، اعداد، خط زیر یا خط فاصله " -"باشد." - -msgid "Enter a valid IPv4 address." -msgstr "یک نشانی IPv4 معتبر وارد کنید." - -msgid "Enter a valid IPv6 address." -msgstr "یک آدرس معتبر IPv6 وارد کنید." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "IPv4 یا IPv6 آدرس معتبر وارد کنید." - -msgid "Enter only digits separated by commas." -msgstr "فقط ارقام جدا شده با کاما وارد کنید." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "مطمئن شوید مقدار %(limit_value)s است. (اکنون %(show_value)s می باشد)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "مطمئن شوید این مقدار کوچکتر و یا مساوی %(limit_value)s است." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "مطمئن شوید این مقدار بزرگتر و یا مساوی %(limit_value)s است." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"طول این مقدار باید حداقل %(limit_value)d کاراکتر باشد (طولش %(show_value)d " -"است)." -msgstr[1] "" -"طول این مقدار باید حداقل %(limit_value)d کاراکتر باشد (طولش %(show_value)d " -"است)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"طول این مقدار باید حداکثر %(limit_value)d کاراکتر باشد (طولش %(show_value)d " -"است)." -msgstr[1] "" -"طول این مقدار باید حداکثر %(limit_value)d کاراکتر باشد (طولش %(show_value)d " -"است)." - -msgid "Enter a number." -msgstr "یک عدد وارد کنید." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "نباید در مجموع بیش از %(max)s رقم داشته باشد." -msgstr[1] "نباید در مجموع بیش از %(max)s رقم داشته باشد." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "نباید بیش از %(max)s رقم اعشار داشته باشد." -msgstr[1] "نباید بیش از %(max)s رقم اعشار داشته باشد." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "نباید بیش از %(max)s رقم قبل ممیز داشته باشد." -msgstr[1] "نباید بیش از %(max)s رقم قبل ممیز داشته باشد." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" -"استفاده از پرونده با پسوند '%(extension)s' مجاز نیست. پسوند‌های مجاز عبارتند " -"از: '%(allowed_extensions)s'" - -msgid "Null characters are not allowed." -msgstr "کاراکترهای تهی مجاز نیستند." - -msgid "and" -msgstr "و" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "‏%(model_name)s با این %(field_labels)s وجود دارد." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "مقدار %(value)r انتخاب معتبری نیست. " - -msgid "This field cannot be null." -msgstr "این فیلد نمی تواند پوچ باشد." - -msgid "This field cannot be blank." -msgstr "این فیلد نمی تواند خالی باشد." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s با این %(field_label)s از قبل موجود است." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"‏%(field_label)s باید برای %(lookup_type)s %(date_field_label)s یکتا باشد." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "فیلد با نوع: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "مقدار «%(value)s» باید True یا False باشد." - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "مقدار «%(value)s» باید True یا False یا None باشد." - -msgid "Boolean (Either True or False)" -msgstr "بولی (درست یا غلط)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "رشته (تا %(max_length)s)" - -msgid "Comma-separated integers" -msgstr "اعداد صحیح جدا-شده با ویلگول" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" -"مقدار «%(value)s» در قالب نادرستی وارد شده است. تاریخ باید در قالب YYYY-MM-" -"DD باشد." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" -"مقدار تاریخ «%(value)s» با اینکه در قالب درستی (YYYY-MM-DD) است ولی تاریخ " -"ناممکنی را نشان می‌دهد." - -msgid "Date (without time)" -msgstr "تاریخ (بدون زمان)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" -"مقدار \"%(value)s\" یک قالب نامعتبر دارد. باید در قالب YYYY-MM-DD HH:MM[:" -"ss[.uuuuuu]][TZ] باشد." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" -"مقدار \"%(value)s\" یک قالب معتبر دارد (YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]) " -"اما یک تاریخ/زمان نامعتبر است." - -msgid "Date (with time)" -msgstr "تاریخ (با زمان)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "مقدار '%(value)s' باید عدد دسیمال باشد." - -msgid "Decimal number" -msgstr "عدد دهدهی" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" -"مقدار «%(value)s» در قالب نادرستی وارد شده است. باید در قالب ‎[DD] [HH:" -"[MM:]]ss[.uuuuuu]‎ باشد." - -msgid "Duration" -msgstr "بازهٔ زمانی" - -msgid "Email address" -msgstr "نشانی پست الکترونیکی" - -msgid "File path" -msgstr "مسیر پرونده" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "مقدار «%(value)s» باید عدد اعشاری فلوت باشد." - -msgid "Floating point number" -msgstr "عدد اعشاری" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "مقدار «%(value)s» باید عدد حقیقی باشد." - -msgid "Integer" -msgstr "عدد صحیح" - -msgid "Big (8 byte) integer" -msgstr "بزرگ (8 بایت) عدد صحیح" - -msgid "IPv4 address" -msgstr "IPv4 آدرس" - -msgid "IP address" -msgstr "نشانی IP" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "مقدار «%(value)s» باید True یا False یا None باشد." - -msgid "Boolean (Either True, False or None)" -msgstr "‌بولی (درست، نادرست یا پوچ)" - -msgid "Positive big integer" -msgstr "عدد صحیح مثبت" - -msgid "Positive integer" -msgstr "عدد صحیح مثبت" - -msgid "Positive small integer" -msgstr "مثبت عدد صحیح کوچک" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "تیتر (حداکثر %(max_length)s)" - -msgid "Small integer" -msgstr "عدد صحیح کوچک" - -msgid "Text" -msgstr "متن" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" -"مقدار «%(value)s» در قالب نادرستی وارد شده است. باید در قالب HH:MM[:ss[." -"uuuuuu]]‎ باشد." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" -"مقدار «%(value)s» با اینکه در قالب درستی (HH:MM[:ss[.uuuuuu]]‎) است ولی زمان " -"ناممکنی را نشان می‌دهد." - -msgid "Time" -msgstr "زمان" - -msgid "URL" -msgstr "نشانی اینترنتی" - -msgid "Raw binary data" -msgstr "دادهٔ دودویی خام" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "\"%(value)s\" یک UUID معتبر نیست." - -msgid "Universally unique identifier" -msgstr "شناسه منحصر به فرد سراسری" - -msgid "File" -msgstr "پرونده" - -msgid "Image" -msgstr "تصویر" - -msgid "A JSON object" -msgstr "یک شیء JSON" - -msgid "Value must be valid JSON." -msgstr "مقدار، باید یک JSON معتبر باشد." - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "%(model)s با %(field)s %(value)r وجود ندارد." - -msgid "Foreign Key (type determined by related field)" -msgstr "کلید خارجی ( نوع بر اساس فیلد رابط مشخص میشود )" - -msgid "One-to-one relationship" -msgstr "رابطه یک به یک " - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "رابطه %(from)s به %(to)s" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "روابط %(from)s به %(to)s" - -msgid "Many-to-many relationship" -msgstr "رابطه چند به چند" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":؟.!" - -msgid "This field is required." -msgstr "این فیلد لازم است." - -msgid "Enter a whole number." -msgstr "به طور کامل یک عدد وارد کنید." - -msgid "Enter a valid date." -msgstr "یک تاریخ معتبر وارد کنید." - -msgid "Enter a valid time." -msgstr "یک زمان معتبر وارد کنید." - -msgid "Enter a valid date/time." -msgstr "یک تاریخ/زمان معتبر وارد کنید." - -msgid "Enter a valid duration." -msgstr "یک بازهٔ زمانی معتبر وارد کنید." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "عدد روز باید بین {min_days} و {max_days} باشد." - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "پرونده‌ای ارسال نشده است. نوع کدگذاری فرم را بررسی کنید." - -msgid "No file was submitted." -msgstr "پرونده‌ای ارسال نشده است." - -msgid "The submitted file is empty." -msgstr "پروندهٔ ارسال‌شده خالیست." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"طول عنوان پرونده باید حداقل %(max)d کاراکتر باشد (طولش %(length)d است)." -msgstr[1] "" -"طول عنوان پرونده باید حداقل %(max)d کاراکتر باشد (طولش %(length)d است)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "لطفا یا فایل ارسال کنید یا دکمه پاک کردن را علامت بزنید، نه هردو." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"یک تصویر معتبر بارگذاری کنید. پرونده‌ای که بارگذاری کردید یا تصویر نبوده و یا " -"تصویری مخدوش بوده است." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "یک گزینهٔ معتبر انتخاب کنید. %(value)s از گزینه‌های موجود نیست." - -msgid "Enter a list of values." -msgstr "فهرستی از مقادیر وارد کنید." - -msgid "Enter a complete value." -msgstr "یک مقدار کامل وارد کنید." - -msgid "Enter a valid UUID." -msgstr "یک UUID معتبر وارد کنید." - -msgid "Enter a valid JSON." -msgstr "یک JSON معتبر وارد کنید" - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(فیلد پنهان %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "اطلاعات ManagementForm ناقص است و یا دستکاری شده است." - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "لطفاً %d یا کمتر فرم بفرستید." -msgstr[1] "لطفاً %d یا کمتر فرم بفرستید." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "لطفاً %d یا بیشتر فرم بفرستید." -msgstr[1] "لطفاً %d یا بیشتر فرم بفرستید." - -msgid "Order" -msgstr "ترتیب:" - -msgid "Delete" -msgstr "حذف" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "لطفا محتوی تکراری برای %(field)s را اصلاح کنید." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "لطفا محتوی تکراری برای %(field)s را که باید یکتا باشد اصلاح کنید." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"لطفا اطلاعات تکراری %(field_name)s را اصلاح کنید که باید در %(lookup)s " -"یکتا باشد %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "لطفا مقدار تکراری را اصلاح کنید." - -msgid "The inline value did not match the parent instance." -msgstr "مقدار درون خطی موجود با نمونه والد آن مطابقت ندارد." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "یک گزینهٔ معتبر انتخاب کنید. آن گزینه از گزینه‌های موجود نیست." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "\"%(pk)s\" یک مقدار معتبر نیست." - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" -"%(datetime)sدر محدوده زمانی %(current_timezone)s، قابل تفسیر نیست؛ ممکن است " -"نامشخص باشد یا اصلاً وجود نداشته باشد." - -msgid "Clear" -msgstr "پاک کردن" - -msgid "Currently" -msgstr "در حال حاضر" - -msgid "Change" -msgstr "تغییر" - -msgid "Unknown" -msgstr "ناشناخته" - -msgid "Yes" -msgstr "بله" - -msgid "No" -msgstr "خیر" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "بله،خیر،شاید" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d بایت" -msgstr[1] "%(size)d بایت" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "ب.ظ." - -msgid "a.m." -msgstr "صبح" - -msgid "PM" -msgstr "بعد از ظهر" - -msgid "AM" -msgstr "صبح" - -msgid "midnight" -msgstr "نیمه شب" - -msgid "noon" -msgstr "ظهر" - -msgid "Monday" -msgstr "دوشنبه" - -msgid "Tuesday" -msgstr "سه شنبه" - -msgid "Wednesday" -msgstr "چهارشنبه" - -msgid "Thursday" -msgstr "پنجشنبه" - -msgid "Friday" -msgstr "جمعه" - -msgid "Saturday" -msgstr "شنبه" - -msgid "Sunday" -msgstr "یکشنبه" - -msgid "Mon" -msgstr "دوشنبه" - -msgid "Tue" -msgstr "سه‌شنبه" - -msgid "Wed" -msgstr "چهارشنبه" - -msgid "Thu" -msgstr "پنجشنبه" - -msgid "Fri" -msgstr "جمعه" - -msgid "Sat" -msgstr "شنبه" - -msgid "Sun" -msgstr "یکشنبه" - -msgid "January" -msgstr "ژانویه" - -msgid "February" -msgstr "فوریه" - -msgid "March" -msgstr "مارس" - -msgid "April" -msgstr "آوریل" - -msgid "May" -msgstr "مه" - -msgid "June" -msgstr "ژوئن" - -msgid "July" -msgstr "ژوئیه" - -msgid "August" -msgstr "اوت" - -msgid "September" -msgstr "سپتامبر" - -msgid "October" -msgstr "اکتبر" - -msgid "November" -msgstr "نوامبر" - -msgid "December" -msgstr "دسامبر" - -msgid "jan" -msgstr "ژانویه" - -msgid "feb" -msgstr "فوریه" - -msgid "mar" -msgstr "مارس" - -msgid "apr" -msgstr "آوریل" - -msgid "may" -msgstr "مه" - -msgid "jun" -msgstr "ژوئن" - -msgid "jul" -msgstr "ژوئیه" - -msgid "aug" -msgstr "اوت" - -msgid "sep" -msgstr "سپتامبر" - -msgid "oct" -msgstr "اکتبر" - -msgid "nov" -msgstr "نوامبر" - -msgid "dec" -msgstr "دسامبر" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "ژانویه" - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "فوریه" - -msgctxt "abbrev. month" -msgid "March" -msgstr "مارس" - -msgctxt "abbrev. month" -msgid "April" -msgstr "آوریل" - -msgctxt "abbrev. month" -msgid "May" -msgstr "مه" - -msgctxt "abbrev. month" -msgid "June" -msgstr "ژوئن" - -msgctxt "abbrev. month" -msgid "July" -msgstr "جولای" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "اوت" - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "سپتامبر" - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "اکتبر" - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "نوامبر" - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "دسامبر" - -msgctxt "alt. month" -msgid "January" -msgstr "ژانویه" - -msgctxt "alt. month" -msgid "February" -msgstr "فوریه" - -msgctxt "alt. month" -msgid "March" -msgstr "مارس" - -msgctxt "alt. month" -msgid "April" -msgstr "آوریل" - -msgctxt "alt. month" -msgid "May" -msgstr "مه" - -msgctxt "alt. month" -msgid "June" -msgstr "ژوئن" - -msgctxt "alt. month" -msgid "July" -msgstr "جولای" - -msgctxt "alt. month" -msgid "August" -msgstr "اوت" - -msgctxt "alt. month" -msgid "September" -msgstr "سپتامبر" - -msgctxt "alt. month" -msgid "October" -msgstr "اکتبر" - -msgctxt "alt. month" -msgid "November" -msgstr "نوامبر" - -msgctxt "alt. month" -msgid "December" -msgstr "دسامبر" - -msgid "This is not a valid IPv6 address." -msgstr "این مقدار آدرس IPv6 معتبری نیست." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s ..." - -msgid "or" -msgstr "یا" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr "،" - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d سال" -msgstr[1] "%d سال" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d ماه" -msgstr[1] "%d ماه" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d هفته" -msgstr[1] "%d هفته" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d روز" -msgstr[1] "%d روز" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d ساعت" -msgstr[1] "%d ساعت" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d دقیقه" -msgstr[1] "%d دقیقه" - -msgid "Forbidden" -msgstr "ممنوع" - -msgid "CSRF verification failed. Request aborted." -msgstr "‏CSRF تأیید نشد. درخواست لغو شد." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" -"شما این پیغام را می‌بینید چون این وب‌گاه HTTPS نیازمند یک \"Referer header\" " -"یا سرتیتر ارجاع دهنده است که باید توسط مرورگر شما ارسال شود. این سرتیتر به " -"دلایل امنیتی مورد نیاز است تا اطمینان حاصل شود که مرورگر شما توسط شخص سومی " -"مورد سوءاستفاده قرار نگرفته باشد." - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" -"اگر در مرورگر خود سر تیتر \"Referer\" را غیرفعال کرده‌اید، لطفاً آن را فعال " -"کنید، یا حداقل برای این وب‌گاه یا برای ارتباطات HTTPS و یا برای درخواست‌های " -"\"Same-origin\" فعال کنید." - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" -"اگر شما از تگ استفاده " -"می‌کنید یا سر تیتر \"Referrer-Policy: no-referrer\" را اضافه کرده‌اید، لطفاً " -"آن را حذف کنید. محافظ CSRF به سرتیتر \"Referer\" نیاز دارد تا بتواند بررسی " -"سخت‌گیرانه ارجاع دهنده را انجام دهد. اگر ملاحظاتی در مورد حریم خصوصی دارید از " -"روش‎‌های جایگزین مانند برای ارجاع دادن به وب‌گاه‌های " -"شخص ثالث استفاده کنید." - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"شما این پیام را میبینید چون این سایت نیازمند کوکی «جعل درخواست میان وبگاهی " -"(CSRF)» است. این کوکی برای امنیت شما ضروری است. با این کوکی می‌توانیم از " -"اینکه شخص ثالثی کنترل مرورگرتان را به دست نگرفته است اطمینان پیدا کنیم." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" -"اگر مرورگر خود را تنظیم کرده‌اید که کوکی غیرفعال باشد، لطفاً مجدداً آن را فعال " -"کنید؛ حداقل برای این وب‌گاه یا برای درخواست‌های \"same-origin\"." - -msgid "More information is available with DEBUG=True." -msgstr "اطلاعات بیشتر با DEBUG=True ارائه خواهد شد." - -msgid "No year specified" -msgstr "هیچ سالی مشخص نشده است" - -msgid "Date out of range" -msgstr "تاریخ غیرمجاز است" - -msgid "No month specified" -msgstr "هیچ ماهی مشخص نشده است" - -msgid "No day specified" -msgstr "هیچ روزی مشخص نشده است" - -msgid "No week specified" -msgstr "هیچ هفته‌ای مشخص نشده است" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "هیچ %(verbose_name_plural)s موجود نیست" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"آینده %(verbose_name_plural)s امکان پذیر نیست زیرا مقدار %(class_name)s." -"allow_future برابر False تنظیم شده است." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "نوشته تاریخ \"%(datestr)s\" در قالب \"%(format)s\" نامعتبر است" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "هیچ %(verbose_name)s ای مطابق جستجو پیدا نشد." - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "صفحه \"آخرین\" نیست یا شماره صفحه قابل ترجمه به یک عدد صحیح نیست." - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "صفحه‌ی اشتباه (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "لیست خالی و \"%(class_name)s.allow_empty\" برابر False است." - -msgid "Directory indexes are not allowed here." -msgstr "شاخص دایرکتوری اینجا قابل قبول نیست." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "\"%(path)s\" وجود ندارد " - -#, python-format -msgid "Index of %(directory)s" -msgstr "فهرست %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "جنگو: فریمورک وب برای کمال گرایانی که محدودیت زمانی دارند." - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"نمایش release notes برای نسخه %(version)s " -"جنگو" - -msgid "The install worked successfully! Congratulations!" -msgstr "نصب درست کار کرد. تبریک می گویم!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"شما این صفحه را به این دلیل مشاهده می کنید که DEBUG=True در فایل تنظیمات شما وجود دارد و شما هیچ URL " -"تنظیم نکرده اید." - -msgid "Django Documentation" -msgstr "مستندات جنگو" - -msgid "Topics, references, & how-to’s" -msgstr "سرفصل‌ها، منابع و دستورالعمل‌ها" - -msgid "Tutorial: A Polling App" -msgstr "آموزش گام به گام: برنامکی برای رأی‌گیری" - -msgid "Get started with Django" -msgstr "شروع به کار با جنگو" - -msgid "Django Community" -msgstr "جامعهٔ جنگو" - -msgid "Connect, get help, or contribute" -msgstr "متصل شوید، کمک بگیرید یا مشارکت کنید" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/fa/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/fa/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/fa/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/fa/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index bda2e298..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/fa/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/fa/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/fa/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index f84aada4..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/fa/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/fa/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/fa/formats.py deleted file mode 100644 index c8666f7a..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/fa/formats.py +++ /dev/null @@ -1,21 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'j F Y' -TIME_FORMAT = 'G:i' -DATETIME_FORMAT = 'j F Y، ساعت G:i' -YEAR_MONTH_FORMAT = 'F Y' -MONTH_DAY_FORMAT = 'j F' -SHORT_DATE_FORMAT = 'Y/n/j' -SHORT_DATETIME_FORMAT = 'Y/n/j،‏ G:i' -FIRST_DAY_OF_WEEK = 6 - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -# DATE_INPUT_FORMATS = -# TIME_INPUT_FORMATS = -# DATETIME_INPUT_FORMATS = -DECIMAL_SEPARATOR = '.' -THOUSAND_SEPARATOR = ',' -# NUMBER_GROUPING = diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/fi/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/fi/LC_MESSAGES/django.mo deleted file mode 100644 index 259e1d27..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/fi/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/fi/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/fi/LC_MESSAGES/django.po deleted file mode 100644 index c84aee9f..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/fi/LC_MESSAGES/django.po +++ /dev/null @@ -1,1279 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Aarni Koskela, 2015,2017-2018,2020 -# Antti Kaihola , 2011 -# Jannis Leidel , 2011 -# Lasse Liehu , 2015 -# Mika Mäkelä , 2018 -# Klaus Dahlén , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-27 22:40+0200\n" -"PO-Revision-Date: 2020-01-21 09:38+0000\n" -"Last-Translator: Aarni Koskela\n" -"Language-Team: Finnish (http://www.transifex.com/django/django/language/" -"fi/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fi\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "Afrikaans" -msgstr "afrikaans" - -msgid "Arabic" -msgstr "arabia" - -msgid "Asturian" -msgstr "asturian kieli" - -msgid "Azerbaijani" -msgstr "azeri" - -msgid "Bulgarian" -msgstr "bulgaria" - -msgid "Belarusian" -msgstr "valkovenäjän kieli" - -msgid "Bengali" -msgstr "bengali" - -msgid "Breton" -msgstr "bretoni" - -msgid "Bosnian" -msgstr "bosnia" - -msgid "Catalan" -msgstr "katalaani" - -msgid "Czech" -msgstr "tšekki" - -msgid "Welsh" -msgstr "wales" - -msgid "Danish" -msgstr "tanska" - -msgid "German" -msgstr "saksa" - -msgid "Lower Sorbian" -msgstr "Alasorbi" - -msgid "Greek" -msgstr "kreikka" - -msgid "English" -msgstr "englanti" - -msgid "Australian English" -msgstr "australianenglanti" - -msgid "British English" -msgstr "brittienglanti" - -msgid "Esperanto" -msgstr "esperanto" - -msgid "Spanish" -msgstr "espanja" - -msgid "Argentinian Spanish" -msgstr "Argentiinan espanja" - -msgid "Colombian Spanish" -msgstr "Kolumbian espanja" - -msgid "Mexican Spanish" -msgstr "Meksikon espanja" - -msgid "Nicaraguan Spanish" -msgstr "Nicaraguan espanja" - -msgid "Venezuelan Spanish" -msgstr "Venezuelan espanja" - -msgid "Estonian" -msgstr "viro" - -msgid "Basque" -msgstr "baski" - -msgid "Persian" -msgstr "persia" - -msgid "Finnish" -msgstr "suomi" - -msgid "French" -msgstr "ranska" - -msgid "Frisian" -msgstr "friisi" - -msgid "Irish" -msgstr "irlanti" - -msgid "Scottish Gaelic" -msgstr "Skottilainen gaeli" - -msgid "Galician" -msgstr "galicia" - -msgid "Hebrew" -msgstr "heprea" - -msgid "Hindi" -msgstr "hindi" - -msgid "Croatian" -msgstr "kroatia" - -msgid "Upper Sorbian" -msgstr "Yläsorbi" - -msgid "Hungarian" -msgstr "unkari" - -msgid "Armenian" -msgstr "armenian kieli" - -msgid "Interlingua" -msgstr "interlingua" - -msgid "Indonesian" -msgstr "indonesia" - -msgid "Ido" -msgstr "ido" - -msgid "Icelandic" -msgstr "islanti" - -msgid "Italian" -msgstr "italia" - -msgid "Japanese" -msgstr "japani" - -msgid "Georgian" -msgstr "georgia" - -msgid "Kabyle" -msgstr "Kabyle" - -msgid "Kazakh" -msgstr "kazakin kieli" - -msgid "Khmer" -msgstr "khmer" - -msgid "Kannada" -msgstr "kannada" - -msgid "Korean" -msgstr "korea" - -msgid "Luxembourgish" -msgstr "luxemburgin kieli" - -msgid "Lithuanian" -msgstr "liettua" - -msgid "Latvian" -msgstr "latvia" - -msgid "Macedonian" -msgstr "makedonia" - -msgid "Malayalam" -msgstr "malajalam" - -msgid "Mongolian" -msgstr "mongolia" - -msgid "Marathi" -msgstr "marathi" - -msgid "Burmese" -msgstr "burman kieli" - -msgid "Norwegian Bokmål" -msgstr "norja (bokmål)" - -msgid "Nepali" -msgstr "nepalin kieli" - -msgid "Dutch" -msgstr "hollanti" - -msgid "Norwegian Nynorsk" -msgstr "norja (uusnorja)" - -msgid "Ossetic" -msgstr "osseetin kieli" - -msgid "Punjabi" -msgstr "punjabin kieli" - -msgid "Polish" -msgstr "puola" - -msgid "Portuguese" -msgstr "portugali" - -msgid "Brazilian Portuguese" -msgstr "brasilian portugali" - -msgid "Romanian" -msgstr "romania" - -msgid "Russian" -msgstr "venäjä" - -msgid "Slovak" -msgstr "slovakia" - -msgid "Slovenian" -msgstr "slovenia" - -msgid "Albanian" -msgstr "albaani" - -msgid "Serbian" -msgstr "serbia" - -msgid "Serbian Latin" -msgstr "serbian latina" - -msgid "Swedish" -msgstr "ruotsi" - -msgid "Swahili" -msgstr "swahili" - -msgid "Tamil" -msgstr "tamili" - -msgid "Telugu" -msgstr "telugu" - -msgid "Thai" -msgstr "thain kieli" - -msgid "Turkish" -msgstr "turkki" - -msgid "Tatar" -msgstr "tataarin kieli" - -msgid "Udmurt" -msgstr "udmurtti" - -msgid "Ukrainian" -msgstr "ukraina" - -msgid "Urdu" -msgstr "urdu" - -msgid "Uzbek" -msgstr "uzbekki" - -msgid "Vietnamese" -msgstr "vietnam" - -msgid "Simplified Chinese" -msgstr "kiina (yksinkertaistettu)" - -msgid "Traditional Chinese" -msgstr "kiina (perinteinen)" - -msgid "Messages" -msgstr "Viestit" - -msgid "Site Maps" -msgstr "Sivukartat" - -msgid "Static Files" -msgstr "Staattiset tiedostot" - -msgid "Syndication" -msgstr "Syndikointi" - -msgid "That page number is not an integer" -msgstr "Annettu sivunumero ei ole kokonaisluku" - -msgid "That page number is less than 1" -msgstr "Annettu sivunumero on alle 1" - -msgid "That page contains no results" -msgstr "Annetulla sivulla ei ole tuloksia" - -msgid "Enter a valid value." -msgstr "Syötä oikea arvo." - -msgid "Enter a valid URL." -msgstr "Syötä oikea URL-osoite." - -msgid "Enter a valid integer." -msgstr "Syötä kelvollinen kokonaisluku." - -msgid "Enter a valid email address." -msgstr "Syötä kelvollinen sähköpostiosoite." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" -"Tässä voidaan käyttää vain kirjaimia, numeroita sekä ala- ja tavuviivoja (_ " -"-)." - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" -"Tässä voidaan käyttää vain Unicode-kirjaimia, numeroita sekä ala- ja " -"tavuviivoja." - -msgid "Enter a valid IPv4 address." -msgstr "Syötä kelvollinen IPv4-osoite." - -msgid "Enter a valid IPv6 address." -msgstr "Syötä kelvollinen IPv6-osoite." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Syötä kelvollinen IPv4- tai IPv6-osoite." - -msgid "Enter only digits separated by commas." -msgstr "Vain pilkulla erotetut kokonaisluvut kelpaavat tässä." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "Tämän arvon on oltava %(limit_value)s (nyt %(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Tämän arvon on oltava enintään %(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Tämän luvun on oltava vähintään %(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Varmista, että tämä arvo on vähintään %(limit_value)d merkin pituinen (tällä " -"hetkellä %(show_value)d)." -msgstr[1] "" -"Varmista, että tämä arvo on vähintään %(limit_value)d merkkiä pitkä (tällä " -"hetkellä %(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Varmista, että tämä arvo on enintään %(limit_value)d merkin pituinen (tällä " -"hetkellä %(show_value)d)." -msgstr[1] "" -"Varmista, että tämä arvo on enintään %(limit_value)d merkkiä pitkä (tällä " -"hetkellä %(show_value)d)." - -msgid "Enter a number." -msgstr "Syötä luku." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Tässä luvussa voi olla yhteensä enintään %(max)s numero." -msgstr[1] "Tässä luvussa voi olla yhteensä enintään %(max)s numeroa." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "Tässä luvussa saa olla enintään %(max)s desimaali." -msgstr[1] "Tässä luvussa saa olla enintään %(max)s desimaalia." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -"Tässä luvussa saa olla enintään %(max)s numero ennen desimaalipilkkua." -msgstr[1] "" -"Tässä luvussa saa olla enintään %(max)s numeroa ennen desimaalipilkkua." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" -"Pääte \"%(extension)s\" ei ole sallittu. Sallittuja päätteitä ovat " -"\"%(allowed_extensions)s\"." - -msgid "Null characters are not allowed." -msgstr "Tyhjiä merkkejä (null) ei sallita." - -msgid "and" -msgstr "ja" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "%(model_name)s jolla on nämä %(field_labels)s on jo olemassa." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "Arvo %(value)r ei kelpaa." - -msgid "This field cannot be null." -msgstr "Tämän kentän arvo ei voi olla \"null\"." - -msgid "This field cannot be blank." -msgstr "Tämä kenttä ei voi olla tyhjä." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s jolla on tämä %(field_label)s, on jo olemassa." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"\"%(field_label)s\"-kentän on oltava uniikki suhteessa: %(date_field_label)s " -"%(lookup_type)s." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Kenttä tyyppiä: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "%(value)s-arvo pitää olla joko tosi tai epätosi." - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "%(value)s-arvo pitää olla joko tosi, epätosi tai ei mitään." - -msgid "Boolean (Either True or False)" -msgstr "Totuusarvo: joko tosi (True) tai epätosi (False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Merkkijono (enintään %(max_length)s merkkiä)" - -msgid "Comma-separated integers" -msgstr "Pilkulla erotetut kokonaisluvut" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" -"%(value)s-arvo on väärässä päivämäärämuodossa. Sen tulee olla VVVV-KK-PP -" -"muodossa." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" -"%(value)s-arvo on oikeassa päivämäärämuodossa (VVVV-KK-PP), muttei ole " -"kelvollinen päivämäärä." - -msgid "Date (without time)" -msgstr "Päivämäärä (ilman kellonaikaa)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" -"%(value)s-arvon muoto ei kelpaa. Se tulee olla VVVV-KK-PP TT:MM[:ss[.uuuuuu]]" -"[TZ] -muodossa." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" -"%(value)s-arvon muoto on oikea (VVVV-KK-PP TT:MM[:ss[.uuuuuu]][TZ]), mutta " -"päivämäärä/aika ei ole kelvollinen." - -msgid "Date (with time)" -msgstr "Päivämäärä ja kellonaika" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "%(value)s-arvo tulee olla desimaaliluku." - -msgid "Decimal number" -msgstr "Desimaaliluku" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "%(value)s-arvo pitää olla muodossa [PP] TT:MM[:ss[.uuuuuu]]." - -msgid "Duration" -msgstr "Kesto" - -msgid "Email address" -msgstr "Sähköpostiosoite" - -msgid "File path" -msgstr "Tiedostopolku" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "%(value)s-arvo tulee olla liukuluku." - -msgid "Floating point number" -msgstr "Liukuluku" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "%(value)s-arvo tulee olla kokonaisluku." - -msgid "Integer" -msgstr "Kokonaisluku" - -msgid "Big (8 byte) integer" -msgstr "Suuri (8-tavuinen) kokonaisluku" - -msgid "IPv4 address" -msgstr "IPv4-osoite" - -msgid "IP address" -msgstr "IP-osoite" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "%(value)s-arvo tulee olla joko ei mitään, tosi tai epätosi." - -msgid "Boolean (Either True, False or None)" -msgstr "Totuusarvo: joko tosi (True), epätosi (False) tai ei mikään (None)" - -msgid "Positive integer" -msgstr "Positiivinen kokonaisluku" - -msgid "Positive small integer" -msgstr "Pieni positiivinen kokonaisluku" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Lyhytnimi (enintään %(max_length)s merkkiä)" - -msgid "Small integer" -msgstr "Pieni kokonaisluku" - -msgid "Text" -msgstr "Tekstiä" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "%(value)s-arvo pitää olla muodossa TT:MM[:ss[.uuuuuu]]." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" -"%(value)s-arvo on oikeassa muodossa (TT:MM[:ss[.uuuuuu]]), mutta kellonaika " -"ei kelpaa." - -msgid "Time" -msgstr "Kellonaika" - -msgid "URL" -msgstr "URL-osoite" - -msgid "Raw binary data" -msgstr "Raaka binaaridata" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "%(value)s ei ole kelvollinen UUID." - -msgid "Universally unique identifier" -msgstr "UUID-tunnus" - -msgid "File" -msgstr "Tiedosto" - -msgid "Image" -msgstr "Kuva" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "%(model)s-tietuetta %(field)s-kentällä %(value)r ei ole olemassa." - -msgid "Foreign Key (type determined by related field)" -msgstr "Vierasavain (tyyppi määräytyy liittyvän kentän mukaan)" - -msgid "One-to-one relationship" -msgstr "Yksi-yhteen relaatio" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "%(from)s-%(to)s -suhde" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "%(from)s-%(to)s -suhteet" - -msgid "Many-to-many relationship" -msgstr "Moni-moneen relaatio" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Tämä kenttä vaaditaan." - -msgid "Enter a whole number." -msgstr "Syötä kokonaisluku." - -msgid "Enter a valid date." -msgstr "Syötä oikea päivämäärä." - -msgid "Enter a valid time." -msgstr "Syötä oikea kellonaika." - -msgid "Enter a valid date/time." -msgstr "Syötä oikea pvm/kellonaika." - -msgid "Enter a valid duration." -msgstr "Syötä oikea kesto." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "Päivien määrä täytyy olla välillä {min_days} ja {max_days}." - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Tiedostoa ei lähetetty. Tarkista lomakkeen koodaus (encoding)." - -msgid "No file was submitted." -msgstr "Yhtään tiedostoa ei ole lähetetty." - -msgid "The submitted file is empty." -msgstr "Lähetetty tiedosto on tyhjä." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Varmista, että tämä tiedostonimi on enintään %(max)d merkin pituinen (tällä " -"hetkellä %(length)d)." -msgstr[1] "" -"Varmista, että tämä tiedostonimi on enintään %(max)d merkkiä pitkä (tällä " -"hetkellä %(length)d)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "Voit joko lähettää tai poistaa tiedoston, muttei kumpaakin samalla." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Kuva ei kelpaa. Lähettämäsi tiedosto ei ole kuva, tai tiedosto on vioittunut." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "Valitse oikea vaihtoehto. %(value)s ei ole vaihtoehtojen joukossa." - -msgid "Enter a list of values." -msgstr "Syötä lista." - -msgid "Enter a complete value." -msgstr "Syötä kokonainen arvo." - -msgid "Enter a valid UUID." -msgstr "Syötä oikea UUID." - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Piilokenttä %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "ManagementForm-tiedot puuttuvat tai niitä on muutettu" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Lähetä enintään %d lomake." -msgstr[1] "Lähetä enintään %d lomaketta." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "Lähetä vähintään %d lomake." -msgstr[1] "Lähetä vähintään %d lomaketta." - -msgid "Order" -msgstr "Järjestys" - -msgid "Delete" -msgstr "Poista" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Korjaa kaksoisarvo kentälle %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "Ole hyvä ja korjaa uniikin kentän %(field)s kaksoisarvo." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "Korjaa allaolevat kaksoisarvot." - -msgid "The inline value did not match the parent instance." -msgstr "Liittyvä arvo ei vastannut vanhempaa instanssia." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "Valitse oikea vaihtoehto. Valintasi ei löydy vaihtoehtojen joukosta." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "\"%(pk)s\" ei ole kelvollinen arvo." - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" -"%(datetime)s -arvoa ei pystytty lukemaan aikavyöhykkeellä " -"%(current_timezone)s; se saattaa olla moniarvoinen tai määrittämätön." - -msgid "Clear" -msgstr "Poista" - -msgid "Currently" -msgstr "Tällä hetkellä" - -msgid "Change" -msgstr "Muokkaa" - -msgid "Unknown" -msgstr "Tuntematon" - -msgid "Yes" -msgstr "Kyllä" - -msgid "No" -msgstr "Ei" - -msgid "Year" -msgstr "Vuosi" - -msgid "Month" -msgstr "Kuukausi" - -msgid "Day" -msgstr "Päivä" - -msgid "yes,no,maybe" -msgstr "kyllä,ei,ehkä" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d tavu" -msgstr[1] "%(size)d tavua" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "ip" - -msgid "a.m." -msgstr "ap" - -msgid "PM" -msgstr "IP" - -msgid "AM" -msgstr "AP" - -msgid "midnight" -msgstr "keskiyö" - -msgid "noon" -msgstr "keskipäivä" - -msgid "Monday" -msgstr "maanantai" - -msgid "Tuesday" -msgstr "tiistai" - -msgid "Wednesday" -msgstr "keskiviikko" - -msgid "Thursday" -msgstr "torstai" - -msgid "Friday" -msgstr "perjantai" - -msgid "Saturday" -msgstr "lauantai" - -msgid "Sunday" -msgstr "sunnuntai" - -msgid "Mon" -msgstr "ma" - -msgid "Tue" -msgstr "ti" - -msgid "Wed" -msgstr "ke" - -msgid "Thu" -msgstr "to" - -msgid "Fri" -msgstr "pe" - -msgid "Sat" -msgstr "la" - -msgid "Sun" -msgstr "su" - -msgid "January" -msgstr "tammikuu" - -msgid "February" -msgstr "helmikuu" - -msgid "March" -msgstr "maaliskuu" - -msgid "April" -msgstr "huhtikuu" - -msgid "May" -msgstr "toukokuu" - -msgid "June" -msgstr "kesäkuu" - -msgid "July" -msgstr "heinäkuu" - -msgid "August" -msgstr "elokuu" - -msgid "September" -msgstr "syyskuu" - -msgid "October" -msgstr "lokakuu" - -msgid "November" -msgstr "marraskuu" - -msgid "December" -msgstr "joulukuu" - -msgid "jan" -msgstr "tam" - -msgid "feb" -msgstr "hel" - -msgid "mar" -msgstr "maa" - -msgid "apr" -msgstr "huh" - -msgid "may" -msgstr "tou" - -msgid "jun" -msgstr "kes" - -msgid "jul" -msgstr "hei" - -msgid "aug" -msgstr "elo" - -msgid "sep" -msgstr "syy" - -msgid "oct" -msgstr "lok" - -msgid "nov" -msgstr "mar" - -msgid "dec" -msgstr "jou" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "tammi" - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "helmi" - -msgctxt "abbrev. month" -msgid "March" -msgstr "maalis" - -msgctxt "abbrev. month" -msgid "April" -msgstr "huhti" - -msgctxt "abbrev. month" -msgid "May" -msgstr "touko" - -msgctxt "abbrev. month" -msgid "June" -msgstr "kesä" - -msgctxt "abbrev. month" -msgid "July" -msgstr "heinä" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "elo" - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "syys" - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "loka" - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "marras" - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "joulu" - -msgctxt "alt. month" -msgid "January" -msgstr "tammikuuta" - -msgctxt "alt. month" -msgid "February" -msgstr "helmikuuta" - -msgctxt "alt. month" -msgid "March" -msgstr "maaliskuuta" - -msgctxt "alt. month" -msgid "April" -msgstr "huhtikuuta" - -msgctxt "alt. month" -msgid "May" -msgstr "toukokuuta" - -msgctxt "alt. month" -msgid "June" -msgstr "kesäkuuta" - -msgctxt "alt. month" -msgid "July" -msgstr "heinäkuuta" - -msgctxt "alt. month" -msgid "August" -msgstr "elokuuta" - -msgctxt "alt. month" -msgid "September" -msgstr "syyskuuta" - -msgctxt "alt. month" -msgid "October" -msgstr "lokakuuta" - -msgctxt "alt. month" -msgid "November" -msgstr "marraskuuta" - -msgctxt "alt. month" -msgid "December" -msgstr "joulukuuta" - -msgid "This is not a valid IPv6 address." -msgstr "Tämä ei ole kelvollinen IPv6-osoite." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s…" - -msgid "or" -msgstr "tai" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d vuosi" -msgstr[1] "%d vuotta" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d kuukausi" -msgstr[1] "%d kuukautta" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d viikko" -msgstr[1] "%d viikkoa" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d päivä" -msgstr[1] "%d päivää" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d tunti" -msgstr[1] "%d tuntia" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d minuutti" -msgstr[1] "%d minuuttia" - -msgid "0 minutes" -msgstr "0 minuuttia" - -msgid "Forbidden" -msgstr "Kielletty" - -msgid "CSRF verification failed. Request aborted." -msgstr "CSRF-vahvistus epäonnistui. Pyyntö hylätty." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" -"Näet tämän viestin, koska tämä HTTPS-sivusto vaatii selaintasi lähettämään " -"Referer-otsakkeen, mutta sitä ei vastaanotettu. Otsake vaaditaan " -"turvallisuussyistä, varmistamaan etteivät kolmannet osapuolet ole ottaneet " -"selaintasi haltuun." - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" -"Jos olet konfiguroinut selaimesi olemaan lähettämättä Referer-otsaketta, ole " -"hyvä ja kytke otsake takaisin päälle ainakin tälle sivulle, HTTPS-" -"yhteyksille tai saman lähteen (\"same-origin\") pyynnöille." - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" -"Jos käytät -tagia tai " -"\"Referrer-Policy: no-referrer\" -otsaketta, ole hyvä ja poista ne. CSRF-" -"suojaus vaatii Referer-otsakkeen tehdäkseen tarkan referer-tarkistuksen. Jos " -"vaadit yksityisyyttä, käytä vaihtoehtoja kuten linkittääksesi kolmannen osapuolen sivuille." - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Näet tämän viestin, koska tämä sivusto vaatii CSRF-evästeen " -"vastaanottaessaan lomaketietoja. Eväste vaaditaan turvallisuussyistä, " -"varmistamaan etteivät kolmannet osapuolet ole ottaneet selaintasi haltuun." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" -"Jos olet konfiguroinut selaimesi olemaan vastaanottamatta tai lähettämättä " -"evästeitä, ole hyvä ja kytke evästeet takaisin päälle ainakin tälle sivulle " -"tai saman lähteen (\"same-origin\") pyynnöille." - -msgid "More information is available with DEBUG=True." -msgstr "Lisätietoja `DEBUG=True`-konfiguraatioasetuksella." - -msgid "No year specified" -msgstr "Vuosi puuttuu" - -msgid "Date out of range" -msgstr "Päivämäärä ei alueella" - -msgid "No month specified" -msgstr "Kuukausi puuttuu" - -msgid "No day specified" -msgstr "Päivä puuttuu" - -msgid "No week specified" -msgstr "Viikko puuttuu" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "%(verbose_name_plural)s: yhtään kohdetta ei löydy" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"%(verbose_name_plural)s: tulevia kohteita ei löydy, koska %(class_name)s." -"allow_future:n arvo on False." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "Päivämäärä '%(datestr)s' ei ole muotoa '%(format)s'" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Hakua vastaavaa %(verbose_name)s -kohdetta ei löytynyt" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "Sivunumero ei ole 'last' (viimeinen) eikä näytä luvulta." - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Epäkelpo sivu (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "Lista on tyhjä, ja '%(class_name)s.allow_empty':n arvo on False." - -msgid "Directory indexes are not allowed here." -msgstr "Hakemistolistauksia ei sallita täällä." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "\"%(path)s\" ei ole olemassa" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Hakemistolistaus: %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"Katso Django %(version)s julkaisutiedot" - -msgid "The install worked successfully! Congratulations!" -msgstr "Asennus toimi! Onneksi olkoon!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"Näet tämän viestin, koska asetuksissasi on DEBUG = True etkä ole konfiguroinut yhtään URL-osoitetta." - -msgid "Django Documentation" -msgstr "Django-dokumentaatio" - -msgid "Topics, references, & how-to’s" -msgstr "Aiheet, viittaukset & how-tot" - -msgid "Tutorial: A Polling App" -msgstr "Tutoriaali: kyselyapplikaatio" - -msgid "Get started with Django" -msgstr "Miten päästä alkuun Djangolla" - -msgid "Django Community" -msgstr "Django-yhteisö" - -msgid "Connect, get help, or contribute" -msgstr "Verkostoidu, saa apua tai jatkokehitä" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/fi/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/fi/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/fi/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/fi/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 8d62eb5f..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/fi/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/fi/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/fi/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 686f0232..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/fi/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/fi/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/fi/formats.py deleted file mode 100644 index 0a56b371..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/fi/formats.py +++ /dev/null @@ -1,37 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'j. E Y' -TIME_FORMAT = 'G.i' -DATETIME_FORMAT = r'j. E Y \k\e\l\l\o G.i' -YEAR_MONTH_FORMAT = 'F Y' -MONTH_DAY_FORMAT = 'j. F' -SHORT_DATE_FORMAT = 'j.n.Y' -SHORT_DATETIME_FORMAT = 'j.n.Y G.i' -FIRST_DAY_OF_WEEK = 1 # Monday - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -DATE_INPUT_FORMATS = [ - '%d.%m.%Y', # '20.3.2014' - '%d.%m.%y', # '20.3.14' -] -DATETIME_INPUT_FORMATS = [ - '%d.%m.%Y %H.%M.%S', # '20.3.2014 14.30.59' - '%d.%m.%Y %H.%M.%S.%f', # '20.3.2014 14.30.59.000200' - '%d.%m.%Y %H.%M', # '20.3.2014 14.30' - - '%d.%m.%y %H.%M.%S', # '20.3.14 14.30.59' - '%d.%m.%y %H.%M.%S.%f', # '20.3.14 14.30.59.000200' - '%d.%m.%y %H.%M', # '20.3.14 14.30' -] -TIME_INPUT_FORMATS = [ - '%H.%M.%S', # '14.30.59' - '%H.%M.%S.%f', # '14.30.59.000200' - '%H.%M', # '14.30' -] - -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = '\xa0' # Non-breaking space -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/fr/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/fr/LC_MESSAGES/django.mo deleted file mode 100644 index aad29d13..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/fr/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/fr/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/fr/LC_MESSAGES/django.po deleted file mode 100644 index 330fa7a6..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/fr/LC_MESSAGES/django.po +++ /dev/null @@ -1,1327 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Simon Charette , 2012 -# Claude Paroz , 2013-2020 -# Claude Paroz , 2011 -# Jannis Leidel , 2011 -# Jean-Baptiste Mora, 2014 -# Larlet David , 2011 -# Marie-Cécile Gohier , 2014 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-07-15 08:41+0000\n" -"Last-Translator: Claude Paroz \n" -"Language-Team: French (http://www.transifex.com/django/django/language/fr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - -msgid "Afrikaans" -msgstr "Afrikaans" - -msgid "Arabic" -msgstr "Arabe" - -msgid "Algerian Arabic" -msgstr "Arabe algérien" - -msgid "Asturian" -msgstr "Asturien" - -msgid "Azerbaijani" -msgstr "Azéri" - -msgid "Bulgarian" -msgstr "Bulgare" - -msgid "Belarusian" -msgstr "Biélorusse" - -msgid "Bengali" -msgstr "Bengalî" - -msgid "Breton" -msgstr "Breton" - -msgid "Bosnian" -msgstr "Bosniaque" - -msgid "Catalan" -msgstr "Catalan" - -msgid "Czech" -msgstr "Tchèque" - -msgid "Welsh" -msgstr "Gallois" - -msgid "Danish" -msgstr "Dannois" - -msgid "German" -msgstr "Allemand" - -msgid "Lower Sorbian" -msgstr "Bas-sorabe" - -msgid "Greek" -msgstr "Grec" - -msgid "English" -msgstr "Anglais" - -msgid "Australian English" -msgstr "Anglais australien" - -msgid "British English" -msgstr "Anglais britannique" - -msgid "Esperanto" -msgstr "Espéranto" - -msgid "Spanish" -msgstr "Espagnol" - -msgid "Argentinian Spanish" -msgstr "Espagnol argentin" - -msgid "Colombian Spanish" -msgstr "Espagnol colombien" - -msgid "Mexican Spanish" -msgstr "Espagnol mexicain" - -msgid "Nicaraguan Spanish" -msgstr "Espagnol nicaraguayen" - -msgid "Venezuelan Spanish" -msgstr "Espagnol vénézuélien" - -msgid "Estonian" -msgstr "Estonien" - -msgid "Basque" -msgstr "Basque" - -msgid "Persian" -msgstr "Perse" - -msgid "Finnish" -msgstr "Finlandais" - -msgid "French" -msgstr "Français" - -msgid "Frisian" -msgstr "Frise" - -msgid "Irish" -msgstr "Irlandais" - -msgid "Scottish Gaelic" -msgstr "Gaélique écossais" - -msgid "Galician" -msgstr "Galicien" - -msgid "Hebrew" -msgstr "Hébreu" - -msgid "Hindi" -msgstr "Hindi" - -msgid "Croatian" -msgstr "Croate" - -msgid "Upper Sorbian" -msgstr "Haut-sorabe" - -msgid "Hungarian" -msgstr "Hongrois" - -msgid "Armenian" -msgstr "Arménien" - -msgid "Interlingua" -msgstr "Interlingua" - -msgid "Indonesian" -msgstr "Indonésien" - -msgid "Igbo" -msgstr "Igbo" - -msgid "Ido" -msgstr "Ido" - -msgid "Icelandic" -msgstr "Islandais" - -msgid "Italian" -msgstr "Italien" - -msgid "Japanese" -msgstr "Japonais" - -msgid "Georgian" -msgstr "Géorgien" - -msgid "Kabyle" -msgstr "Kabyle" - -msgid "Kazakh" -msgstr "Kazakh" - -msgid "Khmer" -msgstr "Khmer" - -msgid "Kannada" -msgstr "Kannada" - -msgid "Korean" -msgstr "Coréen" - -msgid "Kyrgyz" -msgstr "Kirghize" - -msgid "Luxembourgish" -msgstr "Luxembourgeois" - -msgid "Lithuanian" -msgstr "Lituanien" - -msgid "Latvian" -msgstr "Letton" - -msgid "Macedonian" -msgstr "Macédonien" - -msgid "Malayalam" -msgstr "Malayâlam" - -msgid "Mongolian" -msgstr "Mongole" - -msgid "Marathi" -msgstr "Marathi" - -msgid "Burmese" -msgstr "Birman" - -msgid "Norwegian Bokmål" -msgstr "Norvégien Bokmal" - -msgid "Nepali" -msgstr "Népalais" - -msgid "Dutch" -msgstr "Hollandais" - -msgid "Norwegian Nynorsk" -msgstr "Norvégien Nynorsk" - -msgid "Ossetic" -msgstr "Ossète" - -msgid "Punjabi" -msgstr "Penjabi" - -msgid "Polish" -msgstr "Polonais" - -msgid "Portuguese" -msgstr "Portugais" - -msgid "Brazilian Portuguese" -msgstr "Portugais brésilien" - -msgid "Romanian" -msgstr "Roumain" - -msgid "Russian" -msgstr "Russe" - -msgid "Slovak" -msgstr "Slovaque" - -msgid "Slovenian" -msgstr "Slovène" - -msgid "Albanian" -msgstr "Albanais" - -msgid "Serbian" -msgstr "Serbe" - -msgid "Serbian Latin" -msgstr "Serbe latin" - -msgid "Swedish" -msgstr "Suédois" - -msgid "Swahili" -msgstr "Swahili" - -msgid "Tamil" -msgstr "Tamoul" - -msgid "Telugu" -msgstr "Télougou" - -msgid "Tajik" -msgstr "Tadjik" - -msgid "Thai" -msgstr "Thaï" - -msgid "Turkmen" -msgstr "Turkmène" - -msgid "Turkish" -msgstr "Turc" - -msgid "Tatar" -msgstr "Tatar" - -msgid "Udmurt" -msgstr "Oudmourte" - -msgid "Ukrainian" -msgstr "Ukrainien" - -msgid "Urdu" -msgstr "Ourdou" - -msgid "Uzbek" -msgstr "Ouzbek" - -msgid "Vietnamese" -msgstr "Vietnamien" - -msgid "Simplified Chinese" -msgstr "Chinois simplifié" - -msgid "Traditional Chinese" -msgstr "Chinois traditionnel" - -msgid "Messages" -msgstr "Messages" - -msgid "Site Maps" -msgstr "Plans de sites" - -msgid "Static Files" -msgstr "Fichiers statiques" - -msgid "Syndication" -msgstr "Syndication" - -msgid "That page number is not an integer" -msgstr "Ce numéro de page n’est pas un nombre entier" - -msgid "That page number is less than 1" -msgstr "Ce numéro de page est plus petit que 1" - -msgid "That page contains no results" -msgstr "Cette page ne contient aucun résultat" - -msgid "Enter a valid value." -msgstr "Saisissez une valeur valide." - -msgid "Enter a valid URL." -msgstr "Saisissez une URL valide." - -msgid "Enter a valid integer." -msgstr "Saisissez un nombre entier valide." - -msgid "Enter a valid email address." -msgstr "Saisissez une adresse de courriel valide." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" -"Ce champ ne doit contenir que des lettres, des nombres, des tirets bas _ et " -"des traits d’union." - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" -"Ce champ ne doit contenir que des caractères Unicode, des nombres, des " -"tirets bas (_) et des traits d’union." - -msgid "Enter a valid IPv4 address." -msgstr "Saisissez une adresse IPv4 valide." - -msgid "Enter a valid IPv6 address." -msgstr "Saisissez une adresse IPv6 valide." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Saisissez une adresse IPv4 ou IPv6 valide." - -msgid "Enter only digits separated by commas." -msgstr "Saisissez uniquement des chiffres séparés par des virgules." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" -"Assurez-vous que cette valeur est %(limit_value)s (actuellement " -"%(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "" -"Assurez-vous que cette valeur est inférieure ou égale à %(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "" -"Assurez-vous que cette valeur est supérieure ou égale à %(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Assurez-vous que cette valeur comporte au moins %(limit_value)d caractère " -"(actuellement %(show_value)d)." -msgstr[1] "" -"Assurez-vous que cette valeur comporte au moins %(limit_value)d caractères " -"(actuellement %(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Assurez-vous que cette valeur comporte au plus %(limit_value)d caractère " -"(actuellement %(show_value)d)." -msgstr[1] "" -"Assurez-vous que cette valeur comporte au plus %(limit_value)d caractères " -"(actuellement %(show_value)d)." - -msgid "Enter a number." -msgstr "Saisissez un nombre." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Assurez-vous qu'il n'y a pas plus de %(max)s chiffre au total." -msgstr[1] "Assurez-vous qu’il n’y a pas plus de %(max)s chiffres au total." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "" -"Assurez-vous qu'il n'y a pas plus de %(max)s chiffre après la virgule." -msgstr[1] "" -"Assurez-vous qu’il n’y a pas plus de %(max)s chiffres après la virgule." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -"Assurez-vous qu'il n'y a pas plus de %(max)s chiffre avant la virgule." -msgstr[1] "" -"Assurez-vous qu’il n’y a pas plus de %(max)s chiffres avant la virgule." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" -"L'extension de fichier « %(extension)s » n’est pas autorisée. Les extensions " -"autorisées sont : %(allowed_extensions)s." - -msgid "Null characters are not allowed." -msgstr "Le caractère nul n’est pas autorisé." - -msgid "and" -msgstr "et" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "Un objet %(model_name)s avec ces champs %(field_labels)s existe déjà." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "La valeur « %(value)r » n’est pas un choix valide." - -msgid "This field cannot be null." -msgstr "Ce champ ne peut pas contenir la valeur nulle." - -msgid "This field cannot be blank." -msgstr "Ce champ ne peut pas être vide." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "Un objet %(model_name)s avec ce champ %(field_label)s existe déjà." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(field_label)s doit être unique pour la partie %(lookup_type)s de " -"%(date_field_label)s." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Champ de type : %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "La valeur « %(value)s » doit être soit True (vrai), soit False (faux)." - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" -"La valeur « %(value)s » doit être True (vrai), False (faux) ou None (aucun)." - -msgid "Boolean (Either True or False)" -msgstr "Booléen (soit vrai ou faux)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Chaîne de caractère (jusqu'à %(max_length)s)" - -msgid "Comma-separated integers" -msgstr "Des entiers séparés par une virgule" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" -"Le format de date de la valeur « %(value)s » n’est pas valide. Le format " -"correct est AAAA-MM-JJ." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" -"Le format de date de la valeur « %(value)s » est correct (AAAA-MM-JJ), mais " -"la date n’est pas valide." - -msgid "Date (without time)" -msgstr "Date (sans l’heure)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" -"Le format de la valeur « %(value)s » n’est pas valide. Le format correct est " -"AAAA-MM-JJ HH:MM[:ss[.uuuuuu]][FH]." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" -"Le format de date de la valeur « %(value)s » est correct (AAAA-MM-JJ HH:MM[:" -"ss[.uuuuuu]][FH]), mais la date ou l’heure n’est pas valide." - -msgid "Date (with time)" -msgstr "Date (avec l’heure)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "La valeur « %(value)s » doit être un nombre décimal." - -msgid "Decimal number" -msgstr "Nombre décimal" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" -"Le format de la valeur « %(value)s » n’est pas valide. Le format correct est " -"[JJ] [[HH:]MM:]ss[.uuuuuu]." - -msgid "Duration" -msgstr "Durée" - -msgid "Email address" -msgstr "Adresse électronique" - -msgid "File path" -msgstr "Chemin vers le fichier" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "La valeur « %(value)s » doit être un nombre à virgule flottante." - -msgid "Floating point number" -msgstr "Nombre à virgule flottante" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "La valeur « %(value)s » doit être un nombre entier." - -msgid "Integer" -msgstr "Entier" - -msgid "Big (8 byte) integer" -msgstr "Grand entier (8 octets)" - -msgid "IPv4 address" -msgstr "Adresse IPv4" - -msgid "IP address" -msgstr "Adresse IP" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" -"La valeur « %(value)s » doit valoir soit None (vide), True (vrai) ou False " -"(faux)." - -msgid "Boolean (Either True, False or None)" -msgstr "Booléen (soit vrai, faux ou nul)" - -msgid "Positive big integer" -msgstr "Grand nombre entier positif" - -msgid "Positive integer" -msgstr "Nombre entier positif" - -msgid "Positive small integer" -msgstr "Petit nombre entier positif" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Slug (jusqu'à %(max_length)s car.)" - -msgid "Small integer" -msgstr "Petit nombre entier" - -msgid "Text" -msgstr "Texte" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" -"Le format de la valeur « %(value)s » n’est pas valide. Le format correct est " -"HH:MM[:ss[.uuuuuu]]." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" -"Le format de la valeur « %(value)s » est correct (HH:MM[:ss[.uuuuuu]]), mais " -"l’heure n’est pas valide." - -msgid "Time" -msgstr "Heure" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Données binaires brutes" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "La valeur « %(value)s » n’est pas un UUID valide." - -msgid "Universally unique identifier" -msgstr "Identifiant unique universel" - -msgid "File" -msgstr "Fichier" - -msgid "Image" -msgstr "Image" - -msgid "A JSON object" -msgstr "Un objet JSON" - -msgid "Value must be valid JSON." -msgstr "La valeur doit être de la syntaxe JSON valable." - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "L’instance %(model)s avec %(value)r dans %(field)s n’existe pas." - -msgid "Foreign Key (type determined by related field)" -msgstr "Clé étrangère (type défini par le champ lié)" - -msgid "One-to-one relationship" -msgstr "Relation un à un" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "Relation %(from)s-%(to)s" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "Relations %(from)s-%(to)s" - -msgid "Many-to-many relationship" -msgstr "Relation plusieurs à plusieurs" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Ce champ est obligatoire." - -msgid "Enter a whole number." -msgstr "Saisissez un nombre entier." - -msgid "Enter a valid date." -msgstr "Saisissez une date valide." - -msgid "Enter a valid time." -msgstr "Saisissez une heure valide." - -msgid "Enter a valid date/time." -msgstr "Saisissez une date et une heure valides." - -msgid "Enter a valid duration." -msgstr "Saisissez une durée valide." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "Le nombre de jours doit être entre {min_days} et {max_days}." - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "" -"Aucun fichier n’a été soumis. Vérifiez le type d’encodage du formulaire." - -msgid "No file was submitted." -msgstr "Aucun fichier n’a été soumis." - -msgid "The submitted file is empty." -msgstr "Le fichier soumis est vide." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Assurez-vous que ce nom de fichier comporte au plus %(max)d caractère " -"(actuellement %(length)d)." -msgstr[1] "" -"Assurez-vous que ce nom de fichier comporte au plus %(max)d caractères " -"(actuellement %(length)d)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "Envoyez un fichier ou cochez la case d’effacement, mais pas les deux." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Téléversez une image valide. Le fichier que vous avez transféré n’est pas " -"une image ou bien est corrompu." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "Sélectionnez un choix valide. %(value)s n’en fait pas partie." - -msgid "Enter a list of values." -msgstr "Saisissez une liste de valeurs." - -msgid "Enter a complete value." -msgstr "Saisissez une valeur complète." - -msgid "Enter a valid UUID." -msgstr "Saisissez un UUID valide." - -msgid "Enter a valid JSON." -msgstr "Saisissez du contenu JSON valide." - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr " :" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(champ masqué %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "" -"Les données du formulaire ManagementForm sont manquantes ou ont été " -"manipulées" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Ne soumettez pas plus de %d formulaire." -msgstr[1] "Ne soumettez pas plus de %d formulaires." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "Veuillez soumettre au moins %d formulaire." -msgstr[1] "Veuillez soumettre au moins %d formulaires." - -msgid "Order" -msgstr "Ordre" - -msgid "Delete" -msgstr "Supprimer" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Corrigez les données à double dans %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"Corrigez les données à double dans %(field)s qui doit contenir des valeurs " -"uniques." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Corrigez les données à double dans %(field_name)s qui doit contenir des " -"valeurs uniques pour la partie %(lookup)s de %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "Corrigez les valeurs à double ci-dessous." - -msgid "The inline value did not match the parent instance." -msgstr "La valeur en ligne ne correspond pas à l’instance parente." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" -"Sélectionnez un choix valide. Ce choix ne fait pas partie de ceux " -"disponibles." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "« %(pk)s » n’est pas une valeur correcte." - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" -"La valeur %(datetime)s n’a pas pu être interprétée dans le fuseau horaire " -"%(current_timezone)s ; elle est peut-être ambigüe ou elle n’existe pas." - -msgid "Clear" -msgstr "Effacer" - -msgid "Currently" -msgstr "Actuellement" - -msgid "Change" -msgstr "Modifier" - -msgid "Unknown" -msgstr "Inconnu" - -msgid "Yes" -msgstr "Oui" - -msgid "No" -msgstr "Non" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "oui,non,peut-être" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d octet" -msgstr[1] "%(size)d octets" - -#, python-format -msgid "%s KB" -msgstr "%s Kio" - -#, python-format -msgid "%s MB" -msgstr "%s Mio" - -#, python-format -msgid "%s GB" -msgstr "%s Gio" - -#, python-format -msgid "%s TB" -msgstr "%s Tio" - -#, python-format -msgid "%s PB" -msgstr "%s Pio" - -msgid "p.m." -msgstr "après-midi" - -msgid "a.m." -msgstr "matin" - -msgid "PM" -msgstr "Après-midi" - -msgid "AM" -msgstr "Matin" - -msgid "midnight" -msgstr "minuit" - -msgid "noon" -msgstr "midi" - -msgid "Monday" -msgstr "lundi" - -msgid "Tuesday" -msgstr "mardi" - -msgid "Wednesday" -msgstr "mercredi" - -msgid "Thursday" -msgstr "jeudi" - -msgid "Friday" -msgstr "vendredi" - -msgid "Saturday" -msgstr "samedi" - -msgid "Sunday" -msgstr "dimanche" - -msgid "Mon" -msgstr "lun" - -msgid "Tue" -msgstr "mar" - -msgid "Wed" -msgstr "mer" - -msgid "Thu" -msgstr "jeu" - -msgid "Fri" -msgstr "ven" - -msgid "Sat" -msgstr "sam" - -msgid "Sun" -msgstr "dim" - -msgid "January" -msgstr "janvier" - -msgid "February" -msgstr "février" - -msgid "March" -msgstr "mars" - -msgid "April" -msgstr "avril" - -msgid "May" -msgstr "mai" - -msgid "June" -msgstr "juin" - -msgid "July" -msgstr "juillet" - -msgid "August" -msgstr "août" - -msgid "September" -msgstr "septembre" - -msgid "October" -msgstr "octobre" - -msgid "November" -msgstr "novembre" - -msgid "December" -msgstr "décembre" - -msgid "jan" -msgstr "jan" - -msgid "feb" -msgstr "fév" - -msgid "mar" -msgstr "mar" - -msgid "apr" -msgstr "avr" - -msgid "may" -msgstr "mai" - -msgid "jun" -msgstr "jui" - -msgid "jul" -msgstr "jul" - -msgid "aug" -msgstr "aoû" - -msgid "sep" -msgstr "sep" - -msgid "oct" -msgstr "oct" - -msgid "nov" -msgstr "nov" - -msgid "dec" -msgstr "déc" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "jan." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "fév." - -msgctxt "abbrev. month" -msgid "March" -msgstr "mars" - -msgctxt "abbrev. month" -msgid "April" -msgstr "avr." - -msgctxt "abbrev. month" -msgid "May" -msgstr "mai" - -msgctxt "abbrev. month" -msgid "June" -msgstr "juin" - -msgctxt "abbrev. month" -msgid "July" -msgstr "juil." - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "août" - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "sep." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "oct." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "nov." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "déc." - -msgctxt "alt. month" -msgid "January" -msgstr "Janvier" - -msgctxt "alt. month" -msgid "February" -msgstr "Février" - -msgctxt "alt. month" -msgid "March" -msgstr "Mars" - -msgctxt "alt. month" -msgid "April" -msgstr "Avril" - -msgctxt "alt. month" -msgid "May" -msgstr "Mai" - -msgctxt "alt. month" -msgid "June" -msgstr "Juin" - -msgctxt "alt. month" -msgid "July" -msgstr "Juillet" - -msgctxt "alt. month" -msgid "August" -msgstr "Août" - -msgctxt "alt. month" -msgid "September" -msgstr "Septembre" - -msgctxt "alt. month" -msgid "October" -msgstr "Octobre" - -msgctxt "alt. month" -msgid "November" -msgstr "Novembre" - -msgctxt "alt. month" -msgid "December" -msgstr "Décembre" - -msgid "This is not a valid IPv6 address." -msgstr "Ceci n’est pas une adresse IPv6 valide." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s…" - -msgid "or" -msgstr "ou" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d année" -msgstr[1] "%d années" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d mois" -msgstr[1] "%d mois" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d semaine" -msgstr[1] "%d semaines" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d jour" -msgstr[1] "%d jours" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d heure" -msgstr[1] "%d heures" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d minute" -msgstr[1] "%d minutes" - -msgid "Forbidden" -msgstr "Interdit" - -msgid "CSRF verification failed. Request aborted." -msgstr "La vérification CSRF a échoué. La requête a été interrompue." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" -"Vous voyez ce message parce que ce site HTTPS exige que le navigateur Web " -"envoie un en-tête « Referer », ce qu’il n'a pas fait. Cet en-tête est exigé " -"pour des raisons de sécurité, afin de s’assurer que le navigateur n’ait pas " -"été piraté par un intervenant externe." - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" -"Si vous avez désactivé l’envoi des en-têtes « Referer » par votre " -"navigateur, veuillez les réactiver, au moins pour ce site ou pour les " -"connexions HTTPS, ou encore pour les requêtes de même origine (« same-" -"origin »)." - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" -"Si vous utilisez la balise " -"ou que vous incluez l’en-tête « Referrer-Policy: no-referrer », il est " -"préférable de les enlever. La protection CSRF exige que l’en-tête " -"``Referer`` effectue un contrôle de référant strict. Si vous vous souciez de " -"la confidentialité, utilisez des alternatives comme " -"pour les liens vers des sites tiers." - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Vous voyez ce message parce que ce site exige la présence d’un cookie CSRF " -"lors de l’envoi de formulaires. Ce cookie est nécessaire pour des raisons de " -"sécurité, afin de s’assurer que le navigateur n’ait pas été piraté par un " -"intervenant externe." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" -"Si vous avez désactivé l’envoi des cookies par votre navigateur, veuillez " -"les réactiver au moins pour ce site ou pour les requêtes de même origine (« " -"same-origin »)." - -msgid "More information is available with DEBUG=True." -msgstr "" -"Des informations plus détaillées sont affichées lorsque la variable DEBUG " -"vaut True." - -msgid "No year specified" -msgstr "Aucune année indiquée" - -msgid "Date out of range" -msgstr "Date hors limites" - -msgid "No month specified" -msgstr "Aucun mois indiqué" - -msgid "No day specified" -msgstr "Aucun jour indiqué" - -msgid "No week specified" -msgstr "Aucune semaine indiquée" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "Pas de %(verbose_name_plural)s disponible" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"Pas de %(verbose_name_plural)s disponible dans le futur car %(class_name)s." -"allow_future est faux (False)." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" -"Le format « %(format)s » appliqué à la chaîne date « %(datestr)s » n’est pas " -"valide" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Aucun objet %(verbose_name)s trouvé en réponse à la requête" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" -"La page n’est pas la « dernière », elle ne peut pas non plus être convertie " -"en nombre entier." - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Page non valide (%(page_number)s) : %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "Liste vide et « %(class_name)s.allow_empty » est faux (False)." - -msgid "Directory indexes are not allowed here." -msgstr "Il n’est pas autorisé d’afficher le contenu de ce répertoire." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "« %(path)s » n’existe pas" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Index de %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "Django : le cadriciel Web pour les perfectionnistes sous contrainte." - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"Afficher les notes de publication de " -"Django %(version)s" - -msgid "The install worked successfully! Congratulations!" -msgstr "L’installation s’est déroulée avec succès. Félicitations !" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"Vous voyez cette page parce que votre fichier de réglages contient DEBUG=True et que vous n’avez pas encore " -"configuré d’URL." - -msgid "Django Documentation" -msgstr "Documentation de Django" - -msgid "Topics, references, & how-to’s" -msgstr "Thématiques, références et guides pratiques" - -msgid "Tutorial: A Polling App" -msgstr "Tutoriel : une application de sondage" - -msgid "Get started with Django" -msgstr "Premiers pas avec Django" - -msgid "Django Community" -msgstr "Communauté Django" - -msgid "Connect, get help, or contribute" -msgstr "Se connecter, obtenir de l’aide ou contribuer" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/fr/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/fr/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/fr/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/fr/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 1b46f8d9..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/fr/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/fr/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/fr/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index befd0faa..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/fr/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/fr/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/fr/formats.py deleted file mode 100644 index f24e77f3..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/fr/formats.py +++ /dev/null @@ -1,31 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'j F Y' -TIME_FORMAT = 'H:i' -DATETIME_FORMAT = 'j F Y H:i' -YEAR_MONTH_FORMAT = 'F Y' -MONTH_DAY_FORMAT = 'j F' -SHORT_DATE_FORMAT = 'j N Y' -SHORT_DATETIME_FORMAT = 'j N Y H:i' -FIRST_DAY_OF_WEEK = 1 # Monday - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -DATE_INPUT_FORMATS = [ - '%d/%m/%Y', '%d/%m/%y', # '25/10/2006', '25/10/06' - '%d.%m.%Y', '%d.%m.%y', # Swiss [fr_CH), '25.10.2006', '25.10.06' - # '%d %B %Y', '%d %b %Y', # '25 octobre 2006', '25 oct. 2006' -] -DATETIME_INPUT_FORMATS = [ - '%d/%m/%Y %H:%M:%S', # '25/10/2006 14:30:59' - '%d/%m/%Y %H:%M:%S.%f', # '25/10/2006 14:30:59.000200' - '%d/%m/%Y %H:%M', # '25/10/2006 14:30' - '%d.%m.%Y %H:%M:%S', # Swiss [fr_CH), '25.10.2006 14:30:59' - '%d.%m.%Y %H:%M:%S.%f', # Swiss (fr_CH), '25.10.2006 14:30:59.000200' - '%d.%m.%Y %H:%M', # Swiss (fr_CH), '25.10.2006 14:30' -] -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = '\xa0' # non-breaking space -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/fy/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/fy/LC_MESSAGES/django.mo deleted file mode 100644 index 2eff5df9..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/fy/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/fy/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/fy/LC_MESSAGES/django.po deleted file mode 100644 index 172f2835..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/fy/LC_MESSAGES/django.po +++ /dev/null @@ -1,1218 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Jannis Leidel , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-27 22:40+0200\n" -"PO-Revision-Date: 2019-11-05 00:38+0000\n" -"Last-Translator: Ramiro Morales\n" -"Language-Team: Western Frisian (http://www.transifex.com/django/django/" -"language/fy/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fy\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "Afrikaans" -msgstr "" - -msgid "Arabic" -msgstr "" - -msgid "Asturian" -msgstr "" - -msgid "Azerbaijani" -msgstr "" - -msgid "Bulgarian" -msgstr "" - -msgid "Belarusian" -msgstr "" - -msgid "Bengali" -msgstr "" - -msgid "Breton" -msgstr "" - -msgid "Bosnian" -msgstr "" - -msgid "Catalan" -msgstr "" - -msgid "Czech" -msgstr "" - -msgid "Welsh" -msgstr "" - -msgid "Danish" -msgstr "" - -msgid "German" -msgstr "" - -msgid "Lower Sorbian" -msgstr "" - -msgid "Greek" -msgstr "" - -msgid "English" -msgstr "" - -msgid "Australian English" -msgstr "" - -msgid "British English" -msgstr "" - -msgid "Esperanto" -msgstr "" - -msgid "Spanish" -msgstr "" - -msgid "Argentinian Spanish" -msgstr "" - -msgid "Colombian Spanish" -msgstr "" - -msgid "Mexican Spanish" -msgstr "" - -msgid "Nicaraguan Spanish" -msgstr "" - -msgid "Venezuelan Spanish" -msgstr "" - -msgid "Estonian" -msgstr "" - -msgid "Basque" -msgstr "" - -msgid "Persian" -msgstr "" - -msgid "Finnish" -msgstr "" - -msgid "French" -msgstr "" - -msgid "Frisian" -msgstr "" - -msgid "Irish" -msgstr "" - -msgid "Scottish Gaelic" -msgstr "" - -msgid "Galician" -msgstr "" - -msgid "Hebrew" -msgstr "" - -msgid "Hindi" -msgstr "" - -msgid "Croatian" -msgstr "" - -msgid "Upper Sorbian" -msgstr "" - -msgid "Hungarian" -msgstr "" - -msgid "Armenian" -msgstr "" - -msgid "Interlingua" -msgstr "" - -msgid "Indonesian" -msgstr "" - -msgid "Ido" -msgstr "" - -msgid "Icelandic" -msgstr "" - -msgid "Italian" -msgstr "" - -msgid "Japanese" -msgstr "" - -msgid "Georgian" -msgstr "" - -msgid "Kabyle" -msgstr "" - -msgid "Kazakh" -msgstr "" - -msgid "Khmer" -msgstr "" - -msgid "Kannada" -msgstr "" - -msgid "Korean" -msgstr "" - -msgid "Luxembourgish" -msgstr "" - -msgid "Lithuanian" -msgstr "" - -msgid "Latvian" -msgstr "" - -msgid "Macedonian" -msgstr "" - -msgid "Malayalam" -msgstr "" - -msgid "Mongolian" -msgstr "" - -msgid "Marathi" -msgstr "" - -msgid "Burmese" -msgstr "" - -msgid "Norwegian Bokmål" -msgstr "" - -msgid "Nepali" -msgstr "" - -msgid "Dutch" -msgstr "" - -msgid "Norwegian Nynorsk" -msgstr "" - -msgid "Ossetic" -msgstr "" - -msgid "Punjabi" -msgstr "" - -msgid "Polish" -msgstr "" - -msgid "Portuguese" -msgstr "" - -msgid "Brazilian Portuguese" -msgstr "" - -msgid "Romanian" -msgstr "" - -msgid "Russian" -msgstr "" - -msgid "Slovak" -msgstr "" - -msgid "Slovenian" -msgstr "" - -msgid "Albanian" -msgstr "" - -msgid "Serbian" -msgstr "" - -msgid "Serbian Latin" -msgstr "" - -msgid "Swedish" -msgstr "" - -msgid "Swahili" -msgstr "" - -msgid "Tamil" -msgstr "" - -msgid "Telugu" -msgstr "" - -msgid "Thai" -msgstr "" - -msgid "Turkish" -msgstr "" - -msgid "Tatar" -msgstr "" - -msgid "Udmurt" -msgstr "" - -msgid "Ukrainian" -msgstr "" - -msgid "Urdu" -msgstr "" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "" - -msgid "Simplified Chinese" -msgstr "" - -msgid "Traditional Chinese" -msgstr "" - -msgid "Messages" -msgstr "" - -msgid "Site Maps" -msgstr "" - -msgid "Static Files" -msgstr "" - -msgid "Syndication" -msgstr "" - -msgid "That page number is not an integer" -msgstr "" - -msgid "That page number is less than 1" -msgstr "" - -msgid "That page contains no results" -msgstr "" - -msgid "Enter a valid value." -msgstr "Jou in falide wearde." - -msgid "Enter a valid URL." -msgstr "Jou in falide URL." - -msgid "Enter a valid integer." -msgstr "" - -msgid "Enter a valid email address." -msgstr "" - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "Jou in falide IPv4-adres." - -msgid "Enter a valid IPv6 address." -msgstr "" - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "" - -msgid "Enter only digits separated by commas." -msgstr "Jou allinnich sifers, skieden troch komma's." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "" - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "" - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" - -msgid "Enter a number." -msgstr "Jou in nûmer." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "" - -msgid "and" -msgstr "" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "" - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "" - -msgid "This field cannot be null." -msgstr "Dit fjild kin net leech wêze." - -msgid "This field cannot be blank." -msgstr "" - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s mei dit %(field_label)s bestiet al." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "" - -msgid "Comma-separated integers" -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "" - -msgid "Email address" -msgstr "" - -msgid "File path" -msgstr "" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "" - -msgid "Big (8 byte) integer" -msgstr "" - -msgid "IPv4 address" -msgstr "" - -msgid "IP address" -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "" - -msgid "Positive integer" -msgstr "" - -msgid "Positive small integer" -msgstr "" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "" - -msgid "Small integer" -msgstr "" - -msgid "Text" -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "" - -msgid "URL" -msgstr "" - -msgid "Raw binary data" -msgstr "" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "" - -msgid "File" -msgstr "" - -msgid "Image" -msgstr "" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "" - -msgid "Foreign Key (type determined by related field)" -msgstr "" - -msgid "One-to-one relationship" -msgstr "" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "" - -msgid "Many-to-many relationship" -msgstr "" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr "" - -msgid "This field is required." -msgstr "Dit fjild is fereaske." - -msgid "Enter a whole number." -msgstr "Jou in folslein nûmer." - -msgid "Enter a valid date." -msgstr "Jou in falide datum." - -msgid "Enter a valid time." -msgstr "Jou in falide tiid." - -msgid "Enter a valid date/time." -msgstr "Jou in falide datum.tiid." - -msgid "Enter a valid duration." -msgstr "" - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "" - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "" -"Der is gjin bestân yntsjinne. Kontrolearje it kodearringstype op it " -"formulier." - -msgid "No file was submitted." -msgstr "Der is gjin bestân yntsjinne." - -msgid "The submitted file is empty." -msgstr "It yntsjinne bestân is leech." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -msgstr[1] "" - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Laad in falide ôfbylding op. It bestân dy't jo opladen hawwe wie net in " -"ôfbylding of in skansearre ôfbylding." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "" -"Selektearje in falide kar. %(value)s is net ien fan de beskikbere karren." - -msgid "Enter a list of values." -msgstr "Jou in list mei weardes." - -msgid "Enter a complete value." -msgstr "" - -msgid "Enter a valid UUID." -msgstr "" - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr "" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "" -msgstr[1] "" - -msgid "Order" -msgstr "Oarder" - -msgid "Delete" -msgstr "" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "" - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" - -msgid "Please correct the duplicate values below." -msgstr "" - -msgid "The inline value did not match the parent instance." -msgstr "" - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" -"Selektearje in falide kar. Dizze kar is net ien fan de beskikbere karren." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "" - -msgid "Currently" -msgstr "" - -msgid "Change" -msgstr "" - -msgid "Unknown" -msgstr "" - -msgid "Yes" -msgstr "" - -msgid "No" -msgstr "" - -msgid "Year" -msgstr "" - -msgid "Month" -msgstr "" - -msgid "Day" -msgstr "" - -msgid "yes,no,maybe" -msgstr "" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%s KB" -msgstr "" - -#, python-format -msgid "%s MB" -msgstr "" - -#, python-format -msgid "%s GB" -msgstr "" - -#, python-format -msgid "%s TB" -msgstr "" - -#, python-format -msgid "%s PB" -msgstr "" - -msgid "p.m." -msgstr "" - -msgid "a.m." -msgstr "" - -msgid "PM" -msgstr "" - -msgid "AM" -msgstr "" - -msgid "midnight" -msgstr "" - -msgid "noon" -msgstr "" - -msgid "Monday" -msgstr "" - -msgid "Tuesday" -msgstr "" - -msgid "Wednesday" -msgstr "" - -msgid "Thursday" -msgstr "" - -msgid "Friday" -msgstr "" - -msgid "Saturday" -msgstr "" - -msgid "Sunday" -msgstr "" - -msgid "Mon" -msgstr "" - -msgid "Tue" -msgstr "" - -msgid "Wed" -msgstr "" - -msgid "Thu" -msgstr "" - -msgid "Fri" -msgstr "" - -msgid "Sat" -msgstr "" - -msgid "Sun" -msgstr "" - -msgid "January" -msgstr "" - -msgid "February" -msgstr "" - -msgid "March" -msgstr "" - -msgid "April" -msgstr "" - -msgid "May" -msgstr "" - -msgid "June" -msgstr "" - -msgid "July" -msgstr "" - -msgid "August" -msgstr "" - -msgid "September" -msgstr "" - -msgid "October" -msgstr "" - -msgid "November" -msgstr "" - -msgid "December" -msgstr "" - -msgid "jan" -msgstr "" - -msgid "feb" -msgstr "" - -msgid "mar" -msgstr "" - -msgid "apr" -msgstr "" - -msgid "may" -msgstr "" - -msgid "jun" -msgstr "" - -msgid "jul" -msgstr "" - -msgid "aug" -msgstr "" - -msgid "sep" -msgstr "" - -msgid "oct" -msgstr "" - -msgid "nov" -msgstr "" - -msgid "dec" -msgstr "" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "" - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "" - -msgctxt "abbrev. month" -msgid "March" -msgstr "" - -msgctxt "abbrev. month" -msgid "April" -msgstr "" - -msgctxt "abbrev. month" -msgid "May" -msgstr "" - -msgctxt "abbrev. month" -msgid "June" -msgstr "" - -msgctxt "abbrev. month" -msgid "July" -msgstr "" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "" - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "" - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "" - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "" - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "" - -msgctxt "alt. month" -msgid "January" -msgstr "" - -msgctxt "alt. month" -msgid "February" -msgstr "" - -msgctxt "alt. month" -msgid "March" -msgstr "" - -msgctxt "alt. month" -msgid "April" -msgstr "" - -msgctxt "alt. month" -msgid "May" -msgstr "" - -msgctxt "alt. month" -msgid "June" -msgstr "" - -msgctxt "alt. month" -msgid "July" -msgstr "" - -msgctxt "alt. month" -msgid "August" -msgstr "" - -msgctxt "alt. month" -msgid "September" -msgstr "" - -msgctxt "alt. month" -msgid "October" -msgstr "" - -msgctxt "alt. month" -msgid "November" -msgstr "" - -msgctxt "alt. month" -msgid "December" -msgstr "" - -msgid "This is not a valid IPv6 address." -msgstr "" - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "" - -msgid "or" -msgstr "" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr "" - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "" -msgstr[1] "" - -msgid "0 minutes" -msgstr "" - -msgid "Forbidden" -msgstr "" - -msgid "CSRF verification failed. Request aborted." -msgstr "" - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "" - -msgid "No year specified" -msgstr "" - -msgid "Date out of range" -msgstr "" - -msgid "No month specified" -msgstr "" - -msgid "No day specified" -msgstr "" - -msgid "No week specified" -msgstr "" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "" - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" - -msgid "The install worked successfully! Congratulations!" -msgstr "" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" - -msgid "Django Documentation" -msgstr "" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "" - -msgid "Get started with Django" -msgstr "" - -msgid "Django Community" -msgstr "" - -msgid "Connect, get help, or contribute" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/fy/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/fy/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/fy/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/fy/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index d4faea74..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/fy/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/fy/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/fy/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 0cff155e..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/fy/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/fy/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/fy/formats.py deleted file mode 100644 index 3825be44..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/fy/formats.py +++ /dev/null @@ -1,21 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -# DATE_FORMAT = -# TIME_FORMAT = -# DATETIME_FORMAT = -# YEAR_MONTH_FORMAT = -# MONTH_DAY_FORMAT = -# SHORT_DATE_FORMAT = -# SHORT_DATETIME_FORMAT = -# FIRST_DAY_OF_WEEK = - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -# DATE_INPUT_FORMATS = -# TIME_INPUT_FORMATS = -# DATETIME_INPUT_FORMATS = -# DECIMAL_SEPARATOR = -# THOUSAND_SEPARATOR = -# NUMBER_GROUPING = diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ga/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/ga/LC_MESSAGES/django.mo deleted file mode 100644 index c2a8a88d..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/ga/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ga/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/ga/LC_MESSAGES/django.po deleted file mode 100644 index 2b1b5289..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/ga/LC_MESSAGES/django.po +++ /dev/null @@ -1,1293 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Claude Paroz , 2020 -# Jannis Leidel , 2011 -# John Moylan , 2013 -# John Stafford , 2013 -# Seán de Búrca , 2011 -# Luke Blaney , 2019 -# Michael Thornhill , 2011-2012,2015 -# Séamus Ó Cúile , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-07-14 21:42+0000\n" -"Last-Translator: Transifex Bot <>\n" -"Language-Team: Irish (http://www.transifex.com/django/django/language/ga/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ga\n" -"Plural-Forms: nplurals=5; plural=(n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : " -"4);\n" - -msgid "Afrikaans" -msgstr "Afracáinis" - -msgid "Arabic" -msgstr "Araibis" - -msgid "Algerian Arabic" -msgstr "" - -msgid "Asturian" -msgstr "Astúiris" - -msgid "Azerbaijani" -msgstr "Asarbaiseáinis" - -msgid "Bulgarian" -msgstr "Bulgáiris" - -msgid "Belarusian" -msgstr "Bealarúisis" - -msgid "Bengali" -msgstr "Beangáilis" - -msgid "Breton" -msgstr "Briotánach" - -msgid "Bosnian" -msgstr "Boisnis" - -msgid "Catalan" -msgstr "Catalóinis" - -msgid "Czech" -msgstr "Seicis" - -msgid "Welsh" -msgstr "Breatnais" - -msgid "Danish" -msgstr "Danmhairgis " - -msgid "German" -msgstr "Gearmáinis" - -msgid "Lower Sorbian" -msgstr "" - -msgid "Greek" -msgstr "Gréigis" - -msgid "English" -msgstr "Béarla" - -msgid "Australian English" -msgstr "Béarla Astrálach" - -msgid "British English" -msgstr "Béarla na Breataine" - -msgid "Esperanto" -msgstr "Esperanto" - -msgid "Spanish" -msgstr "Spáinnis" - -msgid "Argentinian Spanish" -msgstr "Spáinnis na hAirgintíne" - -msgid "Colombian Spanish" -msgstr "" - -msgid "Mexican Spanish" -msgstr "Spáinnis Mheicsiceo " - -msgid "Nicaraguan Spanish" -msgstr "Spáinnis Nicearagua" - -msgid "Venezuelan Spanish" -msgstr "Spáinnis Veiniséalach" - -msgid "Estonian" -msgstr "Eastóinis" - -msgid "Basque" -msgstr "Bascais" - -msgid "Persian" -msgstr "Peirsis" - -msgid "Finnish" -msgstr "Fionlainnis" - -msgid "French" -msgstr "Fraincis" - -msgid "Frisian" -msgstr "Freaslainnis" - -msgid "Irish" -msgstr "Gaeilge" - -msgid "Scottish Gaelic" -msgstr "Gaeilge na hAlban" - -msgid "Galician" -msgstr "Gailísis" - -msgid "Hebrew" -msgstr "Eabhrais" - -msgid "Hindi" -msgstr "Hiondúis" - -msgid "Croatian" -msgstr "Cróitis" - -msgid "Upper Sorbian" -msgstr "" - -msgid "Hungarian" -msgstr "Ungáiris" - -msgid "Armenian" -msgstr "" - -msgid "Interlingua" -msgstr "Interlingua" - -msgid "Indonesian" -msgstr "Indinéisis" - -msgid "Igbo" -msgstr "" - -msgid "Ido" -msgstr "Ido" - -msgid "Icelandic" -msgstr "Íoslainnis" - -msgid "Italian" -msgstr "Iodáilis" - -msgid "Japanese" -msgstr "Seapáinis" - -msgid "Georgian" -msgstr "Seoirsis" - -msgid "Kabyle" -msgstr "" - -msgid "Kazakh" -msgstr "Casaicis" - -msgid "Khmer" -msgstr "Ciméiris" - -msgid "Kannada" -msgstr "Cannadais" - -msgid "Korean" -msgstr "Cóiréis" - -msgid "Kyrgyz" -msgstr "" - -msgid "Luxembourgish" -msgstr "Lucsamburgach" - -msgid "Lithuanian" -msgstr "Liotuáinis" - -msgid "Latvian" -msgstr "Laitvis" - -msgid "Macedonian" -msgstr "Macadóinis" - -msgid "Malayalam" -msgstr "Mailéalaimis" - -msgid "Mongolian" -msgstr "Mongóilis" - -msgid "Marathi" -msgstr "Maraitis" - -msgid "Burmese" -msgstr "Burmais" - -msgid "Norwegian Bokmål" -msgstr "" - -msgid "Nepali" -msgstr "Neipeailis" - -msgid "Dutch" -msgstr "Ollainnis" - -msgid "Norwegian Nynorsk" -msgstr "Ioruais Nynorsk" - -msgid "Ossetic" -msgstr "Oiséitis" - -msgid "Punjabi" -msgstr "Puinseáibis" - -msgid "Polish" -msgstr "Polainnis" - -msgid "Portuguese" -msgstr "Portaingéilis" - -msgid "Brazilian Portuguese" -msgstr "Portaingéilis na Brasaíle" - -msgid "Romanian" -msgstr "Rómáinis" - -msgid "Russian" -msgstr "Rúisis" - -msgid "Slovak" -msgstr "Slóvaicis" - -msgid "Slovenian" -msgstr "Slóivéinis" - -msgid "Albanian" -msgstr "Albáinis" - -msgid "Serbian" -msgstr "Seirbis" - -msgid "Serbian Latin" -msgstr "Seirbis (Laidineach)" - -msgid "Swedish" -msgstr "Sualainnis" - -msgid "Swahili" -msgstr "" - -msgid "Tamil" -msgstr "Tamailis" - -msgid "Telugu" -msgstr "Teileagúis" - -msgid "Tajik" -msgstr "" - -msgid "Thai" -msgstr "Téalainnis" - -msgid "Turkmen" -msgstr "" - -msgid "Turkish" -msgstr "Tuircis" - -msgid "Tatar" -msgstr "" - -msgid "Udmurt" -msgstr "" - -msgid "Ukrainian" -msgstr "Úcráinis" - -msgid "Urdu" -msgstr "Urdais" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "Vítneamais" - -msgid "Simplified Chinese" -msgstr "Sínis Simplithe" - -msgid "Traditional Chinese" -msgstr "Sínis Traidisiúnta" - -msgid "Messages" -msgstr "Teachtaireachtaí" - -msgid "Site Maps" -msgstr "" - -msgid "Static Files" -msgstr "Comhaid Statach" - -msgid "Syndication" -msgstr "Sindeacáitiú" - -msgid "That page number is not an integer" -msgstr "" - -msgid "That page number is less than 1" -msgstr "" - -msgid "That page contains no results" -msgstr "" - -msgid "Enter a valid value." -msgstr "Iontráil luach bailí" - -msgid "Enter a valid URL." -msgstr "Iontráil URL bailí." - -msgid "Enter a valid integer." -msgstr "" - -msgid "Enter a valid email address." -msgstr "" - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "Iontráil seoladh IPv4 bailí." - -msgid "Enter a valid IPv6 address." -msgstr "Cuir seoladh bailí IPv6 isteach." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Cuir seoladh bailí IPv4 nó IPv6 isteach." - -msgid "Enter only digits separated by commas." -msgstr "Ná hiontráil ach digití atá deighilte le camóga." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" -"Cinntigh go bhfuil an luach seo %(limit_value)s (tá sé %(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "" -"Cinntigh go bhfuil an luach seo níos lú ná nó cothrom le %(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "" -"Cinntigh go bhfuil an luach seo níos mó ná nó cothrom le %(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" -msgstr[4] "" - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" -msgstr[4] "" - -msgid "Enter a number." -msgstr "Iontráil uimhir." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" -msgstr[4] "" - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" -msgstr[4] "" - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" -msgstr[4] "" - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "" - -msgid "and" -msgstr "agus" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "" - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "" - -msgid "This field cannot be null." -msgstr "Ní cheadaítear luach nialasach sa réimse seo." - -msgid "This field cannot be blank." -msgstr "Ní cheadaítear luach nialasach sa réimse seo." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "Tá %(model_name)s leis an %(field_label)s seo ann cheana." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Réimse de Cineál: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "Boole" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Teaghrán (suas go %(max_length)s)" - -msgid "Comma-separated integers" -msgstr "Slánuimhireacha camóg-scartha" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "Dáta (gan am)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "Dáta (le am)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "Uimhir deachúlach" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "Fad" - -msgid "Email address" -msgstr "R-phost" - -msgid "File path" -msgstr "Conair comhaid" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "Snámhphointe" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "Slánuimhir" - -msgid "Big (8 byte) integer" -msgstr "Mór (8 byte) slánuimhi" - -msgid "IPv4 address" -msgstr "Seoladh IPv4" - -msgid "IP address" -msgstr "Seoladh IP" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "Boole (Fíor, Bréagach nó Dada)" - -msgid "Positive big integer" -msgstr "" - -msgid "Positive integer" -msgstr "Slánuimhir dearfach" - -msgid "Positive small integer" -msgstr "Slánuimhir beag dearfach" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Slug (suas go %(max_length)s)" - -msgid "Small integer" -msgstr "Slánuimhir beag" - -msgid "Text" -msgstr "Téacs" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "Am" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "" - -msgid "File" -msgstr "Comhaid" - -msgid "Image" -msgstr "Íomhá" - -msgid "A JSON object" -msgstr "" - -msgid "Value must be valid JSON." -msgstr "" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "" - -msgid "Foreign Key (type determined by related field)" -msgstr "Eochair Eachtracha (cineál a chinnfear de réir réimse a bhaineann)" - -msgid "One-to-one relationship" -msgstr "Duine-le-duine caidreamh" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "" - -msgid "Many-to-many relationship" -msgstr "Go leor le go leor caidreamh" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Tá an réimse seo riachtanach." - -msgid "Enter a whole number." -msgstr "Iontráil slánuimhir." - -msgid "Enter a valid date." -msgstr "Iontráil dáta bailí." - -msgid "Enter a valid time." -msgstr "Iontráil am bailí." - -msgid "Enter a valid date/time." -msgstr "Iontráil dáta/am bailí." - -msgid "Enter a valid duration." -msgstr "" - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "" - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Níor seoladh comhad. Deimhnigh cineál an ionchódaithe ar an bhfoirm." - -msgid "No file was submitted." -msgstr "Níor seoladh aon chomhad." - -msgid "The submitted file is empty." -msgstr "Tá an comhad a seoladh folamh." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" -msgstr[4] "" - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" -"Cuir ceachtar isteach comhad nó an ticbhosca soiléir, ní féidir an dá " -"sheiceáil." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Uasluchtaigh íomhá bhailí. Níorbh íomhá é an comhad a d'uasluchtaigh tú, nó " -"b'íomhá thruaillithe é." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "Déan rogha bhailí. Ní ceann de na roghanna é %(value)s." - -msgid "Enter a list of values." -msgstr "Cuir liosta de luachanna isteach." - -msgid "Enter a complete value." -msgstr "" - -msgid "Enter a valid UUID." -msgstr "" - -msgid "Enter a valid JSON." -msgstr "" - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" -msgstr[4] "" - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" -msgstr[4] "" - -msgid "Order" -msgstr "Ord" - -msgid "Delete" -msgstr "Scrios" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Le do thoil ceartaigh an sonra dúbail le %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"Ceart le do thoil na sonraí a dhúbailt le haghaidh %(field)s, chaithfidh a " -"bheith uathúil." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Ceart le do thoil na sonraí a dhúbailt le haghaidh %(field_name)s ní mór a " -"bheith uaithúil le haghaidh an %(lookup)s i %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "Le do thoil ceartaigh na luachanna dúbail thíos." - -msgid "The inline value did not match the parent instance." -msgstr "" - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "Déan rogha bhailí. Ní ceann de na roghanna é do roghasa." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "Glan" - -msgid "Currently" -msgstr "Faoi láthair" - -msgid "Change" -msgstr "Athraigh" - -msgid "Unknown" -msgstr "Anaithnid" - -msgid "Yes" -msgstr "Tá" - -msgid "No" -msgstr "Níl" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "tá,níl,b'fhéidir" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d bheart" -msgstr[1] "%(size)d bheart" -msgstr[2] "%(size)d bheart" -msgstr[3] "%(size)d mbeart" -msgstr[4] "%(size)d beart" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "i.n." - -msgid "a.m." -msgstr "r.n." - -msgid "PM" -msgstr "IN" - -msgid "AM" -msgstr "RN" - -msgid "midnight" -msgstr "meán oíche" - -msgid "noon" -msgstr "nóin" - -msgid "Monday" -msgstr "Dé Luain" - -msgid "Tuesday" -msgstr "Dé Máirt" - -msgid "Wednesday" -msgstr "Dé Céadaoin" - -msgid "Thursday" -msgstr "Déardaoin" - -msgid "Friday" -msgstr "Dé hAoine" - -msgid "Saturday" -msgstr "Dé Sathairn" - -msgid "Sunday" -msgstr "Dé Domhnaigh" - -msgid "Mon" -msgstr "L" - -msgid "Tue" -msgstr "M" - -msgid "Wed" -msgstr "C" - -msgid "Thu" -msgstr "D" - -msgid "Fri" -msgstr "A" - -msgid "Sat" -msgstr "S" - -msgid "Sun" -msgstr "D" - -msgid "January" -msgstr "Eanáir" - -msgid "February" -msgstr "Feabhra" - -msgid "March" -msgstr "Márta" - -msgid "April" -msgstr "Aibreán" - -msgid "May" -msgstr "Bealtaine" - -msgid "June" -msgstr "Meitheamh" - -msgid "July" -msgstr "Iúil" - -msgid "August" -msgstr "Lúnasa" - -msgid "September" -msgstr "Meán Fómhair" - -msgid "October" -msgstr "Deireadh Fómhair" - -msgid "November" -msgstr "Samhain" - -msgid "December" -msgstr "Nollaig" - -msgid "jan" -msgstr "ean" - -msgid "feb" -msgstr "feabh" - -msgid "mar" -msgstr "márta" - -msgid "apr" -msgstr "aib" - -msgid "may" -msgstr "beal" - -msgid "jun" -msgstr "meith" - -msgid "jul" -msgstr "iúil" - -msgid "aug" -msgstr "lún" - -msgid "sep" -msgstr "mfómh" - -msgid "oct" -msgstr "dfómh" - -msgid "nov" -msgstr "samh" - -msgid "dec" -msgstr "noll" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Ean." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Feabh." - -msgctxt "abbrev. month" -msgid "March" -msgstr "Márta" - -msgctxt "abbrev. month" -msgid "April" -msgstr "Aib." - -msgctxt "abbrev. month" -msgid "May" -msgstr "Beal." - -msgctxt "abbrev. month" -msgid "June" -msgstr "Meith." - -msgctxt "abbrev. month" -msgid "July" -msgstr "Iúil" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Lún." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "MFómh." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "DFómh." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Samh." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Noll." - -msgctxt "alt. month" -msgid "January" -msgstr "Mí Eanáir" - -msgctxt "alt. month" -msgid "February" -msgstr "Mí Feabhra" - -msgctxt "alt. month" -msgid "March" -msgstr "Mí na Márta" - -msgctxt "alt. month" -msgid "April" -msgstr "Mí Aibreáin" - -msgctxt "alt. month" -msgid "May" -msgstr "Mí na Bealtaine" - -msgctxt "alt. month" -msgid "June" -msgstr "Mí an Mheithimh" - -msgctxt "alt. month" -msgid "July" -msgstr "Mí Iúil" - -msgctxt "alt. month" -msgid "August" -msgstr "Mí Lúnasa" - -msgctxt "alt. month" -msgid "September" -msgstr "Mí Mheán Fómhair" - -msgctxt "alt. month" -msgid "October" -msgstr "Mí Dheireadh Fómhair" - -msgctxt "alt. month" -msgid "November" -msgstr "Mí na Samhna" - -msgctxt "alt. month" -msgid "December" -msgstr "Mí na Nollag" - -msgid "This is not a valid IPv6 address." -msgstr "" - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "" - -msgid "or" -msgstr "nó" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" -msgstr[4] "" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" -msgstr[4] "" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" -msgstr[4] "" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" -msgstr[4] "" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" -msgstr[4] "" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d nóiméad" -msgstr[1] "%d nóiméad" -msgstr[2] "%d nóiméad" -msgstr[3] "%d nóiméad" -msgstr[4] "%d nóiméad" - -msgid "Forbidden" -msgstr "Toirmiscthe" - -msgid "CSRF verification failed. Request aborted." -msgstr "" - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "Tá tuilleadh eolais ar fáil le DEBUG=True." - -msgid "No year specified" -msgstr "Bliain gan sonrú" - -msgid "Date out of range" -msgstr "" - -msgid "No month specified" -msgstr "Mí gan sonrú" - -msgid "No day specified" -msgstr "Lá gan sonrú" - -msgid "No week specified" -msgstr "Seachtain gan sonrú" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "Gan %(verbose_name_plural)s ar fáil" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"Níl %(verbose_name_plural)s sa todhchaí ar fáil mar tá %(class_name)s." -"allow_future Bréagach." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Níl bhfuarthas %(verbose_name)s le hadhaigh an iarratas" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Leathanach neamhbhailí (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "Níl innéacsanna chomhadlann cheadaítear anseo." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Innéacs de %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" - -msgid "The install worked successfully! Congratulations!" -msgstr "" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" - -msgid "Django Documentation" -msgstr "" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "" - -msgid "Get started with Django" -msgstr "Tosaigh le Django" - -msgid "Django Community" -msgstr "" - -msgid "Connect, get help, or contribute" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ga/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/ga/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ga/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/ga/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index f067c48d..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/ga/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ga/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/ga/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index b5dfc6dc..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/ga/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ga/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/ga/formats.py deleted file mode 100644 index eb3614ab..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/ga/formats.py +++ /dev/null @@ -1,21 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'j F Y' -TIME_FORMAT = 'H:i' -# DATETIME_FORMAT = -# YEAR_MONTH_FORMAT = -MONTH_DAY_FORMAT = 'j F' -SHORT_DATE_FORMAT = 'j M Y' -# SHORT_DATETIME_FORMAT = -# FIRST_DAY_OF_WEEK = - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -# DATE_INPUT_FORMATS = -# TIME_INPUT_FORMATS = -# DATETIME_INPUT_FORMATS = -DECIMAL_SEPARATOR = '.' -THOUSAND_SEPARATOR = ',' -# NUMBER_GROUPING = diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/gd/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/gd/LC_MESSAGES/django.mo deleted file mode 100644 index 8497b252..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/gd/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/gd/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/gd/LC_MESSAGES/django.po deleted file mode 100644 index 2b8feebf..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/gd/LC_MESSAGES/django.po +++ /dev/null @@ -1,1359 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Michael Bauer, 2014 -# GunChleoc, 2015-2017 -# GunChleoc, 2015 -# GunChleoc, 2014-2015 -# Michael Bauer, 2014 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-27 22:40+0200\n" -"PO-Revision-Date: 2019-12-13 12:46+0000\n" -"Last-Translator: GunChleoc\n" -"Language-Team: Gaelic, Scottish (http://www.transifex.com/django/django/" -"language/gd/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: gd\n" -"Plural-Forms: nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : " -"(n > 2 && n < 20) ? 2 : 3;\n" - -msgid "Afrikaans" -msgstr "Afraganais" - -msgid "Arabic" -msgstr "Arabais" - -msgid "Asturian" -msgstr "Astùrais" - -msgid "Azerbaijani" -msgstr "Asarbaideànais" - -msgid "Bulgarian" -msgstr "Bulgarais" - -msgid "Belarusian" -msgstr "Bealaruisis" - -msgid "Bengali" -msgstr "Beangailis" - -msgid "Breton" -msgstr "Breatnais" - -msgid "Bosnian" -msgstr "Bosnais" - -msgid "Catalan" -msgstr "Catalanais" - -msgid "Czech" -msgstr "Seacais" - -msgid "Welsh" -msgstr "Cuimris" - -msgid "Danish" -msgstr "Danmhairgis" - -msgid "German" -msgstr "Gearmailtis" - -msgid "Lower Sorbian" -msgstr "Sòrbais Ìochdarach" - -msgid "Greek" -msgstr "Greugais" - -msgid "English" -msgstr "Beurla" - -msgid "Australian English" -msgstr "Beurla Astràilia" - -msgid "British English" -msgstr "Beurla Bhreatainn" - -msgid "Esperanto" -msgstr "Esperanto" - -msgid "Spanish" -msgstr "Spàinntis" - -msgid "Argentinian Spanish" -msgstr "Spàinntis na h-Argantaine" - -msgid "Colombian Spanish" -msgstr "Spàinntis Choloimbia" - -msgid "Mexican Spanish" -msgstr "Spàinntis Mheagsagach" - -msgid "Nicaraguan Spanish" -msgstr "Spàinntis Niocaragua" - -msgid "Venezuelan Spanish" -msgstr "Spàinntis na Bheiniseala" - -msgid "Estonian" -msgstr "Eastoinis" - -msgid "Basque" -msgstr "Basgais" - -msgid "Persian" -msgstr "Farsaidh" - -msgid "Finnish" -msgstr "Fionnlannais" - -msgid "French" -msgstr "Fraingis" - -msgid "Frisian" -msgstr "Frìsis" - -msgid "Irish" -msgstr "Gaeilge" - -msgid "Scottish Gaelic" -msgstr "Gàidhlig" - -msgid "Galician" -msgstr "Gailìsis" - -msgid "Hebrew" -msgstr "Eabhra" - -msgid "Hindi" -msgstr "Hindis" - -msgid "Croatian" -msgstr "Cròthaisis" - -msgid "Upper Sorbian" -msgstr "Sòrbais Uachdarach" - -msgid "Hungarian" -msgstr "Ungairis" - -msgid "Armenian" -msgstr "Airmeinis" - -msgid "Interlingua" -msgstr "Interlingua" - -msgid "Indonesian" -msgstr "Innd-Innsis" - -msgid "Ido" -msgstr "Ido" - -msgid "Icelandic" -msgstr "Innis Tìlis" - -msgid "Italian" -msgstr "Eadailtis" - -msgid "Japanese" -msgstr "Seapanais" - -msgid "Georgian" -msgstr "Cairtbheilis" - -msgid "Kabyle" -msgstr "Kabyle" - -msgid "Kazakh" -msgstr "Casachais" - -msgid "Khmer" -msgstr "Cmèar" - -msgid "Kannada" -msgstr "Kannada" - -msgid "Korean" -msgstr "Coirèanais" - -msgid "Luxembourgish" -msgstr "Lugsamburgais" - -msgid "Lithuanian" -msgstr "Liotuainis" - -msgid "Latvian" -msgstr "Laitbheis" - -msgid "Macedonian" -msgstr "Masadonais" - -msgid "Malayalam" -msgstr "Malayalam" - -msgid "Mongolian" -msgstr "Mongolais" - -msgid "Marathi" -msgstr "Marathi" - -msgid "Burmese" -msgstr "Burmais" - -msgid "Norwegian Bokmål" -msgstr "Nirribhis (Bokmål)" - -msgid "Nepali" -msgstr "Neapàlais" - -msgid "Dutch" -msgstr "Duitsis" - -msgid "Norwegian Nynorsk" -msgstr "Nirribhis (Nynorsk)" - -msgid "Ossetic" -msgstr "Ossetic" - -msgid "Punjabi" -msgstr "Panjabi" - -msgid "Polish" -msgstr "Pòlainnis" - -msgid "Portuguese" -msgstr "Portagailis" - -msgid "Brazilian Portuguese" -msgstr "Portagailis Bhraisileach" - -msgid "Romanian" -msgstr "Romàinis" - -msgid "Russian" -msgstr "Ruisis" - -msgid "Slovak" -msgstr "Slòbhacais" - -msgid "Slovenian" -msgstr "Slòbhainis" - -msgid "Albanian" -msgstr "Albàinis" - -msgid "Serbian" -msgstr "Sèirbis" - -msgid "Serbian Latin" -msgstr "Sèirbis (Laideann)" - -msgid "Swedish" -msgstr "Suainis" - -msgid "Swahili" -msgstr "Kiswahili" - -msgid "Tamil" -msgstr "Taimilis" - -msgid "Telugu" -msgstr "Telugu" - -msgid "Thai" -msgstr "Tàidh" - -msgid "Turkish" -msgstr "Turcais" - -msgid "Tatar" -msgstr "Tatarais" - -msgid "Udmurt" -msgstr "Udmurt" - -msgid "Ukrainian" -msgstr "Ucràinis" - -msgid "Urdu" -msgstr "Ùrdu" - -msgid "Uzbek" -msgstr "Usbagais" - -msgid "Vietnamese" -msgstr "Bhiet-Namais" - -msgid "Simplified Chinese" -msgstr "Sìnis Shimplichte" - -msgid "Traditional Chinese" -msgstr "Sìnis Thradaiseanta" - -msgid "Messages" -msgstr "Teachdaireachdan" - -msgid "Site Maps" -msgstr "Mapaichean-làraich" - -msgid "Static Files" -msgstr "Faidhlichean stadastaireachd" - -msgid "Syndication" -msgstr "Siondacaideadh" - -msgid "That page number is not an integer" -msgstr "Chan eil àireamh na duilleige seo 'na àireamh slàn" - -msgid "That page number is less than 1" -msgstr "Tha àireamh na duilleige seo nas lugha na 1" - -msgid "That page contains no results" -msgstr "Chan eil toradh aig an duilleag seo" - -msgid "Enter a valid value." -msgstr "Cuir a-steach luach dligheach." - -msgid "Enter a valid URL." -msgstr "Cuir a-steach URL dligheach." - -msgid "Enter a valid integer." -msgstr "Cuir a-steach àireamh slàin dhligheach." - -msgid "Enter a valid email address." -msgstr "Cuir a-steach seòladh puist-d dligheach." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" -"Cuir a-steach “sluga” dligheach anns nach eil ach litrichean, àireamhan, fo-" -"loidhnichean is tàthanan." - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" -"Cuir a-steach “sluga” dligheach anns nach eil ach litrichean Unicode, " -"àireamhan, fo-loidhnichean is tàthanan." - -msgid "Enter a valid IPv4 address." -msgstr "Cuir a-steach seòladh IPv4 dligheach." - -msgid "Enter a valid IPv6 address." -msgstr "Cuir a-steach seòladh IPv6 dligheach." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Cuir a-steach seòladh IPv4 no IPv6 dligheach." - -msgid "Enter only digits separated by commas." -msgstr "Na cuir a-steach ach àireamhan ’gan sgaradh le cromagan." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" -"Dèan cinnteach gu bheil an luach seo %(limit_value)s (’s e %(show_value)s a " -"th’ ann)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "" -"Dèan cinnteach gu bheil an luach seo nas lugha na no co-ionnan ri " -"%(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "" -"Dèan cinnteach gu bheil an luach seo nas motha na no co-ionnan ri " -"%(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Dèan cinnteach gu bheil %(limit_value)d charactar aig an luach seo air a’ " -"char as lugha (tha %(show_value)d aige an-dràsta)." -msgstr[1] "" -"Dèan cinnteach gu bheil %(limit_value)d charactar aig an luach seo air a’ " -"char as lugha (tha %(show_value)d aige an-dràsta)." -msgstr[2] "" -"Dèan cinnteach gu bheil %(limit_value)d caractaran aig an luach seo air a’ " -"char as lugha (tha %(show_value)d aige an-dràsta)." -msgstr[3] "" -"Dèan cinnteach gu bheil %(limit_value)d caractar aig an luach seo air a’ " -"char as lugha (tha %(show_value)d aige an-dràsta)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Dèan cinnteach gu bheil %(limit_value)d charactar aig an luach seo air a’ " -"char as motha (tha %(show_value)d aige an-dràsta)." -msgstr[1] "" -"Dèan cinnteach gu bheil %(limit_value)d charactar aig an luach seo air a’ " -"char as motha (tha %(show_value)d aige an-dràsta)." -msgstr[2] "" -"Dèan cinnteach gu bheil %(limit_value)d caractaran aig an luach seo air a’ " -"char as motha (tha %(show_value)d aige an-dràsta)." -msgstr[3] "" -"Dèan cinnteach gu bheil %(limit_value)d caractar aig an luach seo air a’ " -"char as motha (tha %(show_value)d aige an-dràsta)." - -msgid "Enter a number." -msgstr "Cuir a-steach àireamh." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "" -"Dèan cinnteach nach eil barrachd air %(max)s àireamh ann gu h-iomlan." -msgstr[1] "" -"Dèan cinnteach nach eil barrachd air %(max)s àireamh ann gu h-iomlan." -msgstr[2] "" -"Dèan cinnteach nach eil barrachd air %(max)s àireamhan ann gu h-iomlan." -msgstr[3] "" -"Dèan cinnteach nach eil barrachd air %(max)s àireamh ann gu h-iomlan." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "Dèan cinnteach nach eil barrachd air %(max)s ionad deicheach ann." -msgstr[1] "Dèan cinnteach nach eil barrachd air %(max)s ionad deicheach ann." -msgstr[2] "Dèan cinnteach nach eil barrachd air %(max)s ionadan deicheach ann." -msgstr[3] "Dèan cinnteach nach eil barrachd air %(max)s ionad deicheach ann." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -"Dèan cinnteach nach eil barrachd air %(max)s àireamh ann ron phuing " -"dheicheach." -msgstr[1] "" -"Dèan cinnteach nach eil barrachd air %(max)s àireamh ann ron phuing " -"dheicheach." -msgstr[2] "" -"Dèan cinnteach nach eil barrachd air %(max)s àireamhan ann ron phuing " -"dheicheach." -msgstr[3] "" -"Dèan cinnteach nach eil barrachd air %(max)s àireamh ann ron phuing " -"dheicheach." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" -"Chan eil an leudachan faidhle “%(extension)s” ceadaichte. Seo na leudachain " -"a tha ceadaichte: %(allowed_extensions)s." - -msgid "Null characters are not allowed." -msgstr "Chan eil caractaran null ceadaichte." - -msgid "and" -msgstr "agus" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "Tha %(model_name)s lis a’ %(field_labels)s seo ann mar-thà." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "Chan eil an luach %(value)r ’na roghainn dhligheach." - -msgid "This field cannot be null." -msgstr "Chan fhaod an raon seo a bhith ’na neoni." - -msgid "This field cannot be blank." -msgstr "Chan fhaod an raon seo a bhith bàn." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "Tha %(model_name)s leis a’ %(field_label)s seo ann mar-thà." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"Chan fhaod %(field_label)s a bhith ann ach aon turas airson " -"%(date_field_label)s %(lookup_type)s." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Raon dhen t-seòrsa: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "Feumaidh “%(value)s” a bhith True no False." - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "Feumaidh “%(value)s” a bhith True, False no None." - -msgid "Boolean (Either True or False)" -msgstr "Booleach (True no False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Sreang (suas ri %(max_length)s)" - -msgid "Comma-separated integers" -msgstr "Àireamhan slàna sgaraichte le cromagan" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" -"Tha fòrmat cinn-là mì-dhligheach aig an luach “%(value)s”. Feumaidh e bhith " -"san fhòrmat BBBB-MM-LL." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" -"Tha fòrmat mar bu chòir (BBBB-MM-LL) aig an luach “%(value)s” ach tha an " -"ceann-là mì-dligheach." - -msgid "Date (without time)" -msgstr "Ceann-là (gun àm)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" -"Tha fòrmat mì-dhligheach aig an luach “%(value)s”. Feumaidh e bhith san " -"fhòrmat BBBB-MM-LL HH:MM[:dd[.uuuuuu]][TZ]." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" -"Tha fòrmat mar bu chòir (BBBB-MM-LL HH:MM[:dd[.uuuuuu]][TZ]) aig an luach " -"“%(value)s” ach tha an ceann-là/an t-àm mì-dligheach." - -msgid "Date (with time)" -msgstr "Ceann-là (le àm)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "Feumaidh “%(value)s” a bhith ’na àireamh dheicheach." - -msgid "Decimal number" -msgstr "Àireamh dheicheach" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" -"Tha fòrmat mì-dhligheach aig an luach “%(value)s”. Feumaidh e bhith san " -"fhòrmat [DD] [[HH:]MM:]ss[.uuuuuu]." - -msgid "Duration" -msgstr "Faid" - -msgid "Email address" -msgstr "Seòladh puist-d" - -msgid "File path" -msgstr "Slighe an fhaidhle" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "Feumaidh “%(value)s” a bhith ’na àireamh floda." - -msgid "Floating point number" -msgstr "Àireamh le puing floda" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "Feumaidh “%(value)s” a bhith ’na àireamh shlàn." - -msgid "Integer" -msgstr "Àireamh shlàn" - -msgid "Big (8 byte) integer" -msgstr "Mòr-àireamh shlàn (8 baidht)" - -msgid "IPv4 address" -msgstr "Seòladh IPv4" - -msgid "IP address" -msgstr "Seòladh IP" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "Feumaidh “%(value)s” a bhith None, True no False." - -msgid "Boolean (Either True, False or None)" -msgstr "Booleach (True, False no None)" - -msgid "Positive integer" -msgstr "Àireamh shlàn dhearbh" - -msgid "Positive small integer" -msgstr "Beag-àireamh shlàn dhearbh" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Sluga (suas ri %(max_length)s)" - -msgid "Small integer" -msgstr "Beag-àireamh slàn" - -msgid "Text" -msgstr "Teacsa" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" -"Tha fòrmat mì-dhligheach aig an luach “%(value)s”. Feumaidh e bhith san " -"fhòrmat HH:MM[:dd[.uuuuuu]]." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" -"Tha fòrmat mar bu chòir (HH:MM[:dd[.uuuuuu]]) aig an luach “%(value)s” ach " -"tha an t-àm mì-dligheach." - -msgid "Time" -msgstr "Àm" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Dàta bìnearaidh amh" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "Chan eil “%(value)s” ’na UUID dligheach." - -msgid "Universally unique identifier" -msgstr "Aithnichear àraidh gu h-uile-choitcheann" - -msgid "File" -msgstr "Faidhle" - -msgid "Image" -msgstr "Dealbh" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "Chan eil ionstans dhe %(model)s le %(field)s %(value)r ann." - -msgid "Foreign Key (type determined by related field)" -msgstr "Iuchair chèin (thèid a sheòrsa a mhìneachadh leis an raon dàimheach)" - -msgid "One-to-one relationship" -msgstr "Dàimh aonan gu aonan" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "Daimh %(from)s-%(to)s" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "Daimhean %(from)s-%(to)s" - -msgid "Many-to-many relationship" -msgstr "Dàimh iomadh rud gu iomadh rud" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Tha an raon seo riatanach." - -msgid "Enter a whole number." -msgstr "Cuir a-steach àireamh shlàn." - -msgid "Enter a valid date." -msgstr "Cuir a-steach ceann-là dligheach." - -msgid "Enter a valid time." -msgstr "Cuir a-steach àm dligheach." - -msgid "Enter a valid date/time." -msgstr "Cuir a-steach ceann-là ’s àm dligheach." - -msgid "Enter a valid duration." -msgstr "Cuir a-steach faid dhligheach." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "" -"Feumaidh an àireamh de làithean a bhith eadar {min_days} is {max_days}." - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "" -"Cha deach faidhle a chur a-null. Dearbhaich seòrsa a’ chòdachaidh air an " -"fhoirm." - -msgid "No file was submitted." -msgstr "Cha deach faidhle a chur a-null." - -msgid "The submitted file is empty." -msgstr "Tha am faidhle a chaidh a chur a-null falamh." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Dèan cinnteach nach eil barrachd air %(max)d charactar ann an ainm an " -"fhaidhle (tha %(length)d aige)." -msgstr[1] "" -"Dèan cinnteach nach eil barrachd air %(max)d charactar ann an ainm an " -"fhaidhle (tha %(length)d aige)." -msgstr[2] "" -"Dèan cinnteach nach eil barrachd air %(max)d caractaran ann an ainm an " -"fhaidhle (tha %(length)d aige)." -msgstr[3] "" -"Dèan cinnteach nach eil barrachd air %(max)d caractar ann an ainm an " -"fhaidhle (tha %(length)d aige)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" -"Cuir a-null faidhle no cuir cromag sa bhogsa fhalamh, na dèan an dà chuidh " -"dhiubh." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Luchdaich suas dealbh dligheach. Cha robh am faidhle a luchdaich thu suas " -"’na dhealbh no bha an dealbh coirbte." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "Tagh rud dligheach. Chan eil %(value)s ’na roghainn dhut." - -msgid "Enter a list of values." -msgstr "Cuir a-steach liosta de luachan." - -msgid "Enter a complete value." -msgstr "Cuir a-steach luach slàn." - -msgid "Enter a valid UUID." -msgstr "Cuir a-steach UUID dligheach." - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Raon falaichte %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "Tha dàta an fhoirm stiùiridh a dhìth no chaidh beantainn ris" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Cuir a-null %d fhoirm no nas lugha dhiubh." -msgstr[1] "Cuir a-null %d fhoirm no nas lugha dhiubh." -msgstr[2] "Cuir a-null %d foirmean no nas lugha dhiubh." -msgstr[3] "Cuir a-null %d foirm no nas lugha dhiubh." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "Cuir a-null %d fhoirm no barrachd dhiubh." -msgstr[1] "Cuir a-null %d fhoirm no barrachd dhiubh." -msgstr[2] "Cuir a-null %d foirmean no barrachd dhiubh." -msgstr[3] "Cuir a-null %d foirm no barrachd dhiubh." - -msgid "Order" -msgstr "Òrdugh" - -msgid "Delete" -msgstr "Sguab às" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Ceartaich an dàta dùblaichte airson %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"Ceartaich an dàta dùblaichte airson %(field)s, chan fhaod gach nì a bhith " -"ann ach aon turas." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Ceartaich an dàta dùblaichte airson %(field_name)s nach fhaod a bhith ann " -"ach aon turas airson %(lookup)s ann an %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "Ceartaich na luachan dùblaichte gu h-ìosal." - -msgid "The inline value did not match the parent instance." -msgstr "" -"Chan eil an luach am broinn na loidhne a’ freagairt ris an ionstans-pàraint." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "Tagh rud dligheach. Chan eil an rud seo ’na roghainn dhut." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "Chan e luach dligheach a tha ann an “%(pk)s”." - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" -"Cha chiall dha %(datetime)s san roinn-tìde %(current_timezone)s; dh’fhaoidte " -"gu bheil e dà-sheaghach no nach eil e ann." - -msgid "Clear" -msgstr "Falamhaich" - -msgid "Currently" -msgstr "An-dràsta" - -msgid "Change" -msgstr "Atharraich" - -msgid "Unknown" -msgstr "Chan eil fhios" - -msgid "Yes" -msgstr "Tha" - -msgid "No" -msgstr "Chan eil" - -msgid "Year" -msgstr "Bliadhna" - -msgid "Month" -msgstr "Mìos" - -msgid "Day" -msgstr "Latha" - -msgid "yes,no,maybe" -msgstr "yes,no,maybe" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d baidht" -msgstr[1] "%(size)d baidht" -msgstr[2] "%(size)d baidht" -msgstr[3] "%(size)d baidht" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "f" - -msgid "a.m." -msgstr "m" - -msgid "PM" -msgstr "f" - -msgid "AM" -msgstr "m" - -msgid "midnight" -msgstr "meadhan-oidhche" - -msgid "noon" -msgstr "meadhan-latha" - -msgid "Monday" -msgstr "DiLuain" - -msgid "Tuesday" -msgstr "DiMàirt" - -msgid "Wednesday" -msgstr "DiCiadain" - -msgid "Thursday" -msgstr "DiarDaoin" - -msgid "Friday" -msgstr "DihAoine" - -msgid "Saturday" -msgstr "DiSathairne" - -msgid "Sunday" -msgstr "DiDòmhnaich" - -msgid "Mon" -msgstr "DiL" - -msgid "Tue" -msgstr "DiM" - -msgid "Wed" -msgstr "DiC" - -msgid "Thu" -msgstr "Dia" - -msgid "Fri" -msgstr "Dih" - -msgid "Sat" -msgstr "DiS" - -msgid "Sun" -msgstr "DiD" - -msgid "January" -msgstr "Am Faoilleach" - -msgid "February" -msgstr "An Gearran" - -msgid "March" -msgstr "Am Màrt" - -msgid "April" -msgstr "An Giblean" - -msgid "May" -msgstr "An Cèitean" - -msgid "June" -msgstr "An t-Ògmhios" - -msgid "July" -msgstr "An t-Iuchar" - -msgid "August" -msgstr "An Lùnastal" - -msgid "September" -msgstr "An t-Sultain" - -msgid "October" -msgstr "An Dàmhair" - -msgid "November" -msgstr "An t-Samhain" - -msgid "December" -msgstr "An Dùbhlachd" - -msgid "jan" -msgstr "faoi" - -msgid "feb" -msgstr "gearr" - -msgid "mar" -msgstr "màrt" - -msgid "apr" -msgstr "gibl" - -msgid "may" -msgstr "cèit" - -msgid "jun" -msgstr "ògmh" - -msgid "jul" -msgstr "iuch" - -msgid "aug" -msgstr "lùna" - -msgid "sep" -msgstr "sult" - -msgid "oct" -msgstr "dàmh" - -msgid "nov" -msgstr "samh" - -msgid "dec" -msgstr "dùbh" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Faoi" - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Gearr" - -msgctxt "abbrev. month" -msgid "March" -msgstr "Màrt" - -msgctxt "abbrev. month" -msgid "April" -msgstr "Gibl" - -msgctxt "abbrev. month" -msgid "May" -msgstr "Cèit" - -msgctxt "abbrev. month" -msgid "June" -msgstr "Ògmh" - -msgctxt "abbrev. month" -msgid "July" -msgstr "Iuch" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Lùna" - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Sult" - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Dàmh" - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Samh" - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Dùbh" - -msgctxt "alt. month" -msgid "January" -msgstr "Am Faoilleach" - -msgctxt "alt. month" -msgid "February" -msgstr "An Gearran" - -msgctxt "alt. month" -msgid "March" -msgstr "Am Màrt" - -msgctxt "alt. month" -msgid "April" -msgstr "An Giblean" - -msgctxt "alt. month" -msgid "May" -msgstr "An Cèitean" - -msgctxt "alt. month" -msgid "June" -msgstr "An t-Ògmhios" - -msgctxt "alt. month" -msgid "July" -msgstr "An t-Iuchar" - -msgctxt "alt. month" -msgid "August" -msgstr "An Lùnastal" - -msgctxt "alt. month" -msgid "September" -msgstr "An t-Sultain" - -msgctxt "alt. month" -msgid "October" -msgstr "An Dàmhair" - -msgctxt "alt. month" -msgid "November" -msgstr "An t-Samhain" - -msgctxt "alt. month" -msgid "December" -msgstr "An Dùbhlachd" - -msgid "This is not a valid IPv6 address." -msgstr "Chan eil seo ’na sheòladh IPv6 dligheach." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s…" - -msgid "or" -msgstr "no" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d bhliadhna" -msgstr[1] "%d bhliadhna" -msgstr[2] "%d bliadhnaichean" -msgstr[3] "%d bliadhna" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d mhìos" -msgstr[1] "%d mhìos" -msgstr[2] "%d mìosan" -msgstr[3] "%d mìos" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d seachdain" -msgstr[1] "%d sheachdain" -msgstr[2] "%d seachdainean" -msgstr[3] "%d seachdain" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d latha" -msgstr[1] "%d latha" -msgstr[2] "%d làithean" -msgstr[3] "%d latha" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d uair" -msgstr[1] "%d uair" -msgstr[2] "%d uairean" -msgstr[3] "%d uair" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d mhionaid" -msgstr[1] "%d mhionaid" -msgstr[2] "%d mionaidean" -msgstr[3] "%d mionaid" - -msgid "0 minutes" -msgstr "0 mionaid" - -msgid "Forbidden" -msgstr "Toirmisgte" - -msgid "CSRF verification failed. Request aborted." -msgstr "Dh’fhàillig le dearbhadh CSRF. chaidh sgur dhen iarrtas." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" -"Chì thu an teachdaireachd seo air sgàth ’s gu bheil an làrach-lìn HTTPS seo " -"ag iarraidh air a’ bhrabhsair-lìn agad gun cuir e bann-cinn “Referer” thuice " -"ach cha deach gin a chur a-null. Tha feum air a’ bhann-chinn seo a chum " -"tèarainteachd ach nach cleachd treas-phàrtaidh am brabhsair agad gu droch-" -"rùnach." - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" -"Ma rèitich thu am brabhsair agad ach an cuir e bannan-cinn “Referer” à " -"comas, cuir an comas iad a-rithist, co-dhiù airson na làraich seo no airson " -"ceanglaichean HTTPS no airson iarrtasan “same-origin”." - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" -"Ma tha thu a’ cleachdadh taga no a’ gabhail a-staigh bann-cinn “'Referrer-Policy: no-referrer” feuch " -"an doir thu air falbh iad. Iarraidh an dìon CSRF bann-cinn “Referer” gus na " -"referers a dhearbhadh gu teann. Ma tha thu iomagaineach a thaobh do " -"prìobhaideachd, cleachd roghainnean eile mar airson " -"ceangal gu làraichean-lìn threas-phàrtaidhean." - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Chì thu an teachdaireachd seo air sgàth ’s gu bheil an làrach-lìn seo ag " -"iarraidh briosgaid CSRF nuair a chuireas tu foirm a-null. Tha feum air a’ " -"bhriosgaid seo a chum tèarainteachd ach nach cleachd treas-phàrtaidh am " -"brabhsair agad gu droch-rùnach." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" -"Ma rèitich thu am brabhsair agad ach an cuir e briosgaidean à comas, cuir an " -"comas iad a-rithist, co-dhiù airson na làraich seo no airson iarrtasan “same-" -"origin”." - -msgid "More information is available with DEBUG=True." -msgstr "Gheibh thu barrachd fiosrachaidh le DEBUG=True." - -msgid "No year specified" -msgstr "Cha deach bliadhna a shònrachadh" - -msgid "Date out of range" -msgstr "Tha ceann-là taobh thar na rainse" - -msgid "No month specified" -msgstr "Cha deach mìos a shònrachadh" - -msgid "No day specified" -msgstr "Cha deach latha a shònrachadh" - -msgid "No week specified" -msgstr "Cha deach seachdain a shònrachadh" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "Chan eil %(verbose_name_plural)s ri fhaighinn" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"Chan eil %(verbose_name_plural)s san àm ri teachd ri fhaighinn air sgàth ’s " -"gun deach %(class_name)s.allow_future a shuidheachadh air False." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" -"Sreang cinn-là “%(datestr)s” mì-dhligheach airson an fhòrmait “%(format)s”" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Cha deach %(verbose_name)s a lorg a fhreagras dhan cheist" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" -"Chan eil an duilleag ’na “last” is cha ghabh a h-iompachadh gu àireamh shlàn." - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Duilleag mhì-dhligheach (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" -"Tha liosta fhalamh ann agus chaidh “%(class_name)s.allow_empty” a " -"shuidheachadh air False." - -msgid "Directory indexes are not allowed here." -msgstr "Chan eil clàran-amais pasgain falamh ceadaichte an-seo." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "Chan eil “%(path)s” ann" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Clàr-amais dhe %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "Django: am frèam-obrach-lìn leis a choileanas foirfichean cinn-ama." - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"Seall na nòtaichean sgaoilidh airson Django " -"%(version)s" - -msgid "The install worked successfully! Congratulations!" -msgstr "Chaidh a stàladh! Meal do naidheachd!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"Chì thu an duilleag seo on a tha DEBUG=True ann am faidhle nan roghainnean agad agus cha do rèitich " -"thu URL sam bith fhathast." - -msgid "Django Documentation" -msgstr "Docamaideadh Django" - -msgid "Topics, references, & how-to’s" -msgstr "Cuspairean, iomraidhean ⁊ treòraichean" - -msgid "Tutorial: A Polling App" -msgstr "Oideachadh: Aplacaid cunntais-bheachd" - -msgid "Get started with Django" -msgstr "Dèan toiseach-tòiseachaidh le Django" - -msgid "Django Community" -msgstr "Coimhearsnachd Django" - -msgid "Connect, get help, or contribute" -msgstr "Dèan ceangal, faigh taic no cuidich" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/gd/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/gd/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/gd/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/gd/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index d32b7306..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/gd/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/gd/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/gd/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index a863c8bc..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/gd/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/gd/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/gd/formats.py deleted file mode 100644 index 19b42ee0..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/gd/formats.py +++ /dev/null @@ -1,21 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'j F Y' -TIME_FORMAT = 'h:ia' -DATETIME_FORMAT = 'j F Y h:ia' -# YEAR_MONTH_FORMAT = -MONTH_DAY_FORMAT = 'j F' -SHORT_DATE_FORMAT = 'j M Y' -SHORT_DATETIME_FORMAT = 'j M Y h:ia' -FIRST_DAY_OF_WEEK = 1 # Monday - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -# DATE_INPUT_FORMATS = -# TIME_INPUT_FORMATS = -# DATETIME_INPUT_FORMATS = -DECIMAL_SEPARATOR = '.' -THOUSAND_SEPARATOR = ',' -# NUMBER_GROUPING = diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/gl/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/gl/LC_MESSAGES/django.mo deleted file mode 100644 index b53513d9..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/gl/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/gl/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/gl/LC_MESSAGES/django.po deleted file mode 100644 index ae3fa243..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/gl/LC_MESSAGES/django.po +++ /dev/null @@ -1,1233 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# fasouto , 2011-2012 -# fonso , 2011,2013 -# fonso , 2013 -# fasouto , 2017 -# Jannis Leidel , 2011 -# Leandro Regueiro , 2013 -# Oscar Carballal , 2012 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-27 22:40+0200\n" -"PO-Revision-Date: 2019-11-05 00:38+0000\n" -"Last-Translator: Ramiro Morales\n" -"Language-Team: Galician (http://www.transifex.com/django/django/language/" -"gl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: gl\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "Afrikaans" -msgstr "africáner" - -msgid "Arabic" -msgstr "Árabe" - -msgid "Asturian" -msgstr "Asturiano" - -msgid "Azerbaijani" -msgstr "azerí" - -msgid "Bulgarian" -msgstr "Búlgaro" - -msgid "Belarusian" -msgstr "Bielorruso" - -msgid "Bengali" -msgstr "Bengalí" - -msgid "Breton" -msgstr "Bretón" - -msgid "Bosnian" -msgstr "bosníaco" - -msgid "Catalan" -msgstr "Catalán" - -msgid "Czech" -msgstr "Checo" - -msgid "Welsh" -msgstr "Galés" - -msgid "Danish" -msgstr "Dinamarqués" - -msgid "German" -msgstr "Alemán" - -msgid "Lower Sorbian" -msgstr "" - -msgid "Greek" -msgstr "Grego" - -msgid "English" -msgstr "Inglés" - -msgid "Australian English" -msgstr "Inglés australiano" - -msgid "British English" -msgstr "inglés británico" - -msgid "Esperanto" -msgstr "Esperanto" - -msgid "Spanish" -msgstr "español" - -msgid "Argentinian Spanish" -msgstr "español da Arxentina" - -msgid "Colombian Spanish" -msgstr "" - -msgid "Mexican Spanish" -msgstr "español de México" - -msgid "Nicaraguan Spanish" -msgstr "español de Nicaragua" - -msgid "Venezuelan Spanish" -msgstr "español de Venezuela" - -msgid "Estonian" -msgstr "estoniano" - -msgid "Basque" -msgstr "vasco" - -msgid "Persian" -msgstr "Persa" - -msgid "Finnish" -msgstr "finés" - -msgid "French" -msgstr "Francés" - -msgid "Frisian" -msgstr "Frisón" - -msgid "Irish" -msgstr "irlandés" - -msgid "Scottish Gaelic" -msgstr "" - -msgid "Galician" -msgstr "Galego" - -msgid "Hebrew" -msgstr "Hebreo" - -msgid "Hindi" -msgstr "Hindi" - -msgid "Croatian" -msgstr "croata" - -msgid "Upper Sorbian" -msgstr "" - -msgid "Hungarian" -msgstr "Húngaro" - -msgid "Armenian" -msgstr "" - -msgid "Interlingua" -msgstr "interlingua" - -msgid "Indonesian" -msgstr "indonesio" - -msgid "Ido" -msgstr "" - -msgid "Icelandic" -msgstr "islandés" - -msgid "Italian" -msgstr "Italiano" - -msgid "Japanese" -msgstr "xaponés" - -msgid "Georgian" -msgstr "xeorxiano" - -msgid "Kabyle" -msgstr "" - -msgid "Kazakh" -msgstr "casaco" - -msgid "Khmer" -msgstr "camboxano" - -msgid "Kannada" -msgstr "canará" - -msgid "Korean" -msgstr "Coreano" - -msgid "Luxembourgish" -msgstr "luxemburgués" - -msgid "Lithuanian" -msgstr "lituano" - -msgid "Latvian" -msgstr "letón" - -msgid "Macedonian" -msgstr "macedonio" - -msgid "Malayalam" -msgstr "mala" - -msgid "Mongolian" -msgstr "mongol" - -msgid "Marathi" -msgstr "" - -msgid "Burmese" -msgstr "birmano" - -msgid "Norwegian Bokmål" -msgstr "" - -msgid "Nepali" -msgstr "nepalés" - -msgid "Dutch" -msgstr "holandés" - -msgid "Norwegian Nynorsk" -msgstr "noruegués (nynorsk)" - -msgid "Ossetic" -msgstr "osetio" - -msgid "Punjabi" -msgstr "panxabiano" - -msgid "Polish" -msgstr "polaco" - -msgid "Portuguese" -msgstr "portugués" - -msgid "Brazilian Portuguese" -msgstr "portugués do Brasil" - -msgid "Romanian" -msgstr "romanés" - -msgid "Russian" -msgstr "ruso" - -msgid "Slovak" -msgstr "eslovaco" - -msgid "Slovenian" -msgstr "esloveno" - -msgid "Albanian" -msgstr "albanés" - -msgid "Serbian" -msgstr "serbio" - -msgid "Serbian Latin" -msgstr "serbio (alfabeto latino)" - -msgid "Swedish" -msgstr "sueco" - -msgid "Swahili" -msgstr "suahili" - -msgid "Tamil" -msgstr "támil" - -msgid "Telugu" -msgstr "telugu" - -msgid "Thai" -msgstr "tai" - -msgid "Turkish" -msgstr "turco" - -msgid "Tatar" -msgstr "tártaro" - -msgid "Udmurt" -msgstr "udmurt" - -msgid "Ukrainian" -msgstr "ucraíno" - -msgid "Urdu" -msgstr "urdu" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "vietnamita" - -msgid "Simplified Chinese" -msgstr "chinés simplificado" - -msgid "Traditional Chinese" -msgstr "chinés tradicional" - -msgid "Messages" -msgstr "" - -msgid "Site Maps" -msgstr "" - -msgid "Static Files" -msgstr "" - -msgid "Syndication" -msgstr "" - -msgid "That page number is not an integer" -msgstr "" - -msgid "That page number is less than 1" -msgstr "" - -msgid "That page contains no results" -msgstr "" - -msgid "Enter a valid value." -msgstr "Insira un valor válido." - -msgid "Enter a valid URL." -msgstr "Insira un URL válido." - -msgid "Enter a valid integer." -msgstr "" - -msgid "Enter a valid email address." -msgstr "Insira un enderezo de correo electrónico válido." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "Insira unha dirección IPv4 válida." - -msgid "Enter a valid IPv6 address." -msgstr "Insira unha dirección IPv6 válida" - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Insira unha dirección IPv4 ou IPv6 válida" - -msgid "Enter only digits separated by commas." -msgstr "Insira só díxitos separados por comas." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" -"Asegúrese de que este valor é %(limit_value)s (agora é %(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Asegure que este valor é menor ou igual a %(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Asegure que este valor é maior ou igual a %(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" - -msgid "Enter a number." -msgstr "Insira un número." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Asegure que non hai mais de %(max)s díxito en total." -msgstr[1] "Asegure que non hai mais de %(max)s díxitos en total." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "" - -msgid "and" -msgstr "e" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "" - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "O valor %(value)r non é unha opción válida." - -msgid "This field cannot be null." -msgstr "Este campo non pode ser nulo." - -msgid "This field cannot be blank." -msgstr "Este campo non pode estar baleiro." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "" -"Xa existe un modelo %(model_name)s coa etiqueta de campo %(field_label)s." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Campo de tipo: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "Valor booleano (verdadeiro ou falso)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Cadea (máximo %(max_length)s)" - -msgid "Comma-separated integers" -msgstr "Números enteiros separados por comas" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "Data (sen a hora)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "Data (coa hora)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "Número decimal" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "" - -msgid "Email address" -msgstr "Enderezo electrónico" - -msgid "File path" -msgstr "Ruta de ficheiro" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "Número en coma flotante" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "Número enteiro" - -msgid "Big (8 byte) integer" -msgstr "Enteiro grande (8 bytes)" - -msgid "IPv4 address" -msgstr "Enderezo IPv4" - -msgid "IP address" -msgstr "Enderezo IP" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "Booleano (verdadeiro, falso ou ningún)" - -msgid "Positive integer" -msgstr "Numero enteiro positivo" - -msgid "Positive small integer" -msgstr "Enteiro pequeno positivo" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Slug (ata %(max_length)s)" - -msgid "Small integer" -msgstr "Enteiro pequeno" - -msgid "Text" -msgstr "Texto" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "Hora" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Datos binarios en bruto" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "" - -msgid "File" -msgstr "Ficheiro" - -msgid "Image" -msgstr "Imaxe" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "" - -msgid "Foreign Key (type determined by related field)" -msgstr "Clave Estranxeira (tipo determinado por un campo relacionado)" - -msgid "One-to-one relationship" -msgstr "Relación un a un" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "" - -msgid "Many-to-many relationship" -msgstr "Relación moitos a moitos" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Requírese este campo." - -msgid "Enter a whole number." -msgstr "Insira un número enteiro." - -msgid "Enter a valid date." -msgstr "Insira unha data válida." - -msgid "Enter a valid time." -msgstr "Insira unha hora válida." - -msgid "Enter a valid date/time." -msgstr "Insira unha data/hora válida." - -msgid "Enter a valid duration." -msgstr "" - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "" - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "" -"Non se enviou ficheiro ningún. Comprobe o tipo de codificación do formulario." - -msgid "No file was submitted." -msgstr "Non se enviou ficheiro ningún." - -msgid "The submitted file is empty." -msgstr "O ficheiro enviado está baleiro." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -msgstr[1] "" - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" -"Ou ben envíe un ficheiro, ou ben marque a casilla de eliminar, pero non " -"ambas as dúas cousas." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Suba unha imaxe válida. O ficheiro subido non era unha imaxe ou esta estaba " -"corrupta." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "" -"Escolla unha opción válida. %(value)s non se atopa entre as opcións " -"dispoñibles." - -msgid "Enter a list of values." -msgstr "Insira unha lista de valores." - -msgid "Enter a complete value." -msgstr "" - -msgid "Enter a valid UUID." -msgstr "Insira un UUID válido." - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "" -msgstr[1] "" - -msgid "Order" -msgstr "Orde" - -msgid "Delete" -msgstr "Eliminar" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Corrixa os datos duplicados no campo %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "Corrixa os datos duplicados no campo %(field)s, que debe ser único." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Corrixa os datos duplicados no campo %(field_name)s, que debe ser único para " -"a busca %(lookup)s no campo %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "Corrixa os valores duplicados de abaixo." - -msgid "The inline value did not match the parent instance." -msgstr "" - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" -"Escolla unha opción válida. Esta opción non se atopa entre as opcións " -"dispoñíbeis" - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "Limpar" - -msgid "Currently" -msgstr "Actualmente" - -msgid "Change" -msgstr "Modificar" - -msgid "Unknown" -msgstr "Descoñecido" - -msgid "Yes" -msgstr "Si" - -msgid "No" -msgstr "Non" - -msgid "Year" -msgstr "" - -msgid "Month" -msgstr "" - -msgid "Day" -msgstr "" - -msgid "yes,no,maybe" -msgstr "si,non,quizais" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d byte" -msgstr[1] "%(size)d bytes" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "p.m." - -msgid "a.m." -msgstr "a.m." - -msgid "PM" -msgstr "PM" - -msgid "AM" -msgstr "AM" - -msgid "midnight" -msgstr "medianoite" - -msgid "noon" -msgstr "mediodía" - -msgid "Monday" -msgstr "Luns" - -msgid "Tuesday" -msgstr "Martes" - -msgid "Wednesday" -msgstr "Mércores" - -msgid "Thursday" -msgstr "Xoves" - -msgid "Friday" -msgstr "Venres" - -msgid "Saturday" -msgstr "Sábado" - -msgid "Sunday" -msgstr "Domingo" - -msgid "Mon" -msgstr "lun" - -msgid "Tue" -msgstr "mar" - -msgid "Wed" -msgstr "mér" - -msgid "Thu" -msgstr "xov" - -msgid "Fri" -msgstr "ven" - -msgid "Sat" -msgstr "sáb" - -msgid "Sun" -msgstr "dom" - -msgid "January" -msgstr "xaneiro" - -msgid "February" -msgstr "febreiro" - -msgid "March" -msgstr "marzo" - -msgid "April" -msgstr "abril" - -msgid "May" -msgstr "maio" - -msgid "June" -msgstr "xuño" - -msgid "July" -msgstr "xullo" - -msgid "August" -msgstr "agosto" - -msgid "September" -msgstr "setembro" - -msgid "October" -msgstr "outubro" - -msgid "November" -msgstr "novembro" - -msgid "December" -msgstr "decembro" - -msgid "jan" -msgstr "xan" - -msgid "feb" -msgstr "feb" - -msgid "mar" -msgstr "mar" - -msgid "apr" -msgstr "abr" - -msgid "may" -msgstr "mai" - -msgid "jun" -msgstr "xuñ" - -msgid "jul" -msgstr "xul" - -msgid "aug" -msgstr "ago" - -msgid "sep" -msgstr "set" - -msgid "oct" -msgstr "out" - -msgid "nov" -msgstr "nov" - -msgid "dec" -msgstr "dec" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "xan." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "feb." - -msgctxt "abbrev. month" -msgid "March" -msgstr "mar." - -msgctxt "abbrev. month" -msgid "April" -msgstr "abr." - -msgctxt "abbrev. month" -msgid "May" -msgstr "maio" - -msgctxt "abbrev. month" -msgid "June" -msgstr "xuño" - -msgctxt "abbrev. month" -msgid "July" -msgstr "xul." - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "ago." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "set." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "out." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "nov." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "dec." - -msgctxt "alt. month" -msgid "January" -msgstr "xaneiro" - -msgctxt "alt. month" -msgid "February" -msgstr "febreiro" - -msgctxt "alt. month" -msgid "March" -msgstr "marzo" - -msgctxt "alt. month" -msgid "April" -msgstr "abril" - -msgctxt "alt. month" -msgid "May" -msgstr "maio" - -msgctxt "alt. month" -msgid "June" -msgstr "xuño" - -msgctxt "alt. month" -msgid "July" -msgstr "xullo" - -msgctxt "alt. month" -msgid "August" -msgstr "agosto" - -msgctxt "alt. month" -msgid "September" -msgstr "setembro" - -msgctxt "alt. month" -msgid "October" -msgstr "outubro" - -msgctxt "alt. month" -msgid "November" -msgstr "novembro" - -msgctxt "alt. month" -msgid "December" -msgstr "decembro" - -msgid "This is not a valid IPv6 address." -msgstr "" - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "" - -msgid "or" -msgstr "ou" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d ano" -msgstr[1] "%d anos" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d mes" -msgstr[1] "%d meses" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d semana" -msgstr[1] "%d semanas" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d día" -msgstr[1] "%d días" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d hora" -msgstr[1] "%d horas" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d minuto" -msgstr[1] "%d minutos" - -msgid "0 minutes" -msgstr "0 minutos" - -msgid "Forbidden" -msgstr "" - -msgid "CSRF verification failed. Request aborted." -msgstr "" - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "Pode ver máis información se establece DEBUG=True." - -msgid "No year specified" -msgstr "Non se especificou ningún ano" - -msgid "Date out of range" -msgstr "" - -msgid "No month specified" -msgstr "Non se especificou ningún mes" - -msgid "No day specified" -msgstr "Non se especificou ningún día" - -msgid "No week specified" -msgstr "Non se especificou ningunha semana" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "Non hai %(verbose_name_plural)s dispoñibles" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"Non hai dispoñibles %(verbose_name_plural)s futuros/as porque %(class_name)s." -"allow_futuro é False" - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Non se atopou ningún/ha %(verbose_name)s que coincidise coa consulta" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Páxina non válida (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "Os índices de directorio non están permitidos aquí." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Índice de %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" - -msgid "The install worked successfully! Congratulations!" -msgstr "" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" - -msgid "Django Documentation" -msgstr "" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "" - -msgid "Get started with Django" -msgstr "" - -msgid "Django Community" -msgstr "" - -msgid "Connect, get help, or contribute" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/gl/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/gl/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/gl/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/gl/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index d6a177fc..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/gl/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/gl/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/gl/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 19174599..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/gl/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/gl/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/gl/formats.py deleted file mode 100644 index 9f29c239..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/gl/formats.py +++ /dev/null @@ -1,21 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = r'j \d\e F \d\e Y' -TIME_FORMAT = 'H:i' -DATETIME_FORMAT = r'j \d\e F \d\e Y \á\s H:i' -YEAR_MONTH_FORMAT = r'F \d\e Y' -MONTH_DAY_FORMAT = r'j \d\e F' -SHORT_DATE_FORMAT = 'd-m-Y' -SHORT_DATETIME_FORMAT = 'd-m-Y, H:i' -FIRST_DAY_OF_WEEK = 1 # Monday - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -# DATE_INPUT_FORMATS = -# TIME_INPUT_FORMATS = -# DATETIME_INPUT_FORMATS = -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = '.' -# NUMBER_GROUPING = diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/he/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/he/LC_MESSAGES/django.mo deleted file mode 100644 index 03d57e25..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/he/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/he/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/he/LC_MESSAGES/django.po deleted file mode 100644 index 00ada759..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/he/LC_MESSAGES/django.po +++ /dev/null @@ -1,1311 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# 534b44a19bf18d20b71ecc4eb77c572f_db336e9 , 2011-2012 -# Jannis Leidel , 2011 -# Meir Kriheli , 2011-2015,2017,2019-2020 -# אורי רודברג , 2020 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-08-02 13:17+0000\n" -"Last-Translator: Meir Kriheli \n" -"Language-Team: Hebrew (http://www.transifex.com/django/django/language/he/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: he\n" -"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % " -"1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\n" - -msgid "Afrikaans" -msgstr "אפריקאנס" - -msgid "Arabic" -msgstr "ערבית" - -msgid "Algerian Arabic" -msgstr "ערבית אלג'ירית" - -msgid "Asturian" -msgstr "אסטורית" - -msgid "Azerbaijani" -msgstr "אזרית" - -msgid "Bulgarian" -msgstr "בולגרית" - -msgid "Belarusian" -msgstr "בֶּלָרוּסִית" - -msgid "Bengali" -msgstr "בנגאלית" - -msgid "Breton" -msgstr "בְּרֶטוֹנִית" - -msgid "Bosnian" -msgstr "בוסנית" - -msgid "Catalan" -msgstr "קאטלונית" - -msgid "Czech" -msgstr "צ'כית" - -msgid "Welsh" -msgstr "וולשית" - -msgid "Danish" -msgstr "דנית" - -msgid "German" -msgstr "גרמנית" - -msgid "Lower Sorbian" -msgstr "סורבית תחתונה" - -msgid "Greek" -msgstr "יוונית" - -msgid "English" -msgstr "אנגלית" - -msgid "Australian English" -msgstr "אנגלית אוסטרלית" - -msgid "British English" -msgstr "אנגלית בריטית" - -msgid "Esperanto" -msgstr "אספרנטו" - -msgid "Spanish" -msgstr "ספרדית" - -msgid "Argentinian Spanish" -msgstr "ספרדית ארגנטינית" - -msgid "Colombian Spanish" -msgstr "ספרדית קולומביאנית" - -msgid "Mexican Spanish" -msgstr "ספרדית מקסיקנית" - -msgid "Nicaraguan Spanish" -msgstr "ספרדית ניקרגואה" - -msgid "Venezuelan Spanish" -msgstr "ספרדית ונצואלית" - -msgid "Estonian" -msgstr "אסטונית" - -msgid "Basque" -msgstr "בסקית" - -msgid "Persian" -msgstr "פרסית" - -msgid "Finnish" -msgstr "פינית" - -msgid "French" -msgstr "צרפתית" - -msgid "Frisian" -msgstr "פריזית" - -msgid "Irish" -msgstr "אירית" - -msgid "Scottish Gaelic" -msgstr "גאלית סקוטית" - -msgid "Galician" -msgstr "גאליציאנית" - -msgid "Hebrew" -msgstr "עברית" - -msgid "Hindi" -msgstr "הינדי" - -msgid "Croatian" -msgstr "קרואטית" - -msgid "Upper Sorbian" -msgstr "סורבית עילית" - -msgid "Hungarian" -msgstr "הונגרית" - -msgid "Armenian" -msgstr "ארמנית" - -msgid "Interlingua" -msgstr "אינטרלינגואה" - -msgid "Indonesian" -msgstr "אינדונזית" - -msgid "Igbo" -msgstr "איגבו" - -msgid "Ido" -msgstr "אידו" - -msgid "Icelandic" -msgstr "איסלנדית" - -msgid "Italian" -msgstr "איטלקית" - -msgid "Japanese" -msgstr "יפנית" - -msgid "Georgian" -msgstr "גיאורגית" - -msgid "Kabyle" -msgstr "קבילה" - -msgid "Kazakh" -msgstr "קזחית" - -msgid "Khmer" -msgstr "חמר" - -msgid "Kannada" -msgstr "קאנאדה" - -msgid "Korean" -msgstr "קוריאנית" - -msgid "Kyrgyz" -msgstr "קירגיזית" - -msgid "Luxembourgish" -msgstr "לוקסמבורגית" - -msgid "Lithuanian" -msgstr "ליטאית" - -msgid "Latvian" -msgstr "לטבית" - -msgid "Macedonian" -msgstr "מקדונית" - -msgid "Malayalam" -msgstr "מלאיאלאם" - -msgid "Mongolian" -msgstr "מונגולי" - -msgid "Marathi" -msgstr "מראטהי" - -msgid "Burmese" -msgstr "בּוּרְמֶזִית" - -msgid "Norwegian Bokmål" -msgstr "נורבגית ספרותית" - -msgid "Nepali" -msgstr "נפאלית" - -msgid "Dutch" -msgstr "הולנדית" - -msgid "Norwegian Nynorsk" -msgstr "נורבגית חדשה" - -msgid "Ossetic" -msgstr "אוסטית" - -msgid "Punjabi" -msgstr "פנג'אבי" - -msgid "Polish" -msgstr "פולנית" - -msgid "Portuguese" -msgstr "פורטוגזית" - -msgid "Brazilian Portuguese" -msgstr "פורטוגזית ברזילאית" - -msgid "Romanian" -msgstr "רומנית" - -msgid "Russian" -msgstr "רוסית" - -msgid "Slovak" -msgstr "סלובקית" - -msgid "Slovenian" -msgstr "סלובנית" - -msgid "Albanian" -msgstr "אלבנית" - -msgid "Serbian" -msgstr "סרבית" - -msgid "Serbian Latin" -msgstr "סרבית לטינית" - -msgid "Swedish" -msgstr "שוודית" - -msgid "Swahili" -msgstr "סווהילי" - -msgid "Tamil" -msgstr "טמילית" - -msgid "Telugu" -msgstr "טלגו" - -msgid "Tajik" -msgstr "טג'יקית" - -msgid "Thai" -msgstr "תאילנדית" - -msgid "Turkmen" -msgstr "טורקמנית" - -msgid "Turkish" -msgstr "טורקית" - -msgid "Tatar" -msgstr "טטרית" - -msgid "Udmurt" -msgstr "אודמורטית" - -msgid "Ukrainian" -msgstr "אוקראינית" - -msgid "Urdu" -msgstr "אורדו" - -msgid "Uzbek" -msgstr "אוזבקית" - -msgid "Vietnamese" -msgstr "וייטנאמית" - -msgid "Simplified Chinese" -msgstr "סינית פשוטה" - -msgid "Traditional Chinese" -msgstr "סינית מסורתית" - -msgid "Messages" -msgstr "הודעות" - -msgid "Site Maps" -msgstr "מפות אתר" - -msgid "Static Files" -msgstr "קבצים סטטיים" - -msgid "Syndication" -msgstr "הפצת תכנים" - -msgid "That page number is not an integer" -msgstr "מספר העמוד אינו מספר שלם" - -msgid "That page number is less than 1" -msgstr "מספר העמוד קטן מ־1" - -msgid "That page contains no results" -msgstr "עמוד זה אינו מכיל תוצאות" - -msgid "Enter a valid value." -msgstr "יש להזין ערך חוקי." - -msgid "Enter a valid URL." -msgstr "יש להזין URL חוקי." - -msgid "Enter a valid integer." -msgstr "יש להזין מספר שלם חוקי." - -msgid "Enter a valid email address." -msgstr "נא להזין כתובת דוא\"ל חוקית" - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" -"יש להזין 'slug' חוקי המכיל אותיות לטיניות, ספרות, קווים תחתונים או מקפים." - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" -"יש להזין 'slug' חוקי המכיל אותיות יוניקוד, ספרות, קווים תחתונים או מקפים." - -msgid "Enter a valid IPv4 address." -msgstr "יש להזין כתובת IPv4 חוקית." - -msgid "Enter a valid IPv6 address." -msgstr "יש להזין כתובת IPv6 חוקית." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "יש להזין כתובת IPv4 או IPv6 חוקית." - -msgid "Enter only digits separated by commas." -msgstr "יש להזין רק ספרות מופרדות בפסיקים." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "יש לוודא שערך זה הינו %(limit_value)s (כרגע %(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "יש לוודא שערך זה פחות מ או שווה ל־%(limit_value)s ." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "יש לוודא שהערך גדול מ או שווה ל־%(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"נא לוודא שערך זה מכיל תו %(limit_value)d לכל הפחות (מכיל %(show_value)d)." -msgstr[1] "" -"נא לוודא שערך זה מכיל %(limit_value)d תווים לכל הפחות (מכיל %(show_value)d)." -msgstr[2] "" -"נא לוודא שערך זה מכיל %(limit_value)d תווים לכל הפחות (מכיל %(show_value)d)." -msgstr[3] "" -"נא לוודא שערך זה מכיל %(limit_value)d תווים לכל הפחות (מכיל %(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"נא לוודא שערך זה מכיל תו %(limit_value)d לכל היותר (מכיל %(show_value)d)." -msgstr[1] "" -"נא לוודא שערך זה מכיל %(limit_value)d תווים לכל היותר (מכיל %(show_value)d)." -msgstr[2] "" -"נא לוודא שערך זה מכיל %(limit_value)d תווים לכל היותר (מכיל %(show_value)d)." -msgstr[3] "" -"נא לוודא שערך זה מכיל %(limit_value)d תווים לכל היותר (מכיל %(show_value)d)." - -msgid "Enter a number." -msgstr "נא להזין מספר." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "נא לוודא שאין יותר מספרה %(max)s בסה\"כ." -msgstr[1] "נא לוודא שאין יותר מ־%(max)s ספרות בסה\"כ." -msgstr[2] "נא לוודא שאין יותר מ־%(max)s ספרות בסה\"כ." -msgstr[3] "נא לוודא שאין יותר מ־%(max)s ספרות בסה\"כ." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "נא לוודא שאין יותר מספרה %(max)s אחרי הנקודה." -msgstr[1] "נא לוודא שאין יותר מ־%(max)s ספרות אחרי הנקודה." -msgstr[2] "נא לוודא שאין יותר מ־%(max)s ספרות אחרי הנקודה." -msgstr[3] "נא לוודא שאין יותר מ־%(max)s ספרות אחרי הנקודה." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "נא לוודא שאין יותר מספרה %(max)s לפני הנקודה העשרונית" -msgstr[1] "נא לוודא שאין יותר מ־%(max)s ספרות לפני הנקודה העשרונית" -msgstr[2] "נא לוודא שאין יותר מ־%(max)s ספרות לפני הנקודה העשרונית" -msgstr[3] "נא לוודא שאין יותר מ־%(max)s ספרות לפני הנקודה העשרונית" - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" -"סיומת הקובץ \"%(extension)s\" אסורה. הסיומות המותרות הן: " -"'%(allowed_extensions)s." - -msgid "Null characters are not allowed." -msgstr "תווי NULL אינם מותרים. " - -msgid "and" -msgstr "ו" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "%(model_name)s·עם·%(field_labels)s·אלו קיימים כבר." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "ערך %(value)r אינו אפשרות חוקית." - -msgid "This field cannot be null." -msgstr "שדה זה אינו יכול להיות ריק." - -msgid "This field cannot be blank." -msgstr "שדה זה אינו יכול להיות ריק." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s·עם·%(field_label)s·זה קיימת כבר." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(field_label)s חייב להיות ייחודי עבור %(date_field_label)s %(lookup_type)s." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "שדה מסוג: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "הערך \"%(value)s\" חייב להיות True או False." - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "\"%(value)s\" חייב להיות אחד מ־True‏, False, או None." - -msgid "Boolean (Either True or False)" -msgstr "בוליאני (אמת או שקר)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "מחרוזת (עד %(max_length)s תווים)" - -msgid "Comma-separated integers" -msgstr "מספרים שלמים מופרדים בפסיקים" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" -"הערך \"%(value)s\" מכיל פורמט תאריך לא חוקי. חייב להיות בפורמט YYYY-MM-DD." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "הערך \"%(value)s\" בפורמט הנכון (YYYY-MM-DD), אך אינו תאריך חוקי." - -msgid "Date (without time)" -msgstr "תאריך (ללא שעה)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" -"הערך \"%(value)s\" מכיל פורמט לא חוקי. הוא חייב להיות בפורמטYYYY-MM-DD HH:" -"MM[:ss[.uuuuuu]][TZ]." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" -"הערך \"%(value)s\" בפורמט הנכון (YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]) אך אינו " -"מהווה תאריך/שעה חוקיים." - -msgid "Date (with time)" -msgstr "תאריך (כולל שעה)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "הערך \"%(value)s\" חייב להיות מספר עשרוני." - -msgid "Decimal number" -msgstr "מספר עשרוני" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" -"הערך \"%(value)s\" מכיל פורמט לא חוקי. הוא חייב להיות בפורמט [DD] " -"[[HH:]MM:]ss[.uuuuuu]." - -msgid "Duration" -msgstr "משך" - -msgid "Email address" -msgstr "כתובת דוא\"ל" - -msgid "File path" -msgstr "נתיב קובץ" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "“%(value)s” חייב להיות מספר נקודה צפה." - -msgid "Floating point number" -msgstr "מספר עשרוני" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "הערך '%(value)s' חייב להיות מספר שלם." - -msgid "Integer" -msgstr "מספר שלם" - -msgid "Big (8 byte) integer" -msgstr "מספר שלם גדול (8 בתים)" - -msgid "IPv4 address" -msgstr "כתובת IPv4" - -msgid "IP address" -msgstr "כתובת IP" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "\"%(value)s\" חייב להיות אחד מ־None‏, True, או False." - -msgid "Boolean (Either True, False or None)" -msgstr "בוליאני (אמת, שקר או כלום)" - -msgid "Positive big integer" -msgstr "מספר שלם גדול וחיובי" - -msgid "Positive integer" -msgstr "מספר שלם חיובי" - -msgid "Positive small integer" -msgstr "מספר שלם חיובי קטן" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Slug (עד %(max_length)s תווים)" - -msgid "Small integer" -msgstr "מספר שלם קטן" - -msgid "Text" -msgstr "טקסט" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" -"הערך “%(value)s” מכיל פורמט לא חוקי. הוא חייב להיות בפורמט HH:MM[:ss[." -"uuuuuu]]." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" -"הערך “%(value)s” בפורמט הנכון (HH:MM[:ss[.uuuuuu]]) אך אינו מהווה שעה חוקית." - -msgid "Time" -msgstr "זמן" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "מידע בינארי גולמי" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "\"%(value)s\" אינו UUID חוקי." - -msgid "Universally unique identifier" -msgstr "מזהה ייחודי אוניברסלי" - -msgid "File" -msgstr "קובץ" - -msgid "Image" -msgstr "תמונה" - -msgid "A JSON object" -msgstr "אובייקט JSON" - -msgid "Value must be valid JSON." -msgstr "הערך חייב להיות JSON חוקי." - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "פריט %(model)s עם %(field)s %(value)r אינו קיים." - -msgid "Foreign Key (type determined by related field)" -msgstr "Foreign Key (הסוג נקבע לפי השדה המקושר)" - -msgid "One-to-one relationship" -msgstr "יחס של אחד לאחד" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "קשר %(from)s-%(to)s" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "קשרי %(from)s-%(to)s" - -msgid "Many-to-many relationship" -msgstr "יחס של רבים לרבים" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "יש להזין תוכן בשדה זה." - -msgid "Enter a whole number." -msgstr "נא להזין מספר שלם." - -msgid "Enter a valid date." -msgstr "יש להזין תאריך חוקי." - -msgid "Enter a valid time." -msgstr "יש להזין שעה חוקית." - -msgid "Enter a valid date/time." -msgstr "יש להזין תאריך ושעה חוקיים." - -msgid "Enter a valid duration." -msgstr "יש להזין משך חוקי." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "מספר הימים חייב להיות בין {min_days} ל־{max_days}." - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "לא נשלח שום קובץ. נא לבדוק את סוג הקידוד של הטופס." - -msgid "No file was submitted." -msgstr "לא נשלח שום קובץ" - -msgid "The submitted file is empty." -msgstr "הקובץ שנשלח ריק." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "נא לוודא ששם קובץ זה מכיל תו %(max)d לכל היותר (מכיל %(length)d)." -msgstr[1] "" -"נא לוודא ששם קובץ זה מכיל %(max)d תווים לכל היותר (מכיל %(length)d)." -msgstr[2] "" -"נא לוודא ששם קובץ זה מכיל %(max)d תווים לכל היותר (מכיל %(length)d)." -msgstr[3] "" -"נא לוודא ששם קובץ זה מכיל %(max)d תווים לכל היותר (מכיל %(length)d)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "נא לשים קובץ או סימן את התיבה לניקוי, לא שניהם." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "נא להעלות תמונה חוקית. הקובץ שהעלת אינו תמונה או מכיל תמונה מקולקלת." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "יש לבחור אפשרות חוקית. %(value)s אינו בין האפשרויות הזמינות." - -msgid "Enter a list of values." -msgstr "יש להזין רשימת ערכים" - -msgid "Enter a complete value." -msgstr "יש להזין ערך שלם." - -msgid "Enter a valid UUID." -msgstr "יש להזין UUID חוקי." - -msgid "Enter a valid JSON." -msgstr "נא להזין JSON חוקי." - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(שדה מוסתר %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "מידע ManagementForm חסר או התעסקו איתו." - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "נא לשלוח טופס %d לכל היותר." -msgstr[1] "נא לשלוח %d טפסים לכל היותר." -msgstr[2] "נא לשלוח %d טפסים לכל היותר." -msgstr[3] "נא לשלוח %d טפסים לכל היותר." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "נא לשלוח טופס %d או יותר." -msgstr[1] "נא לשלוח %d טפסים או יותר." -msgstr[2] "נא לשלוח %d טפסים או יותר." -msgstr[3] "נא לשלוח %d טפסים או יותר." - -msgid "Order" -msgstr "מיון" - -msgid "Delete" -msgstr "מחיקה" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "נא לתקן את הערכים הכפולים ל%(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "נא לתקן את הערכים הכפולים ל%(field)s, שערכים בו חייבים להיות ייחודיים." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"נא לתקן את הערכים הכפולים %(field_name)s, שחייבים להיות ייחודיים ל%(lookup)s " -"של %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "נא לתקן את הערכים הכפולים למטה." - -msgid "The inline value did not match the parent instance." -msgstr "הערך הפנימי אינו תואם לאב." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "יש לבחור אפשרות חוקית; אפשרות זו אינה אחת מהזמינות." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "\"%(pk)s\" אינו ערך חוקי." - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" -"לא ניתן לפרש את %(datetime)s באזור הזמן %(current_timezone)s; הוא עשוי להיות " -"דו־משמעי או לא קיים." - -msgid "Clear" -msgstr "לסלק" - -msgid "Currently" -msgstr "עכשיו" - -msgid "Change" -msgstr "שינוי" - -msgid "Unknown" -msgstr "לא ידוע" - -msgid "Yes" -msgstr "כן" - -msgid "No" -msgstr "לא" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "כן,לא,אולי" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "בית %(size)d " -msgstr[1] "%(size)d בתים" -msgstr[2] "%(size)d בתים" -msgstr[3] "%(size)d בתים" - -#, python-format -msgid "%s KB" -msgstr "%s ק\"ב" - -#, python-format -msgid "%s MB" -msgstr "%s מ\"ב" - -#, python-format -msgid "%s GB" -msgstr "%s ג\"ב" - -#, python-format -msgid "%s TB" -msgstr "%s ט\"ב" - -#, python-format -msgid "%s PB" -msgstr "%s פ\"ב" - -msgid "p.m." -msgstr "אחר הצהריים" - -msgid "a.m." -msgstr "בבוקר" - -msgid "PM" -msgstr "אחר הצהריים" - -msgid "AM" -msgstr "בבוקר" - -msgid "midnight" -msgstr "חצות" - -msgid "noon" -msgstr "12 בצהריים" - -msgid "Monday" -msgstr "שני" - -msgid "Tuesday" -msgstr "שלישי" - -msgid "Wednesday" -msgstr "רביעי" - -msgid "Thursday" -msgstr "חמישי" - -msgid "Friday" -msgstr "שישי" - -msgid "Saturday" -msgstr "שבת" - -msgid "Sunday" -msgstr "ראשון" - -msgid "Mon" -msgstr "שני" - -msgid "Tue" -msgstr "שלישי" - -msgid "Wed" -msgstr "רביעי" - -msgid "Thu" -msgstr "חמישי" - -msgid "Fri" -msgstr "שישי" - -msgid "Sat" -msgstr "שבת" - -msgid "Sun" -msgstr "ראשון" - -msgid "January" -msgstr "ינואר" - -msgid "February" -msgstr "פברואר" - -msgid "March" -msgstr "מרץ" - -msgid "April" -msgstr "אפריל" - -msgid "May" -msgstr "מאי" - -msgid "June" -msgstr "יוני" - -msgid "July" -msgstr "יולי" - -msgid "August" -msgstr "אוגוסט" - -msgid "September" -msgstr "ספטמבר" - -msgid "October" -msgstr "אוקטובר" - -msgid "November" -msgstr "נובמבר" - -msgid "December" -msgstr "דצמבר" - -msgid "jan" -msgstr "ינו" - -msgid "feb" -msgstr "פבר" - -msgid "mar" -msgstr "מרץ" - -msgid "apr" -msgstr "אפר" - -msgid "may" -msgstr "מאי" - -msgid "jun" -msgstr "יונ" - -msgid "jul" -msgstr "יול" - -msgid "aug" -msgstr "אוג" - -msgid "sep" -msgstr "ספט" - -msgid "oct" -msgstr "אוק" - -msgid "nov" -msgstr "נוב" - -msgid "dec" -msgstr "דצמ" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "יאנ'" - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "פבר'" - -msgctxt "abbrev. month" -msgid "March" -msgstr "מרץ" - -msgctxt "abbrev. month" -msgid "April" -msgstr "אפריל" - -msgctxt "abbrev. month" -msgid "May" -msgstr "מאי" - -msgctxt "abbrev. month" -msgid "June" -msgstr "יוני" - -msgctxt "abbrev. month" -msgid "July" -msgstr "יולי" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "אוג'" - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "ספט'" - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "אוק'" - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "נוב'" - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "דצמ'" - -msgctxt "alt. month" -msgid "January" -msgstr "ינואר" - -msgctxt "alt. month" -msgid "February" -msgstr "פברואר" - -msgctxt "alt. month" -msgid "March" -msgstr "מרץ" - -msgctxt "alt. month" -msgid "April" -msgstr "אפריל" - -msgctxt "alt. month" -msgid "May" -msgstr "מאי" - -msgctxt "alt. month" -msgid "June" -msgstr "יוני" - -msgctxt "alt. month" -msgid "July" -msgstr "יולי" - -msgctxt "alt. month" -msgid "August" -msgstr "אוגוסט" - -msgctxt "alt. month" -msgid "September" -msgstr "ספטמבר" - -msgctxt "alt. month" -msgid "October" -msgstr "אוקטובר" - -msgctxt "alt. month" -msgid "November" -msgstr "נובמבר" - -msgctxt "alt. month" -msgid "December" -msgstr "דצמבר" - -msgid "This is not a valid IPv6 address." -msgstr "זו אינה כתובת IPv6 חוקית." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s‮…" - -msgid "or" -msgstr "או" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "שנה %d" -msgstr[1] "%d שנים" -msgstr[2] "%d שנים" -msgstr[3] "%d שנים" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "חודש %d" -msgstr[1] "%d חודשים" -msgstr[2] "%d חודשים" -msgstr[3] "%d חודשים" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "שבוע %d" -msgstr[1] "%d שבועות" -msgstr[2] "%d שבועות" -msgstr[3] "%d שבועות" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "יום %d" -msgstr[1] "%d ימים" -msgstr[2] "%d ימים" -msgstr[3] "%d ימים" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "שעה %d" -msgstr[1] "%d שעות" -msgstr[2] "%d שעות" -msgstr[3] "%d שעות" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "דקה %d" -msgstr[1] "%d דקות" -msgstr[2] "%d דקות" -msgstr[3] "%d דקות" - -msgid "Forbidden" -msgstr "אסור" - -msgid "CSRF verification failed. Request aborted." -msgstr "אימות CSRF נכשל. הבקשה בוטלה." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" -"הודעה זו מופיעה מאחר ואתר ה־HTTPS הזה דורש מהדפדפן שלך לשלוח \"Referer header" -"\", אך הוא לא נשלח. זה נדרש מסיבות אבטחה, כדי להבטיח שהדפדפן שלך לא נחטף ע" -"\"י צד שלישי." - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" -"אם ביטלת \"Referer\" headers בדפדפן שלך, נא לאפשר אותם מחדש, לפחות עבור אתר " -"זה, חיבורי HTTPS או בקשות \"same-origin\"." - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" -"אם השתמשת בתגאו הוספת header " -"של “Referrer-Policy: no-referrer”, נא להסיר אותם. הגנת ה־CSRF דורשת" -" ‎“Referer” header לבדיקת ה־referer. אם פרטיות מדאיגה אותך, ניתן להשתמש " -"בתחליפים כמו לקישור אל אתרי צד שלישי." - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"הודעה זו מופיעה מאחר ואתר זה דורש עוגיית CSRF כאשר שולחים טפסים. עוגיה זו " -"נדרשת מסיבות אבטחה, כדי לוודא שהדפדפן שלך לא נחטף על ידי אחרים." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" -"אם ביטלת עוגיות בדפדפן שלך, נא לאפשר אותם מחדש לפחות עבור אתר זה או בקשות " -"“same-origin”." - -msgid "More information is available with DEBUG=True." -msgstr "מידע נוסף זמין עם " - -msgid "No year specified" -msgstr "לא צויינה שנה" - -msgid "Date out of range" -msgstr "תאריך מחוץ לטווח" - -msgid "No month specified" -msgstr "לא צויין חודש" - -msgid "No day specified" -msgstr "לא צויין יום" - -msgid "No week specified" -msgstr "לא צויין שבוע" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "לא נמצאו %(verbose_name_plural)s" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"לא נמצאו %(verbose_name_plural)s בזמן עתיד מאחר ש-%(class_name)s." -"allow_future מוגדר False." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "מחרוזת תאריך %(datestr)s אינה חוקית בפורמט %(format)s." - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "לא נמצא/ה %(verbose_name)s התואם/ת לשאילתה" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "העמוד אינו \"last\" או לא ניתן להמרה למספר שם." - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "עמוד לא חוקי (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "רשימה ריקה ו־“%(class_name)s.allow_empty” הוא False." - -msgid "Directory indexes are not allowed here." -msgstr "אינדקסים על תיקיה אסורים כאן." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "\"%(path)s\" אינו קיים" - -#, python-format -msgid "Index of %(directory)s" -msgstr "אינדקס של %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "Django: תשתית הווב לפרפקציוניסטים עם תאריכי יעד." - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"ראו הערות השחרור עבור Django %(version)s" - -msgid "The install worked successfully! Congratulations!" -msgstr "ההתקנה עברה בהצלחה! מזל טוב!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"עמוד זה מופיע בעקבות המצאות DEBUG=True בקובץ ההגדרות שלך ולא הגדרת שום URLs." - -msgid "Django Documentation" -msgstr "תיעוד Django" - -msgid "Topics, references, & how-to’s" -msgstr "נושאים, הפניות ומדריכים לביצוע" - -msgid "Tutorial: A Polling App" -msgstr "מדריך ללומד: יישום לסקרים." - -msgid "Get started with Django" -msgstr "התחילו לעבוד עם Django" - -msgid "Django Community" -msgstr "קהילת Django" - -msgid "Connect, get help, or contribute" -msgstr "יצירת קשר, קבלת עזרה או השתתפות" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/he/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/he/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/he/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/he/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index c53da336..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/he/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/he/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/he/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 9da32cc2..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/he/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/he/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/he/formats.py deleted file mode 100644 index 23145654..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/he/formats.py +++ /dev/null @@ -1,21 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'j בF Y' -TIME_FORMAT = 'H:i' -DATETIME_FORMAT = 'j בF Y H:i' -YEAR_MONTH_FORMAT = 'F Y' -MONTH_DAY_FORMAT = 'j בF' -SHORT_DATE_FORMAT = 'd/m/Y' -SHORT_DATETIME_FORMAT = 'd/m/Y H:i' -# FIRST_DAY_OF_WEEK = - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -# DATE_INPUT_FORMATS = -# TIME_INPUT_FORMATS = -# DATETIME_INPUT_FORMATS = -DECIMAL_SEPARATOR = '.' -THOUSAND_SEPARATOR = ',' -# NUMBER_GROUPING = diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/hi/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/hi/LC_MESSAGES/django.mo deleted file mode 100644 index b1aa3f68..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/hi/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/hi/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/hi/LC_MESSAGES/django.po deleted file mode 100644 index 427d0151..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/hi/LC_MESSAGES/django.po +++ /dev/null @@ -1,1237 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# alkuma , 2013 -# Chandan kumar , 2012 -# Claude Paroz , 2020 -# Jannis Leidel , 2011 -# Pratik , 2013 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-07-14 21:42+0000\n" -"Last-Translator: Transifex Bot <>\n" -"Language-Team: Hindi (http://www.transifex.com/django/django/language/hi/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hi\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "Afrikaans" -msgstr "अफ़्रीकांस" - -msgid "Arabic" -msgstr "अरबी" - -msgid "Algerian Arabic" -msgstr "" - -msgid "Asturian" -msgstr "" - -msgid "Azerbaijani" -msgstr "आज़रबाइजानी" - -msgid "Bulgarian" -msgstr "बलगारियन" - -msgid "Belarusian" -msgstr "बेलारूसी" - -msgid "Bengali" -msgstr "बंगाली" - -msgid "Breton" -msgstr "ब्रेटन" - -msgid "Bosnian" -msgstr "बोस्नियन" - -msgid "Catalan" -msgstr "कटलान" - -msgid "Czech" -msgstr "च्चेक" - -msgid "Welsh" -msgstr "वेल्श" - -msgid "Danish" -msgstr "दानिश" - -msgid "German" -msgstr "जर्मन" - -msgid "Lower Sorbian" -msgstr "" - -msgid "Greek" -msgstr "ग्रीक" - -msgid "English" -msgstr "अंग्रेज़ी " - -msgid "Australian English" -msgstr "" - -msgid "British English" -msgstr "ब्रिटिश अंग्रेजी" - -msgid "Esperanto" -msgstr "एस्परेन्तो" - -msgid "Spanish" -msgstr "स्पानिश" - -msgid "Argentinian Spanish" -msgstr "अर्जेंटीना स्पैनिश " - -msgid "Colombian Spanish" -msgstr "" - -msgid "Mexican Spanish" -msgstr "मेक्सिकन स्पैनिश" - -msgid "Nicaraguan Spanish" -msgstr "निकारागुआ स्पैनिश" - -msgid "Venezuelan Spanish" -msgstr "वेनेज़ुएलाई स्पेनिश" - -msgid "Estonian" -msgstr "एस्टोनियन" - -msgid "Basque" -msgstr "बास्क" - -msgid "Persian" -msgstr "पारसी" - -msgid "Finnish" -msgstr "फ़िन्निश" - -msgid "French" -msgstr "फ्रेंच" - -msgid "Frisian" -msgstr "फ्रिसियन" - -msgid "Irish" -msgstr "आयरिश" - -msgid "Scottish Gaelic" -msgstr "" - -msgid "Galician" -msgstr "गलिशियन" - -msgid "Hebrew" -msgstr "हि‍ब्रू" - -msgid "Hindi" -msgstr "हिंदी" - -msgid "Croatian" -msgstr "क्रोयेशियन" - -msgid "Upper Sorbian" -msgstr "" - -msgid "Hungarian" -msgstr "हंगेरियन" - -msgid "Armenian" -msgstr "" - -msgid "Interlingua" -msgstr "इंतर्लिंगुआ" - -msgid "Indonesian" -msgstr "इन्डोनेशियन " - -msgid "Igbo" -msgstr "" - -msgid "Ido" -msgstr "" - -msgid "Icelandic" -msgstr "आयिस्लान्डिक" - -msgid "Italian" -msgstr "इटैलियन" - -msgid "Japanese" -msgstr "जपानी" - -msgid "Georgian" -msgstr "ज्योर्जियन" - -msgid "Kabyle" -msgstr "" - -msgid "Kazakh" -msgstr "कज़ाख" - -msgid "Khmer" -msgstr "ख्मेर" - -msgid "Kannada" -msgstr "कन्‍नड़" - -msgid "Korean" -msgstr "कोरियन" - -msgid "Kyrgyz" -msgstr "" - -msgid "Luxembourgish" -msgstr "लक्संबर्गी" - -msgid "Lithuanian" -msgstr "लिथुवेनियन" - -msgid "Latvian" -msgstr "लात्वियन" - -msgid "Macedonian" -msgstr "मेसिडोनियन" - -msgid "Malayalam" -msgstr "मलयालम" - -msgid "Mongolian" -msgstr "मंगोलियन" - -msgid "Marathi" -msgstr "" - -msgid "Burmese" -msgstr "बर्मीज़" - -msgid "Norwegian Bokmål" -msgstr "" - -msgid "Nepali" -msgstr "नेपाली" - -msgid "Dutch" -msgstr "डच" - -msgid "Norwegian Nynorsk" -msgstr "नार्वेजियन नायनॉर्स्क" - -msgid "Ossetic" -msgstr "ओस्सेटिक" - -msgid "Punjabi" -msgstr "पंजाबी" - -msgid "Polish" -msgstr "पोलिश" - -msgid "Portuguese" -msgstr "पुर्तगाली" - -msgid "Brazilian Portuguese" -msgstr "ब्रजिलियन पुर्तगाली" - -msgid "Romanian" -msgstr "रोमानियन" - -msgid "Russian" -msgstr "रूसी" - -msgid "Slovak" -msgstr "स्लोवाक" - -msgid "Slovenian" -msgstr "स्लोवेनियन" - -msgid "Albanian" -msgstr "अल्बेनियन्" - -msgid "Serbian" -msgstr "सर्बियन" - -msgid "Serbian Latin" -msgstr "सर्बियाई लैटिन" - -msgid "Swedish" -msgstr "स्वीडिश" - -msgid "Swahili" -msgstr "स्वाहिली" - -msgid "Tamil" -msgstr "तमिल" - -msgid "Telugu" -msgstr "तेलुगु" - -msgid "Tajik" -msgstr "" - -msgid "Thai" -msgstr "थाई" - -msgid "Turkmen" -msgstr "" - -msgid "Turkish" -msgstr "तुर्किश" - -msgid "Tatar" -msgstr "तातार" - -msgid "Udmurt" -msgstr "उद्मर्त" - -msgid "Ukrainian" -msgstr "यूक्रानियन" - -msgid "Urdu" -msgstr "उर्दू" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "वियतनामी" - -msgid "Simplified Chinese" -msgstr "सरल चीनी" - -msgid "Traditional Chinese" -msgstr "पारम्परिक चीनी" - -msgid "Messages" -msgstr "" - -msgid "Site Maps" -msgstr "" - -msgid "Static Files" -msgstr "" - -msgid "Syndication" -msgstr "" - -msgid "That page number is not an integer" -msgstr "" - -msgid "That page number is less than 1" -msgstr "" - -msgid "That page contains no results" -msgstr "" - -msgid "Enter a valid value." -msgstr "एक मान्य मूल्य दर्ज करें" - -msgid "Enter a valid URL." -msgstr "वैध यू.आर.एल भरें ।" - -msgid "Enter a valid integer." -msgstr "" - -msgid "Enter a valid email address." -msgstr "वैध डाक पता प्रविष्ट करें।" - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "वैध आइ.पि वी 4 पता भरें ।" - -msgid "Enter a valid IPv6 address." -msgstr "वैध IPv6 पता दर्ज करें." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "वैध IPv4 या IPv6 पता दर्ज करें." - -msgid "Enter only digits separated by commas." -msgstr "अल्पविराम अंक मात्र ही भरें ।" - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" -"सुनिश्चित करें कि यह मान %(limit_value)s (यह\n" -" %(show_value)s है) है ।" - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "सुनिश्चित करें कि यह मान %(limit_value)s से कम या बराबर है ।" - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "सुनिश्चित करें यह मान %(limit_value)s से बड़ा या बराबर है ।" - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" - -msgid "Enter a number." -msgstr "एक संख्या दर्ज करें ।" - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "" - -msgid "and" -msgstr "और" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "" - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "" - -msgid "This field cannot be null." -msgstr "यह मूल्य खाली नहीं हो सकता ।" - -msgid "This field cannot be blank." -msgstr "इस फ़ील्ड रिक्त नहीं हो सकता है." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "इस %(field_label)s के साथ एक %(model_name)s पहले से ही उपस्थित है ।" - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "फील्ड के प्रकार: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "बूलियन (सही अथ‌वा गलत)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "स्ट्रिंग (अधिकतम लम्बाई %(max_length)s)" - -msgid "Comma-separated integers" -msgstr "अल्पविराम सीमांकित संख्या" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "तिथि (बिना समय)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "तिथि (समय के साथ)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "दशमलव संख्या" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "" - -msgid "Email address" -msgstr "ईमेल पता" - -msgid "File path" -msgstr "संचिका पथ" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "चल बिन्दु संख्या" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "पूर्णांक" - -msgid "Big (8 byte) integer" -msgstr "बड़ा (8 बाइट) पूर्णांक " - -msgid "IPv4 address" -msgstr "IPv4 पता" - -msgid "IP address" -msgstr "आइ.पि पता" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "बूलियन (सही, गलत या कुछ नहीं)" - -msgid "Positive big integer" -msgstr "" - -msgid "Positive integer" -msgstr "धनात्मक पूर्णांक" - -msgid "Positive small integer" -msgstr "धनात्मक छोटा पूर्णांक" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "स्लग (%(max_length)s तक)" - -msgid "Small integer" -msgstr "छोटा पूर्णांक" - -msgid "Text" -msgstr "पाठ" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "समय" - -msgid "URL" -msgstr "यू.आर.एल" - -msgid "Raw binary data" -msgstr "" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "" - -msgid "File" -msgstr "फाइल" - -msgid "Image" -msgstr "छवि" - -msgid "A JSON object" -msgstr "" - -msgid "Value must be valid JSON." -msgstr "" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "" - -msgid "Foreign Key (type determined by related field)" -msgstr "विदेशी कुंजी (संबंधित क्षेत्र के द्वारा प्रकार निर्धारित)" - -msgid "One-to-one relationship" -msgstr "एक-एक संबंध" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "" - -msgid "Many-to-many relationship" -msgstr "बहुत से कई संबंध" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr "" - -msgid "This field is required." -msgstr "यह क्षेत्र अपेक्षित हैं" - -msgid "Enter a whole number." -msgstr "एक पूर्ण संख्या दर्ज करें ।" - -msgid "Enter a valid date." -msgstr "वैध तिथि भरें ।" - -msgid "Enter a valid time." -msgstr "वैध समय भरें ।" - -msgid "Enter a valid date/time." -msgstr "वैध तिथि/समय भरें ।" - -msgid "Enter a valid duration." -msgstr "" - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "" - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "कोई संचिका निवेदित नहीं हुई । कृपया कूटलेखन की जाँच करें ।" - -msgid "No file was submitted." -msgstr "कोई संचिका निवेदित नहीं हुई ।" - -msgid "The submitted file is empty." -msgstr "निवेदित संचिका खाली है ।" - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -msgstr[1] "" - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "कृपया या फ़ाइल प्रस्तुत करे या साफ जांचपेटी की जाँच करे,दोनों नहीं ." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "वैध चित्र निवेदन करें । आप के द्वारा निवेदित संचिका अमान्य अथवा दूषित है ।" - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "मान्य इच्छा चयन करें । %(value)s लभ्य इच्छाओं में उप्लब्ध नहीं हैं ।" - -msgid "Enter a list of values." -msgstr "मूल्य सूची दर्ज करें ।" - -msgid "Enter a complete value." -msgstr "" - -msgid "Enter a valid UUID." -msgstr "" - -msgid "Enter a valid JSON." -msgstr "" - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr "" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "" -msgstr[1] "" - -msgid "Order" -msgstr "छाटें" - -msgid "Delete" -msgstr "मिटाएँ" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "कृपया %(field)s के लिए डुप्लिकेट डेटा को सही करे." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "कृपया %(field)s के डुप्लिकेट डेटा जो अद्वितीय होना चाहिए को सही करें." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"कृपया %(field_name)s के लिए डुप्लिकेट डेटा को सही करे जो %(date_field)s में " -"%(lookup)s के लिए अद्वितीय होना चाहिए." - -msgid "Please correct the duplicate values below." -msgstr "कृपया डुप्लिकेट मानों को सही करें." - -msgid "The inline value did not match the parent instance." -msgstr "" - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "मान्य विकल्प चयन करें । यह विकल्प उपस्थित विकल्पों में नहीं है ।" - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "रिक्त करें" - -msgid "Currently" -msgstr "फिलहाल" - -msgid "Change" -msgstr "बदलें" - -msgid "Unknown" -msgstr "अनजान" - -msgid "Yes" -msgstr "हाँ" - -msgid "No" -msgstr "नहीं" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "हाँ,नहीं,शायद" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d बाइट" -msgstr[1] "%(size)d बाइट" - -#, python-format -msgid "%s KB" -msgstr "%s केबी " - -#, python-format -msgid "%s MB" -msgstr "%s मेबी " - -#, python-format -msgid "%s GB" -msgstr "%s जीबी " - -#, python-format -msgid "%s TB" -msgstr "%s टीबी" - -#, python-format -msgid "%s PB" -msgstr "%s पीबी" - -msgid "p.m." -msgstr "बजे" - -msgid "a.m." -msgstr "बजे" - -msgid "PM" -msgstr "बजे" - -msgid "AM" -msgstr "बजे" - -msgid "midnight" -msgstr "मध्यरात्री" - -msgid "noon" -msgstr "दोपहर" - -msgid "Monday" -msgstr "सोम‌वार" - -msgid "Tuesday" -msgstr "मंगलवार" - -msgid "Wednesday" -msgstr "बुधवार" - -msgid "Thursday" -msgstr "गुरूवार" - -msgid "Friday" -msgstr "शुक्रवार" - -msgid "Saturday" -msgstr "शनिवार" - -msgid "Sunday" -msgstr "रविवार" - -msgid "Mon" -msgstr "सोम" - -msgid "Tue" -msgstr "मंगल" - -msgid "Wed" -msgstr "बुध" - -msgid "Thu" -msgstr "गुरू" - -msgid "Fri" -msgstr "शुक्र" - -msgid "Sat" -msgstr "शनि" - -msgid "Sun" -msgstr "रवि" - -msgid "January" -msgstr "जनवरी" - -msgid "February" -msgstr "फ़रवरी" - -msgid "March" -msgstr "मार्च" - -msgid "April" -msgstr "अप्रैल" - -msgid "May" -msgstr "मई" - -msgid "June" -msgstr "जून" - -msgid "July" -msgstr "जुलाई" - -msgid "August" -msgstr "अगस्त" - -msgid "September" -msgstr "सितमबर" - -msgid "October" -msgstr "अक्टूबर" - -msgid "November" -msgstr "नवमबर" - -msgid "December" -msgstr "दिसमबर" - -msgid "jan" -msgstr "जन" - -msgid "feb" -msgstr "फ़र" - -msgid "mar" -msgstr "मा" - -msgid "apr" -msgstr "अप्र" - -msgid "may" -msgstr "मई" - -msgid "jun" -msgstr "जून" - -msgid "jul" -msgstr "जुल" - -msgid "aug" -msgstr "अग" - -msgid "sep" -msgstr "सित" - -msgid "oct" -msgstr "अक्ट" - -msgid "nov" -msgstr "नव" - -msgid "dec" -msgstr "दिस्" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "जनवरी." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "फ़रवरी." - -msgctxt "abbrev. month" -msgid "March" -msgstr "मार्च" - -msgctxt "abbrev. month" -msgid "April" -msgstr "अप्रैल" - -msgctxt "abbrev. month" -msgid "May" -msgstr "मई" - -msgctxt "abbrev. month" -msgid "June" -msgstr "जून" - -msgctxt "abbrev. month" -msgid "July" -msgstr "जुलाई" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "अग." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "सितम्बर." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "अक्टूबर" - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "नवम्बर." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "दिसम्बर" - -msgctxt "alt. month" -msgid "January" -msgstr "जनवरी" - -msgctxt "alt. month" -msgid "February" -msgstr "फरवरी" - -msgctxt "alt. month" -msgid "March" -msgstr "मार्च" - -msgctxt "alt. month" -msgid "April" -msgstr "अप्रैल" - -msgctxt "alt. month" -msgid "May" -msgstr "मई" - -msgctxt "alt. month" -msgid "June" -msgstr "जून" - -msgctxt "alt. month" -msgid "July" -msgstr "जुलाई" - -msgctxt "alt. month" -msgid "August" -msgstr "अगस्त" - -msgctxt "alt. month" -msgid "September" -msgstr "सितंबर" - -msgctxt "alt. month" -msgid "October" -msgstr "अक्टूबर" - -msgctxt "alt. month" -msgid "November" -msgstr "नवंबर" - -msgctxt "alt. month" -msgid "December" -msgstr "दिसंबर" - -msgid "This is not a valid IPv6 address." -msgstr "" - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "" - -msgid "or" -msgstr "अथवा" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "" -msgstr[1] "" - -msgid "Forbidden" -msgstr "" - -msgid "CSRF verification failed. Request aborted." -msgstr "" - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "" - -msgid "No year specified" -msgstr "कोई साल निर्दिष्ट नहीं किया गया " - -msgid "Date out of range" -msgstr "" - -msgid "No month specified" -msgstr "कोई महीने निर्दिष्ट नहीं किया गया " - -msgid "No day specified" -msgstr "कोई दिन निर्दिष्ट नहीं किया गया " - -msgid "No week specified" -msgstr "कोई सप्ताह निर्दिष्ट नहीं किया गया " - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "%(verbose_name_plural)s उपलब्ध नहीं है" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"भविष्य %(verbose_name_plural)s उपलब्ध नहीं है क्योंकि %(class_name)s.allow_future " -"गलत है." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr " इस प्रश्न %(verbose_name)s से मेल नहीं खाते है" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "अवैध पन्ना (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "निर्देशिका अनुक्रमित की अनुमति यहाँ नहीं है." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "%(directory)s का अनुक्रमणिका" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" - -msgid "The install worked successfully! Congratulations!" -msgstr "" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" - -msgid "Django Documentation" -msgstr "" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "" - -msgid "Get started with Django" -msgstr "" - -msgid "Django Community" -msgstr "" - -msgid "Connect, get help, or contribute" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/hi/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/hi/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/hi/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/hi/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 9db67d5a..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/hi/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/hi/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/hi/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 18fa20ce..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/hi/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/hi/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/hi/formats.py deleted file mode 100644 index 923967ac..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/hi/formats.py +++ /dev/null @@ -1,21 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'j F Y' -TIME_FORMAT = 'g:i A' -# DATETIME_FORMAT = -# YEAR_MONTH_FORMAT = -MONTH_DAY_FORMAT = 'j F' -SHORT_DATE_FORMAT = 'd-m-Y' -# SHORT_DATETIME_FORMAT = -# FIRST_DAY_OF_WEEK = - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -# DATE_INPUT_FORMATS = -# TIME_INPUT_FORMATS = -# DATETIME_INPUT_FORMATS = -DECIMAL_SEPARATOR = '.' -THOUSAND_SEPARATOR = ',' -# NUMBER_GROUPING = diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/hr/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/hr/LC_MESSAGES/django.mo deleted file mode 100644 index f7afa5d2..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/hr/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/hr/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/hr/LC_MESSAGES/django.po deleted file mode 100644 index 574a7ab7..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/hr/LC_MESSAGES/django.po +++ /dev/null @@ -1,1274 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# aljosa , 2011,2013 -# Berislav Lopac , 2013 -# Bojan Mihelač , 2012 -# Boni Đukić , 2017 -# Jannis Leidel , 2011 -# Mislav Cimperšak , 2015-2016 -# Nino , 2013 -# senko , 2012 -# Ylodi , 2011 -# zmasek , 2012 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-27 22:40+0200\n" -"PO-Revision-Date: 2019-11-05 00:38+0000\n" -"Last-Translator: Ramiro Morales\n" -"Language-Team: Croatian (http://www.transifex.com/django/django/language/" -"hr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hr\n" -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" - -msgid "Afrikaans" -msgstr "Afrikaans" - -msgid "Arabic" -msgstr "Arapski" - -msgid "Asturian" -msgstr "Asturijski" - -msgid "Azerbaijani" -msgstr "Azarbejdžanac" - -msgid "Bulgarian" -msgstr "Unesite ispravnu IPv4 adresu." - -msgid "Belarusian" -msgstr "Bjeloruski" - -msgid "Bengali" -msgstr "Bengalski" - -msgid "Breton" -msgstr "Bretonski" - -msgid "Bosnian" -msgstr "Bošnjački" - -msgid "Catalan" -msgstr "Katalanski" - -msgid "Czech" -msgstr "Češki" - -msgid "Welsh" -msgstr "Velški" - -msgid "Danish" -msgstr "Danski" - -msgid "German" -msgstr "Njemački" - -msgid "Lower Sorbian" -msgstr "Donjolužičkosrpski" - -msgid "Greek" -msgstr "Grčki" - -msgid "English" -msgstr "Engleski" - -msgid "Australian English" -msgstr "Australski engleski" - -msgid "British English" -msgstr "Britanski engleski" - -msgid "Esperanto" -msgstr "Esperanto" - -msgid "Spanish" -msgstr "Španjolski" - -msgid "Argentinian Spanish" -msgstr "Argentinski španjolski" - -msgid "Colombian Spanish" -msgstr "Kolumbijski španjolski" - -msgid "Mexican Spanish" -msgstr "Meksički španjolski" - -msgid "Nicaraguan Spanish" -msgstr "Nikaragvanski Španjolski" - -msgid "Venezuelan Spanish" -msgstr "Venezuelanski Španjolski" - -msgid "Estonian" -msgstr "Estonski" - -msgid "Basque" -msgstr "Baskijski" - -msgid "Persian" -msgstr "Perzijski" - -msgid "Finnish" -msgstr "Finski" - -msgid "French" -msgstr "Francuski" - -msgid "Frisian" -msgstr "Frizijski" - -msgid "Irish" -msgstr "Irski" - -msgid "Scottish Gaelic" -msgstr "Škotski gaelski" - -msgid "Galician" -msgstr "Galičanski" - -msgid "Hebrew" -msgstr "Hebrejski" - -msgid "Hindi" -msgstr "Hindi" - -msgid "Croatian" -msgstr "Hrvatski" - -msgid "Upper Sorbian" -msgstr "Gornjolužičkosrpski" - -msgid "Hungarian" -msgstr "Mađarski" - -msgid "Armenian" -msgstr "" - -msgid "Interlingua" -msgstr "Interlingua" - -msgid "Indonesian" -msgstr "Indonezijski" - -msgid "Ido" -msgstr "Ido" - -msgid "Icelandic" -msgstr "Islandski" - -msgid "Italian" -msgstr "Talijanski" - -msgid "Japanese" -msgstr "Japanski" - -msgid "Georgian" -msgstr "Gruzijski" - -msgid "Kabyle" -msgstr "" - -msgid "Kazakh" -msgstr "Kazaški" - -msgid "Khmer" -msgstr "Kambođanski" - -msgid "Kannada" -msgstr "Kannada" - -msgid "Korean" -msgstr "Koreanski" - -msgid "Luxembourgish" -msgstr "Luksemburški" - -msgid "Lithuanian" -msgstr "Litvanski" - -msgid "Latvian" -msgstr "Latvijski" - -msgid "Macedonian" -msgstr "Makedonski" - -msgid "Malayalam" -msgstr "Malayalam" - -msgid "Mongolian" -msgstr "Mongolski" - -msgid "Marathi" -msgstr "Marathi" - -msgid "Burmese" -msgstr "Burmanski" - -msgid "Norwegian Bokmål" -msgstr "Bokmål" - -msgid "Nepali" -msgstr "Nepalski" - -msgid "Dutch" -msgstr "Nizozemski" - -msgid "Norwegian Nynorsk" -msgstr "Norveški Nynorsk" - -msgid "Ossetic" -msgstr "Osetski" - -msgid "Punjabi" -msgstr "Pendžabljanin" - -msgid "Polish" -msgstr "Poljski" - -msgid "Portuguese" -msgstr "Portugalski" - -msgid "Brazilian Portuguese" -msgstr "Brazilski portugalski" - -msgid "Romanian" -msgstr "Rumunjski" - -msgid "Russian" -msgstr "Ruski" - -msgid "Slovak" -msgstr "Slovački" - -msgid "Slovenian" -msgstr "Slovenski" - -msgid "Albanian" -msgstr "Albanski" - -msgid "Serbian" -msgstr "Srpski" - -msgid "Serbian Latin" -msgstr "Latinski srpski" - -msgid "Swedish" -msgstr "Švedski" - -msgid "Swahili" -msgstr "Swahili" - -msgid "Tamil" -msgstr "Tamilski" - -msgid "Telugu" -msgstr "Teluški" - -msgid "Thai" -msgstr "Thai (tajlandski)" - -msgid "Turkish" -msgstr "Turski" - -msgid "Tatar" -msgstr "Tatarski" - -msgid "Udmurt" -msgstr "Udmurtski" - -msgid "Ukrainian" -msgstr "Ukrajinski" - -msgid "Urdu" -msgstr "Urdu" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "Vijetnamski" - -msgid "Simplified Chinese" -msgstr "Pojednostavljeni kineski" - -msgid "Traditional Chinese" -msgstr "Tradicionalni kineski" - -msgid "Messages" -msgstr "Poruke" - -msgid "Site Maps" -msgstr "Mape stranica" - -msgid "Static Files" -msgstr "Statične datoteke" - -msgid "Syndication" -msgstr "" - -msgid "That page number is not an integer" -msgstr "Broj stranice nije cijeli broj" - -msgid "That page number is less than 1" -msgstr "Broj stranice je manji od 1" - -msgid "That page contains no results" -msgstr "Stranica ne sadrži rezultate" - -msgid "Enter a valid value." -msgstr "Unesite ispravnu vrijednost." - -msgid "Enter a valid URL." -msgstr "Unesite ispravan URL." - -msgid "Enter a valid integer." -msgstr "Unesite vrijednost u obliku cijelog broja." - -msgid "Enter a valid email address." -msgstr "Unesite ispravnu e-mail adresu." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "Unesite ispravnu IPv4 adresu." - -msgid "Enter a valid IPv6 address." -msgstr "Unesite ispravnu IPv6 adresu." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Unesite ispravnu IPv4 ili IPv6 adresu." - -msgid "Enter only digits separated by commas." -msgstr "Unesite samo brojeve razdvojene zarezom." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" -"Osigurajte da ova vrijednost ima %(limit_value)s (trenutno je " -"%(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Osigurajte da je ova vrijednost manja ili jednaka %(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Osigurajte da je ova vrijednost veća ili jednaka %(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Osigurajte da ova vrijednost ima najmanje %(limit_value)d znak (trenutno ima " -"%(show_value)d)." -msgstr[1] "" -"Osigurajte da ova vrijednost ima najmanje %(limit_value)d znakova (trenutno " -"ima %(show_value)d)." -msgstr[2] "" -"Osigurajte da ova vrijednost ima najmanje %(limit_value)d znakova (trenutno " -"ima %(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Osigurajte da ova vrijednost ima najviše %(limit_value)d znak (trenutno ima " -"%(show_value)d)." -msgstr[1] "" -"Osigurajte da ova vrijednost ima najviše %(limit_value)d znakova (trenutno " -"ima %(show_value)d)." -msgstr[2] "" -"Osigurajte da ova vrijednost ima najviše %(limit_value)d znakova (trenutno " -"ima %(show_value)d)." - -msgid "Enter a number." -msgstr "Unesite broj." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Osigurajte da nema više od ukupno %(max)s numeričkog znaka." -msgstr[1] "Osigurajte da nema više od ukupno %(max)s numerička znaka." -msgstr[2] "Osigurajte da nema više od ukupno %(max)s numeričkih znakova." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "Osigurajte da nema više od ukupno %(max)s decimalnog mjesta." -msgstr[1] "Osigurajte da nema više od ukupno %(max)s decimalna mjesta." -msgstr[2] "Osigurajte da nema više od ukupno %(max)s decimalnih mjesta." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -"Osigurajte da nema više od ukupno %(max)s numberičkog znaka prije decimalne " -"točke." -msgstr[1] "" -"Osigurajte da nema više od ukupno %(max)s numberička znaka prije decimalne " -"točke." -msgstr[2] "" -"Osigurajte da nema više od ukupno %(max)s numberičkih znakova prije " -"decimalne točke." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "" - -msgid "and" -msgstr "i" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "%(model_name)s sa navedenim %(field_labels)s već postoji." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "Vrijednost %(value)r nije jedna od raspoloživih opcija." - -msgid "This field cannot be null." -msgstr "Ovo polje ne može biti null." - -msgid "This field cannot be blank." -msgstr "Ovo polje ne može biti prazno." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s sa navedenim %(field_label)s već postoji." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(field_label)s mora biti jedinstven pojam za %(date_field_label)s " -"%(lookup_type)s." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Polje tipa: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "Boolean (True ili False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Slova (do %(max_length)s)" - -msgid "Comma-separated integers" -msgstr "Cijeli brojevi odvojeni zarezom" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "Datum (bez vremena/sati)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "Datum (sa vremenom/satima)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "Decimalni broj" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "Trajanje" - -msgid "Email address" -msgstr "E-mail adresa" - -msgid "File path" -msgstr "Put do datoteke" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "Broj s pomičnim zarezom (floating point number)" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "Cijeli broj" - -msgid "Big (8 byte) integer" -msgstr "Big (8 byte) integer" - -msgid "IPv4 address" -msgstr "IPv4 adresa" - -msgid "IP address" -msgstr "IP adresa" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "Boolean (True, False ili None)" - -msgid "Positive integer" -msgstr "Pozitivan cijeli broj" - -msgid "Positive small integer" -msgstr "Pozitivan mali cijeli broj" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "'Slug' (do %(max_length)s)" - -msgid "Small integer" -msgstr "Mali broj" - -msgid "Text" -msgstr "Tekst" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "Vrijeme" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Binarni podaci" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "" - -msgid "File" -msgstr "Datoteka" - -msgid "Image" -msgstr "Slika" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "%(model)s instanca sa %(field)s %(value)r ne postoji." - -msgid "Foreign Key (type determined by related field)" -msgstr "Foreign Key (type determined by related field)" - -msgid "One-to-one relationship" -msgstr "One-to-one relationship" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "%(from)s-%(to)s veza" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "%(from)s-%(to)s veze" - -msgid "Many-to-many relationship" -msgstr "Many-to-many relationship" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Unos za ovo polje je obavezan." - -msgid "Enter a whole number." -msgstr "Unesite cijeli broj." - -msgid "Enter a valid date." -msgstr "Unesite ispravan datum." - -msgid "Enter a valid time." -msgstr "Unesite ispravno vrijeme." - -msgid "Enter a valid date/time." -msgstr "Unesite ispravan datum/vrijeme." - -msgid "Enter a valid duration." -msgstr "Unesite ispravno trajanje." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "" - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Datoteka nije poslana. Provjerite 'encoding type' forme." - -msgid "No file was submitted." -msgstr "Datoteka nije poslana." - -msgid "The submitted file is empty." -msgstr "Poslana datoteka je prazna." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Osigurajte da naziv datoteke ima najviše %(max)d znak (ima %(length)d)." -msgstr[1] "" -"Osigurajte da naziv datoteke ima najviše %(max)d znakova (ima %(length)d)." -msgstr[2] "" -"Osigurajte da naziv datoteke ima najviše %(max)d znakova (ima %(length)d)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "Molimo Vas da pošaljete ili datoteku ili označite izbor, a ne oboje." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Upload-ajte ispravnu sliku. Datoteka koju ste upload-ali ili nije slika ili " -"je oštečena." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "Odaberite iz ponuđenog. %(value)s nije ponuđen kao opcija." - -msgid "Enter a list of values." -msgstr "Unesite listu vrijednosti." - -msgid "Enter a complete value." -msgstr "Unesite kompletnu vrijednost." - -msgid "Enter a valid UUID." -msgstr "Unesite ispravan UUID." - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Skriveno polje %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "ManagementForm podaci nedostaju ili su promijenjeni" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Molimo unesite %d obrazac." -msgstr[1] "Molimo unesite %d ili manje obrazaca." -msgstr[2] "Molimo unesite %d ili manje obrazaca." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "Molimo unesite %d ili više obrazaca." -msgstr[1] "Molimo unesite %d ili više obrazaca." -msgstr[2] "Molimo unesite %d ili više obrazaca." - -msgid "Order" -msgstr "Redoslijed:" - -msgid "Delete" -msgstr "Izbriši" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Ispravite duplicirane podatke za %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"Molimo ispravite duplicirane podatke za %(field)s, koji moraju biti " -"jedinstveni." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Molimo ispravite duplicirane podatke za %(field_name)s koji moraju biti " -"jedinstveni za %(lookup)s u %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "Molimo ispravite duplicirane vrijednosti ispod." - -msgid "The inline value did not match the parent instance." -msgstr "" - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "Izaberite ispravnu opciju. Ta opcija nije jedna od dostupnih opcija." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "Isprazni" - -msgid "Currently" -msgstr "Trenutno" - -msgid "Change" -msgstr "Promijeni" - -msgid "Unknown" -msgstr "Nepoznat pojam" - -msgid "Yes" -msgstr "Da" - -msgid "No" -msgstr "Ne" - -msgid "Year" -msgstr "" - -msgid "Month" -msgstr "" - -msgid "Day" -msgstr "" - -msgid "yes,no,maybe" -msgstr "da,ne,možda" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d byte" -msgstr[1] "%(size)d byte-a" -msgstr[2] "%(size)d byte-a" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "popodne" - -msgid "a.m." -msgstr "ujutro" - -msgid "PM" -msgstr "popodne" - -msgid "AM" -msgstr "ujutro" - -msgid "midnight" -msgstr "ponoć" - -msgid "noon" -msgstr "podne" - -msgid "Monday" -msgstr "Ponedjeljak" - -msgid "Tuesday" -msgstr "Utorak" - -msgid "Wednesday" -msgstr "Srijeda" - -msgid "Thursday" -msgstr "Četvrtak" - -msgid "Friday" -msgstr "Petak" - -msgid "Saturday" -msgstr "Subota" - -msgid "Sunday" -msgstr "Nedjelja" - -msgid "Mon" -msgstr "Pon" - -msgid "Tue" -msgstr "Uto" - -msgid "Wed" -msgstr "Sri" - -msgid "Thu" -msgstr "Čet" - -msgid "Fri" -msgstr "Pet" - -msgid "Sat" -msgstr "Sub" - -msgid "Sun" -msgstr "Ned" - -msgid "January" -msgstr "Siječanj" - -msgid "February" -msgstr "Veljača" - -msgid "March" -msgstr "Ožujak" - -msgid "April" -msgstr "Travanj" - -msgid "May" -msgstr "Svibanj" - -msgid "June" -msgstr "Lipanj" - -msgid "July" -msgstr "Srpanj" - -msgid "August" -msgstr "Kolovoz" - -msgid "September" -msgstr "Rujan" - -msgid "October" -msgstr "Listopad" - -msgid "November" -msgstr "Studeni" - -msgid "December" -msgstr "Prosinac" - -msgid "jan" -msgstr "sij." - -msgid "feb" -msgstr "velj." - -msgid "mar" -msgstr "ožu." - -msgid "apr" -msgstr "tra." - -msgid "may" -msgstr "svi." - -msgid "jun" -msgstr "lip." - -msgid "jul" -msgstr "srp." - -msgid "aug" -msgstr "kol." - -msgid "sep" -msgstr "ruj." - -msgid "oct" -msgstr "lis." - -msgid "nov" -msgstr "stu." - -msgid "dec" -msgstr "pro." - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Sij." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Velj." - -msgctxt "abbrev. month" -msgid "March" -msgstr "Ožu." - -msgctxt "abbrev. month" -msgid "April" -msgstr "Tra." - -msgctxt "abbrev. month" -msgid "May" -msgstr "Svi." - -msgctxt "abbrev. month" -msgid "June" -msgstr "Lip." - -msgctxt "abbrev. month" -msgid "July" -msgstr "Srp." - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Kol." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Ruj." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Lis." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Stu." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Pro." - -msgctxt "alt. month" -msgid "January" -msgstr "siječnja" - -msgctxt "alt. month" -msgid "February" -msgstr "veljače" - -msgctxt "alt. month" -msgid "March" -msgstr "ožujka" - -msgctxt "alt. month" -msgid "April" -msgstr "travnja" - -msgctxt "alt. month" -msgid "May" -msgstr "svibnja" - -msgctxt "alt. month" -msgid "June" -msgstr "lipnja" - -msgctxt "alt. month" -msgid "July" -msgstr "srpnja" - -msgctxt "alt. month" -msgid "August" -msgstr "kolovoza" - -msgctxt "alt. month" -msgid "September" -msgstr "rujna" - -msgctxt "alt. month" -msgid "October" -msgstr "listopada" - -msgctxt "alt. month" -msgid "November" -msgstr "studenoga" - -msgctxt "alt. month" -msgid "December" -msgstr "prosinca" - -msgid "This is not a valid IPv6 address." -msgstr "To nije ispravna IPv6 adresa." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "" - -msgid "or" -msgstr "ili" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr "," - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d godina" -msgstr[1] "%d godina" -msgstr[2] "%d godina" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d mjesec" -msgstr[1] "%d mjeseci" -msgstr[2] "%d mjeseci" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d tjedan" -msgstr[1] "%d tjedna" -msgstr[2] "%d tjedana" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d dana" -msgstr[1] "%d dana" -msgstr[2] "%d dana" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d sat" -msgstr[1] "%d sati" -msgstr[2] "%d sati" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d minutu" -msgstr[1] "%d minute" -msgstr[2] "%d minuta" - -msgid "0 minutes" -msgstr "0 minuta" - -msgid "Forbidden" -msgstr "Zabranjeno" - -msgid "CSRF verification failed. Request aborted." -msgstr "CSRF verifikacija nije uspjela. Zahtjev je prekinut." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Ova poruka vam se prikazuje jer stranica na kojoj se nalazite zahtjeva CSRF " -"kolačić prilikom slanja forme. Navedeni kolačić je obavezan iz sigurnosnih " -"razloga, kako bi se osiguralo da vaš internetski preglednik ne bude otet od " -"strane trećih osoba." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "Dodatne informacije su dostupne sa postavkom DEBUG=True." - -msgid "No year specified" -msgstr "Nije navedena godina" - -msgid "Date out of range" -msgstr "" - -msgid "No month specified" -msgstr "Nije naveden mjesec" - -msgid "No day specified" -msgstr "Nije naveden dan" - -msgid "No week specified" -msgstr "Tjedan nije određen" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "Nije dostupno: %(verbose_name_plural)s" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"%(verbose_name_plural)s nije dostupno jer je %(class_name)s.allow_future " -"False." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "%(verbose_name)s - pretragom nisu pronađeni rezultati za upit" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Nevažeća stranica (%(page_number)s):%(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "Sadržaji direktorija ovdje nisu dozvoljeni." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Sadržaj direktorija %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" - -msgid "The install worked successfully! Congratulations!" -msgstr "" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" - -msgid "Django Documentation" -msgstr "" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "" - -msgid "Get started with Django" -msgstr "" - -msgid "Django Community" -msgstr "" - -msgid "Connect, get help, or contribute" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/hr/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/hr/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/hr/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/hr/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index a4f504b6..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/hr/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/hr/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/hr/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index ab3af920..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/hr/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/hr/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/hr/formats.py deleted file mode 100644 index 96ad1950..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/hr/formats.py +++ /dev/null @@ -1,42 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'j. E Y.' -TIME_FORMAT = 'H:i' -DATETIME_FORMAT = 'j. E Y. H:i' -YEAR_MONTH_FORMAT = 'F Y.' -MONTH_DAY_FORMAT = 'j. F' -SHORT_DATE_FORMAT = 'j.m.Y.' -SHORT_DATETIME_FORMAT = 'j.m.Y. H:i' -FIRST_DAY_OF_WEEK = 1 - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -# Kept ISO formats as they are in first position -DATE_INPUT_FORMATS = [ - '%Y-%m-%d', # '2006-10-25' - '%d.%m.%Y.', '%d.%m.%y.', # '25.10.2006.', '25.10.06.' - '%d. %m. %Y.', '%d. %m. %y.', # '25. 10. 2006.', '25. 10. 06.' -] -DATETIME_INPUT_FORMATS = [ - '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59' - '%Y-%m-%d %H:%M:%S.%f', # '2006-10-25 14:30:59.000200' - '%Y-%m-%d %H:%M', # '2006-10-25 14:30' - '%d.%m.%Y. %H:%M:%S', # '25.10.2006. 14:30:59' - '%d.%m.%Y. %H:%M:%S.%f', # '25.10.2006. 14:30:59.000200' - '%d.%m.%Y. %H:%M', # '25.10.2006. 14:30' - '%d.%m.%y. %H:%M:%S', # '25.10.06. 14:30:59' - '%d.%m.%y. %H:%M:%S.%f', # '25.10.06. 14:30:59.000200' - '%d.%m.%y. %H:%M', # '25.10.06. 14:30' - '%d. %m. %Y. %H:%M:%S', # '25. 10. 2006. 14:30:59' - '%d. %m. %Y. %H:%M:%S.%f', # '25. 10. 2006. 14:30:59.000200' - '%d. %m. %Y. %H:%M', # '25. 10. 2006. 14:30' - '%d. %m. %y. %H:%M:%S', # '25. 10. 06. 14:30:59' - '%d. %m. %y. %H:%M:%S.%f', # '25. 10. 06. 14:30:59.000200' - '%d. %m. %y. %H:%M', # '25. 10. 06. 14:30' -] - -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = '.' -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/hsb/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/hsb/LC_MESSAGES/django.mo deleted file mode 100644 index d8c2c20a..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/hsb/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/hsb/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/hsb/LC_MESSAGES/django.po deleted file mode 100644 index 100ad8ed..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/hsb/LC_MESSAGES/django.po +++ /dev/null @@ -1,1339 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Michael Wolf , 2016-2020 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-07-21 12:57+0000\n" -"Last-Translator: Michael Wolf \n" -"Language-Team: Upper Sorbian (http://www.transifex.com/django/django/" -"language/hsb/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hsb\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" -"%100==4 ? 2 : 3);\n" - -msgid "Afrikaans" -msgstr "Afrikaanšćina" - -msgid "Arabic" -msgstr "Arabšćina" - -msgid "Algerian Arabic" -msgstr "Algeriska arabšćina" - -msgid "Asturian" -msgstr "Asturišćina" - -msgid "Azerbaijani" -msgstr "Azerbajdźanšćina" - -msgid "Bulgarian" -msgstr "Bołharšćina" - -msgid "Belarusian" -msgstr "Běłorušćina" - -msgid "Bengali" -msgstr "Bengalšćina" - -msgid "Breton" -msgstr "Bretonšćina" - -msgid "Bosnian" -msgstr "Bosnišćina" - -msgid "Catalan" -msgstr "Katalanšćina" - -msgid "Czech" -msgstr "Čěšćina" - -msgid "Welsh" -msgstr "Walizišćina" - -msgid "Danish" -msgstr "Danšćina" - -msgid "German" -msgstr "Němčina" - -msgid "Lower Sorbian" -msgstr "Delnjoserbšćina" - -msgid "Greek" -msgstr "Grjekšćina" - -msgid "English" -msgstr "Jendźelšćina" - -msgid "Australian English" -msgstr "Awstralska jendźelšćina" - -msgid "British English" -msgstr "Britiska jendźelšćina" - -msgid "Esperanto" -msgstr "Esperanto" - -msgid "Spanish" -msgstr "Španišćina" - -msgid "Argentinian Spanish" -msgstr "Argentinska španišćina" - -msgid "Colombian Spanish" -msgstr "Kolumbiska španišćina" - -msgid "Mexican Spanish" -msgstr "Mexiska španišćina" - -msgid "Nicaraguan Spanish" -msgstr "Nikaraguaska španišćina" - -msgid "Venezuelan Spanish" -msgstr "Venezuelska španišćina" - -msgid "Estonian" -msgstr "Estišćina" - -msgid "Basque" -msgstr "Baskišćina" - -msgid "Persian" -msgstr "Persišćina" - -msgid "Finnish" -msgstr "Finšćina" - -msgid "French" -msgstr "Francošćina" - -msgid "Frisian" -msgstr "Frizišćina" - -msgid "Irish" -msgstr "Irišćina" - -msgid "Scottish Gaelic" -msgstr "Šotiska gaelšćina" - -msgid "Galician" -msgstr "Galicišćina" - -msgid "Hebrew" -msgstr "Hebrejšćina" - -msgid "Hindi" -msgstr "Hindišćina" - -msgid "Croatian" -msgstr "Chorwatšćina" - -msgid "Upper Sorbian" -msgstr "Hornjoserbšćina" - -msgid "Hungarian" -msgstr "Madźaršćina" - -msgid "Armenian" -msgstr "Armenšćina" - -msgid "Interlingua" -msgstr "Interlingua" - -msgid "Indonesian" -msgstr "Indonezišćina" - -msgid "Igbo" -msgstr "Igbo" - -msgid "Ido" -msgstr "Ido" - -msgid "Icelandic" -msgstr "Islandšćina" - -msgid "Italian" -msgstr "Italšćina" - -msgid "Japanese" -msgstr "Japanšćina" - -msgid "Georgian" -msgstr "Georgišćina" - -msgid "Kabyle" -msgstr "Kabylšćina" - -msgid "Kazakh" -msgstr "Kazachšćina" - -msgid "Khmer" -msgstr "Khmeršćina" - -msgid "Kannada" -msgstr "Kannadšćina" - -msgid "Korean" -msgstr "Korejšćina" - -msgid "Kyrgyz" -msgstr "Kirgišćina" - -msgid "Luxembourgish" -msgstr "Luxemburgšćina" - -msgid "Lithuanian" -msgstr "Litawšćina" - -msgid "Latvian" -msgstr "Letišćina" - -msgid "Macedonian" -msgstr "Makedonšćina" - -msgid "Malayalam" -msgstr "Malajalam" - -msgid "Mongolian" -msgstr "Mongolšćina" - -msgid "Marathi" -msgstr "Marathišćina" - -msgid "Burmese" -msgstr "Myanmaršćina" - -msgid "Norwegian Bokmål" -msgstr "Norwegski bokmål" - -msgid "Nepali" -msgstr "Nepalšćina" - -msgid "Dutch" -msgstr "Nižozemšćina" - -msgid "Norwegian Nynorsk" -msgstr "Norwegski nynorsk" - -msgid "Ossetic" -msgstr "Osetšćina" - -msgid "Punjabi" -msgstr "Pundźabišćina" - -msgid "Polish" -msgstr "Pólšćina" - -msgid "Portuguese" -msgstr "Portugalšćina" - -msgid "Brazilian Portuguese" -msgstr "Brazilska portugalšćina" - -msgid "Romanian" -msgstr "Rumunšćina" - -msgid "Russian" -msgstr "Rušćina" - -msgid "Slovak" -msgstr "Słowakšćina" - -msgid "Slovenian" -msgstr "Słowjenšćina" - -msgid "Albanian" -msgstr "Albanšćina" - -msgid "Serbian" -msgstr "Serbišćina" - -msgid "Serbian Latin" -msgstr "Serbšćina, łaćonska" - -msgid "Swedish" -msgstr "Šwedšćina" - -msgid "Swahili" -msgstr "Suahelšćina" - -msgid "Tamil" -msgstr "Tamilšćina" - -msgid "Telugu" -msgstr "Telugušćina" - -msgid "Tajik" -msgstr "Tadźikišćina" - -msgid "Thai" -msgstr "Thaišćina" - -msgid "Turkmen" -msgstr "Turkmenšćina" - -msgid "Turkish" -msgstr "Turkowšćina" - -msgid "Tatar" -msgstr "Tataršćina" - -msgid "Udmurt" -msgstr "Udmurtšćina" - -msgid "Ukrainian" -msgstr "Ukrainšćina" - -msgid "Urdu" -msgstr "Urdušćina" - -msgid "Uzbek" -msgstr "Uzbekšćina" - -msgid "Vietnamese" -msgstr "Vietnamšćina" - -msgid "Simplified Chinese" -msgstr "Zjednorjene chinšćina" - -msgid "Traditional Chinese" -msgstr "Tradicionalna chinšćina" - -msgid "Messages" -msgstr "Powěsće" - -msgid "Site Maps" -msgstr "Přehlady sydła" - -msgid "Static Files" -msgstr "Statiske dataje" - -msgid "Syndication" -msgstr "Syndikacija" - -msgid "That page number is not an integer" -msgstr "Tute čisko strony cyła ličba njeje." - -msgid "That page number is less than 1" -msgstr "Tute čisło strony je mjeńše hač 1." - -msgid "That page contains no results" -msgstr "Tuta strona wuslědki njewobsahuje" - -msgid "Enter a valid value." -msgstr "Zapodajće płaćiwu hódnotu." - -msgid "Enter a valid URL." -msgstr "Zapodajće płaćiwy URL." - -msgid "Enter a valid integer." -msgstr "Zapodajće płaćiwu cyłu ličbu." - -msgid "Enter a valid email address." -msgstr "Zapodajće płaćiwu e-mejlowu adresu." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" -"Zapodajće płaćiwe adresowe mjeno, kotrež jenož pismiki, ličby, podsmužki abo " -"wjazawki wobsahuje." - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" -"Zapodajće płaćiwe „adresowe mjeno“, kotrež jenož pismiki, ličby, podsmužki " -"abo wjazawki wobsahuje." - -msgid "Enter a valid IPv4 address." -msgstr "Zapodajće płaćiwu IPv4-adresu." - -msgid "Enter a valid IPv6 address." -msgstr "Zapodajće płaćiwu IPv6-adresu." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Zapodajće płaćiwu IPv4- abo IPv6-adresu." - -msgid "Enter only digits separated by commas." -msgstr "Zapodajće jenož přez komy dźělene cyfry," - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "Zawěsćće, zo tuta hódnota je %(limit_value)s (je %(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Zawěsćće, zo hódnota je mjeńša hač abo runja %(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Zawěsćće, zo tuta hódnota je wjetša hač abo runja %(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Zawěsćće, zo tuta hódnota ma znajmjeńša %(limit_value)d znamješko (ma " -"%(show_value)d)." -msgstr[1] "" -"Zawěsćće, zo tuta hódnota ma znajmjeńša %(limit_value)d znamješce (ma " -"%(show_value)d)." -msgstr[2] "" -"Zawěsćće, zo tuta hódnota ma znajmjeńša %(limit_value)d znamješka (ma " -"%(show_value)d)." -msgstr[3] "" -"Zawěsćće, zo tuta hódnota ma znajmjeńša %(limit_value)d znamješkow (ma " -"%(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Zawěsćće, zo tuta hódnota ma maksimalnje %(limit_value)d znamješko (ima " -"%(show_value)d)." -msgstr[1] "" -"Zawěsćće, zo tuta hódnota ma maksimalnje %(limit_value)d znamješce (ima " -"%(show_value)d)." -msgstr[2] "" -"Zawěsćće, zo tuta hódnota ma maksimalnje %(limit_value)d znamješka (ima " -"%(show_value)d)." -msgstr[3] "" -"Zawěsćće, zo tuta hódnota ma maksimalnje %(limit_value)d znamješkow (ima " -"%(show_value)d)." - -msgid "Enter a number." -msgstr "Zapodajće ličbu." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Zawěsćće, zo njeje wjace hač %(max)s cyfry dohromady." -msgstr[1] "Zawěsćće, zo njeje wjace hač %(max)s cyfrow dohromady." -msgstr[2] "Zawěsćće, zo njeje wjace hač %(max)s cyfrow dohromady." -msgstr[3] "Zawěsćće, zo njeje wjace hač %(max)s cyfrow dohromady." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "Zawěsćće, zo njeje wjace hač %(max)s decimalneho městna." -msgstr[1] "Zawěsćće, zo njeje wjace hač %(max)s decimalneju městnow." -msgstr[2] "Zawěsćće, zo njeje wjace hač %(max)s decimalnych městnow." -msgstr[3] "Zawěsćće, zo njeje wjace hač %(max)s decimalnych městnow." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "Zawěsćće, zo njeje wjace hač %(max)s cyfry před decimalnej komu." -msgstr[1] "Zawěsćće, zo njeje wjace hač %(max)s cyfrow před decimalnej komu." -msgstr[2] "Zawěsćće, zo njeje wjace hač %(max)s cyfrow před decimalnej komu." -msgstr[3] "Zawěsćće, zo njeje wjace hač %(max)s cyfrow před decimalnej komu." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" -"Datajowy sufiks ' %(extension)s' dowoleny njeje. Dowolene sufiksy su: " -"%(allowed_extensions)s." - -msgid "Null characters are not allowed." -msgstr "Prózdne znamješka dowolene njejsu." - -msgid "and" -msgstr "a" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "%(model_name)s z tutym %(field_labels)s hižo eksistuje." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "Hódnota %(value)r płaćiwa wólba njeje." - -msgid "This field cannot be null." -msgstr "Tute polo njesmě nul być." - -msgid "This field cannot be blank." -msgstr "Tute polo njesmě prózdne być." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s z tutym %(field_label)s hižo eksistuje." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(field_label)s dyrbi za %(date_field_label)s %(lookup_type)s jónkróćne być." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Polo typa: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "Hódnota „%(value)s“ dyrbi pak True pak False być." - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "Hódnota „%(value)s“ dyrbi pak True, False pak None być." - -msgid "Boolean (Either True or False)" -msgstr "Boolean (pak True pak False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Znamješkowy rjećazk (hač %(max_length)s)" - -msgid "Comma-separated integers" -msgstr "Cyłe ličby dźělene přez komu" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" -"Hódnota „%(value)s“ ma njepłaćiwy datumowy format. Dyrbi we formaće DD.MM." -"YYYY być." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" -"Hódnota „%(value)s“ ma korektny format (DD.MM.YYYY), ale je njepłaćiwy datum." - -msgid "Date (without time)" -msgstr "Datum (bjez časa)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" -"Hódnota „%(value)s“ ma njepłaćiwy format. Dyrbi we formaće DD.MM.YYYY HH:MM[:" -"ss[.uuuuuu]][TZ] być." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" -"Hódnota „%(value)s“ ma korektny format (DD.MM.YYYY HH:MM[:ss[.uuuuuu]][TZ]), " -"ale je njepłaćiwy datum/čas." - -msgid "Date (with time)" -msgstr "Datum (z časom)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "Hódnota „%(value)s“ dyrbi decimalna ličba być." - -msgid "Decimal number" -msgstr "Decimalna ličba" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" -"Hódnota „%(value)s“ ma njepłaćiwy format. Dyrbi w formaće [DD] [HH:[MM:]]ss[." -"uuuuuu] być." - -msgid "Duration" -msgstr "Traće" - -msgid "Email address" -msgstr "E-mejlowa adresa" - -msgid "File path" -msgstr "Datajowa šćežka" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "Hódnota „%(value)s“ dyrbi decimalna ličba być." - -msgid "Floating point number" -msgstr "Komowa ličba typa float" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "Hódnota „%(value)s“ dyrbi integer być." - -msgid "Integer" -msgstr "Integer" - -msgid "Big (8 byte) integer" -msgstr "Big (8 byte) integer" - -msgid "IPv4 address" -msgstr "IPv4-adresa" - -msgid "IP address" -msgstr "IP-adresa" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "Hódnota „%(value)s“ dyrbi pak None, True pak False być." - -msgid "Boolean (Either True, False or None)" -msgstr "Boolean (pak True, False pak None)" - -msgid "Positive big integer" -msgstr "Pozitiwna wulka cyła ličba" - -msgid "Positive integer" -msgstr "Pozitiwna cyła ličba" - -msgid "Positive small integer" -msgstr "Pozitiwna mała cyła ličba" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Adresowe mjeno (hač %(max_length)s)" - -msgid "Small integer" -msgstr "Mała cyła ličba" - -msgid "Text" -msgstr "Tekst" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" -"Hódnota „%(value)s“ ma njepłaćiwy format. Dyrbi we formaće HH:MM[:ss[." -"uuuuuu]] być." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" -"Hódnota „%(value)s“ ma korektny format (HH:MM[:ss[.uuuuuu]]), ale je " -"njepłaćiwy čas." - -msgid "Time" -msgstr "Čas" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Hrube binarne daty" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "„%(value)s“ płaćiwy UUID njeje." - -msgid "Universally unique identifier" -msgstr "Uniwerselnje jónkróćny identifikator" - -msgid "File" -msgstr "Dataja" - -msgid "Image" -msgstr "Wobraz" - -msgid "A JSON object" -msgstr "JSON-objekt" - -msgid "Value must be valid JSON." -msgstr "Hódnota dyrbi płaćiwy JSON być." - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "Instanca %(model)s z %(field)s %(value)r njeeksistuje." - -msgid "Foreign Key (type determined by related field)" -msgstr "Cuzy kluč (typ so přez wotpowědne polo postaja)" - -msgid "One-to-one relationship" -msgstr "Poćah jedyn jedyn" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "Poćah %(from)s-%(to)s" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "Poćahi %(from)s-%(to)s" - -msgid "Many-to-many relationship" -msgstr "Poćah wjele wjele" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Tute polo je trěbne." - -msgid "Enter a whole number." -msgstr "Zapodajće cyłu ličbu." - -msgid "Enter a valid date." -msgstr "Zapodajće płaćiwy datum." - -msgid "Enter a valid time." -msgstr "Zapodajće płaćiwy čas." - -msgid "Enter a valid date/time." -msgstr "Zapodajće płaćiwy datum/čas." - -msgid "Enter a valid duration." -msgstr "Zapodajće płaćiwe traće." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "Ličba dnjow dyrbi mjez {min_days} a {max_days} być." - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Žana dataja je so pósłała. Přepruwujće kodowanski typ we formularje." - -msgid "No file was submitted." -msgstr "Žana dataja je so pósłała." - -msgid "The submitted file is empty." -msgstr "Pósłana dataja je prózdna." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Zawěsćće, zo tute datajowe mjeno ma maksimalnje %(max)d znamješko (ma " -"%(length)d)." -msgstr[1] "" -"Zawěsćće, zo tute datajowe mjeno ma maksimalnje %(max)d znamješce (ma " -"%(length)d)." -msgstr[2] "" -"Zawěsćće, zo tute datajowe mjeno ma maksimalnje %(max)d znamješka (ma " -"%(length)d)." -msgstr[3] "" -"Zawěsćće, zo tute datajowe mjeno ma maksimalnje %(max)d znamješkow (ma " -"%(length)d)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" -"Prošu zapodajće dataju abo stajće hóčku do kontrolneho kašćika, nic wobě." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Nahrajće płaćiwy wobraz. Dataja, kotruž sće nahrał, pak njebě wobraz pak bě " -"wobškodźeny wobraz. " - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "" -"Wubjerće płaćiwu wolensku móžnosć. %(value)s žana k dispoziciji stejacych " -"wolenskich móžnosćow njeje. " - -msgid "Enter a list of values." -msgstr "Zapodajće lisćinu hódnotow." - -msgid "Enter a complete value." -msgstr "Zapodajće dospołnu hódnotu." - -msgid "Enter a valid UUID." -msgstr "Zapodajće płaćiwy UUID." - -msgid "Enter a valid JSON." -msgstr "Zapodajće płaćiwy JSON." - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Schowane polo field %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "Daty ManagementForm faluja abo su so sfalšowali" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Prošu wotpósćelće %d formular" -msgstr[1] "Prošu wotpósćelće %d formularaj abo mjenje" -msgstr[2] "Prošu wotpósćelće %d formulary abo mjenje" -msgstr[3] "Prošu wotpósćelće %d formularow abo mjenje" - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "Prošu wotpósćelće %d formular abo wjace" -msgstr[1] "Prošu wotpósćelće %d formularaj abo wjace" -msgstr[2] "Prošu wotpósćelće %d formulary abo wjace" -msgstr[3] "Prošu wotpósćelće %d formularow abo wjace" - -msgid "Order" -msgstr "Porjad" - -msgid "Delete" -msgstr "Zhašeć" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Prošu porjedźće dwójne daty za %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "Prošu porjedźće dwójne daty za %(field)s, kotrež dyrbja jónkróćne być." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Prošu porjedźće dwójne daty za %(field_name)s, kotrež dyrbja za %(lookup)s w " -"%(date_field)s jónkróćne być." - -msgid "Please correct the duplicate values below." -msgstr "Prošu porjedźće slědowace dwójne hódnoty." - -msgid "The inline value did not match the parent instance." -msgstr "Hódnota inline nadrjadowanej instancy njewotpowěduje." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" -"Wubjerće płaćiwu wolensku móžnosć. Tuta wolenska móžnosć jedna z k " -"dispoziciji stejacych wolenskich móžnosćow njeje." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "\"%(pk)s\" płaćiwa hódnota njeje." - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" -"%(datetime)s njeda so w časowym pasmje %(current_timezone)s interpretować; " -"je snano dwuzmyslny abo njeeksistuje." - -msgid "Clear" -msgstr "Zhašeć" - -msgid "Currently" -msgstr "Tuchwilu" - -msgid "Change" -msgstr "Změnić" - -msgid "Unknown" -msgstr "Njeznaty" - -msgid "Yes" -msgstr "Haj" - -msgid "No" -msgstr "Ně" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "haj,ně,snano" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d bajt" -msgstr[1] "%(size)d bajtaj" -msgstr[2] "%(size)d bajty" -msgstr[3] "%(size)d bajtow" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "popołdnju" - -msgid "a.m." -msgstr "dopołdnja" - -msgid "PM" -msgstr "popołdnju" - -msgid "AM" -msgstr "dopołdnja" - -msgid "midnight" -msgstr "połnoc" - -msgid "noon" -msgstr "připołdnjo" - -msgid "Monday" -msgstr "Póndźela" - -msgid "Tuesday" -msgstr "Wutora" - -msgid "Wednesday" -msgstr "Srjeda" - -msgid "Thursday" -msgstr "Štwórtk" - -msgid "Friday" -msgstr "Pjatk" - -msgid "Saturday" -msgstr "Sobota" - -msgid "Sunday" -msgstr "Njedźela" - -msgid "Mon" -msgstr "Pón" - -msgid "Tue" -msgstr "Wut" - -msgid "Wed" -msgstr "Srj" - -msgid "Thu" -msgstr "Štw" - -msgid "Fri" -msgstr "Pja" - -msgid "Sat" -msgstr "Sob" - -msgid "Sun" -msgstr "Nje" - -msgid "January" -msgstr "Januar" - -msgid "February" -msgstr "Februar" - -msgid "March" -msgstr "Měrc" - -msgid "April" -msgstr "Apryl" - -msgid "May" -msgstr "Meja" - -msgid "June" -msgstr "Junij" - -msgid "July" -msgstr "Julij" - -msgid "August" -msgstr "Awgust" - -msgid "September" -msgstr "September" - -msgid "October" -msgstr "Oktober" - -msgid "November" -msgstr "Nowember" - -msgid "December" -msgstr "December" - -msgid "jan" -msgstr "jan." - -msgid "feb" -msgstr "feb." - -msgid "mar" -msgstr "měr." - -msgid "apr" -msgstr "apr." - -msgid "may" -msgstr "mej." - -msgid "jun" -msgstr "jun." - -msgid "jul" -msgstr "jul." - -msgid "aug" -msgstr "awg." - -msgid "sep" -msgstr "sep." - -msgid "oct" -msgstr "okt." - -msgid "nov" -msgstr "now." - -msgid "dec" -msgstr "dec." - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Jan." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Feb." - -msgctxt "abbrev. month" -msgid "March" -msgstr "Měrc" - -msgctxt "abbrev. month" -msgid "April" -msgstr "Apryl" - -msgctxt "abbrev. month" -msgid "May" -msgstr "Meja" - -msgctxt "abbrev. month" -msgid "June" -msgstr "Junij" - -msgctxt "abbrev. month" -msgid "July" -msgstr "Julij" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Awg." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Sept." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Okt." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Now." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Dec." - -msgctxt "alt. month" -msgid "January" -msgstr "Januar" - -msgctxt "alt. month" -msgid "February" -msgstr "Februar" - -msgctxt "alt. month" -msgid "March" -msgstr "Měrc" - -msgctxt "alt. month" -msgid "April" -msgstr "Apryl" - -msgctxt "alt. month" -msgid "May" -msgstr "Meja" - -msgctxt "alt. month" -msgid "June" -msgstr "Junij" - -msgctxt "alt. month" -msgid "July" -msgstr "Julij" - -msgctxt "alt. month" -msgid "August" -msgstr "Awgust" - -msgctxt "alt. month" -msgid "September" -msgstr "September" - -msgctxt "alt. month" -msgid "October" -msgstr "Oktober" - -msgctxt "alt. month" -msgid "November" -msgstr "Nowember" - -msgctxt "alt. month" -msgid "December" -msgstr "December" - -msgid "This is not a valid IPv6 address." -msgstr "To płaćiwa IPv6-adresa njeje." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s…" - -msgid "or" -msgstr "abo" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d lěto" -msgstr[1] "%d lěće" -msgstr[2] "%d lěta" -msgstr[3] "%d lět" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d měsac" -msgstr[1] "%d měsacaj" -msgstr[2] "%d měsacy" -msgstr[3] "%d měsacow" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d tydźeń" -msgstr[1] "%d njedźeli" -msgstr[2] "%d njedźele" -msgstr[3] "%d njedźel" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d dźeń" -msgstr[1] "%d njej" -msgstr[2] "%d dny" -msgstr[3] "%d dnjow" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d hodźina" -msgstr[1] "%d hodźinje" -msgstr[2] "%d hodźiny" -msgstr[3] "%d hodźin" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d mjeńšina" -msgstr[1] "%d mjeńšinje" -msgstr[2] "%d mjeńšiny" -msgstr[3] "%d mjeńšin" - -msgid "Forbidden" -msgstr "Zakazany" - -msgid "CSRF verification failed. Request aborted." -msgstr "CSRF-přepruwowanje je so nimokuliło. Naprašowanje je so přetorhnyło." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" -"Widźiće tutu zdźělenku, dokelž HTTPS-sydło „hłowu Referer“ trjeba, zo by so " -"do webwobhladowaka słało, ale njeje so pósłała. Tuta hłowa je z přičinow " -"wěstoty trěbna, zo by so zawěsćiło, zo waš wobhladowak so wot třećich " -"njekapruje." - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" -"Jei sće swój wobhladowak tak konfigurował, zo su hłowy „Referer“ " -"znjemóžnjene, zmóžńće je, znajmjeńša za tute sydło abo za HTTPS-zwiski abo " -"za naprašowanja „sameorigin“." - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" -"Jeli značku wužiwaće abo hłowu „Referrer-Policy: no-referrer“ zapřijimaće, " -"wotstrońće je prošu. CSRF-škit trjeba hłowu „Referer“ , zo by striktnu " -"kontrolu referer přewjedźe. Jeli so wo priwatnosć staraće, wužiwajće " -"alternatiwy kaž za wotkazy k sydłam třećich." - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Widźiće tutu zdźělenku, dokelž tute sydło CSRF-plack trjeba, hdyž so " -"formulary wotesyłaja. Tutón plack je z přičinow wěstoty trěbny, zo by so waš " -"wobhladowak wot třećich njekapruje." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" -"Jeli sće swój wobhladowak tak konfigurował, zo su placki znjemóžnjene, " -"zmóžńće je zaso, znajmjeńša za tute sydło abo za naprašowanja „same-origin“." - -msgid "More information is available with DEBUG=True." -msgstr "Z DEBUG=True su dalše informacije k dispoziciji." - -msgid "No year specified" -msgstr "Žane lěto podate" - -msgid "Date out of range" -msgstr "Datum zwonka wobłuka" - -msgid "No month specified" -msgstr "Žadyn měsac podaty" - -msgid "No day specified" -msgstr "Žadyn dźeń podaty" - -msgid "No week specified" -msgstr "Žadyn tydźeń podaty" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "Žadyn %(verbose_name_plural)s k dispoziciji njeje" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"Přichodowe %(verbose_name_plural)s k dispoziciji njejsu, dokelž hódnota " -"%(class_name)s.allow_future je False." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" -"Njepłaćiwy „%(format)s“ za datumowy znamješkowy rjaćazk „%(datestr)s“ podaty" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Žane %(verbose_name)s namakane, kotrež naprašowanju wotpowěduje" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "Strona „last“ njeje, ani njeda so do int konwertować." - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Njepłaćiwa strona (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "Prózdna lisćina a „%(class_name)s.allow_empty“ je False." - -msgid "Directory indexes are not allowed here." -msgstr "Zapisowe indeksy tu dowolone njejsu." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "„%(path)s“ njeeksistuje" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Indeks %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "Django: Web framework za perfekcionistow z terminami." - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"Čitajće wersijowe informacije za Django " -"%(version)s" - -msgid "The install worked successfully! Congratulations!" -msgstr "Instalacija bě wuspěšna! Zbožopřeće!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"Widźiće tutu stronu, dokelž DEBUG=True je we wašej dataji nastajenjow a njejsće URL skonfigurował." - -msgid "Django Documentation" -msgstr "Dokumentacija Django" - -msgid "Topics, references, & how-to’s" -msgstr "Temy, referency a nawody" - -msgid "Tutorial: A Polling App" -msgstr "Nawod: Naprašowanske nałoženje" - -msgid "Get started with Django" -msgstr "Prěnje kroki z Django" - -msgid "Django Community" -msgstr "Zhromadźenstwo Django" - -msgid "Connect, get help, or contribute" -msgstr "Zwjazać, pomoc wobstarać abo přinošować" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/hu/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/hu/LC_MESSAGES/django.mo deleted file mode 100644 index 78b278ea..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/hu/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/hu/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/hu/LC_MESSAGES/django.po deleted file mode 100644 index d3f36fb2..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/hu/LC_MESSAGES/django.po +++ /dev/null @@ -1,1321 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Akos Zsolt Hochrein , 2018 -# András Veres-Szentkirályi, 2016-2020 -# Attila Nagy <>, 2012 -# Dóra Szendrei , 2017 -# Istvan Farkas , 2019 -# Jannis Leidel , 2011 -# János R, 2011-2012,2014 -# Máté Őry , 2013 -# Szilveszter Farkas , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-07-20 07:32+0000\n" -"Last-Translator: András Veres-Szentkirályi\n" -"Language-Team: Hungarian (http://www.transifex.com/django/django/language/" -"hu/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hu\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "Afrikaans" -msgstr "Afrikaans" - -msgid "Arabic" -msgstr "Arab" - -msgid "Algerian Arabic" -msgstr "algériai arab" - -msgid "Asturian" -msgstr "Asztúriai" - -msgid "Azerbaijani" -msgstr "azerbajdzsáni" - -msgid "Bulgarian" -msgstr "Bolgár" - -msgid "Belarusian" -msgstr "Belarusz" - -msgid "Bengali" -msgstr "Bengáli" - -msgid "Breton" -msgstr "Breton" - -msgid "Bosnian" -msgstr "Bosnyák" - -msgid "Catalan" -msgstr "Katalán" - -msgid "Czech" -msgstr "Cseh" - -msgid "Welsh" -msgstr "Walesi" - -msgid "Danish" -msgstr "Dán" - -msgid "German" -msgstr "Német" - -msgid "Lower Sorbian" -msgstr "Alsószorb" - -msgid "Greek" -msgstr "Görög" - -msgid "English" -msgstr "Angol" - -msgid "Australian English" -msgstr "Ausztráliai angol" - -msgid "British English" -msgstr "Brit angol" - -msgid "Esperanto" -msgstr "Eszperantó" - -msgid "Spanish" -msgstr "Spanyol" - -msgid "Argentinian Spanish" -msgstr "Argentin spanyol" - -msgid "Colombian Spanish" -msgstr "Kolumbiai spanyol" - -msgid "Mexican Spanish" -msgstr "Mexikói spanyol" - -msgid "Nicaraguan Spanish" -msgstr "Nicaraguai spanyol" - -msgid "Venezuelan Spanish" -msgstr "Venezuelai spanyol" - -msgid "Estonian" -msgstr "Észt" - -msgid "Basque" -msgstr "Baszk " - -msgid "Persian" -msgstr "Perzsa" - -msgid "Finnish" -msgstr "Finn" - -msgid "French" -msgstr "Francia" - -msgid "Frisian" -msgstr "Fríz" - -msgid "Irish" -msgstr "Ír" - -msgid "Scottish Gaelic" -msgstr "Skót gael" - -msgid "Galician" -msgstr "Gall" - -msgid "Hebrew" -msgstr "Héber" - -msgid "Hindi" -msgstr "Hindi" - -msgid "Croatian" -msgstr "Horvát" - -msgid "Upper Sorbian" -msgstr "Felsőszorb" - -msgid "Hungarian" -msgstr "Magyar" - -msgid "Armenian" -msgstr "Örmény" - -msgid "Interlingua" -msgstr "Interlingua" - -msgid "Indonesian" -msgstr "Indonéz" - -msgid "Igbo" -msgstr "igbo" - -msgid "Ido" -msgstr "Ido" - -msgid "Icelandic" -msgstr "Izlandi" - -msgid "Italian" -msgstr "Olasz" - -msgid "Japanese" -msgstr "Japán" - -msgid "Georgian" -msgstr "Grúz" - -msgid "Kabyle" -msgstr "Kabil" - -msgid "Kazakh" -msgstr "Kazak" - -msgid "Khmer" -msgstr "Khmer" - -msgid "Kannada" -msgstr "Kannada" - -msgid "Korean" -msgstr "Koreai" - -msgid "Kyrgyz" -msgstr "kirgiz" - -msgid "Luxembourgish" -msgstr "Luxemburgi" - -msgid "Lithuanian" -msgstr "Litván" - -msgid "Latvian" -msgstr "Lett" - -msgid "Macedonian" -msgstr "Macedón" - -msgid "Malayalam" -msgstr "Malajálam" - -msgid "Mongolian" -msgstr "Mongol" - -msgid "Marathi" -msgstr "Maráthi" - -msgid "Burmese" -msgstr "Burmai" - -msgid "Norwegian Bokmål" -msgstr "Bokmål norvég" - -msgid "Nepali" -msgstr "Nepáli" - -msgid "Dutch" -msgstr "Holland" - -msgid "Norwegian Nynorsk" -msgstr "Nynorsk norvég" - -msgid "Ossetic" -msgstr "Oszét" - -msgid "Punjabi" -msgstr "Punjabi" - -msgid "Polish" -msgstr "Lengyel" - -msgid "Portuguese" -msgstr "Portugál" - -msgid "Brazilian Portuguese" -msgstr "Brazíliai portugál" - -msgid "Romanian" -msgstr "Román" - -msgid "Russian" -msgstr "Orosz" - -msgid "Slovak" -msgstr "Szlovák" - -msgid "Slovenian" -msgstr "Szlovén" - -msgid "Albanian" -msgstr "Albán" - -msgid "Serbian" -msgstr "Szerb" - -msgid "Serbian Latin" -msgstr "Latin betűs szerb" - -msgid "Swedish" -msgstr "Svéd" - -msgid "Swahili" -msgstr "Szuahéli" - -msgid "Tamil" -msgstr "Tamil" - -msgid "Telugu" -msgstr "Telugu" - -msgid "Tajik" -msgstr "tadzsik" - -msgid "Thai" -msgstr "Thai" - -msgid "Turkmen" -msgstr "türkmén" - -msgid "Turkish" -msgstr "Török" - -msgid "Tatar" -msgstr "Tatár" - -msgid "Udmurt" -msgstr "Udmurt" - -msgid "Ukrainian" -msgstr "Ukrán" - -msgid "Urdu" -msgstr "urdu" - -msgid "Uzbek" -msgstr "Üzbég" - -msgid "Vietnamese" -msgstr "Vietnámi" - -msgid "Simplified Chinese" -msgstr "Egyszerű kínai" - -msgid "Traditional Chinese" -msgstr "Hagyományos kínai" - -msgid "Messages" -msgstr "Üzenetek" - -msgid "Site Maps" -msgstr "Oldaltérképek" - -msgid "Static Files" -msgstr "Statikus fájlok" - -msgid "Syndication" -msgstr "Szindikáció" - -msgid "That page number is not an integer" -msgstr "Az oldalszám nem egész szám." - -msgid "That page number is less than 1" -msgstr "Az oldalszám kisebb, mint 1" - -msgid "That page contains no results" -msgstr "Az oldal nem tartalmaz találatokat" - -msgid "Enter a valid value." -msgstr "Adjon meg egy érvényes értéket." - -msgid "Enter a valid URL." -msgstr "Adjon meg egy érvényes URL-t." - -msgid "Enter a valid integer." -msgstr "Adjon meg egy érvényes számot." - -msgid "Enter a valid email address." -msgstr "Írjon be egy érvényes e-mail címet." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" -"Kérjük adjon meg egy érvényes \"domain-darabkát\", amely csak ékezet nélküli " -"betűkből, számokból, aláhúzásból és kötőjelből áll." - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" -"Kérjük adjon meg egy érvényes \"domain-darabkát\", amely csak betűkből, " -"számokból, aláhúzásból és kötőjelből áll." - -msgid "Enter a valid IPv4 address." -msgstr "Írjon be egy érvényes IPv4 címet." - -msgid "Enter a valid IPv6 address." -msgstr "Írjon be egy érvényes IPv6 címet." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Írjon be egy érvényes IPv4 vagy IPv6 címet." - -msgid "Enter only digits separated by commas." -msgstr "Csak számokat adjon meg, vesszővel elválasztva." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" -"Bizonyosodjon meg arról, hogy az érték %(limit_value)s (jelenleg: " -"%(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Bizonyosodjon meg arról, hogy az érték %(limit_value)s, vagy kisebb." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Bizonyosodjon meg arról, hogy az érték %(limit_value)s, vagy nagyobb." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Bizonyosodjon meg arról, hogy ez az érték legalább %(limit_value)d karaktert " -"tartalmaz (jelenlegi hossza: %(show_value)d)." -msgstr[1] "" -"Bizonyosodjon meg arról, hogy ez az érték legalább %(limit_value)d karaktert " -"tartalmaz (jelenlegi hossza: %(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Bizonyosodjon meg arról, hogy ez az érték legfeljebb %(limit_value)d " -"karaktert tartalmaz (jelenlegi hossza: %(show_value)d)." -msgstr[1] "" -"Bizonyosodjon meg arról, hogy ez az érték legfeljebb %(limit_value)d " -"karaktert tartalmaz (jelenlegi hossza: %(show_value)d)." - -msgid "Enter a number." -msgstr "Adj meg egy számot." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Bizonyosodjon meg arról, hogy legfeljebb %(max)s számjegyből áll." -msgstr[1] "Bizonyosodjon meg arról, hogy legfeljebb %(max)s számjegyből áll." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "" -"Bizonyosodjon meg arról, hogy legfeljebb %(max)s tizedesjegyből áll." -msgstr[1] "" -"Bizonyosodjon meg arról, hogy legfeljebb %(max)s tizedesjegyből áll." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -"Bizonyosodjon meg arról, hogy legfeljebb %(max)s számjegy van a " -"tizedesvessző előtt." -msgstr[1] "" -"Bizonyosodjon meg arról, hogy legfeljebb %(max)s számjegy van a " -"tizedesvessző előtt." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" -"A(z) \"%(extension)s\" kiterjesztés nincs engedélyezve. Az engedélyezett " -"fájltípusok: %(allowed_extensions)s." - -msgid "Null characters are not allowed." -msgstr "Null karakterek használata nem megengedett." - -msgid "and" -msgstr "és" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "Már létezik %(model_name)s ilyennel: %(field_labels)s." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "%(value)r érték érvénytelen." - -msgid "This field cannot be null." -msgstr "Ez a mező nem lehet nulla." - -msgid "This field cannot be blank." -msgstr "Ez a mező nem lehet üres." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "Már létezik %(model_name)s ilyennel: %(field_label)s." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(field_label)s egyedi kell hogy legyen %(lookup_type)s alapján a(z) " -"%(date_field_label)s mezőn." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Mezőtípus: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "A(z) \"%(value)s\" értéke csak True vagy False lehet." - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "A(z) \"%(value)s\" értéke csak True, False vagy üres lehet." - -msgid "Boolean (Either True or False)" -msgstr "Logikai (True vagy False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Karakterlánc (%(max_length)s hosszig)" - -msgid "Comma-separated integers" -msgstr "Vesszővel elválasztott egészek" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" -"A(z) \"%(value)s\" érvénytelen dátumformátumot tartalmaz. A dátumnak ÉÉÉÉ-HH-" -"NN formában kell lennie." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" -"A(z) \"%(value)s\" értéke formára (ÉÉÉÉ-HH-NN) megfelel ugyan, de " -"érvénytelen dátumot tartalmaz." - -msgid "Date (without time)" -msgstr "Dátum (idő nélkül)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" -"A(z) \"%(value)s\" érvénytelen dátumformátumot tartalmaz. A dátumnak ÉÉÉÉ-HH-" -"NN ÓÓ:PP[:mm[.uuuuuu]][TZ] formában kell lennie." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" -"A(z) \"%(value)s\" értéke formára (ÉÉÉÉ-HH-NN ÓÓ:PP[:mm[:uuuuuu]][TZ]) " -"megfelel ugyan, de érvénytelen dátumot vagy időt tartalmaz." - -msgid "Date (with time)" -msgstr "Dátum (idővel)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "A(z) \"%(value)s\" értékének tizes számrendszerű számnak kell lennie." - -msgid "Decimal number" -msgstr "Tizes számrendszerű (decimális) szám" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" -"A(z) \"%(value)s\" érvénytelen idő formátumot tartalmaz. Az időnek ÓÓ:PP[:" -"mm[.uuuuuu]] formában kell lennie." - -msgid "Duration" -msgstr "Időtartam" - -msgid "Email address" -msgstr "E-mail cím" - -msgid "File path" -msgstr "Elérési út" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "A(z) \"%(value)s\" értékének lebegőpontos számnak kell lennie." - -msgid "Floating point number" -msgstr "Lebegőpontos szám" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "A(z) \"%(value)s\" értékének egész számnak kell lennie." - -msgid "Integer" -msgstr "Egész" - -msgid "Big (8 byte) integer" -msgstr "Nagy egész szám (8 bájtos)" - -msgid "IPv4 address" -msgstr "IPv4 cím" - -msgid "IP address" -msgstr "IP cím" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "Az \"%(value)s\" értéke csak üres, True, vagy False lehet." - -msgid "Boolean (Either True, False or None)" -msgstr "Logikai (True, False vagy None)" - -msgid "Positive big integer" -msgstr "Pozitív nagy egész" - -msgid "Positive integer" -msgstr "Pozitív egész" - -msgid "Positive small integer" -msgstr "Pozitív kis egész" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "URL-barát cím (%(max_length)s hosszig)" - -msgid "Small integer" -msgstr "Kis egész" - -msgid "Text" -msgstr "Szöveg" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" -"A(z) \"%(value)s\" érvénytelen idő formátumot tartalmaz. Az időnek ÓÓ:PP[:" -"mm[.uuuuuu]] formában kell lennie." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" -"A(z) \"%(value)s\" értéke formára (ÓÓ:PP[:mm[:uuuuuu]][TZ]) megfelel ugyan, " -"de érvénytelen időt tartalmaz." - -msgid "Time" -msgstr "Idő" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Nyers bináris adat" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "A(z) \"%(value)s\" értéke nem érvényes UUID érték." - -msgid "Universally unique identifier" -msgstr "Univerzálisan egyedi azonosító" - -msgid "File" -msgstr "Fájl" - -msgid "Image" -msgstr "Kép" - -msgid "A JSON object" -msgstr "Egy JSON objektum" - -msgid "Value must be valid JSON." -msgstr "Az érték érvényes JSON kell legyen." - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "%(model)s példány %(value)r %(field)s értékkel nem létezik." - -msgid "Foreign Key (type determined by related field)" -msgstr "Idegen kulcs (típusa a kapcsolódó mezőtől függ)" - -msgid "One-to-one relationship" -msgstr "Egy-egy kapcsolat" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "%(from)s-%(to)s kapcsolat" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "%(from)s-%(to)s kapcsolatok" - -msgid "Many-to-many relationship" -msgstr "Több-több kapcsolat" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Ennek a mezőnek a megadása kötelező." - -msgid "Enter a whole number." -msgstr "Adjon meg egy egész számot." - -msgid "Enter a valid date." -msgstr "Adjon meg egy érvényes dátumot." - -msgid "Enter a valid time." -msgstr "Adjon meg egy érvényes időt." - -msgid "Enter a valid date/time." -msgstr "Adjon meg egy érvényes dátumot/időt." - -msgid "Enter a valid duration." -msgstr "Adjon meg egy érvényes időtartamot." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "A napok számának {min_days} és {max_days} közé kell esnie." - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Nem küldött el fájlt. Ellenőrizze a kódolás típusát az űrlapon." - -msgid "No file was submitted." -msgstr "Semmilyen fájl sem került feltöltésre." - -msgid "The submitted file is empty." -msgstr "A küldött fájl üres." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Bizonyosodjon meg arról, hogy a fájlnév legfeljebb %(max)d karakterből áll " -"(jelenlegi hossza: %(length)d)." -msgstr[1] "" -"Bizonyosodjon meg arról, hogy a fájlnév legfeljebb %(max)d karakterből áll " -"(jelenlegi hossza: %(length)d)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" -"Küldjön egy új fájlt, vagy jelölje be a törlés négyzetet, de ne mindkettőt " -"egyszerre." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Töltsön fel egy érvényes képfájlt. A feltöltött fájl nem kép volt, vagy " -"megsérült." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "" -"Válasszon érvényes elemet. '%(value)s' nincs az elérhető lehetőségek között." - -msgid "Enter a list of values." -msgstr "Adja meg értékek egy listáját." - -msgid "Enter a complete value." -msgstr "Adjon meg egy teljes értéket." - -msgid "Enter a valid UUID." -msgstr "Adjon meg egy érvényes UUID-t." - -msgid "Enter a valid JSON." -msgstr "Adjon meg egy érvényes JSON-t." - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Rejtett mező: %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "ManagementForm adatok hiányoznak vagy belenyúltak" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Legfeljebb %d űrlapot küldjön be." -msgstr[1] "Legfeljebb %d űrlapot küldjön be." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "Legalább %d űrlapot küldjön be." -msgstr[1] "Legalább %d űrlapot küldjön be." - -msgid "Order" -msgstr "Sorrend" - -msgid "Delete" -msgstr "Törlés" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Javítsa a mezőhöz tartozó duplikált adatokat: %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"Javítsa a mezőhöz tartozó duplikált adatokat: %(field)s (egyedinek kell " -"lenniük)." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Javítsa a mezőhöz tartozó duplikált adatokat: %(field_name)s (egyedinek kell " -"lenniük %(lookup)s alapján a dátum mezőn: %(date_field)s)." - -msgid "Please correct the duplicate values below." -msgstr "Javítsa az alábbi duplikált értékeket." - -msgid "The inline value did not match the parent instance." -msgstr "A beágyazott érték nem egyezik meg a szülő példányéval." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" -"Válasszon érvényes elemet. Az Ön választása nincs az elérhető lehetőségek " -"között." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "Érvénytelen érték: \"%(pk)s\"" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" -"A(z) %(datetime)s nem értelmezhető a(z) %(current_timezone)s időzónában; " -"vagy bizonytalan, vagy nem létezik." - -msgid "Clear" -msgstr "Törlés" - -msgid "Currently" -msgstr "Jelenleg" - -msgid "Change" -msgstr "Módosítás" - -msgid "Unknown" -msgstr "Ismeretlen" - -msgid "Yes" -msgstr "Igen" - -msgid "No" -msgstr "Nem" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "igen,nem,talán" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d bájt" -msgstr[1] "%(size)d bájt" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "du" - -msgid "a.m." -msgstr "de" - -msgid "PM" -msgstr "DU" - -msgid "AM" -msgstr "DE" - -msgid "midnight" -msgstr "éjfél" - -msgid "noon" -msgstr "dél" - -msgid "Monday" -msgstr "hétfő" - -msgid "Tuesday" -msgstr "kedd" - -msgid "Wednesday" -msgstr "szerda" - -msgid "Thursday" -msgstr "csütörtök" - -msgid "Friday" -msgstr "péntek" - -msgid "Saturday" -msgstr "szombat" - -msgid "Sunday" -msgstr "vasárnap" - -msgid "Mon" -msgstr "hét" - -msgid "Tue" -msgstr "kedd" - -msgid "Wed" -msgstr "sze" - -msgid "Thu" -msgstr "csüt" - -msgid "Fri" -msgstr "pén" - -msgid "Sat" -msgstr "szo" - -msgid "Sun" -msgstr "vas" - -msgid "January" -msgstr "január" - -msgid "February" -msgstr "február" - -msgid "March" -msgstr "március" - -msgid "April" -msgstr "április" - -msgid "May" -msgstr "május" - -msgid "June" -msgstr "június" - -msgid "July" -msgstr "július" - -msgid "August" -msgstr "augusztus" - -msgid "September" -msgstr "szeptember" - -msgid "October" -msgstr "október" - -msgid "November" -msgstr "november" - -msgid "December" -msgstr "december" - -msgid "jan" -msgstr "jan" - -msgid "feb" -msgstr "feb" - -msgid "mar" -msgstr "már" - -msgid "apr" -msgstr "ápr" - -msgid "may" -msgstr "máj" - -msgid "jun" -msgstr "jún" - -msgid "jul" -msgstr "júl" - -msgid "aug" -msgstr "aug" - -msgid "sep" -msgstr "sze" - -msgid "oct" -msgstr "okt" - -msgid "nov" -msgstr "nov" - -msgid "dec" -msgstr "dec" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "jan." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "febr." - -msgctxt "abbrev. month" -msgid "March" -msgstr "márc." - -msgctxt "abbrev. month" -msgid "April" -msgstr "ápr." - -msgctxt "abbrev. month" -msgid "May" -msgstr "máj." - -msgctxt "abbrev. month" -msgid "June" -msgstr "jún." - -msgctxt "abbrev. month" -msgid "July" -msgstr "júl." - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "aug." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "szept." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "okt." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "nov." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "dec." - -msgctxt "alt. month" -msgid "January" -msgstr "január" - -msgctxt "alt. month" -msgid "February" -msgstr "február" - -msgctxt "alt. month" -msgid "March" -msgstr "március" - -msgctxt "alt. month" -msgid "April" -msgstr "április" - -msgctxt "alt. month" -msgid "May" -msgstr "május" - -msgctxt "alt. month" -msgid "June" -msgstr "június" - -msgctxt "alt. month" -msgid "July" -msgstr "július" - -msgctxt "alt. month" -msgid "August" -msgstr "augusztus" - -msgctxt "alt. month" -msgid "September" -msgstr "szeptember" - -msgctxt "alt. month" -msgid "October" -msgstr "október" - -msgctxt "alt. month" -msgid "November" -msgstr "november" - -msgctxt "alt. month" -msgid "December" -msgstr "december" - -msgid "This is not a valid IPv6 address." -msgstr "Ez nem egy érvényes IPv6 cím." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s…" - -msgid "or" -msgstr "vagy" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d év" -msgstr[1] "%d év" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d hónap" -msgstr[1] "%d hónap" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d hét" -msgstr[1] "%d hét" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d nap" -msgstr[1] "%d nap" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d óra" -msgstr[1] "%d óra" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d perc" -msgstr[1] "%d perc" - -msgid "Forbidden" -msgstr "Hozzáférés megtagadva" - -msgid "CSRF verification failed. Request aborted." -msgstr "CSRF ellenőrzés sikertelen. Kérést kiszolgálása megszakítva." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" -"Ezt az üzenetet azért látja, mert ezen a HTTPS oldalon kötelező a \"Referer " -"header\", amelyet a böngészőnek kellene küldenie, de nem tette. Ez az adat " -"biztonsági okokból kötelező, ez biztosítja, hogy a böngészőt nem irányítja " -"át egy harmadik fél." - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" -"Ha a böngészője úgy van beállítva, hogy letilja a \"Referer\" adatokat, " -"kérjük engedélyezze őket ehhez az oldalhoz, vagy a HTTPS kapcsolatokhoz, " -"vagy a \"same-origin\" kérésekhez." - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" -"Ha a címkét használja, vagy " -"a “Referrer-Policy: no-referrer” fejlécet, kérjük távolítsa el ezeket. A " -"CSRF védelemnek szüksége van a \"Referer\" fejléc adatra a szigorú " -"ellenőrzéshez. Ha aggódik az adatainak biztonsága miatt, használjon " -"alternatívákat, mint például az , a külső oldalakra " -"mutató linkek esetén. " - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Azért látja ezt az üzenetet, mert ez a weboldal elvárja a CSRF cookie " -"elküldését űrlapoknál. Erre a cookie-ra biztonsági okból van szükség annak " -"kiszűrésére, hogy harmadik fél eltérítse az ön böngészőjét." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" -"Ha kikapcsolta a cookie-kat a böngészőjében, kérjük engedélyezze őket újra, " -"legalább erre az oldalra, vagy a \"same-origin\" típusú kérésekre." - -msgid "More information is available with DEBUG=True." -msgstr "További információ DEBUG=True beállítással érhető el." - -msgid "No year specified" -msgstr "Nincs év megadva" - -msgid "Date out of range" -msgstr "A dátum a megengedett tartományon kívül esik." - -msgid "No month specified" -msgstr "Nincs hónap megadva" - -msgid "No day specified" -msgstr "Nincs nap megadva" - -msgid "No week specified" -msgstr "Nincs hét megadva" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "Nincsenek elérhető %(verbose_name_plural)s" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"Jövőbeli %(verbose_name_plural)s nem elérhetők, mert %(class_name)s." -"allow_future értéke False." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" -"A megadott dátum \"%(datestr)s\" érvénytelen a következő formátumban: " -"\"%(format)s\"." - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Nincs a keresési feltételeknek megfelelő %(verbose_name)s" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "Az oldalszám nem \"utolsó\", vagy nem lehet számmá alakítani." - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Érvénytelen oldal (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "Üres lista, de a \"%(class_name)s.allow_empty\" értéke hamis." - -msgid "Directory indexes are not allowed here." -msgstr "A könyvtárak listázása itt nincs engedélyezve." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "A(z) \"%(path)s\" útvonal nem létezik" - -#, python-format -msgid "Index of %(directory)s" -msgstr "A %(directory)s könyvtár tartalma" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" -"Django: webes keretrendszer azoknak, akiknek a tökéletesség határidőre kell." - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"A Django %(version)s kiadási megjegyzéseinek " -"megtekintése" - -msgid "The install worked successfully! Congratulations!" -msgstr "A telepítés sikeresen végződött! Gratulálunk!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"Azért látod ezt az oldalt, mert a DEBUG=True szerepel a settings fájlban, és még nem került beállításra " -"egy URL sem." - -msgid "Django Documentation" -msgstr "Django Dokumentáció" - -msgid "Topics, references, & how-to’s" -msgstr "Témák, hivatkozások, & leírások" - -msgid "Tutorial: A Polling App" -msgstr "Gyakorlat: egy szavazó app" - -msgid "Get started with Django" -msgstr "Első lépések a Djangóval" - -msgid "Django Community" -msgstr "Django Közösség" - -msgid "Connect, get help, or contribute" -msgstr "Lépj kapcsolatba, kérj segítséget, vagy járulj hozzá" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/hu/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/hu/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/hu/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/hu/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index e4567914..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/hu/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/hu/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/hu/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 124b9233..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/hu/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/hu/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/hu/formats.py deleted file mode 100644 index f0bfa218..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/hu/formats.py +++ /dev/null @@ -1,30 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'Y. F j.' -TIME_FORMAT = 'H:i' -DATETIME_FORMAT = 'Y. F j. H:i' -YEAR_MONTH_FORMAT = 'Y. F' -MONTH_DAY_FORMAT = 'F j.' -SHORT_DATE_FORMAT = 'Y.m.d.' -SHORT_DATETIME_FORMAT = 'Y.m.d. H:i' -FIRST_DAY_OF_WEEK = 1 # Monday - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -DATE_INPUT_FORMATS = [ - '%Y.%m.%d.', # '2006.10.25.' -] -TIME_INPUT_FORMATS = [ - '%H:%M:%S', # '14:30:59' - '%H:%M', # '14:30' -] -DATETIME_INPUT_FORMATS = [ - '%Y.%m.%d. %H:%M:%S', # '2006.10.25. 14:30:59' - '%Y.%m.%d. %H:%M:%S.%f', # '2006.10.25. 14:30:59.000200' - '%Y.%m.%d. %H:%M', # '2006.10.25. 14:30' -] -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = ' ' # Non-breaking space -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/hy/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/hy/LC_MESSAGES/django.mo deleted file mode 100644 index 9dcc4721..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/hy/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/hy/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/hy/LC_MESSAGES/django.po deleted file mode 100644 index e4860e2d..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/hy/LC_MESSAGES/django.po +++ /dev/null @@ -1,1237 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Սմբատ Պետրոսյան , 2014 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-27 22:40+0200\n" -"PO-Revision-Date: 2019-11-05 00:38+0000\n" -"Last-Translator: Ramiro Morales\n" -"Language-Team: Armenian (http://www.transifex.com/django/django/language/" -"hy/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hy\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "Afrikaans" -msgstr "Աֆրիկաանս" - -msgid "Arabic" -msgstr "Արաբերեն" - -msgid "Asturian" -msgstr "Աստուրերեն" - -msgid "Azerbaijani" -msgstr "Ադրբեջաներեն" - -msgid "Bulgarian" -msgstr "Բուլղարերեն" - -msgid "Belarusian" -msgstr "Բելոռուսերեն" - -msgid "Bengali" -msgstr "Բենգալերեն" - -msgid "Breton" -msgstr "Բրետոներեն" - -msgid "Bosnian" -msgstr "Բոսնիերեն" - -msgid "Catalan" -msgstr "Կատալաներեն" - -msgid "Czech" -msgstr "Չեխերեն" - -msgid "Welsh" -msgstr "Վալլիերեն" - -msgid "Danish" -msgstr "Դանիերեն" - -msgid "German" -msgstr "Գերմաներեն" - -msgid "Lower Sorbian" -msgstr "" - -msgid "Greek" -msgstr "Հունարեն" - -msgid "English" -msgstr "Անգլերեն" - -msgid "Australian English" -msgstr "Ավստրալական Անգլերեն" - -msgid "British English" -msgstr "Բրիտանական Անգլերեն" - -msgid "Esperanto" -msgstr "Էսպերանտո" - -msgid "Spanish" -msgstr "Իսպաներեն" - -msgid "Argentinian Spanish" -msgstr "Արգենտինական իսպաներեն" - -msgid "Colombian Spanish" -msgstr "Կոլումբիական իսպաներեն" - -msgid "Mexican Spanish" -msgstr "Մեքսիկական իսպաներեն" - -msgid "Nicaraguan Spanish" -msgstr "Նիկարագուական իսպաներեն" - -msgid "Venezuelan Spanish" -msgstr "Վենեսուելլական իսպաներեն" - -msgid "Estonian" -msgstr "Էստոներեն" - -msgid "Basque" -msgstr "Բասկերեն" - -msgid "Persian" -msgstr "Պարսկերեն" - -msgid "Finnish" -msgstr "Ֆիներեն" - -msgid "French" -msgstr "Ֆրանսերեն" - -msgid "Frisian" -msgstr "Ֆրիզերեն" - -msgid "Irish" -msgstr "Իռլանդերեն" - -msgid "Scottish Gaelic" -msgstr "Գելական շոտլանդերեն" - -msgid "Galician" -msgstr "Գալիսերեն" - -msgid "Hebrew" -msgstr "Եբրայերեն" - -msgid "Hindi" -msgstr "Հինդի" - -msgid "Croatian" -msgstr "Խորվաթերեն" - -msgid "Upper Sorbian" -msgstr "" - -msgid "Hungarian" -msgstr "Հունգարերեն" - -msgid "Armenian" -msgstr "" - -msgid "Interlingua" -msgstr "Ինտերլինգուա" - -msgid "Indonesian" -msgstr "Ինդոնեզերեն" - -msgid "Ido" -msgstr "Իդո" - -msgid "Icelandic" -msgstr "Իսլանդերեն" - -msgid "Italian" -msgstr "Իտալերեն" - -msgid "Japanese" -msgstr "Ճապոներեն" - -msgid "Georgian" -msgstr "Վրացերեն" - -msgid "Kabyle" -msgstr "" - -msgid "Kazakh" -msgstr "Ղազախերեն" - -msgid "Khmer" -msgstr "Քեմերերեն" - -msgid "Kannada" -msgstr "Կանադա" - -msgid "Korean" -msgstr "Կորեերեն" - -msgid "Luxembourgish" -msgstr "Լյուքսեմբուրգերեն" - -msgid "Lithuanian" -msgstr "Լիտվերեն" - -msgid "Latvian" -msgstr "Լատիշերեն" - -msgid "Macedonian" -msgstr "Մակեդոներեն" - -msgid "Malayalam" -msgstr "Մալայալամ" - -msgid "Mongolian" -msgstr "Մոնղոլերեն" - -msgid "Marathi" -msgstr "Մարատխի" - -msgid "Burmese" -msgstr "Բիրմաներեն" - -msgid "Norwegian Bokmål" -msgstr "" - -msgid "Nepali" -msgstr "Նեպալերեն" - -msgid "Dutch" -msgstr "Հոլանդերեն" - -msgid "Norwegian Nynorsk" -msgstr "Նորվեգերեն (Նյունորսկ)" - -msgid "Ossetic" -msgstr "Օսերեն" - -msgid "Punjabi" -msgstr "Փանջաբի" - -msgid "Polish" -msgstr "Լեհերեն" - -msgid "Portuguese" -msgstr "Պորտուգալերեն" - -msgid "Brazilian Portuguese" -msgstr "Բրազիլական պորտուգալերեն" - -msgid "Romanian" -msgstr "Ռումիներեն" - -msgid "Russian" -msgstr "Ռուսերեն" - -msgid "Slovak" -msgstr "Սլովակերեն" - -msgid "Slovenian" -msgstr "Սլովեներեն" - -msgid "Albanian" -msgstr "Ալբաներեն" - -msgid "Serbian" -msgstr "Սերբերեն" - -msgid "Serbian Latin" -msgstr "Սերբերեն (լատինատառ)" - -msgid "Swedish" -msgstr "Շվեդերեն" - -msgid "Swahili" -msgstr "Սվահիլի" - -msgid "Tamil" -msgstr "Թամիլերեն" - -msgid "Telugu" -msgstr "Թելուգու" - -msgid "Thai" -msgstr "Թայերեն" - -msgid "Turkish" -msgstr "Թուրքերեն" - -msgid "Tatar" -msgstr "Թաթարերեն" - -msgid "Udmurt" -msgstr "Ումուրտերեն" - -msgid "Ukrainian" -msgstr "Ուկրաիներեն" - -msgid "Urdu" -msgstr "Ուրդու" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "Վիետնամերեն" - -msgid "Simplified Chinese" -msgstr "Հեշտացված չինարեն" - -msgid "Traditional Chinese" -msgstr "Ավանդական չինարեն" - -msgid "Messages" -msgstr "Հաղորդագրություններ" - -msgid "Site Maps" -msgstr "Կայքի քարտեզ" - -msgid "Static Files" -msgstr "Ստատիկ ֆայլեր\t" - -msgid "Syndication" -msgstr "Նորություններ" - -msgid "That page number is not an integer" -msgstr "" - -msgid "That page number is less than 1" -msgstr "" - -msgid "That page contains no results" -msgstr "" - -msgid "Enter a valid value." -msgstr "Մուտքագրեք ճիշտ արժեք" - -msgid "Enter a valid URL." -msgstr "Մուտքագրեք ճիշտ URL" - -msgid "Enter a valid integer." -msgstr "Մուտքագրեք ամբողջ թիվ" - -msgid "Enter a valid email address." -msgstr "Մուտքագրեք ճիշտ էլեկտրոնային փոստի հասցե" - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "Մուտքագրեք ճիշտ IPv4 հասցե" - -msgid "Enter a valid IPv6 address." -msgstr "Մուտքագրեք ճիշտ IPv6 հասցե" - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Մուտքագրեք ճիշտ IPv4 կամ IPv6 հասցե" - -msgid "Enter only digits separated by commas." -msgstr "Մուտքագրեք միայն ստորակետով բաժանված թվեր" - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "Համոզվեք, որ այս արժեքը %(limit_value)s (հիմա այն — %(show_value)s)" - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Համոզվեք, որ այս արժեքը փոքր է, կամ հավասար %(limit_value)s" - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Համոզվեք, որ այս արժեքը մեծ է, համ հավասար %(limit_value)s" - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Համոզվեք, որ արժեքը պարունակում է ամենաքիչը %(limit_value)d նիշ (այն " -"պարունակում է %(show_value)d)." -msgstr[1] "" -"Համոզվեք, որ արժեքը պարունակում է ամենաքիչը %(limit_value)d նիշ (այն " -"պարունակում է %(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Համոզվեք, որ արժեքը պարունակում է ամենաքիչը %(limit_value)d նիշ (այն " -"պարունակում է %(show_value)d)." -msgstr[1] "" -"Համոզվեք, որ արժեքը պարունակում է ամենաքիչը %(limit_value)d նիշ (այն " -"պարունակում է %(show_value)d)." - -msgid "Enter a number." -msgstr "Մուտքագրեք թիվ" - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Համոզվեք, որ թվերի քանակը մեծ չէ %(max)s -ից" -msgstr[1] "Համոզվեք, որ թվերի քանակը մեծ չէ %(max)s -ից" - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "Համոզվեք, որ ստորակետից հետո թվերի քանակը մեծ չէ %(max)s -ից" -msgstr[1] "Համոզվեք, որ ստորակետից հետո թվերի քանակը մեծ չէ %(max)s -ից" - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "Համոզվեք, որ ստորակետից առաջ թվերի քանակը մեծ չէ %(max)s -ից" -msgstr[1] "Համոզվեք, որ ստորակետից առաջ թվերի քանակը մեծ չէ %(max)s -ից" - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "" - -msgid "and" -msgstr "և" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "" -"%(field_labels)s դաշտերի այս արժեքով %(model_name)s արդեն գոյություն ունի" - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "%(value)r արժեքը չի մտնում թույլատրված տարբերակների մեջ" - -msgid "This field cannot be null." -msgstr "Այս դաշտը չի կարող ունենալ NULL արժեք " - -msgid "This field cannot be blank." -msgstr "Այս դաշտը չի կարող լինել դատարկ" - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(field_label)s դաշտի այս արժեքով %(model_name)s արդեն գոյություն ունի" - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"«%(field_label)s» դաշտի արժեքը պետք է լինի միակը %(date_field_label)s " -"%(lookup_type)s համար" - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "%(field_type)s տիպի դաշտ" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "Տրամաբանական (True կամ False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Տող (մինչև %(max_length)s երկարությամբ)" - -msgid "Comma-separated integers" -msgstr "Ստորակետով բաժանված ամբողջ թվեր" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "Ամսաթիվ (առանց ժամանակի)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "Ամսաթիվ (և ժամանակ)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "Տասնորդական թիվ" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "Տևողություն" - -msgid "Email address" -msgstr "Email հասցե" - -msgid "File path" -msgstr "Ֆայլի ճանապարհ" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "Floating point թիվ" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "Ամբողջ" - -msgid "Big (8 byte) integer" -msgstr "Մեծ (8 բայթ) ամբողջ թիվ" - -msgid "IPv4 address" -msgstr "IPv4 հասցե" - -msgid "IP address" -msgstr "IP հասցե" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "Տրամաբանական (Either True, False կամ None)" - -msgid "Positive integer" -msgstr "Դրական ամբողջ թիվ" - -msgid "Positive small integer" -msgstr "Դրայան փոքր ամբողջ թիվ" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Slug (մինչև %(max_length)s նիշ)" - -msgid "Small integer" -msgstr "Փոքր ամբողջ թիվ" - -msgid "Text" -msgstr "Տեքստ" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "Ժամանակ" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Երկուական տվյալներ" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "" - -msgid "File" -msgstr "Ֆայլ" - -msgid "Image" -msgstr "Պատկեր" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "" -" %(field)s դաշտի %(value)r արժեք ունեցող %(model)s օրինակ գոյություն չունի" - -msgid "Foreign Key (type determined by related field)" -msgstr "Արտաքին բանալի (տեսակը որոշվում է հարակից դաշտից)" - -msgid "One-to-one relationship" -msgstr "Մեկը մեկին կապ" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "" - -msgid "Many-to-many relationship" -msgstr "Մի քանիսը մի քանիսին կապ" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Այս դաշտը պարտադիր է" - -msgid "Enter a whole number." -msgstr "Մուտքագրեք ամբողջ թիվ" - -msgid "Enter a valid date." -msgstr "Մուտքագրեք ճիշտ ամսաթիվ" - -msgid "Enter a valid time." -msgstr "Մուտքագրեք ճիշտ ժամանակ" - -msgid "Enter a valid date/time." -msgstr "Մուտքագրեք ճիշտ ամսաթիվ/ժամանակ" - -msgid "Enter a valid duration." -msgstr "Մուտքագրեք ճիշտ տևողություն" - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "" - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Ոչ մի ֆայլ չի ուղարկվել։ Ստուգեք ձևաթղթի կոդավորում տեսակը" - -msgid "No file was submitted." -msgstr "Ոչ մի ֆայլ չի ուղարկվել" - -msgid "The submitted file is empty." -msgstr "Ուղարկված ֆայլը դատարկ է" - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Համոզվեք, որ ֆայլի անունը պարունակում է ամենաշատը %(max)d նիշ (այն " -"պարունակում է %(length)d)" -msgstr[1] "" -"Համոզվեք, որ ֆայլի անունը պարունակում է ամենաշատը %(max)d նիշ (այն " -"պարունակում է %(length)d)" - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" -"Ուղարկեք ֆայլ, կամ ակտիվացրեք մաքրելու նշման վանդակը, ոչ թե երկուսը միասին" - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "Ուղարկեք ճիշտ պատկեր․ Ուղարկված ֆայլը պատկեր չէ, կամ վնասված է" - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "Ընտրեք ճիշտ տարբերակ։ %(value)s արժեքը չի մտնում ճիշտ արժեքների մեջ" - -msgid "Enter a list of values." -msgstr "Մուտքագրեք արժեքների ցուցակ" - -msgid "Enter a complete value." -msgstr "Մուտքագրեք ամբողջական արժեք" - -msgid "Enter a valid UUID." -msgstr "Մուտքագրեք ճիշտ UUID" - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Թաքցված դաշտ %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "Կառավարման ձևաթղթի տվյալները բացակայում են, կամ վնասված են" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Ուղարկեք %d կամ քիչ ձևաթղթեր" -msgstr[1] "Ուղարկեք %d կամ քիչ ձևաթղթեր" - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "Ուղարկեք %d կամ շատ ձևաթղթեր" -msgstr[1] "Ուղարկեք %d կամ շատ ձևաթղթեր" - -msgid "Order" -msgstr "Հերթականություն" - -msgid "Delete" -msgstr "Հեռացնել" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Ուղղեք %(field)s դաշտի կրկնվող տվյալները" - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "Ուղղեք %(field)s դաշտի կրկնվող տվյալները, որոնք պետք է լինեն եզակի" - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Ուղղեք %(field_name)s դաշտի կրկնվող տվյալները, որոնք պետք է լինեն եզակի " -"%(date_field)s-ում %(lookup)s֊ի համար" - -msgid "Please correct the duplicate values below." -msgstr "Ուղղեք կրկնվող տվյալները" - -msgid "The inline value did not match the parent instance." -msgstr "" - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "Ընտրեք ճիշտ տարբերակ։ Այս արժեքը չի մտնում ճիշտ արժեքների մեջ" - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "Մաքրել" - -msgid "Currently" -msgstr "Տվյալ պահին" - -msgid "Change" -msgstr "Փոխել" - -msgid "Unknown" -msgstr "Անհայտ" - -msgid "Yes" -msgstr "Այո" - -msgid "No" -msgstr "Ոչ" - -msgid "Year" -msgstr "" - -msgid "Month" -msgstr "" - -msgid "Day" -msgstr "" - -msgid "yes,no,maybe" -msgstr "այո,ոչ,միգուցե" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d բայթ" -msgstr[1] "%(size)d բայթ" - -#, python-format -msgid "%s KB" -msgstr "%s ԿԲ" - -#, python-format -msgid "%s MB" -msgstr "%s ՄԲ" - -#, python-format -msgid "%s GB" -msgstr "%s ԳԲ" - -#, python-format -msgid "%s TB" -msgstr "%s ՏԲ" - -#, python-format -msgid "%s PB" -msgstr "%s ՊԲ" - -msgid "p.m." -msgstr "p.m." - -msgid "a.m." -msgstr "a.m." - -msgid "PM" -msgstr "PM" - -msgid "AM" -msgstr "AM" - -msgid "midnight" -msgstr "կեսգիշեր" - -msgid "noon" -msgstr "կեսօր" - -msgid "Monday" -msgstr "Երկուշաբթի" - -msgid "Tuesday" -msgstr "Երեքշաբթի" - -msgid "Wednesday" -msgstr "Չորեքշաբթի" - -msgid "Thursday" -msgstr "Հինգշաբթի" - -msgid "Friday" -msgstr "Ուրբաթ" - -msgid "Saturday" -msgstr "Շաբաթ" - -msgid "Sunday" -msgstr "Կիրակի" - -msgid "Mon" -msgstr "Երկ" - -msgid "Tue" -msgstr "Երք" - -msgid "Wed" -msgstr "Չրք" - -msgid "Thu" -msgstr "Հնգ" - -msgid "Fri" -msgstr "Ուրբ" - -msgid "Sat" -msgstr "Շբթ" - -msgid "Sun" -msgstr "Կիր" - -msgid "January" -msgstr "Հունվար" - -msgid "February" -msgstr "Փետրվար" - -msgid "March" -msgstr "Մարտ" - -msgid "April" -msgstr "Ապրիլ" - -msgid "May" -msgstr "Մայիս" - -msgid "June" -msgstr "Հունիս" - -msgid "July" -msgstr "Հուլիս" - -msgid "August" -msgstr "Օգոստոս" - -msgid "September" -msgstr "Սեպտեմբեր" - -msgid "October" -msgstr "Հոկտեմբեր" - -msgid "November" -msgstr "Նոյեմբեր" - -msgid "December" -msgstr "Դեկտեմբեր" - -msgid "jan" -msgstr "հուն" - -msgid "feb" -msgstr "փետ" - -msgid "mar" -msgstr "մար" - -msgid "apr" -msgstr "ապր" - -msgid "may" -msgstr "մայ" - -msgid "jun" -msgstr "հուն" - -msgid "jul" -msgstr "հուլ" - -msgid "aug" -msgstr "օգտ" - -msgid "sep" -msgstr "սեպ" - -msgid "oct" -msgstr "հոկ" - -msgid "nov" -msgstr "նոյ" - -msgid "dec" -msgstr "դեկ" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Հուն․" - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Փետ․" - -msgctxt "abbrev. month" -msgid "March" -msgstr "Մարտ" - -msgctxt "abbrev. month" -msgid "April" -msgstr "Մարտ" - -msgctxt "abbrev. month" -msgid "May" -msgstr "Մայիս" - -msgctxt "abbrev. month" -msgid "June" -msgstr "Հունիս" - -msgctxt "abbrev. month" -msgid "July" -msgstr "Հուլիս" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Օգոստ․" - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Սեպտ․" - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Հոկտ․" - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Նոյ․" - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Դեկ․" - -msgctxt "alt. month" -msgid "January" -msgstr "Հունվար" - -msgctxt "alt. month" -msgid "February" -msgstr "Փետրվար" - -msgctxt "alt. month" -msgid "March" -msgstr "Մարտ" - -msgctxt "alt. month" -msgid "April" -msgstr "Ապրիլ" - -msgctxt "alt. month" -msgid "May" -msgstr "Մայիս" - -msgctxt "alt. month" -msgid "June" -msgstr "Հունիս" - -msgctxt "alt. month" -msgid "July" -msgstr "Հուլիս" - -msgctxt "alt. month" -msgid "August" -msgstr "Օգոստոս" - -msgctxt "alt. month" -msgid "September" -msgstr "Սեպտեմբեր" - -msgctxt "alt. month" -msgid "October" -msgstr "Հոկտեմբեր" - -msgctxt "alt. month" -msgid "November" -msgstr "Նոյեմբեր" - -msgctxt "alt. month" -msgid "December" -msgstr "Դեկտեմբեր" - -msgid "This is not a valid IPv6 address." -msgstr "Սա ճիշտ IPv6 հասցե չէ" - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "" - -msgid "or" -msgstr "կամ" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d տարի" -msgstr[1] "%d տարի" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d ամիս" -msgstr[1] "%d ամիս" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d շաբաթ" -msgstr[1] "%d շաբաթ" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d օր" -msgstr[1] "%d օր" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d ժամ" -msgstr[1] "%d ժամ" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d րոպե" -msgstr[1] "%d րոպե" - -msgid "0 minutes" -msgstr "0 րոպե" - -msgid "Forbidden" -msgstr "Արգելված" - -msgid "CSRF verification failed. Request aborted." -msgstr "CSRF ստուգման սխալ․ Հարցումն ընդհատված է" - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Դուք տեսնում եք այս հաղորդագրությունը, քանի որ այս կայքը ձևաթերթերը " -"ուղարկելու համար պահանջում է CSRF cookie։ Այն անհրաժեշտ է անվտանգության " -"նկատառումներից ելնելով, համոզվելու համար, որ ձեր բրաուզերը չի գտնվում երրորդ " -"անձանց կառավարման տակ։" - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "Ավելի մանրամասն տեղեկությունը հասանելի է DEBUG=True֊ի ժամանակ" - -msgid "No year specified" -msgstr "Տարին նշված չէ" - -msgid "Date out of range" -msgstr "" - -msgid "No month specified" -msgstr "Ամիսը նշված չէ" - -msgid "No day specified" -msgstr "Օրը նշված չէ" - -msgid "No week specified" -msgstr "Շաբաթը նշված չէ" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "Ոչ մի %(verbose_name_plural)s հասանելի չէ" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"Ապագա %(verbose_name_plural)s հասանելի չեն, քանի որ %(class_name)s." -"allow_future ունի False արժեք" - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Հարցմանը համապատասխանող ոչ մի %(verbose_name)s չի գտնվել" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Սխալ էջ (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "Կատալոգների ինդեքսավորումը թույլատրված չէ այստեղ" - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "%(directory)s֊ի ինդեքսը" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" - -msgid "The install worked successfully! Congratulations!" -msgstr "" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" - -msgid "Django Documentation" -msgstr "" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "" - -msgid "Get started with Django" -msgstr "" - -msgid "Django Community" -msgstr "" - -msgid "Connect, get help, or contribute" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ia/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/ia/LC_MESSAGES/django.mo deleted file mode 100644 index 4ff3ff53..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/ia/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ia/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/ia/LC_MESSAGES/django.po deleted file mode 100644 index 46d8e54c..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/ia/LC_MESSAGES/django.po +++ /dev/null @@ -1,1245 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Martijn Dekker , 2012,2014,2016 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-27 22:40+0200\n" -"PO-Revision-Date: 2019-11-05 00:38+0000\n" -"Last-Translator: Ramiro Morales\n" -"Language-Team: Interlingua (http://www.transifex.com/django/django/language/" -"ia/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ia\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "Afrikaans" -msgstr "afrikaans" - -msgid "Arabic" -msgstr "arabe" - -msgid "Asturian" -msgstr "asturiano" - -msgid "Azerbaijani" -msgstr "azeri" - -msgid "Bulgarian" -msgstr "bulgaro" - -msgid "Belarusian" -msgstr "bielorusso" - -msgid "Bengali" -msgstr "bengali" - -msgid "Breton" -msgstr "breton" - -msgid "Bosnian" -msgstr "bosniaco" - -msgid "Catalan" -msgstr "catalano" - -msgid "Czech" -msgstr "tcheco" - -msgid "Welsh" -msgstr "gallese" - -msgid "Danish" -msgstr "danese" - -msgid "German" -msgstr "germano" - -msgid "Lower Sorbian" -msgstr "sorabo inferior" - -msgid "Greek" -msgstr "greco" - -msgid "English" -msgstr "anglese" - -msgid "Australian English" -msgstr "anglese australian" - -msgid "British English" -msgstr "anglese britannic" - -msgid "Esperanto" -msgstr "esperanto" - -msgid "Spanish" -msgstr "espaniol" - -msgid "Argentinian Spanish" -msgstr "espaniol argentin" - -msgid "Colombian Spanish" -msgstr "espaniol colombian" - -msgid "Mexican Spanish" -msgstr "espaniol mexican" - -msgid "Nicaraguan Spanish" -msgstr "espaniol nicaraguan" - -msgid "Venezuelan Spanish" -msgstr "espaniol venzuelan" - -msgid "Estonian" -msgstr "estoniano" - -msgid "Basque" -msgstr "basco" - -msgid "Persian" -msgstr "persiano" - -msgid "Finnish" -msgstr "finnese" - -msgid "French" -msgstr "francese" - -msgid "Frisian" -msgstr "frison" - -msgid "Irish" -msgstr "irlandese" - -msgid "Scottish Gaelic" -msgstr "gaelico scotese" - -msgid "Galician" -msgstr "galiciano" - -msgid "Hebrew" -msgstr "hebreo" - -msgid "Hindi" -msgstr "hindi" - -msgid "Croatian" -msgstr "croato" - -msgid "Upper Sorbian" -msgstr "sorabo superior" - -msgid "Hungarian" -msgstr "hungaro" - -msgid "Armenian" -msgstr "" - -msgid "Interlingua" -msgstr "interlingua" - -msgid "Indonesian" -msgstr "indonesiano" - -msgid "Ido" -msgstr "ido" - -msgid "Icelandic" -msgstr "islandese" - -msgid "Italian" -msgstr "italiano" - -msgid "Japanese" -msgstr "japonese" - -msgid "Georgian" -msgstr "georgiano" - -msgid "Kabyle" -msgstr "" - -msgid "Kazakh" -msgstr "kazakh" - -msgid "Khmer" -msgstr "khmer" - -msgid "Kannada" -msgstr "kannada" - -msgid "Korean" -msgstr "coreano" - -msgid "Luxembourgish" -msgstr "luxemburgese" - -msgid "Lithuanian" -msgstr "lituano" - -msgid "Latvian" -msgstr "letton" - -msgid "Macedonian" -msgstr "macedone" - -msgid "Malayalam" -msgstr "malayalam" - -msgid "Mongolian" -msgstr "mongolico" - -msgid "Marathi" -msgstr "marathi" - -msgid "Burmese" -msgstr "burmese" - -msgid "Norwegian Bokmål" -msgstr "norvegianio bokmål" - -msgid "Nepali" -msgstr "nepali" - -msgid "Dutch" -msgstr "hollandese" - -msgid "Norwegian Nynorsk" -msgstr "norvegiano, nynorsk" - -msgid "Ossetic" -msgstr "ossetico" - -msgid "Punjabi" -msgstr "punjabi" - -msgid "Polish" -msgstr "polonese" - -msgid "Portuguese" -msgstr "portugese" - -msgid "Brazilian Portuguese" -msgstr "portugese brasilian" - -msgid "Romanian" -msgstr "romaniano" - -msgid "Russian" -msgstr "russo" - -msgid "Slovak" -msgstr "slovaco" - -msgid "Slovenian" -msgstr "sloveno" - -msgid "Albanian" -msgstr "albanese" - -msgid "Serbian" -msgstr "serbo" - -msgid "Serbian Latin" -msgstr "serbo latin" - -msgid "Swedish" -msgstr "svedese" - -msgid "Swahili" -msgstr "swahili" - -msgid "Tamil" -msgstr "tamil" - -msgid "Telugu" -msgstr "telugu" - -msgid "Thai" -msgstr "thailandese" - -msgid "Turkish" -msgstr "turco" - -msgid "Tatar" -msgstr "tartaro" - -msgid "Udmurt" -msgstr "udmurto" - -msgid "Ukrainian" -msgstr "ukrainiano" - -msgid "Urdu" -msgstr "urdu" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "vietnamese" - -msgid "Simplified Chinese" -msgstr "chinese simplificate" - -msgid "Traditional Chinese" -msgstr "chinese traditional" - -msgid "Messages" -msgstr "Messages" - -msgid "Site Maps" -msgstr "Mappas de sito" - -msgid "Static Files" -msgstr "Files static" - -msgid "Syndication" -msgstr "Syndication" - -msgid "That page number is not an integer" -msgstr "" - -msgid "That page number is less than 1" -msgstr "" - -msgid "That page contains no results" -msgstr "" - -msgid "Enter a valid value." -msgstr "Specifica un valor valide." - -msgid "Enter a valid URL." -msgstr "Specifica un URL valide." - -msgid "Enter a valid integer." -msgstr "Specifica un numero integre valide." - -msgid "Enter a valid email address." -msgstr "Specifica un adresse de e-mail valide." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "Specifica un adresse IPv4 valide." - -msgid "Enter a valid IPv6 address." -msgstr "Specifica un adresse IPv6 valide." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Specifica un adresse IPv4 o IPv6 valide." - -msgid "Enter only digits separated by commas." -msgstr "Scribe solmente digitos separate per commas." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" -"Assecura te que iste valor es %(limit_value)s (illo es %(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Assecura te que iste valor es inferior o equal a %(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Assecura te que iste valor es superior o equal a %(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Assecura te que iste valor ha al minus %(limit_value)d character (illo ha " -"%(show_value)d)." -msgstr[1] "" -"Assecura te que iste valor ha al minus %(limit_value)d characteres (illo ha " -"%(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Assecura te que iste valor ha al plus %(limit_value)d character (illo ha " -"%(show_value)d)." -msgstr[1] "" -"Assecura te que iste valor ha al plus %(limit_value)d characteres (illo ha " -"%(show_value)d)." - -msgid "Enter a number." -msgstr "Specifica un numero." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Assecura te que il non ha plus de %(max)s digito in total." -msgstr[1] "Assecura te que il non ha plus de %(max)s digitos in total." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "" -"Assecura te que il non ha plus de %(max)s cifra post le comma decimal." -msgstr[1] "" -"Assecura te que il non ha plus de %(max)s cifras post le comma decimal." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -"Assecura te que il non ha plus de %(max)s cifra ante le comma decimal." -msgstr[1] "" -"Assecura te que il non ha plus de %(max)s cifras ante le comma decimal." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "" - -msgid "and" -msgstr "e" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "Jam existe %(model_name)s con iste %(field_labels)s." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "Le valor %(value)r non es un option valide." - -msgid "This field cannot be null." -msgstr "Iste campo non pote esser nulle." - -msgid "This field cannot be blank." -msgstr "Iste campo non pote esser vacue." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s con iste %(field_label)s jam existe." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(field_label)s debe esser unic pro %(lookup_type)s de %(date_field_label)s." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Campo de typo: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "Booleano (ver o false)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Catena (longitude maxime: %(max_length)s)" - -msgid "Comma-separated integers" -msgstr "Numeros integre separate per commas" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "Data (sin hora)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "Data (con hora)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "Numero decimal" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "Duration" - -msgid "Email address" -msgstr "Adresse de e-mail" - -msgid "File path" -msgstr "Cammino de file" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "Numero a comma flottante" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "Numero integre" - -msgid "Big (8 byte) integer" -msgstr "Numero integre grande (8 bytes)" - -msgid "IPv4 address" -msgstr "Adresse IPv4" - -msgid "IP address" -msgstr "Adresse IP" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "Booleano (ver, false o nulle)" - -msgid "Positive integer" -msgstr "Numero integre positive" - -msgid "Positive small integer" -msgstr "Parve numero integre positive" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Denotation (longitude maxime: %(max_length)s)" - -msgid "Small integer" -msgstr "Parve numero integre" - -msgid "Text" -msgstr "Texto" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "Hora" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Datos binari crude" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "" - -msgid "File" -msgstr "File" - -msgid "Image" -msgstr "Imagine" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "Le instantia de %(model)s con %(field)s %(value)r non existe." - -msgid "Foreign Key (type determined by related field)" -msgstr "Clave estranier (typo determinate per le campo associate)" - -msgid "One-to-one relationship" -msgstr "Relation un a un" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "Relation %(from)s a %(to)s" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "Relationes %(from)s a %(to)s" - -msgid "Many-to-many relationship" -msgstr "Relation multes a multes" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr "" - -msgid "This field is required." -msgstr "Iste campo es obligatori." - -msgid "Enter a whole number." -msgstr "Specifica un numero integre." - -msgid "Enter a valid date." -msgstr "Specifica un data valide." - -msgid "Enter a valid time." -msgstr "Specifica un hora valide." - -msgid "Enter a valid date/time." -msgstr "Specifica un data e hora valide." - -msgid "Enter a valid duration." -msgstr "Specifica un duration valide." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "" - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "" -"Nulle file esseva submittite. Verifica le typo de codification in le " -"formulario." - -msgid "No file was submitted." -msgstr "Nulle file esseva submittite." - -msgid "The submitted file is empty." -msgstr "Le file submittite es vacue." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Assecura te que iste valor ha al plus %(max)d character (illo ha %(length)d)." -msgstr[1] "" -"Assecura te que iste valor ha al plus %(max)d characteres (illo ha " -"%(length)d)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "Per favor o submitte un file o marca le quadrato \"rader\", non ambes." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Per favor incarga un imagine valide. Le file que tu incargava o non esseva " -"un imagine o esseva un imagine corrumpite." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "" -"Selige un option valide. %(value)s non es inter le optiones disponibile." - -msgid "Enter a list of values." -msgstr "Scribe un lista de valores." - -msgid "Enter a complete value." -msgstr "Specifica un valor complete." - -msgid "Enter a valid UUID." -msgstr "Specifica un UUID valide." - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr "" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Campo celate %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "Le datos ManagementForm manca o ha essite manipulate" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Per favor, submitte %d o minus formularios." -msgstr[1] "Per favor, submitte %d o minus formularios." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "Per favor, submitte %d o plus formularios." -msgstr[1] "Per favor, submitte %d o plus formularios." - -msgid "Order" -msgstr "Ordine" - -msgid "Delete" -msgstr "Deler" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Per favor corrige le datos duplicate pro %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"Per favor corrige le datos duplicate pro %(field)s, que debe esser unic." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Per favor corrige le datos duplicate pro %(field_name)s, que debe esser unic " -"pro le %(lookup)s in %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "Per favor corrige le sequente valores duplicate." - -msgid "The inline value did not match the parent instance." -msgstr "" - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" -"Per favor selige un option valide. Iste option non es inter le optiones " -"disponibile." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "Rader" - -msgid "Currently" -msgstr "Actualmente" - -msgid "Change" -msgstr "Cambiar" - -msgid "Unknown" -msgstr "Incognite" - -msgid "Yes" -msgstr "Si" - -msgid "No" -msgstr "No" - -msgid "Year" -msgstr "" - -msgid "Month" -msgstr "" - -msgid "Day" -msgstr "" - -msgid "yes,no,maybe" -msgstr "si,no,forsan" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d byte" -msgstr[1] "%(size)d bytes" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "pm." - -msgid "a.m." -msgstr "am." - -msgid "PM" -msgstr "PM" - -msgid "AM" -msgstr "AM" - -msgid "midnight" -msgstr "medienocte" - -msgid "noon" -msgstr "mediedie" - -msgid "Monday" -msgstr "lunedi" - -msgid "Tuesday" -msgstr "martedi" - -msgid "Wednesday" -msgstr "mercuridi" - -msgid "Thursday" -msgstr "jovedi" - -msgid "Friday" -msgstr "venerdi" - -msgid "Saturday" -msgstr "sabbato" - -msgid "Sunday" -msgstr "dominica" - -msgid "Mon" -msgstr "lun" - -msgid "Tue" -msgstr "mar" - -msgid "Wed" -msgstr "mer" - -msgid "Thu" -msgstr "jov" - -msgid "Fri" -msgstr "ven" - -msgid "Sat" -msgstr "sab" - -msgid "Sun" -msgstr "dom" - -msgid "January" -msgstr "januario" - -msgid "February" -msgstr "februario" - -msgid "March" -msgstr "martio" - -msgid "April" -msgstr "april" - -msgid "May" -msgstr "maio" - -msgid "June" -msgstr "junio" - -msgid "July" -msgstr "julio" - -msgid "August" -msgstr "augusto" - -msgid "September" -msgstr "septembre" - -msgid "October" -msgstr "octobre" - -msgid "November" -msgstr "novembre" - -msgid "December" -msgstr "decembre" - -msgid "jan" -msgstr "jan" - -msgid "feb" -msgstr "feb" - -msgid "mar" -msgstr "mar" - -msgid "apr" -msgstr "apr" - -msgid "may" -msgstr "mai" - -msgid "jun" -msgstr "jun" - -msgid "jul" -msgstr "jul" - -msgid "aug" -msgstr "aug" - -msgid "sep" -msgstr "sep" - -msgid "oct" -msgstr "oct" - -msgid "nov" -msgstr "nov" - -msgid "dec" -msgstr "dec" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Jan." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Feb." - -msgctxt "abbrev. month" -msgid "March" -msgstr "Mar." - -msgctxt "abbrev. month" -msgid "April" -msgstr "April" - -msgctxt "abbrev. month" -msgid "May" -msgstr "Maio" - -msgctxt "abbrev. month" -msgid "June" -msgstr "Junio" - -msgctxt "abbrev. month" -msgid "July" -msgstr "Julio" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Aug." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Sept." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Oct." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Nov." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Dec." - -msgctxt "alt. month" -msgid "January" -msgstr "Januario" - -msgctxt "alt. month" -msgid "February" -msgstr "Februario" - -msgctxt "alt. month" -msgid "March" -msgstr "Martio" - -msgctxt "alt. month" -msgid "April" -msgstr "April" - -msgctxt "alt. month" -msgid "May" -msgstr "Maio" - -msgctxt "alt. month" -msgid "June" -msgstr "Junio" - -msgctxt "alt. month" -msgid "July" -msgstr "Julio" - -msgctxt "alt. month" -msgid "August" -msgstr "Augusto" - -msgctxt "alt. month" -msgid "September" -msgstr "Septembre" - -msgctxt "alt. month" -msgid "October" -msgstr "Octobre" - -msgctxt "alt. month" -msgid "November" -msgstr "Novembre" - -msgctxt "alt. month" -msgid "December" -msgstr "Decembre" - -msgid "This is not a valid IPv6 address." -msgstr "Isto non es un adresse IPv6 valide." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "" - -msgid "or" -msgstr "o" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d anno" -msgstr[1] "%d annos" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d mense" -msgstr[1] "%d menses" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d septimana" -msgstr[1] "%d septimanas" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d die" -msgstr[1] "%d dies" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d horas" -msgstr[1] "%d horas" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d minuta" -msgstr[1] "%d minutas" - -msgid "0 minutes" -msgstr "0 minutas" - -msgid "Forbidden" -msgstr "Prohibite" - -msgid "CSRF verification failed. Request aborted." -msgstr "Verification CSRF fallite. Requesta abortate." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Tu vide iste message perque iste sito require un cookie CSRF durante le " -"submission de formularios. Iste cookie es requirite pro motivos de " -"securitate, pro assecurar que tu navigator non es sequestrate per tertie " -"personas." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "Plus information es disponibile con DEBUG=True." - -msgid "No year specified" -msgstr "Nulle anno specificate" - -msgid "Date out of range" -msgstr "" - -msgid "No month specified" -msgstr "Nulle mense specificate" - -msgid "No day specified" -msgstr "Nulle die specificate" - -msgid "No week specified" -msgstr "Nulle septimana specificate" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "Il non ha %(verbose_name_plural)s disponibile" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"In le futuro, %(verbose_name_plural)s non essera disponibile perque " -"%(class_name)s.allow_future es False." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Nulle %(verbose_name)s trovate que corresponde al consulta" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Pagina invalide (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "Le indices de directorio non es permittite hic." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Indice de %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" - -msgid "The install worked successfully! Congratulations!" -msgstr "" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" - -msgid "Django Documentation" -msgstr "" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "" - -msgid "Get started with Django" -msgstr "" - -msgid "Django Community" -msgstr "" - -msgid "Connect, get help, or contribute" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/id/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/id/LC_MESSAGES/django.mo deleted file mode 100644 index 0bb3472f..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/id/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/id/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/id/LC_MESSAGES/django.po deleted file mode 100644 index 57a1d956..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/id/LC_MESSAGES/django.po +++ /dev/null @@ -1,1277 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Adiyat Mubarak , 2017 -# Claude Paroz , 2018 -# Fery Setiawan , 2015-2019 -# Jannis Leidel , 2011 -# M Asep Indrayana , 2015 -# oon arfiandwi , 2016 -# rodin , 2011 -# rodin , 2013-2016 -# sage , 2018-2019 -# Sutrisno Efendi , 2015,2017 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-27 22:40+0200\n" -"PO-Revision-Date: 2019-11-18 04:50+0000\n" -"Last-Translator: sage \n" -"Language-Team: Indonesian (http://www.transifex.com/django/django/language/" -"id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -msgid "Afrikaans" -msgstr "Afrikaans" - -msgid "Arabic" -msgstr "Arab" - -msgid "Asturian" -msgstr "Asturia" - -msgid "Azerbaijani" -msgstr "Azerbaijani" - -msgid "Bulgarian" -msgstr "Bulgaria" - -msgid "Belarusian" -msgstr "Belarusia" - -msgid "Bengali" -msgstr "Bengali" - -msgid "Breton" -msgstr "Breton" - -msgid "Bosnian" -msgstr "Bosnia" - -msgid "Catalan" -msgstr "Catalan" - -msgid "Czech" -msgstr "Ceska" - -msgid "Welsh" -msgstr "Wales" - -msgid "Danish" -msgstr "Denmark" - -msgid "German" -msgstr "Jerman" - -msgid "Lower Sorbian" -msgstr "Sorbian Bawah" - -msgid "Greek" -msgstr "Yunani" - -msgid "English" -msgstr "Inggris" - -msgid "Australian English" -msgstr "Inggris Australia" - -msgid "British English" -msgstr "Inggris Britania" - -msgid "Esperanto" -msgstr "Esperanto" - -msgid "Spanish" -msgstr "Spanyol" - -msgid "Argentinian Spanish" -msgstr "Spanyol Argentina" - -msgid "Colombian Spanish" -msgstr "Spanyol Kolombia" - -msgid "Mexican Spanish" -msgstr "Spanyol Meksiko" - -msgid "Nicaraguan Spanish" -msgstr "Spanyol Nikaragua" - -msgid "Venezuelan Spanish" -msgstr "Spanyol Venezuela" - -msgid "Estonian" -msgstr "Estonia" - -msgid "Basque" -msgstr "Basque" - -msgid "Persian" -msgstr "Persia" - -msgid "Finnish" -msgstr "Finlandia" - -msgid "French" -msgstr "Perancis" - -msgid "Frisian" -msgstr "Frisia" - -msgid "Irish" -msgstr "Irlandia" - -msgid "Scottish Gaelic" -msgstr "Skolandia Gaelik" - -msgid "Galician" -msgstr "Galicia" - -msgid "Hebrew" -msgstr "Ibrani" - -msgid "Hindi" -msgstr "Hindi" - -msgid "Croatian" -msgstr "Kroasia" - -msgid "Upper Sorbian" -msgstr "Sorbian Atas" - -msgid "Hungarian" -msgstr "Hungaria" - -msgid "Armenian" -msgstr "Armenia" - -msgid "Interlingua" -msgstr "Interlingua" - -msgid "Indonesian" -msgstr "Indonesia" - -msgid "Ido" -msgstr "Ido" - -msgid "Icelandic" -msgstr "Islandia" - -msgid "Italian" -msgstr "Italia" - -msgid "Japanese" -msgstr "Jepang" - -msgid "Georgian" -msgstr "Georgia" - -msgid "Kabyle" -msgstr "Kabyle" - -msgid "Kazakh" -msgstr "Kazakhstan" - -msgid "Khmer" -msgstr "Khmer" - -msgid "Kannada" -msgstr "Kannada" - -msgid "Korean" -msgstr "Korea" - -msgid "Luxembourgish" -msgstr "Luksemburg" - -msgid "Lithuanian" -msgstr "Lithuania" - -msgid "Latvian" -msgstr "Latvia" - -msgid "Macedonian" -msgstr "Makedonia" - -msgid "Malayalam" -msgstr "Malayalam" - -msgid "Mongolian" -msgstr "Mongolia" - -msgid "Marathi" -msgstr "Marathi" - -msgid "Burmese" -msgstr "Burma" - -msgid "Norwegian Bokmål" -msgstr "Norwegia Bokmål" - -msgid "Nepali" -msgstr "Nepal" - -msgid "Dutch" -msgstr "Belanda" - -msgid "Norwegian Nynorsk" -msgstr "Norwegia Nynorsk" - -msgid "Ossetic" -msgstr "Ossetic" - -msgid "Punjabi" -msgstr "Punjabi" - -msgid "Polish" -msgstr "Polandia" - -msgid "Portuguese" -msgstr "Portugis" - -msgid "Brazilian Portuguese" -msgstr "Portugis Brazil" - -msgid "Romanian" -msgstr "Romania" - -msgid "Russian" -msgstr "Rusia" - -msgid "Slovak" -msgstr "Slovakia" - -msgid "Slovenian" -msgstr "Slovenia" - -msgid "Albanian" -msgstr "Albania" - -msgid "Serbian" -msgstr "Serbia" - -msgid "Serbian Latin" -msgstr "Serbia Latin" - -msgid "Swedish" -msgstr "Swedia" - -msgid "Swahili" -msgstr "Swahili" - -msgid "Tamil" -msgstr "Tamil" - -msgid "Telugu" -msgstr "Telugu" - -msgid "Thai" -msgstr "Thailand" - -msgid "Turkish" -msgstr "Turki" - -msgid "Tatar" -msgstr "Tatar" - -msgid "Udmurt" -msgstr "Udmurt" - -msgid "Ukrainian" -msgstr "Ukrainia" - -msgid "Urdu" -msgstr "Urdu" - -msgid "Uzbek" -msgstr "Uzbek" - -msgid "Vietnamese" -msgstr "Vietnam" - -msgid "Simplified Chinese" -msgstr "Tiongkok Sederhana" - -msgid "Traditional Chinese" -msgstr "Tiongkok Tradisionil" - -msgid "Messages" -msgstr "Pesan" - -msgid "Site Maps" -msgstr "Peta Situs" - -msgid "Static Files" -msgstr "Berkas Statis" - -msgid "Syndication" -msgstr "Sindikasi" - -msgid "That page number is not an integer" -msgstr "Nomor halaman itu bukan sebuah integer" - -msgid "That page number is less than 1" -msgstr "Nomor halaman itu kurang dari 1" - -msgid "That page contains no results" -msgstr "Tidak ada hasil untuk halaman tersebut" - -msgid "Enter a valid value." -msgstr "Masukkan nilai yang valid." - -msgid "Enter a valid URL." -msgstr "Masukkan URL yang valid." - -msgid "Enter a valid integer." -msgstr "Masukan sebuah bilangan bulat yang benar" - -msgid "Enter a valid email address." -msgstr "Masukkan alamat email yang valid." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" -"Masukkan “slug” valid yang terdiri dari huruf, angka, garis bawah, atau " -"tanda hubung." - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" -"Masukkan sebuah “slug” valid yang terdiri dari huruf, angka, garis bawah, " -"atau penghubung Unicode." - -msgid "Enter a valid IPv4 address." -msgstr "Masukkan alamat IPv4 yang valid." - -msgid "Enter a valid IPv6 address." -msgstr "Masukkan alamat IPv6 yang valid" - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Masukkan alamat IPv4 atau IPv6 yang valid" - -msgid "Enter only digits separated by commas." -msgstr "Hanya masukkan angka yang dipisahkan dengan koma." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "Pastikan nilai ini %(limit_value)s (saat ini %(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Pastikan nilai ini lebih kecil dari atau sama dengan %(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Pastikan nilai ini lebih besar dari atau sama dengan %(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Pastikan nilai ini mengandung paling sedikit %(limit_value)d karakter " -"(sekarang %(show_value)d karakter)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Pastikan nilai ini mengandung paling banyak %(limit_value)d karakter " -"(sekarang %(show_value)d karakter)." - -msgid "Enter a number." -msgstr "Masukkan sebuah bilangan." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Pastikan jumlah angka pada bilangan tidak melebihi %(max)s angka." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "Pastikan bilangan tidak memiliki lebih dari %(max)s angka desimal." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -"Pastikan jumlah angka sebelum desimal pada bilangan tidak memiliki lebih " -"dari %(max)s angka." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" -"Ekstensi berkas “%(extension)s” tidak diizinkan. Ekstensi diizinkan adalah: " -"%(allowed_extensions)s." - -msgid "Null characters are not allowed." -msgstr "Karakter null tidak diizinkan." - -msgid "and" -msgstr "dan" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "%(model_name)s dengan %(field_labels)s ini tidak ada." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "Nilai %(value)r bukan pilihan yang valid." - -msgid "This field cannot be null." -msgstr "Field ini tidak boleh null." - -msgid "This field cannot be blank." -msgstr "Field ini tidak boleh kosong." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s dengan %(field_label)s telah ada." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(field_label)s haruslah unik untuk %(date_field_label)s %(lookup_type)s." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Field dengan tipe: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "Nilai “%(value)s” harus berupa True atau False." - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "Nilai “%(value)s” harus berupa True, False, atau None." - -msgid "Boolean (Either True or False)" -msgstr "Nilai Boolean (Salah satu dari True atau False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "String (maksimum %(max_length)s)" - -msgid "Comma-separated integers" -msgstr "Bilangan asli yang dipisahkan dengan koma" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" -"Nilai “%(value)s” mempunyai format tanggal yang tidak valid. Tanggal harus " -"dalam format YYYY-MM-DD." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" -"Nilai “%(value)s” memiliki format yang benar (YYYY-MM-DD), tetapi tanggalnya " -"tidak valid." - -msgid "Date (without time)" -msgstr "Tanggal (tanpa waktu)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" -"Nilai “%(value)s” memiliki format yang tidak valid. Tanggal dan waktu harus " -"dalam format YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" -"Nilai “%(value)s” memiliki format yang benar (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]), tetapi tanggal/waktunya tidak valid." - -msgid "Date (with time)" -msgstr "Tanggal (dengan waktu)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "Nilai “%(value)s” harus berupa bilangan desimal." - -msgid "Decimal number" -msgstr "Bilangan desimal" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" -"Nilai “%(value)s” mempunyai format yang tidak valid. Waktu harus dalam " -"format [DD] [[HH:]MM:]ss[.uuuuuu]." - -msgid "Duration" -msgstr "Durasi" - -msgid "Email address" -msgstr "Alamat email" - -msgid "File path" -msgstr "Lokasi berkas" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "Nilai “%(value)s” harus berupa bilangan real." - -msgid "Floating point number" -msgstr "Bilangan 'floating point'" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "Nilai “%(value)s” harus berupa integer." - -msgid "Integer" -msgstr "Bilangan Asli" - -msgid "Big (8 byte) integer" -msgstr "Bilangan asli raksasa (8 byte)" - -msgid "IPv4 address" -msgstr "Alamat IPv4" - -msgid "IP address" -msgstr "Alamat IP" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "Nilai “%(value)s” harus berupa None, True, atau False." - -msgid "Boolean (Either True, False or None)" -msgstr "Boolean (Salah satu dari True, False, atau None)" - -msgid "Positive integer" -msgstr "Bilangan asli positif" - -msgid "Positive small integer" -msgstr "Bilangan asli kecil positif" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Slug (hingga %(max_length)s karakter)" - -msgid "Small integer" -msgstr "Bilangan asli kecil" - -msgid "Text" -msgstr "Teks" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" -"Nilai “%(value)s” mempunyai format yang tidak valid. Waktu harus dalam " -"format HH:MM[:ss[.uuuuuu]]." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" -"Nilai “%(value)s” mempunyai format yang benar (HH:MM[:ss[.uuuuuu]]), tetapi " -"nilai waktunya tidak valid." - -msgid "Time" -msgstr "Waktu" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Data biner mentah" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "“%(value)s” bukan UUID yang valid." - -msgid "Universally unique identifier" -msgstr "Pengenal unik secara universal" - -msgid "File" -msgstr "Berkas" - -msgid "Image" -msgstr "Gambar" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "Salinan %(model)s dengan %(field)s %(value)r tidak ada." - -msgid "Foreign Key (type determined by related field)" -msgstr "Kunci Asing (tipe tergantung dari bidang yang berkaitan)" - -msgid "One-to-one relationship" -msgstr "Hubungan satu-ke-satu" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "Hubungan %(from)s-%(to)s" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "Hubungan %(from)s-%(to)s" - -msgid "Many-to-many relationship" -msgstr "Hubungan banyak-ke-banyak" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Bidang ini tidak boleh kosong." - -msgid "Enter a whole number." -msgstr "Masukkan keseluruhan angka bilangan." - -msgid "Enter a valid date." -msgstr "Masukkan tanggal yang valid." - -msgid "Enter a valid time." -msgstr "Masukkan waktu yang valid." - -msgid "Enter a valid date/time." -msgstr "Masukkan tanggal/waktu yang valid." - -msgid "Enter a valid duration." -msgstr "Masukan durasi waktu yang benar." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "Jumlah hari harus di antara {min_days} dan {max_days}." - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Tidak ada berkas yang dikirimkan. Periksa tipe pengaksaraan formulir." - -msgid "No file was submitted." -msgstr "Tidak ada berkas yang dikirimkan." - -msgid "The submitted file is empty." -msgstr "Berkas yang dikirimkan kosong." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Pastikan nama berkas ini mengandung paling banyak %(max)d karakter (sekarang " -"%(length)d karakter)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" -"Pilih antara mengirimkan berkas atau menghapus tanda centang pada kotak " -"centang" - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Unggah gambar yang valid. Berkas yang Anda unggah bukan merupakan berkas " -"gambar atau gambarnya rusak." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "" -"Masukkan pilihan yang valid. %(value)s bukan salah satu dari pilihan yang " -"tersedia." - -msgid "Enter a list of values." -msgstr "Masukkan beberapa nilai." - -msgid "Enter a complete value." -msgstr "Masukkan nilai yang komplet." - -msgid "Enter a valid UUID." -msgstr "Masukan UUID yang benar." - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Bidang tersembunyi %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "Data ManagementForm hilang atau telah dirusak " - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Pastikan mengirim %d formulir atau lebih sedikit. " - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "Kirimkan %d atau lebih formulir." - -msgid "Order" -msgstr "Urutan" - -msgid "Delete" -msgstr "Hapus" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Perbaiki data ganda untuk %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "Perbaiki data ganda untuk %(field)s yang nilainya harus unik." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Perbaiki data ganda untuk %(field_name)s yang nilainya harus unik untuk " -"pencarian %(lookup)s pada %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "Perbaiki nilai ganda di bawah ini." - -msgid "The inline value did not match the parent instance." -msgstr "Nilai sebaris tidak cocok dengan instance induk." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" -"Masukkan pilihan yang valid. Pilihan tersebut bukan salah satu dari pilihan " -"yang tersedia." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "“%(pk)s” bukan nilai yang valid." - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" -"%(datetime)s tidak dapat diterjemahkan dalam zona waktu " -"%(current_timezone)s; mungkin nilainya ambigu atau tidak ada." - -msgid "Clear" -msgstr "Hapus" - -msgid "Currently" -msgstr "Saat ini" - -msgid "Change" -msgstr "Ubah" - -msgid "Unknown" -msgstr "Tidak diketahui" - -msgid "Yes" -msgstr "Ya" - -msgid "No" -msgstr "Tidak" - -msgid "Year" -msgstr "Tahun" - -msgid "Month" -msgstr "Bulan" - -msgid "Day" -msgstr "Hari" - -msgid "yes,no,maybe" -msgstr "ya,tidak,mungkin" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d bita" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "p.m" - -msgid "a.m." -msgstr "a.m" - -msgid "PM" -msgstr "PM" - -msgid "AM" -msgstr "AM" - -msgid "midnight" -msgstr "tengah malam" - -msgid "noon" -msgstr "siang" - -msgid "Monday" -msgstr "Senin" - -msgid "Tuesday" -msgstr "Selasa" - -msgid "Wednesday" -msgstr "Rabu" - -msgid "Thursday" -msgstr "Kamis" - -msgid "Friday" -msgstr "Jumat" - -msgid "Saturday" -msgstr "Sabtu" - -msgid "Sunday" -msgstr "Minggu" - -msgid "Mon" -msgstr "Sen" - -msgid "Tue" -msgstr "Sel" - -msgid "Wed" -msgstr "Rab" - -msgid "Thu" -msgstr "Kam" - -msgid "Fri" -msgstr "Jum" - -msgid "Sat" -msgstr "Sab" - -msgid "Sun" -msgstr "Min" - -msgid "January" -msgstr "Januari" - -msgid "February" -msgstr "Februari" - -msgid "March" -msgstr "Maret" - -msgid "April" -msgstr "April" - -msgid "May" -msgstr "Mei" - -msgid "June" -msgstr "Juni" - -msgid "July" -msgstr "Juli" - -msgid "August" -msgstr "Agustus" - -msgid "September" -msgstr "September" - -msgid "October" -msgstr "Oktober" - -msgid "November" -msgstr "November" - -msgid "December" -msgstr "Desember" - -msgid "jan" -msgstr "jan" - -msgid "feb" -msgstr "feb" - -msgid "mar" -msgstr "mar" - -msgid "apr" -msgstr "apr" - -msgid "may" -msgstr "mei" - -msgid "jun" -msgstr "jun" - -msgid "jul" -msgstr "jul" - -msgid "aug" -msgstr "agu" - -msgid "sep" -msgstr "sep" - -msgid "oct" -msgstr "okt" - -msgid "nov" -msgstr "nov" - -msgid "dec" -msgstr "des" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Jan." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Feb." - -msgctxt "abbrev. month" -msgid "March" -msgstr "Maret" - -msgctxt "abbrev. month" -msgid "April" -msgstr "April" - -msgctxt "abbrev. month" -msgid "May" -msgstr "Mei" - -msgctxt "abbrev. month" -msgid "June" -msgstr "Juni" - -msgctxt "abbrev. month" -msgid "July" -msgstr "Juli" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Agu" - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Sep." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Okt." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Nov." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Des." - -msgctxt "alt. month" -msgid "January" -msgstr "Januari" - -msgctxt "alt. month" -msgid "February" -msgstr "Februari" - -msgctxt "alt. month" -msgid "March" -msgstr "Maret" - -msgctxt "alt. month" -msgid "April" -msgstr "April" - -msgctxt "alt. month" -msgid "May" -msgstr "Mei" - -msgctxt "alt. month" -msgid "June" -msgstr "Juni" - -msgctxt "alt. month" -msgid "July" -msgstr "Juli" - -msgctxt "alt. month" -msgid "August" -msgstr "Agustus" - -msgctxt "alt. month" -msgid "September" -msgstr "September" - -msgctxt "alt. month" -msgid "October" -msgstr "Oktober" - -msgctxt "alt. month" -msgid "November" -msgstr "November" - -msgctxt "alt. month" -msgid "December" -msgstr "Desember" - -msgid "This is not a valid IPv6 address." -msgstr "Ini bukan alamat IPv6 yang valid." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s…" - -msgid "or" -msgstr "atau" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d tahun" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d bulan" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d minggu" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d hari" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d jam" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d menit" - -msgid "0 minutes" -msgstr "0 menit" - -msgid "Forbidden" -msgstr "Terlarang" - -msgid "CSRF verification failed. Request aborted." -msgstr "Verifikasi CSRF gagal, Permintaan dibatalkan." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" -"Anda sedang melihat pesan ini karena situs HTTPS ini membutuhkan “Referer " -"header” dikirim oleh peramban Web Anda, tetapi tidak terkirim. Bagian kepala " -"tersebut dibutuhkan karena alasan keamanan, untuk memastikan bahwa peramban " -"Anda tidak sedang dibajak oleh pihak ketiga." - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" -"Jika Anda menonaktifkan header 'Referrer' pada konfigurasi peramban Anda, " -"mohon aktfikan kembali, setidaknya untuk situs ini, untuk koneksi HTTPS, " -"atau untuk request 'same-origin'." - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" -"Jika Anda menggunakan tag " -"atau menyertakan bagian kepala 'Referrer-Policy: no-referrer', harap hapus " -"hal tersebut. Perlindungan CSRF membutuhkan bagian kepala 'Referrer' untuk " -"melakukan pemeriksaan pengarahan ketat. Jika Anda khawatir mengenai privasi, " -"gunakan cara lain seperti untuk tautan ke situs " -"pihak ketiga." - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Anda melihat pesan ini karena situs ini membutuhkan sebuah kuki CSRF ketika " -"mengirimkan formulir. Kuki ini dibutuhkan untuk alasan keamanan, untuk " -"memastikan bahwa peramban Anda tidak sedang dibajak oleh pihak ketiga." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" -"Jika Anda telah mengatur peramban Anda untuk menonaktifkan kuki, maka " -"aktifkanlah kembali, setidaknya untuk website ini, atau untuk request 'same-" -"origin'." - -msgid "More information is available with DEBUG=True." -msgstr "Informasi lebih lanjut tersedia dengan DEBUG=True" - -msgid "No year specified" -msgstr "Tidak ada tahun dipilih" - -msgid "Date out of range" -msgstr "Tanggal di luar kisaran" - -msgid "No month specified" -msgstr "Tidak ada bulan dipilih" - -msgid "No day specified" -msgstr "Tidak ada hari dipilih" - -msgid "No week specified" -msgstr "Tidak ada minggu dipilih" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "Tidak ada %(verbose_name_plural)s tersedia" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"%(verbose_name_plural)s di masa depan tidak tersedia karena %(class_name)s." -"allow_future bernilai False." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "Nilai tanggal tidak valid “%(datestr)s” untuk format “%(format)s”" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Tidak ada %(verbose_name)s yang cocok dengan kueri" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" -"Laman bukan yang “terakhir” dan juga tidak dapat dikonversikan ke sebuah " -"integer." - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Laman tidak valid (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "Daftar kosong dan '%(class_name)s.allow_empty' bernilai False." - -msgid "Directory indexes are not allowed here." -msgstr "Indeks direktori tidak diizinkan di sini." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "“%(path)s” tidak ada" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Daftar isi %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" -"Django: kerangka kerja Web untuk para perfeksionis dengan tenggat waktu." - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"Lihat catatan rilis untuk Django %(version)s" - -msgid "The install worked successfully! Congratulations!" -msgstr "Selamat! Instalasi berjalan lancar!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"Anda sedang melihat halaman ini karena DEBUG=True berada di berkas pengaturan Anda dan Anda belum " -"mengonfigurasi URL apa pun." - -msgid "Django Documentation" -msgstr "Dokumentasi Django" - -msgid "Topics, references, & how-to’s" -msgstr "Topik, referensi, & cara pemakaian" - -msgid "Tutorial: A Polling App" -msgstr "Tutorial: Sebuah Aplikasi Jajak Pendapat" - -msgid "Get started with Django" -msgstr "Memulai dengan Django" - -msgid "Django Community" -msgstr "Komunitas Django" - -msgid "Connect, get help, or contribute" -msgstr "Terhubung, minta bantuan, atau berkontribusi" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/id/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/id/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/id/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/id/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 0e738e94..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/id/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/id/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/id/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 6b7060c1..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/id/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/id/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/id/formats.py deleted file mode 100644 index b1e08f19..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/id/formats.py +++ /dev/null @@ -1,46 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'j N Y' -DATETIME_FORMAT = "j N Y, G.i" -TIME_FORMAT = 'G.i' -YEAR_MONTH_FORMAT = 'F Y' -MONTH_DAY_FORMAT = 'j F' -SHORT_DATE_FORMAT = 'd-m-Y' -SHORT_DATETIME_FORMAT = 'd-m-Y G.i' -FIRST_DAY_OF_WEEK = 1 # Monday - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -DATE_INPUT_FORMATS = [ - '%d-%m-%Y', '%d/%m/%Y', # '25-10-2009', 25/10/2009' - '%d-%m-%y', '%d/%m/%y', # '25-10-09', 25/10/09' - '%d %b %Y', # '25 Oct 2006', - '%d %B %Y', # '25 October 2006' - '%m/%d/%y', '%m/%d/%Y', # '10/25/06', '10/25/2009' -] - -TIME_INPUT_FORMATS = [ - '%H.%M.%S', # '14.30.59' - '%H.%M', # '14.30' -] - -DATETIME_INPUT_FORMATS = [ - '%d-%m-%Y %H.%M.%S', # '25-10-2009 14.30.59' - '%d-%m-%Y %H.%M.%S.%f', # '25-10-2009 14.30.59.000200' - '%d-%m-%Y %H.%M', # '25-10-2009 14.30' - '%d-%m-%y %H.%M.%S', # '25-10-09' 14.30.59' - '%d-%m-%y %H.%M.%S.%f', # '25-10-09' 14.30.59.000200' - '%d-%m-%y %H.%M', # '25-10-09' 14.30' - '%m/%d/%y %H.%M.%S', # '10/25/06 14.30.59' - '%m/%d/%y %H.%M.%S.%f', # '10/25/06 14.30.59.000200' - '%m/%d/%y %H.%M', # '10/25/06 14.30' - '%m/%d/%Y %H.%M.%S', # '25/10/2009 14.30.59' - '%m/%d/%Y %H.%M.%S.%f', # '25/10/2009 14.30.59.000200' - '%m/%d/%Y %H.%M', # '25/10/2009 14.30' -] - -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = '.' -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ig/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/ig/LC_MESSAGES/django.mo deleted file mode 100644 index 8e689c80..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/ig/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ig/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/ig/LC_MESSAGES/django.po deleted file mode 100644 index 19e47ed6..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/ig/LC_MESSAGES/django.po +++ /dev/null @@ -1,1271 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Kelechi Precious Nwachukwu , 2020 -# Mariusz Felisiak , 2020 -# Okpala Olisa , 2020 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-07-30 12:26+0000\n" -"Last-Translator: Mariusz Felisiak \n" -"Language-Team: Igbo (http://www.transifex.com/django/django/language/ig/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ig\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -msgid "Afrikaans" -msgstr "Afrikaans" - -msgid "Arabic" -msgstr "Arabici" - -msgid "Algerian Arabic" -msgstr "Arabici ndị Algeria " - -msgid "Asturian" -msgstr "Asturian" - -msgid "Azerbaijani" -msgstr "Azerbaijani" - -msgid "Bulgarian" -msgstr "Bulgaria" - -msgid "Belarusian" -msgstr "Belarusia" - -msgid "Bengali" -msgstr "Bengali" - -msgid "Breton" -msgstr "Breton" - -msgid "Bosnian" -msgstr "Bosnian" - -msgid "Catalan" -msgstr "Catalan" - -msgid "Czech" -msgstr "Czech" - -msgid "Welsh" -msgstr "Welsh" - -msgid "Danish" -msgstr "Danishi" - -msgid "German" -msgstr "Germani" - -msgid "Lower Sorbian" -msgstr "Sorbian nke Ala" - -msgid "Greek" -msgstr "Greeki" - -msgid "English" -msgstr "Bekee" - -msgid "Australian English" -msgstr "Bekee ndị Australia" - -msgid "British English" -msgstr "Bekee ndị Britain" - -msgid "Esperanto" -msgstr "Esperanto" - -msgid "Spanish" -msgstr "Spanishi" - -msgid "Argentinian Spanish" -msgstr "Spanishi ndị Argentina" - -msgid "Colombian Spanish" -msgstr "Spanishi ndị Colombia " - -msgid "Mexican Spanish" -msgstr "Spanishi ndị Mexico " - -msgid "Nicaraguan Spanish" -msgstr "Spanishi ndị Nicaraguan" - -msgid "Venezuelan Spanish" -msgstr "Spanishi ndị Venezuela " - -msgid "Estonian" -msgstr "Estonian" - -msgid "Basque" -msgstr "Basque" - -msgid "Persian" -msgstr "Persian" - -msgid "Finnish" -msgstr "Finnishi" - -msgid "French" -msgstr "Fụrenchị" - -msgid "Frisian" -msgstr "Frisian" - -msgid "Irish" -msgstr "Irishi" - -msgid "Scottish Gaelic" -msgstr "Scottish Gaelici" - -msgid "Galician" -msgstr "Galiciani" - -msgid "Hebrew" -msgstr "Hibru" - -msgid "Hindi" -msgstr "Hindi" - -msgid "Croatian" -msgstr "Croatian" - -msgid "Upper Sorbian" -msgstr "Sorbian nke Elu" - -msgid "Hungarian" -msgstr "Hungarian" - -msgid "Armenian" -msgstr "Armeniani" - -msgid "Interlingua" -msgstr "Interlingua" - -msgid "Indonesian" -msgstr "Indonesian" - -msgid "Igbo" -msgstr "ìgbò" - -msgid "Ido" -msgstr "Ido" - -msgid "Icelandic" -msgstr "Icelandici" - -msgid "Italian" -msgstr "Italian" - -msgid "Japanese" -msgstr "Japanisi " - -msgid "Georgian" -msgstr "Georgian" - -msgid "Kabyle" -msgstr "Kabyle" - -msgid "Kazakh" -msgstr "Kazakh" - -msgid "Khmer" -msgstr "Khmer" - -msgid "Kannada" -msgstr "Kannada" - -msgid "Korean" -msgstr "Korean" - -msgid "Kyrgyz" -msgstr "Kyrgyz" - -msgid "Luxembourgish" -msgstr "Luxembourgish" - -msgid "Lithuanian" -msgstr "Lithuanian" - -msgid "Latvian" -msgstr "Latvian" - -msgid "Macedonian" -msgstr "Macedonian" - -msgid "Malayalam" -msgstr "Malayalam" - -msgid "Mongolian" -msgstr "Mongolian" - -msgid "Marathi" -msgstr "Marathi" - -msgid "Burmese" -msgstr "Burmese" - -msgid "Norwegian Bokmål" -msgstr "Bokmål ndị Norway" - -msgid "Nepali" -msgstr "Nepali" - -msgid "Dutch" -msgstr "Dutch" - -msgid "Norwegian Nynorsk" -msgstr "Nynorsk ndị Norway " - -msgid "Ossetic" -msgstr "Ossetici" - -msgid "Punjabi" -msgstr "Punjabi" - -msgid "Polish" -msgstr "Polishi" - -msgid "Portuguese" -msgstr "Portuguisi" - -msgid "Brazilian Portuguese" -msgstr "Portuguese ndị Brazil" - -msgid "Romanian" -msgstr "Romaniani" - -msgid "Russian" -msgstr "Russiani" - -msgid "Slovak" -msgstr "Slovaki" - -msgid "Slovenian" -msgstr "Sloveniani" - -msgid "Albanian" -msgstr "Albaniani" - -msgid "Serbian" -msgstr "Serbiani" - -msgid "Serbian Latin" -msgstr "Serbian Latini" - -msgid "Swedish" -msgstr "Swedishi" - -msgid "Swahili" -msgstr "Swahili" - -msgid "Tamil" -msgstr "Tamil" - -msgid "Telugu" -msgstr "Telugu" - -msgid "Tajik" -msgstr "Tajik" - -msgid "Thai" -msgstr "Thai" - -msgid "Turkmen" -msgstr "Turkmen" - -msgid "Turkish" -msgstr "Turkishi" - -msgid "Tatar" -msgstr "Tatar" - -msgid "Udmurt" -msgstr "Udmurt" - -msgid "Ukrainian" -msgstr "Ukrainiani" - -msgid "Urdu" -msgstr "Urdu" - -msgid "Uzbek" -msgstr "Uzbeki" - -msgid "Vietnamese" -msgstr "Vietnamesi" - -msgid "Simplified Chinese" -msgstr "Chinisi Ndị Mfe" - -msgid "Traditional Chinese" -msgstr "Odịnala Chinisi" - -msgid "Messages" -msgstr "Ozi" - -msgid "Site Maps" -msgstr "Maapụ Saịtị" - -msgid "Static Files" -msgstr "Faịlụ Nkwụsiri ike" - -msgid "Syndication" -msgstr "Nyefee Njikwa" - -msgid "That page number is not an integer" -msgstr "Nọmba peeji ahụ abụghị onu ogugu" - -msgid "That page number is less than 1" -msgstr "Nọmba peeji ahụ erughị 1" - -msgid "That page contains no results" -msgstr "Peeji ahụ enweghị nsonaazụ ọ bụla" - -msgid "Enter a valid value." -msgstr "Tinye uru zuru oke." - -msgid "Enter a valid URL." -msgstr "Tinye URL zuru oke." - -msgid "Enter a valid integer." -msgstr "Tinye nọmba zuru oke." - -msgid "Enter a valid email address." -msgstr "Tinye adreesị ozi ịntanetị n'zuru oke." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" -"Tinye “slug” zuru oke nke mejupụtara mkpụrụedemede, ọnụọgụ, underscores ma ọ " -"bụ hyphens." - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" -"Tinye “slug” zuru oke nke mejupụtara Unicode mkpụrụedemede, ọnụọgụ, " -"underscores ma ọ bụ hyphens." - -msgid "Enter a valid IPv4 address." -msgstr "Tinye adreesị IPv4 zuru oke." - -msgid "Enter a valid IPv6 address." -msgstr "Tinye adreesị IPv6 zuru oke." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Tinye adreesị IPv4 ma obu IPv6 zuru oke." - -msgid "Enter only digits separated by commas." -msgstr "Tinye naanị ọnụọgụ kewapụrụ site na comma." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "Gbaa mbọ hụ na %(limit_value)s (ọ bụ %(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Gbaa mbọ hụ na orughị ma ọ bụ hara nhata %(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Gbaa mbọ hụ na okarịa ma ọ bụ hara nhata%(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Gbaa mbọ hụ na a nwere opekata mpe %(limit_value)d odide (o nwere " -"%(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Gbaa mbọ hụ na a nwere kacha %(limit_value)d odide (o nwere%(show_value)d)." - -msgid "Enter a number." -msgstr "Tinye nọmba." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Gbaa mbọ hụ na ọ dighi karịrị %(max)s nọmba na mkpokọta." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "Gbaa mbọ hụ na ọ dighi karịrị %(max)s na ebe ntụpọ." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "Gbaa mbọ hụ na ọ dighi karịrị %(max)s nọmba tupu akụkụ ebe ntụpọ." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" -"Ndọtị Faịlị “%(extension)s”anaghị anabata. Ndọtị nke kwere n'nabata bu: " -"%(allowed_extensions)s." - -msgid "Null characters are not allowed." -msgstr "Anabataghị ihe odide n'enweghị isi." - -msgid "and" -msgstr "na" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "%(model_name)s ya na nke a %(field_labels)s dị adị." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "Nọmba %(value)r abụghị ezigbo nhọrọ." - -msgid "This field cannot be null." -msgstr "Ebe a enweghị ike ịbụ ihe efu." - -msgid "This field cannot be blank." -msgstr "Ebe a enweghị ike ịbụ ohere efu." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s ya na nke a %(field_label)s dị adi." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(field_label)s ga-abụ ihe pụrụ iche maka %(date_field_label)s " -"%(lookup_type)s." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Ebe a nke ụdị: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "“%(value)s” uru a ga-abụrịrị Eziokwu ma ọ bụ Ugha." - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "“%(value)s”uru a ga-abụrịrị Eziokwu, Ugha, ma ọ bụ Onweghị." - -msgid "Boolean (Either True or False)" -msgstr "Boolean (Eziokwu ma o bụ Ugha)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "String (ruo %(max_length)s)" - -msgid "Comma-separated integers" -msgstr "Rikom-kewapụrụ nomba" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" -"“%(value)s” uru a nwere usoro nke n'adịghị adị. Ọ ga-abụrịrị n'ụdị YYYY-MM-" -"DD." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" -"“%(value)s”uru a nwere usoro ziri ezi (YYYY-MM-DD) mana ọ bụ ụbọchị n'abaghị " -"uru." - -msgid "Date (without time)" -msgstr "Ubọchị (na-enweghị oge)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" -"“%(value)s” uru a nwere usoro nke n'adịghị adị. Ọ ga-abụrịrị n'ụdị YYYY-MM-" -"DD HH:MM[:ss[.uuuuuu]][TZ] usoro. " - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" -"“%(value)s”uru a nwere usoro ziri ezi (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ])mana ọ bụ ụbọchị n'abaghị uru." - -msgid "Date (with time)" -msgstr "Ubọchị (na oge)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "“%(value)s” uru a ga-abụrịrị nọmba ntụpọ." - -msgid "Decimal number" -msgstr "Nọmba ntụpọ." - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" -"“%(value)s”uru a nwere usoro nke n'adịghị adị. Ọ ga-abụrịrị n'ụdị [DD] " -"[[HH:]MM:]ss[.uuuuuu]usoro." - -msgid "Duration" -msgstr "Oge ole" - -msgid "Email address" -msgstr "Adreesị ozi ịntanetị" - -msgid "File path" -msgstr "Uzọ Faịlụ di" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "“%(value)s”uru a ga-abụrịrị float." - -msgid "Floating point number" -msgstr "Nọmba ebe floating no " - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "“%(value)s” uru a ga-abụrịrị onu ogugu" - -msgid "Integer" -msgstr "Onu ogugu" - -msgid "Big (8 byte) integer" -msgstr "Onu ogugu (8 byte) nnukwu" - -msgid "IPv4 address" -msgstr "Adreesị IPv4" - -msgid "IP address" -msgstr "Adreesị IP" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "“%(value)s”uru a ga-abụrịrị na Odighị, Eziokwu ma ọ bụ.Ugha." - -msgid "Boolean (Either True, False or None)" -msgstr "Boolean (Ihe a ga abụriri eziokwu, ụgha ma ọ bu na onweghi)" - -msgid "Positive big integer" -msgstr "Nnukwu nomba nke oma" - -msgid "Positive integer" -msgstr "Nọmba nke oma" - -msgid "Positive small integer" -msgstr "Obere nọmba nke oma" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Slug (ruo %(max_length)s)" - -msgid "Small integer" -msgstr "Onu ogugu nke obere" - -msgid "Text" -msgstr "Ederede" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" -"“%(value)s” uru a nwere usoro nke n'adịghị adị. Ọ ga-abụrịrị n'ụdị HH:MM[:" -"ss[.uuuuuu]]usoro." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" -"“%(value)s” uru a nwere usoro ziri ezi (HH:MM[:ss[.uuuuuu]]) mana ọ bu oge " -"n'abaghị uru." - -msgid "Time" -msgstr "Oge" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Raw binary data" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "“%(value)s”abụghị UUID n’kwesịrị ekwesị." - -msgid "Universally unique identifier" -msgstr "Universally unique identifier" - -msgid "File" -msgstr "Faịlụ" - -msgid "Image" -msgstr "Foto" - -msgid "A JSON object" -msgstr "Ihe JSON" - -msgid "Value must be valid JSON." -msgstr "Uru a ga-abụrịrị JSON n’kwesịrị ekwesị." - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "%(model)s dịka %(field)s %(value)r adịghị adị." - -msgid "Foreign Key (type determined by related field)" -msgstr "Foreign Key (ụdị kpebiri site na mpaghara metụtara)" - -msgid "One-to-one relationship" -msgstr "Mmekọrịta otu-na-otu" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "%(from)s-%(to)s mmekọrịta" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "%(from)s-%(to)s mmekọrịta" - -msgid "Many-to-many relationship" -msgstr "Mmekọrịta otutu-na-otutu" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Ebe a kwesiri ekwesi." - -msgid "Enter a whole number." -msgstr "Tinye nọmba onu ogugu." - -msgid "Enter a valid date." -msgstr "Tinye ụbọchị zuru oke." - -msgid "Enter a valid time." -msgstr "Tinye oge zuru oke." - -msgid "Enter a valid date/time." -msgstr "Tinye ụbọchị / oge zuru oke" - -msgid "Enter a valid duration." -msgstr "Tinye oge onuno zuru oke." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "Onu ogugu ubochi a gha aburiri n’agbata {min_days} na {max_days}." - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Onweghi faịlụ a debanyere. Lee ụdị encoding a ntinye na ederede." - -msgid "No file was submitted." -msgstr "E nweghị faịlụ e watara" - -msgid "The submitted file is empty." -msgstr "O nweghị ihe dị n'ime faịlụ e wetara" - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Gbaa mbọ hụ na aha faịlụ a nwere kacha %(max)d odide (o nwere %(length)d)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" -"Biko nyefee faịlụ a ma ọ bụ tinye akara na igbe akara, ọ bụghị ha abụọ." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Bugote foto n’zuru oke. Faịlụ a ị bugoro abụghị foto ma ọ bụ foto rụrụ arụ." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "Họrọ ezigbo nhọrọ. %(value)sabụghị otu nhọrọ n'ime nke dịnụ." - -msgid "Enter a list of values." -msgstr "Tinye ndepụta nke ụkpụrụ." - -msgid "Enter a complete value." -msgstr "Tinye uru zuru okè" - -msgid "Enter a valid UUID." -msgstr "Tinye UUID kwesịrị ekwesị" - -msgid "Enter a valid JSON." -msgstr "Tinye JSON kwesịrị ekwesị" - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Ebe ezoro ezo%(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "Data ManagementForm na-efu efu ma ọ bụ a kpara ya aka" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Biko nyefee %d ma ọ bụ fomụ di ole na ole." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "Biko nyefee%d ma ọ bụ fomụ karịrị otu ahụ" - -msgid "Order" -msgstr "Usoro" - -msgid "Delete" -msgstr "Hichapụ" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Biko dozie data oji abuo a maka %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "Biko dozie data oji abuo a maka %(field)s, nke gha diriri iche." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Biko dozie data oji abuo a maka %(field_name)s nke gha diriri iche maka " -"%(lookup)s n'ime %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "Biko dozie uru oji abuo nke no n'okpuru." - -msgid "The inline value did not match the parent instance." -msgstr "Uru inline a adabaghị na parent instance." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "Họrọ ezigbo nhọrọ. Nhọrọ a abụghị otu nhọrọ dịnụ." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "%(pk)sabụghi uru kwesịrị ekwesị" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" -"%(datetime)s enweghị ike ịkọwa na mpaghara oge %(current_timezone)s; onwere " -"ike iju anya ma obu ọ gaghị adị." - -msgid "Clear" -msgstr "Kpochapu" - -msgid "Currently" -msgstr "Ugbu a" - -msgid "Change" -msgstr "Gbanwee" - -msgid "Unknown" -msgstr "Ihe N’amaghi" - -msgid "Yes" -msgstr "Ee" - -msgid "No" -msgstr "Mba" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "ee, mba, nwere ike" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d bytes" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "p.m." - -msgid "a.m." -msgstr "a.m." - -msgid "PM" -msgstr "PM" - -msgid "AM" -msgstr "AM" - -msgid "midnight" -msgstr "etiti Abalị" - -msgid "noon" -msgstr "Ehihie" - -msgid "Monday" -msgstr "Mọnde" - -msgid "Tuesday" -msgstr "Tiuzdee" - -msgid "Wednesday" -msgstr "Wenezdee" - -msgid "Thursday" -msgstr "Tọọzdee" - -msgid "Friday" -msgstr "Fraịdee" - -msgid "Saturday" -msgstr "Satọdee" - -msgid "Sunday" -msgstr "Mbọsi Uka" - -msgid "Mon" -msgstr "Mọnde" - -msgid "Tue" -msgstr "Tiu" - -msgid "Wed" -msgstr "Wen" - -msgid "Thu" -msgstr "Tọọ" - -msgid "Fri" -msgstr "Fraị" - -msgid "Sat" -msgstr "Sat" - -msgid "Sun" -msgstr "Ụka" - -msgid "January" -msgstr "Jenụwarị" - -msgid "February" -msgstr "Febrụwarị" - -msgid "March" -msgstr "Maachị" - -msgid "April" -msgstr "Eprel" - -msgid "May" -msgstr "Mee" - -msgid "June" -msgstr "Juun" - -msgid "July" -msgstr "Julaị" - -msgid "August" -msgstr "Ọgọọst" - -msgid "September" -msgstr "Septemba" - -msgid "October" -msgstr "Ọktoba" - -msgid "November" -msgstr "Novemba" - -msgid "December" -msgstr "Disemba" - -msgid "jan" -msgstr "jen" - -msgid "feb" -msgstr "feb" - -msgid "mar" -msgstr "maa" - -msgid "apr" -msgstr "epr" - -msgid "may" -msgstr "mee" - -msgid "jun" -msgstr "juu" - -msgid "jul" -msgstr "jul" - -msgid "aug" -msgstr "ọgọ" - -msgid "sep" -msgstr "sep" - -msgid "oct" -msgstr "ọkt" - -msgid "nov" -msgstr "nov" - -msgid "dec" -msgstr "dis" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Jenụwarị" - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Feb." - -msgctxt "abbrev. month" -msgid "March" -msgstr "Maachị" - -msgctxt "abbrev. month" -msgid "April" -msgstr "Eprel" - -msgctxt "abbrev. month" -msgid "May" -msgstr "Mee" - -msgctxt "abbrev. month" -msgid "June" -msgstr "Juun" - -msgctxt "abbrev. month" -msgid "July" -msgstr "Julaị" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Ọgọ." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Sep." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Ọkt." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Nov." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Dis." - -msgctxt "alt. month" -msgid "January" -msgstr "Jenụwarị" - -msgctxt "alt. month" -msgid "February" -msgstr "Febrụwarị" - -msgctxt "alt. month" -msgid "March" -msgstr "Maachị" - -msgctxt "alt. month" -msgid "April" -msgstr "Eprel" - -msgctxt "alt. month" -msgid "May" -msgstr "Mee" - -msgctxt "alt. month" -msgid "June" -msgstr "Juun" - -msgctxt "alt. month" -msgid "July" -msgstr "Julaị" - -msgctxt "alt. month" -msgid "August" -msgstr "Ọgọọst" - -msgctxt "alt. month" -msgid "September" -msgstr "Septemba" - -msgctxt "alt. month" -msgid "October" -msgstr "Ọktoba" - -msgctxt "alt. month" -msgid "November" -msgstr "Novemba" - -msgctxt "alt. month" -msgid "December" -msgstr "Disemba" - -msgid "This is not a valid IPv6 address." -msgstr "Nke a abaghị adresị IPv6 zuru oke." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s…" - -msgid "or" -msgstr "ma obu" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d afọ" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%dọnwa" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d izu" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d ụbọchị" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d awa" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d nkeji" - -msgid "Forbidden" -msgstr "Amachibidoro" - -msgid "CSRF verification failed. Request aborted." -msgstr "Nyocha CSRF emeghị nke ọma. Ajuju atọrọ.." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" -"I na-ahụ ozi a n'ihi na saịtị HTTPS a chọrọ “Onye isi okwu” ka ihe nchọgharị " -"weebụ gị zitere gị, mana onweghi nke zitere. Achọrọ isi ihe a maka ebumnuche " -"nchekwa, iji jide n’aka na ndị ọzọ anaghị egbochi ihe nchọgharị gị." - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" -"Ọ bụrụ na ihazila ihe nchọgharị gị iji gbanyụọ ndị na-eji “ndị nnọchianya”, " -"biko jisie iketiachi ya, ma ọ dịkarịa maka saịtị a, ma ọ bụ maka njikọ " -"HTTPS, ma ọ bụ maka a arịrịọ “otu ụdị”." - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" -"Ọ bụrụ na ị na-eji akara " -"mmado ma ọ bụ gụnyere isi nke \"Iwu-Onye na gba ama: neweghị onye na-gba ama" -"\", biko wepu ha. Nchedo CSRF chọrọ ka isi “onye na gba ama” wee mee nyocha " -"ike nlele nke gbara ama. Ọ bụrụ na ihe gbasara gị gbasara nzuzo, jiri ụzọ " -"ọzọ dị ka njikọ maka saịtị ndị ọzọ." - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"I na-ahụ ozi a n'ihi na saịtị a chọrọ CSRF cookie mgbe ị na-edobe akwụkwọ. " -"Achọrọ cookie a maka ebumnuche nchekwa, iji hụ na ndị ọzọ anaghị egbochi ihe " -"nchọgharị gị." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" -"Ọ bụrụ na ịhazila ihe nchọgharị gị iji gbanyụọ kuki, biko tiachi ya ka o na " -"ruo oru, opekata mpe maka saịtị a, ma ọ bụ maka “otu ụdị\"." - -msgid "More information is available with DEBUG=True." -msgstr "Ihe omuma ndi ozo di na DEBUG = Eziokwu." - -msgid "No year specified" -msgstr "Ọ dịghị afọ akọwapụtara" - -msgid "Date out of range" -msgstr "Ubọchị a puru na usoro" - -msgid "No month specified" -msgstr "Onweghị ọnwa akọwapụtara" - -msgid "No day specified" -msgstr "Onweghi ụbọchị akọwapụtara" - -msgid "No week specified" -msgstr "Onweghi izu akọwapụtara" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr " %(verbose_name_plural)sadịghị" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"Ọdịnihu %(verbose_name_plural)s adịghị adị n'ihi %(class_name)s.allow_future " -"bu ugha." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "String ụbọchị nabaghị uru “%(datestr)s” Ntọala enyere “%(format)s”" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Mba %(verbose_name)s hụrụ ihe dabara na ajụjụ a" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "Peeji a a-abụghị “nke ikpeazụ”, a pụghị ịgbanwe ya na int." - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Peeji na-abaghị uru (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "Tọgbọ chakoo ndepụta na “%(class_name)s.allow_empty” bụ Ugha." - -msgid "Directory indexes are not allowed here." -msgstr "Anaghị anabata directory indexes ebe a." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "“%(path)s” a dịghị" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Index of %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" -"Django: usoro Ntanetị maka ndị na-achọkarị izu okè ya na oge edetu imecha." - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"Lee akwukwo e bipụtara maka Django" -"%(version)s" - -msgid "The install worked successfully! Congratulations!" -msgstr "Nwụnye ahụ dabara nke ọma! Ị mere nke ọma!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"I na-ahụ peeji a n'ihi na DEBUG=True dị na faili setting gị mana ịhazibeghị URL ọ bụla." - -msgid "Django Documentation" -msgstr "Akwụkwọ Ederede Django" - -msgid "Topics, references, & how-to’s" -msgstr "Isiokwu, ntụaka, & otu esi-mee" - -msgid "Tutorial: A Polling App" -msgstr "Nkuzi: App Ntuli Aka" - -msgid "Get started with Django" -msgstr "Bido na Django" - -msgid "Django Community" -msgstr "Obodo Django" - -msgid "Connect, get help, or contribute" -msgstr "Jikọọ, nweta enyemaka, ma ọ bụ tinye aka." diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ig/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/ig/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ig/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/ig/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index c0db0068..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/ig/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ig/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/ig/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 3b4e4e34..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/ig/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ig/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/ig/formats.py deleted file mode 100644 index 61fc2c0c..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/ig/formats.py +++ /dev/null @@ -1,32 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'j F Y' -TIME_FORMAT = 'P' -DATETIME_FORMAT = 'j F Y P' -YEAR_MONTH_FORMAT = 'F Y' -MONTH_DAY_FORMAT = 'j F' -SHORT_DATE_FORMAT = 'd.m.Y' -SHORT_DATETIME_FORMAT = 'd.m.Y H:i' -FIRST_DAY_OF_WEEK = 1 # Monday - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -DATE_INPUT_FORMATS = [ - '%d.%m.%Y', # '25.10.2006' - '%d.%m.%y', # '25.10.06' -] -DATETIME_INPUT_FORMATS = [ - '%d.%m.%Y %H:%M:%S', # '25.10.2006 14:30:59' - '%d.%m.%Y %H:%M:%S.%f', # '25.10.2006 14:30:59.000200' - '%d.%m.%Y %H:%M', # '25.10.2006 14:30' - '%d.%m.%Y', # '25.10.2006' - '%d.%m.%y %H:%M:%S', # '25.10.06 14:30:59' - '%d.%m.%y %H:%M:%S.%f', # '25.10.06 14:30:59.000200' - '%d.%m.%y %H:%M', # '25.10.06 14:30' - '%d.%m.%y', # '25.10.06' -] -DECIMAL_SEPARATOR = '.' -THOUSAND_SEPARATOR = ',' -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/io/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/io/LC_MESSAGES/django.mo deleted file mode 100644 index 79b81f4a..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/io/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/io/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/io/LC_MESSAGES/django.po deleted file mode 100644 index d14d5449..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/io/LC_MESSAGES/django.po +++ /dev/null @@ -1,1231 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Viko Bartero , 2014 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-27 22:40+0200\n" -"PO-Revision-Date: 2019-11-05 00:38+0000\n" -"Last-Translator: Ramiro Morales\n" -"Language-Team: Ido (http://www.transifex.com/django/django/language/io/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: io\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "Afrikaans" -msgstr "Afrikaans" - -msgid "Arabic" -msgstr "العربية" - -msgid "Asturian" -msgstr "" - -msgid "Azerbaijani" -msgstr "Azərbaycanca" - -msgid "Bulgarian" -msgstr "български" - -msgid "Belarusian" -msgstr "беларуская" - -msgid "Bengali" -msgstr "বাংলা" - -msgid "Breton" -msgstr "Brezhoneg" - -msgid "Bosnian" -msgstr "босански" - -msgid "Catalan" -msgstr "Català" - -msgid "Czech" -msgstr "čeština" - -msgid "Welsh" -msgstr "Cymraeg" - -msgid "Danish" -msgstr "dansk" - -msgid "German" -msgstr "Deutsch" - -msgid "Lower Sorbian" -msgstr "" - -msgid "Greek" -msgstr "Ελληνικά" - -msgid "English" -msgstr "English" - -msgid "Australian English" -msgstr "" - -msgid "British English" -msgstr "British English" - -msgid "Esperanto" -msgstr "Esperanto" - -msgid "Spanish" -msgstr "Español" - -msgid "Argentinian Spanish" -msgstr "Español de Argentina" - -msgid "Colombian Spanish" -msgstr "" - -msgid "Mexican Spanish" -msgstr "Español de México" - -msgid "Nicaraguan Spanish" -msgstr "Español de Nicaragua" - -msgid "Venezuelan Spanish" -msgstr "Español de Venezuela" - -msgid "Estonian" -msgstr "Eesti" - -msgid "Basque" -msgstr "Euskara" - -msgid "Persian" -msgstr "فارسی" - -msgid "Finnish" -msgstr "Suomi" - -msgid "French" -msgstr "Français" - -msgid "Frisian" -msgstr "Frysk" - -msgid "Irish" -msgstr "Gaeilge" - -msgid "Scottish Gaelic" -msgstr "" - -msgid "Galician" -msgstr "Galego" - -msgid "Hebrew" -msgstr "עברית" - -msgid "Hindi" -msgstr "हिन्दी" - -msgid "Croatian" -msgstr "hrvatski" - -msgid "Upper Sorbian" -msgstr "" - -msgid "Hungarian" -msgstr "Magyar" - -msgid "Armenian" -msgstr "" - -msgid "Interlingua" -msgstr "Interlingua" - -msgid "Indonesian" -msgstr "Bahasa Indonesia" - -msgid "Ido" -msgstr "" - -msgid "Icelandic" -msgstr "Íslenska" - -msgid "Italian" -msgstr "Italiano" - -msgid "Japanese" -msgstr "日本語" - -msgid "Georgian" -msgstr "ქართული" - -msgid "Kabyle" -msgstr "" - -msgid "Kazakh" -msgstr "Қазақша" - -msgid "Khmer" -msgstr "Khmer" - -msgid "Kannada" -msgstr "Kannaḍa" - -msgid "Korean" -msgstr "한국어" - -msgid "Luxembourgish" -msgstr "Lëtzebuergesch" - -msgid "Lithuanian" -msgstr "Lietuvių" - -msgid "Latvian" -msgstr "Latviešu" - -msgid "Macedonian" -msgstr "Македонски" - -msgid "Malayalam" -msgstr "മലയാളം" - -msgid "Mongolian" -msgstr "Монгол" - -msgid "Marathi" -msgstr "" - -msgid "Burmese" -msgstr "Burmese" - -msgid "Norwegian Bokmål" -msgstr "" - -msgid "Nepali" -msgstr "नेपाली" - -msgid "Dutch" -msgstr "Nederlands" - -msgid "Norwegian Nynorsk" -msgstr "Norsk nynorsk" - -msgid "Ossetic" -msgstr "Ossetic" - -msgid "Punjabi" -msgstr "ਪੰਜਾਬੀ" - -msgid "Polish" -msgstr "Polski" - -msgid "Portuguese" -msgstr "Português" - -msgid "Brazilian Portuguese" -msgstr "Português do Brasil" - -msgid "Romanian" -msgstr "Română" - -msgid "Russian" -msgstr "Русский" - -msgid "Slovak" -msgstr "Slovenčina" - -msgid "Slovenian" -msgstr "Slovenščina" - -msgid "Albanian" -msgstr "Shqip" - -msgid "Serbian" -msgstr "Српски / srpski" - -msgid "Serbian Latin" -msgstr "Serbian Latin" - -msgid "Swedish" -msgstr "Svenska" - -msgid "Swahili" -msgstr "Kiswahili" - -msgid "Tamil" -msgstr "தமிழ்" - -msgid "Telugu" -msgstr "Telugu" - -msgid "Thai" -msgstr "ไทย" - -msgid "Turkish" -msgstr "Türkçe" - -msgid "Tatar" -msgstr "Tatar" - -msgid "Udmurt" -msgstr "Удмурт" - -msgid "Ukrainian" -msgstr "Українська" - -msgid "Urdu" -msgstr "اُردُو" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "Tiếng Việt" - -msgid "Simplified Chinese" -msgstr "简体中文" - -msgid "Traditional Chinese" -msgstr "繁體中文" - -msgid "Messages" -msgstr "" - -msgid "Site Maps" -msgstr "" - -msgid "Static Files" -msgstr "" - -msgid "Syndication" -msgstr "" - -msgid "That page number is not an integer" -msgstr "" - -msgid "That page number is less than 1" -msgstr "" - -msgid "That page contains no results" -msgstr "" - -msgid "Enter a valid value." -msgstr "Skribez valida datumo." - -msgid "Enter a valid URL." -msgstr "Skribez valida URL." - -msgid "Enter a valid integer." -msgstr "" - -msgid "Enter a valid email address." -msgstr "Skribez valida e-posto adreso." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "Skribez valida IPv4 adreso." - -msgid "Enter a valid IPv6 address." -msgstr "Skribez valida IPv6 adreso." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Skribez valida adreso IPv4 od IPv6." - -msgid "Enter only digits separated by commas." -msgstr "Skribez nur cifri separata per komi." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" -"Verifikez ke ica datumo esas %(limit_value)s (olu esas %(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Verifikez ke ica datumo esas minora kam od egala a %(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Verifikez ke ica datumo esas majora kam od egala a %(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Verifikez ke ica datumo havas %(limit_value)d litero adminime (olu havas " -"%(show_value)d)." -msgstr[1] "" -"Verifikez ke ica datumo havas %(limit_value)d literi adminime (olu havas " -"%(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Verifikez ke ica datumo havas %(limit_value)d litero admaxime (olu havas " -"%(show_value)d)." -msgstr[1] "" -"Verifikez ke ica datumo havas %(limit_value)d literi admaxime (olu havas " -"%(show_value)d)." - -msgid "Enter a number." -msgstr "Skribez numero." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "" - -msgid "and" -msgstr "e" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "" - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "" - -msgid "This field cannot be null." -msgstr "Ica feldo ne povas esar nula." - -msgid "This field cannot be blank." -msgstr "Ica feldo ne povas esar vakua." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "La %(model_name)s kun ica %(field_label)s ja existas." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Feldo de tipo: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "Booleano (True o False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "String (til %(max_length)s)" - -msgid "Comma-separated integers" -msgstr "Integri separata per komi" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "Dato (sen horo)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "Dato (kun horo)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "Decimala numero" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "" - -msgid "Email address" -msgstr "E-postala adreso" - -msgid "File path" -msgstr "Arkivo voyo" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "Glitkomo numero" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "Integro" - -msgid "Big (8 byte) integer" -msgstr "Granda (8 byte) integro" - -msgid "IPv4 address" -msgstr "IPv4 adreso" - -msgid "IP address" -msgstr "IP adreso" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "Booleano (True, False o None)" - -msgid "Positive integer" -msgstr "Positiva integro" - -msgid "Positive small integer" -msgstr "Positiva mikra integro" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Slug (til %(max_length)s)" - -msgid "Small integer" -msgstr "Mikra integro" - -msgid "Text" -msgstr "Texto" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "Horo" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Kruda binara datumo" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "" - -msgid "File" -msgstr "Arkivo" - -msgid "Image" -msgstr "Imajo" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "" - -msgid "Foreign Key (type determined by related field)" -msgstr "Exterklefo (la tipo esas determinata per la relatata feldo)" - -msgid "One-to-one relationship" -msgstr "Un-ad-un parenteso" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "" - -msgid "Many-to-many relationship" -msgstr "Multi-a-multi parenteso" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr "" - -msgid "This field is required." -msgstr "Ica feldo esas obligata." - -msgid "Enter a whole number." -msgstr "Skribez kompleta numero" - -msgid "Enter a valid date." -msgstr "Skribez valida dato." - -msgid "Enter a valid time." -msgstr "Skribez valida horo." - -msgid "Enter a valid date/time." -msgstr "Skribez valida dato/horo." - -msgid "Enter a valid duration." -msgstr "" - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "" - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Nula arkivo sendesis. Verifikez la kodexigo tipo en la formulario." - -msgid "No file was submitted." -msgstr "Nula arkivo sendesis." - -msgid "The submitted file is empty." -msgstr "La sendita arkivo esas vakua." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Verifikez ke ica dosiero nomo havas %(max)d skribsigno admaxime (olu havas " -"%(length)d)." -msgstr[1] "" -"Verifikez ke ica arkivo nomo havas %(max)d skribsigni admaxime (olu havas " -"%(length)d)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "Sendez arkivo o markizez la vakua markbuxo, ne la du." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Kargez valida imajo. La arkivo qua vu kargis ne esis imajo od esis defektiva." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "" -"Selektez valida selekto. %(value)s ne esas un de la disponebla selekti." - -msgid "Enter a list of values." -msgstr "Skribez listo de datumi." - -msgid "Enter a complete value." -msgstr "" - -msgid "Enter a valid UUID." -msgstr "" - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr "" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Okulta feldo %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "" -msgstr[1] "" - -msgid "Order" -msgstr "Ordinar" - -msgid "Delete" -msgstr "Eliminar" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Koretigez duopligata datumi por %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "Korektigez la duopligata datumi por %(field)s, qui mustas esar unika." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Korektigez la duopligata datumi por %(field_name)s qui mustas esar unika por " -"la %(lookup)s en %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "Korektigez la duopligata datumi infre." - -msgid "The inline value did not match the parent instance." -msgstr "" - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" -"Selektez valida selekto. Ita selekto ne esas un de la disponebla selekti." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "Vakuigar" - -msgid "Currently" -msgstr "Aktuale" - -msgid "Change" -msgstr "Modifikar" - -msgid "Unknown" -msgstr "Nekonocata" - -msgid "Yes" -msgstr "Yes" - -msgid "No" -msgstr "No" - -msgid "Year" -msgstr "" - -msgid "Month" -msgstr "" - -msgid "Day" -msgstr "" - -msgid "yes,no,maybe" -msgstr "yes,no,forsan" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d byte" -msgstr[1] "%(size)d bytes" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "p.m." - -msgid "a.m." -msgstr "a.m." - -msgid "PM" -msgstr "PM" - -msgid "AM" -msgstr "AM" - -msgid "midnight" -msgstr "noktomezo" - -msgid "noon" -msgstr "dimezo" - -msgid "Monday" -msgstr "Lundio" - -msgid "Tuesday" -msgstr "Mardio" - -msgid "Wednesday" -msgstr "Merkurdio" - -msgid "Thursday" -msgstr "Jovdio" - -msgid "Friday" -msgstr "Venerdio" - -msgid "Saturday" -msgstr "Saturdio" - -msgid "Sunday" -msgstr "Sundio" - -msgid "Mon" -msgstr "Lun" - -msgid "Tue" -msgstr "Mar" - -msgid "Wed" -msgstr "Mer" - -msgid "Thu" -msgstr "Jov" - -msgid "Fri" -msgstr "Ven" - -msgid "Sat" -msgstr "Sat" - -msgid "Sun" -msgstr "Sun" - -msgid "January" -msgstr "Januaro" - -msgid "February" -msgstr "Februaro" - -msgid "March" -msgstr "Marto" - -msgid "April" -msgstr "Aprilo" - -msgid "May" -msgstr "Mayo" - -msgid "June" -msgstr "Junio" - -msgid "July" -msgstr "Julio" - -msgid "August" -msgstr "Agosto" - -msgid "September" -msgstr "Septembro" - -msgid "October" -msgstr "Oktobro" - -msgid "November" -msgstr "Novembro" - -msgid "December" -msgstr "Decembro" - -msgid "jan" -msgstr "jan" - -msgid "feb" -msgstr "feb" - -msgid "mar" -msgstr "mar" - -msgid "apr" -msgstr "apr" - -msgid "may" -msgstr "may" - -msgid "jun" -msgstr "jun" - -msgid "jul" -msgstr "jul" - -msgid "aug" -msgstr "ago" - -msgid "sep" -msgstr "sep" - -msgid "oct" -msgstr "okt" - -msgid "nov" -msgstr "nov" - -msgid "dec" -msgstr "dec" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Jan." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Feb." - -msgctxt "abbrev. month" -msgid "March" -msgstr "Marto" - -msgctxt "abbrev. month" -msgid "April" -msgstr "Aprilo" - -msgctxt "abbrev. month" -msgid "May" -msgstr "Mayo" - -msgctxt "abbrev. month" -msgid "June" -msgstr "Junio" - -msgctxt "abbrev. month" -msgid "July" -msgstr "Julio" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Ago." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Sept." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Okt." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Nov." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Dec." - -msgctxt "alt. month" -msgid "January" -msgstr "Januaro" - -msgctxt "alt. month" -msgid "February" -msgstr "Februaro" - -msgctxt "alt. month" -msgid "March" -msgstr "Marto" - -msgctxt "alt. month" -msgid "April" -msgstr "Aprilo" - -msgctxt "alt. month" -msgid "May" -msgstr "Mayo" - -msgctxt "alt. month" -msgid "June" -msgstr "Junio" - -msgctxt "alt. month" -msgid "July" -msgstr "Julio" - -msgctxt "alt. month" -msgid "August" -msgstr "Agosto" - -msgctxt "alt. month" -msgid "September" -msgstr "Septembro" - -msgctxt "alt. month" -msgid "October" -msgstr "Oktobro" - -msgctxt "alt. month" -msgid "November" -msgstr "Novembro" - -msgctxt "alt. month" -msgid "December" -msgstr "Decembro" - -msgid "This is not a valid IPv6 address." -msgstr "" - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "" - -msgid "or" -msgstr "o" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d yaro" -msgstr[1] "%d yari" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d monato" -msgstr[1] "%d monati" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d semano" -msgstr[1] "%d semani" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d dio" -msgstr[1] "%d dii" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d horo" -msgstr[1] "%d hori" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d minuto" -msgstr[1] "%d minuti" - -msgid "0 minutes" -msgstr "0 minuti" - -msgid "Forbidden" -msgstr "" - -msgid "CSRF verification failed. Request aborted." -msgstr "" - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "" - -msgid "No year specified" -msgstr "La yaro ne specizigesis" - -msgid "Date out of range" -msgstr "" - -msgid "No month specified" -msgstr "La monato ne specizigesis" - -msgid "No day specified" -msgstr "La dio ne specizigesis" - -msgid "No week specified" -msgstr "La semano ne specizigesis" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "Ne esas %(verbose_name_plural)s disponebla" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"La futura %(verbose_name_plural)s ne esas disponebla pro ke %(class_name)s." -"allow_future esas False." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "Onu ne permisas direktorio indexi hike." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Indexi di %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" - -msgid "The install worked successfully! Congratulations!" -msgstr "" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" - -msgid "Django Documentation" -msgstr "" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "" - -msgid "Get started with Django" -msgstr "" - -msgid "Django Community" -msgstr "" - -msgid "Connect, get help, or contribute" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/is/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/is/LC_MESSAGES/django.mo deleted file mode 100644 index 6d631ac9..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/is/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/is/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/is/LC_MESSAGES/django.po deleted file mode 100644 index 27607b81..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/is/LC_MESSAGES/django.po +++ /dev/null @@ -1,1298 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# db999e1e0e51ac90b00482cb5db0f98b_32999f5 <3ec5202d5df408dd2f95d8c361fed970_5926>, 2011 -# Hafsteinn Einarsson , 2011-2012 -# Jannis Leidel , 2011 -# Matt R, 2018 -# saevarom , 2011 -# saevarom , 2013,2015 -# Thordur Sigurdsson , 2016-2020 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-07-14 21:42+0000\n" -"Last-Translator: Transifex Bot <>\n" -"Language-Team: Icelandic (http://www.transifex.com/django/django/language/" -"is/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: is\n" -"Plural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n" - -msgid "Afrikaans" -msgstr "Afríkanska" - -msgid "Arabic" -msgstr "Arabíska" - -msgid "Algerian Arabic" -msgstr "" - -msgid "Asturian" -msgstr "Astúríska" - -msgid "Azerbaijani" -msgstr "Aserbaídsjíska" - -msgid "Bulgarian" -msgstr "Búlgarska" - -msgid "Belarusian" -msgstr "Hvítrússneska" - -msgid "Bengali" -msgstr "Bengalska" - -msgid "Breton" -msgstr "Bretónska" - -msgid "Bosnian" -msgstr "Bosníska" - -msgid "Catalan" -msgstr "Katalónska" - -msgid "Czech" -msgstr "Tékkneska" - -msgid "Welsh" -msgstr "Velska" - -msgid "Danish" -msgstr "Danska" - -msgid "German" -msgstr "Þýska" - -msgid "Lower Sorbian" -msgstr "Neðri sorbíska" - -msgid "Greek" -msgstr "Gríska" - -msgid "English" -msgstr "Enska" - -msgid "Australian English" -msgstr "Áströlsk enska" - -msgid "British English" -msgstr "Bresk enska" - -msgid "Esperanto" -msgstr "Esperanto" - -msgid "Spanish" -msgstr "Spænska" - -msgid "Argentinian Spanish" -msgstr "Argentínsk spænska" - -msgid "Colombian Spanish" -msgstr "Kólumbísk spænska" - -msgid "Mexican Spanish" -msgstr "Mexíkósk spænska" - -msgid "Nicaraguan Spanish" -msgstr "Níkaragva spænska" - -msgid "Venezuelan Spanish" -msgstr "Venesúelsk spænska" - -msgid "Estonian" -msgstr "Eistneska" - -msgid "Basque" -msgstr "Baskneska" - -msgid "Persian" -msgstr "Persneska" - -msgid "Finnish" -msgstr "Finnska" - -msgid "French" -msgstr "Franska" - -msgid "Frisian" -msgstr "Frísneska" - -msgid "Irish" -msgstr "Írska" - -msgid "Scottish Gaelic" -msgstr "Skosk gelíska" - -msgid "Galician" -msgstr "Galíska" - -msgid "Hebrew" -msgstr "Hebreska" - -msgid "Hindi" -msgstr "Hindí" - -msgid "Croatian" -msgstr "Króatíska" - -msgid "Upper Sorbian" -msgstr "Efri sorbíska" - -msgid "Hungarian" -msgstr "Ungverska" - -msgid "Armenian" -msgstr "Armenska" - -msgid "Interlingua" -msgstr "Interlingua" - -msgid "Indonesian" -msgstr "Indónesíska" - -msgid "Igbo" -msgstr "" - -msgid "Ido" -msgstr "Ido" - -msgid "Icelandic" -msgstr "Íslenska" - -msgid "Italian" -msgstr "Ítalska" - -msgid "Japanese" -msgstr "Japanska" - -msgid "Georgian" -msgstr "Georgíska" - -msgid "Kabyle" -msgstr "" - -msgid "Kazakh" -msgstr "Kasakska" - -msgid "Khmer" -msgstr "Kmeríska" - -msgid "Kannada" -msgstr "Kannadanska" - -msgid "Korean" -msgstr "Kóreska" - -msgid "Kyrgyz" -msgstr "" - -msgid "Luxembourgish" -msgstr "Lúxemborgíska" - -msgid "Lithuanian" -msgstr "Litháenska" - -msgid "Latvian" -msgstr "Lettneska" - -msgid "Macedonian" -msgstr "Makedónska" - -msgid "Malayalam" -msgstr "Malajalamska" - -msgid "Mongolian" -msgstr "Mongólska" - -msgid "Marathi" -msgstr "Maratí" - -msgid "Burmese" -msgstr "Búrmíska" - -msgid "Norwegian Bokmål" -msgstr "Norskt bókmál" - -msgid "Nepali" -msgstr "Nepalska" - -msgid "Dutch" -msgstr "Hollenska" - -msgid "Norwegian Nynorsk" -msgstr "Nýnorska" - -msgid "Ossetic" -msgstr "Ossetíska" - -msgid "Punjabi" -msgstr "Púndjabíska" - -msgid "Polish" -msgstr "Pólska" - -msgid "Portuguese" -msgstr "Portúgalska" - -msgid "Brazilian Portuguese" -msgstr "Brasilísk portúgalska" - -msgid "Romanian" -msgstr "Rúmenska" - -msgid "Russian" -msgstr "Rússneska" - -msgid "Slovak" -msgstr "Slóvakíska" - -msgid "Slovenian" -msgstr "Slóvenska" - -msgid "Albanian" -msgstr "Albanska" - -msgid "Serbian" -msgstr "Serbneska" - -msgid "Serbian Latin" -msgstr "Serbnesk latína" - -msgid "Swedish" -msgstr "Sænska" - -msgid "Swahili" -msgstr "Svahílí" - -msgid "Tamil" -msgstr "Tamílska" - -msgid "Telugu" -msgstr "Telúgúska" - -msgid "Tajik" -msgstr "" - -msgid "Thai" -msgstr "Tælenska" - -msgid "Turkmen" -msgstr "" - -msgid "Turkish" -msgstr "Tyrkneska" - -msgid "Tatar" -msgstr "Tataríska" - -msgid "Udmurt" -msgstr "Údmúrt" - -msgid "Ukrainian" -msgstr "Úkraínska" - -msgid "Urdu" -msgstr "Úrdú" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "Víetnamska" - -msgid "Simplified Chinese" -msgstr "Einfölduð kínverska " - -msgid "Traditional Chinese" -msgstr "Hefðbundin kínverska" - -msgid "Messages" -msgstr "Skilaboð" - -msgid "Site Maps" -msgstr "" - -msgid "Static Files" -msgstr "" - -msgid "Syndication" -msgstr "" - -msgid "That page number is not an integer" -msgstr "Þetta síðunúmer er ekki heiltala" - -msgid "That page number is less than 1" -msgstr "Þetta síðunúmer er minna en 1" - -msgid "That page contains no results" -msgstr "Þessi síða hefur engar niðurstöður" - -msgid "Enter a valid value." -msgstr "Sláðu inn gilt gildi." - -msgid "Enter a valid URL." -msgstr "Sláðu inn gilt veffang (URL)." - -msgid "Enter a valid integer." -msgstr "Sláðu inn gilda heiltölu." - -msgid "Enter a valid email address." -msgstr "Sláðu inn gilt netfang." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" -"Settu inn gildan vefslóðartitil sem samanstendur af latneskum bókstöfum, " -"númerin, undirstrikum og bandstrikum." - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" -"Settu inn gildan vefslóðartitil sem má innihalda unicode bókstafi, " -"tölustafi, undirstrik og bandstrik." - -msgid "Enter a valid IPv4 address." -msgstr "Sláðu inn gilda IPv4 tölu." - -msgid "Enter a valid IPv6 address." -msgstr "Sláðu inn gilt IPv6 vistfang." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Sláðu inn gilt IPv4 eða IPv6 vistfang." - -msgid "Enter only digits separated by commas." -msgstr "Skrifaðu einungis tölur aðskildar með kommum." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" -"Gakktu úr skugga um að gildi sé %(limit_value)s (það er %(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "" -"Gakktu úr skugga um að gildið sé minna en eða jafnt og %(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "" -"Gakktu úr skugga um að gildið sé stærra en eða jafnt og %(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Gildið má minnst vera %(limit_value)d stafur að lengd (það er %(show_value)d " -"nú)" -msgstr[1] "" -"Gildið má minnst vera %(limit_value)d stafir að lengd (það er %(show_value)d " -"nú)" - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Gildið má mest vera %(limit_value)d stafur að lengd (það er %(show_value)d " -"nú)" -msgstr[1] "" -"Gildið má mest vera %(limit_value)d stafir að lengd (það er %(show_value)d " -"nú)" - -msgid "Enter a number." -msgstr "Sláðu inn tölu." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Gildið má ekki hafa fleiri en %(max)s tölu." -msgstr[1] "Gildið má ekki hafa fleiri en %(max)s tölur." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "Gildið má ekki hafa meira en %(max)s tugatölustaf (decimal places)." -msgstr[1] "" -"Gildið má ekki hafa meira en %(max)s tugatölustafi (decimal places)." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "Gildið má ekki hafa fleiri en %(max)s tölu fyrir tugabrotskil." -msgstr[1] "Gildið má ekki hafa fleiri en %(max)s tölur fyrir tugabrotskil." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" -"Skrár með endingunni „%(extension)s“ eru ekki leyfðar. Leyfilegar endingar " -"eru: „%(allowed_extensions)s“„." - -msgid "Null characters are not allowed." -msgstr "Núlltákn eru ekki leyfileg." - -msgid "and" -msgstr "og" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "%(model_name)s með þessi %(field_labels)s er nú þegar til." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "Gildið %(value)r er ógilt." - -msgid "This field cannot be null." -msgstr "Þessi reitur getur ekki haft tómgildi (null)." - -msgid "This field cannot be blank." -msgstr "Þessi reitur má ekki vera tómur." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s með þetta %(field_label)s er nú þegar til." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(field_label)s verður að vera einkvæmt fyrir %(date_field_label)s " -"%(lookup_type)s." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Reitur af gerð: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "„%(value)s“ verður að vera annaðhvort satt eða ósatt." - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "„%(value)s“ verður að vera eitt eftirtalinna: True, False eða None." - -msgid "Boolean (Either True or False)" -msgstr "Boole-gildi (True eða False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Strengur (mest %(max_length)s)" - -msgid "Comma-separated integers" -msgstr "Heiltölur aðgreindar með kommum" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" -"„%(value)s“ er ógilt dagsetningarsnið. Það verður að vera á sniðinu YYYY-MM-" -"DD." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "„%(value)s“ hefur rétt snið (YYYY-MM-DD) en dagsetningin er ógild." - -msgid "Date (without time)" -msgstr "Dagsetning (án tíma)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" -"„%(value)s“ hefur ógilt snið. Það verður að vera á sniðinu: YYYY-MM-DD HH:" -"MM[:ss[.uuuuuu]][TZ]." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" -"„%(value)s“ hefur rétt snið (YYYY-MM-DD HH:MM [:ss[.uuuuuu]][TZ]) en það er " -"ógild dagsetning/tími." - -msgid "Date (with time)" -msgstr "Dagsetning (með tíma)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "„%(value)s“ verður að vera heiltala." - -msgid "Decimal number" -msgstr "Tugatala" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" -"„%(value)s“ er á ógildu sniði. Það verður að vera á sniðinu [DD] " -"[[HH:]MM:]ss[.uuuuuu]." - -msgid "Duration" -msgstr "Tímalengd" - -msgid "Email address" -msgstr "Netfang" - -msgid "File path" -msgstr "Skjalaslóð" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "„%(value)s“ verður að vera fleytitala." - -msgid "Floating point number" -msgstr "Fleytitala (floating point number)" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "Gildi „%(value)s“ verður að vera heiltala." - -msgid "Integer" -msgstr "Heiltala" - -msgid "Big (8 byte) integer" -msgstr "Stór (8 bæta) heiltala" - -msgid "IPv4 address" -msgstr "IPv4 vistfang" - -msgid "IP address" -msgstr "IP tala" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "„%(value)s“ verður að vera eitt eftirtalinna: None, True eða False." - -msgid "Boolean (Either True, False or None)" -msgstr "Boole-gildi (True, False eða None)" - -msgid "Positive big integer" -msgstr "Jákvæð stór heiltala" - -msgid "Positive integer" -msgstr "Jákvæð heiltala" - -msgid "Positive small integer" -msgstr "Jákvæð lítil heiltala" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Slögg (allt að %(max_length)s)" - -msgid "Small integer" -msgstr "Lítil heiltala" - -msgid "Text" -msgstr "Texti" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" -"„%(value)s“ er á ógildu sniði. Það verður að vera á sniðinu HH:MM[:ss[." -"uuuuuu]]." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" -"„%(value)s“ er á réttu sniði (HH:MM[:ss[.uuuuuu]]), en það er ógild " -"dagsetning/tími." - -msgid "Time" -msgstr "Tími" - -msgid "URL" -msgstr "Veffang" - -msgid "Raw binary data" -msgstr "Hrá tvíundargögn (binary data)" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "„%(value)s“ er ekki gilt UUID." - -msgid "Universally unique identifier" -msgstr "" - -msgid "File" -msgstr "Skrá" - -msgid "Image" -msgstr "Mynd" - -msgid "A JSON object" -msgstr "JSON hlutur" - -msgid "Value must be valid JSON." -msgstr "Gildi verður að vera gilt JSON." - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "%(model)s hlutur með %(field)s %(value)r er ekki til." - -msgid "Foreign Key (type determined by related field)" -msgstr "Ytri lykill (Gerð ákveðin af skyldum reit)" - -msgid "One-to-one relationship" -msgstr "Einn-á-einn samband." - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "%(from)s-%(to)s samband" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "%(from)s-%(to)s sambönd" - -msgid "Many-to-many relationship" -msgstr "Margir-til-margra samband." - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Þennan reit þarf að fylla út." - -msgid "Enter a whole number." -msgstr "Sláðu inn heiltölu." - -msgid "Enter a valid date." -msgstr "Sláðu inn gilda dagsetningu." - -msgid "Enter a valid time." -msgstr "Sláðu inn gilda tímasetningu." - -msgid "Enter a valid date/time." -msgstr "Sláðu inn gilda dagsetningu ásamt tíma." - -msgid "Enter a valid duration." -msgstr "Sláðu inn gilt tímabil." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "Fjöldi daga verður að vera á milli {min_days} og {max_days}." - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Engin skrá var send. Athugaðu kótunartegund á forminu (encoding type)." - -msgid "No file was submitted." -msgstr "Engin skrá var send." - -msgid "The submitted file is empty." -msgstr "Innsend skrá er tóm." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Skráarnafnið má mest vera %(max)d stafur að lengd (það er %(length)d nú)" -msgstr[1] "" -"Skráarnafnið má mest vera %(max)d stafir að lengd (það er %(length)d nú)" - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "Vinsamlegast sendu annað hvort inn skrá eða merktu í boxið, ekki bæði." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Halaðu upp gildri myndskrá. Skráin sem þú halaðir upp var annað hvort gölluð " -"eða ekki mynd." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "" -"Veldu gildan valmöguleika. %(value)s er ekki eitt af gildum valmöguleikum." - -msgid "Enter a list of values." -msgstr "Sláðu inn lista af gildum." - -msgid "Enter a complete value." -msgstr "Sláðu inn heilt gildi." - -msgid "Enter a valid UUID." -msgstr "Sláðu inn gilt UUID." - -msgid "Enter a valid JSON." -msgstr "Sláðu inn gilt JSON." - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Falinn reitur %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "Gögn fyrir ManagementForm vantar eða hefur verið breytt" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Vinsamlegast sendu %d eða færri form." -msgstr[1] "Vinsamlegast sendu %d eða færri form." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "Vinsamlegast sendu %d eða fleiri form." -msgstr[1] "Vinsamlegast sendu %d eða fleiri form." - -msgid "Order" -msgstr "Röð" - -msgid "Delete" -msgstr "Eyða" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Vinsamlegast leiðréttu tvítekin gögn í reit %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"Vinsamlegast lagfærðu gögn í reit %(field)s, sem verða að vera einstök." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Vinsamlegast leiðréttu tvítekin gögn í reit %(field_name)s sem verða að vera " -"einstök fyrir %(lookup)s í %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "Vinsamlegast lagfærðu tvítöldu gögnin fyrir neðan." - -msgid "The inline value did not match the parent instance." -msgstr "Innra gildið passar ekki við eiganda." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" -"Veldu gildan valmöguleika. Valið virðist ekki vera eitt af gildum " -"valmöguleikum." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "„%(pk)s“ er ekki gilt gildi." - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" -"%(datetime)s er ekki hægt að túlka í tímabelti %(current_timezone)s, það " -"getur verið óljóst eða að það er ekki til." - -msgid "Clear" -msgstr "Hreinsa" - -msgid "Currently" -msgstr "Eins og er:" - -msgid "Change" -msgstr "Breyta" - -msgid "Unknown" -msgstr "Óþekkt" - -msgid "Yes" -msgstr "Já" - -msgid "No" -msgstr "Nei" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "já,nei,kannski" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d bæti" -msgstr[1] "%(size)d bæti" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "eftirmiðdegi" - -msgid "a.m." -msgstr "morgun" - -msgid "PM" -msgstr "Eftirmiðdegi" - -msgid "AM" -msgstr "Morgun" - -msgid "midnight" -msgstr "miðnætti" - -msgid "noon" -msgstr "hádegi" - -msgid "Monday" -msgstr "mánudagur" - -msgid "Tuesday" -msgstr "þriðjudagur" - -msgid "Wednesday" -msgstr "miðvikudagur" - -msgid "Thursday" -msgstr "fimmtudagur" - -msgid "Friday" -msgstr "föstudagur" - -msgid "Saturday" -msgstr "laugardagur" - -msgid "Sunday" -msgstr "sunnudagur" - -msgid "Mon" -msgstr "mán" - -msgid "Tue" -msgstr "þri" - -msgid "Wed" -msgstr "mið" - -msgid "Thu" -msgstr "fim" - -msgid "Fri" -msgstr "fös" - -msgid "Sat" -msgstr "lau" - -msgid "Sun" -msgstr "sun" - -msgid "January" -msgstr "janúar" - -msgid "February" -msgstr "febrúar" - -msgid "March" -msgstr "mars" - -msgid "April" -msgstr "apríl" - -msgid "May" -msgstr "maí" - -msgid "June" -msgstr "júní" - -msgid "July" -msgstr "júlí" - -msgid "August" -msgstr "ágúst" - -msgid "September" -msgstr "september" - -msgid "October" -msgstr "október" - -msgid "November" -msgstr "nóvember" - -msgid "December" -msgstr "desember" - -msgid "jan" -msgstr "jan" - -msgid "feb" -msgstr "feb" - -msgid "mar" -msgstr "mar" - -msgid "apr" -msgstr "apr" - -msgid "may" -msgstr "maí" - -msgid "jun" -msgstr "jún" - -msgid "jul" -msgstr "júl" - -msgid "aug" -msgstr "ágú" - -msgid "sep" -msgstr "sep" - -msgid "oct" -msgstr "okt" - -msgid "nov" -msgstr "nóv" - -msgid "dec" -msgstr "des" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "jan." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "feb." - -msgctxt "abbrev. month" -msgid "March" -msgstr "mars" - -msgctxt "abbrev. month" -msgid "April" -msgstr "apríl" - -msgctxt "abbrev. month" -msgid "May" -msgstr "maí" - -msgctxt "abbrev. month" -msgid "June" -msgstr "júní" - -msgctxt "abbrev. month" -msgid "July" -msgstr "júlí" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "ág." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "sept." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "okt." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "nóv." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "des." - -msgctxt "alt. month" -msgid "January" -msgstr "janúar" - -msgctxt "alt. month" -msgid "February" -msgstr "febrúar" - -msgctxt "alt. month" -msgid "March" -msgstr "mars" - -msgctxt "alt. month" -msgid "April" -msgstr "apríl" - -msgctxt "alt. month" -msgid "May" -msgstr "maí" - -msgctxt "alt. month" -msgid "June" -msgstr "júní" - -msgctxt "alt. month" -msgid "July" -msgstr "júlí" - -msgctxt "alt. month" -msgid "August" -msgstr "ágúst" - -msgctxt "alt. month" -msgid "September" -msgstr "september" - -msgctxt "alt. month" -msgid "October" -msgstr "október" - -msgctxt "alt. month" -msgid "November" -msgstr "nóvember" - -msgctxt "alt. month" -msgid "December" -msgstr "desember" - -msgid "This is not a valid IPv6 address." -msgstr "Þetta er ekki gilt IPv6 vistfang." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s…" - -msgid "or" -msgstr "eða" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d ár" -msgstr[1] "%d ár" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d mánuður" -msgstr[1] "%d mánuðir" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d vika" -msgstr[1] "%d vikur" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d dagur" -msgstr[1] "%d dagar" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d klukkustund" -msgstr[1] "%d klukkustundir" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d mínúta" -msgstr[1] "%d mínútur" - -msgid "Forbidden" -msgstr "" - -msgid "CSRF verification failed. Request aborted." -msgstr "CSRF auðkenning tókst ekki." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" -"Þú ert að fá þessi skilaboð því þetta HTTPS vefsvæði þarfnast að vafrinn " -"þinn sendi „Referer“ haus (e. referer header) sem var ekki sendur. Þessi " -"haus er nauðsynlegur af öryggisástæðum til að ganga úr skugga um að " -"utanaðkomandi aðili sé ekki að senda fyrirspurnir úr vafranum þínum." - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" -"Ef þú hefur stillt vafrann þinn til að gera „Referer“ hausa óvirka þarftu að " -"virkja þá aftur. Að minnsta kosti fyrir þetta vefsvæði, eða HTTPS tengingar " -"eða „same-origin“ fyrirspurnir." - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Þú ert að fá þessi skilaboð því þetta vefsvæði þarfnast að CSRF kaka (e. " -"cookie) sé send þegar form eru send. Þessi kaka er nauðsynleg af " -"öryggisástæðum til að ganga úr skugga um að utanaðkomandi aðili sé ekki að " -"senda fyrirspurnir úr vafranum þínum." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" -"Ef þú hefur stillt vafrann þinn til að gera kökur óvirkar þarftu að virkja " -"þær aftur. Að minnsta kosti fyrir þetta vefsvæði eða „same-origin“ " -"fyrirspurnir." - -msgid "More information is available with DEBUG=True." -msgstr "Meiri upplýsingar fást með DEBUG=True." - -msgid "No year specified" -msgstr "Ekkert ár tilgreint" - -msgid "Date out of range" -msgstr "Dagsetning utan tímabils" - -msgid "No month specified" -msgstr "Enginn mánuður tilgreindur" - -msgid "No day specified" -msgstr "Enginn dagur tilgreindur" - -msgid "No week specified" -msgstr "Engin vika tilgreind" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "Ekkert %(verbose_name_plural)s í boði" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"Framtíðar %(verbose_name_plural)s ekki í boði því %(class_name)s." -"allow_future er Ósatt." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "Ógilt snið dagsetningar „%(datestr)s“ gefið sniðið „%(format)s“" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Ekkert %(verbose_name)s sem uppfyllir skilyrði" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "Þetta er hvorki síðasta síða, né er hægt að breyta í heiltölu." - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Ógild síða (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "Tómur listi og „%(class_name)s.allow_empty“ er Ósatt." - -msgid "Directory indexes are not allowed here." -msgstr "Möppulistar eru ekki leyfðir hér." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "„%(path)s“ er ekki til" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Innihald %(directory)s " - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" - -msgid "The install worked successfully! Congratulations!" -msgstr "" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"Þú sérð þessa síðu vegna þess að þú hefur DEBUG=True í stillingunum þínum og hefur ekki sett upp " -"neinar vefslóðir." - -msgid "Django Documentation" -msgstr "" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "" - -msgid "Get started with Django" -msgstr "" - -msgid "Django Community" -msgstr "" - -msgid "Connect, get help, or contribute" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/is/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/is/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/is/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/is/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 2382206e..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/is/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/is/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/is/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 65518feb..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/is/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/is/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/is/formats.py deleted file mode 100644 index e6cc7d51..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/is/formats.py +++ /dev/null @@ -1,21 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'j. F Y' -TIME_FORMAT = 'H:i' -# DATETIME_FORMAT = -YEAR_MONTH_FORMAT = 'F Y' -MONTH_DAY_FORMAT = 'j. F' -SHORT_DATE_FORMAT = 'j.n.Y' -# SHORT_DATETIME_FORMAT = -# FIRST_DAY_OF_WEEK = - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -# DATE_INPUT_FORMATS = -# TIME_INPUT_FORMATS = -# DATETIME_INPUT_FORMATS = -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = '.' -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/it/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/it/LC_MESSAGES/django.mo deleted file mode 100644 index 9b4d3c14..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/it/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/it/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/it/LC_MESSAGES/django.po deleted file mode 100644 index 8c7779f6..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/it/LC_MESSAGES/django.po +++ /dev/null @@ -1,1315 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# 0d21a39e384d88c2313b89b5042c04cb, 2017 -# Carlo Miron , 2011 -# Carlo Miron , 2014 -# Carlo Miron , 2018-2019 -# Denis Darii , 2011 -# Flavio Curella , 2013,2016 -# Jannis Leidel , 2011 -# Themis Savvidis , 2013 -# Luciano De Falco Alfano, 2016 -# Marco Bonetti, 2014 -# Mirco Grillo , 2018,2020 -# Nicola Larosa , 2013 -# palmux , 2014-2015,2017 -# Mattia Procopio , 2015 -# Riccardo Magliocchetti , 2017 -# Stefano Brentegani , 2014-2017 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-07-23 08:56+0000\n" -"Last-Translator: Mirco Grillo \n" -"Language-Team: Italian (http://www.transifex.com/django/django/language/" -"it/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: it\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "Afrikaans" -msgstr "Afrikaans" - -msgid "Arabic" -msgstr "Arabo" - -msgid "Algerian Arabic" -msgstr "Arabo Algerino" - -msgid "Asturian" -msgstr "Asturiano" - -msgid "Azerbaijani" -msgstr "Azero" - -msgid "Bulgarian" -msgstr "Bulgaro" - -msgid "Belarusian" -msgstr "Bielorusso" - -msgid "Bengali" -msgstr "Bengalese" - -msgid "Breton" -msgstr "Bretone" - -msgid "Bosnian" -msgstr "Bosniaco" - -msgid "Catalan" -msgstr "Catalano" - -msgid "Czech" -msgstr "Ceco" - -msgid "Welsh" -msgstr "Gallese" - -msgid "Danish" -msgstr "Danese" - -msgid "German" -msgstr "Tedesco" - -msgid "Lower Sorbian" -msgstr "Sorabo inferiore" - -msgid "Greek" -msgstr "Greco" - -msgid "English" -msgstr "Inglese" - -msgid "Australian English" -msgstr "Inglese Australiano" - -msgid "British English" -msgstr "Inglese britannico" - -msgid "Esperanto" -msgstr "Esperanto" - -msgid "Spanish" -msgstr "Spagnolo" - -msgid "Argentinian Spanish" -msgstr "Spagnolo Argentino" - -msgid "Colombian Spanish" -msgstr "Spagnolo Colombiano" - -msgid "Mexican Spanish" -msgstr "Spagnolo Messicano" - -msgid "Nicaraguan Spanish" -msgstr "Spagnolo Nicaraguense" - -msgid "Venezuelan Spanish" -msgstr "Spagnolo venezuelano" - -msgid "Estonian" -msgstr "Estone" - -msgid "Basque" -msgstr "Basco" - -msgid "Persian" -msgstr "Persiano" - -msgid "Finnish" -msgstr "Finlandese" - -msgid "French" -msgstr "Francese" - -msgid "Frisian" -msgstr "Frisone" - -msgid "Irish" -msgstr "Irlandese" - -msgid "Scottish Gaelic" -msgstr "Gaelico Scozzese" - -msgid "Galician" -msgstr "Galiziano" - -msgid "Hebrew" -msgstr "Ebraico" - -msgid "Hindi" -msgstr "Hindi" - -msgid "Croatian" -msgstr "Croato" - -msgid "Upper Sorbian" -msgstr "Sorabo superiore" - -msgid "Hungarian" -msgstr "Ungherese" - -msgid "Armenian" -msgstr "Armeno" - -msgid "Interlingua" -msgstr "Interlingua" - -msgid "Indonesian" -msgstr "Indonesiano" - -msgid "Igbo" -msgstr "Igbo" - -msgid "Ido" -msgstr "Ido" - -msgid "Icelandic" -msgstr "Islandese" - -msgid "Italian" -msgstr "Italiano" - -msgid "Japanese" -msgstr "Giapponese" - -msgid "Georgian" -msgstr "Georgiano" - -msgid "Kabyle" -msgstr "Cabilo" - -msgid "Kazakh" -msgstr "Kazako" - -msgid "Khmer" -msgstr "Khmer" - -msgid "Kannada" -msgstr "Kannada" - -msgid "Korean" -msgstr "Coreano" - -msgid "Kyrgyz" -msgstr "Kirghiso" - -msgid "Luxembourgish" -msgstr "Lussemburghese" - -msgid "Lithuanian" -msgstr "Lituano" - -msgid "Latvian" -msgstr "Lettone" - -msgid "Macedonian" -msgstr "Macedone" - -msgid "Malayalam" -msgstr "Malayalam" - -msgid "Mongolian" -msgstr "Mongolo" - -msgid "Marathi" -msgstr "Marathi" - -msgid "Burmese" -msgstr "Birmano" - -msgid "Norwegian Bokmål" -msgstr "Norvegese Bokmål" - -msgid "Nepali" -msgstr "Nepali" - -msgid "Dutch" -msgstr "Olandese" - -msgid "Norwegian Nynorsk" -msgstr "Norvegese Nynorsk" - -msgid "Ossetic" -msgstr "Ossetico" - -msgid "Punjabi" -msgstr "Punjabi" - -msgid "Polish" -msgstr "Polacco" - -msgid "Portuguese" -msgstr "Portoghese" - -msgid "Brazilian Portuguese" -msgstr "Brasiliano Portoghese" - -msgid "Romanian" -msgstr "Rumeno" - -msgid "Russian" -msgstr "Russo" - -msgid "Slovak" -msgstr "Slovacco" - -msgid "Slovenian" -msgstr "Sloveno" - -msgid "Albanian" -msgstr "Albanese" - -msgid "Serbian" -msgstr "Serbo" - -msgid "Serbian Latin" -msgstr "Serbo Latino" - -msgid "Swedish" -msgstr "Svedese" - -msgid "Swahili" -msgstr "Swahili" - -msgid "Tamil" -msgstr "Tamil" - -msgid "Telugu" -msgstr "Telugu" - -msgid "Tajik" -msgstr "Tajik" - -msgid "Thai" -msgstr "Tailandese" - -msgid "Turkmen" -msgstr "Turkmeno" - -msgid "Turkish" -msgstr "Turco" - -msgid "Tatar" -msgstr "Tatar" - -msgid "Udmurt" -msgstr "Udmurt" - -msgid "Ukrainian" -msgstr "Ucraino" - -msgid "Urdu" -msgstr "Urdu" - -msgid "Uzbek" -msgstr "Uzbeko" - -msgid "Vietnamese" -msgstr "Vietnamita" - -msgid "Simplified Chinese" -msgstr "Cinese semplificato" - -msgid "Traditional Chinese" -msgstr "Cinese tradizionale" - -msgid "Messages" -msgstr "Messaggi" - -msgid "Site Maps" -msgstr "Mappa del sito" - -msgid "Static Files" -msgstr "File statici" - -msgid "Syndication" -msgstr "Aggregazione" - -msgid "That page number is not an integer" -msgstr "Quel numero di pagina non è un integer" - -msgid "That page number is less than 1" -msgstr "Quel numero di pagina è minore di 1" - -msgid "That page contains no results" -msgstr "Quella pagina non presenta alcun risultato" - -msgid "Enter a valid value." -msgstr "Inserisci un valore valido." - -msgid "Enter a valid URL." -msgstr "Inserisci un URL valido." - -msgid "Enter a valid integer." -msgstr "Inserire un numero intero valido." - -msgid "Enter a valid email address." -msgstr "Inserisci un indirizzo email valido." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" -"Inserisci uno 'slug' valido contenente lettere, cifre, sottolineati o " -"trattini." - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" -"Inserisci uno 'slug' valido contenente lettere, cifre, sottolineati o " -"trattini." - -msgid "Enter a valid IPv4 address." -msgstr "Inserisci un indirizzo IPv4 valido." - -msgid "Enter a valid IPv6 address." -msgstr "Inserisci un indirizzo IPv6 valido." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Inserisci un indirizzo IPv4 o IPv6 valido." - -msgid "Enter only digits separated by commas." -msgstr "Inserisci solo cifre separate da virgole." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" -"Assicurati che questo valore sia %(limit_value)s (ora è %(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Assicurati che questo valore sia minore o uguale a %(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Assicurati che questo valore sia maggiore o uguale a %(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Assicurati che questo valore contenga almeno %(limit_value)d carattere (ne " -"ha %(show_value)d)." -msgstr[1] "" -"Assicurati che questo valore contenga almeno %(limit_value)d caratteri (ne " -"ha %(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Assicurati che questo valore non contenga più di %(limit_value)d carattere " -"(ne ha %(show_value)d)." -msgstr[1] "" -"Assicurati che questo valore non contenga più di %(limit_value)d caratteri " -"(ne ha %(show_value)d)." - -msgid "Enter a number." -msgstr "Inserisci un numero." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Assicurati che non vi sia più di %(max)s cifra in totale." -msgstr[1] "Assicurati che non vi siano più di %(max)s cifre in totale." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "Assicurati che non vi sia più di %(max)s cifra decimale." -msgstr[1] "Assicurati che non vi siano più di %(max)s cifre decimali." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "Assicurati che non vi sia più di %(max)s cifra prima della virgola." -msgstr[1] "" -"Assicurati che non vi siano più di %(max)s cifre prima della virgola." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" -"Il file con estensione '%(extension)s' non e' permesso. Le estensioni " -"permesse sono: '%(allowed_extensions)s'." - -msgid "Null characters are not allowed." -msgstr "I caratteri null non sono ammessi." - -msgid "and" -msgstr "e" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "%(model_name)s con questa %(field_labels)s esiste già." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "Il valore %(value)r non è una scelta valida." - -msgid "This field cannot be null." -msgstr "Questo campo non può essere nullo." - -msgid "This field cannot be blank." -msgstr "Questo campo non può essere vuoto." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s con questo %(field_label)s esiste già." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(field_label)s deve essere unico per %(date_field_label)s %(lookup_type)s." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Campo di tipo: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "Il valore '%(value)s' deve essere True oppure False." - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "Il valore di %(value)s deve essere True, False o None" - -msgid "Boolean (Either True or False)" -msgstr "Booleano (Vero o Falso)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Stringa (fino a %(max_length)s)" - -msgid "Comma-separated integers" -msgstr "Interi separati da virgole" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" -"Il valore '%(value)s' ha un formato di data invalido. Deve essere nel " -"formato AAAA-MM-GG." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" -"Il valore di '%(value)s' ha il corretto formato (AAAA-MM-GG) ma non è una " -"data valida." - -msgid "Date (without time)" -msgstr "Data (senza ora)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" -"Il valore '%(value)s' ha un formato non valido. Deve essere nel formato AAAA-" -"MM-GG HH:MM[:ss[.uuuuuu]][TZ]" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" -"Il valore di '%(value)s' ha il formato corretto (AAAA-MM-GG HH:MM[:ss[." -"uuuuuu]][TZ]) ma non è una data/ora valida." - -msgid "Date (with time)" -msgstr "Data (con ora)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "Il valore '%(value)s' deve essere un numero decimale." - -msgid "Decimal number" -msgstr "Numero decimale" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" -"Il valore '%(value)s' ha un formato non valido. Deve essere nel formato [GG]" -"[HH:[MM:]]ss[.uuuuuu]." - -msgid "Duration" -msgstr "Durata" - -msgid "Email address" -msgstr "Indirizzo email" - -msgid "File path" -msgstr "Percorso file" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "Il valore di '%(value)s' deve essere un numero a virgola mobile." - -msgid "Floating point number" -msgstr "Numero in virgola mobile" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "Il valore '%(value)s' deve essere un intero." - -msgid "Integer" -msgstr "Intero" - -msgid "Big (8 byte) integer" -msgstr "Intero grande (8 byte)" - -msgid "IPv4 address" -msgstr "Indirizzo IPv4" - -msgid "IP address" -msgstr "Indirizzo IP" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "Il valore '%(value)s' deve essere None, True oppure False." - -msgid "Boolean (Either True, False or None)" -msgstr "Booleano (True, False o None)" - -msgid "Positive big integer" -msgstr "Intero positivo" - -msgid "Positive integer" -msgstr "Intero positivo" - -msgid "Positive small integer" -msgstr "Piccolo intero positivo" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Slug (fino a %(max_length)s)" - -msgid "Small integer" -msgstr "Piccolo intero" - -msgid "Text" -msgstr "Testo" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" -"Il valore di '%(value)s' ha un formato non valido. Deve essere nel formato " -"HH:MM[:ss[.uuuuuu]]." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" -"Il valore di '%(value)s' ha il corretto formato (HH:MM[:ss[.uuuuuu]]) ma non " -"è una data valida." - -msgid "Time" -msgstr "Ora" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Dati binari grezzi" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "'%(value)s' non è uno UUID valido." - -msgid "Universally unique identifier" -msgstr "Identificatore univoco universale" - -msgid "File" -msgstr "File" - -msgid "Image" -msgstr "Immagine" - -msgid "A JSON object" -msgstr "Un oggetto JSON" - -msgid "Value must be valid JSON." -msgstr "Il valore deve essere un JSON valido." - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "L'istanza del modello %(model)s con %(field)s %(value)r non esiste." - -msgid "Foreign Key (type determined by related field)" -msgstr "Foreign Key (tipo determinato dal campo collegato)" - -msgid "One-to-one relationship" -msgstr "Relazione uno a uno" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "relazione %(from)s-%(to)s" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "relazioni %(from)s-%(to)s" - -msgid "Many-to-many relationship" -msgstr "Relazione molti a molti" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Questo campo è obbligatorio." - -msgid "Enter a whole number." -msgstr "Inserisci un numero intero." - -msgid "Enter a valid date." -msgstr "Inserisci una data valida." - -msgid "Enter a valid time." -msgstr "Inserisci un'ora valida." - -msgid "Enter a valid date/time." -msgstr "Inserisci una data/ora valida." - -msgid "Enter a valid duration." -msgstr "Inserisci una durata valida." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "Il numero di giorni deve essere compreso tra {min_days} e {max_days}" - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Non è stato inviato alcun file. Verifica il tipo di codifica sul form." - -msgid "No file was submitted." -msgstr "Nessun file è stato inviato." - -msgid "The submitted file is empty." -msgstr "Il file inviato è vuoto." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Assicurati che questo nome di file non contenga più di %(max)d carattere (ne " -"ha %(length)d)." -msgstr[1] "" -"Assicurati che questo nome di file non contenga più di %(max)d caratteri (ne " -"ha %(length)d)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" -"È possibile inviare un file o selezionare la casella \"svuota\", ma non " -"entrambi." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Carica un'immagine valida. Il file caricato non è un'immagine o è " -"un'immagine danneggiata." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "Scegli un'opzione valida. %(value)s non è tra quelle disponibili." - -msgid "Enter a list of values." -msgstr "Inserisci una lista di valori." - -msgid "Enter a complete value." -msgstr "Inserisci un valore completo." - -msgid "Enter a valid UUID." -msgstr "Inserire un UUID valido." - -msgid "Enter a valid JSON." -msgstr "Inserisci un JSON valido" - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Campo nascosto %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "I dati del ManagementForm sono mancanti oppure sono stati manomessi" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Inoltrare %d o meno form." -msgstr[1] "Si prega di inviare %d o meno form." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "Inoltrare %d o più form." -msgstr[1] "Si prega di inviare %d o più form." - -msgid "Order" -msgstr "Ordine" - -msgid "Delete" -msgstr "Cancella" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Si prega di correggere i dati duplicati di %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"Si prega di correggere i dati duplicati di %(field)s, che deve essere unico." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Si prega di correggere i dati duplicati di %(field_name)s che deve essere " -"unico/a per %(lookup)s in %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "Si prega di correggere i dati duplicati qui sotto." - -msgid "The inline value did not match the parent instance." -msgstr "Il valore inline non corrisponde all'istanza padre." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" -"Scegli un'opzione valida. La scelta effettuata non compare tra quelle " -"disponibili." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "\"%(pk)s\" non è un valore valido." - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" -" %(datetime)s non può essere interpretato nel fuso orario " -"%(current_timezone)s: potrebbe essere ambiguo o non esistere." - -msgid "Clear" -msgstr "Svuota" - -msgid "Currently" -msgstr "Attualmente" - -msgid "Change" -msgstr "Cambia" - -msgid "Unknown" -msgstr "Sconosciuto" - -msgid "Yes" -msgstr "Sì" - -msgid "No" -msgstr "No" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "sì,no,forse" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d byte" -msgstr[1] "%(size)d bytes" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "p.m." - -msgid "a.m." -msgstr "a.m." - -msgid "PM" -msgstr "PM" - -msgid "AM" -msgstr "AM" - -msgid "midnight" -msgstr "mezzanotte" - -msgid "noon" -msgstr "mezzogiorno" - -msgid "Monday" -msgstr "Lunedì" - -msgid "Tuesday" -msgstr "Martedì" - -msgid "Wednesday" -msgstr "Mercoledì" - -msgid "Thursday" -msgstr "Giovedì" - -msgid "Friday" -msgstr "Venerdì" - -msgid "Saturday" -msgstr "Sabato" - -msgid "Sunday" -msgstr "Domenica" - -msgid "Mon" -msgstr "Lun" - -msgid "Tue" -msgstr "Mar" - -msgid "Wed" -msgstr "Mer" - -msgid "Thu" -msgstr "Gio" - -msgid "Fri" -msgstr "Ven" - -msgid "Sat" -msgstr "Sab" - -msgid "Sun" -msgstr "Dom" - -msgid "January" -msgstr "Gennaio" - -msgid "February" -msgstr "Febbraio" - -msgid "March" -msgstr "Marzo" - -msgid "April" -msgstr "Aprile" - -msgid "May" -msgstr "Maggio" - -msgid "June" -msgstr "Giugno" - -msgid "July" -msgstr "Luglio" - -msgid "August" -msgstr "Agosto" - -msgid "September" -msgstr "Settembre" - -msgid "October" -msgstr "Ottobre" - -msgid "November" -msgstr "Novembre" - -msgid "December" -msgstr "Dicembre" - -msgid "jan" -msgstr "gen" - -msgid "feb" -msgstr "feb" - -msgid "mar" -msgstr "mar" - -msgid "apr" -msgstr "apr" - -msgid "may" -msgstr "mag" - -msgid "jun" -msgstr "giu" - -msgid "jul" -msgstr "lug" - -msgid "aug" -msgstr "ago" - -msgid "sep" -msgstr "set" - -msgid "oct" -msgstr "ott" - -msgid "nov" -msgstr "nov" - -msgid "dec" -msgstr "dic" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Gen." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Feb." - -msgctxt "abbrev. month" -msgid "March" -msgstr "Marzo" - -msgctxt "abbrev. month" -msgid "April" -msgstr "Aprile" - -msgctxt "abbrev. month" -msgid "May" -msgstr "Maggio" - -msgctxt "abbrev. month" -msgid "June" -msgstr "Giugno" - -msgctxt "abbrev. month" -msgid "July" -msgstr "Luglio" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Ago." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Set." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Ott." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Nov." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Dic." - -msgctxt "alt. month" -msgid "January" -msgstr "Gennaio" - -msgctxt "alt. month" -msgid "February" -msgstr "Febbraio" - -msgctxt "alt. month" -msgid "March" -msgstr "Marzo" - -msgctxt "alt. month" -msgid "April" -msgstr "Aprile" - -msgctxt "alt. month" -msgid "May" -msgstr "Maggio" - -msgctxt "alt. month" -msgid "June" -msgstr "Giugno" - -msgctxt "alt. month" -msgid "July" -msgstr "Luglio" - -msgctxt "alt. month" -msgid "August" -msgstr "Agosto" - -msgctxt "alt. month" -msgid "September" -msgstr "Settembre" - -msgctxt "alt. month" -msgid "October" -msgstr "Ottobre" - -msgctxt "alt. month" -msgid "November" -msgstr "Novembre" - -msgctxt "alt. month" -msgid "December" -msgstr "Dicembre" - -msgid "This is not a valid IPv6 address." -msgstr "Questo non è un indirizzo IPv6 valido." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s…" - -msgid "or" -msgstr "o" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d anno" -msgstr[1] "%d anni" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d mese" -msgstr[1] "%d mesi" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d settimana" -msgstr[1] "%d settimane" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d giorno" -msgstr[1] "%d giorni" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d ora" -msgstr[1] "%d ore" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d minuto" -msgstr[1] "%d minuti" - -msgid "Forbidden" -msgstr "Proibito" - -msgid "CSRF verification failed. Request aborted." -msgstr "Verifica CSRF fallita. Richiesta interrotta." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" -"Stai vedendo questo messaggio perché questo sito HTTPS richiede una 'Referer " -"header' che deve essere inviata dal tuo browser web, ma non è stato inviato " -"nulla. Questo header è richiesto per ragioni di sicurezza, per assicurare " -"che il tuo browser non sia stato dirottato da terze parti." - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" -"Se hai configurato il tuo browser web per disattivare l'invio dell' header " -"\"Referer\", riattiva questo invio, almeno per questo sito, o per le " -"connessioni HTTPS, o per le connessioni \"same-origin\"." - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" -"Se usi il tag o includi " -"header 'Referrer-Policy: no-referrer', per favore rimuovili. Per la " -"protezione CSRF è necessario eseguire un controllo rigoroso sull'header " -"'Referer'. Se ti preoccupano le ricadute sulla privacy, puoi ricorrere ad " -"alternative come per i link a siti di terze parti." - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Stai vedendo questo messaggio perché questo sito richiede un cookie CSRF " -"quando invii dei form. Questo cookie è necessario per ragioni di sicurezza, " -"per assicurare che il tuo browser non sia stato dirottato da terze parti." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" -"Se hai configurato il tuo browser web per disattivare l'invio dei cookies, " -"riattivalo almeno per questo sito, o per connessioni \"same-origin\"" - -msgid "More information is available with DEBUG=True." -msgstr "Maggiorni informazioni sono disponibili con DEBUG=True" - -msgid "No year specified" -msgstr "Anno non specificato" - -msgid "Date out of range" -msgstr "Data al di fuori dell'intervallo" - -msgid "No month specified" -msgstr "Mese non specificato" - -msgid "No day specified" -msgstr "Giorno non specificato" - -msgid "No week specified" -msgstr "Settimana non specificata" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "Nessun %(verbose_name_plural)s disponibile" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"%(verbose_name_plural)s futuri/e non disponibili/e poichè %(class_name)s." -"allow_future è False." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "Data non valida '%(datestr)s' con il formato '%(format)s'" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Trovato nessun %(verbose_name)s corrispondente alla query" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "La pagina non è 'last', né può essere convertita in un int." - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Pagina non valida (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "Lista vuota e '%(class_name)s.allow_empty' è False." - -msgid "Directory indexes are not allowed here." -msgstr "Indici di directory non sono consentiti qui." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "\"%(path)s\" non esiste" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Indice di %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "Django: il framework Web per i perfezionisti con delle scadenze." - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"Leggi le note di rilascio per Django " -"%(version)s" - -msgid "The install worked successfully! Congratulations!" -msgstr "Installazione completata con successo! Congratulazioni!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"Stai vedendo questa pagina perché hai impostato DEBUG=True nel tuo file di configurazione e non hai " -"configurato nessun URL." - -msgid "Django Documentation" -msgstr "Documentazione di Django" - -msgid "Topics, references, & how-to’s" -msgstr "Temi, riferimenti, & guide" - -msgid "Tutorial: A Polling App" -msgstr "Tutorial: un'app per sondaggi" - -msgid "Get started with Django" -msgstr "Iniziare con Django" - -msgid "Django Community" -msgstr "La Community di Django" - -msgid "Connect, get help, or contribute" -msgstr "Connettiti, chiedi aiuto, o contribuisci." diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/it/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/it/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/it/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/it/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index f7ac98ea..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/it/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/it/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/it/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 789617a6..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/it/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/it/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/it/formats.py deleted file mode 100644 index 8562aefb..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/it/formats.py +++ /dev/null @@ -1,40 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'd F Y' # 25 Ottobre 2006 -TIME_FORMAT = 'H:i' # 14:30 -DATETIME_FORMAT = 'l d F Y H:i' # Mercoledì 25 Ottobre 2006 14:30 -YEAR_MONTH_FORMAT = 'F Y' # Ottobre 2006 -MONTH_DAY_FORMAT = 'j F' # 25 Ottobre -SHORT_DATE_FORMAT = 'd/m/Y' # 25/12/2009 -SHORT_DATETIME_FORMAT = 'd/m/Y H:i' # 25/10/2009 14:30 -FIRST_DAY_OF_WEEK = 1 # Lunedì - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -DATE_INPUT_FORMATS = [ - '%d/%m/%Y', '%Y/%m/%d', # '25/10/2006', '2008/10/25' - '%d-%m-%Y', '%Y-%m-%d', # '25-10-2006', '2008-10-25' - '%d-%m-%y', '%d/%m/%y', # '25-10-06', '25/10/06' -] -DATETIME_INPUT_FORMATS = [ - '%d/%m/%Y %H:%M:%S', # '25/10/2006 14:30:59' - '%d/%m/%Y %H:%M:%S.%f', # '25/10/2006 14:30:59.000200' - '%d/%m/%Y %H:%M', # '25/10/2006 14:30' - '%d/%m/%y %H:%M:%S', # '25/10/06 14:30:59' - '%d/%m/%y %H:%M:%S.%f', # '25/10/06 14:30:59.000200' - '%d/%m/%y %H:%M', # '25/10/06 14:30' - '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59' - '%Y-%m-%d %H:%M:%S.%f', # '2006-10-25 14:30:59.000200' - '%Y-%m-%d %H:%M', # '2006-10-25 14:30' - '%d-%m-%Y %H:%M:%S', # '25-10-2006 14:30:59' - '%d-%m-%Y %H:%M:%S.%f', # '25-10-2006 14:30:59.000200' - '%d-%m-%Y %H:%M', # '25-10-2006 14:30' - '%d-%m-%y %H:%M:%S', # '25-10-06 14:30:59' - '%d-%m-%y %H:%M:%S.%f', # '25-10-06 14:30:59.000200' - '%d-%m-%y %H:%M', # '25-10-06 14:30' -] -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = '.' -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ja/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/ja/LC_MESSAGES/django.mo deleted file mode 100644 index e2809081..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/ja/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ja/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/ja/LC_MESSAGES/django.po deleted file mode 100644 index a10c041d..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/ja/LC_MESSAGES/django.po +++ /dev/null @@ -1,1280 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# xiu1 , 2016 -# GOTO Hayato , 2019 -# Jannis Leidel , 2011 -# Kentaro Matsuzaki , 2015 -# Masashi SHIBATA , 2017 -# Nikita K , 2019 -# Shinichi Katsumata , 2019 -# Shinya Okano , 2012-2019 -# Takuya N , 2020 -# Tetsuya Morimoto , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-07-14 21:42+0000\n" -"Last-Translator: Transifex Bot <>\n" -"Language-Team: Japanese (http://www.transifex.com/django/django/language/" -"ja/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ja\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -msgid "Afrikaans" -msgstr "アフリカーンス語" - -msgid "Arabic" -msgstr "アラビア語" - -msgid "Algerian Arabic" -msgstr "" - -msgid "Asturian" -msgstr "アストゥリアス語" - -msgid "Azerbaijani" -msgstr "アゼルバイジャン語" - -msgid "Bulgarian" -msgstr "ブルガリア語" - -msgid "Belarusian" -msgstr "ベラルーシ語" - -msgid "Bengali" -msgstr "ベンガル語" - -msgid "Breton" -msgstr "ブルトン語" - -msgid "Bosnian" -msgstr "ボスニア語" - -msgid "Catalan" -msgstr "カタロニア語" - -msgid "Czech" -msgstr "チェコ語" - -msgid "Welsh" -msgstr "ウェールズ語" - -msgid "Danish" -msgstr "デンマーク語" - -msgid "German" -msgstr "ドイツ語" - -msgid "Lower Sorbian" -msgstr "低地ソルブ語" - -msgid "Greek" -msgstr "ギリシャ語" - -msgid "English" -msgstr "英語(米国)" - -msgid "Australian English" -msgstr "英語(オーストラリア)" - -msgid "British English" -msgstr "英語(英国)" - -msgid "Esperanto" -msgstr "エスペラント語" - -msgid "Spanish" -msgstr "スペイン語" - -msgid "Argentinian Spanish" -msgstr "アルゼンチンスペイン語" - -msgid "Colombian Spanish" -msgstr "コロンビアスペイン語" - -msgid "Mexican Spanish" -msgstr "メキシコスペイン語" - -msgid "Nicaraguan Spanish" -msgstr "ニカラグアスペイン語" - -msgid "Venezuelan Spanish" -msgstr "ベネズエラスペイン語" - -msgid "Estonian" -msgstr "エストニア語" - -msgid "Basque" -msgstr "バスク語" - -msgid "Persian" -msgstr "ペルシア語" - -msgid "Finnish" -msgstr "フィンランド語" - -msgid "French" -msgstr "フランス語" - -msgid "Frisian" -msgstr "フリジア語" - -msgid "Irish" -msgstr "アイルランド語" - -msgid "Scottish Gaelic" -msgstr "ゲール語(スコットランド)" - -msgid "Galician" -msgstr "ガリシア語" - -msgid "Hebrew" -msgstr "ヘブライ語" - -msgid "Hindi" -msgstr "ヒンディー語" - -msgid "Croatian" -msgstr "クロアチア語" - -msgid "Upper Sorbian" -msgstr "高地ソルブ語" - -msgid "Hungarian" -msgstr "ハンガリー語" - -msgid "Armenian" -msgstr "アルメニア" - -msgid "Interlingua" -msgstr "インターリングア" - -msgid "Indonesian" -msgstr "インドネシア語" - -msgid "Igbo" -msgstr "" - -msgid "Ido" -msgstr "イド語" - -msgid "Icelandic" -msgstr "アイスランド語" - -msgid "Italian" -msgstr "イタリア語" - -msgid "Japanese" -msgstr "日本語" - -msgid "Georgian" -msgstr "グルジア語" - -msgid "Kabyle" -msgstr "カビル語" - -msgid "Kazakh" -msgstr "カザフ語" - -msgid "Khmer" -msgstr "クメール語" - -msgid "Kannada" -msgstr "カンナダ語" - -msgid "Korean" -msgstr "韓国語" - -msgid "Kyrgyz" -msgstr "" - -msgid "Luxembourgish" -msgstr "ルクセンブルグ語" - -msgid "Lithuanian" -msgstr "リトアニア語" - -msgid "Latvian" -msgstr "ラトビア語" - -msgid "Macedonian" -msgstr "マケドニア語" - -msgid "Malayalam" -msgstr "マラヤーラム語" - -msgid "Mongolian" -msgstr "モンゴル語" - -msgid "Marathi" -msgstr "マラーティー語" - -msgid "Burmese" -msgstr "ビルマ語" - -msgid "Norwegian Bokmål" -msgstr "ノルウェーのブークモール" - -msgid "Nepali" -msgstr "ネパール語" - -msgid "Dutch" -msgstr "オランダ語" - -msgid "Norwegian Nynorsk" -msgstr "ノルウェーのニーノシュク" - -msgid "Ossetic" -msgstr "オセット語" - -msgid "Punjabi" -msgstr "パンジャブ語" - -msgid "Polish" -msgstr "ポーランド語" - -msgid "Portuguese" -msgstr "ポルトガル語" - -msgid "Brazilian Portuguese" -msgstr "ブラジルポルトガル語" - -msgid "Romanian" -msgstr "ルーマニア語" - -msgid "Russian" -msgstr "ロシア語" - -msgid "Slovak" -msgstr "スロバキア語" - -msgid "Slovenian" -msgstr "スロヴェニア語" - -msgid "Albanian" -msgstr "アルバニア語" - -msgid "Serbian" -msgstr "セルビア語" - -msgid "Serbian Latin" -msgstr "セルビア語ラテン文字" - -msgid "Swedish" -msgstr "スウェーデン語" - -msgid "Swahili" -msgstr "スワヒリ語" - -msgid "Tamil" -msgstr "タミル語" - -msgid "Telugu" -msgstr "テルグ語" - -msgid "Tajik" -msgstr "" - -msgid "Thai" -msgstr "タイ語" - -msgid "Turkmen" -msgstr "" - -msgid "Turkish" -msgstr "トルコ語" - -msgid "Tatar" -msgstr "タタール語" - -msgid "Udmurt" -msgstr "ウドムルト語" - -msgid "Ukrainian" -msgstr "ウクライナ語" - -msgid "Urdu" -msgstr "ウルドゥー語" - -msgid "Uzbek" -msgstr "ウズベク語" - -msgid "Vietnamese" -msgstr "ベトナム語" - -msgid "Simplified Chinese" -msgstr "簡体字中国語" - -msgid "Traditional Chinese" -msgstr "繁体字中国語" - -msgid "Messages" -msgstr "メッセージ" - -msgid "Site Maps" -msgstr "サイトマップ" - -msgid "Static Files" -msgstr "静的ファイル" - -msgid "Syndication" -msgstr "シンジケーション" - -msgid "That page number is not an integer" -msgstr "このページ番号は整数ではありません。" - -msgid "That page number is less than 1" -msgstr "ページ番号が 1 よりも小さいです。" - -msgid "That page contains no results" -msgstr "このページには結果が含まれていません。" - -msgid "Enter a valid value." -msgstr "値を正しく入力してください。" - -msgid "Enter a valid URL." -msgstr "URLを正しく入力してください。" - -msgid "Enter a valid integer." -msgstr "整数を正しく入力してください。" - -msgid "Enter a valid email address." -msgstr "有効なメールアドレスを入力してください。" - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" -"“slug” には半角の英数字、アンダースコア、ハイフン以外は使用できません。" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" -"ユニコード文字、数字、アンダースコアまたはハイフンで構成された、有効なスラグ" -"を入力してください。" - -msgid "Enter a valid IPv4 address." -msgstr "有効なIPアドレス (IPv4) を入力してください。" - -msgid "Enter a valid IPv6 address." -msgstr "IPv6の正しいアドレスを入力してください。" - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "IPv4またはIPv6の正しいアドレスを入力してください。" - -msgid "Enter only digits separated by commas." -msgstr "カンマ区切りの数字だけを入力してください。" - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" -"この値は %(limit_value)s でなければなりません(実際には %(show_value)s でし" -"た) 。" - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "この値は %(limit_value)s 以下でなければなりません。" - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "この値は %(limit_value)s 以上でなければなりません。" - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"この値が少なくとも %(limit_value)d 文字以上であることを確認してください " -"(%(show_value)d 文字になっています)。" - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"この値は %(limit_value)d 文字以下でなければなりません( %(show_value)d 文字に" -"なっています)。" - -msgid "Enter a number." -msgstr "数値を入力してください。" - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "この値は合計 %(max)s 桁以内でなければなりません。" - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "この値は小数点以下が合計 %(max)s 桁以内でなければなりません。" - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "この値は小数点より前が合計 %(max)s 桁以内でなければなりません。" - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" -"ファイル拡張子 “%(extension)s” は許可されていません。許可されている拡張子は " -"%(allowed_extensions)s です。" - -msgid "Null characters are not allowed." -msgstr "何か文字を入力してください。" - -msgid "and" -msgstr "と" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "この %(field_labels)s を持った %(model_name)s が既に存在します。" - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "%(value)r は有効な選択肢ではありません。" - -msgid "This field cannot be null." -msgstr "このフィールドには NULL を指定できません。" - -msgid "This field cannot be blank." -msgstr "このフィールドは空ではいけません。" - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "この %(field_label)s を持った %(model_name)s が既に存在します。" - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(date_field_label)s %(lookup_type)s では %(field_label)s がユニークである必" -"要があります。" - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "タイプが %(field_type)s のフィールド" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "“%(value)s” は True または False にしなければなりません。" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "“%(value)s” は True 、 False または None の値でなければなりません。" - -msgid "Boolean (Either True or False)" -msgstr "ブール値 (真: True または偽: False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "文字列 ( %(max_length)s 字まで )" - -msgid "Comma-separated integers" -msgstr "カンマ区切りの整数" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" -"“%(value)s” は無効な日付形式です。YYYY-MM-DD 形式にしなければなりません。" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "“%(value)s” は有効な日付形式(YYYY-MM-DD)ですが、不正な日付です。" - -msgid "Date (without time)" -msgstr "日付" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" -"“%(value)s” は無効な形式の値です。 YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ] 形式で" -"なければなりません。" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" -"“%(value)s” は正しい形式 (YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]) の値ですが、無" -"効な日時です。" - -msgid "Date (with time)" -msgstr "日時" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "“%(value)s” は10進浮動小数値にしなければなりません。" - -msgid "Decimal number" -msgstr "10 進数 (小数可)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" -"“%(value)s” は無効な形式の値です。 [DD] [HH:[MM:]]ss[.uuuuuu] 形式でなければ" -"なりません。" - -msgid "Duration" -msgstr "時間差分" - -msgid "Email address" -msgstr "メールアドレス" - -msgid "File path" -msgstr "ファイルの場所" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "“%(value)s” は小数値にしなければなりません。" - -msgid "Floating point number" -msgstr "浮動小数点" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "“%(value)s” は整数値にしなければなりません。" - -msgid "Integer" -msgstr "整数" - -msgid "Big (8 byte) integer" -msgstr "大きな(8バイト)整数" - -msgid "IPv4 address" -msgstr "IPv4アドレス" - -msgid "IP address" -msgstr "IP アドレス" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "“%(value)s” は None、True または False の値でなければなりません。" - -msgid "Boolean (Either True, False or None)" -msgstr "ブール値 (真: True 、偽: False または None)" - -msgid "Positive big integer" -msgstr "" - -msgid "Positive integer" -msgstr "正の整数" - -msgid "Positive small integer" -msgstr "小さな正の整数" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "スラグ(%(max_length)s文字以内)" - -msgid "Small integer" -msgstr "小さな整数" - -msgid "Text" -msgstr "テキスト" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" -"“%(value)s” は無効な形式の値です。 HH:MM[:ss[.uuuuuu]] 形式でなければなりませ" -"ん。" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "“%(value)s” は正しい形式(HH:MM[:ss[.uuuuuu]])ですが、無効な時刻です。" - -msgid "Time" -msgstr "時刻" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "生のバイナリデータ" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "“%(value)s” は有効なUUIDではありません。" - -msgid "Universally unique identifier" -msgstr "汎用一意識別子" - -msgid "File" -msgstr "ファイル" - -msgid "Image" -msgstr "画像" - -msgid "A JSON object" -msgstr "" - -msgid "Value must be valid JSON." -msgstr "" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "%(field)s が %(value)r である %(model)s のインスタンスは存在しません。" - -msgid "Foreign Key (type determined by related field)" -msgstr "外部キー(型は関連フィールドによって決まります)" - -msgid "One-to-one relationship" -msgstr "1対1の関連" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "%(from)s-%(to)s の関連" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "%(from)s-%(to)s の関連" - -msgid "Many-to-many relationship" -msgstr "多対多の関連" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "このフィールドは必須です。" - -msgid "Enter a whole number." -msgstr "整数を入力してください。" - -msgid "Enter a valid date." -msgstr "日付を正しく入力してください。" - -msgid "Enter a valid time." -msgstr "時間を正しく入力してください。" - -msgid "Enter a valid date/time." -msgstr "日時を正しく入力してください。" - -msgid "Enter a valid duration." -msgstr "時間差分を正しく入力してください。" - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "日数は{min_days}から{max_days}の間でなければなりません。" - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "" -"ファイルが取得できませんでした。フォームのencoding typeを確認してください。" - -msgid "No file was submitted." -msgstr "ファイルが送信されていません。" - -msgid "The submitted file is empty." -msgstr "入力されたファイルは空です。" - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"このファイル名は %(max)d 文字以下でなければなりません( %(length)d 文字になっ" -"ています)。" - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" -"ファイルを投稿するか、クリアチェックボックスをチェックするかどちらかを選択し" -"てください。両方とも行ってはいけません。" - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"画像をアップロードしてください。アップロードしたファイルは画像でないか、また" -"は壊れています。" - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "正しく選択してください。 %(value)s は候補にありません。" - -msgid "Enter a list of values." -msgstr "リストを入力してください。" - -msgid "Enter a complete value." -msgstr "すべての値を入力してください。" - -msgid "Enter a valid UUID." -msgstr "UUIDを正しく入力してください。" - -msgid "Enter a valid JSON." -msgstr "" - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(隠しフィールド %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "マネジメントフォームのデータが見つからないか、改竄されています。" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "%d 個またはそれより少ないフォームを送信してください。" - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "%d 個またはそれより多いフォームを送信してください。" - -msgid "Order" -msgstr "並び変え" - -msgid "Delete" -msgstr "削除" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "%(field)s の重複したデータを修正してください。" - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"%(field)s の重複したデータを修正してください。このフィールドはユニークである" -"必要があります。" - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"%(field_name)s の重複したデータを修正してください。%(date_field)s %(lookup)s " -"では %(field_name)s がユニークである必要があります。" - -msgid "Please correct the duplicate values below." -msgstr "下記の重複したデータを修正してください。" - -msgid "The inline value did not match the parent instance." -msgstr "インライン値が親のインスタンスに一致しません。" - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "正しく選択してください。選択したものは候補にありません。" - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "“%(pk)s” は無効な値です。" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" -"%(datetime)s は %(current_timezone)s のタイムゾーンでは解釈できませんでした。" -"それは曖昧であるか、存在しない可能性があります。" - -msgid "Clear" -msgstr "クリア" - -msgid "Currently" -msgstr "現在" - -msgid "Change" -msgstr "変更" - -msgid "Unknown" -msgstr "不明" - -msgid "Yes" -msgstr "はい" - -msgid "No" -msgstr "いいえ" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "はい,いいえ,たぶん" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d バイト" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "p.m." - -msgid "a.m." -msgstr "a.m." - -msgid "PM" -msgstr "PM" - -msgid "AM" -msgstr "AM" - -msgid "midnight" -msgstr "0時" - -msgid "noon" -msgstr "12時" - -msgid "Monday" -msgstr "月曜日" - -msgid "Tuesday" -msgstr "火曜日" - -msgid "Wednesday" -msgstr "水曜日" - -msgid "Thursday" -msgstr "木曜日" - -msgid "Friday" -msgstr "金曜日" - -msgid "Saturday" -msgstr "土曜日" - -msgid "Sunday" -msgstr "日曜日" - -msgid "Mon" -msgstr "月" - -msgid "Tue" -msgstr "火" - -msgid "Wed" -msgstr "水" - -msgid "Thu" -msgstr "木" - -msgid "Fri" -msgstr "金" - -msgid "Sat" -msgstr "土" - -msgid "Sun" -msgstr "日" - -msgid "January" -msgstr "1月" - -msgid "February" -msgstr "2月" - -msgid "March" -msgstr "3月" - -msgid "April" -msgstr "4月" - -msgid "May" -msgstr "5月" - -msgid "June" -msgstr "6月" - -msgid "July" -msgstr "7月" - -msgid "August" -msgstr "8月" - -msgid "September" -msgstr "9月" - -msgid "October" -msgstr "10月" - -msgid "November" -msgstr "11月" - -msgid "December" -msgstr "12月" - -msgid "jan" -msgstr "1月" - -msgid "feb" -msgstr "2月" - -msgid "mar" -msgstr "3月" - -msgid "apr" -msgstr "4月" - -msgid "may" -msgstr "5月" - -msgid "jun" -msgstr "6月" - -msgid "jul" -msgstr "7月" - -msgid "aug" -msgstr "8月" - -msgid "sep" -msgstr "9月" - -msgid "oct" -msgstr "10月" - -msgid "nov" -msgstr "11月" - -msgid "dec" -msgstr "12月" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "1月" - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "2月" - -msgctxt "abbrev. month" -msgid "March" -msgstr "3月" - -msgctxt "abbrev. month" -msgid "April" -msgstr "4月" - -msgctxt "abbrev. month" -msgid "May" -msgstr "5月" - -msgctxt "abbrev. month" -msgid "June" -msgstr "6月" - -msgctxt "abbrev. month" -msgid "July" -msgstr "7月" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "8月" - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "9月" - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "10月" - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "11月" - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "12月" - -msgctxt "alt. month" -msgid "January" -msgstr "1月" - -msgctxt "alt. month" -msgid "February" -msgstr "2月" - -msgctxt "alt. month" -msgid "March" -msgstr "3月" - -msgctxt "alt. month" -msgid "April" -msgstr "4月" - -msgctxt "alt. month" -msgid "May" -msgstr "5月" - -msgctxt "alt. month" -msgid "June" -msgstr "6月" - -msgctxt "alt. month" -msgid "July" -msgstr "7月" - -msgctxt "alt. month" -msgid "August" -msgstr "8月" - -msgctxt "alt. month" -msgid "September" -msgstr "9月" - -msgctxt "alt. month" -msgid "October" -msgstr "10月" - -msgctxt "alt. month" -msgid "November" -msgstr "11月" - -msgctxt "alt. month" -msgid "December" -msgstr "12月" - -msgid "This is not a valid IPv6 address." -msgstr "これは有効なIPv6アドレスではありません。" - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s…" - -msgid "or" -msgstr "または" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d 年" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d ヶ月" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d 週間" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d 日" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d 時間" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d 分" - -msgid "Forbidden" -msgstr "アクセス禁止" - -msgid "CSRF verification failed. Request aborted." -msgstr "CSRF検証に失敗したため、リクエストは中断されました。" - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" -"このメッセージが表示されている理由は、このHTTPSのサイトはウェブブラウザからリ" -"ファラーヘッダが送信されることを必須としていますが、送信されなかったためで" -"す。このヘッダはセキュリティ上の理由(使用中のブラウザが第三者によってハイ" -"ジャックされていないことを確認するため)で必要です。" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" -"もしブラウザのリファラーヘッダを無効に設定しているならば、HTTPS接続やsame-" -"originリクエストのために、少なくともこのサイトでは再度有効にしてください。" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" -"もし タグを使用しているか " -"“Referrer-Policy: no-referrer” ヘッダを含んでいる場合は削除してください。" -"CSRF プロテクションは、厳密に “Referer” ヘッダが必要です。プライバシーが気に" -"なる場合は などの代替で第三者サイトと接続してくださ" -"い。" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"このメッセージが表示されている理由は、このサイトはフォーム送信時にCSRFクッ" -"キーを必須としているためです。このクッキーはセキュリティ上の理由(使用中のブラ" -"ウザが第三者によってハイジャックされていないことを確認するため)で必要です。" - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" -"もしブラウザのクッキーを無効に設定しているならば、same-originリクエストのため" -"に少なくともこのサイトでは再度有効にしてください。" - -msgid "More information is available with DEBUG=True." -msgstr "詳細な情報は DEBUG=True を設定すると利用できます。" - -msgid "No year specified" -msgstr "年が未指定です" - -msgid "Date out of range" -msgstr "日付が有効範囲外です" - -msgid "No month specified" -msgstr "月が未指定です" - -msgid "No day specified" -msgstr "日が未指定です" - -msgid "No week specified" -msgstr "週が未指定です" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "%(verbose_name_plural)s は利用できません" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"%(class_name)s.allow_futureがFalseであるため、未来の%(verbose_name_plural)sは" -"利用できません。" - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "指定された形式 “%(format)s” では “%(datestr)s” は無効な日付文字列です" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "クエリーに一致する %(verbose_name)s は見つかりませんでした" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "ページが 「最後」ではないか、数値に変換できる値ではありません。" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "無効なページです (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "空の一覧かつ “%(class_name)s.allow_empty” が False です。" - -msgid "Directory indexes are not allowed here." -msgstr "ここではディレクトリインデックスが許可されていません。" - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "“%(path)s” が存在しません" - -#, python-format -msgid "Index of %(directory)s" -msgstr "%(directory)sのディレクトリインデックス" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "Django: 納期を逃さない完璧主義者のためのWebフレームワーク" - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"Django%(version)sのリリースノートを見る。" - -msgid "The install worked successfully! Congratulations!" -msgstr "インストールは成功しました!おめでとうございます!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"このページは、設定ファイルでDEBUG=Trueが指定され、何もURLが設定されていない時に表示されます。" - -msgid "Django Documentation" -msgstr "Django ドキュメント" - -msgid "Topics, references, & how-to’s" -msgstr "トピック、リファレンス、ハウツー" - -msgid "Tutorial: A Polling App" -msgstr "チュートリアル: 投票アプリケーション" - -msgid "Get started with Django" -msgstr "Djangoを始めよう" - -msgid "Django Community" -msgstr "Djangoのコミュニティ" - -msgid "Connect, get help, or contribute" -msgstr "つながり、助け合い、貢献しよう" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ja/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/ja/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ja/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/ja/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 467f7194..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/ja/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ja/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/ja/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 3f030646..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/ja/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ja/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/ja/formats.py deleted file mode 100644 index 2f1faa69..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/ja/formats.py +++ /dev/null @@ -1,21 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'Y年n月j日' -TIME_FORMAT = 'G:i' -DATETIME_FORMAT = 'Y年n月j日G:i' -YEAR_MONTH_FORMAT = 'Y年n月' -MONTH_DAY_FORMAT = 'n月j日' -SHORT_DATE_FORMAT = 'Y/m/d' -SHORT_DATETIME_FORMAT = 'Y/m/d G:i' -# FIRST_DAY_OF_WEEK = - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -# DATE_INPUT_FORMATS = -# TIME_INPUT_FORMATS = -# DATETIME_INPUT_FORMATS = -DECIMAL_SEPARATOR = '.' -THOUSAND_SEPARATOR = ',' -# NUMBER_GROUPING = diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ka/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/ka/LC_MESSAGES/django.mo deleted file mode 100644 index 7cdc3c59..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/ka/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ka/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/ka/LC_MESSAGES/django.po deleted file mode 100644 index 1f342b9b..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/ka/LC_MESSAGES/django.po +++ /dev/null @@ -1,1239 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# André Bouatchidzé , 2013-2015 -# David A. , 2019 -# David A. , 2011 -# Jannis Leidel , 2011 -# Tornike Beradze , 2018 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-27 22:40+0200\n" -"PO-Revision-Date: 2019-11-05 00:38+0000\n" -"Last-Translator: Ramiro Morales\n" -"Language-Team: Georgian (http://www.transifex.com/django/django/language/" -"ka/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ka\n" -"Plural-Forms: nplurals=2; plural=(n!=1);\n" - -msgid "Afrikaans" -msgstr "აფრიკაანსი" - -msgid "Arabic" -msgstr "არაბული" - -msgid "Asturian" -msgstr "ასტურიული" - -msgid "Azerbaijani" -msgstr "აზერბაიჯანული" - -msgid "Bulgarian" -msgstr "ბულგარული" - -msgid "Belarusian" -msgstr "ბელარუსული" - -msgid "Bengali" -msgstr "ბენგალიური" - -msgid "Breton" -msgstr "ბრეტონული" - -msgid "Bosnian" -msgstr "ბოსნიური" - -msgid "Catalan" -msgstr "კატალანური" - -msgid "Czech" -msgstr "ჩეხური" - -msgid "Welsh" -msgstr "უელსური" - -msgid "Danish" -msgstr "დანიური" - -msgid "German" -msgstr "გერმანული" - -msgid "Lower Sorbian" -msgstr "ქვემო სორბული" - -msgid "Greek" -msgstr "ბერძნული" - -msgid "English" -msgstr "ინგლისური" - -msgid "Australian English" -msgstr "ავსტრალიური ინგლისური" - -msgid "British English" -msgstr "ბრიტანეთის ინგლისური" - -msgid "Esperanto" -msgstr "ესპერანტო" - -msgid "Spanish" -msgstr "ესპანური" - -msgid "Argentinian Spanish" -msgstr "არგენტინის ესპანური" - -msgid "Colombian Spanish" -msgstr "კოლუმბიური ესპანური" - -msgid "Mexican Spanish" -msgstr "მექსიკური ესპანური" - -msgid "Nicaraguan Spanish" -msgstr "ნიკარაგუული ესპანური" - -msgid "Venezuelan Spanish" -msgstr "ვენესუელის ესპანური" - -msgid "Estonian" -msgstr "ესტონური" - -msgid "Basque" -msgstr "ბასკური" - -msgid "Persian" -msgstr "სპარსული" - -msgid "Finnish" -msgstr "ფინური" - -msgid "French" -msgstr "ფრანგული" - -msgid "Frisian" -msgstr "ფრისიული" - -msgid "Irish" -msgstr "ირლანდიური" - -msgid "Scottish Gaelic" -msgstr "შოტლანდიური-გელური" - -msgid "Galician" -msgstr "გალიციური" - -msgid "Hebrew" -msgstr "ებრაული" - -msgid "Hindi" -msgstr "ჰინდი" - -msgid "Croatian" -msgstr "ხორვატიული" - -msgid "Upper Sorbian" -msgstr "ზემო სორბიული" - -msgid "Hungarian" -msgstr "უნგრული" - -msgid "Armenian" -msgstr "სომხური" - -msgid "Interlingua" -msgstr "ინტერლინგუა" - -msgid "Indonesian" -msgstr "ინდონეზიური" - -msgid "Ido" -msgstr "იდო" - -msgid "Icelandic" -msgstr "ისლანდიური" - -msgid "Italian" -msgstr "იტალიური" - -msgid "Japanese" -msgstr "იაპონური" - -msgid "Georgian" -msgstr "ქართული" - -msgid "Kabyle" -msgstr "კაბილური" - -msgid "Kazakh" -msgstr "ყაზახური" - -msgid "Khmer" -msgstr "ხმერული" - -msgid "Kannada" -msgstr "კანნადა" - -msgid "Korean" -msgstr "კორეული" - -msgid "Luxembourgish" -msgstr "ლუქსემბურგული" - -msgid "Lithuanian" -msgstr "ლიტვური" - -msgid "Latvian" -msgstr "ლატვიური" - -msgid "Macedonian" -msgstr "მაკედონიური" - -msgid "Malayalam" -msgstr "მალაიზიური" - -msgid "Mongolian" -msgstr "მონღოლური" - -msgid "Marathi" -msgstr "მარათული" - -msgid "Burmese" -msgstr "ბირმული" - -msgid "Norwegian Bokmål" -msgstr "ნორვეგიული Bokmål" - -msgid "Nepali" -msgstr "ნეპალური" - -msgid "Dutch" -msgstr "ჰოლანდიური" - -msgid "Norwegian Nynorsk" -msgstr "ნორვეგიული-ნინორსკი" - -msgid "Ossetic" -msgstr "ოსური" - -msgid "Punjabi" -msgstr "პუნჯაბი" - -msgid "Polish" -msgstr "პოლონური" - -msgid "Portuguese" -msgstr "პორტუგალიური" - -msgid "Brazilian Portuguese" -msgstr "ბრაზილიური პორტუგალიური" - -msgid "Romanian" -msgstr "რუმინული" - -msgid "Russian" -msgstr "რუსული" - -msgid "Slovak" -msgstr "სლოვაკური" - -msgid "Slovenian" -msgstr "სლოვენიური" - -msgid "Albanian" -msgstr "ალბანური" - -msgid "Serbian" -msgstr "სერბული" - -msgid "Serbian Latin" -msgstr "სერბული (ლათინური)" - -msgid "Swedish" -msgstr "შვედური" - -msgid "Swahili" -msgstr "სუაჰილი" - -msgid "Tamil" -msgstr "თამილური" - -msgid "Telugu" -msgstr "ტელუგუ" - -msgid "Thai" -msgstr "ტაი" - -msgid "Turkish" -msgstr "თურქული" - -msgid "Tatar" -msgstr "თათრული" - -msgid "Udmurt" -msgstr "უდმურტული" - -msgid "Ukrainian" -msgstr "უკრაინული" - -msgid "Urdu" -msgstr "ურდუ" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "ვიეტნამური" - -msgid "Simplified Chinese" -msgstr "გამარტივებული ჩინური" - -msgid "Traditional Chinese" -msgstr "ტრადიციული ჩინური" - -msgid "Messages" -msgstr "შეტყობინებები" - -msgid "Site Maps" -msgstr "საიტის რუკები" - -msgid "Static Files" -msgstr "სტატიკური ფაილები" - -msgid "Syndication" -msgstr "სინდიკაცია" - -msgid "That page number is not an integer" -msgstr "გვერდის ნომერი არ არის მთელი რიცხვი" - -msgid "That page number is less than 1" -msgstr "გვერდის ნომერი ნაკლებია 1-ზე" - -msgid "That page contains no results" -msgstr "გვერდი არ შეიცავს მონაცემებს" - -msgid "Enter a valid value." -msgstr "შეიყვანეთ სწორი მნიშვნელობა." - -msgid "Enter a valid URL." -msgstr "შეიყვანეთ სწორი URL." - -msgid "Enter a valid integer." -msgstr "შეიყვანეთ სწორი მთელი რიცხვი." - -msgid "Enter a valid email address." -msgstr "შეიყვანეთ მართებული ელფოსტის მისამართი." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "შეიყვანეთ სწორი IPv4 მისამართი." - -msgid "Enter a valid IPv6 address." -msgstr "შეიყვანეთ მართებული IPv6 მისამართი." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "შეიყვანეთ მართებული IPv4 ან IPv6 მისამართი." - -msgid "Enter only digits separated by commas." -msgstr "შეიყვანეთ მხოლოდ მძიმეებით გამოყოფილი ციფრები." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "მნიშვნელობა უნდა იყოს %(limit_value)s (იგი არის %(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "მნიშვნელობა უნდა იყოს %(limit_value)s-ზე ნაკლები ან ტოლი." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "მნიშვნელობა უნდა იყოს %(limit_value)s-ზე მეტი ან ტოლი." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"მნიშვნელობას უნდა ჰქონდეს სულ ცოტა %(limit_value)d სიმბოლო (მას აქვს " -"%(show_value)d)." -msgstr[1] "" -"მნიშვნელობას უნდა ჰქონდეს სულ ცოტა %(limit_value)d სიმბოლო (მას აქვს " -"%(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"მნიშვნელობას უნდა ჰქონდეს არაუმეტეს %(limit_value)d სიმბოლოსი (მას აქვს " -"%(show_value)d)." -msgstr[1] "" -"მნიშვნელობას უნდა ჰქონდეს არაუმეტეს %(limit_value)d სიმბოლოსი (მას აქვს " -"%(show_value)d)." - -msgid "Enter a number." -msgstr "შეიყვანეთ რიცხვი." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "ციფრების სრული რაოდენობა %(max)s-ს არ უნდა აღემატებოდეს." -msgstr[1] "ციფრების სრული რაოდენობა %(max)s-ს არ უნდა აღემატებოდეს." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "" -"ათობითი გამყოფის შემდეგ ციფრების რაოდენობა %(max)s-ს არ უნდა აღემატებოდეს." -msgstr[1] "" -"ათობითი გამყოფის შემდეგ ციფრების რაოდენობა %(max)s-ს არ უნდა აღემატებოდეს." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -"ათობითი გამყოფის შემდეგ ციფრების რაოდენობა %(max)s-ს არ უნდა აღემატებოდეს." -msgstr[1] "" -"ათობითი გამყოფის წინ ციფრების რაოდენობა %(max)s-ს არ უნდა აღემატებოდეს." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "Null მნიშვნელობები დაუშვებელია." - -msgid "and" -msgstr "და" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "%(model_name)s ამ %(field_labels)s-ით უკვე არსებობს." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "მნიშვნელობა %(value)r არ არის დასაშვები." - -msgid "This field cannot be null." -msgstr "ეს ველი არ შეიძლება იყოს null." - -msgid "This field cannot be blank." -msgstr "ეს ველი არ შეიძლება იყოს ცარიელი." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s მოცემული %(field_label)s-ით უკვე არსებობს." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(field_label)s უნდა იყოს უნიკალური %(date_field_label)s %(lookup_type)s-" -"სთვის." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "ველის ტიპი: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "ლოგიკური (True ან False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "სტრიქონი (%(max_length)s სიმბოლომდე)" - -msgid "Comma-separated integers" -msgstr "მძიმით გამოყოფილი მთელი რიცხვები" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "თარიღი (დროის გარეშე)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "თარიღი (დროსთან ერთად)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "ათობითი რიცხვი" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "ხანგრზლივობა" - -msgid "Email address" -msgstr "ელ. ფოსტის მისამართი" - -msgid "File path" -msgstr "გზა ფაილისაკენ" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "რიცხვი მცოცავი წერტილით" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "მთელი" - -msgid "Big (8 byte) integer" -msgstr "დიდი მთელი (8-ბაიტიანი)" - -msgid "IPv4 address" -msgstr "IPv4 მისამართი" - -msgid "IP address" -msgstr "IP-მისამართი" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "ლოგიკური (True, False ან None)" - -msgid "Positive integer" -msgstr "დადებითი მთელი რიცხვი" - -msgid "Positive small integer" -msgstr "დადებითი პატარა მთელი რიცხვი" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "სლაგი (%(max_length)s-მდე)" - -msgid "Small integer" -msgstr "პატარა მთელი რიცხვი" - -msgid "Text" -msgstr "ტექსტი" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "დრო" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "დაუმუშავებელი ორობითი მონაცემები" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "უნივერსალური უნიკალური იდენტიფიკატორი." - -msgid "File" -msgstr "ფაილი" - -msgid "Image" -msgstr "გამოსახულება" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "" - -msgid "Foreign Key (type determined by related field)" -msgstr "გარე გასაღები (ტიპი განისაზღვრება დაკავშირებული ველის ტიპით)" - -msgid "One-to-one relationship" -msgstr "კავშირი ერთი-ერთტან" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "" - -msgid "Many-to-many relationship" -msgstr "კავშირი მრავალი-მრავალთან" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr "" - -msgid "This field is required." -msgstr "ეს ველი აუცილებელია." - -msgid "Enter a whole number." -msgstr "შეიყვანეთ მთელი რიცხვი" - -msgid "Enter a valid date." -msgstr "შეიყვანეთ სწორი თარიღი." - -msgid "Enter a valid time." -msgstr "შეიყვანეთ სწორი დრო." - -msgid "Enter a valid date/time." -msgstr "შეიყვანეთ სწორი თარიღი და დრო." - -msgid "Enter a valid duration." -msgstr "შეიყვანეთ სწორი დროის პერიოდი." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "" - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "" -"ფაილი არ იყო გამოგზავნილი. შეამოწმეთ კოდირების ტიპი მოცემული ფორმისათვის." - -msgid "No file was submitted." -msgstr "ფაილი არ იყო გამოგზავნილი." - -msgid "The submitted file is empty." -msgstr "გამოგზავნილი ფაილი ცარიელია." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -msgstr[1] "" - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "ან გამოგზავნეთ ფაილი, ან მონიშნეთ \"წაშლის\" დროშა." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"ატვირთეთ დასაშვები გამოსახულება. თქვენს მიერ გამოგზავნილი ფაილი ან არ არის " -"გამოსახულება, ან დაზიანებულია." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "აირჩიეთ დასაშვები მნიშვნელობა. %(value)s დასაშვები არ არის." - -msgid "Enter a list of values." -msgstr "შეიყვანეთ მნიშვნელობების სია." - -msgid "Enter a complete value." -msgstr "შეიყვანეთ სრული მნიშვნელობა." - -msgid "Enter a valid UUID." -msgstr "" - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr "" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(დამალული ველი %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "" -msgstr[1] "" - -msgid "Order" -msgstr "დალაგება" - -msgid "Delete" -msgstr "წავშალოთ" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "გთხოვთ, შეასწოროთ დუბლირებული მონაცემები %(field)s-თვის." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"გთხოვთ, შეასწოროთ დუბლირებული მნიშვნელობა %(field)s ველისთვის, რომელიც უნდა " -"იყოს უნიკალური." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"გთხოვთ, შეასწოროთ დუბლირებული მნიშვნელობა %(field_name)s ველისთვის, რომელიც " -"უნდა იყოს უნიკალური %(lookup)s-ზე, %(date_field)s-თვის." - -msgid "Please correct the duplicate values below." -msgstr "გთხოვთ, შეასწოროთ დუბლირებული მნიშვნელობები." - -msgid "The inline value did not match the parent instance." -msgstr "" - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "აირჩიეთ დასაშვები მნიშვნელობა. ეს არჩევანი დასაშვები არ არის." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "წაშლა" - -msgid "Currently" -msgstr "ამჟამად" - -msgid "Change" -msgstr "შეცვლა" - -msgid "Unknown" -msgstr "გაურკვეველი" - -msgid "Yes" -msgstr "კი" - -msgid "No" -msgstr "არა" - -msgid "Year" -msgstr "" - -msgid "Month" -msgstr "" - -msgid "Day" -msgstr "" - -msgid "yes,no,maybe" -msgstr "კი,არა,შესაძლოა" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d ბაიტი" -msgstr[1] "%(size)d ბაიტი" - -#, python-format -msgid "%s KB" -msgstr "%s კბ" - -#, python-format -msgid "%s MB" -msgstr "%s მბ" - -#, python-format -msgid "%s GB" -msgstr "%s გბ" - -#, python-format -msgid "%s TB" -msgstr "%s ტბ" - -#, python-format -msgid "%s PB" -msgstr "%s პბ" - -msgid "p.m." -msgstr "p.m." - -msgid "a.m." -msgstr "a.m." - -msgid "PM" -msgstr "PM" - -msgid "AM" -msgstr "AM" - -msgid "midnight" -msgstr "შუაღამე" - -msgid "noon" -msgstr "შუადღე" - -msgid "Monday" -msgstr "ორშაბათი" - -msgid "Tuesday" -msgstr "სამშაბათი" - -msgid "Wednesday" -msgstr "ოთხშაბათი" - -msgid "Thursday" -msgstr "ხუთშაბათი" - -msgid "Friday" -msgstr "პარასკევი" - -msgid "Saturday" -msgstr "შაბათი" - -msgid "Sunday" -msgstr "კვირა" - -msgid "Mon" -msgstr "ორშ" - -msgid "Tue" -msgstr "სამ" - -msgid "Wed" -msgstr "ოთხ" - -msgid "Thu" -msgstr "ხუთ" - -msgid "Fri" -msgstr "პარ" - -msgid "Sat" -msgstr "შაბ" - -msgid "Sun" -msgstr "კვრ" - -msgid "January" -msgstr "იანვარი" - -msgid "February" -msgstr "თებერვალი" - -msgid "March" -msgstr "მარტი" - -msgid "April" -msgstr "აპრილი" - -msgid "May" -msgstr "მაისი" - -msgid "June" -msgstr "ივნისი" - -msgid "July" -msgstr "ივლისი" - -msgid "August" -msgstr "აგვისტო" - -msgid "September" -msgstr "სექტემბერი" - -msgid "October" -msgstr "ოქტომბერი" - -msgid "November" -msgstr "ნოემბერი" - -msgid "December" -msgstr "დეკემბერი" - -msgid "jan" -msgstr "იან" - -msgid "feb" -msgstr "თებ" - -msgid "mar" -msgstr "მარ" - -msgid "apr" -msgstr "აპრ" - -msgid "may" -msgstr "მაი" - -msgid "jun" -msgstr "ივნ" - -msgid "jul" -msgstr "ივლ" - -msgid "aug" -msgstr "აგვ" - -msgid "sep" -msgstr "სექ" - -msgid "oct" -msgstr "ოქტ" - -msgid "nov" -msgstr "ნოე" - -msgid "dec" -msgstr "დეკ" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "იან." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "თებ." - -msgctxt "abbrev. month" -msgid "March" -msgstr "მარ." - -msgctxt "abbrev. month" -msgid "April" -msgstr "აპრ." - -msgctxt "abbrev. month" -msgid "May" -msgstr "მაი" - -msgctxt "abbrev. month" -msgid "June" -msgstr "ივნ." - -msgctxt "abbrev. month" -msgid "July" -msgstr "ივლ." - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "აგვ." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "სექტ." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "ოქტ." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "ნოემ." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "დეკ." - -msgctxt "alt. month" -msgid "January" -msgstr "იანვარი" - -msgctxt "alt. month" -msgid "February" -msgstr "თებერვალი" - -msgctxt "alt. month" -msgid "March" -msgstr "მარტი" - -msgctxt "alt. month" -msgid "April" -msgstr "აპრილი" - -msgctxt "alt. month" -msgid "May" -msgstr "მაისი" - -msgctxt "alt. month" -msgid "June" -msgstr "ივნისი" - -msgctxt "alt. month" -msgid "July" -msgstr "ივლისი" - -msgctxt "alt. month" -msgid "August" -msgstr "აგვისტო" - -msgctxt "alt. month" -msgid "September" -msgstr "სექტემბერი" - -msgctxt "alt. month" -msgid "October" -msgstr "ოქტომბერი" - -msgctxt "alt. month" -msgid "November" -msgstr "ნოემბერი" - -msgctxt "alt. month" -msgid "December" -msgstr "დეკემბერი" - -msgid "This is not a valid IPv6 address." -msgstr "ეს არ არის სწორი IPv6 მისამართი." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "" - -msgid "or" -msgstr "ან" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d წელი" -msgstr[1] "%d წელი" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d თვე" -msgstr[1] "%d თვე" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d კვირა" -msgstr[1] "%d კვირა" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d დღე" -msgstr[1] "%d დღე" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d საათი" -msgstr[1] "%d საათი" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d წუთი" -msgstr[1] "%d წუთი" - -msgid "0 minutes" -msgstr "0 წუთი" - -msgid "Forbidden" -msgstr "აკრძალული" - -msgid "CSRF verification failed. Request aborted." -msgstr "" - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "მეტი ინფორმაცია მისაწვდომია DEBUG=True-ს მეშვეობით." - -msgid "No year specified" -msgstr "არ არის მითითებული წელი" - -msgid "Date out of range" -msgstr "" - -msgid "No month specified" -msgstr "არ არის მითითებული თვე" - -msgid "No day specified" -msgstr "არ არის მითითებული დღე" - -msgid "No week specified" -msgstr "არ არის მითითებული კვირა" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "%(verbose_name_plural)s არ არსებობს" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"მომავალი %(verbose_name_plural)s არ არსებობს იმიტომ, რომ %(class_name)s." -"allow_future არის False." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "არ მოიძებნა არცერთი მოთხოვნის თანმხვედრი %(verbose_name)s" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "" - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "%(directory)s-ის იდექსი" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" - -msgid "The install worked successfully! Congratulations!" -msgstr "" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" - -msgid "Django Documentation" -msgstr "" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "" - -msgid "Get started with Django" -msgstr "" - -msgid "Django Community" -msgstr "" - -msgid "Connect, get help, or contribute" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ka/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/ka/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ka/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/ka/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 47823e04..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/ka/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ka/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/ka/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 037a8474..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/ka/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ka/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/ka/formats.py deleted file mode 100644 index 86308e35..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/ka/formats.py +++ /dev/null @@ -1,42 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'l, j F, Y' -TIME_FORMAT = 'h:i a' -DATETIME_FORMAT = 'j F, Y h:i a' -YEAR_MONTH_FORMAT = 'F, Y' -MONTH_DAY_FORMAT = 'j F' -SHORT_DATE_FORMAT = 'j.M.Y' -SHORT_DATETIME_FORMAT = 'j.M.Y H:i' -FIRST_DAY_OF_WEEK = 1 # (Monday) - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -# Kept ISO formats as they are in first position -DATE_INPUT_FORMATS = [ - '%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', # '2006-10-25', '10/25/2006', '10/25/06' - '%d.%m.%Y', '%d.%m.%y', # '25.10.2006', '25.10.06' - # '%d %b %Y', '%d %b, %Y', '%d %b. %Y', # '25 Oct 2006', '25 Oct, 2006', '25 Oct. 2006' - # '%d %B %Y', '%d %B, %Y', # '25 October 2006', '25 October, 2006' -] -DATETIME_INPUT_FORMATS = [ - '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59' - '%Y-%m-%d %H:%M:%S.%f', # '2006-10-25 14:30:59.000200' - '%Y-%m-%d %H:%M', # '2006-10-25 14:30' - '%d.%m.%Y %H:%M:%S', # '25.10.2006 14:30:59' - '%d.%m.%Y %H:%M:%S.%f', # '25.10.2006 14:30:59.000200' - '%d.%m.%Y %H:%M', # '25.10.2006 14:30' - '%d.%m.%y %H:%M:%S', # '25.10.06 14:30:59' - '%d.%m.%y %H:%M:%S.%f', # '25.10.06 14:30:59.000200' - '%d.%m.%y %H:%M', # '25.10.06 14:30' - '%m/%d/%Y %H:%M:%S', # '10/25/2006 14:30:59' - '%m/%d/%Y %H:%M:%S.%f', # '10/25/2006 14:30:59.000200' - '%m/%d/%Y %H:%M', # '10/25/2006 14:30' - '%m/%d/%y %H:%M:%S', # '10/25/06 14:30:59' - '%m/%d/%y %H:%M:%S.%f', # '10/25/06 14:30:59.000200' - '%m/%d/%y %H:%M', # '10/25/06 14:30' -] -DECIMAL_SEPARATOR = '.' -THOUSAND_SEPARATOR = " " -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/kab/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/kab/LC_MESSAGES/django.mo deleted file mode 100644 index 151ed67e..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/kab/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/kab/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/kab/LC_MESSAGES/django.po deleted file mode 100644 index b0f6fa28..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/kab/LC_MESSAGES/django.po +++ /dev/null @@ -1,1211 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-27 22:40+0200\n" -"PO-Revision-Date: 2019-11-05 00:38+0000\n" -"Last-Translator: Ramiro Morales\n" -"Language-Team: Kabyle (http://www.transifex.com/django/django/language/" -"kab/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: kab\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "Afrikaans" -msgstr "Tafrikanst" - -msgid "Arabic" -msgstr "Taɛṛabt" - -msgid "Asturian" -msgstr "Tasturyant" - -msgid "Azerbaijani" -msgstr "Tazeṛbayǧant" - -msgid "Bulgarian" -msgstr "Tabulgarit" - -msgid "Belarusian" -msgstr "Tabilurusit" - -msgid "Bengali" -msgstr "Tabelgalit" - -msgid "Breton" -msgstr "Tabrutunt" - -msgid "Bosnian" -msgstr "Tabusnit" - -msgid "Catalan" -msgstr "Takaṭalant" - -msgid "Czech" -msgstr "Tačikit" - -msgid "Welsh" -msgstr "Takusit" - -msgid "Danish" -msgstr "Tadanit" - -msgid "German" -msgstr "Talmanit" - -msgid "Lower Sorbian" -msgstr "Tasiṛbit n wadda" - -msgid "Greek" -msgstr "Tagrigit" - -msgid "English" -msgstr "Taglizit" - -msgid "Australian English" -msgstr "Taglizit n Ustralya" - -msgid "British English" -msgstr "Taglizit (UK)" - -msgid "Esperanto" -msgstr "Taspirantit" - -msgid "Spanish" -msgstr "Taspanit" - -msgid "Argentinian Spanish" -msgstr "Taspanit n Arjuntin" - -msgid "Colombian Spanish" -msgstr "Taspanit n Kulumbya" - -msgid "Mexican Spanish" -msgstr "Taspanit n Miksik" - -msgid "Nicaraguan Spanish" -msgstr "Taspanit n Nikaragwa" - -msgid "Venezuelan Spanish" -msgstr "Taspanit n Vinizwila" - -msgid "Estonian" -msgstr "Tastunit" - -msgid "Basque" -msgstr "Tabaskit" - -msgid "Persian" -msgstr "Tafarsit" - -msgid "Finnish" -msgstr "Tafinit" - -msgid "French" -msgstr "Tafṛansist" - -msgid "Frisian" -msgstr "" - -msgid "Irish" -msgstr "" - -msgid "Scottish Gaelic" -msgstr "" - -msgid "Galician" -msgstr "" - -msgid "Hebrew" -msgstr "" - -msgid "Hindi" -msgstr "Tahendit" - -msgid "Croatian" -msgstr "Takarwasit" - -msgid "Upper Sorbian" -msgstr "" - -msgid "Hungarian" -msgstr "Tahungarit" - -msgid "Armenian" -msgstr "" - -msgid "Interlingua" -msgstr "" - -msgid "Indonesian" -msgstr "Tandunizit" - -msgid "Ido" -msgstr "" - -msgid "Icelandic" -msgstr "Taslandit" - -msgid "Italian" -msgstr "Taṭelyanit" - -msgid "Japanese" -msgstr "" - -msgid "Georgian" -msgstr "Tajyuṛjit" - -msgid "Kabyle" -msgstr "" - -msgid "Kazakh" -msgstr "Takazaxt" - -msgid "Khmer" -msgstr "" - -msgid "Kannada" -msgstr "Takannadat" - -msgid "Korean" -msgstr "Takurit" - -msgid "Luxembourgish" -msgstr "" - -msgid "Lithuanian" -msgstr "Talitwanit" - -msgid "Latvian" -msgstr "Talitunit" - -msgid "Macedonian" -msgstr "Tamasidunit" - -msgid "Malayalam" -msgstr "Tamayalamt" - -msgid "Mongolian" -msgstr "" - -msgid "Marathi" -msgstr "" - -msgid "Burmese" -msgstr "Tabirmanit" - -msgid "Norwegian Bokmål" -msgstr "" - -msgid "Nepali" -msgstr "Tanipalit" - -msgid "Dutch" -msgstr "Tahulandit" - -msgid "Norwegian Nynorsk" -msgstr "" - -msgid "Ossetic" -msgstr "" - -msgid "Punjabi" -msgstr "Tabenjabit" - -msgid "Polish" -msgstr "Tapulandit" - -msgid "Portuguese" -msgstr "Tapurtugit" - -msgid "Brazilian Portuguese" -msgstr "" - -msgid "Romanian" -msgstr "Tarumanit" - -msgid "Russian" -msgstr "Tarusit" - -msgid "Slovak" -msgstr "Tasluvakt" - -msgid "Slovenian" -msgstr "" - -msgid "Albanian" -msgstr "Talbanit" - -msgid "Serbian" -msgstr "Tasiṛbit" - -msgid "Serbian Latin" -msgstr "" - -msgid "Swedish" -msgstr "Taswidit" - -msgid "Swahili" -msgstr "Taswahilit" - -msgid "Tamil" -msgstr "Taṭamult" - -msgid "Telugu" -msgstr "" - -msgid "Thai" -msgstr "" - -msgid "Turkish" -msgstr "Taṭurkit" - -msgid "Tatar" -msgstr "" - -msgid "Udmurt" -msgstr "" - -msgid "Ukrainian" -msgstr "" - -msgid "Urdu" -msgstr "" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "" - -msgid "Simplified Chinese" -msgstr "" - -msgid "Traditional Chinese" -msgstr "" - -msgid "Messages" -msgstr "Iznan" - -msgid "Site Maps" -msgstr "" - -msgid "Static Files" -msgstr "" - -msgid "Syndication" -msgstr "" - -msgid "That page number is not an integer" -msgstr "" - -msgid "That page number is less than 1" -msgstr "" - -msgid "That page contains no results" -msgstr "" - -msgid "Enter a valid value." -msgstr "Sekcem azal ameɣtu." - -msgid "Enter a valid URL." -msgstr "" - -msgid "Enter a valid integer." -msgstr "" - -msgid "Enter a valid email address." -msgstr "Sekcem tansa imayl tameɣtut." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "Sekcem tansa IPv4 tameɣtut." - -msgid "Enter a valid IPv6 address." -msgstr "" - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "" - -msgid "Enter only digits separated by commas." -msgstr "" - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "" - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "" - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" - -msgid "Enter a number." -msgstr "Sekcem amḍan." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "" - -msgid "and" -msgstr "akked" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "" - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "" - -msgid "This field cannot be null." -msgstr "" - -msgid "This field cannot be blank." -msgstr "" - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "" - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "" - -msgid "Comma-separated integers" -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "Azemz (s wakud)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "Tanzagt" - -msgid "Email address" -msgstr "Tansa email" - -msgid "File path" -msgstr "Abrid n ufaylu" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "Ummid" - -msgid "Big (8 byte) integer" -msgstr "" - -msgid "IPv4 address" -msgstr "" - -msgid "IP address" -msgstr "Tansa IP" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "" - -msgid "Positive integer" -msgstr "" - -msgid "Positive small integer" -msgstr "" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "" - -msgid "Small integer" -msgstr "" - -msgid "Text" -msgstr "Aḍris" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "Akud" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "" - -msgid "File" -msgstr "Afaylu" - -msgid "Image" -msgstr "Tugna" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "" - -msgid "Foreign Key (type determined by related field)" -msgstr "" - -msgid "One-to-one relationship" -msgstr "" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "" - -msgid "Many-to-many relationship" -msgstr "" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "" - -msgid "Enter a whole number." -msgstr "Sekcem amḍan ummid." - -msgid "Enter a valid date." -msgstr "" - -msgid "Enter a valid time." -msgstr "" - -msgid "Enter a valid date/time." -msgstr "" - -msgid "Enter a valid duration." -msgstr "" - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "" - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "" - -msgid "No file was submitted." -msgstr "Afaylu ur yettwazen ara." - -msgid "The submitted file is empty." -msgstr "" - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -msgstr[1] "" - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "" - -msgid "Enter a list of values." -msgstr "" - -msgid "Enter a complete value." -msgstr "Sekcem azal ummid." - -msgid "Enter a valid UUID." -msgstr "" - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "" -msgstr[1] "" - -msgid "Order" -msgstr "Amizwer" - -msgid "Delete" -msgstr "KKES" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "" - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" - -msgid "Please correct the duplicate values below." -msgstr "" - -msgid "The inline value did not match the parent instance." -msgstr "" - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "Sfeḍ" - -msgid "Currently" -msgstr "Tura" - -msgid "Change" -msgstr "Beddel" - -msgid "Unknown" -msgstr "Arussin" - -msgid "Yes" -msgstr "Ih" - -msgid "No" -msgstr "Uhu" - -msgid "Year" -msgstr "" - -msgid "Month" -msgstr "" - -msgid "Day" -msgstr "" - -msgid "yes,no,maybe" -msgstr "" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%s KB" -msgstr "%s KAṬ" - -#, python-format -msgid "%s MB" -msgstr "%s MAṬ" - -#, python-format -msgid "%s GB" -msgstr "%s GAṬ" - -#, python-format -msgid "%s TB" -msgstr "%s TAṬ" - -#, python-format -msgid "%s PB" -msgstr "%s PAṬ" - -msgid "p.m." -msgstr "m.d." - -msgid "a.m." -msgstr "f.t." - -msgid "PM" -msgstr "MD" - -msgid "AM" -msgstr "FT" - -msgid "midnight" -msgstr "ttnaṣfa n yiḍ" - -msgid "noon" -msgstr "ttnaṣfa n uzal" - -msgid "Monday" -msgstr "Arim" - -msgid "Tuesday" -msgstr "Aram" - -msgid "Wednesday" -msgstr "Ahad" - -msgid "Thursday" -msgstr "Amhad" - -msgid "Friday" -msgstr "Sem" - -msgid "Saturday" -msgstr "Sed" - -msgid "Sunday" -msgstr "Acer" - -msgid "Mon" -msgstr "Ari" - -msgid "Tue" -msgstr "Ara" - -msgid "Wed" -msgstr "Aha" - -msgid "Thu" -msgstr "Amh" - -msgid "Fri" -msgstr "Sem" - -msgid "Sat" -msgstr "Sed" - -msgid "Sun" -msgstr "Ace" - -msgid "January" -msgstr "Yennayer" - -msgid "February" -msgstr "Fuṛaṛ" - -msgid "March" -msgstr "Meɣres" - -msgid "April" -msgstr "Yebrir" - -msgid "May" -msgstr "Mayyu" - -msgid "June" -msgstr "Yunyu" - -msgid "July" -msgstr "Yulyu" - -msgid "August" -msgstr "Ɣuct" - -msgid "September" -msgstr "Ctamber" - -msgid "October" -msgstr "Tuber" - -msgid "November" -msgstr "Wamber" - -msgid "December" -msgstr "Dujamber" - -msgid "jan" -msgstr "yen" - -msgid "feb" -msgstr "fuṛ" - -msgid "mar" -msgstr "meɣ" - -msgid "apr" -msgstr "yeb" - -msgid "may" -msgstr "may" - -msgid "jun" -msgstr "yun" - -msgid "jul" -msgstr "yul" - -msgid "aug" -msgstr "ɣuc" - -msgid "sep" -msgstr "cte" - -msgid "oct" -msgstr "tub" - -msgid "nov" -msgstr "wam" - -msgid "dec" -msgstr "duj" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Yen." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Fuṛ." - -msgctxt "abbrev. month" -msgid "March" -msgstr "Meɣres" - -msgctxt "abbrev. month" -msgid "April" -msgstr "Yebrir" - -msgctxt "abbrev. month" -msgid "May" -msgstr "Mayyu" - -msgctxt "abbrev. month" -msgid "June" -msgstr "Yunyu" - -msgctxt "abbrev. month" -msgid "July" -msgstr "Yulyu" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Ɣuc." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "" - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Tub." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Wam." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Duj." - -msgctxt "alt. month" -msgid "January" -msgstr "Yennayer" - -msgctxt "alt. month" -msgid "February" -msgstr "Fuṛaṛ" - -msgctxt "alt. month" -msgid "March" -msgstr "Meɣres" - -msgctxt "alt. month" -msgid "April" -msgstr "Yebrir" - -msgctxt "alt. month" -msgid "May" -msgstr "Mayyu" - -msgctxt "alt. month" -msgid "June" -msgstr "Yunyu" - -msgctxt "alt. month" -msgid "July" -msgstr "Yulyu" - -msgctxt "alt. month" -msgid "August" -msgstr "Ɣuct" - -msgctxt "alt. month" -msgid "September" -msgstr "Ctamber" - -msgctxt "alt. month" -msgid "October" -msgstr "Tuber" - -msgctxt "alt. month" -msgid "November" -msgstr "Wamber" - -msgctxt "alt. month" -msgid "December" -msgstr "Dujamber" - -msgid "This is not a valid IPv6 address." -msgstr "" - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "" - -msgid "or" -msgstr "neɣ" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "" -msgstr[1] "" - -msgid "0 minutes" -msgstr "0 n tisdatin" - -msgid "Forbidden" -msgstr "Yegdel" - -msgid "CSRF verification failed. Request aborted." -msgstr "" - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "" - -msgid "No year specified" -msgstr "" - -msgid "Date out of range" -msgstr "" - -msgid "No month specified" -msgstr "" - -msgid "No day specified" -msgstr "" - -msgid "No week specified" -msgstr "" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "" - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" - -msgid "The install worked successfully! Congratulations!" -msgstr "" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" - -msgid "Django Documentation" -msgstr "" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "" - -msgid "Get started with Django" -msgstr "Bdu s Django" - -msgid "Django Community" -msgstr "" - -msgid "Connect, get help, or contribute" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/kk/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/kk/LC_MESSAGES/django.mo deleted file mode 100644 index 38300b20..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/kk/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/kk/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/kk/LC_MESSAGES/django.po deleted file mode 100644 index 2858be06..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/kk/LC_MESSAGES/django.po +++ /dev/null @@ -1,1223 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Baurzhan Muftakhidinov , 2015 -# Zharzhan Kulmyrza , 2011 -# Leo Trubach , 2017 -# Nurlan Rakhimzhanov , 2011 -# yun_man_ger , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-27 22:40+0200\n" -"PO-Revision-Date: 2019-11-05 00:38+0000\n" -"Last-Translator: Ramiro Morales\n" -"Language-Team: Kazakh (http://www.transifex.com/django/django/language/kk/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: kk\n" -"Plural-Forms: nplurals=2; plural=(n!=1);\n" - -msgid "Afrikaans" -msgstr "" - -msgid "Arabic" -msgstr "Араб" - -msgid "Asturian" -msgstr "" - -msgid "Azerbaijani" -msgstr "Әзірбайжан" - -msgid "Bulgarian" -msgstr "Болгар" - -msgid "Belarusian" -msgstr "" - -msgid "Bengali" -msgstr "Бенгал" - -msgid "Breton" -msgstr "" - -msgid "Bosnian" -msgstr "Босния" - -msgid "Catalan" -msgstr "Каталан" - -msgid "Czech" -msgstr "Чех" - -msgid "Welsh" -msgstr "Валлий" - -msgid "Danish" -msgstr "Дания" - -msgid "German" -msgstr "Неміс" - -msgid "Lower Sorbian" -msgstr "" - -msgid "Greek" -msgstr "Грек" - -msgid "English" -msgstr "Ағылшын" - -msgid "Australian English" -msgstr "" - -msgid "British English" -msgstr "Британдық ағылшын" - -msgid "Esperanto" -msgstr "" - -msgid "Spanish" -msgstr "Испан" - -msgid "Argentinian Spanish" -msgstr "Аргентиналық испан" - -msgid "Colombian Spanish" -msgstr "" - -msgid "Mexican Spanish" -msgstr "Мексикалық испан" - -msgid "Nicaraguan Spanish" -msgstr "Никарагуа испан" - -msgid "Venezuelan Spanish" -msgstr "" - -msgid "Estonian" -msgstr "Эстон" - -msgid "Basque" -msgstr "Баск" - -msgid "Persian" -msgstr "Парсы" - -msgid "Finnish" -msgstr "Фин" - -msgid "French" -msgstr "Француз" - -msgid "Frisian" -msgstr "Фриз" - -msgid "Irish" -msgstr "Ирландия" - -msgid "Scottish Gaelic" -msgstr "" - -msgid "Galician" -msgstr "Галиц" - -msgid "Hebrew" -msgstr "Иврит" - -msgid "Hindi" -msgstr "Хинди" - -msgid "Croatian" -msgstr "Кроат" - -msgid "Upper Sorbian" -msgstr "" - -msgid "Hungarian" -msgstr "Венгрия" - -msgid "Armenian" -msgstr "" - -msgid "Interlingua" -msgstr "" - -msgid "Indonesian" -msgstr "Индонезия" - -msgid "Ido" -msgstr "" - -msgid "Icelandic" -msgstr "Исладия" - -msgid "Italian" -msgstr "Итальян" - -msgid "Japanese" -msgstr "Жапон" - -msgid "Georgian" -msgstr "Грузин" - -msgid "Kabyle" -msgstr "" - -msgid "Kazakh" -msgstr "Қазақша" - -msgid "Khmer" -msgstr "Кхмер" - -msgid "Kannada" -msgstr "Канада" - -msgid "Korean" -msgstr "Корей" - -msgid "Luxembourgish" -msgstr "" - -msgid "Lithuanian" -msgstr "Литва" - -msgid "Latvian" -msgstr "Латвия" - -msgid "Macedonian" -msgstr "Македон" - -msgid "Malayalam" -msgstr "Малаялам" - -msgid "Mongolian" -msgstr "Монғол" - -msgid "Marathi" -msgstr "" - -msgid "Burmese" -msgstr "" - -msgid "Norwegian Bokmål" -msgstr "" - -msgid "Nepali" -msgstr "" - -msgid "Dutch" -msgstr "Голланд" - -msgid "Norwegian Nynorsk" -msgstr "Норвегиялық нюнор" - -msgid "Ossetic" -msgstr "" - -msgid "Punjabi" -msgstr "Пенджаб" - -msgid "Polish" -msgstr "Поляк" - -msgid "Portuguese" -msgstr "Португал" - -msgid "Brazilian Portuguese" -msgstr "Бразилиялық португал" - -msgid "Romanian" -msgstr "Роман" - -msgid "Russian" -msgstr "Орыс" - -msgid "Slovak" -msgstr "Словак" - -msgid "Slovenian" -msgstr "Словениялық" - -msgid "Albanian" -msgstr "Албан" - -msgid "Serbian" -msgstr "Серб" - -msgid "Serbian Latin" -msgstr "Сербиялық латын" - -msgid "Swedish" -msgstr "Швед" - -msgid "Swahili" -msgstr "" - -msgid "Tamil" -msgstr "Тамиль" - -msgid "Telugu" -msgstr "Телугу" - -msgid "Thai" -msgstr "Тай" - -msgid "Turkish" -msgstr "Түрік" - -msgid "Tatar" -msgstr "" - -msgid "Udmurt" -msgstr "" - -msgid "Ukrainian" -msgstr "Украин" - -msgid "Urdu" -msgstr "Урду" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "Вьетнам" - -msgid "Simplified Chinese" -msgstr "Жеңілдетілген қытай" - -msgid "Traditional Chinese" -msgstr "Дәстүрлі қытай" - -msgid "Messages" -msgstr "" - -msgid "Site Maps" -msgstr "" - -msgid "Static Files" -msgstr "" - -msgid "Syndication" -msgstr "" - -msgid "That page number is not an integer" -msgstr "" - -msgid "That page number is less than 1" -msgstr "" - -msgid "That page contains no results" -msgstr "" - -msgid "Enter a valid value." -msgstr "Тура мәнін енгізіңіз." - -msgid "Enter a valid URL." -msgstr "Тура URL-ді енгізіңіз." - -msgid "Enter a valid integer." -msgstr "" - -msgid "Enter a valid email address." -msgstr "" - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "Тура IPv4 адресті енгізіңіз." - -msgid "Enter a valid IPv6 address." -msgstr "" - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "" - -msgid "Enter only digits separated by commas." -msgstr "Тек үтірлермен бөлінген цифрлерді енгізіңіз." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" -"Бұл мәннің %(limit_value)s екендігін тексеріңіз (қазір ол %(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "" -"Бұл мәннің мынадан %(limit_value)s кіші немесе тең екендігін тексеріңіз." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "" -"Бұл мәннің мынадан %(limit_value)s үлкен немесе тең екендігін тексеріңіз." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" - -msgid "Enter a number." -msgstr "Сан енгізіңіз." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "" - -msgid "and" -msgstr "және" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "" - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "" - -msgid "This field cannot be null." -msgstr "Бұл жолақ null болмау керек." - -msgid "This field cannot be blank." -msgstr "Бұл жолақ бос болмау керек." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s %(field_label)s жолақпен бұрыннан бар." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Жолақтын түрі: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "Boolean (True немесе False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Жол (%(max_length)s символға дейін)" - -msgid "Comma-separated integers" -msgstr "Үтірмен бөлінген бүтін сандар" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "Дата (уақытсыз)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "Дата (уақытпен)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "Ондық сан" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "" - -msgid "Email address" -msgstr "Email адрес" - -msgid "File path" -msgstr "Файл жолы" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "Реал сан" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "Бүтін сан" - -msgid "Big (8 byte) integer" -msgstr "Ұзын (8 байт) бүтін сан" - -msgid "IPv4 address" -msgstr "" - -msgid "IP address" -msgstr "IP мекенжайы" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "Булеан (True, False немесе None)" - -msgid "Positive integer" -msgstr "" - -msgid "Positive small integer" -msgstr "" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "" - -msgid "Small integer" -msgstr "" - -msgid "Text" -msgstr "Мәтін" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "Уақыт" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "" - -msgid "File" -msgstr "" - -msgid "Image" -msgstr "" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "" - -msgid "Foreign Key (type determined by related field)" -msgstr "Foreign Key (тип related field арқылы анықталады)" - -msgid "One-to-one relationship" -msgstr "One-to-one қатынас" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "" - -msgid "Many-to-many relationship" -msgstr "Many-to-many қатынас" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr "" - -msgid "This field is required." -msgstr "Бұл өрісті толтыру міндетті." - -msgid "Enter a whole number." -msgstr "Толық санды енгізіңіз." - -msgid "Enter a valid date." -msgstr "Дұрыс күнді енгізіңіз." - -msgid "Enter a valid time." -msgstr "Дұрыс уақытты енгізіңіз." - -msgid "Enter a valid date/time." -msgstr "Дұрыс күнді/уақытты енгізіңіз." - -msgid "Enter a valid duration." -msgstr "" - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "" - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Ешқандай файл жіберілмеді. Форманың кодтау түрін тексеріңіз." - -msgid "No file was submitted." -msgstr "Ешқандай файл жіберілмеді." - -msgid "The submitted file is empty." -msgstr "Бос файл жіберілді." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -msgstr[1] "" - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "Файлды жіберіңіз немесе тазалауды белгіленіз, екеуін бірге емес." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Дұрыс сүретті жүктеңіз. Сіз жүктеген файл - сүрет емес немесе бұзылған сүрет." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "Дұрыс тандау жасаңыз. %(value)s дұрыс тандау емес." - -msgid "Enter a list of values." -msgstr "Мәндер тізімін енгізіңіз." - -msgid "Enter a complete value." -msgstr "" - -msgid "Enter a valid UUID." -msgstr "" - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr "" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "" -msgstr[1] "" - -msgid "Order" -msgstr "Сұрыптау" - -msgid "Delete" -msgstr "Жою" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "%(field)s жолақтағы қайталанған мәнді түзетіңіз." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "%(field)s жолақтағы мәнді түзетіңіз, ол бірегей болу керек." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"%(field_name)s жолақтағы мәнді түзетіңіз. Ол %(date_field)s жолақтың ішінде " -"%(lookup)s үшін бірегей болу керек." - -msgid "Please correct the duplicate values below." -msgstr "Қайталанатын мәндерді түзетіңіз." - -msgid "The inline value did not match the parent instance." -msgstr "" - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "Дұрыс нұсқаны таңдаңыз. Бұл нұсқа дұрыс таңдаулардың арасында жоқ." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "Тазалау" - -msgid "Currently" -msgstr "Ағымдағы" - -msgid "Change" -msgstr "Түзету" - -msgid "Unknown" -msgstr "Белгісіз" - -msgid "Yes" -msgstr "Иә" - -msgid "No" -msgstr "Жоқ" - -msgid "Year" -msgstr "" - -msgid "Month" -msgstr "" - -msgid "Day" -msgstr "" - -msgid "yes,no,maybe" -msgstr "иә,жоқ,мүмкін" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d байт" -msgstr[1] "%(size)d байт" - -#, python-format -msgid "%s KB" -msgstr "%s КБ" - -#, python-format -msgid "%s MB" -msgstr "%s МБ" - -#, python-format -msgid "%s GB" -msgstr "%s ГБ" - -#, python-format -msgid "%s TB" -msgstr "%s ТБ" - -#, python-format -msgid "%s PB" -msgstr "%s ПБ" - -msgid "p.m." -msgstr "Т.Қ." - -msgid "a.m." -msgstr "Т.Ж." - -msgid "PM" -msgstr "ТҚ" - -msgid "AM" -msgstr "ТЖ" - -msgid "midnight" -msgstr "түнжарым" - -msgid "noon" -msgstr "түсқайта" - -msgid "Monday" -msgstr "Дүйсенбі" - -msgid "Tuesday" -msgstr "Сейсенбі" - -msgid "Wednesday" -msgstr "Сәрсенбі" - -msgid "Thursday" -msgstr "Бейсенбі" - -msgid "Friday" -msgstr "Жума" - -msgid "Saturday" -msgstr "Сенбі" - -msgid "Sunday" -msgstr "Жексенбі" - -msgid "Mon" -msgstr "Дб" - -msgid "Tue" -msgstr "Сб" - -msgid "Wed" -msgstr "Ср" - -msgid "Thu" -msgstr "Бс" - -msgid "Fri" -msgstr "Жм" - -msgid "Sat" -msgstr "Сн" - -msgid "Sun" -msgstr "Жк" - -msgid "January" -msgstr "Қаңтар" - -msgid "February" -msgstr "Ақпан" - -msgid "March" -msgstr "Наурыз" - -msgid "April" -msgstr "Сәуір" - -msgid "May" -msgstr "Мамыр" - -msgid "June" -msgstr "Маусым" - -msgid "July" -msgstr "Шілде" - -msgid "August" -msgstr "Тамыз" - -msgid "September" -msgstr "Қыркүйек" - -msgid "October" -msgstr "Қазан" - -msgid "November" -msgstr "Қараша" - -msgid "December" -msgstr "Желтоқсан" - -msgid "jan" -msgstr "қан" - -msgid "feb" -msgstr "ақп" - -msgid "mar" -msgstr "нау" - -msgid "apr" -msgstr "сәу" - -msgid "may" -msgstr "мам" - -msgid "jun" -msgstr "мау" - -msgid "jul" -msgstr "шіл" - -msgid "aug" -msgstr "там" - -msgid "sep" -msgstr "қыр" - -msgid "oct" -msgstr "қаз" - -msgid "nov" -msgstr "қар" - -msgid "dec" -msgstr "жел" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Қаң." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Ақп." - -msgctxt "abbrev. month" -msgid "March" -msgstr "Наурыз" - -msgctxt "abbrev. month" -msgid "April" -msgstr "Сәуір" - -msgctxt "abbrev. month" -msgid "May" -msgstr "Мамыр" - -msgctxt "abbrev. month" -msgid "June" -msgstr "Маусым" - -msgctxt "abbrev. month" -msgid "July" -msgstr "Шілде" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Там." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Қыр." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Қаз." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Қар." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Жел." - -msgctxt "alt. month" -msgid "January" -msgstr "Қаңтар" - -msgctxt "alt. month" -msgid "February" -msgstr "Ақпан" - -msgctxt "alt. month" -msgid "March" -msgstr "Наурыз" - -msgctxt "alt. month" -msgid "April" -msgstr "Сәуір" - -msgctxt "alt. month" -msgid "May" -msgstr "Мамыр" - -msgctxt "alt. month" -msgid "June" -msgstr "Маусым" - -msgctxt "alt. month" -msgid "July" -msgstr "Шілде" - -msgctxt "alt. month" -msgid "August" -msgstr "Тамыз" - -msgctxt "alt. month" -msgid "September" -msgstr "Қыркүйек" - -msgctxt "alt. month" -msgid "October" -msgstr "Қазан" - -msgctxt "alt. month" -msgid "November" -msgstr "Қараша" - -msgctxt "alt. month" -msgid "December" -msgstr "Желтоқсан" - -msgid "This is not a valid IPv6 address." -msgstr "" - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "" - -msgid "or" -msgstr "немесе" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "" -msgstr[1] "" - -msgid "0 minutes" -msgstr "" - -msgid "Forbidden" -msgstr "" - -msgid "CSRF verification failed. Request aborted." -msgstr "" - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "" - -msgid "No year specified" -msgstr "Жыл таңдалмаған" - -msgid "Date out of range" -msgstr "" - -msgid "No month specified" -msgstr "Ай таңдалмаған" - -msgid "No day specified" -msgstr "Күн таңдалмаған" - -msgid "No week specified" -msgstr "Апта таңдалмаған" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "%(verbose_name_plural)s қол жеткізгісіз" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"Болашақ %(verbose_name_plural)s қол жеткізгісіз, себебі %(class_name)s." -"allow_future False." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "%(verbose_name)s табылған жоқ" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "" - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" - -msgid "The install worked successfully! Congratulations!" -msgstr "" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" - -msgid "Django Documentation" -msgstr "" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "" - -msgid "Get started with Django" -msgstr "" - -msgid "Django Community" -msgstr "" - -msgid "Connect, get help, or contribute" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/km/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/km/LC_MESSAGES/django.mo deleted file mode 100644 index 3de6c806..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/km/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/km/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/km/LC_MESSAGES/django.po deleted file mode 100644 index c706129c..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/km/LC_MESSAGES/django.po +++ /dev/null @@ -1,1196 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Jannis Leidel , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-27 22:40+0200\n" -"PO-Revision-Date: 2019-11-05 00:38+0000\n" -"Last-Translator: Ramiro Morales\n" -"Language-Team: Khmer (http://www.transifex.com/django/django/language/km/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: km\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -msgid "Afrikaans" -msgstr "" - -msgid "Arabic" -msgstr "ភាសាអារ៉ាប់" - -msgid "Asturian" -msgstr "" - -msgid "Azerbaijani" -msgstr "" - -msgid "Bulgarian" -msgstr "" - -msgid "Belarusian" -msgstr "" - -msgid "Bengali" -msgstr "ភាសាបេឡារុស្ស" - -msgid "Breton" -msgstr "" - -msgid "Bosnian" -msgstr "" - -msgid "Catalan" -msgstr "" - -msgid "Czech" -msgstr "ភាសាឆេក" - -msgid "Welsh" -msgstr "ភាសាអ៊ុយក្រែន" - -msgid "Danish" -msgstr "ភាសាដាណឺម៉ាក" - -msgid "German" -msgstr "ភាសាអាល្លឺម៉ង់" - -msgid "Lower Sorbian" -msgstr "" - -msgid "Greek" -msgstr "ភាសាហ្កែលិគ" - -msgid "English" -msgstr "ភាសាអង់គ្លេស" - -msgid "Australian English" -msgstr "" - -msgid "British English" -msgstr "" - -msgid "Esperanto" -msgstr "" - -msgid "Spanish" -msgstr "ភាសាអេស្ប៉ាញ" - -msgid "Argentinian Spanish" -msgstr "" - -msgid "Colombian Spanish" -msgstr "" - -msgid "Mexican Spanish" -msgstr "" - -msgid "Nicaraguan Spanish" -msgstr "" - -msgid "Venezuelan Spanish" -msgstr "" - -msgid "Estonian" -msgstr "" - -msgid "Basque" -msgstr "" - -msgid "Persian" -msgstr "" - -msgid "Finnish" -msgstr "ភាសាហ្វាំងឡង់" - -msgid "French" -msgstr "ភាសាបារាំង" - -msgid "Frisian" -msgstr "" - -msgid "Irish" -msgstr "" - -msgid "Scottish Gaelic" -msgstr "" - -msgid "Galician" -msgstr "ភាសាហ្កែលិគ" - -msgid "Hebrew" -msgstr "ភាសាហេប្រិ" - -msgid "Hindi" -msgstr "" - -msgid "Croatian" -msgstr "" - -msgid "Upper Sorbian" -msgstr "" - -msgid "Hungarian" -msgstr "ភាសាហុងគ្រី" - -msgid "Armenian" -msgstr "" - -msgid "Interlingua" -msgstr "" - -msgid "Indonesian" -msgstr "" - -msgid "Ido" -msgstr "" - -msgid "Icelandic" -msgstr "ភាសាអ៉ីស្លង់" - -msgid "Italian" -msgstr "ភាសាអ៊ីតាលី" - -msgid "Japanese" -msgstr "ភាសាជប៉ុន" - -msgid "Georgian" -msgstr "" - -msgid "Kabyle" -msgstr "" - -msgid "Kazakh" -msgstr "" - -msgid "Khmer" -msgstr "" - -msgid "Kannada" -msgstr "" - -msgid "Korean" -msgstr "" - -msgid "Luxembourgish" -msgstr "" - -msgid "Lithuanian" -msgstr "" - -msgid "Latvian" -msgstr "" - -msgid "Macedonian" -msgstr "" - -msgid "Malayalam" -msgstr "" - -msgid "Mongolian" -msgstr "" - -msgid "Marathi" -msgstr "" - -msgid "Burmese" -msgstr "" - -msgid "Norwegian Bokmål" -msgstr "" - -msgid "Nepali" -msgstr "" - -msgid "Dutch" -msgstr "ភាសាហ្វាំងឡង់" - -msgid "Norwegian Nynorsk" -msgstr "" - -msgid "Ossetic" -msgstr "" - -msgid "Punjabi" -msgstr "" - -msgid "Polish" -msgstr "" - -msgid "Portuguese" -msgstr "" - -msgid "Brazilian Portuguese" -msgstr "" - -msgid "Romanian" -msgstr "ភាសារូម៉ានី" - -msgid "Russian" -msgstr "ភាសាรัរូស្ស៉ី" - -msgid "Slovak" -msgstr "ភាសាស្លូវ៉ាគី" - -msgid "Slovenian" -msgstr "ភាសាស្លូវ៉ានី" - -msgid "Albanian" -msgstr "" - -msgid "Serbian" -msgstr "" - -msgid "Serbian Latin" -msgstr "" - -msgid "Swedish" -msgstr "ភាសាស៊ុយអែដ" - -msgid "Swahili" -msgstr "" - -msgid "Tamil" -msgstr "ភាសាតាមីល" - -msgid "Telugu" -msgstr "" - -msgid "Thai" -msgstr "" - -msgid "Turkish" -msgstr "ភាសាទួរគី" - -msgid "Tatar" -msgstr "" - -msgid "Udmurt" -msgstr "" - -msgid "Ukrainian" -msgstr "ភាសាអ៊ុយក្រែន" - -msgid "Urdu" -msgstr "" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "" - -msgid "Simplified Chinese" -msgstr "ភាសាចិនសាមញ្ញ" - -msgid "Traditional Chinese" -msgstr "ភាសាចិនបុរាណ" - -msgid "Messages" -msgstr "" - -msgid "Site Maps" -msgstr "" - -msgid "Static Files" -msgstr "" - -msgid "Syndication" -msgstr "" - -msgid "That page number is not an integer" -msgstr "" - -msgid "That page number is less than 1" -msgstr "" - -msgid "That page contains no results" -msgstr "" - -msgid "Enter a valid value." -msgstr "" - -msgid "Enter a valid URL." -msgstr "" - -msgid "Enter a valid integer." -msgstr "" - -msgid "Enter a valid email address." -msgstr "" - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "" - -msgid "Enter a valid IPv6 address." -msgstr "" - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "" - -msgid "Enter only digits separated by commas." -msgstr "បំពេញតែលេខហើយផ្តាច់ចេញពីគ្នាដោយសញ្ញាក្បៀស។" - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "" - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "" - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" - -msgid "Enter a number." -msgstr "" - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "" - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "" - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "" - -msgid "and" -msgstr "និង" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "" - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "" - -msgid "This field cannot be null." -msgstr "ចាំបាច់បំពេញទិន្នន័យកន្លែងនេះ។" - -msgid "This field cannot be blank." -msgstr "" - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "" - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "Boolean (អាច​ជា True រឺ False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "" - -msgid "Comma-separated integers" -msgstr "ចំនួនពិត(Integer) ដែលផ្តាច់ចេញពីគ្នាដោយ​ក្បៀស" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "កាល​បរិច្ឆេទ (Date) (មិនមានសរសេរម៉ោង)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "កាល​បរិច្ឆេទ (Date) (មានសរសេរម៉ោង)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "ចំនួនទសភាគ (Decimal)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "" - -msgid "Email address" -msgstr "" - -msgid "File path" -msgstr "ផ្លូវទៅកាន់ឯកសារ" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "ចំនួនពិត(Integer)" - -msgid "Big (8 byte) integer" -msgstr "" - -msgid "IPv4 address" -msgstr "" - -msgid "IP address" -msgstr "លេខ IP" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "Boolean (អាចជា True​ រឺ False រឺ None)" - -msgid "Positive integer" -msgstr "" - -msgid "Positive small integer" -msgstr "" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "" - -msgid "Small integer" -msgstr "" - -msgid "Text" -msgstr "អត្ថបទ" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "ពេលវេលា" - -msgid "URL" -msgstr "អាស័យដ្ឋានគេហទំព័រ(URL)" - -msgid "Raw binary data" -msgstr "" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "" - -msgid "File" -msgstr "" - -msgid "Image" -msgstr "" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "" - -msgid "Foreign Key (type determined by related field)" -msgstr "" - -msgid "One-to-one relationship" -msgstr "" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "" - -msgid "Many-to-many relationship" -msgstr "" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr "" - -msgid "This field is required." -msgstr "ចាំបាច់បំពេញទិន្នន័យកន្លែងនេះ។" - -msgid "Enter a whole number." -msgstr "បំពេញចំនួនទាំងអស់។" - -msgid "Enter a valid date." -msgstr "" - -msgid "Enter a valid time." -msgstr "" - -msgid "Enter a valid date/time." -msgstr "" - -msgid "Enter a valid duration." -msgstr "" - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "" - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "មិនមានឯកសារត្រូវបានជ្រើសរើស។ សូមពិនិត្យប្រភេទឯកសារម្តងទៀត។" - -msgid "No file was submitted." -msgstr "" - -msgid "The submitted file is empty." -msgstr "ពុំមានឯកសារ។​" - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "រូបភាពដែលទាញយកមិនត្រឹមត្រូវ ប្រហែលជាមិនមែនជារូបភាព ឬក៏ជា រូបភាពខូច។" - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "" - -msgid "Enter a list of values." -msgstr "" - -msgid "Enter a complete value." -msgstr "" - -msgid "Enter a valid UUID." -msgstr "" - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr "" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "" - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "" - -msgid "Order" -msgstr "" - -msgid "Delete" -msgstr "លប់" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "" - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" - -msgid "Please correct the duplicate values below." -msgstr "" - -msgid "The inline value did not match the parent instance." -msgstr "" - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "" - -msgid "Currently" -msgstr "" - -msgid "Change" -msgstr "ផ្លាស់ប្តូរ" - -msgid "Unknown" -msgstr "មិន​ដឹង" - -msgid "Yes" -msgstr "យល់ព្រម" - -msgid "No" -msgstr "មិនយល់ព្រម" - -msgid "Year" -msgstr "" - -msgid "Month" -msgstr "" - -msgid "Day" -msgstr "" - -msgid "yes,no,maybe" -msgstr "យល់ព្រម មិនយល់ព្រម​ ប្រហែល" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "" - -#, python-format -msgid "%s KB" -msgstr "" - -#, python-format -msgid "%s MB" -msgstr "" - -#, python-format -msgid "%s GB" -msgstr "" - -#, python-format -msgid "%s TB" -msgstr "" - -#, python-format -msgid "%s PB" -msgstr "" - -msgid "p.m." -msgstr "" - -msgid "a.m." -msgstr "" - -msgid "PM" -msgstr "" - -msgid "AM" -msgstr "" - -msgid "midnight" -msgstr "" - -msgid "noon" -msgstr "" - -msgid "Monday" -msgstr "ច័ន្ទ" - -msgid "Tuesday" -msgstr "អង្គារ" - -msgid "Wednesday" -msgstr "ពុធ" - -msgid "Thursday" -msgstr "ព្រហស្បតិ៍" - -msgid "Friday" -msgstr "សុក្រ" - -msgid "Saturday" -msgstr "សៅរ៍" - -msgid "Sunday" -msgstr "អាទិត្យ" - -msgid "Mon" -msgstr "" - -msgid "Tue" -msgstr "" - -msgid "Wed" -msgstr "" - -msgid "Thu" -msgstr "" - -msgid "Fri" -msgstr "" - -msgid "Sat" -msgstr "" - -msgid "Sun" -msgstr "" - -msgid "January" -msgstr "មករា" - -msgid "February" -msgstr "កុម្ភៈ" - -msgid "March" -msgstr "មិនា" - -msgid "April" -msgstr "មេសា" - -msgid "May" -msgstr "ឧសភា" - -msgid "June" -msgstr "មិថុនា" - -msgid "July" -msgstr "កក្កដា" - -msgid "August" -msgstr "សីហា" - -msgid "September" -msgstr "កញ្ញា" - -msgid "October" -msgstr "តុលា" - -msgid "November" -msgstr "វិច្ឆិកា" - -msgid "December" -msgstr "ធ្នូ" - -msgid "jan" -msgstr "មករា" - -msgid "feb" -msgstr "កុម្ភះ" - -msgid "mar" -msgstr "មិនា" - -msgid "apr" -msgstr "មេសា" - -msgid "may" -msgstr "ឧសភា" - -msgid "jun" -msgstr "មិថុនា" - -msgid "jul" -msgstr "កក្កដា" - -msgid "aug" -msgstr "សីហា" - -msgid "sep" -msgstr "កញ្ញា" - -msgid "oct" -msgstr "តុលា" - -msgid "nov" -msgstr "វិច្ឆិកា" - -msgid "dec" -msgstr "ធ្នូ" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "" - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "" - -msgctxt "abbrev. month" -msgid "March" -msgstr "មិនា" - -msgctxt "abbrev. month" -msgid "April" -msgstr "មេសា" - -msgctxt "abbrev. month" -msgid "May" -msgstr "ឧសភា" - -msgctxt "abbrev. month" -msgid "June" -msgstr "មិថុនា" - -msgctxt "abbrev. month" -msgid "July" -msgstr "កក្កដា" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "" - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "" - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "" - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "" - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "" - -msgctxt "alt. month" -msgid "January" -msgstr "មករា" - -msgctxt "alt. month" -msgid "February" -msgstr "កុម្ភៈ" - -msgctxt "alt. month" -msgid "March" -msgstr "មិនា" - -msgctxt "alt. month" -msgid "April" -msgstr "មេសា" - -msgctxt "alt. month" -msgid "May" -msgstr "ឧសភា" - -msgctxt "alt. month" -msgid "June" -msgstr "មិថុនា" - -msgctxt "alt. month" -msgid "July" -msgstr "កក្កដា" - -msgctxt "alt. month" -msgid "August" -msgstr "សីហា" - -msgctxt "alt. month" -msgid "September" -msgstr "កញ្ញា" - -msgctxt "alt. month" -msgid "October" -msgstr "តុលា" - -msgctxt "alt. month" -msgid "November" -msgstr "វិច្ឆិកា" - -msgctxt "alt. month" -msgid "December" -msgstr "ធ្នូ" - -msgid "This is not a valid IPv6 address." -msgstr "" - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "" - -msgid "or" -msgstr "" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr "" - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "" - -msgid "0 minutes" -msgstr "" - -msgid "Forbidden" -msgstr "" - -msgid "CSRF verification failed. Request aborted." -msgstr "" - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "" - -msgid "No year specified" -msgstr "" - -msgid "Date out of range" -msgstr "" - -msgid "No month specified" -msgstr "" - -msgid "No day specified" -msgstr "" - -msgid "No week specified" -msgstr "" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "" - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" - -msgid "The install worked successfully! Congratulations!" -msgstr "" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" - -msgid "Django Documentation" -msgstr "" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "" - -msgid "Get started with Django" -msgstr "" - -msgid "Django Community" -msgstr "" - -msgid "Connect, get help, or contribute" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/km/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/km/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/km/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/km/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index d9af6ef6..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/km/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/km/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/km/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 5aedebed..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/km/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/km/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/km/formats.py deleted file mode 100644 index b704e9c6..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/km/formats.py +++ /dev/null @@ -1,21 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'j ខែ F ឆ្នាំ Y' -TIME_FORMAT = 'G:i' -DATETIME_FORMAT = 'j ខែ F ឆ្នាំ Y, G:i' -# YEAR_MONTH_FORMAT = -MONTH_DAY_FORMAT = 'j F' -SHORT_DATE_FORMAT = 'j M Y' -SHORT_DATETIME_FORMAT = 'j M Y, G:i' -# FIRST_DAY_OF_WEEK = - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -# DATE_INPUT_FORMATS = -# TIME_INPUT_FORMATS = -# DATETIME_INPUT_FORMATS = -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = '.' -# NUMBER_GROUPING = diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/kn/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/kn/LC_MESSAGES/django.mo deleted file mode 100644 index c926f57d..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/kn/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/kn/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/kn/LC_MESSAGES/django.po deleted file mode 100644 index f2ba2aa8..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/kn/LC_MESSAGES/django.po +++ /dev/null @@ -1,1232 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Jannis Leidel , 2011 -# karthikbgl , 2011-2012 -# Ramakrishna Yekulla , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-27 22:40+0200\n" -"PO-Revision-Date: 2019-11-05 00:38+0000\n" -"Last-Translator: Ramiro Morales\n" -"Language-Team: Kannada (http://www.transifex.com/django/django/language/" -"kn/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: kn\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - -msgid "Afrikaans" -msgstr "" - -msgid "Arabic" -msgstr "ಅರೇಬಿಕ್" - -msgid "Asturian" -msgstr "" - -msgid "Azerbaijani" -msgstr "ಆಜೆರ್ಬೈಜನಿ" - -msgid "Bulgarian" -msgstr "ಬಲ್ಗೇರಿಯನ್" - -msgid "Belarusian" -msgstr "" - -msgid "Bengali" -msgstr "ಬೆಂಗಾಲಿ" - -msgid "Breton" -msgstr "" - -msgid "Bosnian" -msgstr "ಬೋಸ್ನಿಯನ್" - -msgid "Catalan" -msgstr "ಕೆಟಲಾನ್" - -msgid "Czech" -msgstr "ಝೆಕ್" - -msgid "Welsh" -msgstr "ವೆಲ್ಷ್" - -msgid "Danish" -msgstr "ಡ್ಯಾನಿಷ್" - -msgid "German" -msgstr "ಜರ್ಮನ್" - -msgid "Lower Sorbian" -msgstr "" - -msgid "Greek" -msgstr "ಗ್ರೀಕ್" - -msgid "English" -msgstr "ಇಂಗ್ಲಿಷ್" - -msgid "Australian English" -msgstr "" - -msgid "British English" -msgstr "ಬ್ರಿಟೀಶ್ ಇಂಗ್ಲಿಷ್" - -msgid "Esperanto" -msgstr "" - -msgid "Spanish" -msgstr "ಸ್ಪ್ಯಾನಿಷ್" - -msgid "Argentinian Spanish" -msgstr "ಅರ್ಜೆಂಟಿನಿಯನ್ ಸ್ಪಾನಿಷ್" - -msgid "Colombian Spanish" -msgstr "" - -msgid "Mexican Spanish" -msgstr "ಮೆಕ್ಸಿಕನ್ ಸ್ಪಾನಿಷ್" - -msgid "Nicaraguan Spanish" -msgstr "nicarguan ಸ್ಪಾನಿಷ್" - -msgid "Venezuelan Spanish" -msgstr "" - -msgid "Estonian" -msgstr "ಎಷ್ಟೋನಿಯನ್" - -msgid "Basque" -msgstr "ಬಾಸ್ಕ್‍" - -msgid "Persian" -msgstr "ಪರ್ಶಿಯನ್" - -msgid "Finnish" -msgstr "ಫಿನ್ನಿಶ್" - -msgid "French" -msgstr "ಫ್ರೆಂಚ್" - -msgid "Frisian" -msgstr "ಫ್ರಿಸಿಯನ್" - -msgid "Irish" -msgstr "ಐರಿಶ್" - -msgid "Scottish Gaelic" -msgstr "" - -msgid "Galician" -msgstr "ಗೆಲಿಶಿಯನ್" - -msgid "Hebrew" -msgstr "ಹೀಬ್ರೂ" - -msgid "Hindi" -msgstr "ಹಿಂದಿ" - -msgid "Croatian" -msgstr "ಕ್ರೊಯೇಶಿಯನ್" - -msgid "Upper Sorbian" -msgstr "" - -msgid "Hungarian" -msgstr "ಹಂಗೇರಿಯನ್" - -msgid "Armenian" -msgstr "" - -msgid "Interlingua" -msgstr "" - -msgid "Indonesian" -msgstr "ಇಂಡೋನಿಶಿಯನ್" - -msgid "Ido" -msgstr "" - -msgid "Icelandic" -msgstr "ಐಸ್‌ಲ್ಯಾಂಡಿಕ್" - -msgid "Italian" -msgstr "ಇಟಾಲಿಯನ್" - -msgid "Japanese" -msgstr "ಜಾಪನೀಸ್" - -msgid "Georgian" -msgstr "ಜಾರ್ಜೆಯನ್ " - -msgid "Kabyle" -msgstr "" - -msgid "Kazakh" -msgstr "" - -msgid "Khmer" -msgstr "ಖಮೇರ್" - -msgid "Kannada" -msgstr "ಕನ್ನಡ" - -msgid "Korean" -msgstr "ಕೊರಿಯನ್" - -msgid "Luxembourgish" -msgstr "" - -msgid "Lithuanian" -msgstr "ಲಿತುವಾನಿಯನ್ " - -msgid "Latvian" -msgstr "ಲಾಟ್ವಿಯನ್" - -msgid "Macedonian" -msgstr "ಮೆಸಡೊನಿಯನ್" - -msgid "Malayalam" -msgstr "ಮಲಯಾಳಂ" - -msgid "Mongolian" -msgstr "ಮಂಗೊಲಿಯನ್" - -msgid "Marathi" -msgstr "" - -msgid "Burmese" -msgstr "" - -msgid "Norwegian Bokmål" -msgstr "" - -msgid "Nepali" -msgstr "" - -msgid "Dutch" -msgstr "ಡಚ್" - -msgid "Norwegian Nynorsk" -msgstr "ನಾರ್ವೇಜಿಯನ್ ನಿನೋರ್ಕ್" - -msgid "Ossetic" -msgstr "" - -msgid "Punjabi" -msgstr "ಪಂಜಾಬಿ" - -msgid "Polish" -msgstr "ಪೋಲಿಷ್" - -msgid "Portuguese" -msgstr "ಪೋರ್ಚುಗೀಸ್" - -msgid "Brazilian Portuguese" -msgstr "ಬ್ರಜೀಲಿಯನ್ ಪೋರ್ಚುಗೀಸ್" - -msgid "Romanian" -msgstr "ರೋಮೇನಿಯನ್" - -msgid "Russian" -msgstr "ರಶಿಯನ್" - -msgid "Slovak" -msgstr "ಸ್ಲೋವಾಕ್" - -msgid "Slovenian" -msgstr "ಸ್ಲೋವೇನಿಯನ್" - -msgid "Albanian" -msgstr "ಅಲ್ಬೆನಿಯನ್ " - -msgid "Serbian" -msgstr "ಸರ್ಬಿಯನ್" - -msgid "Serbian Latin" -msgstr "ಸರ್ಬಿಯನ್ ಲ್ಯಾಟಿನ್" - -msgid "Swedish" -msgstr "ಸ್ವೀಡಿಷ್" - -msgid "Swahili" -msgstr "" - -msgid "Tamil" -msgstr "ತಮಿಳು" - -msgid "Telugu" -msgstr "ತೆಲುಗು" - -msgid "Thai" -msgstr "ಥಾಯ್" - -msgid "Turkish" -msgstr "ಟರ್ಕಿಶ್" - -msgid "Tatar" -msgstr "" - -msgid "Udmurt" -msgstr "" - -msgid "Ukrainian" -msgstr "ಉಕ್ರೇನಿಯನ್" - -msgid "Urdu" -msgstr "ಉರ್ದು" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "ವಿಯೆತ್ನಾಮೀಸ್" - -msgid "Simplified Chinese" -msgstr "ಸರಳೀಕೃತ ಚೈನೀಸ್" - -msgid "Traditional Chinese" -msgstr "ಸಂಪ್ರದಾಯಿಕ ಚೈನೀಸ್ " - -msgid "Messages" -msgstr "" - -msgid "Site Maps" -msgstr "" - -msgid "Static Files" -msgstr "" - -msgid "Syndication" -msgstr "" - -msgid "That page number is not an integer" -msgstr "" - -msgid "That page number is less than 1" -msgstr "" - -msgid "That page contains no results" -msgstr "" - -msgid "Enter a valid value." -msgstr "ಸಿಂಧುವಾದ ಮೌಲ್ಯವನ್ನು ನಮೂದಿಸಿ." - -msgid "Enter a valid URL." -msgstr "ಸರಿಯಾದ ಒಂದು URL ಅನ್ನು ನಮೂದಿಸಿ." - -msgid "Enter a valid integer." -msgstr "" - -msgid "Enter a valid email address." -msgstr "" - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "ಒಂದು ಸರಿಯಾದ IPv4 ವಿಳಾಸವನ್ನು ನಮೂದಿಸಿ." - -msgid "Enter a valid IPv6 address." -msgstr "ಮಾನ್ಯವಾದ IPv6 ವಿಳಾಸ ದಾಖಲಿಸಿ" - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "ಮಾನ್ಯವಾದ IPv4 ಅಥವಾ IPv6 ವಿಳಾಸ ದಾಖಲಿಸಿ" - -msgid "Enter only digits separated by commas." -msgstr "ಅಲ್ಪವಿರಾಮ(,)ಗಳಿಂದ ಬೇರ್ಪಟ್ಟ ಅಂಕೆಗಳನ್ನು ಮಾತ್ರ ಬರೆಯಿರಿ." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" -"ಈ ಮೌಲ್ಯವು %(limit_value)s ಆಗಿದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ (ಇದು %(show_value)s ಆಗಿದೆ)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "" -"ಈ ಮೌಲ್ಯವು %(limit_value)s ಕ್ಕಿಂತ ಕಡಿಮೆಯ ಅಥವ ಸಮನಾದ ಮೌಲ್ಯವಾಗಿದೆ ಎಂದು ಖಾತ್ರಿ " -"ಮಾಡಿಕೊಳ್ಳಿ." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "" -"ಈ ಮೌಲ್ಯವು %(limit_value)s ಕ್ಕಿಂತ ಹೆಚ್ಚಿನ ಅಥವ ಸಮನಾದ ಮೌಲ್ಯವಾಗಿದೆ ಎಂದು ಖಾತ್ರಿ " -"ಮಾಡಿಕೊಳ್ಳಿ." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" - -msgid "Enter a number." -msgstr "ಒಂದು ಸಂಖ್ಯೆಯನ್ನು ನಮೂದಿಸಿ." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "" - -msgid "and" -msgstr "ಮತ್ತು" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "" - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "" - -msgid "This field cannot be null." -msgstr "ಈ ಅಂಶವನ್ನು ಖಾಲಿ ಬಿಡುವಂತಿಲ್ಲ." - -msgid "This field cannot be blank." -msgstr "ಈ ಸ್ಥಳವು ಖಾಲಿ ಇರುವಂತಿಲ್ಲ." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "" -"ಈ %(field_label)s ಅನ್ನು ಹೊಂದಿರುವ ಒಂದು %(model_name)s ಈಗಾಗಲೆ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "ಕ್ಷೇತ್ರದ ಬಗೆ: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "ಬೂಲಿಯನ್ (ಹೌದು ಅಥವ ಅಲ್ಲ)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "ಪದಪುಂಜ (%(max_length)s ವರೆಗೆ)" - -msgid "Comma-separated integers" -msgstr "ಅಲ್ಪವಿರಾಮ(,) ದಿಂದ ಬೇರ್ಪಟ್ಟ ಪೂರ್ಣಸಂಖ್ಯೆಗಳು" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "ದಿನಾಂಕ (ಸಮಯವಿಲ್ಲದೆ)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "ದಿನಾಂಕ (ಸಮಯದೊಂದಿಗೆ)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "ದಶಮಾನ ಸಂಖ್ಯೆ" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "" - -msgid "Email address" -msgstr "" - -msgid "File path" -msgstr "ಕಡತದ ಸ್ಥಾನಪಥ" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "ತೇಲುವ-ಬಿಂದು ಸಂಖ್ಯೆ" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "ಪೂರ್ಣಾಂಕ" - -msgid "Big (8 byte) integer" -msgstr "ಬೃಹತ್ (೮ ಬೈಟ್) ಪೂರ್ಣ ಸಂಖ್ಯೆ" - -msgid "IPv4 address" -msgstr "IPv4 ವಿಳಾಸ" - -msgid "IP address" -msgstr "IP ವಿಳಾಸ" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "ಬೂಲಿಯನ್ (ನಿಜ, ಸುಳ್ಳು ಅಥವ ಯಾವುದೂ ಅಲ್ಲ ಇವುಗಳಲ್ಲಿ ಒಂದು)" - -msgid "Positive integer" -msgstr "" - -msgid "Positive small integer" -msgstr "" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "" - -msgid "Small integer" -msgstr "" - -msgid "Text" -msgstr "ಪಠ್ಯ" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "ಸಮಯ" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "" - -msgid "File" -msgstr "" - -msgid "Image" -msgstr "" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "" - -msgid "Foreign Key (type determined by related field)" -msgstr "ಬಾಹ್ಯ ಕೀಲಿ (ಸಂಬಂಧಿತ ಸ್ಥಳದಿಂದ ಪ್ರಕಾರವನ್ನು ನಿರ್ಧರಿಸಲಾಗುತ್ತದೆ)" - -msgid "One-to-one relationship" -msgstr "ಒನ್-ಟು-ಒನ್ (ಪರಸ್ಪರ) ಸಂಬಂಧ" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "" - -msgid "Many-to-many relationship" -msgstr "ಮೆನಿ-ಟು-ಮೆನಿ (ಸಾರ್ವಜನಿಕ) ಸಂಬಂಧ" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr "" - -msgid "This field is required." -msgstr "ಈ ಸ್ಥಳವು ಅಗತ್ಯವಿರುತ್ತದೆ." - -msgid "Enter a whole number." -msgstr "ಪೂರ್ಣಾಂಕವೊಂದನ್ನು ನಮೂದಿಸಿ." - -msgid "Enter a valid date." -msgstr "ಸರಿಯಾದ ದಿನಾಂಕವನ್ನು ನಮೂದಿಸಿ." - -msgid "Enter a valid time." -msgstr "ಸರಿಯಾದ ಸಮಯವನ್ನು ನಮೂದಿಸಿ." - -msgid "Enter a valid date/time." -msgstr "ಸರಿಯಾದ ದಿನಾಂಕ/ಸಮಯವನ್ನು ನಮೂದಿಸಿ." - -msgid "Enter a valid duration." -msgstr "" - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "" - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "" -"ಯಾವದೇ ಕಡತವನ್ನೂ ಸಲ್ಲಿಸಲಾಗಿಲ್ಲ. ನಮೂನೆಯ ಮೇಲಿನ ಸಂಕೇತೀಕರಣ (ಎನ್ಕೋಡಿಂಗ್) ಬಗೆಯನ್ನು " -"ಪರೀಕ್ಷಿಸಿ." - -msgid "No file was submitted." -msgstr "ಯಾವದೇ ಕಡತವನ್ನೂ ಸಲ್ಲಿಸಲಾಗಿಲ್ಲ." - -msgid "The submitted file is empty." -msgstr "ಸಲ್ಲಿಸಲಾದ ಕಡತ ಖಾಲಿ ಇದೆ." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -msgstr[1] "" - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" -"ದಯವಿಟ್ಟು ಕಡತವನ್ನು ಸಲ್ಲಿಸಿ ಅಥವ ಅಳಿಸುವ ಗುರುತುಚೌಕವನ್ನು ಗುರುತು ಹಾಕಿ, ಎರಡನ್ನೂ ಒಟ್ಟಿಗೆ " -"ಮಾಡಬೇಡಿ." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"ಸರಿಯಾದ ಚಿತ್ರವನ್ನು ಸೇರಿಸಿ. ನೀವು ಸೇರಿಸಿದ ಕಡತವು ಚಿತ್ರವೇ ಅಲ್ಲ ಅಥವಾ ಅದು ಒಂದು ಹಾಳಾದ " -"ಚಿತ್ರವಾಗಿದೆ. " - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "ಸರಿಯಾದ ಒಂದು ಆಯ್ಕೆಯನ್ನು ಆರಿಸಿ. %(value)s ಎನ್ನುವುದು ಲಭ್ಯವಿರುವ ಆಯ್ಕೆಗಳಲ್ಲಿ ಇಲ್ಲ." - -msgid "Enter a list of values." -msgstr "ಮೌಲ್ಯಗಳ ಒಂದು ಪಟ್ಟಿಯನ್ನು ನಮೂದಿಸಿ." - -msgid "Enter a complete value." -msgstr "" - -msgid "Enter a valid UUID." -msgstr "" - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr "" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "" -msgstr[1] "" - -msgid "Order" -msgstr "ಕ್ರಮ" - -msgid "Delete" -msgstr "ಅಳಿಸಿಹಾಕಿ" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "%(field)s ಗಾಗಿ ಎರಡು ಬಾರಿ ನಮೂದಿಸಲಾದ ಮಾಹಿತಿಯನ್ನು ಸರಿಪಡಿಸಿ." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"%(field)s ಗಾಗಿ ಎರಡು ಬಾರಿ ನಮೂದಿಸಲಾದ ಮಾಹಿತಿಯನ್ನು ಸರಿಪಡಿಸಿ, ಇದರ ಮೌಲ್ಯವು " -"ವಿಶಿಷ್ಟವಾಗಿರಬೇಕು." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"%(field_name)s ಗಾಗಿ ಎರಡು ಬಾರಿ ನಮೂದಿಸಲಾದ ಮಾಹಿತಿಯನ್ನು ಸರಿಪಡಿಸಿ, %(date_field)s " -"ನಲ್ಲಿನ %(lookup)s ಗಾಗಿ ಇದರ ಮೌಲ್ಯವು ವಿಶಿಷ್ಟವಾಗಿರಬೇಕು." - -msgid "Please correct the duplicate values below." -msgstr "ದಯವಿಟ್ಟು ಈ ಕೆಳಗೆ ಎರಡು ಬಾರಿ ನಮೂದಿಸಲಾದ ಮೌಲ್ಯವನ್ನು ಸರಿಪಡಿಸಿ." - -msgid "The inline value did not match the parent instance." -msgstr "" - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "ಸರಿಯಾದ ಒಂದು ಆಯ್ಕೆಯನ್ನು ಆರಿಸಿ. ಆ ಆಯ್ಕೆಯು ಲಭ್ಯವಿರುವ ಆಯ್ಕೆಗಳಲ್ಲಿ ಇಲ್ಲ." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "ಮುಕ್ತಗೊಳಿಸು" - -msgid "Currently" -msgstr "ಪ್ರಸಕ್ತ" - -msgid "Change" -msgstr "ಬದಲಾವಣೆ" - -msgid "Unknown" -msgstr "ಗೊತ್ತಿರದ" - -msgid "Yes" -msgstr "ಹೌದು" - -msgid "No" -msgstr "ಇಲ್ಲ" - -msgid "Year" -msgstr "" - -msgid "Month" -msgstr "" - -msgid "Day" -msgstr "" - -msgid "yes,no,maybe" -msgstr "ಹೌದು,ಇಲ್ಲ,ಇರಬಹುದು" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d ಬೈಟ್‌ಗಳು" -msgstr[1] "%(size)d ಬೈಟ್‌ಗಳು" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "ಅಪರಾಹ್ನ" - -msgid "a.m." -msgstr "ಪೂರ್ವಾಹ್ನ" - -msgid "PM" -msgstr "ಅಪರಾಹ್ನ" - -msgid "AM" -msgstr "ಪೂರ್ವಾಹ್ನ" - -msgid "midnight" -msgstr "ಮಧ್ಯರಾತ್ರಿ" - -msgid "noon" -msgstr "ಮಧ್ಯಾಹ್ನ" - -msgid "Monday" -msgstr "ಸೋಮವಾರ" - -msgid "Tuesday" -msgstr "ಮಂಗಳವಾರ" - -msgid "Wednesday" -msgstr "ಬುಧವಾರ" - -msgid "Thursday" -msgstr "ಗುರುವಾರ" - -msgid "Friday" -msgstr "ಶುಕ್ರವಾರ" - -msgid "Saturday" -msgstr "ಶನಿವಾರ" - -msgid "Sunday" -msgstr "ರವಿವಾರ" - -msgid "Mon" -msgstr "ಸೋಮ" - -msgid "Tue" -msgstr "ಮಂಗಳ" - -msgid "Wed" -msgstr "ಬುಧ" - -msgid "Thu" -msgstr "ಗುರು" - -msgid "Fri" -msgstr "ಶುಕ್ರ" - -msgid "Sat" -msgstr "ಶನಿ" - -msgid "Sun" -msgstr "ರವಿ" - -msgid "January" -msgstr "ಜನವರಿ" - -msgid "February" -msgstr "ಫೆಬ್ರುವರಿ" - -msgid "March" -msgstr "ಮಾರ್ಚ್" - -msgid "April" -msgstr "ಎಪ್ರಿಲ್" - -msgid "May" -msgstr "ಮೇ" - -msgid "June" -msgstr "ಜೂನ್" - -msgid "July" -msgstr "ಜುಲೈ" - -msgid "August" -msgstr "ಆಗಸ್ಟ್" - -msgid "September" -msgstr "ಸೆಪ್ಟೆಂಬರ್" - -msgid "October" -msgstr "ಅಕ್ಟೋಬರ್" - -msgid "November" -msgstr "ನವೆಂಬರ್" - -msgid "December" -msgstr "ಡಿಸೆಂಬರ್" - -msgid "jan" -msgstr "ಜನವರಿ" - -msgid "feb" -msgstr "ಫೆಬ್ರವರಿ" - -msgid "mar" -msgstr "ಮಾರ್ಚ್" - -msgid "apr" -msgstr "ಏಪ್ರಿಲ್" - -msgid "may" -msgstr "ಮೇ" - -msgid "jun" -msgstr "ಜೂನ್" - -msgid "jul" -msgstr "ಜುಲೈ" - -msgid "aug" -msgstr "ಆಗಸ್ಟ್‍" - -msgid "sep" -msgstr "ಸೆಪ್ಟೆಂಬರ್" - -msgid "oct" -msgstr "ಅಕ್ಟೋಬರ್" - -msgid "nov" -msgstr "ನವೆಂಬರ್" - -msgid "dec" -msgstr "ಡಿಸೆಂಬರ್" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "ಜನ." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "ಫೆಬ್ರ." - -msgctxt "abbrev. month" -msgid "March" -msgstr "ಮಾರ್ಚ್" - -msgctxt "abbrev. month" -msgid "April" -msgstr "ಏಪ್ರಿಲ್" - -msgctxt "abbrev. month" -msgid "May" -msgstr "ಮೇ" - -msgctxt "abbrev. month" -msgid "June" -msgstr "ಜೂನ್" - -msgctxt "abbrev. month" -msgid "July" -msgstr "ಜುಲೈ" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "ಆಗ." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "ಸೆಪ್ಟೆ." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "ಅಕ್ಟೋ." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "ನವೆಂ." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "ಡಿಸೆಂ." - -msgctxt "alt. month" -msgid "January" -msgstr "ಜನವರಿ" - -msgctxt "alt. month" -msgid "February" -msgstr "ಫೆಬ್ರವರಿ" - -msgctxt "alt. month" -msgid "March" -msgstr "ಮಾರ್ಚ್" - -msgctxt "alt. month" -msgid "April" -msgstr "ಏಪ್ರಿಲ್" - -msgctxt "alt. month" -msgid "May" -msgstr "ಮೇ" - -msgctxt "alt. month" -msgid "June" -msgstr "ಜೂನ್" - -msgctxt "alt. month" -msgid "July" -msgstr "ಜುಲೈ" - -msgctxt "alt. month" -msgid "August" -msgstr "ಆಗಸ್ಟ್‍" - -msgctxt "alt. month" -msgid "September" -msgstr "ಸಪ್ಟೆಂಬರ್" - -msgctxt "alt. month" -msgid "October" -msgstr "ಅಕ್ಟೋಬರ್" - -msgctxt "alt. month" -msgid "November" -msgstr "ನವೆಂಬರ್" - -msgctxt "alt. month" -msgid "December" -msgstr "ಡಿಸೆಂಬರ್" - -msgid "This is not a valid IPv6 address." -msgstr "" - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "" - -msgid "or" -msgstr "ಅಥವ" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "" -msgstr[1] "" - -msgid "0 minutes" -msgstr "" - -msgid "Forbidden" -msgstr "" - -msgid "CSRF verification failed. Request aborted." -msgstr "" - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "" - -msgid "No year specified" -msgstr "ಯಾವುದೆ ವರ್ಷವನ್ನು ಸೂಚಿಲಾಗಿಲ್ಲ" - -msgid "Date out of range" -msgstr "" - -msgid "No month specified" -msgstr "ಯಾವುದೆ ತಿಂಗಳನ್ನು ಸೂಚಿಸಲಾಗಿಲ್ಲ" - -msgid "No day specified" -msgstr "ಯಾವುದೆ ದಿನವನ್ನು ಸೂಚಿಸಲಾಗಿಲ್ಲ" - -msgid "No week specified" -msgstr "ಯಾವುದೆ ವಾರವನ್ನು ಸೂಚಿಸಲಾಗಿಲ್ಲ" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "ಯಾವುದೆ %(verbose_name_plural)s ಲಭ್ಯವಿಲ್ಲ" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"ಭವಿಷ್ಯದ %(verbose_name_plural)s ಲಭ್ಯವಿಲ್ಲ ಏಕೆಂದರೆ %(class_name)s.allow_future " -"ಎನ್ನುವುದು ಅಸತ್ಯವಾಗಿದೆ (ಫಾಲ್ಸ್‍) ಆಗಿದೆ." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "ಮನವಿಗೆ ತಾಳೆಯಾಗುವ ಯಾವುದೆ %(verbose_name)s ಕಂಡುಬಂದಿಲ್ಲ" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "" - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" - -msgid "The install worked successfully! Congratulations!" -msgstr "" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" - -msgid "Django Documentation" -msgstr "" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "" - -msgid "Get started with Django" -msgstr "" - -msgid "Django Community" -msgstr "" - -msgid "Connect, get help, or contribute" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/kn/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/kn/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/kn/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/kn/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 3752d156..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/kn/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/kn/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/kn/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 9481ae2f..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/kn/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/kn/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/kn/formats.py deleted file mode 100644 index 5003c644..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/kn/formats.py +++ /dev/null @@ -1,21 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'j F Y' -TIME_FORMAT = 'h:i A' -# DATETIME_FORMAT = -# YEAR_MONTH_FORMAT = -MONTH_DAY_FORMAT = 'j F' -SHORT_DATE_FORMAT = 'j M Y' -# SHORT_DATETIME_FORMAT = -# FIRST_DAY_OF_WEEK = - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -# DATE_INPUT_FORMATS = -# TIME_INPUT_FORMATS = -# DATETIME_INPUT_FORMATS = -# DECIMAL_SEPARATOR = -# THOUSAND_SEPARATOR = -# NUMBER_GROUPING = diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ko/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/ko/LC_MESSAGES/django.mo deleted file mode 100644 index 28903f36..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/ko/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ko/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/ko/LC_MESSAGES/django.po deleted file mode 100644 index fe8727c1..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/ko/LC_MESSAGES/django.po +++ /dev/null @@ -1,1285 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# BJ Jang , 2014 -# JunGu Kang , 2017 -# Jiyoon, Ha , 2016 -# DONGHO JEONG , 2020 -# Park Hyunwoo , 2017 -# Geonho Kim / Leo Kim , 2019 -# hoseung2 , 2017 -# Ian Y. Choi , 2015 -# Jaehong Kim , 2011 -# Jannis Leidel , 2011 -# Jay Oh , 2020 -# Le Tartuffe , 2014,2016 -# Jonghwa Seo , 2019 -# Jubeen Lee , 2020 -# JuneHyeon Bae , 2014 -# JunGu Kang , 2015 -# JunGu Kang , 2019 -# Kagami Sascha Rosylight , 2017 -# Seho Noh , 2018 -# Subin Choi , 2016 -# Taesik Yoon , 2015 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-09-05 12:57+0000\n" -"Last-Translator: DONGHO JEONG \n" -"Language-Team: Korean (http://www.transifex.com/django/django/language/ko/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ko\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -msgid "Afrikaans" -msgstr "아프리칸스어" - -msgid "Arabic" -msgstr "아랍어" - -msgid "Algerian Arabic" -msgstr "알제리 아랍어" - -msgid "Asturian" -msgstr "호주어" - -msgid "Azerbaijani" -msgstr "아제르바이잔어" - -msgid "Bulgarian" -msgstr "불가리어" - -msgid "Belarusian" -msgstr "벨라루스어" - -msgid "Bengali" -msgstr "방글라데시어" - -msgid "Breton" -msgstr "브르타뉴어" - -msgid "Bosnian" -msgstr "보스니아어" - -msgid "Catalan" -msgstr "카탈로니아어" - -msgid "Czech" -msgstr "체코어" - -msgid "Welsh" -msgstr "웨일즈어" - -msgid "Danish" -msgstr "덴마크어" - -msgid "German" -msgstr "독일어" - -msgid "Lower Sorbian" -msgstr "저지 소르브어" - -msgid "Greek" -msgstr "그리스어" - -msgid "English" -msgstr "영어" - -msgid "Australian English" -msgstr "영어(호주)" - -msgid "British English" -msgstr "영어 (영국)" - -msgid "Esperanto" -msgstr "에스페란토어" - -msgid "Spanish" -msgstr "스페인어" - -msgid "Argentinian Spanish" -msgstr "아르헨티나 스페인어" - -msgid "Colombian Spanish" -msgstr "콜롬비아 스페인어" - -msgid "Mexican Spanish" -msgstr "멕시컨 스페인어" - -msgid "Nicaraguan Spanish" -msgstr "니카과라 스페인어" - -msgid "Venezuelan Spanish" -msgstr "베네수엘라 스페인어" - -msgid "Estonian" -msgstr "에스토니아어" - -msgid "Basque" -msgstr "바스크어" - -msgid "Persian" -msgstr "페르시아어" - -msgid "Finnish" -msgstr "핀란드어" - -msgid "French" -msgstr "프랑스어" - -msgid "Frisian" -msgstr "프리슬란트어" - -msgid "Irish" -msgstr "아일랜드어" - -msgid "Scottish Gaelic" -msgstr "스코틀랜드 게일어" - -msgid "Galician" -msgstr "갈리시아어" - -msgid "Hebrew" -msgstr "히브리어" - -msgid "Hindi" -msgstr "힌두어" - -msgid "Croatian" -msgstr "크로아티아어" - -msgid "Upper Sorbian" -msgstr "고지 소르브어" - -msgid "Hungarian" -msgstr "헝가리어" - -msgid "Armenian" -msgstr "아르메니아어" - -msgid "Interlingua" -msgstr "인테르링구아어" - -msgid "Indonesian" -msgstr "인도네시아어" - -msgid "Igbo" -msgstr "이그보어" - -msgid "Ido" -msgstr "이도어" - -msgid "Icelandic" -msgstr "아이슬란드어" - -msgid "Italian" -msgstr "이탈리아어" - -msgid "Japanese" -msgstr "일본어" - -msgid "Georgian" -msgstr "조지아어" - -msgid "Kabyle" -msgstr "커바일어" - -msgid "Kazakh" -msgstr "카자흐어" - -msgid "Khmer" -msgstr "크메르어" - -msgid "Kannada" -msgstr "칸나다어" - -msgid "Korean" -msgstr "한국어" - -msgid "Kyrgyz" -msgstr "키르키즈 공화국어" - -msgid "Luxembourgish" -msgstr "룩셈부르크" - -msgid "Lithuanian" -msgstr "리투아니아어" - -msgid "Latvian" -msgstr "라트비아어" - -msgid "Macedonian" -msgstr "마케도니아어" - -msgid "Malayalam" -msgstr "말레이지아어" - -msgid "Mongolian" -msgstr "몽고어" - -msgid "Marathi" -msgstr "마라티어" - -msgid "Burmese" -msgstr "룩셈부르크어" - -msgid "Norwegian Bokmål" -msgstr "노르웨이어(보크몰)" - -msgid "Nepali" -msgstr "네팔어" - -msgid "Dutch" -msgstr "네덜란드어" - -msgid "Norwegian Nynorsk" -msgstr "노르웨이어 (뉘노르스크)" - -msgid "Ossetic" -msgstr "오세티아어" - -msgid "Punjabi" -msgstr "펀자브어" - -msgid "Polish" -msgstr "폴란드어" - -msgid "Portuguese" -msgstr "포르투갈어" - -msgid "Brazilian Portuguese" -msgstr "브라질 포르투갈어" - -msgid "Romanian" -msgstr "루마니아어" - -msgid "Russian" -msgstr "러시아어" - -msgid "Slovak" -msgstr "슬로바키아어" - -msgid "Slovenian" -msgstr "슬로베니아어" - -msgid "Albanian" -msgstr "알바니아어" - -msgid "Serbian" -msgstr "세르비아어" - -msgid "Serbian Latin" -msgstr "세르비아어" - -msgid "Swedish" -msgstr "스웨덴어" - -msgid "Swahili" -msgstr "스와힐리어" - -msgid "Tamil" -msgstr "타밀어" - -msgid "Telugu" -msgstr "텔루구어" - -msgid "Tajik" -msgstr "타지크어" - -msgid "Thai" -msgstr "태국어" - -msgid "Turkmen" -msgstr "튀르크멘어" - -msgid "Turkish" -msgstr "터키어" - -msgid "Tatar" -msgstr "타타르" - -msgid "Udmurt" -msgstr "이제프스크" - -msgid "Ukrainian" -msgstr "우크라이나어" - -msgid "Urdu" -msgstr "우르드어" - -msgid "Uzbek" -msgstr "우즈베크어" - -msgid "Vietnamese" -msgstr "베트남어" - -msgid "Simplified Chinese" -msgstr "중국어 간체" - -msgid "Traditional Chinese" -msgstr "중국어 번체" - -msgid "Messages" -msgstr "메시지" - -msgid "Site Maps" -msgstr "사이트 맵" - -msgid "Static Files" -msgstr "정적 파일" - -msgid "Syndication" -msgstr "신디케이션" - -msgid "That page number is not an integer" -msgstr "페이지 번호가 정수가 아닙니다." - -msgid "That page number is less than 1" -msgstr "페이지 번호가 1보다 작습니다." - -msgid "That page contains no results" -msgstr "해당 페이지에 결과가 없습니다." - -msgid "Enter a valid value." -msgstr "올바른 값을 입력하세요." - -msgid "Enter a valid URL." -msgstr "올바른 URL을 입력하세요." - -msgid "Enter a valid integer." -msgstr "올바른 정수를 입력하세요." - -msgid "Enter a valid email address." -msgstr "올바른 이메일 주소를 입력하세요." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "문자, 숫자, '_', '-'만 가능합니다." - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" -"유니코드 문자, 숫자, 언더스코어 또는 하이픈으로 구성된 올바른 내용을 입력하세" -"요." - -msgid "Enter a valid IPv4 address." -msgstr "올바른 IPv4 주소를 입력하세요." - -msgid "Enter a valid IPv6 address." -msgstr "올바른 IPv6 주소를 입력하세요." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "올바른 IPv4 혹은 IPv6 주소를 입력하세요." - -msgid "Enter only digits separated by commas." -msgstr "콤마로 구분된 숫자만 입력하세요." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" -"%(limit_value)s 안의 값을 입력해 주세요. (입력하신 값은 %(show_value)s입니" -"다.)" - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "%(limit_value)s 이하의 값을 입력해 주세요." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "%(limit_value)s 이상의 값을 입력해 주세요." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"이 값이 최소 %(limit_value)d 개의 글자인지 확인하세요(입력값 %(show_value)d " -"자)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"이 값이 최대 %(limit_value)d 개의 글자인지 확인하세요(입력값 %(show_value)d " -"자)." - -msgid "Enter a number." -msgstr "숫자를 입력하세요." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "전체 자릿수가 %(max)s 개를 넘지 않도록 해주세요." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "전체 유효자리 개수가 %(max)s 개를 넘지 않도록 해주세요." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "전체 유효자리 개수가 %(max)s 개를 넘지 않도록 해주세요." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" -"파일 확장자 '%(extension)s'는 허용되지 않습니다. 허용된 확장자: " -"'%(allowed_extensions)s'." - -msgid "Null characters are not allowed." -msgstr "null 문자는 사용할 수 없습니다. " - -msgid "and" -msgstr "또한" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "%(model_name)s의 %(field_labels)s 은/는 이미 존재합니다." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "%(value)r 은/는 올바른 선택사항이 아닙니다." - -msgid "This field cannot be null." -msgstr "이 필드는 null 값을 사용할 수 없습니다. " - -msgid "This field cannot be blank." -msgstr "이 필드는 빈 칸으로 둘 수 없습니다." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s의 %(field_label)s은/는 이미 존재합니다." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(field_label)s은/는 반드시 %(date_field_label)s %(lookup_type)s에 대해 유일" -"해야 합니다." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "%(field_type)s 형식 필드" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "'%(value)s' 값은 반드시 True 또는 False 중 하나여야만 합니다." - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "'%(value)s'값은 반드시 True, False, None 중 하나여야만 합니다." - -msgid "Boolean (Either True or False)" -msgstr "boolean(True 또는 False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "문자열(%(max_length)s 글자까지)" - -msgid "Comma-separated integers" -msgstr "정수(콤마로 구분)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "'%(value)s' 값은 날짜 형식이 아닙니다. YYYY-MM-DD 형식이어야 합니다." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" -"'%(value)s' 값은 올바른 형식(YYYY-MM-DD)이지만 유효하지 않은 날짜입니다." - -msgid "Date (without time)" -msgstr "날짜(시간 제외)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" -"'%(value)s' 값은 올바르지 않은 형식입니다. YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ] 형식이어야 합니다." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" -"'%(value)s' 값은 올바른 형식이지만 (YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]) 유효" -"하지 않은 날짜/시간입니다." - -msgid "Date (with time)" -msgstr "날짜(시간 포함)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "'%(value)s' 값은 10진수를 입력하여야 합니다." - -msgid "Decimal number" -msgstr "10진수" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" -"'%(value)s' 값은 올바르지 않은 형식입니다. [DD] [HH:[MM:]]ss[.uuuuuu] 형식이" -"어야 합니다." - -msgid "Duration" -msgstr "지속시간" - -msgid "Email address" -msgstr "이메일 주소" - -msgid "File path" -msgstr "파일 경로" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "\"%(value)s\" 값은 실수를 입력하여야 합니다." - -msgid "Floating point number" -msgstr "부동소수점 숫자" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "\"%(value)s\" 값은 정수를 입력하여야 합니다." - -msgid "Integer" -msgstr "정수" - -msgid "Big (8 byte) integer" -msgstr "큰 정수 (8 byte)" - -msgid "IPv4 address" -msgstr "IPv4 주소" - -msgid "IP address" -msgstr "IP 주소" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "\"%(value)s\" 값은 반드시 None, True 또는 False이어야 합니다." - -msgid "Boolean (Either True, False or None)" -msgstr "boolean (True, False 또는 None)" - -msgid "Positive big integer" -msgstr "큰 양의 정수" - -msgid "Positive integer" -msgstr "양의 정수" - -msgid "Positive small integer" -msgstr "작은 양의 정수" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "슬러그(%(max_length)s 까지)" - -msgid "Small integer" -msgstr "작은 정수" - -msgid "Text" -msgstr "텍스트" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" -"\"%(value)s\" 값의 형식이 올바르지 않습니다. HH:MM[:ss[.uuuuuu]] 형식이어야 " -"합니다." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" -"\"%(value)s\" 값이 올바른 형식(HH:MM[:ss[.uuuuuu]])이나, 유효하지 않은 시간 " -"값입니다." - -msgid "Time" -msgstr "시각" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Raw binary data" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "\"%(value)s\"은 유효하지 않은 UUID입니다." - -msgid "Universally unique identifier" -msgstr "범용 고유 식별 수단(UUID)" - -msgid "File" -msgstr "파일" - -msgid "Image" -msgstr "이미지" - -msgid "A JSON object" -msgstr "JSON 객체" - -msgid "Value must be valid JSON." -msgstr "올바른 JSON 형식이여야 합니다." - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "%(field)s %(value)r 를 가지는 %(model)s 인스턴스가 존재하지 않습니다." - -msgid "Foreign Key (type determined by related field)" -msgstr "외래 키 (연관 필드에 의해 형식 결정)" - -msgid "One-to-one relationship" -msgstr "일대일 관계" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "%(from)s-%(to)s 관계" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "%(from)s-%(to)s 관계들" - -msgid "Many-to-many relationship" -msgstr "다대다 관계" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "필수 항목입니다." - -msgid "Enter a whole number." -msgstr "정수를 입력하세요." - -msgid "Enter a valid date." -msgstr "올바른 날짜를 입력하세요." - -msgid "Enter a valid time." -msgstr "올바른 시각을 입력하세요." - -msgid "Enter a valid date/time." -msgstr "올바른 날짜/시각을 입력하세요." - -msgid "Enter a valid duration." -msgstr "올바른 기간을 입력하세요." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "날짜는 {min_days}와 {max_days} 사이여야 합니다." - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "등록된 파일이 없습니다. 인코딩 형식을 확인하세요." - -msgid "No file was submitted." -msgstr "파일이 전송되지 않았습니다." - -msgid "The submitted file is empty." -msgstr "입력하신 파일은 빈 파일입니다." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "파일이름의 길이가 최대 %(max)d 자인지 확인하세요(%(length)d 자)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" -"파일 업로드 또는 삭제 체크박스를 선택하세요. 동시에 둘 다 할 수는 없습니다." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"올바른 이미지를 업로드하세요. 업로드하신 파일은 이미지 파일이 아니거나 파일" -"이 깨져 있습니다." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "올바르게 선택해 주세요. %(value)s 이/가 선택가능항목에 없습니다." - -msgid "Enter a list of values." -msgstr "리스트를 입력하세요." - -msgid "Enter a complete value." -msgstr "완전한 값을 입력하세요." - -msgid "Enter a valid UUID." -msgstr "올바른 UUID를 입력하세요." - -msgid "Enter a valid JSON." -msgstr "올바른 JSON을 입력하세요." - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(%(name)s hidden 필드) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "관리폼 데이터가 없거나 변조되었습니다." - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "%d 개 이하의 양식을 제출하세요." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "%d 개 이상의 양식을 제출하세요." - -msgid "Order" -msgstr "순서:" - -msgid "Delete" -msgstr "삭제" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "%(field)s의 중복된 데이터를 고쳐주세요." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "%(field)s의 중복된 데이터를 고쳐주세요. 유일한 값이어야 합니다." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"%(field_name)s의 값은 %(date_field)s의 %(lookup)s에 대해 유일해야 합니다. 중" -"복된 데이터를 고쳐주세요." - -msgid "Please correct the duplicate values below." -msgstr "아래의 중복된 값들을 고쳐주세요." - -msgid "The inline value did not match the parent instance." -msgstr "Inline 값이 부모 인스턴스와 일치하지 않습니다." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "올바르게 선택해 주세요. 선택하신 것이 선택가능항목에 없습니다." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "\"%(pk)s\" 은/는 유효한 값이 아닙니다." - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" -"%(datetime)s 은/는 %(current_timezone)s 시간대에서 해석될 수 없습니다; 정보" -"가 모호하거나 존재하지 않을 수 있습니다." - -msgid "Clear" -msgstr "취소" - -msgid "Currently" -msgstr "현재" - -msgid "Change" -msgstr "변경" - -msgid "Unknown" -msgstr "알 수 없습니다." - -msgid "Yes" -msgstr "예" - -msgid "No" -msgstr "아니오" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "예,아니오,아마도" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d 바이트" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "오후" - -msgid "a.m." -msgstr "오전" - -msgid "PM" -msgstr "오후" - -msgid "AM" -msgstr "오전" - -msgid "midnight" -msgstr "자정" - -msgid "noon" -msgstr "정오" - -msgid "Monday" -msgstr "월요일" - -msgid "Tuesday" -msgstr "화요일" - -msgid "Wednesday" -msgstr "수요일" - -msgid "Thursday" -msgstr "목요일" - -msgid "Friday" -msgstr "금요일" - -msgid "Saturday" -msgstr "토요일" - -msgid "Sunday" -msgstr "일요일" - -msgid "Mon" -msgstr "월요일" - -msgid "Tue" -msgstr "화요일" - -msgid "Wed" -msgstr "수요일" - -msgid "Thu" -msgstr "목요일" - -msgid "Fri" -msgstr "금요일" - -msgid "Sat" -msgstr "토요일" - -msgid "Sun" -msgstr "일요일" - -msgid "January" -msgstr "1월" - -msgid "February" -msgstr "2월" - -msgid "March" -msgstr "3월" - -msgid "April" -msgstr "4월" - -msgid "May" -msgstr "5월" - -msgid "June" -msgstr "6월" - -msgid "July" -msgstr "7월" - -msgid "August" -msgstr "8월" - -msgid "September" -msgstr "9월" - -msgid "October" -msgstr "10월" - -msgid "November" -msgstr "11월" - -msgid "December" -msgstr "12월" - -msgid "jan" -msgstr "1월" - -msgid "feb" -msgstr "2월" - -msgid "mar" -msgstr "3월" - -msgid "apr" -msgstr "4월" - -msgid "may" -msgstr "5월" - -msgid "jun" -msgstr "6월" - -msgid "jul" -msgstr "7월" - -msgid "aug" -msgstr "8월" - -msgid "sep" -msgstr "9월" - -msgid "oct" -msgstr "10월" - -msgid "nov" -msgstr "11월" - -msgid "dec" -msgstr "12월" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "1월" - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "2월" - -msgctxt "abbrev. month" -msgid "March" -msgstr "3월" - -msgctxt "abbrev. month" -msgid "April" -msgstr "4월" - -msgctxt "abbrev. month" -msgid "May" -msgstr "5월" - -msgctxt "abbrev. month" -msgid "June" -msgstr "6월" - -msgctxt "abbrev. month" -msgid "July" -msgstr "7월" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "8월" - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "9월" - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "10월" - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "11월" - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "12월" - -msgctxt "alt. month" -msgid "January" -msgstr "1월" - -msgctxt "alt. month" -msgid "February" -msgstr "2월" - -msgctxt "alt. month" -msgid "March" -msgstr "3월" - -msgctxt "alt. month" -msgid "April" -msgstr "4월" - -msgctxt "alt. month" -msgid "May" -msgstr "5월" - -msgctxt "alt. month" -msgid "June" -msgstr "6월" - -msgctxt "alt. month" -msgid "July" -msgstr "7월" - -msgctxt "alt. month" -msgid "August" -msgstr "8월" - -msgctxt "alt. month" -msgid "September" -msgstr "9월" - -msgctxt "alt. month" -msgid "October" -msgstr "10월" - -msgctxt "alt. month" -msgid "November" -msgstr "11월" - -msgctxt "alt. month" -msgid "December" -msgstr "12월" - -msgid "This is not a valid IPv6 address." -msgstr "올바른 IPv6 주소가 아닙니다." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s..." - -msgid "or" -msgstr "또는" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d년" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d개월" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d주" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d일" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d시간" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d분" - -msgid "Forbidden" -msgstr "Forbidden" - -msgid "CSRF verification failed. Request aborted." -msgstr "CSRF 검증에 실패했습니다. 요청을 중단하였습니다." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" -"이 메세지가 보이는 이유는 이 HTTPS 사이트가 당신의 웹 브라우저로부터 '참조 헤" -"더'를 요구하지만, 아무것도 받기 못하였기 때문입니다. 이 헤더는 보안상의 문제" -"로 필요하며, 제3자에 의해 당신의 웹 브라우저가 해킹당하고 있지 않다는 것을 보" -"장합니다." - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" -"만약 브라우저 설정에서 '참조' 헤더를 비활성화 시켰을 경우, 적어도 이 사이트" -"나 HTTPS 연결, '동일-출처' 요청에 대해서는 이를 다시 활성화 시키십시오. " - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" -"태그나 'Referrer-Policy: no-" -"referrer' 헤더를 포함하고 있다면, 제거해주시기 바랍니다. CSRF 방지를 위한 리" -"퍼러 검사를 위해 'Referer' 헤더가 필요합니다. 개인 정보에 대해 우려가 있는 경" -"우, 서드 파티 사이트에 대한 링크에 와 같은 대안을 사" -"용할 수 있습니다." - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"이 메세지가 보이는 이유는 사이트가 폼을 제출할 때 CSRF 쿠키를 필요로 하기 때" -"문입니다. 이 쿠키는 보안상의 이유로 필요하며, 제3자에 의해 당신의 브라우저가 " -"해킹당하고 있지 않다는 것을 보장합니다." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" -"만약 브라우저 설정에서 쿠키를 비활성화 시켰을 경우, 적어도 이 사이트나 '동일-" -"출처' 요청에 대해서는 활성화 시키십시오." - -msgid "More information is available with DEBUG=True." -msgstr "DEBUG=True 로 더 많은 정보를 확인할 수 있습니다." - -msgid "No year specified" -msgstr "년도가 없습니다." - -msgid "Date out of range" -msgstr "유효 범위 밖의 날짜" - -msgid "No month specified" -msgstr "월이 없습니다." - -msgid "No day specified" -msgstr "날짜가 없습니다." - -msgid "No week specified" -msgstr "주가 없습니다." - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr " %(verbose_name_plural)s를 사용할 수 없습니다." - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"Future 모듈 %(verbose_name_plural)s을 사용할 수 없습니다. %(class_name)s." -"allow_future가 False 입니다." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "날짜 문자열 '%(datestr)s'이 표준 형식 '%(format)s'과 다릅니다." - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "쿼리 결과에 %(verbose_name)s가 없습니다." - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "'마지막' 페이지가 아니거나, 정수형으로 변환할 수 없습니다." - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Invalid page (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "빈 리스트이고 '%(class_name)s.allow_empty'가 False입니다." - -msgid "Directory indexes are not allowed here." -msgstr "디렉토리 인덱스는 이곳에 사용할 수 없습니다." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "\"%(path)s\" 이/가 존재하지 않습니다." - -#, python-format -msgid "Index of %(directory)s" -msgstr "Index of %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "Django: 마감에 쫓기는 완벽주의자를 위한 웹 프레임워크" - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"Django %(version)s릴리스 노트 보기" - -msgid "The install worked successfully! Congratulations!" -msgstr "성공적으로 설치되었습니다! 축하합니다!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"이 페이지는 어떤 URL도 지정되지 않았고, settings 파일에 DEBUG=True가 설정되어 있을 때 표시됩니다." - -msgid "Django Documentation" -msgstr "Django 문서" - -msgid "Topics, references, & how-to’s" -msgstr "주제, 레퍼런스, & 입문참조하다" - -msgid "Tutorial: A Polling App" -msgstr "튜토리얼: 폴링 애플리케이션" - -msgid "Get started with Django" -msgstr "Django와 함께 시작하기" - -msgid "Django Community" -msgstr "Django 커뮤니티" - -msgid "Connect, get help, or contribute" -msgstr "연결하고, 도움을 받거나 기여하기" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ko/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/ko/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ko/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/ko/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 2a816cb4..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/ko/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ko/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/ko/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 53c80f3a..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/ko/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ko/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/ko/formats.py deleted file mode 100644 index 0e281e94..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/ko/formats.py +++ /dev/null @@ -1,49 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'Y년 n월 j일' -TIME_FORMAT = 'A g:i' -DATETIME_FORMAT = 'Y년 n월 j일 g:i A' -YEAR_MONTH_FORMAT = 'Y년 n월' -MONTH_DAY_FORMAT = 'n월 j일' -SHORT_DATE_FORMAT = 'Y-n-j.' -SHORT_DATETIME_FORMAT = 'Y-n-j H:i' -# FIRST_DAY_OF_WEEK = - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -# Kept ISO formats as they are in first position -DATE_INPUT_FORMATS = [ - '%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', # '2006-10-25', '10/25/2006', '10/25/06' - # '%b %d %Y', '%b %d, %Y', # 'Oct 25 2006', 'Oct 25, 2006' - # '%d %b %Y', '%d %b, %Y', # '25 Oct 2006', '25 Oct, 2006' - # '%B %d %Y', '%B %d, %Y', # 'October 25 2006', 'October 25, 2006' - # '%d %B %Y', '%d %B, %Y', # '25 October 2006', '25 October, 2006' - '%Y년 %m월 %d일', # '2006년 10월 25일', with localized suffix. -] -TIME_INPUT_FORMATS = [ - '%H:%M:%S', # '14:30:59' - '%H:%M:%S.%f', # '14:30:59.000200' - '%H:%M', # '14:30' - '%H시 %M분 %S초', # '14시 30분 59초' - '%H시 %M분', # '14시 30분' -] -DATETIME_INPUT_FORMATS = [ - '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59' - '%Y-%m-%d %H:%M:%S.%f', # '2006-10-25 14:30:59.000200' - '%Y-%m-%d %H:%M', # '2006-10-25 14:30' - '%m/%d/%Y %H:%M:%S', # '10/25/2006 14:30:59' - '%m/%d/%Y %H:%M:%S.%f', # '10/25/2006 14:30:59.000200' - '%m/%d/%Y %H:%M', # '10/25/2006 14:30' - '%m/%d/%y %H:%M:%S', # '10/25/06 14:30:59' - '%m/%d/%y %H:%M:%S.%f', # '10/25/06 14:30:59.000200' - '%m/%d/%y %H:%M', # '10/25/06 14:30' - - '%Y년 %m월 %d일 %H시 %M분 %S초', # '2006년 10월 25일 14시 30분 59초' - '%Y년 %m월 %d일 %H시 %M분', # '2006년 10월 25일 14시 30분' -] - -DECIMAL_SEPARATOR = '.' -THOUSAND_SEPARATOR = ',' -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ky/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/ky/LC_MESSAGES/django.mo deleted file mode 100644 index e1d98559..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/ky/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ky/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/ky/LC_MESSAGES/django.po deleted file mode 100644 index 5e3664d7..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/ky/LC_MESSAGES/django.po +++ /dev/null @@ -1,1268 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Soyuzbek Orozbek uulu , 2020 -# Soyuzbek Orozbek uulu , 2020 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-07-20 07:38+0000\n" -"Last-Translator: Soyuzbek Orozbek uulu \n" -"Language-Team: Kyrgyz (http://www.transifex.com/django/django/language/ky/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ky\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -msgid "Afrikaans" -msgstr "Африканча" - -msgid "Arabic" -msgstr "Арабча" - -msgid "Algerian Arabic" -msgstr "Алжир арабчасы" - -msgid "Asturian" -msgstr "Австрийче" - -msgid "Azerbaijani" -msgstr "Азерче" - -msgid "Bulgarian" -msgstr "Болгарча" - -msgid "Belarusian" -msgstr "Белорусча" - -msgid "Bengali" -msgstr "Бенгалча" - -msgid "Breton" -msgstr "Бретончо" - -msgid "Bosnian" -msgstr "Босния" - -msgid "Catalan" -msgstr "Каталан" - -msgid "Czech" -msgstr "Чехче" - -msgid "Welsh" -msgstr "Валлий" - -msgid "Danish" -msgstr "Данчийче" - -msgid "German" -msgstr "Немисче" - -msgid "Lower Sorbian" -msgstr "Сорб" - -msgid "Greek" -msgstr "Грекче" - -msgid "English" -msgstr "Англисче" - -msgid "Australian English" -msgstr "Авс. Англисчеси" - -msgid "British English" -msgstr "Бр. Англ." - -msgid "Esperanto" -msgstr "Есперанто" - -msgid "Spanish" -msgstr "Испанча" - -msgid "Argentinian Spanish" -msgstr "Арг. исп" - -msgid "Colombian Spanish" -msgstr "Колумб Испанчасы" - -msgid "Mexican Spanish" -msgstr "Мекс. исп" - -msgid "Nicaraguan Spanish" -msgstr "Никарагуа испанчасы" - -msgid "Venezuelan Spanish" -msgstr "Венесуела Испанчасы" - -msgid "Estonian" -msgstr "Эстон" - -msgid "Basque" -msgstr "Баск" - -msgid "Persian" -msgstr "Персче" - -msgid "Finnish" -msgstr "Финче" - -msgid "French" -msgstr "Французча" - -msgid "Frisian" -msgstr "Фризче" - -msgid "Irish" -msgstr "Ирланча" - -msgid "Scottish Gaelic" -msgstr "Шотланча" - -msgid "Galician" -msgstr "Галицианча" - -msgid "Hebrew" -msgstr "Жөөтчө" - -msgid "Hindi" -msgstr "Хиндче" - -msgid "Croatian" -msgstr "Хорватча" - -msgid "Upper Sorbian" -msgstr "Жогорку Сорбчо" - -msgid "Hungarian" -msgstr "Венгрче" - -msgid "Armenian" -msgstr "Арменче" - -msgid "Interlingua" -msgstr "Эл аралык" - -msgid "Indonesian" -msgstr "Индонезче" - -msgid "Igbo" -msgstr "Игбо" - -msgid "Ido" -msgstr "идо" - -msgid "Icelandic" -msgstr "Исландча" - -msgid "Italian" -msgstr "Итальянча" - -msgid "Japanese" -msgstr "Жапончо" - -msgid "Georgian" -msgstr "Грузинче" - -msgid "Kabyle" -msgstr "Кабилче" - -msgid "Kazakh" -msgstr "Казакча" - -msgid "Khmer" -msgstr "Кхмер" - -msgid "Kannada" -msgstr "Канадча" - -msgid "Korean" -msgstr "Корейче" - -msgid "Kyrgyz" -msgstr "Кыргызча" - -msgid "Luxembourgish" -msgstr "Люкцембургча" - -msgid "Lithuanian" -msgstr "Литвача" - -msgid "Latvian" -msgstr "Латвияча" - -msgid "Macedonian" -msgstr "Македончо" - -msgid "Malayalam" -msgstr "Малаяламча" - -msgid "Mongolian" -msgstr "Монголчо" - -msgid "Marathi" -msgstr "Марати" - -msgid "Burmese" -msgstr "Бурмача" - -msgid "Norwegian Bokmål" -msgstr "Норвег Бокмолчо" - -msgid "Nepali" -msgstr "Непалча" - -msgid "Dutch" -msgstr "Голландча" - -msgid "Norwegian Nynorsk" -msgstr "Норвегиялык нюнор" - -msgid "Ossetic" -msgstr "Оссетче" - -msgid "Punjabi" -msgstr "Пенжабча" - -msgid "Polish" -msgstr "Полякча" - -msgid "Portuguese" -msgstr "Португалча" - -msgid "Brazilian Portuguese" -msgstr "Бразилиялык португалчасы" - -msgid "Romanian" -msgstr "Румынча" - -msgid "Russian" -msgstr "Орусча" - -msgid "Slovak" -msgstr "Словакча" - -msgid "Slovenian" -msgstr "Словенияча" - -msgid "Albanian" -msgstr "Албанча" - -msgid "Serbian" -msgstr "Сербче" - -msgid "Serbian Latin" -msgstr "Серб латынчасы" - -msgid "Swedish" -msgstr "Шведче" - -msgid "Swahili" -msgstr "Свахилче" - -msgid "Tamil" -msgstr "Тамиль" - -msgid "Telugu" -msgstr "Телугу" - -msgid "Tajik" -msgstr "Тажикче" - -msgid "Thai" -msgstr "Тайча" - -msgid "Turkmen" -msgstr "Түркмөнчө" - -msgid "Turkish" -msgstr "Түркчө" - -msgid "Tatar" -msgstr "Татарча" - -msgid "Udmurt" -msgstr "Удмурча" - -msgid "Ukrainian" -msgstr "Украинче" - -msgid "Urdu" -msgstr "Урду" - -msgid "Uzbek" -msgstr "Өзбекче" - -msgid "Vietnamese" -msgstr "Вьетнамча" - -msgid "Simplified Chinese" -msgstr "Жеңилдетилген кытайча" - -msgid "Traditional Chinese" -msgstr "салттык кытайча" - -msgid "Messages" -msgstr "Билдирүүлөр" - -msgid "Site Maps" -msgstr "сайт картасы" - -msgid "Static Files" -msgstr "Туруктуу файлдар" - -msgid "Syndication" -msgstr "Синдикат" - -msgid "That page number is not an integer" -msgstr "Бул барактын номуру сан эмес" - -msgid "That page number is less than 1" -msgstr "Бул барактын номуру 1 ден кичине" - -msgid "That page contains no results" -msgstr "Бул баракта жыйынтык жок" - -msgid "Enter a valid value." -msgstr "Туура маани киргиз" - -msgid "Enter a valid URL." -msgstr "Туура URL киргиз" - -msgid "Enter a valid integer." -msgstr "Туура натурал сан тер." - -msgid "Enter a valid email address." -msgstr "Туура эдарек тер." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" -"ариптер, цифралар, дефис же астыңкы сызык камтыган туура слаг киргизиңиз." - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" -"Юникод символдор, цифралар, астыңкы сызыктар же дефис камтыган туурга слаг " -"киргизиңиз." - -msgid "Enter a valid IPv4 address." -msgstr "Туура IPv4 тер." - -msgid "Enter a valid IPv6 address." -msgstr "Туура IPv6 тер." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Туура IPv4 же IPv6 тер." - -msgid "Enter only digits separated by commas." -msgstr "Жалаң үтүр менен бөлүнгөн сан тер." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "Бул маани %(limit_value)s ашпоосун текшериңиз (азыр %(show_value)s)" - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "%(limit_value)s карата кичине же барабар маани болгонун текшериңиз" - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "%(limit_value)s карата чоң же барабар маани болгонун текшериңиз" - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Бул маани жок дегенде %(limit_value)dсимвол камтыганын текшериңиз (азыркысы " -"%(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Бул маани эң көп %(limit_value)dсимвол камтыганын текшериңиз (азыркысы " -"%(show_value)d)." - -msgid "Enter a number." -msgstr "Сан киргизиңиз." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Жалпысынан %(max)sорундан ашпоосун текшериңиз." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "Жалпысынан ондук сандын%(max)s ашпоосун текшериңиз." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "Жалпысынан үтүргө чейин%(max)s ашпоосун текшериңиз." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" -"%(extension)sфайл кеңейтүүсү кабыл алынбайт. Кабыл алынгандар: " -"%(allowed_extensions)s." - -msgid "Null characters are not allowed." -msgstr "Боштук кабыл алынбайт" - -msgid "and" -msgstr "жана" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "%(model_name)s бул %(field_labels)s менен мурдатан эле бар" - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "%(value)r мааниси туура эмес тандоо." - -msgid "This field cannot be null." -msgstr "Бул аймак жок маани албашы керек" - -msgid "This field cannot be blank." -msgstr "Бул аймак бош калбашы керек" - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s бул %(field_label)s менен мурдатан эле бар" - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(field_label)s %(date_field_label)s %(lookup_type)s үчүн уникал болуусу " -"керек." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "аймактын түрү: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "“%(value)s” мааниси же True же False болуусу керек." - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "“%(value)s” мааниси же True же False же None болуусу керек." - -msgid "Boolean (Either True or False)" -msgstr "Булен (Туура же Ката)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Сап (%(max_length)s чейин)" - -msgid "Comma-separated integers" -msgstr "үтүр менен бөлүнгөн сан" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" -"“%(value)s” мааниси туура эмес форматта. Ал ЖЖЖЖ-АА-КК форматта болуусу " -"керек." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "%(value)sмааниси туура (ЖЖЖЖ-АА-КК) форматта бирок ал күн туура эмес." - -msgid "Date (without time)" -msgstr "Күн (убакытсыз)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" -"“%(value)s” мааниси туура эмес форматта. Ал ЖЖЖЖ-АА-КК СС:ММ[сс[.дддддд]]" -"[УЗ] форматта болуусу керек." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" -"“%(value)s” мааниси туура форматта (ЖЖЖЖ-АА-КК СС:ММ[сс[.дддддд]][УЗ] ) " -"бирок ал күн/убакыт туура эмес." - -msgid "Date (with time)" -msgstr "Күн(убакыттуу)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "“%(value)s” мааниси ондук сан болушу керек." - -msgid "Decimal number" -msgstr "ондук сан" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" -"“%(value)s” мааниси туура эмес форматта. Ал [КК][[CC:]MM:]cc[.дддддд] " -"форматта болуусу керек." - -msgid "Duration" -msgstr "Мөөнөт" - -msgid "Email address" -msgstr "электрондук дарек" - -msgid "File path" -msgstr "файл жайгашуусу" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "“%(value)s” мааниси калкыган чекиттүү болуусу керек." - -msgid "Floating point number" -msgstr "калкыган чекит саны" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "“%(value)s” мааниси натуралдык сан болуусу керек." - -msgid "Integer" -msgstr "Натурал сан" - -msgid "Big (8 byte) integer" -msgstr "Чоң ( 8 байт) натурал сан" - -msgid "IPv4 address" -msgstr "IPv4 дареги" - -msgid "IP address" -msgstr "IP дареги" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "“%(value)s” мааниси же None же True же False болуусу керек." - -msgid "Boolean (Either True, False or None)" -msgstr "Булен(Туура же Жалган же Куру)" - -msgid "Positive big integer" -msgstr "Оң чоң натуралдык сан." - -msgid "Positive integer" -msgstr "оң сан" - -msgid "Positive small integer" -msgstr "кичине оң сан" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "слаг ( %(max_length)s чейин)" - -msgid "Small integer" -msgstr "кичине натурал сан" - -msgid "Text" -msgstr "сап" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" -"“%(value)s” мааниси туура эмес форматта. Ал СС:ММ[:сс[.ддддддд]] форматта " -"болуусу керек." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" -"“%(value)s” мааниси туура форматта (СС:ММ[:cc[.дддддд]]) бирок ал убакыт " -"туура эмес." - -msgid "Time" -msgstr "Убакыт" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "жалаң экилик берилиш" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "“%(value)s” туура эмес UUID." - -msgid "Universally unique identifier" -msgstr "универсал уникал көрсөтүүчү" - -msgid "File" -msgstr "Файл" - -msgid "Image" -msgstr "Сүрөт" - -msgid "A JSON object" -msgstr "JSON обектиси" - -msgid "Value must be valid JSON." -msgstr "Маани туура JSON болушу керек." - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "%(model)s нерсеси %(field)s аймагы %(value)r маани менен табылбады." - -msgid "Foreign Key (type determined by related field)" -msgstr "Бөтөн Ачкыч (байланышкан аймак менен аныкталат)" - -msgid "One-to-one relationship" -msgstr "Бирге-бир байланышы" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "%(from)s-%(to)s байланышы" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "%(from)s-%(to)s байланыштары" - -msgid "Many-to-many relationship" -msgstr "көпкө-көп байланышы" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Бул талаа керектүү." - -msgid "Enter a whole number." -msgstr "Толук сан киргиз." - -msgid "Enter a valid date." -msgstr "туура күн киргиз." - -msgid "Enter a valid time." -msgstr "Туура убакыт киргиз." - -msgid "Enter a valid date/time." -msgstr "Туура күн/убакыт киргиз." - -msgid "Enter a valid duration." -msgstr "Туура мөөнөт киргиз." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "Күндөрдүн саны {min_days} жана {max_days} арасында болуусу керек." - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Файл жиберилген жок. Формдун бекитүү түрүн текшер." - -msgid "No file was submitted." -msgstr "Файл жиберилген жок." - -msgid "The submitted file is empty." -msgstr "Жиберилген файл бош." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Бул файлдын аты эң көп %(max)dсимвол ала алат. (азыркысы %(length)d)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "Сураныч же файл жибериңиз же тандоону бош калтырыңыз. Экөөн тең эмес." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "Туура сүрөт жөнөтүңүз. Сиз жүктөгөн же сүрөт эмес же бузулган сүрөт." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "Туура тандоону танда. %(value)s мүмкүн болгон тандоо эмес." - -msgid "Enter a list of values." -msgstr "Туура маанилер тизмесин киргиз." - -msgid "Enter a complete value." -msgstr "Толук маани киргиз." - -msgid "Enter a valid UUID." -msgstr "Туура UUID киргиз." - -msgid "Enter a valid JSON." -msgstr "Туура JSON киргиз." - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(жашырылган аймак %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "ФормБашкаруу берилиши унутулган же бурмаланган" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "%dже азыраак форм жөнөтүңүз." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "%dже көбүрөөк форм жөнөтүңүз." - -msgid "Order" -msgstr "Тартип" - -msgid "Delete" -msgstr "Өчүрүү" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "%(field)s үчүн кайталанган маанилерди оңдоңуз." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"%(field)s үчүн кайталанган маанилерди оңдоңуз алар уникал болуусу керек." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"%(field_name)s %(date_field)s да %(lookup)s үчүн уникал болусу керек. " -"Берилиштерди оңдоңуз." - -msgid "Please correct the duplicate values below." -msgstr "Төмөндө кайталанган маанилерди оңдоңуз." - -msgid "The inline value did not match the parent instance." -msgstr "Катардагы маани энелик нерсеге туура келбей жатат." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "Туура тандоо кылыңыз. Ал тандоо мүмкүнчүлүктөн сырткары." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr " “%(pk)s”туура эмес маани." - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" -"%(datetime)sкүнү %(current_timezone)sубактысы боюнча чечмелене албай атат. " -"Ал экианжы же жок болушу мүмкүн." - -msgid "Clear" -msgstr "Тазалоо" - -msgid "Currently" -msgstr "Азыркы" - -msgid "Change" -msgstr "өзгөртүү" - -msgid "Unknown" -msgstr "Белгисиз" - -msgid "Yes" -msgstr "Ооба" - -msgid "No" -msgstr "Жок" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "ооба, жок, балким" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)dбит" - -#, python-format -msgid "%s KB" -msgstr "%s КБ" - -#, python-format -msgid "%s MB" -msgstr "%s мегабайт" - -#, python-format -msgid "%s GB" -msgstr "%s гигабайт" - -#, python-format -msgid "%s TB" -msgstr "%s терабайт" - -#, python-format -msgid "%s PB" -msgstr "%s пикабайт" - -msgid "p.m." -msgstr "түштөн кийин" - -msgid "a.m." -msgstr "түшкө чейин" - -msgid "PM" -msgstr "Түштөн кийин" - -msgid "AM" -msgstr "Түшкө чейин" - -msgid "midnight" -msgstr "Түнүчү" - -msgid "noon" -msgstr "ай" - -msgid "Monday" -msgstr "Дүйшөмбү" - -msgid "Tuesday" -msgstr "Шейшемби" - -msgid "Wednesday" -msgstr "Шаршемби" - -msgid "Thursday" -msgstr "Бейшемби" - -msgid "Friday" -msgstr "Жума" - -msgid "Saturday" -msgstr "Ишемби" - -msgid "Sunday" -msgstr "Жекшемби" - -msgid "Mon" -msgstr "Дүйш" - -msgid "Tue" -msgstr "Шей" - -msgid "Wed" -msgstr "Шар" - -msgid "Thu" -msgstr "Бей" - -msgid "Fri" -msgstr "Жума" - -msgid "Sat" -msgstr "Ише" - -msgid "Sun" -msgstr "Жек" - -msgid "January" -msgstr "Январь" - -msgid "February" -msgstr "Февраль" - -msgid "March" -msgstr "Март" - -msgid "April" -msgstr "Апрель" - -msgid "May" -msgstr "Май" - -msgid "June" -msgstr "Июнь" - -msgid "July" -msgstr "Июль" - -msgid "August" -msgstr "Август" - -msgid "September" -msgstr "Сентябрь" - -msgid "October" -msgstr "Октябрь" - -msgid "November" -msgstr "Ноябрь" - -msgid "December" -msgstr "Декабрь" - -msgid "jan" -msgstr "янв" - -msgid "feb" -msgstr "фев" - -msgid "mar" -msgstr "мар" - -msgid "apr" -msgstr "апр" - -msgid "may" -msgstr "май" - -msgid "jun" -msgstr "июн" - -msgid "jul" -msgstr "июл" - -msgid "aug" -msgstr "авг" - -msgid "sep" -msgstr "сен" - -msgid "oct" -msgstr "окт" - -msgid "nov" -msgstr "ноя" - -msgid "dec" -msgstr "дек" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Янв." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Фев." - -msgctxt "abbrev. month" -msgid "March" -msgstr "Март" - -msgctxt "abbrev. month" -msgid "April" -msgstr "Апрель" - -msgctxt "abbrev. month" -msgid "May" -msgstr "Май" - -msgctxt "abbrev. month" -msgid "June" -msgstr "Июнь" - -msgctxt "abbrev. month" -msgid "July" -msgstr "Июль" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Авг." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Сен." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Окт." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Ноя." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Дек." - -msgctxt "alt. month" -msgid "January" -msgstr "Январь" - -msgctxt "alt. month" -msgid "February" -msgstr "Февраль" - -msgctxt "alt. month" -msgid "March" -msgstr "Март" - -msgctxt "alt. month" -msgid "April" -msgstr "Апрель" - -msgctxt "alt. month" -msgid "May" -msgstr "Май" - -msgctxt "alt. month" -msgid "June" -msgstr "Июнь" - -msgctxt "alt. month" -msgid "July" -msgstr "Июль" - -msgctxt "alt. month" -msgid "August" -msgstr "Август" - -msgctxt "alt. month" -msgid "September" -msgstr "Сентябрь" - -msgctxt "alt. month" -msgid "October" -msgstr "Октябрь" - -msgctxt "alt. month" -msgid "November" -msgstr "Ноябрь" - -msgctxt "alt. month" -msgid "December" -msgstr "Декабрь" - -msgid "This is not a valid IPv6 address." -msgstr "Бул туура эмес IPv6 дареги" - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s..." - -msgid "or" -msgstr "же" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr "," - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%dжыл" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%dай" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%dжума" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%dкүн" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%dсаат" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%dмүнөт" - -msgid "Forbidden" -msgstr "Тыйылган" - -msgid "CSRF verification failed. Request aborted." -msgstr "CSRF текшерүү кыйрады. Суроо четке кагылды." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" -"Сиз бул билдирүүнү HTTPS сайты, браузер тарабынан жөнөтүлчү “Referer header” " -"тарабынан талап кылынганы бирок жөнөтүлбөгөндүгү үчүн көрүп атасыз. Бул " -"хэдер коопсуздук чаралары үчүн керек болот. Сиздин броузер үчүнчү тараптан " -"барымтага алынбаганын текшериңиз." - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" -"Эгер сиз броузерден “Referer” хэдерин өчүрүп салсаңыз, аны күйгүзүп коюңуз. " -"Жок дегенде ушул сайт үчүн же жок дегенде HTTPS байланышуу үчүн. Же болбосо " -"“same-origin” суроолору үчүн." - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" -"Эгер сиз тегин же “Referrer-" -"Policy: no-referrer” хэдерин колдонуп жатсаңыз, аларды өчүрүп салыңыз. CSRF " -"коргоосу “Referer” хэдерин талап кылат. Эгер сиз коопсуздук жөнүндө " -"кабатырланып атсаңыз үчүнчү жактар үчүн шилтемесин " -"колдонуңуз." - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Сиз бул билдирүүнү бул сайт форм жиберүүдө CSRF кукини талап кылгандыгы үчүн " -"көрүп жатасыз. Бул куки коопсуздуктан улам сиздин сайтыңыз үчүнчү жактан " -"чабуулга кабылбаганын текшерүү үчүн талап кылынат. " - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" -"Эгер сиз броузерде кукиледи өчүрүп койсоңуз, аларды кайра күйгүзүп коюңуз. " -"Жок дегенде ушул сайтка же “same-origin” суроолоруна." - -msgid "More information is available with DEBUG=True." -msgstr "Сиз бул маалыматты DEBUG=True болгону үчүн көрүп жатасыз." - -msgid "No year specified" -msgstr "Жыл көрсөтүлгөн эмес" - -msgid "Date out of range" -msgstr "Күн чектен сырткары" - -msgid "No month specified" -msgstr "Ай көрсөтүлгөн эмес" - -msgid "No day specified" -msgstr "Апта күнү көрсөтүлгөн эмес" - -msgid "No week specified" -msgstr "Апта көрсөтүлгө эмес" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "%(verbose_name_plural)s жок" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"%(verbose_name_plural)s future си тейленбейт. Себеби %(class_name)s." -"allow_future си False маани алган." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "Туура эмес күн сабы “%(datestr)s” берилген формат болсо “%(format)s”." - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "суроого эч бир %(verbose_name)s табылбады" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "Барак акыркы эмес. Же натуралдык санга өткөрүлө албай атат." - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Туура эмес (%(page_number)s) барак: %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "Бош тизме жана “%(class_name)s.allow_empty” = False болуп калган." - -msgid "Directory indexes are not allowed here." -msgstr "Папка индекстери бул жерде иштей албайт." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "“%(path)s” жашабайт" - -#, python-format -msgid "Index of %(directory)s" -msgstr "%(directory)s индексттери" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "Жанго: убакыт боюнча кынтыксыздар үчүн фреймворк." - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"Жанго %(version)s үчүн чыгарылыш " -"эскертмелерин кара." - -msgid "The install worked successfully! Congratulations!" -msgstr "Орнотуу ийгиликтүү аяктады! Куттуу болсун!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"Сиз бул бетти сиздин тууралоо файлыңызда DEBUG=True жана эчбир урл тууралабагандыгыңыз үчүн көрүп " -"жататсыз." - -msgid "Django Documentation" -msgstr "Жанго Түшүндүрмөсү" - -msgid "Topics, references, & how-to’s" -msgstr "Темалар, Сурамжылар, & кантип.. тер" - -msgid "Tutorial: A Polling App" -msgstr "Колдонмо:" - -msgid "Get started with Django" -msgstr "Жангону башта" - -msgid "Django Community" -msgstr "Жанго жамааты" - -msgid "Connect, get help, or contribute" -msgstr "Туташ, жардам ал, же салым кош" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ky/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/ky/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ky/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/ky/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 03cca98b..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/ky/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ky/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/ky/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 8287e729..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/ky/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ky/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/ky/formats.py deleted file mode 100644 index 1dc42c41..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/ky/formats.py +++ /dev/null @@ -1,32 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'j E Y ж.' -TIME_FORMAT = 'G:i' -DATETIME_FORMAT = 'j E Y ж. G:i' -YEAR_MONTH_FORMAT = 'F Y ж.' -MONTH_DAY_FORMAT = 'j F' -SHORT_DATE_FORMAT = 'd.m.Y' -SHORT_DATETIME_FORMAT = 'd.m.Y H:i' -FIRST_DAY_OF_WEEK = 1 # Дүйшөмбү, Monday - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -DATE_INPUT_FORMATS = [ - '%d.%m.%Y', # '25.10.2006' - '%d.%m.%y', # '25.10.06' -] -DATETIME_INPUT_FORMATS = [ - '%d.%m.%Y %H:%M:%S', # '25.10.2006 14:30:59' - '%d.%m.%Y %H:%M:%S.%f', # '25.10.2006 14:30:59.000200' - '%d.%m.%Y %H:%M', # '25.10.2006 14:30' - '%d.%m.%Y', # '25.10.2006' - '%d.%m.%y %H:%M:%S', # '25.10.06 14:30:59' - '%d.%m.%y %H:%M:%S.%f', # '25.10.06 14:30:59.000200' - '%d.%m.%y %H:%M', # '25.10.06 14:30' - '%d.%m.%y', # '25.10.06' -] -DECIMAL_SEPARATOR = '.' -THOUSAND_SEPARATOR = '\xa0' # non-breaking space -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/lb/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/lb/LC_MESSAGES/django.mo deleted file mode 100644 index 2cf2c8bd..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/lb/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/lb/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/lb/LC_MESSAGES/django.po deleted file mode 100644 index b0d47554..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/lb/LC_MESSAGES/django.po +++ /dev/null @@ -1,1213 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# sim0n , 2011,2013 -# sim0n , 2013 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-27 22:40+0200\n" -"PO-Revision-Date: 2019-11-05 00:38+0000\n" -"Last-Translator: Ramiro Morales\n" -"Language-Team: Luxembourgish (http://www.transifex.com/django/django/" -"language/lb/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: lb\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "Afrikaans" -msgstr "Afrikaans" - -msgid "Arabic" -msgstr "Arabesch" - -msgid "Asturian" -msgstr "" - -msgid "Azerbaijani" -msgstr "" - -msgid "Bulgarian" -msgstr "Bulgaresch" - -msgid "Belarusian" -msgstr "Wäissrussesch" - -msgid "Bengali" -msgstr "Bengalesch" - -msgid "Breton" -msgstr "" - -msgid "Bosnian" -msgstr "Bosnesch" - -msgid "Catalan" -msgstr "Katalanesch" - -msgid "Czech" -msgstr "Tschechesch" - -msgid "Welsh" -msgstr "Walisesch" - -msgid "Danish" -msgstr "Dänesch" - -msgid "German" -msgstr "Däitsch" - -msgid "Lower Sorbian" -msgstr "" - -msgid "Greek" -msgstr "Griichesch" - -msgid "English" -msgstr "Englesch" - -msgid "Australian English" -msgstr "" - -msgid "British English" -msgstr "Britesch Englesch" - -msgid "Esperanto" -msgstr "" - -msgid "Spanish" -msgstr "Spuenesch" - -msgid "Argentinian Spanish" -msgstr "Argentinesch Spuenesch" - -msgid "Colombian Spanish" -msgstr "" - -msgid "Mexican Spanish" -msgstr "Mexikanesch Spuenesch" - -msgid "Nicaraguan Spanish" -msgstr "" - -msgid "Venezuelan Spanish" -msgstr "" - -msgid "Estonian" -msgstr "Estonesch" - -msgid "Basque" -msgstr "Baskesch" - -msgid "Persian" -msgstr "Persesch" - -msgid "Finnish" -msgstr "Finnesch" - -msgid "French" -msgstr "Franséisch" - -msgid "Frisian" -msgstr "Frisesch" - -msgid "Irish" -msgstr "Iresch" - -msgid "Scottish Gaelic" -msgstr "" - -msgid "Galician" -msgstr "Galesch" - -msgid "Hebrew" -msgstr "Hebräesch" - -msgid "Hindi" -msgstr "Hindi" - -msgid "Croatian" -msgstr "Kroatesch" - -msgid "Upper Sorbian" -msgstr "" - -msgid "Hungarian" -msgstr "Ungaresch" - -msgid "Armenian" -msgstr "" - -msgid "Interlingua" -msgstr "" - -msgid "Indonesian" -msgstr "Indonesesch" - -msgid "Ido" -msgstr "" - -msgid "Icelandic" -msgstr "Islännesch" - -msgid "Italian" -msgstr "Italienesch" - -msgid "Japanese" -msgstr "Japanesch" - -msgid "Georgian" -msgstr "Georgesch" - -msgid "Kabyle" -msgstr "" - -msgid "Kazakh" -msgstr "" - -msgid "Khmer" -msgstr "Khmer" - -msgid "Kannada" -msgstr "Kanadesch" - -msgid "Korean" -msgstr "Koreanesch" - -msgid "Luxembourgish" -msgstr "Lëtzebuergesch" - -msgid "Lithuanian" -msgstr "Lithuanesesch" - -msgid "Latvian" -msgstr "Lättesch" - -msgid "Macedonian" -msgstr "Macedonesch" - -msgid "Malayalam" -msgstr "Malayalam" - -msgid "Mongolian" -msgstr "Mongolesch" - -msgid "Marathi" -msgstr "" - -msgid "Burmese" -msgstr "" - -msgid "Norwegian Bokmål" -msgstr "" - -msgid "Nepali" -msgstr "" - -msgid "Dutch" -msgstr "Hollännesch" - -msgid "Norwegian Nynorsk" -msgstr "Norwegesch Nynorsk" - -msgid "Ossetic" -msgstr "" - -msgid "Punjabi" -msgstr "Punjabi" - -msgid "Polish" -msgstr "Polnesch" - -msgid "Portuguese" -msgstr "Portugisesch" - -msgid "Brazilian Portuguese" -msgstr "Brasilianesch Portugisesch" - -msgid "Romanian" -msgstr "Rumänesch" - -msgid "Russian" -msgstr "Russesch" - -msgid "Slovak" -msgstr "Slowakesch" - -msgid "Slovenian" -msgstr "Slowenesch" - -msgid "Albanian" -msgstr "Albanesch" - -msgid "Serbian" -msgstr "Serbesch" - -msgid "Serbian Latin" -msgstr "Serbesch Latäinesch" - -msgid "Swedish" -msgstr "Schwedesch" - -msgid "Swahili" -msgstr "" - -msgid "Tamil" -msgstr "Tamil" - -msgid "Telugu" -msgstr "Telugu" - -msgid "Thai" -msgstr "Thai" - -msgid "Turkish" -msgstr "Tierkesch" - -msgid "Tatar" -msgstr "" - -msgid "Udmurt" -msgstr "" - -msgid "Ukrainian" -msgstr "Ukrainesch" - -msgid "Urdu" -msgstr "" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "Vietnamesesch" - -msgid "Simplified Chinese" -msgstr "Einfach d'Chinesesch" - -msgid "Traditional Chinese" -msgstr "Traditionell d'Chinesesch" - -msgid "Messages" -msgstr "" - -msgid "Site Maps" -msgstr "" - -msgid "Static Files" -msgstr "" - -msgid "Syndication" -msgstr "" - -msgid "That page number is not an integer" -msgstr "" - -msgid "That page number is less than 1" -msgstr "" - -msgid "That page contains no results" -msgstr "" - -msgid "Enter a valid value." -msgstr "Gëff en validen Wärt an." - -msgid "Enter a valid URL." -msgstr "Gëff eng valid URL an." - -msgid "Enter a valid integer." -msgstr "" - -msgid "Enter a valid email address." -msgstr "Gëff eng valid e-mail Adress an." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "Gëff eng valid IPv4 Adress an." - -msgid "Enter a valid IPv6 address." -msgstr "Gëff eng valid IPv6 Adress an." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Gëff eng valid IPv4 oder IPv6 Adress an." - -msgid "Enter only digits separated by commas." -msgstr "" - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "" - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "" - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" - -msgid "Enter a number." -msgstr "" - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "" - -msgid "and" -msgstr "an" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "" - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "" - -msgid "This field cannot be null." -msgstr "" - -msgid "This field cannot be blank." -msgstr "" - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "" - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "" - -msgid "Comma-separated integers" -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "Datum (ouni Zäit)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "Datum (mat Zäit)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "Dezimalzuel" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "" - -msgid "Email address" -msgstr "E-mail Adress" - -msgid "File path" -msgstr "" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "Kommazuel" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "Zuel" - -msgid "Big (8 byte) integer" -msgstr "Grouss (8 byte) Zuel" - -msgid "IPv4 address" -msgstr "IPv4 Adress" - -msgid "IP address" -msgstr "IP Adress" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "" - -msgid "Positive integer" -msgstr "Positiv Zuel" - -msgid "Positive small integer" -msgstr "Kleng positiv Zuel" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "" - -msgid "Small integer" -msgstr "Kleng Zuel" - -msgid "Text" -msgstr "Text" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "Zäit" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Rei Binär Daten" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "" - -msgid "File" -msgstr "Fichier" - -msgid "Image" -msgstr "Bild" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "" - -msgid "Foreign Key (type determined by related field)" -msgstr "" - -msgid "One-to-one relationship" -msgstr "" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "" - -msgid "Many-to-many relationship" -msgstr "" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "" - -msgid "Enter a whole number." -msgstr "" - -msgid "Enter a valid date." -msgstr "" - -msgid "Enter a valid time." -msgstr "" - -msgid "Enter a valid date/time." -msgstr "" - -msgid "Enter a valid duration." -msgstr "" - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "" - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "" - -msgid "No file was submitted." -msgstr "Et ass keng Datei geschéckt ginn." - -msgid "The submitted file is empty." -msgstr "" - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -msgstr[1] "" - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "" - -msgid "Enter a list of values." -msgstr "Gëff eng Lescht vun Wäerter an." - -msgid "Enter a complete value." -msgstr "" - -msgid "Enter a valid UUID." -msgstr "" - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "" -msgstr[1] "" - -msgid "Order" -msgstr "Sortéier" - -msgid "Delete" -msgstr "Läsch" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "" - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" - -msgid "Please correct the duplicate values below." -msgstr "" - -msgid "The inline value did not match the parent instance." -msgstr "" - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "Maach eidel" - -msgid "Currently" -msgstr "Momentan" - -msgid "Change" -msgstr "Änner" - -msgid "Unknown" -msgstr "Onbekannt" - -msgid "Yes" -msgstr "Jo" - -msgid "No" -msgstr "Nee" - -msgid "Year" -msgstr "" - -msgid "Month" -msgstr "" - -msgid "Day" -msgstr "" - -msgid "yes,no,maybe" -msgstr "jo,nee,vläit" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "p.m." - -msgid "a.m." -msgstr "a.m." - -msgid "PM" -msgstr "PM" - -msgid "AM" -msgstr "AM" - -msgid "midnight" -msgstr "" - -msgid "noon" -msgstr "" - -msgid "Monday" -msgstr "Méindeg" - -msgid "Tuesday" -msgstr "Dënschdeg" - -msgid "Wednesday" -msgstr "Mëttwoch" - -msgid "Thursday" -msgstr "Donneschdes" - -msgid "Friday" -msgstr "Freides" - -msgid "Saturday" -msgstr "Samschdes" - -msgid "Sunday" -msgstr "Sonndes" - -msgid "Mon" -msgstr "Mei" - -msgid "Tue" -msgstr "Dën" - -msgid "Wed" -msgstr "Mett" - -msgid "Thu" -msgstr "Don" - -msgid "Fri" -msgstr "Fre" - -msgid "Sat" -msgstr "Sam" - -msgid "Sun" -msgstr "Son" - -msgid "January" -msgstr "Januar" - -msgid "February" -msgstr "Februar" - -msgid "March" -msgstr "März" - -msgid "April" -msgstr "Abrell" - -msgid "May" -msgstr "" - -msgid "June" -msgstr "Juni" - -msgid "July" -msgstr "Juli" - -msgid "August" -msgstr "August" - -msgid "September" -msgstr "September" - -msgid "October" -msgstr "Oktober" - -msgid "November" -msgstr "November" - -msgid "December" -msgstr "Dezember" - -msgid "jan" -msgstr "jan" - -msgid "feb" -msgstr "feb" - -msgid "mar" -msgstr "mär" - -msgid "apr" -msgstr "abr" - -msgid "may" -msgstr "" - -msgid "jun" -msgstr "jun" - -msgid "jul" -msgstr "jul" - -msgid "aug" -msgstr "aug" - -msgid "sep" -msgstr "sep" - -msgid "oct" -msgstr "okt" - -msgid "nov" -msgstr "nov" - -msgid "dec" -msgstr "dec" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Jan." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Feb." - -msgctxt "abbrev. month" -msgid "March" -msgstr "März" - -msgctxt "abbrev. month" -msgid "April" -msgstr "Abrell" - -msgctxt "abbrev. month" -msgid "May" -msgstr "" - -msgctxt "abbrev. month" -msgid "June" -msgstr "Juni" - -msgctxt "abbrev. month" -msgid "July" -msgstr "Juli" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Aug." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Sept." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Okt." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Nov." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Dec." - -msgctxt "alt. month" -msgid "January" -msgstr "Januar" - -msgctxt "alt. month" -msgid "February" -msgstr "Februar" - -msgctxt "alt. month" -msgid "March" -msgstr "März" - -msgctxt "alt. month" -msgid "April" -msgstr "Abrell" - -msgctxt "alt. month" -msgid "May" -msgstr "" - -msgctxt "alt. month" -msgid "June" -msgstr "Juni" - -msgctxt "alt. month" -msgid "July" -msgstr "Juli" - -msgctxt "alt. month" -msgid "August" -msgstr "August" - -msgctxt "alt. month" -msgid "September" -msgstr "September" - -msgctxt "alt. month" -msgid "October" -msgstr "Oktober" - -msgctxt "alt. month" -msgid "November" -msgstr "November" - -msgctxt "alt. month" -msgid "December" -msgstr "December" - -msgid "This is not a valid IPv6 address." -msgstr "" - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "" - -msgid "or" -msgstr "oder" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d Joer" -msgstr[1] "%d Joren" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d Mount" -msgstr[1] "%d Meint" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d Woch" -msgstr[1] "%d Wochen" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d Dag" -msgstr[1] "%d Deeg" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d Stonn" -msgstr[1] "%d Stonnen" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d Minutt" -msgstr[1] "%d Minutten" - -msgid "0 minutes" -msgstr "0 Minutten" - -msgid "Forbidden" -msgstr "" - -msgid "CSRF verification failed. Request aborted." -msgstr "" - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "" - -msgid "No year specified" -msgstr "" - -msgid "Date out of range" -msgstr "" - -msgid "No month specified" -msgstr "" - -msgid "No day specified" -msgstr "" - -msgid "No week specified" -msgstr "" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "" - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" - -msgid "The install worked successfully! Congratulations!" -msgstr "" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" - -msgid "Django Documentation" -msgstr "" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "" - -msgid "Get started with Django" -msgstr "" - -msgid "Django Community" -msgstr "" - -msgid "Connect, get help, or contribute" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/lt/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/lt/LC_MESSAGES/django.mo deleted file mode 100644 index aa88229e..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/lt/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/lt/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/lt/LC_MESSAGES/django.po deleted file mode 100644 index 66e31a94..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/lt/LC_MESSAGES/django.po +++ /dev/null @@ -1,1299 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Jannis Leidel , 2011 -# Kostas , 2011 -# lauris , 2011 -# Matas Dailyda , 2015-2019 -# naktinis , 2012 -# Nikolajus Krauklis , 2013 -# Povilas Balzaravičius , 2011-2012 -# Simonas Kazlauskas , 2012-2014 -# Vytautas Astrauskas , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-27 22:40+0200\n" -"PO-Revision-Date: 2019-11-05 00:38+0000\n" -"Last-Translator: Ramiro Morales\n" -"Language-Team: Lithuanian (http://www.transifex.com/django/django/language/" -"lt/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: lt\n" -"Plural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < " -"11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? " -"1 : n % 1 != 0 ? 2: 3);\n" - -msgid "Afrikaans" -msgstr "Afrikiečių" - -msgid "Arabic" -msgstr "Arabų" - -msgid "Asturian" -msgstr "Austrų" - -msgid "Azerbaijani" -msgstr "Azerbaidžaniečių" - -msgid "Bulgarian" -msgstr "Bulgarų" - -msgid "Belarusian" -msgstr "Gudų" - -msgid "Bengali" -msgstr "Bengalų" - -msgid "Breton" -msgstr "Bretonų" - -msgid "Bosnian" -msgstr "Bosnių" - -msgid "Catalan" -msgstr "Katalonų" - -msgid "Czech" -msgstr "Čekų" - -msgid "Welsh" -msgstr "Velso" - -msgid "Danish" -msgstr "Danų" - -msgid "German" -msgstr "Vokiečių" - -msgid "Lower Sorbian" -msgstr "Žemutinė Sorbų" - -msgid "Greek" -msgstr "Graikų" - -msgid "English" -msgstr "Anglų" - -msgid "Australian English" -msgstr "Australų Anlgų" - -msgid "British English" -msgstr "Britų Anglų" - -msgid "Esperanto" -msgstr "Esperanto" - -msgid "Spanish" -msgstr "Ispanų" - -msgid "Argentinian Spanish" -msgstr "Argentiniečių Ispanų" - -msgid "Colombian Spanish" -msgstr "Kolumbų Ispanų" - -msgid "Mexican Spanish" -msgstr "Meksikiečių Ispanų" - -msgid "Nicaraguan Spanish" -msgstr "Nikaragvos Ispanijos" - -msgid "Venezuelan Spanish" -msgstr "Venesuelos Ispanų" - -msgid "Estonian" -msgstr "Estų" - -msgid "Basque" -msgstr "Baskų" - -msgid "Persian" -msgstr "Persų" - -msgid "Finnish" -msgstr "Suomių" - -msgid "French" -msgstr "Prancūzų" - -msgid "Frisian" -msgstr "Fryzų" - -msgid "Irish" -msgstr "Airių" - -msgid "Scottish Gaelic" -msgstr "Škotų Gėlų" - -msgid "Galician" -msgstr "Galų" - -msgid "Hebrew" -msgstr "Hebrajų" - -msgid "Hindi" -msgstr "Hindi" - -msgid "Croatian" -msgstr "Kroatų" - -msgid "Upper Sorbian" -msgstr "Aukštutinė Sorbų" - -msgid "Hungarian" -msgstr "Vengrų" - -msgid "Armenian" -msgstr "Armėnų" - -msgid "Interlingua" -msgstr "Interlingua" - -msgid "Indonesian" -msgstr "Indoneziečių" - -msgid "Ido" -msgstr "Ido" - -msgid "Icelandic" -msgstr "Islandų" - -msgid "Italian" -msgstr "Italų" - -msgid "Japanese" -msgstr "Japonų" - -msgid "Georgian" -msgstr "Gruzinų" - -msgid "Kabyle" -msgstr "Kabilų" - -msgid "Kazakh" -msgstr "Kazachų" - -msgid "Khmer" -msgstr "Khmerų" - -msgid "Kannada" -msgstr "Dravidų" - -msgid "Korean" -msgstr "Korėjiečių" - -msgid "Luxembourgish" -msgstr "Liuksemburgų" - -msgid "Lithuanian" -msgstr "Lietuvių" - -msgid "Latvian" -msgstr "Latvių" - -msgid "Macedonian" -msgstr "Makedonų" - -msgid "Malayalam" -msgstr "Malajalių" - -msgid "Mongolian" -msgstr "Mongolų" - -msgid "Marathi" -msgstr "Marati" - -msgid "Burmese" -msgstr "Mjanmų" - -msgid "Norwegian Bokmål" -msgstr "Norvegų Bokmal" - -msgid "Nepali" -msgstr "Nepalų" - -msgid "Dutch" -msgstr "Olandų" - -msgid "Norwegian Nynorsk" -msgstr "Norvegų Nynorsk" - -msgid "Ossetic" -msgstr "Osetinų" - -msgid "Punjabi" -msgstr "Pandžabi" - -msgid "Polish" -msgstr "Lenkų" - -msgid "Portuguese" -msgstr "Protugalų" - -msgid "Brazilian Portuguese" -msgstr "Brazilijos Portugalų" - -msgid "Romanian" -msgstr "Rumunų" - -msgid "Russian" -msgstr "Rusų" - -msgid "Slovak" -msgstr "Slovakų" - -msgid "Slovenian" -msgstr "Slovėnų" - -msgid "Albanian" -msgstr "Albanų" - -msgid "Serbian" -msgstr "Serbų" - -msgid "Serbian Latin" -msgstr "Serbų Lotynų" - -msgid "Swedish" -msgstr "Švedų" - -msgid "Swahili" -msgstr "Svahili" - -msgid "Tamil" -msgstr "Tamilų" - -msgid "Telugu" -msgstr "Telugų" - -msgid "Thai" -msgstr "Tailando" - -msgid "Turkish" -msgstr "Turkų" - -msgid "Tatar" -msgstr "Totorių" - -msgid "Udmurt" -msgstr "Udmurtų" - -msgid "Ukrainian" -msgstr "Ukrainiečių" - -msgid "Urdu" -msgstr "Urdu" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "Vietnamiečių" - -msgid "Simplified Chinese" -msgstr "Supaprastinta kinų" - -msgid "Traditional Chinese" -msgstr "Tradicinė kinų" - -msgid "Messages" -msgstr "Žinutės" - -msgid "Site Maps" -msgstr "Tinklalapio struktūros" - -msgid "Static Files" -msgstr "Statiniai failai" - -msgid "Syndication" -msgstr "Sindikacija" - -msgid "That page number is not an integer" -msgstr "To puslapio numeris nėra sveikasis skaičius." - -msgid "That page number is less than 1" -msgstr "To numerio puslapis yra mažesnis už 1" - -msgid "That page contains no results" -msgstr "Tas puslapis neturi jokių rezultatų" - -msgid "Enter a valid value." -msgstr "Įveskite tinkamą reikšmę." - -msgid "Enter a valid URL." -msgstr "Įveskite tinkamą URL adresą." - -msgid "Enter a valid integer." -msgstr "Įveskite tinkamą sveikąjį skaičių." - -msgid "Enter a valid email address." -msgstr "Įveskite teisingą el. pašto adresą." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "Įveskite validų IPv4 adresą." - -msgid "Enter a valid IPv6 address." -msgstr "Įveskite validų IPv6 adresą." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Įveskite validų IPv4 arba IPv6 adresą." - -msgid "Enter only digits separated by commas." -msgstr "Įveskite skaitmenis atskirtus kableliais." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" -"Įsitikinkite, kad reikšmę sudaro %(limit_value)s simbolių (dabar yra " -"%(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Įsitikinkite, kad reikšmė yra mažesnė arba lygi %(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Įsitikinkite, kad reikšmė yra didesnė arba lygi %(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Įsitikinkite, kad reikšmė sudaryta iš nemažiau kaip %(limit_value)d ženklo " -"(dabartinis ilgis %(show_value)d)." -msgstr[1] "" -"Įsitikinkite, kad reikšmė sudaryta iš nemažiau kaip %(limit_value)d ženklų " -"(dabartinis ilgis %(show_value)d)." -msgstr[2] "" -"Įsitikinkite, kad reikšmė sudaryta iš nemažiau kaip %(limit_value)d ženklų " -"(dabartinis ilgis %(show_value)d)." -msgstr[3] "" -"Įsitikinkite, kad reikšmė sudaryta iš nemažiau kaip %(limit_value)d ženklų " -"(dabartinis ilgis %(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Įsitikinkite, kad reikšmė sudaryta iš nedaugiau kaip %(limit_value)d ženklo " -"(dabartinis ilgis %(show_value)d)." -msgstr[1] "" -"Įsitikinkite, kad reikšmė sudaryta iš nedaugiau kaip %(limit_value)d ženklų " -"(dabartinis ilgis %(show_value)d)." -msgstr[2] "" -"Įsitikinkite, kad reikšmė sudaryta iš nedaugiau kaip %(limit_value)d ženklų " -"(dabartinis ilgis %(show_value)d)." -msgstr[3] "" -"Įsitikinkite, kad reikšmė sudaryta iš nedaugiau kaip %(limit_value)d ženklų " -"(dabartinis ilgis %(show_value)d)." - -msgid "Enter a number." -msgstr "Įveskite skaičių." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Įsitikinkite, kad yra nedaugiau nei %(max)s skaitmuo." -msgstr[1] "Įsitikinkite, kad yra nedaugiau nei %(max)s skaitmenys." -msgstr[2] "Įsitikinkite, kad yra nedaugiau nei %(max)s skaitmenų." -msgstr[3] "Įsitikinkite, kad yra nedaugiau nei %(max)s skaitmenų." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "Įsitikinkite, kad yra nedaugiau nei %(max)s skaitmuo po kablelio." -msgstr[1] "Įsitikinkite, kad yra nedaugiau nei %(max)s skaitmenys po kablelio." -msgstr[2] "Įsitikinkite, kad yra nedaugiau nei %(max)s skaitmenų po kablelio." -msgstr[3] "Įsitikinkite, kad yra nedaugiau nei %(max)s skaitmenų po kablelio." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "Įsitikinkite, kad yra nedaugiau nei %(max)s skaitmuo prieš kablelį." -msgstr[1] "" -"Įsitikinkite, kad yra nedaugiau nei %(max)s skaitmenys prieš kablelį." -msgstr[2] "" -"Įsitikinkite, kad yra nedaugiau nei %(max)s skaitmenų prieš kablelį." -msgstr[3] "" -"Įsitikinkite, kad yra nedaugiau nei %(max)s skaitmenų prieš kablelį." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "Nuliniai simboliai neleidžiami." - -msgid "and" -msgstr "ir" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "%(model_name)s su šiais %(field_labels)s jau egzistuoja." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "Reikšmės %(value)r rinktis negalima." - -msgid "This field cannot be null." -msgstr "Šis laukas negali būti null." - -msgid "This field cannot be blank." -msgstr "Lauką privaloma užpildyti." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s su šiuo %(field_label)s jau egzistuoja." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(field_label)s privalo būti unikalus %(date_field_label)s %(lookup_type)s." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Lauko tipas: %(field_type)s " - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "Loginė reikšmė (Tiesa arba Netiesa)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Eilutė (ilgis iki %(max_length)s)" - -msgid "Comma-separated integers" -msgstr "Kableliais atskirti sveikieji skaičiai" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "Data (be laiko)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "Data (su laiku)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "Dešimtainis skaičius" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "Trukmė" - -msgid "Email address" -msgstr "El. pašto adresas" - -msgid "File path" -msgstr "Kelias iki failo" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "Realus skaičius" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "Sveikas skaičius" - -msgid "Big (8 byte) integer" -msgstr "Didelis (8 baitų) sveikas skaičius" - -msgid "IPv4 address" -msgstr "IPv4 adresas" - -msgid "IP address" -msgstr "IP adresas" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "Loginė reikšmė (Tiesa, Netiesa arba Nieko)" - -msgid "Positive integer" -msgstr "Teigiamas sveikasis skaičius" - -msgid "Positive small integer" -msgstr "Nedidelis teigiamas sveikasis skaičius" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Unikalus adresas (iki %(max_length)s ženklų)" - -msgid "Small integer" -msgstr "Nedidelis sveikasis skaičius" - -msgid "Text" -msgstr "Tekstas" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "Laikas" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Neapdorota informacija" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "Universaliai unikalus identifikatorius" - -msgid "File" -msgstr "Failas" - -msgid "Image" -msgstr "Paveiksliukas" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "%(model)s objektas su %(field)s %(value)r neegzistuoja." - -msgid "Foreign Key (type determined by related field)" -msgstr "Išorinis raktas (tipas nustatomas susijusiame lauke)" - -msgid "One-to-one relationship" -msgstr "Sąryšis vienas su vienu" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "%(from)s-%(to)s sąryšis" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "%(from)s-%(to)s sąryšiai" - -msgid "Many-to-many relationship" -msgstr "Sąryšis daug su daug" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Šis laukas yra privalomas." - -msgid "Enter a whole number." -msgstr "Įveskite pilną skaičių." - -msgid "Enter a valid date." -msgstr "Įveskite tinkamą datą." - -msgid "Enter a valid time." -msgstr "Įveskite tinkamą laiką." - -msgid "Enter a valid date/time." -msgstr "Įveskite tinkamą datą/laiką." - -msgid "Enter a valid duration." -msgstr "Įveskite tinkamą trukmę." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "Dienų skaičius turi būti tarp {min_days} ir {max_days}." - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Nebuvo nurodytas failas. Patikrinkite formos koduotę." - -msgid "No file was submitted." -msgstr "Failas nebuvo nurodytas." - -msgid "The submitted file is empty." -msgstr "Nurodytas failas yra tuščias." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Įsitikinkite, kad failo pavadinimas sudarytas iš nedaugiau kaip %(max)d " -"ženklo (dabartinis ilgis %(length)d)." -msgstr[1] "" -"Įsitikinkite, kad failo pavadinimas sudarytas iš nedaugiau kaip %(max)d " -"ženklų (dabartinis ilgis %(length)d)." -msgstr[2] "" -"Įsitikinkite, kad failo pavadinimas sudarytas iš nedaugiau kaip %(max)d " -"ženklų (dabartinis ilgis %(length)d)." -msgstr[3] "" -"Įsitikinkite, kad failo pavadinimas sudarytas iš nedaugiau kaip %(max)d " -"ženklų (dabartinis ilgis %(length)d)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "Nurodykite failą arba pažymėkite išvalyti. Abu pasirinkimai negalimi." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Atsiųskite tinkamą paveiksliuką. Failas, kurį siuntėte nebuvo paveiksliukas, " -"arba buvo sugadintas." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "Nurodykite tinkamą reikšmę. %(value)s nėra galimas pasirinkimas." - -msgid "Enter a list of values." -msgstr "Įveskite reikšmių sarašą." - -msgid "Enter a complete value." -msgstr "Įveskite pilną reikšmę." - -msgid "Enter a valid UUID." -msgstr "Įveskite tinkamą UUID." - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Paslėptas laukelis %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "ManagementForm duomenys buvo sugadinti arba neegzistuoja" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Prašome pateikti %d arba mažiau formų." -msgstr[1] "Prašome pateikti %d arba mažiau formų." -msgstr[2] "Prašome pateikti %d arba mažiau formų." -msgstr[3] "Prašome pateikti %d arba mažiau formų." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "Prašome pateikti %d arba daugiau formų." -msgstr[1] "Prašome pateikti %d arba daugiau formų." -msgstr[2] "Prašome pateikti %d arba daugiau formų." -msgstr[3] "Prašome pateikti %d arba daugiau formų." - -msgid "Order" -msgstr "Nurodyti" - -msgid "Delete" -msgstr "Ištrinti" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Pataisykite pasikartojančius duomenis laukui %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"Pataisykite pasikartojančius duomenis laukui %(field)s. Duomenys privalo " -"būti unikalūs." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Pataisykite pasikartojančius duomenis laukui %(field_name)s. Duomenys " -"privalo būti unikalūs %(lookup)s peržiūroms per %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "Pataisykite žemiau esančias pasikartojančias reikšmes." - -msgid "The inline value did not match the parent instance." -msgstr "Reikšmė nesutapo su pirminiu objektu." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "Pasirinkite tinkamą reikšmę. Parinkta reikšmė nėra galima." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "Išvalyti" - -msgid "Currently" -msgstr "Šiuo metu" - -msgid "Change" -msgstr "Pakeisti" - -msgid "Unknown" -msgstr "Nežinomas" - -msgid "Yes" -msgstr "Taip" - -msgid "No" -msgstr "Ne" - -msgid "Year" -msgstr "" - -msgid "Month" -msgstr "" - -msgid "Day" -msgstr "" - -msgid "yes,no,maybe" -msgstr "taip,ne,galbūt" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d baitas" -msgstr[1] "%(size)d baitai" -msgstr[2] "%(size)d baitai" -msgstr[3] "%(size)d baitai" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "p.m." - -msgid "a.m." -msgstr "a.m." - -msgid "PM" -msgstr "PM" - -msgid "AM" -msgstr "AM" - -msgid "midnight" -msgstr "vidurnaktis" - -msgid "noon" -msgstr "vidurdienis" - -msgid "Monday" -msgstr "Pirmadienis" - -msgid "Tuesday" -msgstr "Antradienis" - -msgid "Wednesday" -msgstr "Trečiadienis" - -msgid "Thursday" -msgstr "Ketvirtadienis" - -msgid "Friday" -msgstr "Penktadienis" - -msgid "Saturday" -msgstr "Šeštadienis" - -msgid "Sunday" -msgstr "Sekmadienis" - -msgid "Mon" -msgstr "Pr" - -msgid "Tue" -msgstr "A" - -msgid "Wed" -msgstr "T" - -msgid "Thu" -msgstr "K" - -msgid "Fri" -msgstr "P" - -msgid "Sat" -msgstr "Š" - -msgid "Sun" -msgstr "S" - -msgid "January" -msgstr "sausis" - -msgid "February" -msgstr "vasaris" - -msgid "March" -msgstr "kovas" - -msgid "April" -msgstr "balandis" - -msgid "May" -msgstr "gegužė" - -msgid "June" -msgstr "birželis" - -msgid "July" -msgstr "liepa" - -msgid "August" -msgstr "rugpjūtis" - -msgid "September" -msgstr "rugsėjis" - -msgid "October" -msgstr "spalis" - -msgid "November" -msgstr "lapkritis" - -msgid "December" -msgstr "gruodis" - -msgid "jan" -msgstr "sau" - -msgid "feb" -msgstr "vas" - -msgid "mar" -msgstr "kov" - -msgid "apr" -msgstr "bal" - -msgid "may" -msgstr "geg" - -msgid "jun" -msgstr "bir" - -msgid "jul" -msgstr "lie" - -msgid "aug" -msgstr "rugp" - -msgid "sep" -msgstr "rugs" - -msgid "oct" -msgstr "spa" - -msgid "nov" -msgstr "lap" - -msgid "dec" -msgstr "grd" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "saus." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "vas." - -msgctxt "abbrev. month" -msgid "March" -msgstr "kov." - -msgctxt "abbrev. month" -msgid "April" -msgstr "bal." - -msgctxt "abbrev. month" -msgid "May" -msgstr "geg." - -msgctxt "abbrev. month" -msgid "June" -msgstr "birž." - -msgctxt "abbrev. month" -msgid "July" -msgstr "liep." - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "rugpj." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "rugs." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "spal." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "lapkr." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "gruod." - -msgctxt "alt. month" -msgid "January" -msgstr "sausio" - -msgctxt "alt. month" -msgid "February" -msgstr "vasario" - -msgctxt "alt. month" -msgid "March" -msgstr "kovo" - -msgctxt "alt. month" -msgid "April" -msgstr "balandžio" - -msgctxt "alt. month" -msgid "May" -msgstr "gegužės" - -msgctxt "alt. month" -msgid "June" -msgstr "birželio" - -msgctxt "alt. month" -msgid "July" -msgstr "liepos" - -msgctxt "alt. month" -msgid "August" -msgstr "rugpjūčio" - -msgctxt "alt. month" -msgid "September" -msgstr "rugsėjo" - -msgctxt "alt. month" -msgid "October" -msgstr "spalio" - -msgctxt "alt. month" -msgid "November" -msgstr "lapkričio" - -msgctxt "alt. month" -msgid "December" -msgstr "gruodžio" - -msgid "This is not a valid IPv6 address." -msgstr "Tai nėra teisingas IPv6 adresas." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s..." - -msgid "or" -msgstr "arba" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr "," - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d metas" -msgstr[1] "%d metai" -msgstr[2] "%d metų" -msgstr[3] "%d metų" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d mėnuo" -msgstr[1] "%d mėnesiai" -msgstr[2] "%d mėnesių" -msgstr[3] "%d mėnesių" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d savaitė" -msgstr[1] "%d savaitės" -msgstr[2] "%d savaičių" -msgstr[3] "%d savaičių" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d diena" -msgstr[1] "%d dienos" -msgstr[2] "%d dienų" -msgstr[3] "%d dienų" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d valanda" -msgstr[1] "%d valandos" -msgstr[2] "%d valandų" -msgstr[3] "%d valandų" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d minutė" -msgstr[1] "%d minutės" -msgstr[2] "%d minučių" -msgstr[3] "%d minučių" - -msgid "0 minutes" -msgstr "0 minučių" - -msgid "Forbidden" -msgstr "Uždrausta" - -msgid "CSRF verification failed. Request aborted." -msgstr "Nepavyko CSRF patvirtinimas. Užklausa nutraukta." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Jūs matote šią žinutę nes šis puslapis reikalauja CSRF slapuko, kai " -"pateikiama forma. Slapukas reikalaujamas saugumo sumetimais, kad užtikrinti " -"jog jūsų naršyklė nėra užgrobiama trečiųjų asmenų." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "Gauti daugiau informacijos galima su DEBUG=True nustatymu." - -msgid "No year specified" -msgstr "Nenurodyti metai" - -msgid "Date out of range" -msgstr "Data išeina iš ribų" - -msgid "No month specified" -msgstr "Nenurodytas mėnuo" - -msgid "No day specified" -msgstr "Nenurodyta diena" - -msgid "No week specified" -msgstr "Nenurodyta savaitė" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "Nėra %(verbose_name_plural)s" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"Ateities %(verbose_name_plural)s nėra prieinami, nes %(class_name)s." -"allow_future yra False." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Atitinkantis užklausą %(verbose_name)s nerastas" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Neegzistuojantis puslapis (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "Aplankų indeksai čia neleidžiami." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "%(directory)s indeksas" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "Django: Žiniatinklio karkasas perfekcionistams su terminais." - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"Žiūrėti Django %(version)s išleidimo " -"pastabas" - -msgid "The install worked successfully! Congratulations!" -msgstr "Diegimas pavyko! Sveikiname!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"Jūs matote šią žinutę dėl to kad Django nustatymų faile įvesta DEBUG = True ir Jūs nenustatėte jokių URL'ų." - -msgid "Django Documentation" -msgstr "Django dokumentacija" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "Pamoka: Apklausos aplikacija" - -msgid "Get started with Django" -msgstr "Pradėti su Django" - -msgid "Django Community" -msgstr "Django Bendrija" - -msgid "Connect, get help, or contribute" -msgstr "Prisijunk, gauk pagalbą arba prisidėk" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/lt/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/lt/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/lt/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/lt/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 86b2738f..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/lt/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/lt/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/lt/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index b84fe521..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/lt/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/lt/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/lt/formats.py deleted file mode 100644 index 57631ffe..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/lt/formats.py +++ /dev/null @@ -1,43 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = r'Y \m. E j \d.' -TIME_FORMAT = 'H:i' -DATETIME_FORMAT = r'Y \m. E j \d., H:i' -YEAR_MONTH_FORMAT = r'Y \m. F' -MONTH_DAY_FORMAT = r'E j \d.' -SHORT_DATE_FORMAT = 'Y-m-d' -SHORT_DATETIME_FORMAT = 'Y-m-d H:i' -FIRST_DAY_OF_WEEK = 1 # Monday - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -DATE_INPUT_FORMATS = [ - '%Y-%m-%d', '%d.%m.%Y', '%d.%m.%y', # '2006-10-25', '25.10.2006', '25.10.06' -] -TIME_INPUT_FORMATS = [ - '%H:%M:%S', # '14:30:59' - '%H:%M:%S.%f', # '14:30:59.000200' - '%H:%M', # '14:30' - '%H.%M.%S', # '14.30.59' - '%H.%M.%S.%f', # '14.30.59.000200' - '%H.%M', # '14.30' -] -DATETIME_INPUT_FORMATS = [ - '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59' - '%Y-%m-%d %H:%M:%S.%f', # '2006-10-25 14:30:59.000200' - '%Y-%m-%d %H:%M', # '2006-10-25 14:30' - '%d.%m.%Y %H:%M:%S', # '25.10.2006 14:30:59' - '%d.%m.%Y %H:%M:%S.%f', # '25.10.2006 14:30:59.000200' - '%d.%m.%Y %H:%M', # '25.10.2006 14:30' - '%d.%m.%y %H:%M:%S', # '25.10.06 14:30:59' - '%d.%m.%y %H:%M:%S.%f', # '25.10.06 14:30:59.000200' - '%d.%m.%y %H:%M', # '25.10.06 14:30' - '%d.%m.%y %H.%M.%S', # '25.10.06 14.30.59' - '%d.%m.%y %H.%M.%S.%f', # '25.10.06 14.30.59.000200' - '%d.%m.%y %H.%M', # '25.10.06 14.30' -] -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = '.' -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/lv/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/lv/LC_MESSAGES/django.mo deleted file mode 100644 index 52308aaa..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/lv/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/lv/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/lv/LC_MESSAGES/django.po deleted file mode 100644 index 814beffe..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/lv/LC_MESSAGES/django.po +++ /dev/null @@ -1,1321 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# edgars , 2011 -# NullIsNot0 , 2017 -# NullIsNot0 , 2017-2018 -# Jannis Leidel , 2011 -# krikulis , 2014 -# Māris Nartišs , 2016 -# Mārtiņš Šulcs , 2018 -# NullIsNot0 , 2018-2020 -# peterisb , 2016-2017 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-07-22 17:30+0000\n" -"Last-Translator: NullIsNot0 \n" -"Language-Team: Latvian (http://www.transifex.com/django/django/language/" -"lv/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: lv\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " -"2);\n" - -msgid "Afrikaans" -msgstr "afrikāņu" - -msgid "Arabic" -msgstr "arābu" - -msgid "Algerian Arabic" -msgstr "Alžīrijas arābu" - -msgid "Asturian" -msgstr "asturiešu" - -msgid "Azerbaijani" -msgstr "azerbaidžāņu" - -msgid "Bulgarian" -msgstr "bulgāru" - -msgid "Belarusian" -msgstr "baltkrievu" - -msgid "Bengali" -msgstr "bengāļu" - -msgid "Breton" -msgstr "bretoņu" - -msgid "Bosnian" -msgstr "bosniešu" - -msgid "Catalan" -msgstr "katalāņu" - -msgid "Czech" -msgstr "čehu" - -msgid "Welsh" -msgstr "velsiešu" - -msgid "Danish" -msgstr "dāņu" - -msgid "German" -msgstr "vācu" - -msgid "Lower Sorbian" -msgstr "apakšsorbu" - -msgid "Greek" -msgstr "grieķu" - -msgid "English" -msgstr "angļu" - -msgid "Australian English" -msgstr "Austrālijas angļu" - -msgid "British English" -msgstr "Lielbritānijas angļu" - -msgid "Esperanto" -msgstr "esperanto" - -msgid "Spanish" -msgstr "spāņu" - -msgid "Argentinian Spanish" -msgstr "Argentīnas spāņu" - -msgid "Colombian Spanish" -msgstr "Kolumbijas spāņu" - -msgid "Mexican Spanish" -msgstr "Meksikas spāņu" - -msgid "Nicaraguan Spanish" -msgstr "Nikaragvas spāņu" - -msgid "Venezuelan Spanish" -msgstr "Venecuēlas spāņu" - -msgid "Estonian" -msgstr "igauņu" - -msgid "Basque" -msgstr "basku" - -msgid "Persian" -msgstr "persiešu" - -msgid "Finnish" -msgstr "somu" - -msgid "French" -msgstr "franču" - -msgid "Frisian" -msgstr "frīzu" - -msgid "Irish" -msgstr "īru" - -msgid "Scottish Gaelic" -msgstr "skotu gēlu" - -msgid "Galician" -msgstr "galīciešu" - -msgid "Hebrew" -msgstr "ebreju" - -msgid "Hindi" -msgstr "hindu" - -msgid "Croatian" -msgstr "horvātu" - -msgid "Upper Sorbian" -msgstr "augšsorbu" - -msgid "Hungarian" -msgstr "ungāru" - -msgid "Armenian" -msgstr "Armēņu" - -msgid "Interlingua" -msgstr "modernā latīņu valoda" - -msgid "Indonesian" -msgstr "indonēziešu" - -msgid "Igbo" -msgstr "igbo" - -msgid "Ido" -msgstr "ido" - -msgid "Icelandic" -msgstr "islandiešu" - -msgid "Italian" -msgstr "itāļu" - -msgid "Japanese" -msgstr "Japāņu" - -msgid "Georgian" -msgstr "vācu" - -msgid "Kabyle" -msgstr "kabiliešu" - -msgid "Kazakh" -msgstr "kazahu" - -msgid "Khmer" -msgstr "khmeru" - -msgid "Kannada" -msgstr "kannādiešu" - -msgid "Korean" -msgstr "korejiešu" - -msgid "Kyrgyz" -msgstr "kirgīzu" - -msgid "Luxembourgish" -msgstr "luksemburgiešu" - -msgid "Lithuanian" -msgstr "lietuviešu" - -msgid "Latvian" -msgstr "latviešu" - -msgid "Macedonian" -msgstr "maķedoniešu" - -msgid "Malayalam" -msgstr "malajalu" - -msgid "Mongolian" -msgstr "mongoļu" - -msgid "Marathi" -msgstr "maratiešu" - -msgid "Burmese" -msgstr "birmiešu" - -msgid "Norwegian Bokmål" -msgstr "norvēģu bokmål" - -msgid "Nepali" -msgstr "nepāliešu" - -msgid "Dutch" -msgstr "holandiešu" - -msgid "Norwegian Nynorsk" -msgstr "norvēģu nynorsk" - -msgid "Ossetic" -msgstr "osetiešu" - -msgid "Punjabi" -msgstr "pandžabu" - -msgid "Polish" -msgstr "poļu" - -msgid "Portuguese" -msgstr "portugāļu" - -msgid "Brazilian Portuguese" -msgstr "Brazīlijas portugāļu" - -msgid "Romanian" -msgstr "rumāņu" - -msgid "Russian" -msgstr "krievu" - -msgid "Slovak" -msgstr "slovāku" - -msgid "Slovenian" -msgstr "slovēņu" - -msgid "Albanian" -msgstr "albāņu" - -msgid "Serbian" -msgstr "serbu" - -msgid "Serbian Latin" -msgstr "serbu latīņu" - -msgid "Swedish" -msgstr "zviedru" - -msgid "Swahili" -msgstr "svahili" - -msgid "Tamil" -msgstr "tamilu" - -msgid "Telugu" -msgstr "telugu" - -msgid "Tajik" -msgstr "tadžiku" - -msgid "Thai" -msgstr "taizemiešu" - -msgid "Turkmen" -msgstr "turkmēņu" - -msgid "Turkish" -msgstr "turku" - -msgid "Tatar" -msgstr "tatāru" - -msgid "Udmurt" -msgstr "udmurtu" - -msgid "Ukrainian" -msgstr "ukraiņu" - -msgid "Urdu" -msgstr "urdu" - -msgid "Uzbek" -msgstr "Uzbeku" - -msgid "Vietnamese" -msgstr "vjetnamiešu" - -msgid "Simplified Chinese" -msgstr "vienkāršā ķīniešu" - -msgid "Traditional Chinese" -msgstr "tradicionālā ķīniešu" - -msgid "Messages" -msgstr "Ziņojumi" - -msgid "Site Maps" -msgstr "Lapas kartes" - -msgid "Static Files" -msgstr "Statiski faili" - -msgid "Syndication" -msgstr "Sindikācija" - -msgid "That page number is not an integer" -msgstr "Lapas numurs nav cipars" - -msgid "That page number is less than 1" -msgstr "Lapas numurs ir mazāks par 1" - -msgid "That page contains no results" -msgstr "Lapa nesatur rezultātu" - -msgid "Enter a valid value." -msgstr "Ievadiet korektu vērtību." - -msgid "Enter a valid URL." -msgstr "Ievadiet korektu URL adresi." - -msgid "Enter a valid integer." -msgstr "Ievadiet veselu skaitli." - -msgid "Enter a valid email address." -msgstr "Ievadiet korektu e-pasta adresi" - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" -"Ievadiet korektu \"vienkāršotā teksta\" vērtību, kas satur tikai burtus, " -"ciparus, apakšsvītras vai defises." - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" -"Ievadiet korektu \"vienkāršotā teksta\" vērtību, kas satur tikai Unikoda " -"burtus, ciparus, apakšsvītras vai defises." - -msgid "Enter a valid IPv4 address." -msgstr "Ievadiet korektu IPv4 adresi." - -msgid "Enter a valid IPv6 address." -msgstr "Ievadiet korektu IPv6 adresi" - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Ievadiet korektu IPv4 vai IPv6 adresi" - -msgid "Enter only digits separated by commas." -msgstr "Ievadiet tikai numurus, atdalītus ar komatiem." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "Nodrošiniet, ka vērtība ir %(limit_value)s (tā satur %(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Šai vērtībai jabūt mazākai vai vienādai ar %(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Vērtībai jābūt lielākai vai vienādai ar %(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Vērtībai jābūt vismaz %(limit_value)d zīmēm (tai ir %(show_value)d)." -msgstr[1] "" -"Vērtībai jābūt vismaz %(limit_value)d zīmei (tai ir %(show_value)d)." -msgstr[2] "" -"Vērtībai jābūt vismaz %(limit_value)d zīmēm (tai ir %(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Vērtībai jābūt ne vairāk kā %(limit_value)d zīmēm (tai ir %(show_value)d)." -msgstr[1] "" -"Vērtībai jābūt ne vairāk kā %(limit_value)d zīmei (tai ir %(show_value)d)." -msgstr[2] "" -"Vērtībai jābūt ne vairāk kā %(limit_value)d zīmēm (tai ir %(show_value)d)." - -msgid "Enter a number." -msgstr "Ievadiet skaitli." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Pārliecinieties, ka kopā nav vairāk par %(max)s ciparu." -msgstr[1] "Pārliecinieties, ka kopā nav vairāk par %(max)s cipariem." -msgstr[2] "Pārliecinieties, ka kopā nav vairāk par %(max)s cipariem." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "" -"Pārliecinieties, ka aiz decimālās zīmes nav vairāk par %(max)s ciparu." -msgstr[1] "" -"Pārliecinieties, ka aiz decimālās zīmes nav vairāk par %(max)s cipariem." -msgstr[2] "" -"Pārliecinieties, ka aiz decimālās zīmes nav vairāk par %(max)s cipariem." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -"Pārliecinieties, ka pirms decimālās zīmes nav vairāk par %(max)s ciparu." -msgstr[1] "" -"Pārliecinieties, ka pirms decimālās zīmes nav vairāk par %(max)s cipariem." -msgstr[2] "" -"Pārliecinieties, ka pirms decimālās zīmes nav vairāk par %(max)s cipariem." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" -"Faila paplašinājums “%(extension)s” nav atļauts. Atļautie paplašinājumi ir: " -"%(allowed_extensions)s." - -msgid "Null characters are not allowed." -msgstr "Nulles rakstzīmes nav atļautas." - -msgid "and" -msgstr "un" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "%(model_name)s ar šādu lauka %(field_labels)s vērtību jau eksistē." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "Vērtība %(value)r ir nederīga izvēle." - -msgid "This field cannot be null." -msgstr "Šis lauks nevar būt tukšs, null." - -msgid "This field cannot be blank." -msgstr "Šis lauks nevar būt tukšs" - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s ar šādu lauka %(field_label)s vērtību jau eksistē." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "%(field_label)s jābūt unikālam %(date_field_label)s %(lookup_type)s." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Lauks ar tipu: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "“%(value)s” vērtībai ir jābūt vai nu True, vai False." - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "“%(value)s” vērtībai ir jābūt True, False vai None." - -msgid "Boolean (Either True or False)" -msgstr "Boolean (True vai False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Simbolu virkne (līdz pat %(max_length)s)" - -msgid "Comma-separated integers" -msgstr "Ar komatu atdalīti veselie skaitļi" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" -"“%(value)s” vērtība ir nepareizā formātā. Tai ir jābūt YYYY-MM-DD formātā." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" -"“%(value)s” vērtība ir pareizā formātā (YYYY-MM-DD), bet tas nav derīgs " -"datums." - -msgid "Date (without time)" -msgstr "Datums (bez laika)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" -"“%(value)s” vērtība ir nepareizā formātā. Tai ir jābūt YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] formātā." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" -"“%(value)s” vērtība ir pareizā formātā (YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]), " -"bet tas nav derīgs datums/laiks." - -msgid "Date (with time)" -msgstr "Datums (ar laiku)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "“%(value)s” vērtībai ir jābūt decimālam skaitlim." - -msgid "Decimal number" -msgstr "Decimāls skaitlis" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" -"“%(value)s” vērtība ir nepareizā formātā. Tai ir jābūt [DD] [[HH:]MM:]ss[." -"uuuuuu] formātā." - -msgid "Duration" -msgstr "Ilgums" - -msgid "Email address" -msgstr "E-pasta adrese" - -msgid "File path" -msgstr "Faila ceļš" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "“%(value)s” vērtībai ir jābūt daļskaitlim." - -msgid "Floating point number" -msgstr "Plūstošā punkta skaitlis" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "“%(value)s” vērtībai ir jābūt veselam skaitlim." - -msgid "Integer" -msgstr "Vesels skaitlis" - -msgid "Big (8 byte) integer" -msgstr "Liels (8 baitu) vesels skaitlis" - -msgid "IPv4 address" -msgstr "IPv4 adrese" - -msgid "IP address" -msgstr "IP adrese" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "“%(value)s” vērtībai ir jābūt None, True vai False." - -msgid "Boolean (Either True, False or None)" -msgstr "Boolean (jā, nē vai neviens)" - -msgid "Positive big integer" -msgstr "Liels pozitīvs vesels skaitlis" - -msgid "Positive integer" -msgstr "Naturāls skaitlis" - -msgid "Positive small integer" -msgstr "Mazs pozitīvs vesels skaitlis" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Identifikators (līdz %(max_length)s)" - -msgid "Small integer" -msgstr "Mazs vesels skaitlis" - -msgid "Text" -msgstr "Teksts" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" -"“%(value)s” vērtība ir nepareizā formātā. Tai ir jābūt HH:MM[:ss[.uuuuuu]] " -"formātā." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" -"“%(value)s” vērtība ir pareizā formātā (HH:MM[:ss[.uuuuuu]]), bet tas nav " -"derīgs laiks." - -msgid "Time" -msgstr "Laiks" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Bināri dati" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "“%(value)s” nav derīgs UUID." - -msgid "Universally unique identifier" -msgstr "Universāli unikāls identifikators" - -msgid "File" -msgstr "Fails" - -msgid "Image" -msgstr "Attēls" - -msgid "A JSON object" -msgstr "JSON objekts" - -msgid "Value must be valid JSON." -msgstr "Vērtībai ir jābūt derīgam JSON." - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "%(model)s instance ar %(field)s %(value)r neeksistē." - -msgid "Foreign Key (type determined by related field)" -msgstr "Ārējā atslēga (tipu nosaka lauks uz kuru attiecas)" - -msgid "One-to-one relationship" -msgstr "Attiecība viens pret vienu" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "%(from)s-%(to)s attiecība" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "%(from)s-%(to)s attiecības" - -msgid "Many-to-many relationship" -msgstr "Attiecība daudzi pret daudziem" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Šis lauks ir obligāts." - -msgid "Enter a whole number." -msgstr "Ievadiet veselu skaitli." - -msgid "Enter a valid date." -msgstr "Ievadiet korektu datumu." - -msgid "Enter a valid time." -msgstr "Ievadiet korektu laiku." - -msgid "Enter a valid date/time." -msgstr "Ievadiet korektu datumu/laiku." - -msgid "Enter a valid duration." -msgstr "Ievadiet korektu ilgumu." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "Dienu skaitam jābūt no {min_days} līdz {max_days}." - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Nav nosūtīts fails. Pārbaudiet formas kodējuma tipu." - -msgid "No file was submitted." -msgstr "Netika nosūtīts fails." - -msgid "The submitted file is empty." -msgstr "Jūsu nosūtītais fails ir tukšs." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Faila nosaukuma garumam jābūt ne vairāk kā %(max)d zīmēm (tas ir %(length)d)." -msgstr[1] "" -"Faila nosaukuma garumam jābūt ne vairāk kā %(max)d zīmei (tas ir %(length)d)." -msgstr[2] "" -"Faila nosaukuma garumam jābūt ne vairāk kā %(max)d zīmēm (tas ir %(length)d)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" -"Vai nu iesniedziet failu, vai atzīmējiet tukšo izvēles rūtiņu, bet ne abus." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Augšupielādējiet korektu attēlu. Fails, ko augšupielādējāt, vai nu nav " -"attēls, vai arī ir bojāts." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "Izvēlieties korektu izvēli. %(value)s nav pieejamo izvēļu sarakstā." - -msgid "Enter a list of values." -msgstr "Ievadiet sarakstu ar vērtībām." - -msgid "Enter a complete value." -msgstr "Ievadiet pilnu vērtību." - -msgid "Enter a valid UUID." -msgstr "Ievadi derīgu UUID." - -msgid "Enter a valid JSON." -msgstr "Ievadiet korektu JSON." - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Slēpts lauks %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "Trūkst ManagementForm dati vai arī tie ir bojāti" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Lūdzu ievadiet %d vai mazāk formas." -msgstr[1] "Lūdzu ievadiet %d vai mazāk formas." -msgstr[2] "Lūdzu ievadiet %d vai mazāk formas." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "Lūdzu ievadiet %d vai vairāk formas " -msgstr[1] "Lūdzu ievadiet %d vai vairāk formas " -msgstr[2] "Lūdzu ievadiet %d vai vairāk formas " - -msgid "Order" -msgstr "Sakārtojums" - -msgid "Delete" -msgstr "Dzēst" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Lūdzu izlabojiet dublicētos datus priekš %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"Lūdzu izlabojiet dublicētos datus laukam %(field)s, kam jābūt unikālam." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Lūdzu izlabojiet dublicētos datus laukam %(field_name)s, kam jābūt unikālam " -"priekš %(lookup)s iekš %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "Lūdzu izlabojiet dublicētās vērtības zemāk." - -msgid "The inline value did not match the parent instance." -msgstr "Iekļautā vērtība nesakrita ar vecāka instanci." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "Izvēlieties pareizu izvēli. Jūsu izvēle neietilpst pieejamo sarakstā." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "“%(pk)s” nav derīga vērtība." - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" -"%(datetime)s vērtība nevar tikt attēlota %(current_timezone)s laika zonā; tā " -"var būt neskaidra vai neeksistē." - -msgid "Clear" -msgstr "Notīrīt" - -msgid "Currently" -msgstr "Pašlaik" - -msgid "Change" -msgstr "Izmainīt" - -msgid "Unknown" -msgstr "Nezināms" - -msgid "Yes" -msgstr "Jā" - -msgid "No" -msgstr "Nē" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "jā,nē,varbūt" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d baits" -msgstr[1] "%(size)d baiti" -msgstr[2] "%(size)d baitu" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "p.m." - -msgid "a.m." -msgstr "a.m." - -msgid "PM" -msgstr "PM" - -msgid "AM" -msgstr "AM" - -msgid "midnight" -msgstr "pusnakts" - -msgid "noon" -msgstr "dienasvidus" - -msgid "Monday" -msgstr "pirmdiena" - -msgid "Tuesday" -msgstr "otrdiena" - -msgid "Wednesday" -msgstr "trešdiena" - -msgid "Thursday" -msgstr "ceturtdiena" - -msgid "Friday" -msgstr "piektdiena" - -msgid "Saturday" -msgstr "sestdiena" - -msgid "Sunday" -msgstr "svētdiena" - -msgid "Mon" -msgstr "pr" - -msgid "Tue" -msgstr "ot" - -msgid "Wed" -msgstr "tr" - -msgid "Thu" -msgstr "ce" - -msgid "Fri" -msgstr "pk" - -msgid "Sat" -msgstr "se" - -msgid "Sun" -msgstr "sv" - -msgid "January" -msgstr "janvāris" - -msgid "February" -msgstr "februāris" - -msgid "March" -msgstr "marts" - -msgid "April" -msgstr "aprīlis" - -msgid "May" -msgstr "maijs" - -msgid "June" -msgstr "jūnijs" - -msgid "July" -msgstr "jūlijs" - -msgid "August" -msgstr "augusts" - -msgid "September" -msgstr "septembris" - -msgid "October" -msgstr "oktobris" - -msgid "November" -msgstr "novembris" - -msgid "December" -msgstr "decembris" - -msgid "jan" -msgstr "jan" - -msgid "feb" -msgstr "feb" - -msgid "mar" -msgstr "mar" - -msgid "apr" -msgstr "apr" - -msgid "may" -msgstr "mai" - -msgid "jun" -msgstr "jūn" - -msgid "jul" -msgstr "jūl" - -msgid "aug" -msgstr "aug" - -msgid "sep" -msgstr "sep" - -msgid "oct" -msgstr "okt" - -msgid "nov" -msgstr "nov" - -msgid "dec" -msgstr "dec" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Jan." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Feb." - -msgctxt "abbrev. month" -msgid "March" -msgstr "marts" - -msgctxt "abbrev. month" -msgid "April" -msgstr "aprīlis" - -msgctxt "abbrev. month" -msgid "May" -msgstr "maijs" - -msgctxt "abbrev. month" -msgid "June" -msgstr "jūnijs" - -msgctxt "abbrev. month" -msgid "July" -msgstr "jūlijs" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Aug." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Sept." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Okt." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Nov." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Dec." - -msgctxt "alt. month" -msgid "January" -msgstr "janvāris" - -msgctxt "alt. month" -msgid "February" -msgstr "februāris" - -msgctxt "alt. month" -msgid "March" -msgstr "marts" - -msgctxt "alt. month" -msgid "April" -msgstr "aprīlis" - -msgctxt "alt. month" -msgid "May" -msgstr "maijs" - -msgctxt "alt. month" -msgid "June" -msgstr "jūnijs" - -msgctxt "alt. month" -msgid "July" -msgstr "jūlijs" - -msgctxt "alt. month" -msgid "August" -msgstr "augusts" - -msgctxt "alt. month" -msgid "September" -msgstr "septembris" - -msgctxt "alt. month" -msgid "October" -msgstr "oktobris" - -msgctxt "alt. month" -msgid "November" -msgstr "novembris" - -msgctxt "alt. month" -msgid "December" -msgstr "decembris" - -msgid "This is not a valid IPv6 address." -msgstr "Šī nav derīga IPv6 adrese." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s..." - -msgid "or" -msgstr "vai" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d gadi" -msgstr[1] "%d gads" -msgstr[2] "%d gadi" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d mēneši" -msgstr[1] "%d mēnesis" -msgstr[2] "%d mēneši" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d nedēļas" -msgstr[1] "%d nedēļa" -msgstr[2] "%d nedēļas" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d dienas" -msgstr[1] "%d diena" -msgstr[2] "%d dienas" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d stundas" -msgstr[1] "%d stunda" -msgstr[2] "%d stundas" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d minūtes" -msgstr[1] "%d minūte" -msgstr[2] "%d minūtes" - -msgid "Forbidden" -msgstr "Aizliegts" - -msgid "CSRF verification failed. Request aborted." -msgstr "CSRF pārbaude neizdevās. Pieprasījums pārtrauks." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" -"Jūs redzat šo ziņojumu, jo šai HTTPS vietnei nepieciešams “Referer header”, " -"kuru bija paredzēts, ka nosūtīs jūsu tīmekļa pārlūkprogramma, bet tas netika " -"nosūtīts. Šis headeris ir vajadzīgs drošības apsvērumu dēļ, lai " -"pārliecinātos, ka trešās puses nepārņems kontroli pār jūsu pārlūkprogrammu." - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" -"Ja esat konfigurējis savu pārlūkprogrammu, lai atspējotu “Referer” headerus, " -"lūdzu, atkārtoti iespējojiet tos vismaz šai vietnei, HTTPS savienojumiem vai " -"“same-origin” pieprasījumiem." - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" -"Ja jūs izmantojat tagu vai " -"iekļaujat “Referrer-Policy: no-referrer” headeri, lūdzu noņemiet tos. CSRF " -"aizsardzībai ir nepieciešams, lai “Referer” headerī tiktu veikta strikta " -"pārvirzītāja pārbaude. Ja jūs domājat par privātumu, tad izmantojiet tādas " -"alternatīvas kā priekš saitēm uz trešo pušu vietnēm." - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Jūs redzat šo ziņojumu, jo, iesniedzot veidlapas, šai vietnei ir " -"nepieciešams CSRF sīkfails. Šis sīkfails ir vajadzīgs drošības apsvērumu " -"dēļ, lai pārliecinātos, ka trešās personas nepārņems kontroli pār jūsu " -"pārlūkprogrammu." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" -"Ja esat konfigurējis pārlūkprogrammu, lai atspējotu sīkdatnes, lūdzu, " -"atkārtoti iespējojiet tās vismaz šai vietnei vai “same-origin” " -"pieprasījumiem." - -msgid "More information is available with DEBUG=True." -msgstr "Vairāk informācijas ir pieejams ar DEBUG=True" - -msgid "No year specified" -msgstr "Nav norādīts gads" - -msgid "Date out of range" -msgstr "Datums ir ārpus diapazona" - -msgid "No month specified" -msgstr "Nav norādīts mēnesis" - -msgid "No day specified" -msgstr "Nav norādīta diena" - -msgid "No week specified" -msgstr "Nav norādīta nedēļa" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "%(verbose_name_plural)s nav pieejami" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"Nākotne %(verbose_name_plural)s nav pieejama, jo %(class_name)s.allow_future " -"ir False." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "Nepareiza datuma rinda “%(datestr)s” norādītajā formātā “%(format)s”" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Neviens %(verbose_name)s netika atrasts" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "Lapa nav “pēdējā”, kā arī tā nevar tikt konvertēta par ciparu." - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Nepareiza lapa (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "Tukšs saraksts un \"%(class_name)s.allow_empty\" ir False." - -msgid "Directory indexes are not allowed here." -msgstr "Direktoriju indeksi nav atļauti." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "\"%(path)s\" neeksistē" - -#, python-format -msgid "Index of %(directory)s" -msgstr "%(directory)s saturs" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "Django: Web izstrādes ietvars perfekcionistiem ar izpildes termiņiem." - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"Apskatīt laidiena piezīmes Django %(version)s" - -msgid "The install worked successfully! Congratulations!" -msgstr "Instalācija veiksmīga! Apsveicam!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"Jūs redziet šo lapu, jo DEBUG=True ir iestatījumu failā un Jūs neesiet konfigurējis nevienu " -"saiti." - -msgid "Django Documentation" -msgstr "Django Dokumentācija" - -msgid "Topics, references, & how-to’s" -msgstr "Tēmas, atsauces, & how-to" - -msgid "Tutorial: A Polling App" -msgstr "Apmācība: Balsošanas aplikācija" - -msgid "Get started with Django" -msgstr "Sāciet ar Django" - -msgid "Django Community" -msgstr "Django Komūna" - -msgid "Connect, get help, or contribute" -msgstr "Pievienojaties, saņemiet palīdzību vai dodiet ieguldījumu" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/lv/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/lv/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/lv/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/lv/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index b04a8724..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/lv/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/lv/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/lv/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 357daf57..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/lv/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/lv/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/lv/formats.py deleted file mode 100644 index bc5f3b2e..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/lv/formats.py +++ /dev/null @@ -1,44 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = r'Y. \g\a\d\a j. F' -TIME_FORMAT = 'H:i' -DATETIME_FORMAT = r'Y. \g\a\d\a j. F, H:i' -YEAR_MONTH_FORMAT = r'Y. \g. F' -MONTH_DAY_FORMAT = 'j. F' -SHORT_DATE_FORMAT = r'j.m.Y' -SHORT_DATETIME_FORMAT = 'j.m.Y H:i' -FIRST_DAY_OF_WEEK = 1 # Monday - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -# Kept ISO formats as they are in first position -DATE_INPUT_FORMATS = [ - '%Y-%m-%d', '%d.%m.%Y', '%d.%m.%y', # '2006-10-25', '25.10.2006', '25.10.06' -] -TIME_INPUT_FORMATS = [ - '%H:%M:%S', # '14:30:59' - '%H:%M:%S.%f', # '14:30:59.000200' - '%H:%M', # '14:30' - '%H.%M.%S', # '14.30.59' - '%H.%M.%S.%f', # '14.30.59.000200' - '%H.%M', # '14.30' -] -DATETIME_INPUT_FORMATS = [ - '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59' - '%Y-%m-%d %H:%M:%S.%f', # '2006-10-25 14:30:59.000200' - '%Y-%m-%d %H:%M', # '2006-10-25 14:30' - '%d.%m.%Y %H:%M:%S', # '25.10.2006 14:30:59' - '%d.%m.%Y %H:%M:%S.%f', # '25.10.2006 14:30:59.000200' - '%d.%m.%Y %H:%M', # '25.10.2006 14:30' - '%d.%m.%y %H:%M:%S', # '25.10.06 14:30:59' - '%d.%m.%y %H:%M:%S.%f', # '25.10.06 14:30:59.000200' - '%d.%m.%y %H:%M', # '25.10.06 14:30' - '%d.%m.%y %H.%M.%S', # '25.10.06 14.30.59' - '%d.%m.%y %H.%M.%S.%f', # '25.10.06 14.30.59.000200' - '%d.%m.%y %H.%M', # '25.10.06 14.30' -] -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = ' ' # Non-breaking space -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/mk/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/mk/LC_MESSAGES/django.mo deleted file mode 100644 index 222da114..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/mk/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/mk/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/mk/LC_MESSAGES/django.po deleted file mode 100644 index ab2e622e..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/mk/LC_MESSAGES/django.po +++ /dev/null @@ -1,1267 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Claude Paroz , 2020 -# dekomote , 2015 -# Jannis Leidel , 2011 -# Vasil Vangelovski , 2016-2017 -# Vasil Vangelovski , 2013-2015 -# Vasil Vangelovski , 2011-2013 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-07-14 21:42+0000\n" -"Last-Translator: Transifex Bot <>\n" -"Language-Team: Macedonian (http://www.transifex.com/django/django/language/" -"mk/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: mk\n" -"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" - -msgid "Afrikaans" -msgstr "Африканс" - -msgid "Arabic" -msgstr "Арапски" - -msgid "Algerian Arabic" -msgstr "" - -msgid "Asturian" -msgstr "Астуриски" - -msgid "Azerbaijani" -msgstr "Азербејџански" - -msgid "Bulgarian" -msgstr "Бугарски" - -msgid "Belarusian" -msgstr "Белоруски" - -msgid "Bengali" -msgstr "Бенгалски" - -msgid "Breton" -msgstr "Бретонски" - -msgid "Bosnian" -msgstr "Босански" - -msgid "Catalan" -msgstr "Каталански" - -msgid "Czech" -msgstr "Чешки" - -msgid "Welsh" -msgstr "Велшки" - -msgid "Danish" -msgstr "Дански" - -msgid "German" -msgstr "Германски" - -msgid "Lower Sorbian" -msgstr "Долно Лужичко-Српски" - -msgid "Greek" -msgstr "Грчки" - -msgid "English" -msgstr "Англиски" - -msgid "Australian English" -msgstr "Австралиски англиски" - -msgid "British English" -msgstr "Британски англиски" - -msgid "Esperanto" -msgstr "Есперанто" - -msgid "Spanish" -msgstr "Шпански" - -msgid "Argentinian Spanish" -msgstr "Аргентински шпански" - -msgid "Colombian Spanish" -msgstr "Колумбиски Шпански" - -msgid "Mexican Spanish" -msgstr "Мексикански шпански" - -msgid "Nicaraguan Spanish" -msgstr "Никарагва шпански" - -msgid "Venezuelan Spanish" -msgstr "Венецуела шпански" - -msgid "Estonian" -msgstr "Естонски" - -msgid "Basque" -msgstr "Баскиски" - -msgid "Persian" -msgstr "Персиски" - -msgid "Finnish" -msgstr "Фински" - -msgid "French" -msgstr "Француски" - -msgid "Frisian" -msgstr "Фризиски" - -msgid "Irish" -msgstr "Ирски" - -msgid "Scottish Gaelic" -msgstr "Шкотски Галски" - -msgid "Galician" -msgstr "Галски" - -msgid "Hebrew" -msgstr "Еврејски" - -msgid "Hindi" -msgstr "Хинди" - -msgid "Croatian" -msgstr "Хрватски" - -msgid "Upper Sorbian" -msgstr "Горно Лужичко-Српски" - -msgid "Hungarian" -msgstr "Унгарски" - -msgid "Armenian" -msgstr "" - -msgid "Interlingua" -msgstr "Интерлингва" - -msgid "Indonesian" -msgstr "Индонезиски" - -msgid "Igbo" -msgstr "" - -msgid "Ido" -msgstr "Идо" - -msgid "Icelandic" -msgstr "Исландски" - -msgid "Italian" -msgstr "Италијански" - -msgid "Japanese" -msgstr "Јапонски" - -msgid "Georgian" -msgstr "Грузиски" - -msgid "Kabyle" -msgstr "" - -msgid "Kazakh" -msgstr "Казахстански" - -msgid "Khmer" -msgstr "Кмер" - -msgid "Kannada" -msgstr "Канада" - -msgid "Korean" -msgstr "Корејски" - -msgid "Kyrgyz" -msgstr "" - -msgid "Luxembourgish" -msgstr "Луксембуршки" - -msgid "Lithuanian" -msgstr "Литвански" - -msgid "Latvian" -msgstr "Латвиски" - -msgid "Macedonian" -msgstr "Македонски" - -msgid "Malayalam" -msgstr "Малајалам" - -msgid "Mongolian" -msgstr "Монголски" - -msgid "Marathi" -msgstr "Марати" - -msgid "Burmese" -msgstr "Бурмански" - -msgid "Norwegian Bokmål" -msgstr "Норвешки Бокмел" - -msgid "Nepali" -msgstr "Непалски" - -msgid "Dutch" -msgstr "Холандски" - -msgid "Norwegian Nynorsk" -msgstr "Нинорск норвешки" - -msgid "Ossetic" -msgstr "Осетски" - -msgid "Punjabi" -msgstr "Пунџаби" - -msgid "Polish" -msgstr "Полски" - -msgid "Portuguese" -msgstr "Португалкски" - -msgid "Brazilian Portuguese" -msgstr "Бразилско португалски" - -msgid "Romanian" -msgstr "Романски" - -msgid "Russian" -msgstr "Руски" - -msgid "Slovak" -msgstr "Словачки" - -msgid "Slovenian" -msgstr "Словенечки" - -msgid "Albanian" -msgstr "Албански" - -msgid "Serbian" -msgstr "Српски" - -msgid "Serbian Latin" -msgstr "Српски Латиница" - -msgid "Swedish" -msgstr "Шведски" - -msgid "Swahili" -msgstr "Свахили" - -msgid "Tamil" -msgstr "Тамил" - -msgid "Telugu" -msgstr "Телугу" - -msgid "Tajik" -msgstr "" - -msgid "Thai" -msgstr "Тајландски" - -msgid "Turkmen" -msgstr "" - -msgid "Turkish" -msgstr "Турски" - -msgid "Tatar" -msgstr "Татарски" - -msgid "Udmurt" -msgstr "Удмурт" - -msgid "Ukrainian" -msgstr "Украински" - -msgid "Urdu" -msgstr "Урду" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "Виетнамски" - -msgid "Simplified Chinese" -msgstr "Поедноставен кинески" - -msgid "Traditional Chinese" -msgstr "Традиционален кинески" - -msgid "Messages" -msgstr "Пораки" - -msgid "Site Maps" -msgstr "Сајт мапи" - -msgid "Static Files" -msgstr "Статички датотеки" - -msgid "Syndication" -msgstr "Синдикација" - -msgid "That page number is not an integer" -msgstr "Тој број на страна не е цел број" - -msgid "That page number is less than 1" -msgstr "Тој број на страна е помал од 1" - -msgid "That page contains no results" -msgstr "Таа страна не содржи резултати" - -msgid "Enter a valid value." -msgstr "Внесете правилна вредност." - -msgid "Enter a valid URL." -msgstr "Внесете правилна веб адреса." - -msgid "Enter a valid integer." -msgstr "Внесете валиден цел број." - -msgid "Enter a valid email address." -msgstr "Внесете валидна email адреса." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "Внесeте правилна IPv4 адреса." - -msgid "Enter a valid IPv6 address." -msgstr "Внесете валидна IPv6 адреса." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Внесете валидна IPv4 или IPv6 адреса." - -msgid "Enter only digits separated by commas." -msgstr "Внесете само цифри одделени со запирки." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" -"Осигурајте се дека оваа вредност е %(limit_value)s (моментално е " -"%(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "" -"Осигурајте се дека оваа вредност е помала или еднаква со %(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "" -"Осигурајте се дека оваа вредност е поголема или еднаква со %(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Осигурајте се дека оваа вредност има најмалку %(limit_value)d карактер (има " -"%(show_value)d)." -msgstr[1] "" -"Осигурајте се дека оваа вредност има најмалку %(limit_value)d карактери (има " -"%(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Осигурајте се дека оваа вредност има најмногу %(limit_value)d карактер (има " -"%(show_value)d)." -msgstr[1] "" -"Осигурајте се дека оваа вредност има најмногу %(limit_value)d карактери (има " -"%(show_value)d)." - -msgid "Enter a number." -msgstr "Внесете број." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Осигурајте се дека вкупно нема повеќе од %(max)s цифра." -msgstr[1] "Осигурајте се дека вкупно нема повеќе од %(max)s цифри." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "Осигурајте се дека нема повеќе од %(max)s децимално место." -msgstr[1] "Осигурајте се дека нема повеќе од %(max)s децимални места." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -"Осигурајте се дека нема повеќе одs %(max)s цифра пред децималната запирка." -msgstr[1] "" -"Осигурајте се дека нема повеќе од %(max)s цифри пред децималната запирка." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "" - -msgid "and" -msgstr "и" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "%(model_name)s со ова %(field_labels)s веќе постојат." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "Вредноста %(value)r не е валиден избор." - -msgid "This field cannot be null." -msgstr "Оваа вредност неможе да биде null." - -msgid "This field cannot be blank." -msgstr "Ова поле не може да биде празно" - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s со %(field_label)s веќе постои." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(field_label)s мора да биде уникатно за %(date_field_label)s " -"%(lookup_type)s." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Поле од тип: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "Логичка (или точно или неточно)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Нишка од знаци (текст) (до %(max_length)s карактери)" - -msgid "Comma-separated integers" -msgstr "Целобројни вредности одделени со запирка" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "Датум (без време)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "Датум (со време)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "Децимален број" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "Траење" - -msgid "Email address" -msgstr "Адреса за е-пошта (email)" - -msgid "File path" -msgstr "Патека на датотека" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "Децимален број подвижна запирка" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "Цел број" - -msgid "Big (8 byte) integer" -msgstr "Голем (8 бајти) цел број" - -msgid "IPv4 address" -msgstr "IPv4 адреса" - -msgid "IP address" -msgstr "IP адреса" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "Логичка вредност (точно,неточно или ништо)" - -msgid "Positive big integer" -msgstr "" - -msgid "Positive integer" -msgstr "Позитивен цел број" - -msgid "Positive small integer" -msgstr "Позитивен мал цел број" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Скратено име (до %(max_length)s знаци)" - -msgid "Small integer" -msgstr "Мал цел број" - -msgid "Text" -msgstr "Текст" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "Време" - -msgid "URL" -msgstr "URL (веб адреса)" - -msgid "Raw binary data" -msgstr "Сурови бинарни податоци" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "" - -msgid "File" -msgstr "Датотека" - -msgid "Image" -msgstr "Слика" - -msgid "A JSON object" -msgstr "" - -msgid "Value must be valid JSON." -msgstr "" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "%(model)s инстанца со %(field)s %(value)r не постои." - -msgid "Foreign Key (type determined by related field)" -msgstr "Надворешен клуч (типот е одреден според поврзаното поле)" - -msgid "One-to-one relationship" -msgstr "Еден-према-еден релација" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "%(from)s-%(to)s релација" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "%(from)s-%(to)s релации" - -msgid "Many-to-many relationship" -msgstr "Повеќе-према-повеќе релација" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Ова поле е задолжително." - -msgid "Enter a whole number." -msgstr "Внесете цел број." - -msgid "Enter a valid date." -msgstr "Внесете правилен датум." - -msgid "Enter a valid time." -msgstr "Внесете правилно време." - -msgid "Enter a valid date/time." -msgstr "Внесете правилен датум со време." - -msgid "Enter a valid duration." -msgstr "Внесете валидно времетрање." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "" - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Не беше пратена датотека. Проверете го типот на енкодирање на формата." - -msgid "No file was submitted." -msgstr "Не беше пратена датотека." - -msgid "The submitted file is empty." -msgstr "Пратената датотека е празна." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Осигурајте се дека ова име на датотека има најмногу %(max)d карактер (има " -"%(length)d)." -msgstr[1] "" -"Осигурајте се дека ова име на датотека има најмногу %(max)d карактери (има " -"%(length)d)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" -"Или прикачете датотека или штиклирајте го полето за чистење, не двете од " -"еднаш." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Качете валидна слика. Датотеката која ја качивте или не беше слика или беше " -"расипана датотеката." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "Внесете валиден избор. %(value)s не е еден од можните избори." - -msgid "Enter a list of values." -msgstr "Внесете листа на вредности." - -msgid "Enter a complete value." -msgstr "Внесете целосна вредност." - -msgid "Enter a valid UUID." -msgstr "Внесете валиден UUID (единствен идентификатор)." - -msgid "Enter a valid JSON." -msgstr "" - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Скриено поле %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "Недостасуваат податоци од ManagementForm или некој ги менувал" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Ве молиме поднесете %d или помалку форми." -msgstr[1] "Ве молиме поднесете %d или помалку форми." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "Ве молиме поднесете %d или повеќе форми." -msgstr[1] "Ве молиме поднесете %d или повеќе форми." - -msgid "Order" -msgstr "Редослед" - -msgid "Delete" -msgstr "Избриши" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Ве молам поправете ја дуплираната вредност за %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"Ве молам поправете ја дуплираната вредност за %(field)s, која мора да биде " -"уникатна." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Ве молам поправете ја дуплираната вредност за %(field_name)s која мора да " -"биде уникатна за %(lookup)s во %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "Ве молам поправете ги дуплираните вредности подолу." - -msgid "The inline value did not match the parent instance." -msgstr "" - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "Изберете правилно. Тоа не е еден од можните избори." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "Исчисти" - -msgid "Currently" -msgstr "Моментално" - -msgid "Change" -msgstr "Измени" - -msgid "Unknown" -msgstr "Непознато" - -msgid "Yes" -msgstr "Да" - -msgid "No" -msgstr "Не" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "да,не,можеби" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d бајт" -msgstr[1] "%(size)d бајти" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "попладне" - -msgid "a.m." -msgstr "наутро" - -msgid "PM" -msgstr "попладне" - -msgid "AM" -msgstr "наутро" - -msgid "midnight" -msgstr "полноќ" - -msgid "noon" -msgstr "пладне" - -msgid "Monday" -msgstr "Понеделник" - -msgid "Tuesday" -msgstr "Вторник" - -msgid "Wednesday" -msgstr "Среда" - -msgid "Thursday" -msgstr "Четврток" - -msgid "Friday" -msgstr "Петок" - -msgid "Saturday" -msgstr "Сабота" - -msgid "Sunday" -msgstr "Недела" - -msgid "Mon" -msgstr "Пон" - -msgid "Tue" -msgstr "Вто" - -msgid "Wed" -msgstr "Сре" - -msgid "Thu" -msgstr "Чет" - -msgid "Fri" -msgstr "Пет" - -msgid "Sat" -msgstr "Саб" - -msgid "Sun" -msgstr "Нед" - -msgid "January" -msgstr "Јануари" - -msgid "February" -msgstr "Февруари" - -msgid "March" -msgstr "Март" - -msgid "April" -msgstr "Април" - -msgid "May" -msgstr "Мај" - -msgid "June" -msgstr "Јуни" - -msgid "July" -msgstr "Јули" - -msgid "August" -msgstr "август" - -msgid "September" -msgstr "Септември" - -msgid "October" -msgstr "Октомври" - -msgid "November" -msgstr "Ноември" - -msgid "December" -msgstr "Декември" - -msgid "jan" -msgstr "јан" - -msgid "feb" -msgstr "фев" - -msgid "mar" -msgstr "мар" - -msgid "apr" -msgstr "апр" - -msgid "may" -msgstr "мај" - -msgid "jun" -msgstr "јун" - -msgid "jul" -msgstr "јул" - -msgid "aug" -msgstr "авг" - -msgid "sep" -msgstr "сеп" - -msgid "oct" -msgstr "окт" - -msgid "nov" -msgstr "ное" - -msgid "dec" -msgstr "дек" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Јан." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Фев." - -msgctxt "abbrev. month" -msgid "March" -msgstr "Март" - -msgctxt "abbrev. month" -msgid "April" -msgstr "Април" - -msgctxt "abbrev. month" -msgid "May" -msgstr "Мај" - -msgctxt "abbrev. month" -msgid "June" -msgstr "Јуни" - -msgctxt "abbrev. month" -msgid "July" -msgstr "Јули" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Авг." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Септ." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Окт." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Ное." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Дек." - -msgctxt "alt. month" -msgid "January" -msgstr "Јануари" - -msgctxt "alt. month" -msgid "February" -msgstr "Февруари" - -msgctxt "alt. month" -msgid "March" -msgstr "Март" - -msgctxt "alt. month" -msgid "April" -msgstr "Април" - -msgctxt "alt. month" -msgid "May" -msgstr "Мај" - -msgctxt "alt. month" -msgid "June" -msgstr "Јуни" - -msgctxt "alt. month" -msgid "July" -msgstr "Јули" - -msgctxt "alt. month" -msgid "August" -msgstr "Август" - -msgctxt "alt. month" -msgid "September" -msgstr "Септември" - -msgctxt "alt. month" -msgid "October" -msgstr "Октомври" - -msgctxt "alt. month" -msgid "November" -msgstr "Ноември" - -msgctxt "alt. month" -msgid "December" -msgstr "Декември" - -msgid "This is not a valid IPv6 address." -msgstr "Ова не е валидна IPv6 адреса." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "" - -msgid "or" -msgstr "или" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr "," - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d година" -msgstr[1] "%d години" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d месец" -msgstr[1] "%d месеци" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d недела" -msgstr[1] "%d недели" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d ден" -msgstr[1] "%d дена" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d час" -msgstr[1] "%d часови" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d минута" -msgstr[1] "%d минути" - -msgid "Forbidden" -msgstr "Забрането" - -msgid "CSRF verification failed. Request aborted." -msgstr "CSRF верификацијата не успеа. Барањето е прекинато." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Ја гледате оваа порака бидејќи овој сајт бара CSRF колаче (cookie) за да се " -"поднесуваат форми. Ова колаче е потребно од безбедносни причини, за да се " -"осигураме дека вашиот веб прелистувач не е грабнат и контролиран од трети " -"страни." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "Повеќе информации се достапни со DEBUG = True." - -msgid "No year specified" -msgstr "Не е дадена година" - -msgid "Date out of range" -msgstr "" - -msgid "No month specified" -msgstr "Не е даден месец" - -msgid "No day specified" -msgstr "Не е даден ден" - -msgid "No week specified" -msgstr "Не е дадена недела" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "Нема достапни %(verbose_name_plural)s" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"Идни %(verbose_name_plural)s не се достапни бидејќи %(class_name)s." -"allow_future е False." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Нема %(verbose_name)s што се совпаѓа со пребарувањето" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Невалидна страна (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "Индекси на директориуми не се дозволени тука." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Индекс на %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" - -msgid "The install worked successfully! Congratulations!" -msgstr "" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" - -msgid "Django Documentation" -msgstr "" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "" - -msgid "Get started with Django" -msgstr "" - -msgid "Django Community" -msgstr "" - -msgid "Connect, get help, or contribute" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/mk/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/mk/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/mk/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/mk/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index aeaee441..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/mk/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/mk/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/mk/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 80fbf87b..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/mk/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/mk/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/mk/formats.py deleted file mode 100644 index 18d47823..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/mk/formats.py +++ /dev/null @@ -1,38 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'd F Y' -TIME_FORMAT = 'H:i' -DATETIME_FORMAT = 'j. F Y H:i' -YEAR_MONTH_FORMAT = 'F Y' -MONTH_DAY_FORMAT = 'j. F' -SHORT_DATE_FORMAT = 'j.m.Y' -SHORT_DATETIME_FORMAT = 'j.m.Y H:i' -FIRST_DAY_OF_WEEK = 1 - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -DATE_INPUT_FORMATS = [ - '%d.%m.%Y', '%d.%m.%y', # '25.10.2006', '25.10.06' - '%d. %m. %Y', '%d. %m. %y', # '25. 10. 2006', '25. 10. 06' -] - -DATETIME_INPUT_FORMATS = [ - '%d.%m.%Y %H:%M:%S', # '25.10.2006 14:30:59' - '%d.%m.%Y %H:%M:%S.%f', # '25.10.2006 14:30:59.000200' - '%d.%m.%Y %H:%M', # '25.10.2006 14:30' - '%d.%m.%y %H:%M:%S', # '25.10.06 14:30:59' - '%d.%m.%y %H:%M:%S.%f', # '25.10.06 14:30:59.000200' - '%d.%m.%y %H:%M', # '25.10.06 14:30' - '%d. %m. %Y %H:%M:%S', # '25. 10. 2006 14:30:59' - '%d. %m. %Y %H:%M:%S.%f', # '25. 10. 2006 14:30:59.000200' - '%d. %m. %Y %H:%M', # '25. 10. 2006 14:30' - '%d. %m. %y %H:%M:%S', # '25. 10. 06 14:30:59' - '%d. %m. %y %H:%M:%S.%f', # '25. 10. 06 14:30:59.000200' - '%d. %m. %y %H:%M', # '25. 10. 06 14:30' -] - -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = '.' -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ml/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/ml/LC_MESSAGES/django.mo deleted file mode 100644 index bf62b262..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/ml/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ml/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/ml/LC_MESSAGES/django.po deleted file mode 100644 index 4078bd10..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/ml/LC_MESSAGES/django.po +++ /dev/null @@ -1,1265 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# c1007a0b890405f1fbddfacebc4c6ef7, 2013 -# Claude Paroz , 2020 -# Hrishikesh , 2019-2020 -# Jannis Leidel , 2011 -# Jaseem KM , 2019 -# Jeffy , 2012 -# Jibin Mathew , 2019 -# Rag sagar , 2016 -# Rajeesh Nair , 2011-2012 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-07-14 21:42+0000\n" -"Last-Translator: Transifex Bot <>\n" -"Language-Team: Malayalam (http://www.transifex.com/django/django/language/" -"ml/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ml\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "Afrikaans" -msgstr "ആഫ്രിക്കാന്‍സ്" - -msgid "Arabic" -msgstr "അറബിൿ" - -msgid "Algerian Arabic" -msgstr "അൾഗേരിയൻ അറബിൿ" - -msgid "Asturian" -msgstr "ആസ്ടൂറിയൻ" - -msgid "Azerbaijani" -msgstr "അസര്‍ബൈജാനി" - -msgid "Bulgarian" -msgstr "ബള്‍ഗേറിയന്‍" - -msgid "Belarusian" -msgstr "ബെലറൂഷ്യന്‍" - -msgid "Bengali" -msgstr "ബംഗാളി" - -msgid "Breton" -msgstr "ബ്രെട്ടണ്‍" - -msgid "Bosnian" -msgstr "ബോസ്നിയന്‍" - -msgid "Catalan" -msgstr "കാറ്റലന്‍" - -msgid "Czech" -msgstr "ചെൿ" - -msgid "Welsh" -msgstr "വെല്‍ഷ്" - -msgid "Danish" -msgstr "ഡാനിഷ്" - -msgid "German" -msgstr "ജര്‍മന്‍" - -msgid "Lower Sorbian" -msgstr "ലോവർ സോർബിയൻ " - -msgid "Greek" -msgstr "ഗ്രീക്ക്" - -msgid "English" -msgstr "ഇംഗ്ലീഷ്" - -msgid "Australian English" -msgstr "ആസ്ട്രേലിയൻ ഇംഗ്ലീഷ്" - -msgid "British English" -msgstr "ബ്രിട്ടീഷ് ഇംഗ്ലീഷ്" - -msgid "Esperanto" -msgstr "എസ്പെരാന്റോ" - -msgid "Spanish" -msgstr "സ്പാനിഷ്" - -msgid "Argentinian Spanish" -msgstr "അര്‍ജന്റീനിയന്‍ സ്പാനിഷ്" - -msgid "Colombian Spanish" -msgstr "കൊളംബിയൻ സ്പാനിഷ്" - -msgid "Mexican Spanish" -msgstr "മെക്സിക്കന്‍ സ്പാനിഷ്" - -msgid "Nicaraguan Spanish" -msgstr "നിക്കരാഗ്വന്‍ സ്പാനിഷ്" - -msgid "Venezuelan Spanish" -msgstr "വെനിസ്വലന്‍ സ്പാനിഷ്" - -msgid "Estonian" -msgstr "എസ്ടോണിയന്‍ സ്പാനിഷ്" - -msgid "Basque" -msgstr "ബാസ്ക്യു" - -msgid "Persian" -msgstr "പേര്‍ഷ്യന്‍" - -msgid "Finnish" -msgstr "ഫിന്നിഷ്" - -msgid "French" -msgstr "ഫ്രെഞ്ച്" - -msgid "Frisian" -msgstr "ഫ്രിസിയന്‍" - -msgid "Irish" -msgstr "ഐറിഷ്" - -msgid "Scottish Gaelic" -msgstr "സ്കോട്ടിഷ് ഗൈലിൿ" - -msgid "Galician" -msgstr "ഗലിഷ്യന്‍" - -msgid "Hebrew" -msgstr "ഹീബ്രു" - -msgid "Hindi" -msgstr "ഹിന്ദി" - -msgid "Croatian" -msgstr "ക്രൊയേഷ്യന്‍" - -msgid "Upper Sorbian" -msgstr "അപ്പർ സോർബിയൻ " - -msgid "Hungarian" -msgstr "ഹംഗേറിയന്‍" - -msgid "Armenian" -msgstr "അർമേനിയൻ" - -msgid "Interlingua" -msgstr "ഇന്റര്‍ലിംഗ്വാ" - -msgid "Indonesian" -msgstr "ഇന്തൊനേഷ്യന്‍" - -msgid "Igbo" -msgstr "" - -msgid "Ido" -msgstr "ഈടോ" - -msgid "Icelandic" -msgstr "ഐസ്ലാന്‍ഡിൿ" - -msgid "Italian" -msgstr "ഇറ്റാലിയന്‍" - -msgid "Japanese" -msgstr "ജാപ്പനീസ്" - -msgid "Georgian" -msgstr "ജോര്‍ജിയന്‍" - -msgid "Kabyle" -msgstr "കാബയെൽ " - -msgid "Kazakh" -msgstr "കസാഖ്" - -msgid "Khmer" -msgstr "ഖ്മേര്‍" - -msgid "Kannada" -msgstr "കന്നഡ" - -msgid "Korean" -msgstr "കൊറിയന്‍" - -msgid "Kyrgyz" -msgstr "" - -msgid "Luxembourgish" -msgstr "ലക്സംബര്‍ഗിഷ് " - -msgid "Lithuanian" -msgstr "ലിത്വാനിയന്‍" - -msgid "Latvian" -msgstr "ലാറ്റ്വിയന്‍" - -msgid "Macedonian" -msgstr "മാസിഡോണിയന്‍" - -msgid "Malayalam" -msgstr "മലയാളം" - -msgid "Mongolian" -msgstr "മംഗോളിയന്‍" - -msgid "Marathi" -msgstr "മറാത്തി" - -msgid "Burmese" -msgstr "ബര്‍മീസ്" - -msgid "Norwegian Bokmål" -msgstr "നോർവേജിയൻ ബുക്ക്മൊൾ" - -msgid "Nepali" -msgstr "നേപ്പാളി" - -msgid "Dutch" -msgstr "ഡച്ച്" - -msgid "Norwegian Nynorsk" -msgstr "നോര്‍വീജിയന്‍ നിനോഷ്ക്" - -msgid "Ossetic" -msgstr "ഒസ്സെറ്റിക്" - -msgid "Punjabi" -msgstr "പഞ്ചാബി" - -msgid "Polish" -msgstr "പോളിഷ്" - -msgid "Portuguese" -msgstr "പോര്‍ചുഗീസ്" - -msgid "Brazilian Portuguese" -msgstr "ബ്രസീലിയന്‍ പോര്‍ച്ചുഗീസ്" - -msgid "Romanian" -msgstr "റൊമാനിയന്‍" - -msgid "Russian" -msgstr "റഷ്യന്‍" - -msgid "Slovak" -msgstr "സ്ലൊവാൿ" - -msgid "Slovenian" -msgstr "സ്ളൊവേനിയന്‍" - -msgid "Albanian" -msgstr "അല്‍ബേനിയന്‍" - -msgid "Serbian" -msgstr "സെര്‍ബിയന്‍" - -msgid "Serbian Latin" -msgstr "സെര്‍ബിയന്‍ ലാറ്റിന്‍" - -msgid "Swedish" -msgstr "സ്വീഡിഷ്" - -msgid "Swahili" -msgstr "സ്വാഹിലി" - -msgid "Tamil" -msgstr "തമിഴ്" - -msgid "Telugu" -msgstr "തെലുങ്ക്" - -msgid "Tajik" -msgstr "" - -msgid "Thai" -msgstr "തായ്" - -msgid "Turkmen" -msgstr "" - -msgid "Turkish" -msgstr "ടര്‍ക്കിഷ്" - -msgid "Tatar" -msgstr "തൊതാര്‍" - -msgid "Udmurt" -msgstr "ഉദ്മര്‍ത്" - -msgid "Ukrainian" -msgstr "യുക്രേനിയന്‍" - -msgid "Urdu" -msgstr "ഉര്‍ദു" - -msgid "Uzbek" -msgstr "ഉസ്ബെൿ" - -msgid "Vietnamese" -msgstr "വിയറ്റ്നാമീസ്" - -msgid "Simplified Chinese" -msgstr "സിമ്പ്ലിഫൈഡ് ചൈനീസ്" - -msgid "Traditional Chinese" -msgstr "പരമ്പരാഗത ചൈനീസ്" - -msgid "Messages" -msgstr "സന്ദേശങ്ങൾ" - -msgid "Site Maps" -msgstr "സൈറ്റ് മാപ്പുകൾ" - -msgid "Static Files" -msgstr " സ്റ്റാറ്റിൿ ഫയലുകൾ" - -msgid "Syndication" -msgstr "വിതരണം " - -msgid "That page number is not an integer" -msgstr "ആ പേജ് നമ്പർ ഒരു ഇന്റിജറല്ല" - -msgid "That page number is less than 1" -msgstr "ആ പേജ് നമ്പർ 1 നെ കാൾ ചെറുതാണ് " - -msgid "That page contains no results" -msgstr "ആ പേജിൽ റിസൾട്ടുകൾ ഒന്നും ഇല്ല " - -msgid "Enter a valid value." -msgstr "ശരിയായ വാല്യു നൽകുക." - -msgid "Enter a valid URL." -msgstr "ശരിയായ URL നല്‍കുക" - -msgid "Enter a valid integer." -msgstr "ശരിയായ ഇന്റിജർ നൽകുക." - -msgid "Enter a valid email address." -msgstr "ശരിയായ ഇമെയില്‍ വിലാസം നല്‍കുക." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" -"അക്ഷരങ്ങള്‍, അക്കങ്ങള്‍, അണ്ടര്‍സ്കോര്‍, ഹൈഫന്‍ എന്നിവ മാത്രം അടങ്ങിയ ശരിയായ ഒരു 'സ്ലഗ്ഗ്' നൽകുക. " - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" -"യൂണികോഡ് അക്ഷരങ്ങൾ, അക്കങ്ങൾ, ഹൈഫണുകൾ, അണ്ടർസ്കോറുക‌‌ൾ എന്നിവമാത്രം അടങ്ങിയ ശെരിയായ ‌ഒരു " -"“സ്ലഗ്” എഴുതുക ." - -msgid "Enter a valid IPv4 address." -msgstr "ശരിയായ IPv4 വിലാസം നൽകുക." - -msgid "Enter a valid IPv6 address." -msgstr "ശരിയായ ഒരു IPv6 വിലാസം നൽകുക." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "ശരിയായ ഒരു IPv4 വിലാസമോ IPv6 വിലാസമോ നൽകുക." - -msgid "Enter only digits separated by commas." -msgstr "കോമകൾ ഉപയോഗിച്ച് വേർതിരിച്ച രീതിയിലുള്ള അക്കങ്ങൾ മാത്രം നൽകുക." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "ഇത് %(limit_value)s ആവണം. (ഇപ്പോള്‍ %(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "ഇത് %(limit_value)s-ഓ അതില്‍ കുറവോ ആവണം" - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "ഇത് %(limit_value)s-ഓ അതില്‍ കൂടുതലോ ആവണം" - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"ഈ വാല്യൂയിൽ %(limit_value)d ക്യാരക്ടർ എങ്കിലും ഉണ്ടെന്നു ഉറപ്പു വരുത്തുക(ഇതിൽ " -"%(show_value)d ഉണ്ട് )" -msgstr[1] "" -"ഈ വാല്യൂയിൽ %(limit_value)dക്യാരക്ടേർസ് എങ്കിലും ഉണ്ടെന്നു ഉറപ്പു വരുത്തുക(ഇതിൽ " -"%(show_value)d ഉണ്ട് )" - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"ഈ വാല്യൂയിൽ %(limit_value)d ക്യാരക്ടർ 1 ഇൽ കൂടുതൽ ഇല്ലെന്നു ഉറപ്പു വരുത്തുക(ഇതിൽ 2 " -"%(show_value)d ഉണ്ട് )" -msgstr[1] "" -"ഈ വാല്യൂയിൽ %(limit_value)d ക്യാരക്ടർസ് 1 ഇൽ കൂടുതൽ ഇല്ലെന്നു ഉറപ്പു വരുത്തുക(ഇതിൽ 2 " -"%(show_value)d ഉണ്ട് )" - -msgid "Enter a number." -msgstr "ഒരു സംഖ്യ നല്കുക." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "%(max)s ഡിജിറ്റിൽ കൂടുതൽ ഇല്ല എന്ന് ഉറപ്പു വരുത്തുക ." -msgstr[1] "%(max)sഡിജിറ്റ്സിൽ കൂടുതൽ ഇല്ല എന്ന് ഉറപ്പു വരുത്തുക. " - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "%(max)sകൂടുതൽ ഡെസിമൽ പോയന്റില്ല എന്ന് ഉറപ്പു വരുത്തുക. " -msgstr[1] "%(max)sകൂടുതൽ ഡെസിമൽ പോയിന്റുകളില്ല എന്ന് ഉറപ്പു വരുത്തുക. " - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "%(max)sഡിജിറ്റ് ഡെസിമൽ പോയിന്റിനു മുൻപ് ഇല്ല എന്ന് ഉറപ്പു വരുത്തുക." -msgstr[1] "%(max)sഡിജിറ്റ്സ് ഡെസിമൽ പോയിന്റിനു മുൻപ് ഇല്ല എന്ന് ഉറപ്പു വരുത്തുക. " - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" -"“%(extension)s” എന്ന ഫയൽ എക്സ്റ്റൻഷൻ അനുവദനീയമല്ല. അനുവദനീയമായ എക്സ്റ്റൻഷനുകൾ ഇവയാണ്: " -"%(allowed_extensions)s" - -msgid "Null characters are not allowed." -msgstr "Null ക്യാരക്ടറുകൾ അനുവദനീയമല്ല." - -msgid "and" -msgstr "പിന്നെ" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "%(field_labels)sഉള്ള %(model_name)sനിലവിലുണ്ട്." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "%(value)r എന്ന വാല്യൂ ശെരിയായ ചോയ്സ് അല്ല. " - -msgid "This field cannot be null." -msgstr "ഈ കളം (ഫീല്‍ഡ്) ഒഴിച്ചിടരുത്." - -msgid "This field cannot be blank." -msgstr "ഈ കളം (ഫീല്‍ഡ്) ഒഴിച്ചിടരുത്." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(field_label)s-ഓടു കൂടിയ %(model_name)s നിലവിലുണ്ട്." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(date_field_label)s %(lookup_type)s-നു %(field_label)s ആവര്‍ത്തിക്കാന്‍ പാടില്ല." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "%(field_type)s എന്ന തരത്തിലുള്ള കളം (ഫീല്‍ഡ്)" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "“%(value)s” മൂല്യം ഒന്നുകിൽ True, False എന്നിവയിലേതെങ്കിലുമേ ആവാൻ പാടുള്ളൂ." - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" -"“%(value)s” മൂല്യം ഒന്നുകിൽ True, False അല്ലെങ്കിൽ None എന്നിവയിലേതെങ്കിലുമേ ആവാൻ " -"പാടുള്ളൂ." - -msgid "Boolean (Either True or False)" -msgstr "ശരിയോ തെറ്റോ (True അഥവാ False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "സ്ട്രിങ്ങ് (%(max_length)s വരെ നീളമുള്ളത്)" - -msgid "Comma-separated integers" -msgstr "കോമയിട്ട് വേര്‍തിരിച്ച സംഖ്യകള്‍" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "തീയതി (സമയം വേണ്ട)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "തീയതി (സമയത്തോടൊപ്പം)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "ദശാംശസംഖ്യ" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "കാലയളവ്" - -msgid "Email address" -msgstr "ഇ-മെയില്‍ വിലാസം" - -msgid "File path" -msgstr "ഫയല്‍ സ്ഥാനം" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "ദശാംശസംഖ്യ" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "പൂര്‍ണ്ണസംഖ്യ" - -msgid "Big (8 byte) integer" -msgstr "8 ബൈറ്റ് പൂര്‍ണസംഖ്യ." - -msgid "IPv4 address" -msgstr "IPv4 വിലാസം" - -msgid "IP address" -msgstr "IP വിലാസം" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "ശരിയോ തെറ്റോ എന്നു മാത്രം (True, False, None എന്നിവയില്‍ ഏതെങ്കിലും ഒന്ന്)" - -msgid "Positive big integer" -msgstr "" - -msgid "Positive integer" -msgstr "ധന പൂര്‍ണസംഖ്യ" - -msgid "Positive small integer" -msgstr "ധന ഹ്രസ്വ പൂര്‍ണസംഖ്യ" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "സ്ലഗ് (%(max_length)s വരെ)" - -msgid "Small integer" -msgstr "ഹ്രസ്വ പൂര്‍ണസംഖ്യ" - -msgid "Text" -msgstr "ടെക്സ്റ്റ്" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "സമയം" - -msgid "URL" -msgstr "URL(വെബ്-വിലാസം)" - -msgid "Raw binary data" -msgstr "റോ ബൈനറി ഡാറ്റ" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "എല്ലായിടത്തും യുണീക്കായ ഐഡന്റിഫൈയർ." - -msgid "File" -msgstr "ഫയല്‍" - -msgid "Image" -msgstr "ചിത്രം" - -msgid "A JSON object" -msgstr "" - -msgid "Value must be valid JSON." -msgstr "" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "%(field)s%(value)r ഉള്ള%(model)s ഇൻസ്റ്റൻസ് നിലവിൽ ഇല്ല." - -msgid "Foreign Key (type determined by related field)" -msgstr "ഫോറിന്‍ കീ (ടൈപ്പ് ബന്ധപ്പെട്ട ഫീല്‍ഡില്‍ നിന്നും നിര്‍ണ്ണയിക്കുന്നതാണ്)" - -msgid "One-to-one relationship" -msgstr "വണ്‍-ടു-വണ്‍ ബന്ധം" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "%(from)s-%(to)s റിലേഷൻഷിപ്‌." - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "%(from)s-%(to)sറിലേഷൻഷിപ്‌സ്. " - -msgid "Many-to-many relationship" -msgstr "മെനി-ടു-മെനി ബന്ധം" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "ഈ കള്ളി(ഫീല്‍ഡ്) നിര്‍ബന്ധമാണ്." - -msgid "Enter a whole number." -msgstr "ഒരു പൂര്‍ണസംഖ്യ നല്കുക." - -msgid "Enter a valid date." -msgstr "ശരിയായ തീയതി നല്കുക." - -msgid "Enter a valid time." -msgstr "ശരിയായ സമയം നല്കുക." - -msgid "Enter a valid date/time." -msgstr "ശരിയായ തീയതിയും സമയവും നല്കുക." - -msgid "Enter a valid duration." -msgstr "സാധുതയുള്ള കാലയളവ് നല്കുക." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "ദിവസങ്ങളുടെ എണ്ണം {min_days}, {max_days} എന്നിവയുടെ ഇടയിലായിരിക്കണം." - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "ഫയലൊന്നും ലഭിച്ചിട്ടില്ല. ഫോമിലെ എന്‍-കോഡിംഗ് പരിശോധിക്കുക." - -msgid "No file was submitted." -msgstr "ഫയലൊന്നും ലഭിച്ചിട്ടില്ല." - -msgid "The submitted file is empty." -msgstr "ലഭിച്ച ഫയല്‍ ശൂന്യമാണ്." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"ഈ ഫയൽ നെയ്മിൽ%(max)dക്യാരക്ടറിൽ കൂടുതലില്ല എന്ന് ഉറപ്പു വരുത്തുക (അതിൽ %(length)dഉണ്ട്) . " -msgstr[1] "" -"ഈ ഫയൽ നെയ്മിൽ%(max)dക്യാരക്ടേഴ്‌സിൽ കൂടുതലില്ല എന്ന് ഉറപ്പു വരുത്തുക (അതിൽ %(length)dഉണ്ട്)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" -"ഒന്നുകില്‍ ഫയല്‍ സമര്‍പ്പിക്കണം, അല്ലെങ്കില്‍ ക്ളിയര്‍ എന്ന ചെക്ബോക്സ് ടിക് ചെയ്യണം. ദയവായി രണ്ടും " -"കൂടി ചെയ്യരുത്." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"ശരിയായ ചിത്രം അപ് ലോഡ് ചെയ്യുക. നിങ്ങള്‍ നല്കിയ ഫയല്‍ ഒന്നുകില്‍ ഒരു ചിത്രമല്ല, അല്ലെങ്കില്‍ " -"വികലമാണ്." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "യോഗ്യമായത് തെരഞ്ഞെടുക്കുക. %(value)s ലഭ്യമായവയില്‍ ഉള്‍പ്പെടുന്നില്ല." - -msgid "Enter a list of values." -msgstr "മൂല്യങ്ങളുടെ പട്ടിക(ലിസ്റ്റ്) നല്കുക." - -msgid "Enter a complete value." -msgstr "പൂർണ്ണമായ വാല്യൂ നല്കുക." - -msgid "Enter a valid UUID." -msgstr "സാധുവായ യു യു ഐ ഡി നല്കുക." - -msgid "Enter a valid JSON." -msgstr "" - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(ഹിഡൻ ഫീൽഡ് %(name)s)%(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "ManagementForm ടാറ്റ കാണ്മാനില്ല അല്ലെങ്കിൽ തിരിമറി നടത്തപ്പെട്ടു ." - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "ദയവായി%d അല്ലെങ്കിൽ കുറവ് ഫോമുകൾ സമർപ്പിക്കുക." -msgstr[1] "ദയവായി%d അല്ലെങ്കിൽ കുറവ് ഫോമുകൾ സമർപ്പിക്കുക." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "ദയവായി %d അല്ലെങ്കിൽ കൂടുതൽ ഫോമുകൾ സമർപ്പിക്കുക. " -msgstr[1] "ദയവായി%d അല്ലെങ്കിൽ കൂടുതൽ ഫോമുകൾ സമർപ്പിക്കുക. " - -msgid "Order" -msgstr "ക്രമം" - -msgid "Delete" -msgstr "ഡിലീറ്റ്" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "%(field)s-നായി നല്കുന്ന വിവരം ആവര്‍ത്തിച്ചത് ദയവായി തിരുത്തുക." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "%(field)s-നായി നല്കുന്ന വിവരം ആവര്‍ത്തിക്കാന്‍ പാടില്ല. ദയവായി തിരുത്തുക." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"%(date_field)s ലെ %(lookup)s നു വേണ്ടി %(field_name)s നു നല്കുന്ന വിവരം ആവര്‍ത്തിക്കാന്‍ " -"പാടില്ല. ദയവായി തിരുത്തുക." - -msgid "Please correct the duplicate values below." -msgstr "താഴെ കൊടുത്തവയില്‍ ആവര്‍ത്തനം ഒഴിവാക്കുക." - -msgid "The inline value did not match the parent instance." -msgstr "ഇൻലൈൻ വാല്യൂ, പാരെന്റ് ഇൻസ്റ്റൻസുമായി ചേരുന്നില്ല." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "യോഗ്യമായത് തെരഞ്ഞെടുക്കുക. നിങ്ങള്‍ നല്കിയത് ലഭ്യമായവയില്‍ ഉള്‍പ്പെടുന്നില്ല." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "കാലിയാക്കുക" - -msgid "Currently" -msgstr "നിലവിലുള്ളത്" - -msgid "Change" -msgstr "മാറ്റുക" - -msgid "Unknown" -msgstr "അജ്ഞാതം" - -msgid "Yes" -msgstr "അതെ" - -msgid "No" -msgstr "അല്ല" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "ഉണ്ട്,ഇല്ല,ഉണ്ടായേക്കാം" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d ബൈറ്റ്" -msgstr[1] "%(size)d ബൈറ്റുകള്‍" - -#, python-format -msgid "%s KB" -msgstr "%s കെ.ബി" - -#, python-format -msgid "%s MB" -msgstr "%s എം.ബി" - -#, python-format -msgid "%s GB" -msgstr "%s ജി.ബി" - -#, python-format -msgid "%s TB" -msgstr "%s ടി.ബി" - -#, python-format -msgid "%s PB" -msgstr "%s പി.ബി" - -msgid "p.m." -msgstr "പി. എം (ഉച്ചയ്ക്കു ശേഷം) " - -msgid "a.m." -msgstr "എ. എം (ഉച്ചയ്ക്കു മുമ്പ്)" - -msgid "PM" -msgstr "പി. എം (ഉച്ചയ്ക്കു ശേഷം) " - -msgid "AM" -msgstr "എ. എം (ഉച്ചയ്ക്കു മുമ്പ്)" - -msgid "midnight" -msgstr "അര്‍ധരാത്രി" - -msgid "noon" -msgstr "ഉച്ച" - -msgid "Monday" -msgstr "തിങ്കളാഴ്ച" - -msgid "Tuesday" -msgstr "ചൊവ്വാഴ്ച" - -msgid "Wednesday" -msgstr "ബുധനാഴ്ച" - -msgid "Thursday" -msgstr "വ്യാഴാഴ്ച" - -msgid "Friday" -msgstr "വെള്ളിയാഴ്ച" - -msgid "Saturday" -msgstr "ശനിയാഴ്ച" - -msgid "Sunday" -msgstr "ഞായറാഴ്ച" - -msgid "Mon" -msgstr "തിങ്കള്‍" - -msgid "Tue" -msgstr "ചൊവ്വ" - -msgid "Wed" -msgstr "ബുധന്‍" - -msgid "Thu" -msgstr "വ്യാഴം" - -msgid "Fri" -msgstr "വെള്ളി" - -msgid "Sat" -msgstr "ശനി" - -msgid "Sun" -msgstr "ഞായര്‍" - -msgid "January" -msgstr "ജനുവരി" - -msgid "February" -msgstr "ഫെബ്രുവരി" - -msgid "March" -msgstr "മാര്‍ച്ച്" - -msgid "April" -msgstr "ഏപ്രില്‍" - -msgid "May" -msgstr "മേയ്" - -msgid "June" -msgstr "ജൂണ്‍" - -msgid "July" -msgstr "ജൂലൈ" - -msgid "August" -msgstr "ആഗസ്ത്" - -msgid "September" -msgstr "സെപ്തംബര്‍" - -msgid "October" -msgstr "ഒക്ടോബര്‍" - -msgid "November" -msgstr "നവംബര്‍" - -msgid "December" -msgstr "ഡിസംബര്‍" - -msgid "jan" -msgstr "ജനു." - -msgid "feb" -msgstr "ഫെബ്രു." - -msgid "mar" -msgstr "മാര്‍ച്ച്" - -msgid "apr" -msgstr "ഏപ്രില്‍" - -msgid "may" -msgstr "മേയ്" - -msgid "jun" -msgstr "ജൂണ്‍" - -msgid "jul" -msgstr "ജൂലൈ" - -msgid "aug" -msgstr "ആഗസ്ത്" - -msgid "sep" -msgstr "സെപ്ടം." - -msgid "oct" -msgstr "ഒക്ടോ." - -msgid "nov" -msgstr "നവം." - -msgid "dec" -msgstr "ഡിസം." - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "ജനു." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "ഫെബ്രു." - -msgctxt "abbrev. month" -msgid "March" -msgstr "മാര്‍ച്ച്" - -msgctxt "abbrev. month" -msgid "April" -msgstr "ഏപ്രില്‍" - -msgctxt "abbrev. month" -msgid "May" -msgstr "മേയ്" - -msgctxt "abbrev. month" -msgid "June" -msgstr "ജൂണ്‍" - -msgctxt "abbrev. month" -msgid "July" -msgstr "ജൂലൈ" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "ആഗ." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "സെപ്തം." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "ഒക്ടോ." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "നവം." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "ഡിസം." - -msgctxt "alt. month" -msgid "January" -msgstr "ജനുവരി" - -msgctxt "alt. month" -msgid "February" -msgstr "ഫെബ്രുവരി" - -msgctxt "alt. month" -msgid "March" -msgstr "മാര്‍ച്ച്" - -msgctxt "alt. month" -msgid "April" -msgstr "ഏപ്രില്‍" - -msgctxt "alt. month" -msgid "May" -msgstr "മേയ്" - -msgctxt "alt. month" -msgid "June" -msgstr "ജൂണ്‍" - -msgctxt "alt. month" -msgid "July" -msgstr "ജൂലൈ" - -msgctxt "alt. month" -msgid "August" -msgstr "ആഗസ്ത്" - -msgctxt "alt. month" -msgid "September" -msgstr "സെപ്തംബര്‍" - -msgctxt "alt. month" -msgid "October" -msgstr "ഒക്ടോബര്‍" - -msgctxt "alt. month" -msgid "November" -msgstr "നവംബര്‍" - -msgctxt "alt. month" -msgid "December" -msgstr "ഡിസംബര്‍" - -msgid "This is not a valid IPv6 address." -msgstr "ഇതു സാധുവായ IPv6 വിലാസമല്ല." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s..." - -msgid "or" -msgstr "അഥവാ" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d വർഷം" -msgstr[1] "%d വർഷങ്ങൾ " - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d മാസം" -msgstr[1] "%d മാസങ്ങൾ" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d ആഴ്ച" -msgstr[1] "%d ആഴ്ചകൾ" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d ദിവസം" -msgstr[1] "%d ദിവസങ്ങൾ" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d മണിക്കൂർ" -msgstr[1] "%d മണിക്കൂറുകൾ" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d മിനിറ്റ്" -msgstr[1] "%d മിനിറ്റുകൾ" - -msgid "Forbidden" -msgstr "വിലക്കപ്പെട്ടത്" - -msgid "CSRF verification failed. Request aborted." -msgstr "സി എസ് ആർ എഫ് പരിശോധന പരാജയപ്പെട്ടു. റിക്വെസ്റ്റ് റദ്ദാക്കി." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"ഫോം സമർപ്പിക്കുമ്പോൾ ഒരു CSRF കുക്കി ഈ സൈറ്റിൽ ആവശ്യമാണ് എന്നതിനാലാണ് നിങ്ങൾ ഈ സന്ദേശം " -"കാണുന്നത്. മറ്റുള്ളവരാരെങ്കിലും നിങ്ങളുടെ ബ്രൗസറിനെ നിയന്ത്രിക്കുന്നില്ല എന്ന് ഉറപ്പുവരുത്താനായി ഈ " -"കുക്കി ആവശ്യമാണ്. " - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "Debug=True എന്നു കൊടുത്താൽ കൂടുതൽ കാര്യങ്ങൾ അറിയാൻ കഴിയും." - -msgid "No year specified" -msgstr "വര്‍ഷം പരാമര്‍ശിച്ചിട്ടില്ല" - -msgid "Date out of range" -msgstr "ഡാറ്റ പരിധിയുടെ പുറത്താണ്" - -msgid "No month specified" -msgstr "മാസം പരാമര്‍ശിച്ചിട്ടില്ല" - -msgid "No day specified" -msgstr "ദിവസം പരാമര്‍ശിച്ചിട്ടില്ല" - -msgid "No week specified" -msgstr "ആഴ്ച പരാമര്‍ശിച്ചിട്ടില്ല" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "%(verbose_name_plural)s ഒന്നും ലഭ്യമല്ല" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"%(class_name)s.allow_future ന് False എന്നു നല്കിയിട്ടുള്ളതിനാല്‍ Future " -"%(verbose_name_plural)s ഒന്നും ലഭ്യമല്ല." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "ചോദ്യത്തിനു ചേരുന്ന് %(verbose_name)s ഇല്ല" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "ഡയറക്ടറി സൂചികകള്‍ ഇവിടെ അനുവദനീയമല്ല." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "%(directory)s യുടെ സൂചിക" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "ജാംഗോ: സമയപരിമിതികളുള്ള പൂർണ്ണതാമോഹികൾക്കായുള്ള വെബ് ഫ്രെയിംവർക്ക്. " - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" - -msgid "The install worked successfully! Congratulations!" -msgstr "ഇൻസ്ടാൾ ഭംഗിയായി നടന്നു! അഭിനന്ദനങ്ങൾ !" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" - -msgid "Django Documentation" -msgstr "ജാംഗോ ഡോക്യുമെന്റേഷൻ" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "പരിശീലനം: ഒരു പോളിങ്ങ് ആപ്പ്" - -msgid "Get started with Django" -msgstr "ജാംഗോയുമായി പരിചയത്തിലാവുക" - -msgid "Django Community" -msgstr "ജാംഗോ കമ്യൂണിറ്റി" - -msgid "Connect, get help, or contribute" -msgstr "കൂട്ടുകൂടൂ, സഹായം തേടൂ, അല്ലെങ്കിൽ സഹകരിക്കൂ" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ml/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/ml/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ml/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/ml/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index f646ceca..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/ml/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ml/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/ml/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 8ed37d28..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/ml/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ml/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/ml/formats.py deleted file mode 100644 index ccace3d2..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/ml/formats.py +++ /dev/null @@ -1,37 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'N j, Y' -TIME_FORMAT = 'P' -DATETIME_FORMAT = 'N j, Y, P' -YEAR_MONTH_FORMAT = 'F Y' -MONTH_DAY_FORMAT = 'F j' -SHORT_DATE_FORMAT = 'm/d/Y' -SHORT_DATETIME_FORMAT = 'm/d/Y P' -FIRST_DAY_OF_WEEK = 0 # Sunday - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -# Kept ISO formats as they are in first position -DATE_INPUT_FORMATS = [ - '%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', # '2006-10-25', '10/25/2006', '10/25/06' - # '%b %d %Y', '%b %d, %Y', # 'Oct 25 2006', 'Oct 25, 2006' - # '%d %b %Y', '%d %b, %Y', # '25 Oct 2006', '25 Oct, 2006' - # '%B %d %Y', '%B %d, %Y', # 'October 25 2006', 'October 25, 2006' - # '%d %B %Y', '%d %B, %Y', # '25 October 2006', '25 October, 2006' -] -DATETIME_INPUT_FORMATS = [ - '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59' - '%Y-%m-%d %H:%M:%S.%f', # '2006-10-25 14:30:59.000200' - '%Y-%m-%d %H:%M', # '2006-10-25 14:30' - '%m/%d/%Y %H:%M:%S', # '10/25/2006 14:30:59' - '%m/%d/%Y %H:%M:%S.%f', # '10/25/2006 14:30:59.000200' - '%m/%d/%Y %H:%M', # '10/25/2006 14:30' - '%m/%d/%y %H:%M:%S', # '10/25/06 14:30:59' - '%m/%d/%y %H:%M:%S.%f', # '10/25/06 14:30:59.000200' - '%m/%d/%y %H:%M', # '10/25/06 14:30' -] -DECIMAL_SEPARATOR = '.' -THOUSAND_SEPARATOR = ',' -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/mn/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/mn/LC_MESSAGES/django.mo deleted file mode 100644 index 06071c93..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/mn/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/mn/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/mn/LC_MESSAGES/django.po deleted file mode 100644 index d846523d..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/mn/LC_MESSAGES/django.po +++ /dev/null @@ -1,1256 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Ankhbayar , 2013 -# Bayarkhuu Bataa, 2014,2017-2018 -# Baskhuu Lodoikhuu , 2011 -# Jannis Leidel , 2011 -# jargalan , 2011 -# Tsolmon , 2011 -# Zorig, 2013-2014,2016,2018 -# Zorig, 2019 -# Анхбаяр Анхаа , 2013-2016,2018-2019 -# Баясгалан Цэвлээ , 2011,2015,2017 -# Ганзориг БП , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-27 22:40+0200\n" -"PO-Revision-Date: 2019-11-05 07:28+0000\n" -"Last-Translator: Анхбаяр Анхаа \n" -"Language-Team: Mongolian (http://www.transifex.com/django/django/language/" -"mn/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: mn\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "Afrikaans" -msgstr "Африк" - -msgid "Arabic" -msgstr "Араб" - -msgid "Asturian" -msgstr "Астури" - -msgid "Azerbaijani" -msgstr "Азербажан" - -msgid "Bulgarian" -msgstr "Болгар" - -msgid "Belarusian" -msgstr "Беларус" - -msgid "Bengali" -msgstr "Бенгал" - -msgid "Breton" -msgstr "Бэрэйтон " - -msgid "Bosnian" -msgstr "Босни" - -msgid "Catalan" -msgstr "Каталан" - -msgid "Czech" -msgstr "Чех" - -msgid "Welsh" -msgstr "Уэльс" - -msgid "Danish" -msgstr "Дани" - -msgid "German" -msgstr "Герман" - -msgid "Lower Sorbian" -msgstr "Доод Сорбин" - -msgid "Greek" -msgstr "Грек" - -msgid "English" -msgstr "Англи" - -msgid "Australian English" -msgstr "Австрали Англи" - -msgid "British English" -msgstr "Британи Англи" - -msgid "Esperanto" -msgstr "Эсперанто" - -msgid "Spanish" -msgstr "Испани" - -msgid "Argentinian Spanish" -msgstr "Аргентинийн Испани" - -msgid "Colombian Spanish" -msgstr "Колумбийн Испаниар" - -msgid "Mexican Spanish" -msgstr "Мексикийн Испани" - -msgid "Nicaraguan Spanish" -msgstr "Никрагуан Испани" - -msgid "Venezuelan Spanish" -msgstr "Венесуэлийн Спани" - -msgid "Estonian" -msgstr "Эстони" - -msgid "Basque" -msgstr "Баск" - -msgid "Persian" -msgstr "Перс" - -msgid "Finnish" -msgstr "Финлянд" - -msgid "French" -msgstr "Франц" - -msgid "Frisian" -msgstr "Фриз" - -msgid "Irish" -msgstr "Ирланд" - -msgid "Scottish Gaelic" -msgstr "Шотландийн Гаелик" - -msgid "Galician" -msgstr "Галици" - -msgid "Hebrew" -msgstr "Еврэй" - -msgid "Hindi" -msgstr "Хинди" - -msgid "Croatian" -msgstr "Хорват" - -msgid "Upper Sorbian" -msgstr "Дээд Сорбин" - -msgid "Hungarian" -msgstr "Унгар" - -msgid "Armenian" -msgstr "Армен" - -msgid "Interlingua" -msgstr "Interlingua" - -msgid "Indonesian" -msgstr "Индонези" - -msgid "Ido" -msgstr "Идо" - -msgid "Icelandic" -msgstr "Исланд" - -msgid "Italian" -msgstr "Итали" - -msgid "Japanese" -msgstr "Япон" - -msgid "Georgian" -msgstr "Гүрж" - -msgid "Kabyle" -msgstr "Кабилэ" - -msgid "Kazakh" -msgstr "Казак" - -msgid "Khmer" -msgstr "Кхмер" - -msgid "Kannada" -msgstr "Канад" - -msgid "Korean" -msgstr "Солонгос" - -msgid "Luxembourgish" -msgstr "Лүксенбүргиш" - -msgid "Lithuanian" -msgstr "Литва" - -msgid "Latvian" -msgstr "Латви" - -msgid "Macedonian" -msgstr "Македон" - -msgid "Malayalam" -msgstr "Малайз" - -msgid "Mongolian" -msgstr "Монгол" - -msgid "Marathi" -msgstr "маратхи" - -msgid "Burmese" -msgstr "Бирм" - -msgid "Norwegian Bokmål" -msgstr "Норвеги Бокмал" - -msgid "Nepali" -msgstr "Непал" - -msgid "Dutch" -msgstr "Голланд" - -msgid "Norwegian Nynorsk" -msgstr "Норвегийн нюнорск" - -msgid "Ossetic" -msgstr "Оссетик" - -msgid "Punjabi" -msgstr "Панжаби" - -msgid "Polish" -msgstr "Польш" - -msgid "Portuguese" -msgstr "Португал" - -msgid "Brazilian Portuguese" -msgstr "Бразилийн Португали" - -msgid "Romanian" -msgstr "Румын" - -msgid "Russian" -msgstr "Орос" - -msgid "Slovak" -msgstr "Словак" - -msgid "Slovenian" -msgstr "Словен" - -msgid "Albanian" -msgstr "Альбани" - -msgid "Serbian" -msgstr "Серби" - -msgid "Serbian Latin" -msgstr "Серби латин" - -msgid "Swedish" -msgstr "Щвед" - -msgid "Swahili" -msgstr "Савахил" - -msgid "Tamil" -msgstr "Тамил" - -msgid "Telugu" -msgstr "Тэлүгү" - -msgid "Thai" -msgstr "Тайланд" - -msgid "Turkish" -msgstr "Турк" - -msgid "Tatar" -msgstr "Татар" - -msgid "Udmurt" -msgstr "Удмурт" - -msgid "Ukrainian" -msgstr "Украйн" - -msgid "Urdu" -msgstr "Урду" - -msgid "Uzbek" -msgstr "Узбек" - -msgid "Vietnamese" -msgstr "Вьетнам" - -msgid "Simplified Chinese" -msgstr "Хятад (хялбаршуулсан) " - -msgid "Traditional Chinese" -msgstr "Хятад (уламжлалт)" - -msgid "Messages" -msgstr "Мэдээллүүд" - -msgid "Site Maps" -msgstr "Сайтын бүтэц" - -msgid "Static Files" -msgstr "Статик файлууд" - -msgid "Syndication" -msgstr "Нэгтгэл" - -msgid "That page number is not an integer" -msgstr "Хуудасны дугаар бүхэл тоо / Integer / биш байна" - -msgid "That page number is less than 1" -msgstr "Хуудасны дугаар 1-ээс байга байна" - -msgid "That page contains no results" -msgstr "Хуудас үр дүн агуулаагүй байна" - -msgid "Enter a valid value." -msgstr "Зөв утга оруулна уу." - -msgid "Enter a valid URL." -msgstr "Зөв, хүчинтэй хаяг (URL) оруулна уу." - -msgid "Enter a valid integer." -msgstr "Бүхэл тоо оруулна уу" - -msgid "Enter a valid email address." -msgstr "Зөв имэйл хаяг оруулна уу" - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "Зөв IPv4 хаяг оруулна уу. " - -msgid "Enter a valid IPv6 address." -msgstr "Зөв IPv6 хаяг оруулна уу." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Зөв IPv4 эсвэл IPv6 хаяг оруулна уу." - -msgid "Enter only digits separated by commas." -msgstr "Зөвхөн таслалаар тусгаарлагдсан цифр оруулна уу." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" -"Энэ утга хамгийн ихдээ %(limit_value)s байх ёстой. (одоо %(show_value)s " -"байна)" - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Энэ утга %(limit_value)s -с бага эсвэл тэнцүү байх ёстой." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Энэ утга %(limit_value)s -с их эсвэл тэнцүү байх нөхцлийг хангана уу." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Хамгийн ихдээ %(limit_value)d тэмдэгт байх нөхцлийг хангана уу. " -"(%(show_value)d-ийн дагуу)" -msgstr[1] "" -"Хамгийн ихдээ %(limit_value)d тэмдэгт байх нөхцлийг хангана уу. " -"(%(show_value)d-ийн дагуу)" - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[1] "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." - -msgid "Enter a number." -msgstr "Тоон утга оруулна уу." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "%(max)s -ээс ихгүй утга оруулна уу " -msgstr[1] "%(max)s -ээс ихгүй утга оруулна уу " - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "Энд %(max)s -аас олонгүй бутархайн орон байх ёстой. " -msgstr[1] "Энд %(max)s -аас олонгүй бутархайн орон байх ёстой. " - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "Энд бутархайн таслалаас өмнө %(max)s-аас олонгүй цифр байх ёстой." -msgstr[1] "Энд бутархайн таслалаас өмнө %(max)s-аас олонгүй цифр байх ёстой." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "Хоосон тэмдэгт зөвшөөрөгдөхгүй." - -msgid "and" -msgstr "ба" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "%(field_labels)s талбар бүхий %(model_name)s аль хэдийн орсон байна." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "%(value)r буруу сонголт байна." - -msgid "This field cannot be null." -msgstr "Энэ хэсгийг хоосон орхиж болохгүй." - -msgid "This field cannot be blank." -msgstr "Энэ хэсэг хоосон байж болохгүй." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(field_label)s-тэй %(model_name)s-ийг аль хэдийнэ оруулсан байна." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(field_label)s талбарт давхардахгүй байх хэрэгтэй %(date_field_label)s " -"%(lookup_type)s оруулна." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Талбарийн төрөл нь : %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "Boolean (Үнэн худлын аль нэг нь)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Бичвэр (%(max_length)s хүртэл)" - -msgid "Comma-separated integers" -msgstr "Таслалаар тусгаарлагдсан бүхэл тоо" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "Огноо (цаггүй)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "Огноо (цагтай)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "Аравтын бутархайт тоо" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "Үргэлжлэх хугацаа" - -msgid "Email address" -msgstr "Имэйл хаяг" - -msgid "File path" -msgstr "Файлын зам " - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "“%(value)s” бутархай тоон утга байх ёстой." - -msgid "Floating point number" -msgstr "Хөвөгч таслалтай тоо" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "Бүхэл тоо" - -msgid "Big (8 byte) integer" -msgstr "Том (8 байт) бүхэл тоо" - -msgid "IPv4 address" -msgstr "IPv4 хаяг" - -msgid "IP address" -msgstr "IP хаяг" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "Boolean (Үнэн, худал, эсвэл юу ч биш)" - -msgid "Positive integer" -msgstr "Бүхэл тоох утга" - -msgid "Positive small integer" -msgstr "Бага бүхэл тоон утга" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Слаг (ихдээ %(max_length)s )" - -msgid "Small integer" -msgstr "Бага тоон утна" - -msgid "Text" -msgstr "Текст" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "Цаг" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Бинари өгөгдөл" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "UUID" - -msgid "File" -msgstr "Файл" - -msgid "Image" -msgstr "Зураг" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "%(field)s %(value)r утгатай %(model)s байхгүй байна." - -msgid "Foreign Key (type determined by related field)" -msgstr "Гадаад түлхүүр (тодорхой төрлийн холбоос талбар)" - -msgid "One-to-one relationship" -msgstr "Нэг-нэг холбоос" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "%(from)s-%(to)s холбоос" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "%(from)s-%(to)s холбоосууд" - -msgid "Many-to-many relationship" -msgstr "Олон-олон холбоос" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Энэ талбарыг бөглөх шаардлагатай." - -msgid "Enter a whole number." -msgstr "Бүхэл тоон утга оруулна уу." - -msgid "Enter a valid date." -msgstr "Зөв огноо оруулна уу." - -msgid "Enter a valid time." -msgstr "Зөв цаг оруулна уу." - -msgid "Enter a valid date/time." -msgstr "Огноо/цаг-ыг зөв оруулна уу." - -msgid "Enter a valid duration." -msgstr "Үргэлжилэх хугацааг зөв оруулна уу." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "Өдөрийн утга {min_days} ээс {max_days} ийн хооронд байх ёстой." - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Файл оруулаагүй байна. Маягтаас кодлох төрлийг чагтал. " - -msgid "No file was submitted." -msgstr "Файл оруулаагүй байна." - -msgid "The submitted file is empty." -msgstr "Оруулсан файл хоосон байна. " - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[1] "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" -"Нэг бол сонголтын чягтыг авах эсвэл файл оруулна уу. Зэрэг хэрэгжих " -"боломжгүй." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Зөв зураг оруулна уу. Таны оруулсан файл нэг бол зургийн файл биш эсвэл " -"гэмтсэн зураг байна." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "Зөв сонголт хийнэ үү. %(value)s гэсэн сонголт байхгүй байна." - -msgid "Enter a list of values." -msgstr "Өгөгдхүүний жагсаалтаа оруулна уу." - -msgid "Enter a complete value." -msgstr "Бүрэн утга оруулна уу." - -msgid "Enter a valid UUID." -msgstr "Зөв UUID оруулна уу." - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Нууц талбар%(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "УдирдахФормын мэдээлэл олдсонгүй эсвэл өөрчлөгдсөн байна" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "%d ихгүй форм илгээн үү" -msgstr[1] "%d ихгүй форм илгээн үү" - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "%d эсвэл их форм илгээнэ үү" -msgstr[1] "%d эсвэл их форм илгээнэ үү" - -msgid "Order" -msgstr "Эрэмбэлэх" - -msgid "Delete" -msgstr "Устгах" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "%(field)s хэсэг дэх давхардсан утгыг засварлана уу. " - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"%(field)s хэсэг дэх давхардсан утгыг засварлана уу. Түүний утгууд " -"давхардахгүй байх ёстой." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"%(field_name)s хэсэг дэх давхардсан утгыг засварлана уу. %(date_field)s-н " -"%(lookup)s хувьд давхардахгүй байх ёстой." - -msgid "Please correct the duplicate values below." -msgstr "Доорх давхардсан утгуудыг засна уу." - -msgid "The inline value did not match the parent instance." -msgstr "Inline утга эцэг обекттой таарахгүй байна." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "Зөв сонголт хийнэ үү. Энэ утга сонголтонд алга." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "Цэвэрлэх" - -msgid "Currently" -msgstr "Одоогийн" - -msgid "Change" -msgstr "Засах" - -msgid "Unknown" -msgstr "Тодорхойгүй" - -msgid "Yes" -msgstr "Тийм" - -msgid "No" -msgstr "Үгүй" - -msgid "Year" -msgstr "Жил" - -msgid "Month" -msgstr "Сар" - -msgid "Day" -msgstr "Өдөр" - -msgid "yes,no,maybe" -msgstr "тийм,үгүй,магадгүй" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d байт" -msgstr[1] "%(size)d байт" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "p.m." - -msgid "a.m." -msgstr "a.m." - -msgid "PM" -msgstr "PM" - -msgid "AM" -msgstr "AM" - -msgid "midnight" -msgstr "шөнө дунд" - -msgid "noon" -msgstr "үд дунд" - -msgid "Monday" -msgstr "Даваа гариг" - -msgid "Tuesday" -msgstr "Мягмар гариг" - -msgid "Wednesday" -msgstr "Лхагва гариг" - -msgid "Thursday" -msgstr "Пүрэв гариг" - -msgid "Friday" -msgstr "Баасан гариг" - -msgid "Saturday" -msgstr "Бямба гариг" - -msgid "Sunday" -msgstr "Ням гариг" - -msgid "Mon" -msgstr "Дав" - -msgid "Tue" -msgstr "Мяг" - -msgid "Wed" -msgstr "Лха" - -msgid "Thu" -msgstr "Пүр" - -msgid "Fri" -msgstr "Баа" - -msgid "Sat" -msgstr "Бям" - -msgid "Sun" -msgstr "Ням" - -msgid "January" -msgstr "1-р сар" - -msgid "February" -msgstr "2-р сар" - -msgid "March" -msgstr "3-р сар" - -msgid "April" -msgstr "4-р сар" - -msgid "May" -msgstr "5-р сар" - -msgid "June" -msgstr "6-р сар" - -msgid "July" -msgstr "7-р сар" - -msgid "August" -msgstr "8-р сар" - -msgid "September" -msgstr "9-р сар" - -msgid "October" -msgstr "10-р сар" - -msgid "November" -msgstr "11-р сар" - -msgid "December" -msgstr "12-р сар" - -msgid "jan" -msgstr "1-р сар" - -msgid "feb" -msgstr "2-р сар" - -msgid "mar" -msgstr "3-р сар" - -msgid "apr" -msgstr "4-р сар" - -msgid "may" -msgstr "5-р сар" - -msgid "jun" -msgstr "6-р сар" - -msgid "jul" -msgstr "7-р сар" - -msgid "aug" -msgstr "8-р сар " - -msgid "sep" -msgstr "9-р сар" - -msgid "oct" -msgstr "10-р сар" - -msgid "nov" -msgstr "11-р сар" - -msgid "dec" -msgstr "12-р сар" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "1-р сар." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "2-р сар." - -msgctxt "abbrev. month" -msgid "March" -msgstr "3-р сар." - -msgctxt "abbrev. month" -msgid "April" -msgstr "4-р сар." - -msgctxt "abbrev. month" -msgid "May" -msgstr "5-р сар." - -msgctxt "abbrev. month" -msgid "June" -msgstr "6-р сар." - -msgctxt "abbrev. month" -msgid "July" -msgstr "7-р сар." - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "8-р сар." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "9-р сар." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "10-р сар." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "11-р сар." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "12-р сар." - -msgctxt "alt. month" -msgid "January" -msgstr "Хулгана" - -msgctxt "alt. month" -msgid "February" -msgstr "Үхэр" - -msgctxt "alt. month" -msgid "March" -msgstr "Бар" - -msgctxt "alt. month" -msgid "April" -msgstr "Туулай" - -msgctxt "alt. month" -msgid "May" -msgstr "Луу" - -msgctxt "alt. month" -msgid "June" -msgstr "Могой" - -msgctxt "alt. month" -msgid "July" -msgstr "Морь" - -msgctxt "alt. month" -msgid "August" -msgstr "Хонь" - -msgctxt "alt. month" -msgid "September" -msgstr "Бич" - -msgctxt "alt. month" -msgid "October" -msgstr "Тахиа" - -msgctxt "alt. month" -msgid "November" -msgstr "Нохой" - -msgctxt "alt. month" -msgid "December" -msgstr "Гахай" - -msgid "This is not a valid IPv6 address." -msgstr "Энэ буруу IPv6 хаяг байна." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s…" - -msgid "or" -msgstr "буюу" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d жил" -msgstr[1] "%d жил" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d сар" -msgstr[1] "%d сар" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d долоо хоног" -msgstr[1] "%d долоо хоног" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d өдөр" -msgstr[1] "%d өдөр" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d цаг" -msgstr[1] "%d цаг" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d минут" -msgstr[1] "%d минут" - -msgid "0 minutes" -msgstr "0 минут" - -msgid "Forbidden" -msgstr "Хориотой" - -msgid "CSRF verification failed. Request aborted." -msgstr "CSRF дээр уналаа. Хүсэлт таслагдсан." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Энэ хуудсанд форм илгээхийн тулд CSRF күүки шаардлагатай учир Та энэ " -"мэдэгдлийг харж байна. Энэ күүки нь гуравдагч этгээдээс хамгаалахын тулд " -"шаардлагатай." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "DEBUG=True үед дэлгэрэнгүй мэдээлэл харах боломжтой." - -msgid "No year specified" -msgstr "Он тодорхойлоогүй байна" - -msgid "Date out of range" -msgstr "Хугацааны хязгаар хэтэрсэн байна" - -msgid "No month specified" -msgstr "Сар тодорхойлоогүй байна" - -msgid "No day specified" -msgstr "Өдөр тодорхойлоогүй байна" - -msgid "No week specified" -msgstr "Долоо хоног тодорхойлоогүй байна" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "%(verbose_name_plural)s боломжгүй" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"%(class_name)s.allow_future нь худлаа учраас %(verbose_name_plural)s нь " -"боломжгүй." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Шүүлтүүрт таарах %(verbose_name)s олдсонгүй " - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Буруу хуудас (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "Файлын жагсаалтыг энд зөвшөөрөөгүй." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "“%(path)s” хуудас байхгүй байна." - -#, python-format -msgid "Index of %(directory)s" -msgstr "%(directory)s ийн жагсаалт" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "Джанго: Чанартай бөгөөд хугацаанд нь хийхэд зориулсан Web framework." - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"Джанго %(version)s хувирбарын тэмдэглэл харах " - -msgid "The install worked successfully! Congratulations!" -msgstr "Амжилттай суулгалаа! Баяр хүргэе!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"Таний тохиргооны файл дээр DEBUG=TRUE гэж тохируулсан мөн URLs дээр тохиргоо хийгээгүй учраас " -"энэ хуудасыг харж байна." - -msgid "Django Documentation" -msgstr "Джанго баримтжуулалт" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "Хичээл: Санал асуулга App" - -msgid "Get started with Django" -msgstr "Джанготой ажиллаж эхлэх" - -msgid "Django Community" -msgstr "Django Бүлгэм" - -msgid "Connect, get help, or contribute" -msgstr "Холбогдох, тусламж авах эсвэл хувь нэмрээ оруулах" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/mn/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/mn/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/mn/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/mn/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 7b646095..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/mn/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/mn/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/mn/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 5e60d1cf..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/mn/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/mn/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/mn/formats.py deleted file mode 100644 index 24c7dec8..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/mn/formats.py +++ /dev/null @@ -1,21 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'd F Y' -TIME_FORMAT = 'g:i A' -# DATETIME_FORMAT = -# YEAR_MONTH_FORMAT = -# MONTH_DAY_FORMAT = -SHORT_DATE_FORMAT = 'j M Y' -# SHORT_DATETIME_FORMAT = -# FIRST_DAY_OF_WEEK = - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -# DATE_INPUT_FORMATS = -# TIME_INPUT_FORMATS = -# DATETIME_INPUT_FORMATS = -# DECIMAL_SEPARATOR = -# THOUSAND_SEPARATOR = -# NUMBER_GROUPING = diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/mr/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/mr/LC_MESSAGES/django.mo deleted file mode 100644 index 46c9f342..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/mr/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/mr/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/mr/LC_MESSAGES/django.po deleted file mode 100644 index ab690851..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/mr/LC_MESSAGES/django.po +++ /dev/null @@ -1,1212 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Suraj Kawade, 2013 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-27 22:40+0200\n" -"PO-Revision-Date: 2019-11-05 00:38+0000\n" -"Last-Translator: Ramiro Morales\n" -"Language-Team: Marathi (http://www.transifex.com/django/django/language/" -"mr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: mr\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "Afrikaans" -msgstr "अफ्रिकान्स" - -msgid "Arabic" -msgstr "अरेबिक" - -msgid "Asturian" -msgstr "" - -msgid "Azerbaijani" -msgstr "अझरबैजानी" - -msgid "Bulgarian" -msgstr "बल्गेरियन" - -msgid "Belarusian" -msgstr "बेलारूसी" - -msgid "Bengali" -msgstr "बंगाली" - -msgid "Breton" -msgstr "ब्रेटन" - -msgid "Bosnian" -msgstr "बोस्नियन" - -msgid "Catalan" -msgstr "कॅटलान" - -msgid "Czech" -msgstr "झेक" - -msgid "Welsh" -msgstr "वेल्श" - -msgid "Danish" -msgstr "डॅनिश" - -msgid "German" -msgstr "जर्मन" - -msgid "Lower Sorbian" -msgstr "" - -msgid "Greek" -msgstr "ग्रीक" - -msgid "English" -msgstr "इंग्रजी" - -msgid "Australian English" -msgstr "" - -msgid "British English" -msgstr "ब्रिटिश इंग्रजी" - -msgid "Esperanto" -msgstr "एस्पेरॅन्टो" - -msgid "Spanish" -msgstr "स्पॅनिश " - -msgid "Argentinian Spanish" -msgstr "अर्जेन्टिनाची स्पॅनिश" - -msgid "Colombian Spanish" -msgstr "" - -msgid "Mexican Spanish" -msgstr "मेक्सिकन स्पॅनिश" - -msgid "Nicaraguan Spanish" -msgstr "" - -msgid "Venezuelan Spanish" -msgstr "" - -msgid "Estonian" -msgstr "" - -msgid "Basque" -msgstr "" - -msgid "Persian" -msgstr "" - -msgid "Finnish" -msgstr "" - -msgid "French" -msgstr "" - -msgid "Frisian" -msgstr "" - -msgid "Irish" -msgstr "" - -msgid "Scottish Gaelic" -msgstr "" - -msgid "Galician" -msgstr "" - -msgid "Hebrew" -msgstr "" - -msgid "Hindi" -msgstr "" - -msgid "Croatian" -msgstr "" - -msgid "Upper Sorbian" -msgstr "" - -msgid "Hungarian" -msgstr "" - -msgid "Armenian" -msgstr "" - -msgid "Interlingua" -msgstr "" - -msgid "Indonesian" -msgstr "" - -msgid "Ido" -msgstr "" - -msgid "Icelandic" -msgstr "" - -msgid "Italian" -msgstr "" - -msgid "Japanese" -msgstr "" - -msgid "Georgian" -msgstr "" - -msgid "Kabyle" -msgstr "" - -msgid "Kazakh" -msgstr "" - -msgid "Khmer" -msgstr "" - -msgid "Kannada" -msgstr "" - -msgid "Korean" -msgstr "" - -msgid "Luxembourgish" -msgstr "" - -msgid "Lithuanian" -msgstr "" - -msgid "Latvian" -msgstr "" - -msgid "Macedonian" -msgstr "" - -msgid "Malayalam" -msgstr "" - -msgid "Mongolian" -msgstr "" - -msgid "Marathi" -msgstr "" - -msgid "Burmese" -msgstr "" - -msgid "Norwegian Bokmål" -msgstr "" - -msgid "Nepali" -msgstr "" - -msgid "Dutch" -msgstr "" - -msgid "Norwegian Nynorsk" -msgstr "" - -msgid "Ossetic" -msgstr "" - -msgid "Punjabi" -msgstr "" - -msgid "Polish" -msgstr "" - -msgid "Portuguese" -msgstr "" - -msgid "Brazilian Portuguese" -msgstr "" - -msgid "Romanian" -msgstr "" - -msgid "Russian" -msgstr "" - -msgid "Slovak" -msgstr "" - -msgid "Slovenian" -msgstr "" - -msgid "Albanian" -msgstr "" - -msgid "Serbian" -msgstr "" - -msgid "Serbian Latin" -msgstr "" - -msgid "Swedish" -msgstr "" - -msgid "Swahili" -msgstr "" - -msgid "Tamil" -msgstr "" - -msgid "Telugu" -msgstr "" - -msgid "Thai" -msgstr "" - -msgid "Turkish" -msgstr "" - -msgid "Tatar" -msgstr "" - -msgid "Udmurt" -msgstr "" - -msgid "Ukrainian" -msgstr "" - -msgid "Urdu" -msgstr "" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "" - -msgid "Simplified Chinese" -msgstr "" - -msgid "Traditional Chinese" -msgstr "" - -msgid "Messages" -msgstr "" - -msgid "Site Maps" -msgstr "" - -msgid "Static Files" -msgstr "" - -msgid "Syndication" -msgstr "" - -msgid "That page number is not an integer" -msgstr "" - -msgid "That page number is less than 1" -msgstr "" - -msgid "That page contains no results" -msgstr "" - -msgid "Enter a valid value." -msgstr "" - -msgid "Enter a valid URL." -msgstr "" - -msgid "Enter a valid integer." -msgstr "" - -msgid "Enter a valid email address." -msgstr "" - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "" - -msgid "Enter a valid IPv6 address." -msgstr "" - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "" - -msgid "Enter only digits separated by commas." -msgstr "" - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "" - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "" - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" - -msgid "Enter a number." -msgstr "" - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "" - -msgid "and" -msgstr "" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "" - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "" - -msgid "This field cannot be null." -msgstr "" - -msgid "This field cannot be blank." -msgstr "" - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "" - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "" - -msgid "Comma-separated integers" -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "" - -msgid "Email address" -msgstr "" - -msgid "File path" -msgstr "" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "" - -msgid "Big (8 byte) integer" -msgstr "" - -msgid "IPv4 address" -msgstr "" - -msgid "IP address" -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "" - -msgid "Positive integer" -msgstr "" - -msgid "Positive small integer" -msgstr "" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "" - -msgid "Small integer" -msgstr "" - -msgid "Text" -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "" - -msgid "URL" -msgstr "" - -msgid "Raw binary data" -msgstr "" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "" - -msgid "File" -msgstr "" - -msgid "Image" -msgstr "" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "" - -msgid "Foreign Key (type determined by related field)" -msgstr "" - -msgid "One-to-one relationship" -msgstr "" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "" - -msgid "Many-to-many relationship" -msgstr "" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "" - -msgid "Enter a whole number." -msgstr "" - -msgid "Enter a valid date." -msgstr "" - -msgid "Enter a valid time." -msgstr "" - -msgid "Enter a valid date/time." -msgstr "" - -msgid "Enter a valid duration." -msgstr "" - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "" - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "" - -msgid "No file was submitted." -msgstr "" - -msgid "The submitted file is empty." -msgstr "" - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -msgstr[1] "" - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "" - -msgid "Enter a list of values." -msgstr "" - -msgid "Enter a complete value." -msgstr "" - -msgid "Enter a valid UUID." -msgstr "" - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "" -msgstr[1] "" - -msgid "Order" -msgstr "" - -msgid "Delete" -msgstr "" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "" - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" - -msgid "Please correct the duplicate values below." -msgstr "" - -msgid "The inline value did not match the parent instance." -msgstr "" - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "" - -msgid "Currently" -msgstr "" - -msgid "Change" -msgstr "" - -msgid "Unknown" -msgstr "" - -msgid "Yes" -msgstr "" - -msgid "No" -msgstr "" - -msgid "Year" -msgstr "" - -msgid "Month" -msgstr "" - -msgid "Day" -msgstr "" - -msgid "yes,no,maybe" -msgstr "" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%s KB" -msgstr "" - -#, python-format -msgid "%s MB" -msgstr "" - -#, python-format -msgid "%s GB" -msgstr "" - -#, python-format -msgid "%s TB" -msgstr "" - -#, python-format -msgid "%s PB" -msgstr "" - -msgid "p.m." -msgstr "" - -msgid "a.m." -msgstr "" - -msgid "PM" -msgstr "" - -msgid "AM" -msgstr "" - -msgid "midnight" -msgstr "" - -msgid "noon" -msgstr "" - -msgid "Monday" -msgstr "" - -msgid "Tuesday" -msgstr "" - -msgid "Wednesday" -msgstr "" - -msgid "Thursday" -msgstr "" - -msgid "Friday" -msgstr "" - -msgid "Saturday" -msgstr "" - -msgid "Sunday" -msgstr "" - -msgid "Mon" -msgstr "" - -msgid "Tue" -msgstr "" - -msgid "Wed" -msgstr "" - -msgid "Thu" -msgstr "" - -msgid "Fri" -msgstr "" - -msgid "Sat" -msgstr "" - -msgid "Sun" -msgstr "" - -msgid "January" -msgstr "" - -msgid "February" -msgstr "" - -msgid "March" -msgstr "" - -msgid "April" -msgstr "" - -msgid "May" -msgstr "" - -msgid "June" -msgstr "" - -msgid "July" -msgstr "" - -msgid "August" -msgstr "" - -msgid "September" -msgstr "" - -msgid "October" -msgstr "" - -msgid "November" -msgstr "" - -msgid "December" -msgstr "" - -msgid "jan" -msgstr "" - -msgid "feb" -msgstr "" - -msgid "mar" -msgstr "" - -msgid "apr" -msgstr "" - -msgid "may" -msgstr "" - -msgid "jun" -msgstr "" - -msgid "jul" -msgstr "" - -msgid "aug" -msgstr "" - -msgid "sep" -msgstr "" - -msgid "oct" -msgstr "" - -msgid "nov" -msgstr "" - -msgid "dec" -msgstr "" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "" - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "" - -msgctxt "abbrev. month" -msgid "March" -msgstr "" - -msgctxt "abbrev. month" -msgid "April" -msgstr "" - -msgctxt "abbrev. month" -msgid "May" -msgstr "" - -msgctxt "abbrev. month" -msgid "June" -msgstr "" - -msgctxt "abbrev. month" -msgid "July" -msgstr "" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "" - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "" - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "" - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "" - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "" - -msgctxt "alt. month" -msgid "January" -msgstr "" - -msgctxt "alt. month" -msgid "February" -msgstr "" - -msgctxt "alt. month" -msgid "March" -msgstr "" - -msgctxt "alt. month" -msgid "April" -msgstr "" - -msgctxt "alt. month" -msgid "May" -msgstr "" - -msgctxt "alt. month" -msgid "June" -msgstr "" - -msgctxt "alt. month" -msgid "July" -msgstr "" - -msgctxt "alt. month" -msgid "August" -msgstr "" - -msgctxt "alt. month" -msgid "September" -msgstr "" - -msgctxt "alt. month" -msgid "October" -msgstr "" - -msgctxt "alt. month" -msgid "November" -msgstr "" - -msgctxt "alt. month" -msgid "December" -msgstr "" - -msgid "This is not a valid IPv6 address." -msgstr "" - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "" - -msgid "or" -msgstr "" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr "" - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "" -msgstr[1] "" - -msgid "0 minutes" -msgstr "" - -msgid "Forbidden" -msgstr "" - -msgid "CSRF verification failed. Request aborted." -msgstr "" - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "" - -msgid "No year specified" -msgstr "" - -msgid "Date out of range" -msgstr "" - -msgid "No month specified" -msgstr "" - -msgid "No day specified" -msgstr "" - -msgid "No week specified" -msgstr "" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "" - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" - -msgid "The install worked successfully! Congratulations!" -msgstr "" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" - -msgid "Django Documentation" -msgstr "" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "" - -msgid "Get started with Django" -msgstr "" - -msgid "Django Community" -msgstr "" - -msgid "Connect, get help, or contribute" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/my/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/my/LC_MESSAGES/django.mo deleted file mode 100644 index 06d9129b..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/my/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/my/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/my/LC_MESSAGES/django.po deleted file mode 100644 index a1c7e9ad..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/my/LC_MESSAGES/django.po +++ /dev/null @@ -1,1197 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Yhal Htet Aung , 2013,2015 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-27 22:40+0200\n" -"PO-Revision-Date: 2019-11-05 00:38+0000\n" -"Last-Translator: Ramiro Morales\n" -"Language-Team: Burmese (http://www.transifex.com/django/django/language/" -"my/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: my\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -msgid "Afrikaans" -msgstr "အာဖရိကန်" - -msgid "Arabic" -msgstr "အာရပ်" - -msgid "Asturian" -msgstr "" - -msgid "Azerbaijani" -msgstr "" - -msgid "Bulgarian" -msgstr "ဘူဂေးရီယန်" - -msgid "Belarusian" -msgstr "" - -msgid "Bengali" -msgstr "ဘင်းဂလီ" - -msgid "Breton" -msgstr "" - -msgid "Bosnian" -msgstr "ဘော့်စ်နီယန်" - -msgid "Catalan" -msgstr "ကက်တလန်" - -msgid "Czech" -msgstr "ချက်" - -msgid "Welsh" -msgstr "ဝေးလ်" - -msgid "Danish" -msgstr "ဒိန်းမတ်" - -msgid "German" -msgstr "ဂျာမန်" - -msgid "Lower Sorbian" -msgstr "" - -msgid "Greek" -msgstr "ဂရိ" - -msgid "English" -msgstr "အင်္ဂလိပ်" - -msgid "Australian English" -msgstr "" - -msgid "British English" -msgstr "ဗြိတိသျှအင်္ဂလိပ်" - -msgid "Esperanto" -msgstr "" - -msgid "Spanish" -msgstr "စပိန်" - -msgid "Argentinian Spanish" -msgstr "" - -msgid "Colombian Spanish" -msgstr "" - -msgid "Mexican Spanish" -msgstr "" - -msgid "Nicaraguan Spanish" -msgstr "" - -msgid "Venezuelan Spanish" -msgstr "" - -msgid "Estonian" -msgstr "" - -msgid "Basque" -msgstr "" - -msgid "Persian" -msgstr "" - -msgid "Finnish" -msgstr "" - -msgid "French" -msgstr "" - -msgid "Frisian" -msgstr "" - -msgid "Irish" -msgstr "" - -msgid "Scottish Gaelic" -msgstr "" - -msgid "Galician" -msgstr "" - -msgid "Hebrew" -msgstr "" - -msgid "Hindi" -msgstr "" - -msgid "Croatian" -msgstr "" - -msgid "Upper Sorbian" -msgstr "" - -msgid "Hungarian" -msgstr "" - -msgid "Armenian" -msgstr "" - -msgid "Interlingua" -msgstr "" - -msgid "Indonesian" -msgstr "" - -msgid "Ido" -msgstr "" - -msgid "Icelandic" -msgstr "" - -msgid "Italian" -msgstr "" - -msgid "Japanese" -msgstr "" - -msgid "Georgian" -msgstr "" - -msgid "Kabyle" -msgstr "" - -msgid "Kazakh" -msgstr "" - -msgid "Khmer" -msgstr "" - -msgid "Kannada" -msgstr "" - -msgid "Korean" -msgstr "" - -msgid "Luxembourgish" -msgstr "" - -msgid "Lithuanian" -msgstr "" - -msgid "Latvian" -msgstr "" - -msgid "Macedonian" -msgstr "" - -msgid "Malayalam" -msgstr "" - -msgid "Mongolian" -msgstr "" - -msgid "Marathi" -msgstr "" - -msgid "Burmese" -msgstr "" - -msgid "Norwegian Bokmål" -msgstr "" - -msgid "Nepali" -msgstr "" - -msgid "Dutch" -msgstr "" - -msgid "Norwegian Nynorsk" -msgstr "" - -msgid "Ossetic" -msgstr "" - -msgid "Punjabi" -msgstr "" - -msgid "Polish" -msgstr "" - -msgid "Portuguese" -msgstr "" - -msgid "Brazilian Portuguese" -msgstr "" - -msgid "Romanian" -msgstr "" - -msgid "Russian" -msgstr "" - -msgid "Slovak" -msgstr "" - -msgid "Slovenian" -msgstr "" - -msgid "Albanian" -msgstr "" - -msgid "Serbian" -msgstr "" - -msgid "Serbian Latin" -msgstr "" - -msgid "Swedish" -msgstr "" - -msgid "Swahili" -msgstr "" - -msgid "Tamil" -msgstr "" - -msgid "Telugu" -msgstr "" - -msgid "Thai" -msgstr "" - -msgid "Turkish" -msgstr "" - -msgid "Tatar" -msgstr "" - -msgid "Udmurt" -msgstr "" - -msgid "Ukrainian" -msgstr "" - -msgid "Urdu" -msgstr "" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "" - -msgid "Simplified Chinese" -msgstr "" - -msgid "Traditional Chinese" -msgstr "" - -msgid "Messages" -msgstr "" - -msgid "Site Maps" -msgstr "" - -msgid "Static Files" -msgstr "" - -msgid "Syndication" -msgstr "" - -msgid "That page number is not an integer" -msgstr "" - -msgid "That page number is less than 1" -msgstr "" - -msgid "That page contains no results" -msgstr "" - -msgid "Enter a valid value." -msgstr "" - -msgid "Enter a valid URL." -msgstr "" - -msgid "Enter a valid integer." -msgstr "" - -msgid "Enter a valid email address." -msgstr "" - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "" - -msgid "Enter a valid IPv6 address." -msgstr "" - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "" - -msgid "Enter only digits separated by commas." -msgstr "" - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "" - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "" - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" - -msgid "Enter a number." -msgstr "" - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "" - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "" - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "" - -msgid "and" -msgstr "နှင့်" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "" - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "" - -msgid "This field cannot be null." -msgstr "" - -msgid "This field cannot be blank." -msgstr "" - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "" - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "" - -msgid "Comma-separated integers" -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "" - -msgid "Email address" -msgstr "အီးမေးလ်လိပ်စာ" - -msgid "File path" -msgstr "" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "ကိန်းပြည့်" - -msgid "Big (8 byte) integer" -msgstr "" - -msgid "IPv4 address" -msgstr "အိုင်ပီဗီ၄လိပ်စာ" - -msgid "IP address" -msgstr "အိုင်ပီလိပ်စာ" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "" - -msgid "Positive integer" -msgstr "" - -msgid "Positive small integer" -msgstr "" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "" - -msgid "Small integer" -msgstr "" - -msgid "Text" -msgstr "စာသား" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "" - -msgid "URL" -msgstr "ယူအာအယ်" - -msgid "Raw binary data" -msgstr "" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "" - -msgid "File" -msgstr "ဖိုင်" - -msgid "Image" -msgstr "ပံု" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "" - -msgid "Foreign Key (type determined by related field)" -msgstr "" - -msgid "One-to-one relationship" -msgstr "" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "" - -msgid "Many-to-many relationship" -msgstr "" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr "" - -msgid "This field is required." -msgstr "" - -msgid "Enter a whole number." -msgstr "" - -msgid "Enter a valid date." -msgstr "" - -msgid "Enter a valid time." -msgstr "" - -msgid "Enter a valid date/time." -msgstr "" - -msgid "Enter a valid duration." -msgstr "" - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "" - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "" - -msgid "No file was submitted." -msgstr "" - -msgid "The submitted file is empty." -msgstr "" - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "" - -msgid "Enter a list of values." -msgstr "" - -msgid "Enter a complete value." -msgstr "" - -msgid "Enter a valid UUID." -msgstr "" - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr "" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "" - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "" - -msgid "Order" -msgstr "မှာကြား" - -msgid "Delete" -msgstr "ပယ်ဖျက်" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "" - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" - -msgid "Please correct the duplicate values below." -msgstr "" - -msgid "The inline value did not match the parent instance." -msgstr "" - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "" - -msgid "Currently" -msgstr "" - -msgid "Change" -msgstr "" - -msgid "Unknown" -msgstr "အမည်မသိ" - -msgid "Yes" -msgstr "ဟုတ်" - -msgid "No" -msgstr "မဟုတ်" - -msgid "Year" -msgstr "" - -msgid "Month" -msgstr "" - -msgid "Day" -msgstr "" - -msgid "yes,no,maybe" -msgstr "" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d ဘိုက်များ" - -#, python-format -msgid "%s KB" -msgstr "%s ကီလိုဘိုက်" - -#, python-format -msgid "%s MB" -msgstr "%s မက်ဂါဘိုက်" - -#, python-format -msgid "%s GB" -msgstr "%s ဂစ်ဂါဘိုက်" - -#, python-format -msgid "%s TB" -msgstr "%s တီရာဘိုက်" - -#, python-format -msgid "%s PB" -msgstr "%s ပီတာဘိုက်" - -msgid "p.m." -msgstr "ညနေ" - -msgid "a.m." -msgstr "မနက်" - -msgid "PM" -msgstr "ညနေ" - -msgid "AM" -msgstr "မနက်" - -msgid "midnight" -msgstr "သန်းခေါင်" - -msgid "noon" -msgstr "မွန်းတည့်" - -msgid "Monday" -msgstr "တနင်္လာနေ့" - -msgid "Tuesday" -msgstr "" - -msgid "Wednesday" -msgstr "" - -msgid "Thursday" -msgstr "" - -msgid "Friday" -msgstr "" - -msgid "Saturday" -msgstr "" - -msgid "Sunday" -msgstr "" - -msgid "Mon" -msgstr "" - -msgid "Tue" -msgstr "" - -msgid "Wed" -msgstr "" - -msgid "Thu" -msgstr "" - -msgid "Fri" -msgstr "" - -msgid "Sat" -msgstr "" - -msgid "Sun" -msgstr "" - -msgid "January" -msgstr "" - -msgid "February" -msgstr "" - -msgid "March" -msgstr "" - -msgid "April" -msgstr "" - -msgid "May" -msgstr "" - -msgid "June" -msgstr "" - -msgid "July" -msgstr "" - -msgid "August" -msgstr "" - -msgid "September" -msgstr "" - -msgid "October" -msgstr "" - -msgid "November" -msgstr "" - -msgid "December" -msgstr "" - -msgid "jan" -msgstr "" - -msgid "feb" -msgstr "" - -msgid "mar" -msgstr "" - -msgid "apr" -msgstr "" - -msgid "may" -msgstr "" - -msgid "jun" -msgstr "" - -msgid "jul" -msgstr "" - -msgid "aug" -msgstr "" - -msgid "sep" -msgstr "" - -msgid "oct" -msgstr "" - -msgid "nov" -msgstr "" - -msgid "dec" -msgstr "" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "" - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "" - -msgctxt "abbrev. month" -msgid "March" -msgstr "" - -msgctxt "abbrev. month" -msgid "April" -msgstr "" - -msgctxt "abbrev. month" -msgid "May" -msgstr "" - -msgctxt "abbrev. month" -msgid "June" -msgstr "" - -msgctxt "abbrev. month" -msgid "July" -msgstr "" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "" - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "" - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "" - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "" - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "" - -msgctxt "alt. month" -msgid "January" -msgstr "" - -msgctxt "alt. month" -msgid "February" -msgstr "" - -msgctxt "alt. month" -msgid "March" -msgstr "" - -msgctxt "alt. month" -msgid "April" -msgstr "" - -msgctxt "alt. month" -msgid "May" -msgstr "" - -msgctxt "alt. month" -msgid "June" -msgstr "" - -msgctxt "alt. month" -msgid "July" -msgstr "" - -msgctxt "alt. month" -msgid "August" -msgstr "" - -msgctxt "alt. month" -msgid "September" -msgstr "" - -msgctxt "alt. month" -msgid "October" -msgstr "" - -msgctxt "alt. month" -msgid "November" -msgstr "" - -msgctxt "alt. month" -msgid "December" -msgstr "" - -msgid "This is not a valid IPv6 address." -msgstr "" - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "" - -msgid "or" -msgstr "" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr "" - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "" - -msgid "0 minutes" -msgstr "" - -msgid "Forbidden" -msgstr "" - -msgid "CSRF verification failed. Request aborted." -msgstr "" - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "" - -msgid "No year specified" -msgstr "" - -msgid "Date out of range" -msgstr "" - -msgid "No month specified" -msgstr "" - -msgid "No day specified" -msgstr "" - -msgid "No week specified" -msgstr "" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "" - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" - -msgid "The install worked successfully! Congratulations!" -msgstr "" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" - -msgid "Django Documentation" -msgstr "" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "" - -msgid "Get started with Django" -msgstr "" - -msgid "Django Community" -msgstr "" - -msgid "Connect, get help, or contribute" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/nb/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/nb/LC_MESSAGES/django.mo deleted file mode 100644 index 8f27ab13..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/nb/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/nb/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/nb/LC_MESSAGES/django.po deleted file mode 100644 index 276e95eb..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/nb/LC_MESSAGES/django.po +++ /dev/null @@ -1,1300 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Alexander Hansen , 2014 -# Eirik Krogstad , 2014 -# Jannis Leidel , 2011 -# jensadne , 2014-2015 -# Jon , 2015-2016 -# Jon , 2014 -# Jon , 2017-2020 -# Jon , 2013 -# Jon , 2011 -# Sigurd Gartmann , 2012 -# Tommy Strand , 2013 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-09-04 13:36+0000\n" -"Last-Translator: Jon \n" -"Language-Team: Norwegian Bokmål (http://www.transifex.com/django/django/" -"language/nb/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nb\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "Afrikaans" -msgstr "Afrikaans" - -msgid "Arabic" -msgstr "Arabisk" - -msgid "Algerian Arabic" -msgstr "Algerisk arabisk" - -msgid "Asturian" -msgstr "Asturiansk" - -msgid "Azerbaijani" -msgstr "Aserbajdsjansk" - -msgid "Bulgarian" -msgstr "Bulgarsk" - -msgid "Belarusian" -msgstr "Hviterussisk" - -msgid "Bengali" -msgstr "Bengalsk" - -msgid "Breton" -msgstr "Bretonsk" - -msgid "Bosnian" -msgstr "Bosnisk" - -msgid "Catalan" -msgstr "Katalansk" - -msgid "Czech" -msgstr "Tsjekkisk" - -msgid "Welsh" -msgstr "Walisisk" - -msgid "Danish" -msgstr "Dansk" - -msgid "German" -msgstr "Tysk" - -msgid "Lower Sorbian" -msgstr "Lavsorbisk" - -msgid "Greek" -msgstr "Gresk" - -msgid "English" -msgstr "Engelsk" - -msgid "Australian English" -msgstr "Engelsk (australsk)" - -msgid "British English" -msgstr "Engelsk (britisk)" - -msgid "Esperanto" -msgstr "Esperanto" - -msgid "Spanish" -msgstr "Spansk" - -msgid "Argentinian Spanish" -msgstr "Argentinsk spansk" - -msgid "Colombian Spanish" -msgstr "Colombiansk spansk" - -msgid "Mexican Spanish" -msgstr "Meksikansk spansk" - -msgid "Nicaraguan Spanish" -msgstr "Nicaraguansk spansk" - -msgid "Venezuelan Spanish" -msgstr "Venezuelanske spansk" - -msgid "Estonian" -msgstr "Estisk" - -msgid "Basque" -msgstr "Baskisk" - -msgid "Persian" -msgstr "Persisk" - -msgid "Finnish" -msgstr "Finsk" - -msgid "French" -msgstr "Fransk" - -msgid "Frisian" -msgstr "Frisisk" - -msgid "Irish" -msgstr "Irsk" - -msgid "Scottish Gaelic" -msgstr "Skotsk-gælisk" - -msgid "Galician" -msgstr "Galisisk" - -msgid "Hebrew" -msgstr "Hebraisk" - -msgid "Hindi" -msgstr "Hindi" - -msgid "Croatian" -msgstr "Kroatisk" - -msgid "Upper Sorbian" -msgstr "Høysorbisk" - -msgid "Hungarian" -msgstr "Ungarsk" - -msgid "Armenian" -msgstr "Armensk" - -msgid "Interlingua" -msgstr "Interlingua" - -msgid "Indonesian" -msgstr "Indonesisk" - -msgid "Igbo" -msgstr "Ibo" - -msgid "Ido" -msgstr "Ido" - -msgid "Icelandic" -msgstr "Islandsk" - -msgid "Italian" -msgstr "Italiensk" - -msgid "Japanese" -msgstr "Japansk" - -msgid "Georgian" -msgstr "Georgisk" - -msgid "Kabyle" -msgstr "Kabylsk" - -msgid "Kazakh" -msgstr "Kasakhisk" - -msgid "Khmer" -msgstr "Khmer" - -msgid "Kannada" -msgstr "Kannada" - -msgid "Korean" -msgstr "Koreansk" - -msgid "Kyrgyz" -msgstr "Kirgisisk" - -msgid "Luxembourgish" -msgstr "Luxembourgsk" - -msgid "Lithuanian" -msgstr "Litauisk" - -msgid "Latvian" -msgstr "Latvisk" - -msgid "Macedonian" -msgstr "Makedonsk" - -msgid "Malayalam" -msgstr "Malayalam" - -msgid "Mongolian" -msgstr "Mongolsk" - -msgid "Marathi" -msgstr "Marathi" - -msgid "Burmese" -msgstr "Burmesisk" - -msgid "Norwegian Bokmål" -msgstr "Norsk (bokmål)" - -msgid "Nepali" -msgstr "Nepali" - -msgid "Dutch" -msgstr "Nederlandsk" - -msgid "Norwegian Nynorsk" -msgstr "Norsk (nynorsk)" - -msgid "Ossetic" -msgstr "Ossetisk" - -msgid "Punjabi" -msgstr "Panjabi" - -msgid "Polish" -msgstr "Polsk" - -msgid "Portuguese" -msgstr "Portugisisk" - -msgid "Brazilian Portuguese" -msgstr "Brasiliansk portugisisk" - -msgid "Romanian" -msgstr "Rumensk" - -msgid "Russian" -msgstr "Russisk" - -msgid "Slovak" -msgstr "Slovakisk" - -msgid "Slovenian" -msgstr "Slovensk" - -msgid "Albanian" -msgstr "Albansk" - -msgid "Serbian" -msgstr "Serbisk" - -msgid "Serbian Latin" -msgstr "Serbisk latin" - -msgid "Swedish" -msgstr "Svensk" - -msgid "Swahili" -msgstr "Swahili" - -msgid "Tamil" -msgstr "Tamil" - -msgid "Telugu" -msgstr "Telugu" - -msgid "Tajik" -msgstr "Tadsjikisk" - -msgid "Thai" -msgstr "Thai" - -msgid "Turkmen" -msgstr "Turkmensk" - -msgid "Turkish" -msgstr "Tyrkisk" - -msgid "Tatar" -msgstr "Tatarisk" - -msgid "Udmurt" -msgstr "Udmurtisk" - -msgid "Ukrainian" -msgstr "Ukrainsk" - -msgid "Urdu" -msgstr "Urdu" - -msgid "Uzbek" -msgstr "Usbekisk" - -msgid "Vietnamese" -msgstr "Vietnamesisk" - -msgid "Simplified Chinese" -msgstr "Forenklet kinesisk" - -msgid "Traditional Chinese" -msgstr "Tradisjonell kinesisk" - -msgid "Messages" -msgstr "Meldinger" - -msgid "Site Maps" -msgstr "Sidekart" - -msgid "Static Files" -msgstr "Statiske filer" - -msgid "Syndication" -msgstr "Syndikering" - -msgid "That page number is not an integer" -msgstr "Sidenummeret er ikke et heltall" - -msgid "That page number is less than 1" -msgstr "Sidenummeret er mindre enn 1" - -msgid "That page contains no results" -msgstr "Siden inneholder ingen resultater" - -msgid "Enter a valid value." -msgstr "Oppgi en gyldig verdi." - -msgid "Enter a valid URL." -msgstr "Oppgi en gyldig nettadresse." - -msgid "Enter a valid integer." -msgstr "Skriv inn et gyldig heltall." - -msgid "Enter a valid email address." -msgstr "Oppgi en gyldig e-postadresse" - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" -"Oppgi en gyldig \"slug\" bestående av bokstaver, nummer, understreker eller " -"bindestreker." - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" -"Oppgi en gyldig \"slug\" bestående av Unicode-bokstaver, nummer, " -"understreker eller bindestreker." - -msgid "Enter a valid IPv4 address." -msgstr "Oppgi en gyldig IPv4-adresse." - -msgid "Enter a valid IPv6 address." -msgstr "Oppgi en gyldig IPv6-adresse." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Oppgi en gyldig IPv4- eller IPv6-adresse." - -msgid "Enter only digits separated by commas." -msgstr "Oppgi kun tall adskilt med komma." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "Verdien må være %(limit_value)s (den er %(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Verdien må være mindre enn eller lik %(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Verdien må være større enn eller lik %(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Sørg for denne verdien har minst %(limit_value)d tegn (den har " -"%(show_value)d)." -msgstr[1] "" -"Sørg for at denne verdien har minst %(limit_value)d tegn (den har " -"%(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Sørg for denne verdien har %(limit_value)d tegn (den har nå %(show_value)d)." -msgstr[1] "" -"Sørg for at denne verdien har %(limit_value)d eller færre tegn (den har nå " -"%(show_value)d)." - -msgid "Enter a number." -msgstr "Oppgi et tall." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Sørg for at det er kun %(max)s tall." -msgstr[1] "Sørg for at det er %(max)s eller færre tall totalt." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "Sørg for at det er kun %(max)s desimal." -msgstr[1] "Sørg for at det er %(max)s eller færre desimaler." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "Sørg for at det kun %(max)s tall før desimalpunkt." -msgstr[1] "Sørg for at det er %(max)s eller færre tall før desimalpunkt." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" -"Filendelsen \"%(extension)s\" er ikke tillatt. Tillatte filendelser er: " -"%(allowed_extensions)s." - -msgid "Null characters are not allowed." -msgstr "Null-tegn er ikke tillatt." - -msgid "and" -msgstr "og" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "%(model_name)s med denne %(field_labels)s finnes allerede." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "Verdien %(value)r er ikke et gyldig valg." - -msgid "This field cannot be null." -msgstr "Feltet kan ikke være tomt." - -msgid "This field cannot be blank." -msgstr "Feltet kan ikke være blankt." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s med %(field_label)s finnes allerede." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "%(field_label)s må være unik for %(date_field_label)s %(lookup_type)s." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Felt av typen: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "\"%(value)s\"-verdien må være enten True eller False." - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "\"%(value)s\"-verdien må være enten True, False, eller None." - -msgid "Boolean (Either True or False)" -msgstr "Boolsk (True eller False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Tekst (opp til %(max_length)s tegn)" - -msgid "Comma-separated integers" -msgstr "Heltall adskilt med komma" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" -"\"%(value)s\"-verdien har et ugyldig datoformat. Det må være på formen YYYY-" -"MM-DD." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" -"\"%(value)s\"-verdien er på den korrekte formen (YYYY-MM-DD), men det er en " -"ugyldig dato." - -msgid "Date (without time)" -msgstr "Dato (uten tid)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" -"\"%(value)s\"-verdien har et ugyldig datoformat. Det må være på formen YYYY-" -"MM-DD HH:MM[:ss[.uuuuuu]][TZ]." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" -"\"%(value)s\"-verdien er på den korrekte formen (YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ]), men er ugyldig dato/tid." - -msgid "Date (with time)" -msgstr "Dato (med tid)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "\"%(value)s\"-verdien må være et desimaltall." - -msgid "Decimal number" -msgstr "Desimaltall" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" -"\"%(value)s\"-verdien har et ugyldig format. Det må være på formen [DD] [HH:" -"[MM:]]ss[.uuuuuu]." - -msgid "Duration" -msgstr "Varighet" - -msgid "Email address" -msgstr "E-postadresse" - -msgid "File path" -msgstr "Filsti" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "Verdien \"%(value)s\" må være et flyttall." - -msgid "Floating point number" -msgstr "Flyttall" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "\"%(value)s\"-verdien må være et heltall." - -msgid "Integer" -msgstr "Heltall" - -msgid "Big (8 byte) integer" -msgstr "Stort (8 byte) heltall" - -msgid "IPv4 address" -msgstr "IPv4-adresse" - -msgid "IP address" -msgstr "IP-adresse" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "Verdien \"%(value)s\" må være enten None, True eller False." - -msgid "Boolean (Either True, False or None)" -msgstr "Boolsk (True, False eller None)" - -msgid "Positive big integer" -msgstr "Positivt stort heltall" - -msgid "Positive integer" -msgstr "Positivt heltall" - -msgid "Positive small integer" -msgstr "Positivt lite heltall" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Slug (opp til %(max_length)s)" - -msgid "Small integer" -msgstr "Lite heltall" - -msgid "Text" -msgstr "Tekst" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" -"\"%(value)s\"-verdien har et ugyldig format. Det må være på formen HH:MM[:" -"ss[.uuuuuu]]." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" -"Verdien \"%(value)s\" har riktig format (HH:MM[:ss[.uuuuuu]]), men er ikke " -"et gyldig klokkeslett." - -msgid "Time" -msgstr "Tid" - -msgid "URL" -msgstr "Nettadresse" - -msgid "Raw binary data" -msgstr "Rå binærdata" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "\"%(value)s\" er ikke en gyldig UUID." - -msgid "Universally unique identifier" -msgstr "Universelt unik identifikator" - -msgid "File" -msgstr "Fil" - -msgid "Image" -msgstr "Bilde" - -msgid "A JSON object" -msgstr "Et JSON-objekt" - -msgid "Value must be valid JSON." -msgstr "Verdi må være gyldig JSON." - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "%(model)s-instansen med %(field)s %(value)r finnes ikke." - -msgid "Foreign Key (type determined by related field)" -msgstr "Fremmednøkkel (type bestemmes av relatert felt)" - -msgid "One-to-one relationship" -msgstr "En-til-en-relasjon" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "%(from)s-%(to)s-relasjon" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "%(from)s-%(to)s-relasjoner" - -msgid "Many-to-many relationship" -msgstr "Mange-til-mange-relasjon" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Feltet er påkrevet." - -msgid "Enter a whole number." -msgstr "Oppgi et heltall." - -msgid "Enter a valid date." -msgstr "Oppgi en gyldig dato." - -msgid "Enter a valid time." -msgstr "Oppgi et gyldig tidspunkt." - -msgid "Enter a valid date/time." -msgstr "Oppgi gyldig dato og tidspunkt." - -msgid "Enter a valid duration." -msgstr "Oppgi en gyldig varighet." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "Antall dager må være mellom {min_days} og {max_days}." - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Ingen fil ble sendt. Sjekk «encoding»-typen på skjemaet." - -msgid "No file was submitted." -msgstr "Ingen fil ble sendt." - -msgid "The submitted file is empty." -msgstr "Filen er tom." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "Sørg for at filnavnet har %(max)d tegn (det har nå %(length)d)." -msgstr[1] "" -"Sørg for at filnavnet har færre enn %(max)d tegn (det har nå %(length)d)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "Vennligst last opp en ny fil eller marker fjern-boksen, ikke begge." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Last opp et gyldig bilde. Filen du lastet opp var ødelagt eller ikke et " -"bilde." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "Velg et gyldig valg. %(value)s er ikke et av de tilgjengelige valgene." - -msgid "Enter a list of values." -msgstr "Oppgi en liste med verdier." - -msgid "Enter a complete value." -msgstr "Skriv inn en fullstendig verdi." - -msgid "Enter a valid UUID." -msgstr "Oppgi en gyldig UUID." - -msgid "Enter a valid JSON." -msgstr "Oppgi gyldig JSON." - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Skjult felt %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "ManagementForm-data mangler eller har blitt endret." - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Vennligst oppgi %d skjema." -msgstr[1] "Vennligst oppgi %d eller færre skjema." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "Vennligst send inn %d eller flere skjemaer." -msgstr[1] "Vennligst send inn %d eller flere skjemaer." - -msgid "Order" -msgstr "Rekkefølge" - -msgid "Delete" -msgstr "Slett" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Vennligst korriger dupliserte data for %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "Vennligst korriger dupliserte data for %(field)s, som må være unike." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Vennligst korriger dupliserte data for %(field_name)s, som må være unike for " -"%(lookup)s i %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "Vennligst korriger de dupliserte verdiene nedenfor." - -msgid "The inline value did not match the parent instance." -msgstr "Inline-verdien var ikke i samsvar med foreldre-instansen." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "Velg et gyldig valg. Valget er ikke av de tilgjengelige valgene." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "\"%(pk)s\" er ikke en gyldig verdi." - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" -"%(datetime)s kunne ikke tolkes i tidssonen %(current_timezone)s, det kan " -"være tvetydig eller ikke eksistere." - -msgid "Clear" -msgstr "Fjern" - -msgid "Currently" -msgstr "Nåværende" - -msgid "Change" -msgstr "Endre" - -msgid "Unknown" -msgstr "Ukjent" - -msgid "Yes" -msgstr "Ja" - -msgid "No" -msgstr "Nei" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "ja,nei,kanskje" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d byte" -msgstr[1] "%(size)d byte" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "p.m." - -msgid "a.m." -msgstr "a.m." - -msgid "PM" -msgstr "PM" - -msgid "AM" -msgstr "AM" - -msgid "midnight" -msgstr "midnatt" - -msgid "noon" -msgstr "12:00" - -msgid "Monday" -msgstr "mandag" - -msgid "Tuesday" -msgstr "tirsdag" - -msgid "Wednesday" -msgstr "onsdag" - -msgid "Thursday" -msgstr "torsdag" - -msgid "Friday" -msgstr "fredag" - -msgid "Saturday" -msgstr "lørdag" - -msgid "Sunday" -msgstr "søndag" - -msgid "Mon" -msgstr "man" - -msgid "Tue" -msgstr "tir" - -msgid "Wed" -msgstr "ons" - -msgid "Thu" -msgstr "tor" - -msgid "Fri" -msgstr "fre" - -msgid "Sat" -msgstr "lør" - -msgid "Sun" -msgstr "søn" - -msgid "January" -msgstr "januar" - -msgid "February" -msgstr "februar" - -msgid "March" -msgstr "mars" - -msgid "April" -msgstr "april" - -msgid "May" -msgstr "mai" - -msgid "June" -msgstr "juni" - -msgid "July" -msgstr "juli" - -msgid "August" -msgstr "august" - -msgid "September" -msgstr "september" - -msgid "October" -msgstr "oktober" - -msgid "November" -msgstr "november" - -msgid "December" -msgstr "desember" - -msgid "jan" -msgstr "jan" - -msgid "feb" -msgstr "feb" - -msgid "mar" -msgstr "mar" - -msgid "apr" -msgstr "apr" - -msgid "may" -msgstr "mai" - -msgid "jun" -msgstr "jun" - -msgid "jul" -msgstr "jul" - -msgid "aug" -msgstr "aug" - -msgid "sep" -msgstr "sep" - -msgid "oct" -msgstr "okt" - -msgid "nov" -msgstr "nov" - -msgid "dec" -msgstr "des" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "jan." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "feb." - -msgctxt "abbrev. month" -msgid "March" -msgstr "mar." - -msgctxt "abbrev. month" -msgid "April" -msgstr "apr." - -msgctxt "abbrev. month" -msgid "May" -msgstr "mai" - -msgctxt "abbrev. month" -msgid "June" -msgstr "jun." - -msgctxt "abbrev. month" -msgid "July" -msgstr "jul." - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "aug." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "sept." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "okt." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "nov." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "des." - -msgctxt "alt. month" -msgid "January" -msgstr "Januar" - -msgctxt "alt. month" -msgid "February" -msgstr "Februar" - -msgctxt "alt. month" -msgid "March" -msgstr "Mars" - -msgctxt "alt. month" -msgid "April" -msgstr "April" - -msgctxt "alt. month" -msgid "May" -msgstr "Mai" - -msgctxt "alt. month" -msgid "June" -msgstr "Juni" - -msgctxt "alt. month" -msgid "July" -msgstr "Juli" - -msgctxt "alt. month" -msgid "August" -msgstr "August" - -msgctxt "alt. month" -msgid "September" -msgstr "September" - -msgctxt "alt. month" -msgid "October" -msgstr "Oktober" - -msgctxt "alt. month" -msgid "November" -msgstr "November" - -msgctxt "alt. month" -msgid "December" -msgstr "Desember" - -msgid "This is not a valid IPv6 address." -msgstr "Dette er ikke en gyldig IPv6-adresse." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s…" - -msgid "or" -msgstr "eller" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d år" -msgstr[1] "%d år" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d måned" -msgstr[1] "%d måneder" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d uke" -msgstr[1] "%d uker" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d dag" -msgstr[1] "%d dager" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d time" -msgstr[1] "%d timer" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d minutt" -msgstr[1] "%d minutter" - -msgid "Forbidden" -msgstr "Forbudt" - -msgid "CSRF verification failed. Request aborted." -msgstr "CSRF-verifisering feilet. Forespørsel avbrutt." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" -"Du ser denne meldingen fordi dette HTTPS-nettstedet krever en 'Referer'-" -"header for å bli sendt av nettleseren, men ingen ble sendt. Denne headeren " -"er nødvendig av sikkerhetsmessige årsaker, for å sikre at nettleseren din " -"ikke blir kapret av tredjeparter." - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" -"Hvis du har konfigurert nettleseren din til å deaktivere 'Referer'-headers, " -"kan du aktivere dem, i hvert fall for dette nettstedet, eller for HTTPS-" -"tilkoblinger, eller for 'same-origin'-forespørsler." - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" -"Hvis du bruker -taggen eller " -"inkluderer 'Referrer-Policy: no-referrer'-header, vennligst fjern dem. CSRF-" -"beskyttelsen krever 'Referer'-headeren for å utføre streng kontroll av " -"referanser. Hvis du er bekymret for personvern, bruk alternativer som for koblinger til tredjeparts nettsteder." - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Du ser denne meldingen fordi denne nettsiden krever en CSRF-cookie når du " -"sender inn skjemaer. Denne informasjonskapselen er nødvendig av " -"sikkerhetsmessige årsaker, for å sikre at nettleseren din ikke blir kapret " -"av tredjeparter." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" -"Hvis du har konfigurert nettleseren din til å deaktivere " -"informasjonskapsler, kan du aktivere dem, i hvert fall for dette nettstedet, " -"eller for 'same-origin'-forespørsler." - -msgid "More information is available with DEBUG=True." -msgstr "Mer informasjon er tilgjengelig med DEBUG=True." - -msgid "No year specified" -msgstr "År ikke spesifisert" - -msgid "Date out of range" -msgstr "Date utenfor rekkevidde" - -msgid "No month specified" -msgstr "Måned ikke spesifisert" - -msgid "No day specified" -msgstr "Dag ikke spesifisert" - -msgid "No week specified" -msgstr "Uke ikke spesifisert" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "Ingen %(verbose_name_plural)s tilgjengelig" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"Fremtidig %(verbose_name_plural)s ikke tilgjengelig fordi %(class_name)s." -"allow_future er False." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "Ugyldig datostreng \"%(datestr)s\" gitt formatet \"%(format)s\"" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Fant ingen %(verbose_name)s som passet spørringen" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "Siden er ikke \"last\", og kan heller ikke konverteres til et heltall." - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Ugyldig side (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "Tom liste og \"%(class_name)s.allow_empty\" er False." - -msgid "Directory indexes are not allowed here." -msgstr "Mappeinnhold er ikke tillatt her." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "\"%(path)s\" finnes ikke" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Innhold i %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "Django: web-rammeverket for perfeksjonister med tidsfrister." - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"Se produktmerknader for Django " -"%(version)s" - -msgid "The install worked successfully! Congratulations!" -msgstr "Installasjonen var vellykket! Gratulerer!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"Du ser denne siden fordi DEBUG=True er i din Django-innstillingsfil og du ikke har konfigurert " -"noen URL-er." - -msgid "Django Documentation" -msgstr "Django-dokumentasjon" - -msgid "Topics, references, & how-to’s" -msgstr "Temaer, referanser & how-tos" - -msgid "Tutorial: A Polling App" -msgstr "Tutorial: en polling-app" - -msgid "Get started with Django" -msgstr "Kom i gang med Django" - -msgid "Django Community" -msgstr "Django nettsamfunn" - -msgid "Connect, get help, or contribute" -msgstr "Koble, få hjelp eller bidra" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/nb/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/nb/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/nb/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/nb/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 7d842faa..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/nb/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/nb/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/nb/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 1518405e..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/nb/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/nb/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/nb/formats.py deleted file mode 100644 index 91dd9e6b..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/nb/formats.py +++ /dev/null @@ -1,36 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'j. F Y' -TIME_FORMAT = 'H:i' -DATETIME_FORMAT = 'j. F Y H:i' -YEAR_MONTH_FORMAT = 'F Y' -MONTH_DAY_FORMAT = 'j. F' -SHORT_DATE_FORMAT = 'd.m.Y' -SHORT_DATETIME_FORMAT = 'd.m.Y H:i' -FIRST_DAY_OF_WEEK = 1 # Monday - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -# Kept ISO formats as they are in first position -DATE_INPUT_FORMATS = [ - '%Y-%m-%d', '%d.%m.%Y', '%d.%m.%y', # '2006-10-25', '25.10.2006', '25.10.06' - # '%d. %b %Y', '%d %b %Y', # '25. okt 2006', '25 okt 2006' - # '%d. %b. %Y', '%d %b. %Y', # '25. okt. 2006', '25 okt. 2006' - # '%d. %B %Y', '%d %B %Y', # '25. oktober 2006', '25 oktober 2006' -] -DATETIME_INPUT_FORMATS = [ - '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59' - '%Y-%m-%d %H:%M:%S.%f', # '2006-10-25 14:30:59.000200' - '%Y-%m-%d %H:%M', # '2006-10-25 14:30' - '%d.%m.%Y %H:%M:%S', # '25.10.2006 14:30:59' - '%d.%m.%Y %H:%M:%S.%f', # '25.10.2006 14:30:59.000200' - '%d.%m.%Y %H:%M', # '25.10.2006 14:30' - '%d.%m.%y %H:%M:%S', # '25.10.06 14:30:59' - '%d.%m.%y %H:%M:%S.%f', # '25.10.06 14:30:59.000200' - '%d.%m.%y %H:%M', # '25.10.06 14:30' -] -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = '\xa0' # non-breaking space -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ne/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/ne/LC_MESSAGES/django.mo deleted file mode 100644 index 2a10814b..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/ne/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ne/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/ne/LC_MESSAGES/django.po deleted file mode 100644 index 68824663..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/ne/LC_MESSAGES/django.po +++ /dev/null @@ -1,1253 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Claude Paroz , 2020 -# Jannis Leidel , 2014 -# Paras Nath Chaudhary , 2012 -# Sagar Chalise , 2011-2012,2015,2018 -# Sagar Chalise , 2015 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-07-14 21:42+0000\n" -"Last-Translator: Transifex Bot <>\n" -"Language-Team: Nepali (http://www.transifex.com/django/django/language/ne/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ne\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "Afrikaans" -msgstr "अफ्रिकन" - -msgid "Arabic" -msgstr "अरबिक" - -msgid "Algerian Arabic" -msgstr "" - -msgid "Asturian" -msgstr "अस्टुरियन" - -msgid "Azerbaijani" -msgstr "अजरबैजानी" - -msgid "Bulgarian" -msgstr "बुल्गेरियाली" - -msgid "Belarusian" -msgstr "बेलारुसियन" - -msgid "Bengali" -msgstr "बंगाली" - -msgid "Breton" -msgstr "ब्रेटोन" - -msgid "Bosnian" -msgstr "बोस्नियाली" - -msgid "Catalan" -msgstr "क्याटालान" - -msgid "Czech" -msgstr "चेक" - -msgid "Welsh" -msgstr "वेल्स" - -msgid "Danish" -msgstr "डेनिस" - -msgid "German" -msgstr "जर्मन" - -msgid "Lower Sorbian" -msgstr "तल्लो सोर्बियन" - -msgid "Greek" -msgstr "ग्रिक" - -msgid "English" -msgstr "अंग्रेजी" - -msgid "Australian English" -msgstr "अस्ट्रेलियाली अंग्रेजी" - -msgid "British English" -msgstr "बेलायती अंग्रेजी" - -msgid "Esperanto" -msgstr "इस्परा्न्तो" - -msgid "Spanish" -msgstr "स्पेनिस" - -msgid "Argentinian Spanish" -msgstr "अर्जेन्टिनाली स्पेनिस" - -msgid "Colombian Spanish" -msgstr "कोलम्बियाली स्पेनिस" - -msgid "Mexican Spanish" -msgstr "मेक्सिकन स्पेनिस" - -msgid "Nicaraguan Spanish" -msgstr "निकारागुँवा स्पेनिस" - -msgid "Venezuelan Spanish" -msgstr "भेनेजुएला स्पेनिस" - -msgid "Estonian" -msgstr "इस्टोनियन" - -msgid "Basque" -msgstr "बास्क" - -msgid "Persian" -msgstr "फारसी" - -msgid "Finnish" -msgstr "फिन्निस" - -msgid "French" -msgstr "फ्रान्सेली" - -msgid "Frisian" -msgstr "फ्रिसियन" - -msgid "Irish" -msgstr "आयरिस" - -msgid "Scottish Gaelic" -msgstr "स्कटीस गैलिक" - -msgid "Galician" -msgstr "ग्यलिसियन" - -msgid "Hebrew" -msgstr "हिब्रु" - -msgid "Hindi" -msgstr "हिन्दि " - -msgid "Croatian" -msgstr "क्रोषियन" - -msgid "Upper Sorbian" -msgstr "माथिल्लो सोर्बियन " - -msgid "Hungarian" -msgstr "हन्गेरियन" - -msgid "Armenian" -msgstr "अर्मेनियन" - -msgid "Interlingua" -msgstr "ईन्टरलिन्गुवा" - -msgid "Indonesian" -msgstr "इन्डोनेसियाली" - -msgid "Igbo" -msgstr "" - -msgid "Ido" -msgstr "आइडु" - -msgid "Icelandic" -msgstr "आइसल्यान्डिक" - -msgid "Italian" -msgstr "ईटालियन" - -msgid "Japanese" -msgstr "जापनिज" - -msgid "Georgian" -msgstr "जर्जीयन" - -msgid "Kabyle" -msgstr "कबायल" - -msgid "Kazakh" -msgstr "कजाक" - -msgid "Khmer" -msgstr "ख्मेर" - -msgid "Kannada" -msgstr "कन्नड" - -msgid "Korean" -msgstr "कोरियाली" - -msgid "Kyrgyz" -msgstr "" - -msgid "Luxembourgish" -msgstr "लक्जेमबर्गेली" - -msgid "Lithuanian" -msgstr "लिथुवानियाली" - -msgid "Latvian" -msgstr "लाट्भियन" - -msgid "Macedonian" -msgstr "म्यासेडोनियन" - -msgid "Malayalam" -msgstr "मलायलम" - -msgid "Mongolian" -msgstr "मंगोलियन" - -msgid "Marathi" -msgstr "मराठी" - -msgid "Burmese" -msgstr "बर्मेली" - -msgid "Norwegian Bokmål" -msgstr "नर्वे बक्मल" - -msgid "Nepali" -msgstr "नेपाली" - -msgid "Dutch" -msgstr "डच" - -msgid "Norwegian Nynorsk" -msgstr "नर्वेली न्योर्स्क" - -msgid "Ossetic" -msgstr "ओसेटिक" - -msgid "Punjabi" -msgstr "पञ्जावी" - -msgid "Polish" -msgstr "पोलिस" - -msgid "Portuguese" -msgstr "पुर्तगाली" - -msgid "Brazilian Portuguese" -msgstr "ब्राजिली पुर्तगाली" - -msgid "Romanian" -msgstr "रोमानियाली" - -msgid "Russian" -msgstr "रुसी" - -msgid "Slovak" -msgstr "सलोभाक" - -msgid "Slovenian" -msgstr "स्लोभेनियाली" - -msgid "Albanian" -msgstr "अल्बानियाली" - -msgid "Serbian" -msgstr "सर्वियाली" - -msgid "Serbian Latin" -msgstr "सर्वियाली ल्याटिन" - -msgid "Swedish" -msgstr "स्विडिस" - -msgid "Swahili" -msgstr "स्वाहिली" - -msgid "Tamil" -msgstr "तामिल" - -msgid "Telugu" -msgstr "तेलुगु" - -msgid "Tajik" -msgstr "" - -msgid "Thai" -msgstr "थाई" - -msgid "Turkmen" -msgstr "" - -msgid "Turkish" -msgstr "टर्किस" - -msgid "Tatar" -msgstr "टाटर" - -msgid "Udmurt" -msgstr "उद्मुर्ट" - -msgid "Ukrainian" -msgstr "युक्रेनि" - -msgid "Urdu" -msgstr "उर्दु" - -msgid "Uzbek" -msgstr "उज्बेक" - -msgid "Vietnamese" -msgstr "भियतनामी" - -msgid "Simplified Chinese" -msgstr "सरल चिनि" - -msgid "Traditional Chinese" -msgstr "प्राचिन चिनि" - -msgid "Messages" -msgstr "सुचनाहरु" - -msgid "Site Maps" -msgstr "साइट म्याप्स" - -msgid "Static Files" -msgstr "स्टेेटिक फाइलहरु" - -msgid "Syndication" -msgstr "सिन्डिकेसन" - -msgid "That page number is not an integer" -msgstr "पृष्ठ नं अंक होइन ।" - -msgid "That page number is less than 1" -msgstr "पृष्ठ नं १ भन्दा कम भयो ।" - -msgid "That page contains no results" -msgstr "पृष्ठमा नतिजा छैन ।" - -msgid "Enter a valid value." -msgstr "उपयुक्त मान राख्नुहोस ।" - -msgid "Enter a valid URL." -msgstr "उपयुक्त URL राख्नुहोस ।" - -msgid "Enter a valid integer." -msgstr "उपयुक्त अंक राख्नुहोस ।" - -msgid "Enter a valid email address." -msgstr "सही ई-मेल ठेगाना राख्नु होस ।" - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "उपयुक्त IPv4 ठेगाना राख्नुहोस" - -msgid "Enter a valid IPv6 address." -msgstr "उपयुक्त IPv6 ठेगाना राख्नुहोस ।" - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "उपयुक्त IPv4 वा IPv6 ठेगाना राख्नुहोस ।" - -msgid "Enter only digits separated by commas." -msgstr "कम्मा सहितका वर्ण मात्र राख्नुहोस ।" - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "यो मान %(limit_value)s छ भन्ने निश्चित गर्नुहोस । (यो %(show_value)s हो ।)" - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "यो मान %(limit_value)s भन्दा कम अथवा बराबर छ भन्ने निश्चित गर्नुहोस ।" - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "यो मान %(limit_value)s भन्दा बढी अथवा बराबर छ भन्ने निशचित गर्नुहोस ।" - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"यो मान कम्तिमा पनि %(limit_value)d अक्षर छ भन्ने निश्चित गर्नुहोस । (यसमा " -"%(show_value)d छ ।)" -msgstr[1] "" -"यो मान कम्तिमा पनि %(limit_value)d अक्षरहरु छ भन्ने निश्चित गर्नुहोस । (यसमा " -"%(show_value)d छ ।)" - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"यो मान बढिमा पनि %(limit_value)d अक्षर छ भन्ने निश्चित गर्नुहोस । (यसमा " -"%(show_value)d छ ।)" -msgstr[1] "" -"यो मान बढिमा पनि %(limit_value)d अक्षरहरु छ भन्ने निश्चित गर्नुहोस । (यसमा " -"%(show_value)d छ ।)" - -msgid "Enter a number." -msgstr "संख्या राख्नुहोस ।" - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "जम्मा %(max)s भन्दा बढी अक्षर नभएको निश्चित पार्नु होस ।" -msgstr[1] "जम्मा %(max)s भन्दा बढी अक्षरहरु नभएको निश्चित पार्नु होस ।" - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "दशमलव पछि %(max)s भन्दा बढी अक्षर नभएको निश्चित पार्नु होस ।" -msgstr[1] "दशमलव पछि %(max)s भन्दा बढी अक्षरहरु नभएको निश्चित पार्नु होस ।" - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "दशमलव अघि %(max)s भन्दा बढी अक्षर नभएको निश्चित पार्नु होस ।" -msgstr[1] "दशमलव अघि %(max)s भन्दा बढी अक्षरहरु नभएको निश्चित पार्नु होस ।" - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "शून्य मान अनुमति छैन।" - -msgid "and" -msgstr "र" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "%(field_labels)s भएको %(model_name)s बनि सकेको छ । " - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "%(value)r मान उपयुक्त छनोट होइन ।" - -msgid "This field cannot be null." -msgstr "यो फाँट शून्य हुन सक्दैन ।" - -msgid "This field cannot be blank." -msgstr "यो फाँट खाली हुन सक्दैन ।" - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(field_label)s भएको %(model_name)s पहिलै विद्धमान छ ।" - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(date_field_label)s %(lookup_type)s को लागि %(field_label)s अनुपम हुनु पर्दछ ।" - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "फाँटको प्रकार: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "बुलियन (True अथवा False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "वर्ण (%(max_length)s सम्म)" - -msgid "Comma-separated integers" -msgstr "कम्माले छुट्याइएका अंकहरु ।" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "मिति (समय रहित)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "मिति (समय सहित)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "दश्मलव संख्या" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "अवधि" - -msgid "Email address" -msgstr "ई-मेल ठेगाना" - -msgid "File path" -msgstr "फाइलको मार्ग" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "दश्मलव हुने संख्या" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "अंक" - -msgid "Big (8 byte) integer" -msgstr "ठूलो (८ बाइटको) अंक" - -msgid "IPv4 address" -msgstr "आइ.पी.भी४ ठेगाना" - -msgid "IP address" -msgstr "IP ठेगाना" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "बुलियन (True, False अथवा None)" - -msgid "Positive big integer" -msgstr "" - -msgid "Positive integer" -msgstr "सकारात्मक पूर्णांक" - -msgid "Positive small integer" -msgstr "सानो जोड अङ्क" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "स्लग(%(max_length)s सम्म)" - -msgid "Small integer" -msgstr "सानो अङ्क" - -msgid "Text" -msgstr "पाठ" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "समय" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "र बाइनरी डाटा" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "" - -msgid "File" -msgstr "फाइल" - -msgid "Image" -msgstr "चित्र" - -msgid "A JSON object" -msgstr "" - -msgid "Value must be valid JSON." -msgstr "" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "" - -msgid "Foreign Key (type determined by related field)" -msgstr "फोरेन कि (प्रकार नातागत फाँटले जनाउछ)" - -msgid "One-to-one relationship" -msgstr "एक-देखि-एक नाता" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "%(from)s-%(to)s सम्बन्ध" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "%(from)s-%(to)s सम्बन्धहरु" - -msgid "Many-to-many relationship" -msgstr "अनेक-देखि-अनेक नाता" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "यो फाँट अनिवार्य छ ।" - -msgid "Enter a whole number." -msgstr "संख्या राख्नुहोस ।" - -msgid "Enter a valid date." -msgstr "उपयुक्त मिति राख्नुहोस ।" - -msgid "Enter a valid time." -msgstr "उपयुक्त समय राख्नुहोस ।" - -msgid "Enter a valid date/time." -msgstr "उपयुक्त मिति/समय राख्नुहोस ।" - -msgid "Enter a valid duration." -msgstr "उपयुक्त अवधि राख्नुहोस ।" - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "दिन गन्ती {min_days} र {max_days} बीचमा हुनु पर्छ । " - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "कुनै फाईल पेश गरिएको छैन । फारममा ईनकोडिङको प्रकार जाँच गर्नुहोस । " - -msgid "No file was submitted." -msgstr "कुनै फाईल पेश गरिएको छैन ।" - -msgid "The submitted file is empty." -msgstr "पेश गरिएको फाइल खाली छ ।" - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"यो फाइलको नाममा बाढीमा %(max)d अङ्क भएको निश्चित गर्नु होस । (यसमा %(length)d छ " -"।)" -msgstr[1] "" -"यो फाइलको नाममा बढी मा %(max)d अङ्कहरू भएको निश्चित गर्नु होस । (यसमा %(length)d " -"छ ।)" - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "दुवै नछान्नुहोस, कि त फाइल पेश गर्नुहोस वा चेक बाकस मा छान्नुहोस ।" - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"उपयुक्त चित्र अपलोड गर्नुहोस । तपाइले अपलोड गर्नु भएको फाइल चित्र होइन वा बिग्रेको चित्र " -"हो ।" - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "उपयुक्त विकल्प छान्नुहोस । %(value)s प्रस्तावित विकल्प होइन ।" - -msgid "Enter a list of values." -msgstr "मानहरु राख्नुहोस" - -msgid "Enter a complete value." -msgstr "पुरा मान राख्नु होस ।" - -msgid "Enter a valid UUID." -msgstr "उपयुक्त UUID राख्नु होस ।" - -msgid "Enter a valid JSON." -msgstr "" - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(लुकेका %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "म्यानेजमेन्ट फारम डाटा चलाइएको वा नभरेको पाइयो ।" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "कृपया %d अथवा सो भन्दा थोरै फारम बुझाउनु होस ।" -msgstr[1] "कृपया %d अथवा सो भन्दा थोरै फारमहरु बुझाउनु होस ।" - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "कृपया %d अथवा सो भन्दा धेरै फारम बुझाउनु होस ।" -msgstr[1] "कृपया %d अथवा सो भन्दा धेरै फारमहरु बुझाउनु होस ।" - -msgid "Order" -msgstr "क्रम" - -msgid "Delete" -msgstr "मेट्नुहोस" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "कृपया %(field)s का लागि दोहोरिइका तथ्याङ्कहरु सच्याउनुहोस ।" - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "कृपया %(field)s का लागि दोहोरिइका तथ्याङ्कहरु नौलो तथ्याङ्क सहित सच्याउनुहोस ।" - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"कृपया %(field_name)s का लागि दोहोरिइका तथ्याङ्कहरु सच्याउनुहोस जसमा " -"%(date_field)sको %(lookup)s नौलो हुनुपर्दछ ।" - -msgid "Please correct the duplicate values below." -msgstr "कृपया तलका दोहोरिइका मानहरु सच्याउनुहोस ।" - -msgid "The inline value did not match the parent instance." -msgstr "" - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "उपयुक्त विकल्प छान्नुहोस । छानिएको विकल्प प्रस्तावित विकल्प होइन ।" - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "सबै खाली गर्नु होस ।" - -msgid "Currently" -msgstr "अहिले" - -msgid "Change" -msgstr "फेर्नुहोस" - -msgid "Unknown" -msgstr "अज्ञात" - -msgid "Yes" -msgstr "हुन्छ" - -msgid "No" -msgstr "होइन" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "हो,होइन,सायद" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d बाइट" -msgstr[1] "%(size)d बाइटहरु" - -#, python-format -msgid "%s KB" -msgstr "%s किलोबाइट" - -#, python-format -msgid "%s MB" -msgstr "%s मेगाबाइट" - -#, python-format -msgid "%s GB" -msgstr "%s गिगाबाइट" - -#, python-format -msgid "%s TB" -msgstr "%s टेराबाइट" - -#, python-format -msgid "%s PB" -msgstr "%s पिटाबाइट" - -msgid "p.m." -msgstr "p.m." - -msgid "a.m." -msgstr "a.m." - -msgid "PM" -msgstr "PM" - -msgid "AM" -msgstr "AM" - -msgid "midnight" -msgstr "मध्यरात" - -msgid "noon" -msgstr "मध्यान्ह" - -msgid "Monday" -msgstr "सोमवार" - -msgid "Tuesday" -msgstr "मंगलवार" - -msgid "Wednesday" -msgstr "बुधवार" - -msgid "Thursday" -msgstr "बिहीवार" - -msgid "Friday" -msgstr "शुक्रवार" - -msgid "Saturday" -msgstr "शनिवार" - -msgid "Sunday" -msgstr "आइतवार" - -msgid "Mon" -msgstr "सोम" - -msgid "Tue" -msgstr "मंगल" - -msgid "Wed" -msgstr "बुध" - -msgid "Thu" -msgstr "बिहि" - -msgid "Fri" -msgstr "शुक्र" - -msgid "Sat" -msgstr "शनि" - -msgid "Sun" -msgstr "आइत" - -msgid "January" -msgstr "जनवरी" - -msgid "February" -msgstr "फेब्रुअरी" - -msgid "March" -msgstr "मार्च" - -msgid "April" -msgstr "अप्रिल" - -msgid "May" -msgstr "मई" - -msgid "June" -msgstr "जुन" - -msgid "July" -msgstr "जुलै" - -msgid "August" -msgstr "अगस्त" - -msgid "September" -msgstr "सेप्टेम्बर" - -msgid "October" -msgstr "अक्टुवर" - -msgid "November" -msgstr "नभम्वर" - -msgid "December" -msgstr "डिसम्वर" - -msgid "jan" -msgstr "जनवरी" - -msgid "feb" -msgstr "फेब्रुअरी" - -msgid "mar" -msgstr "मार्च" - -msgid "apr" -msgstr "अप्रिल" - -msgid "may" -msgstr "मई" - -msgid "jun" -msgstr "जुन" - -msgid "jul" -msgstr "जुलै" - -msgid "aug" -msgstr "अग्सत" - -msgid "sep" -msgstr "सेप्तेम्बर" - -msgid "oct" -msgstr "अक्टुवर" - -msgid "nov" -msgstr "नभम्वर" - -msgid "dec" -msgstr "डिसम्वर" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "जनवरी" - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "फेब्रुअरी" - -msgctxt "abbrev. month" -msgid "March" -msgstr "मार्च" - -msgctxt "abbrev. month" -msgid "April" -msgstr "अप्रिल" - -msgctxt "abbrev. month" -msgid "May" -msgstr "मई" - -msgctxt "abbrev. month" -msgid "June" -msgstr "जुन" - -msgctxt "abbrev. month" -msgid "July" -msgstr "जुलै" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "अगस्त" - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "सेप्तेम्बर" - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "अक्टुवर" - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "नभम्वर" - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "डिसम्वर" - -msgctxt "alt. month" -msgid "January" -msgstr "जनवरी" - -msgctxt "alt. month" -msgid "February" -msgstr "फेब्रुअरी" - -msgctxt "alt. month" -msgid "March" -msgstr "मार्च" - -msgctxt "alt. month" -msgid "April" -msgstr "अप्रिल" - -msgctxt "alt. month" -msgid "May" -msgstr "मई" - -msgctxt "alt. month" -msgid "June" -msgstr "जुन" - -msgctxt "alt. month" -msgid "July" -msgstr "जुलै" - -msgctxt "alt. month" -msgid "August" -msgstr "अगस्त" - -msgctxt "alt. month" -msgid "September" -msgstr "सेप्टेम्बर" - -msgctxt "alt. month" -msgid "October" -msgstr "अक्टुवर" - -msgctxt "alt. month" -msgid "November" -msgstr "नभम्वर" - -msgctxt "alt. month" -msgid "December" -msgstr "डिसम्वर" - -msgid "This is not a valid IPv6 address." -msgstr "यो उपयुक्त IPv6 ठेगाना होइन ।" - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s…" - -msgid "or" -msgstr "अथवा" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr "," - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d वर्ष" -msgstr[1] "%d वर्षहरु" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d महिना" -msgstr[1] "%d महिनाहरु" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d सप्ताह" -msgstr[1] "%d सप्ताहहरु" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d दिन" -msgstr[1] "%d दिनहरु" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d घण्टा" -msgstr[1] "%d घण्टाहरु" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d मिनट" -msgstr[1] "%d मिनटहरु" - -msgid "Forbidden" -msgstr "निषेधित" - -msgid "CSRF verification failed. Request aborted." -msgstr "CSRF प्रमाणीकरण भएन । अनुरोध विफल ।" - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "DEBUG=True ले ज्यादा सुचना प्रदान गर्दछ ।" - -msgid "No year specified" -msgstr "साल तोकिएको छैन ।" - -msgid "Date out of range" -msgstr "मिति मिलेन ।" - -msgid "No month specified" -msgstr "महिना तोकिएको छैन ।" - -msgid "No day specified" -msgstr "दिन तोकिएको छैन ।" - -msgid "No week specified" -msgstr "साता तोकिएको छैन ।" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "%(verbose_name_plural)s उपलब्ध छैन ।" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"%(class_name)s.allow_future 'False' हुनाले आगामी %(verbose_name_plural)s उपलब्ध " -"छैन ।" - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "%(verbose_name)s भेटिएन ।" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "रद्द पृष्ठ (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "डाइरेक्टरी इन्डेक्सहरु यहाँ अनुमति छैन ।" - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "%(directory)s को सूची" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "ज्याङ्गो : वेब साइट र एप्लिकेसन बनाउन सहयोगी औजार " - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"ज्याङ्गो %(version)s को परिवर्तन तथा विशेषता यहाँ हेर्नु होस" - -msgid "The install worked successfully! Congratulations!" -msgstr "बधाई छ । स्थापना भएको छ ।" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" - -msgid "Django Documentation" -msgstr "ज्याङ्गो दस्तावेज ।" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "मतदान एप उदाहरण " - -msgid "Get started with Django" -msgstr "ज्याङ्गो सुरु गर्नु होस ।" - -msgid "Django Community" -msgstr "ज्याङ्गो समुदाय" - -msgid "Connect, get help, or contribute" -msgstr "सहयोग अथवा योगदान गरी जोडिनु होस" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/nl/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/nl/LC_MESSAGES/django.mo deleted file mode 100644 index ea4b8d6c..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/nl/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/nl/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/nl/LC_MESSAGES/django.po deleted file mode 100644 index e8ccbca0..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/nl/LC_MESSAGES/django.po +++ /dev/null @@ -1,1311 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Bas Peschier , 2011,2013 -# Blue , 2011-2012 -# Bouke Haarsma , 2013 -# Claude Paroz , 2014 -# Erik Romijn , 2013 -# Evelijn Saaltink , 2016 -# Harro van der Klauw , 2011-2012 -# Ilja Maas , 2015 -# Jannis Leidel , 2011 -# Jeffrey Gelens , 2011-2012,2014 -# Michiel Overtoom , 2014 -# Meteor0id, 2019-2020 -# 8de006b1b0894aab6aef71979dcd8bd6_5c6b207 , 2014-2015 -# Tino de Bruijn , 2013 -# Tonnes , 2017,2019-2020 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-07-15 08:30+0000\n" -"Last-Translator: Tonnes \n" -"Language-Team: Dutch (http://www.transifex.com/django/django/language/nl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nl\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "Afrikaans" -msgstr "Afrikaans" - -msgid "Arabic" -msgstr "Arabisch" - -msgid "Algerian Arabic" -msgstr "Algerijns Arabisch" - -msgid "Asturian" -msgstr "Asturisch" - -msgid "Azerbaijani" -msgstr "Azerbeidzjaans" - -msgid "Bulgarian" -msgstr "Bulgaars" - -msgid "Belarusian" -msgstr "Wit-Russisch" - -msgid "Bengali" -msgstr "Bengaals" - -msgid "Breton" -msgstr "Bretons" - -msgid "Bosnian" -msgstr "Bosnisch" - -msgid "Catalan" -msgstr "Catalaans" - -msgid "Czech" -msgstr "Tsjechisch" - -msgid "Welsh" -msgstr "Welsh" - -msgid "Danish" -msgstr "Deens" - -msgid "German" -msgstr "Duits" - -msgid "Lower Sorbian" -msgstr "Nedersorbisch" - -msgid "Greek" -msgstr "Grieks" - -msgid "English" -msgstr "Engels" - -msgid "Australian English" -msgstr "Australisch-Engels" - -msgid "British English" -msgstr "Brits-Engels" - -msgid "Esperanto" -msgstr "Esperanto" - -msgid "Spanish" -msgstr "Spaans" - -msgid "Argentinian Spanish" -msgstr "Argentijns Spaans" - -msgid "Colombian Spanish" -msgstr "Colombiaans Spaans" - -msgid "Mexican Spanish" -msgstr "Mexicaans Spaans" - -msgid "Nicaraguan Spanish" -msgstr "Nicaraguaans Spaans" - -msgid "Venezuelan Spanish" -msgstr "Venezolaans Spaans" - -msgid "Estonian" -msgstr "Ests" - -msgid "Basque" -msgstr "Baskisch" - -msgid "Persian" -msgstr "Perzisch" - -msgid "Finnish" -msgstr "Fins" - -msgid "French" -msgstr "Frans" - -msgid "Frisian" -msgstr "Fries" - -msgid "Irish" -msgstr "Iers" - -msgid "Scottish Gaelic" -msgstr "Schots-Gaelisch" - -msgid "Galician" -msgstr "Galicisch" - -msgid "Hebrew" -msgstr "Hebreeuws" - -msgid "Hindi" -msgstr "Hindi" - -msgid "Croatian" -msgstr "Kroatisch" - -msgid "Upper Sorbian" -msgstr "Oppersorbisch" - -msgid "Hungarian" -msgstr "Hongaars" - -msgid "Armenian" -msgstr "Armeens" - -msgid "Interlingua" -msgstr "Interlingua" - -msgid "Indonesian" -msgstr "Indonesisch" - -msgid "Igbo" -msgstr "Igbo" - -msgid "Ido" -msgstr "Ido" - -msgid "Icelandic" -msgstr "IJslands" - -msgid "Italian" -msgstr "Italiaans" - -msgid "Japanese" -msgstr "Japans" - -msgid "Georgian" -msgstr "Georgisch" - -msgid "Kabyle" -msgstr "Kabylisch" - -msgid "Kazakh" -msgstr "Kazachs" - -msgid "Khmer" -msgstr "Khmer" - -msgid "Kannada" -msgstr "Kannada" - -msgid "Korean" -msgstr "Koreaans" - -msgid "Kyrgyz" -msgstr "Kirgizisch" - -msgid "Luxembourgish" -msgstr "Luxemburgs" - -msgid "Lithuanian" -msgstr "Litouws" - -msgid "Latvian" -msgstr "Lets" - -msgid "Macedonian" -msgstr "Macedonisch" - -msgid "Malayalam" -msgstr "Malayalam" - -msgid "Mongolian" -msgstr "Mongools" - -msgid "Marathi" -msgstr "Marathi" - -msgid "Burmese" -msgstr "Birmaans" - -msgid "Norwegian Bokmål" -msgstr "Noors Bokmål" - -msgid "Nepali" -msgstr "Nepalees" - -msgid "Dutch" -msgstr "Nederlands" - -msgid "Norwegian Nynorsk" -msgstr "Noors Nynorsk" - -msgid "Ossetic" -msgstr "Ossetisch" - -msgid "Punjabi" -msgstr "Punjabi" - -msgid "Polish" -msgstr "Pools" - -msgid "Portuguese" -msgstr "Portugees" - -msgid "Brazilian Portuguese" -msgstr "Braziliaans Portugees" - -msgid "Romanian" -msgstr "Roemeens" - -msgid "Russian" -msgstr "Russisch" - -msgid "Slovak" -msgstr "Slovaaks" - -msgid "Slovenian" -msgstr "Sloveens" - -msgid "Albanian" -msgstr "Albanisch" - -msgid "Serbian" -msgstr "Servisch" - -msgid "Serbian Latin" -msgstr "Servisch Latijn" - -msgid "Swedish" -msgstr "Zweeds" - -msgid "Swahili" -msgstr "Swahili" - -msgid "Tamil" -msgstr "Tamil" - -msgid "Telugu" -msgstr "Telegu" - -msgid "Tajik" -msgstr "Tadzjieks" - -msgid "Thai" -msgstr "Thai" - -msgid "Turkmen" -msgstr "Turkmeens" - -msgid "Turkish" -msgstr "Turks" - -msgid "Tatar" -msgstr "Tataars" - -msgid "Udmurt" -msgstr "Oedmoerts" - -msgid "Ukrainian" -msgstr "Oekraïens" - -msgid "Urdu" -msgstr "Urdu" - -msgid "Uzbek" -msgstr "Oezbeeks" - -msgid "Vietnamese" -msgstr "Vietnamees" - -msgid "Simplified Chinese" -msgstr "Vereenvoudigd Chinees" - -msgid "Traditional Chinese" -msgstr "Traditioneel Chinees" - -msgid "Messages" -msgstr "Berichten" - -msgid "Site Maps" -msgstr "Sitemaps" - -msgid "Static Files" -msgstr "Statische bestanden" - -msgid "Syndication" -msgstr "Syndicatie" - -msgid "That page number is not an integer" -msgstr "Dat paginanummer is geen geheel getal" - -msgid "That page number is less than 1" -msgstr "Dat paginanummer is kleiner dan 1" - -msgid "That page contains no results" -msgstr "Die pagina bevat geen resultaten" - -msgid "Enter a valid value." -msgstr "Voer een geldige waarde in." - -msgid "Enter a valid URL." -msgstr "Voer een geldige URL in." - -msgid "Enter a valid integer." -msgstr "Voer een geldig geheel getal in." - -msgid "Enter a valid email address." -msgstr "Voer een geldig e-mailadres in." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" -"Voer een geldige ‘slug’ in, bestaande uit letters, cijfers, liggende " -"streepjes en verbindingsstreepjes." - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" -"Voer een geldige ‘slug’ in, bestaande uit Unicode-letters, cijfers, liggende " -"streepjes en verbindingsstreepjes." - -msgid "Enter a valid IPv4 address." -msgstr "Voer een geldig IPv4-adres in." - -msgid "Enter a valid IPv6 address." -msgstr "Voer een geldig IPv6-adres in." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Voer een geldig IPv4- of IPv6-adres in." - -msgid "Enter only digits separated by commas." -msgstr "Voer alleen cijfers in, gescheiden door komma's." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" -"Zorg ervoor dat deze waarde gelijk is aan %(limit_value)s (het is nu " -"%(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Zorg ervoor dat deze waarde hoogstens %(limit_value)s is." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Zorg ervoor dat deze waarde minstens %(limit_value)s is." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Zorg dat deze waarde ten minste %(limit_value)d teken bevat (het zijn er nu " -"%(show_value)d)." -msgstr[1] "" -"Zorg dat deze waarde ten minste %(limit_value)d tekens bevat (het zijn er nu " -"%(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Zorg dat deze waarde niet meer dan %(limit_value)d teken bevat (het zijn er " -"nu %(show_value)d)." -msgstr[1] "" -"Zorg dat deze waarde niet meer dan %(limit_value)d tekens bevat (het zijn er " -"nu %(show_value)d)." - -msgid "Enter a number." -msgstr "Voer een getal in." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Zorg dat er niet meer dan %(max)s cijfer is." -msgstr[1] "Zorg dat er niet meer dan %(max)s cijfers zijn." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "Zorg dat er niet meer dan %(max)s cijfer achter de komma staat." -msgstr[1] "Zorg dat er niet meer dan %(max)s cijfers achter de komma staan." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "Zorg dat er niet meer dan %(max)s cijfer voor de komma staat." -msgstr[1] "Zorg dat er niet meer dan %(max)s cijfers voor de komma staan." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" -"Bestandsextensie ‘%(extension)s’ is niet toegestaan. Toegestane extensies " -"zijn: ‘%(allowed_extensions)s’." - -msgid "Null characters are not allowed." -msgstr "Null-tekens zijn niet toegestaan." - -msgid "and" -msgstr "en" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "%(model_name)s met deze %(field_labels)s bestaat al." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "Waarde %(value)r is geen geldige keuze." - -msgid "This field cannot be null." -msgstr "Dit veld mag niet leeg zijn." - -msgid "This field cannot be blank." -msgstr "Dit veld kan niet leeg zijn" - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "Er bestaat al een %(model_name)s met eenzelfde %(field_label)s." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(field_label)s moet uniek zijn voor %(date_field_label)s %(lookup_type)s." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Veld van type: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "Waarde van ‘%(value)s’ moet True of False zijn." - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "Waarde van ‘%(value)s’ moet True, False of None zijn." - -msgid "Boolean (Either True or False)" -msgstr "Boolean (True of False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Tekenreeks (hooguit %(max_length)s)" - -msgid "Comma-separated integers" -msgstr "Komma-gescheiden gehele getallen" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" -"Waarde van ‘%(value)s’ heeft een ongeldige datumnotatie. De juiste notatie " -"is YYYY-MM-DD." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" -"Waarde van ‘%(value)s’ heeft de juiste notatie (YYYY-MM-DD), maar het is een " -"ongeldige datum." - -msgid "Date (without time)" -msgstr "Datum (zonder tijd)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" -"Waarde van ‘%(value)s’ heeft een ongeldige notatie. De juiste notatie is " -"YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" -"Waarde van ‘%(value)s’ heeft de juiste notatie (YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ]), maar het is een ongeldige datum/tijd." - -msgid "Date (with time)" -msgstr "Datum (met tijd)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "Waarde van ‘%(value)s’ moet een decimaal getal zijn." - -msgid "Decimal number" -msgstr "Decimaal getal" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" -"Waarde van ‘%(value)s’ heeft een ongeldige notatie. De juiste notatie is " -"[DD] [[HH:]MM:]ss[.uuuuuu]." - -msgid "Duration" -msgstr "Tijdsduur" - -msgid "Email address" -msgstr "E-mailadres" - -msgid "File path" -msgstr "Bestandspad" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "Waarde van ‘%(value)s’ moet een drijvende-kommagetal zijn." - -msgid "Floating point number" -msgstr "Drijvende-kommagetal" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "Waarde van ‘%(value)s’ moet een geheel getal zijn." - -msgid "Integer" -msgstr "Geheel getal" - -msgid "Big (8 byte) integer" -msgstr "Groot (8 byte) geheel getal" - -msgid "IPv4 address" -msgstr "IPv4-adres" - -msgid "IP address" -msgstr "IP-adres" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "Waarde van ‘%(value)s’ moet None, True of False zijn." - -msgid "Boolean (Either True, False or None)" -msgstr "Boolean (True, False of None)" - -msgid "Positive big integer" -msgstr "Positief groot geheel getal" - -msgid "Positive integer" -msgstr "Positief geheel getal" - -msgid "Positive small integer" -msgstr "Postitief klein geheel getal" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Slug (max. lengte %(max_length)s)" - -msgid "Small integer" -msgstr "Klein geheel getal" - -msgid "Text" -msgstr "Tekst" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" -"Waarde van ‘%(value)s’ heeft een ongeldige notatie. De juiste notatie is HH:" -"MM[:ss[.uuuuuu]]." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" -"Waarde van ‘%(value)s’ heeft de juiste notatie (HH:MM[:ss[.uuuuuu]]), maar " -"het is een ongeldige tijd." - -msgid "Time" -msgstr "Tijd" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Onbewerkte binaire gegevens" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "‘%(value)s’ is geen geldige UUID." - -msgid "Universally unique identifier" -msgstr "Universally unique identifier" - -msgid "File" -msgstr "Bestand" - -msgid "Image" -msgstr "Afbeelding" - -msgid "A JSON object" -msgstr "Een JSON-object" - -msgid "Value must be valid JSON." -msgstr "Waarde moet geldige JSON zijn." - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "%(model)s-instantie met %(field)s %(value)r bestaat niet." - -msgid "Foreign Key (type determined by related field)" -msgstr "Refererende sleutel (type wordt bepaald door gerelateerde veld)" - -msgid "One-to-one relationship" -msgstr "Een-op-een-relatie" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "%(from)s-%(to)s-relatie" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "%(from)s-%(to)s-relaties" - -msgid "Many-to-many relationship" -msgstr "Veel-op-veel-relatie" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Dit veld is verplicht." - -msgid "Enter a whole number." -msgstr "Voer een geheel getal in." - -msgid "Enter a valid date." -msgstr "Voer een geldige datum in." - -msgid "Enter a valid time." -msgstr "Voer een geldige tijd in." - -msgid "Enter a valid date/time." -msgstr "Voer een geldige datum/tijd in." - -msgid "Enter a valid duration." -msgstr "Voer een geldige tijdsduur in." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "Het aantal dagen moet tussen {min_days} en {max_days} liggen." - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "" -"Er is geen bestand verstuurd. Controleer het coderingstype op het formulier." - -msgid "No file was submitted." -msgstr "Er is geen bestand verstuurd." - -msgid "The submitted file is empty." -msgstr "Het verstuurde bestand is leeg." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Zorg dat deze bestandsnaam niet meer dan %(max)d teken bevat (het zijn er nu " -"%(length)d)." -msgstr[1] "" -"Zorg dat deze bestandsnaam niet meer dan %(max)d tekens bevat (het zijn er " -"nu %(length)d)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "Upload een bestand of vink het vakje Wissen aan, niet allebei." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Upload een geldige afbeelding. Het geüploade bestand is geen of een " -"beschadigde afbeelding." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "Selecteer een geldige keuze. %(value)s is geen beschikbare keuze." - -msgid "Enter a list of values." -msgstr "Voer een lijst met waarden in." - -msgid "Enter a complete value." -msgstr "Voer een volledige waarde in." - -msgid "Enter a valid UUID." -msgstr "Voer een geldige UUID in." - -msgid "Enter a valid JSON." -msgstr "Voer een geldige JSON in." - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Verborgen veld %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "ManagementForm-gegevens ontbreken, of er is mee geknoeid" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Verstuur niet meer dan %d formulier." -msgstr[1] "Verstuur niet meer dan %d formulieren." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "Verstuur %d of meer formulieren." -msgstr[1] "Verstuur %d of meer formulieren." - -msgid "Order" -msgstr "Volgorde" - -msgid "Delete" -msgstr "Verwijderen" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Corrigeer de dubbele gegevens voor %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "Corrigeer de dubbele gegevens voor %(field)s, dat uniek moet zijn." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Corrigeer de dubbele gegevens voor %(field_name)s, dat uniek moet zijn voor " -"de %(lookup)s in %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "Corrigeer de dubbele waarden hieronder." - -msgid "The inline value did not match the parent instance." -msgstr "De inline waarde komt niet overeen met de bovenliggende instantie." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "Selecteer een geldige keuze. Deze keuze is niet beschikbaar." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "‘%(pk)s’ is geen geldige waarde." - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" -"%(datetime)s kon niet worden geïnterpreteerd in tijdzone " -"%(current_timezone)s; mogelijk is deze dubbelzinnig of bestaat deze niet." - -msgid "Clear" -msgstr "Wissen" - -msgid "Currently" -msgstr "Huidige" - -msgid "Change" -msgstr "Wijzigen" - -msgid "Unknown" -msgstr "Onbekend" - -msgid "Yes" -msgstr "Ja" - -msgid "No" -msgstr "Nee" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "ja,nee,misschien" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d byte" -msgstr[1] "%(size)d bytes" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "p.m." - -msgid "a.m." -msgstr "a.m." - -msgid "PM" -msgstr "PM" - -msgid "AM" -msgstr "AM" - -msgid "midnight" -msgstr "middernacht" - -msgid "noon" -msgstr "middag" - -msgid "Monday" -msgstr "maandag" - -msgid "Tuesday" -msgstr "dinsdag" - -msgid "Wednesday" -msgstr "woensdag" - -msgid "Thursday" -msgstr "donderdag" - -msgid "Friday" -msgstr "vrijdag" - -msgid "Saturday" -msgstr "zaterdag" - -msgid "Sunday" -msgstr "zondag" - -msgid "Mon" -msgstr "ma" - -msgid "Tue" -msgstr "di" - -msgid "Wed" -msgstr "wo" - -msgid "Thu" -msgstr "do" - -msgid "Fri" -msgstr "vr" - -msgid "Sat" -msgstr "za" - -msgid "Sun" -msgstr "zo" - -msgid "January" -msgstr "januari" - -msgid "February" -msgstr "februari" - -msgid "March" -msgstr "maart" - -msgid "April" -msgstr "april" - -msgid "May" -msgstr "mei" - -msgid "June" -msgstr "juni" - -msgid "July" -msgstr "juli" - -msgid "August" -msgstr "augustus" - -msgid "September" -msgstr "september" - -msgid "October" -msgstr "oktober" - -msgid "November" -msgstr "november" - -msgid "December" -msgstr "december" - -msgid "jan" -msgstr "jan" - -msgid "feb" -msgstr "feb" - -msgid "mar" -msgstr "mrt" - -msgid "apr" -msgstr "apr" - -msgid "may" -msgstr "mei" - -msgid "jun" -msgstr "jun" - -msgid "jul" -msgstr "jul" - -msgid "aug" -msgstr "aug" - -msgid "sep" -msgstr "sep" - -msgid "oct" -msgstr "okt" - -msgid "nov" -msgstr "nov" - -msgid "dec" -msgstr "dec" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "jan" - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "feb" - -msgctxt "abbrev. month" -msgid "March" -msgstr "mrt" - -msgctxt "abbrev. month" -msgid "April" -msgstr "apr" - -msgctxt "abbrev. month" -msgid "May" -msgstr "mei" - -msgctxt "abbrev. month" -msgid "June" -msgstr "jun" - -msgctxt "abbrev. month" -msgid "July" -msgstr "jul" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "aug" - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "sep" - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "okt" - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "nov" - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "dec" - -msgctxt "alt. month" -msgid "January" -msgstr "januari" - -msgctxt "alt. month" -msgid "February" -msgstr "februari" - -msgctxt "alt. month" -msgid "March" -msgstr "maart" - -msgctxt "alt. month" -msgid "April" -msgstr "april" - -msgctxt "alt. month" -msgid "May" -msgstr "mei" - -msgctxt "alt. month" -msgid "June" -msgstr "juni" - -msgctxt "alt. month" -msgid "July" -msgstr "juli" - -msgctxt "alt. month" -msgid "August" -msgstr "augustus" - -msgctxt "alt. month" -msgid "September" -msgstr "september" - -msgctxt "alt. month" -msgid "October" -msgstr "oktober" - -msgctxt "alt. month" -msgid "November" -msgstr "november" - -msgctxt "alt. month" -msgid "December" -msgstr "december" - -msgid "This is not a valid IPv6 address." -msgstr "Dit is geen geldig IPv6-adres." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s…" - -msgid "or" -msgstr "of" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d jaar" -msgstr[1] "%d jaar" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d maand" -msgstr[1] "%d maanden" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d week" -msgstr[1] "%d weken" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d dag" -msgstr[1] "%d dagen" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d uur" -msgstr[1] "%d uur" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d minuut" -msgstr[1] "%d minuten" - -msgid "Forbidden" -msgstr "Verboden" - -msgid "CSRF verification failed. Request aborted." -msgstr "CSRF-verificatie mislukt. Aanvraag afgebroken." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" -"U ziet deze melding, omdat deze HTTPS-website vereist dat uw webbrowser een " -"‘Referer header’ meestuurt, maar deze ontbreekt. Deze header is om " -"veiligheidsredenen vereist om er zeker van te zijn dat uw browser niet door " -"derden wordt gekaapt." - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" -"Als u ‘Referer’-headers in uw browser hebt uitgeschakeld, schakel deze dan " -"weer in, op zijn minst voor deze website, of voor HTTPS-verbindingen, of " -"voor ‘same-origin’-aanvragen." - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" -"Als u de tag gebruikt of de " -"header ‘Referrer-Policy: no-referrer’ opneemt, verwijder deze dan. De CSRF-" -"bescherming vereist de ‘Referer’-header voor strenge referer-controle. Als u " -"bezorgd bent om privacy, gebruik dan alternatieven zoals voor koppelingen naar websites van derden." - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"U ziet deze melding, omdat deze website vereist dat een CSRF-cookie wordt " -"meegestuurd bij het verzenden van formulieren. Dit cookie is om " -"veiligheidsredenen vereist om er zeker van te zijn dat uw browser niet door " -"derden wordt gekaapt." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" -"Als u cookies in uw webbrowser hebt uitgeschakeld, schakel deze dan weer in, " -"op zijn minst voor deze website, of voor ‘same-origin’-aanvragen." - -msgid "More information is available with DEBUG=True." -msgstr "Meer informatie is beschikbaar met DEBUG=True." - -msgid "No year specified" -msgstr "Geen jaar opgegeven" - -msgid "Date out of range" -msgstr "Datum buiten bereik" - -msgid "No month specified" -msgstr "Geen maand opgegeven" - -msgid "No day specified" -msgstr "Geen dag opgegeven" - -msgid "No week specified" -msgstr "Geen week opgegeven" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "Geen %(verbose_name_plural)s beschikbaar" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"Geen toekomstige %(verbose_name_plural)s beschikbaar, omdat %(class_name)s." -"allow_future de waarde False (Onwaar) heeft." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "Ongeldige datumtekst ‘%(datestr)s’ op basis van notatie ‘%(format)s’" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Geen %(verbose_name)s gevonden die voldoet aan de query" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" -"Pagina is niet ‘last’ en kan ook niet naar een geheel getal worden " -"geconverteerd." - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Ongeldige pagina (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "Lege lijst en ‘%(class_name)s.allow_empty’ is False." - -msgid "Directory indexes are not allowed here." -msgstr "Directoryindexen zijn hier niet toegestaan." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "‘%(path)s’ bestaat niet" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Index van %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "Django: het webframework voor perfectionisten met deadlines." - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"Uitgaveopmerkingen voor Django %(version)s " -"weergeven" - -msgid "The install worked successfully! Congratulations!" -msgstr "De installatie is gelukt! Gefeliciteerd!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"U ziet deze pagina, omdat uw instellingenbestand DEBUG=True bevat en u geen URL's hebt geconfigureerd." - -msgid "Django Documentation" -msgstr "Django-documentatie" - -msgid "Topics, references, & how-to’s" -msgstr "Onderwerpen, referenties en instructies" - -msgid "Tutorial: A Polling App" -msgstr "Handleiding: een app voor peilingen" - -msgid "Get started with Django" -msgstr "Beginnen met Django" - -msgid "Django Community" -msgstr "Django-gemeenschap" - -msgid "Connect, get help, or contribute" -msgstr "Contact met anderen, hulp verkrijgen of bijdragen" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/nl/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/nl/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/nl/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/nl/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index e1737430..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/nl/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/nl/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/nl/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 33d93d7d..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/nl/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/nl/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/nl/formats.py deleted file mode 100644 index afadb9f1..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/nl/formats.py +++ /dev/null @@ -1,66 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'j F Y' # '20 januari 2009' -TIME_FORMAT = 'H:i' # '15:23' -DATETIME_FORMAT = 'j F Y H:i' # '20 januari 2009 15:23' -YEAR_MONTH_FORMAT = 'F Y' # 'januari 2009' -MONTH_DAY_FORMAT = 'j F' # '20 januari' -SHORT_DATE_FORMAT = 'j-n-Y' # '20-1-2009' -SHORT_DATETIME_FORMAT = 'j-n-Y H:i' # '20-1-2009 15:23' -FIRST_DAY_OF_WEEK = 1 # Monday (in Dutch 'maandag') - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -DATE_INPUT_FORMATS = [ - '%d-%m-%Y', '%d-%m-%y', # '20-01-2009', '20-01-09' - '%d/%m/%Y', '%d/%m/%y', # '20/01/2009', '20/01/09' - '%Y/%m/%d', # '2009/01/20' - # '%d %b %Y', '%d %b %y', # '20 jan 2009', '20 jan 09' - # '%d %B %Y', '%d %B %y', # '20 januari 2009', '20 januari 09' -] -# Kept ISO formats as one is in first position -TIME_INPUT_FORMATS = [ - '%H:%M:%S', # '15:23:35' - '%H:%M:%S.%f', # '15:23:35.000200' - '%H.%M:%S', # '15.23:35' - '%H.%M:%S.%f', # '15.23:35.000200' - '%H.%M', # '15.23' - '%H:%M', # '15:23' -] -DATETIME_INPUT_FORMATS = [ - # With time in %H:%M:%S : - '%d-%m-%Y %H:%M:%S', '%d-%m-%y %H:%M:%S', '%Y-%m-%d %H:%M:%S', - # '20-01-2009 15:23:35', '20-01-09 15:23:35', '2009-01-20 15:23:35' - '%d/%m/%Y %H:%M:%S', '%d/%m/%y %H:%M:%S', '%Y/%m/%d %H:%M:%S', - # '20/01/2009 15:23:35', '20/01/09 15:23:35', '2009/01/20 15:23:35' - # '%d %b %Y %H:%M:%S', '%d %b %y %H:%M:%S', # '20 jan 2009 15:23:35', '20 jan 09 15:23:35' - # '%d %B %Y %H:%M:%S', '%d %B %y %H:%M:%S', # '20 januari 2009 15:23:35', '20 januari 2009 15:23:35' - # With time in %H:%M:%S.%f : - '%d-%m-%Y %H:%M:%S.%f', '%d-%m-%y %H:%M:%S.%f', '%Y-%m-%d %H:%M:%S.%f', - # '20-01-2009 15:23:35.000200', '20-01-09 15:23:35.000200', '2009-01-20 15:23:35.000200' - '%d/%m/%Y %H:%M:%S.%f', '%d/%m/%y %H:%M:%S.%f', '%Y/%m/%d %H:%M:%S.%f', - # '20/01/2009 15:23:35.000200', '20/01/09 15:23:35.000200', '2009/01/20 15:23:35.000200' - # With time in %H.%M:%S : - '%d-%m-%Y %H.%M:%S', '%d-%m-%y %H.%M:%S', # '20-01-2009 15.23:35', '20-01-09 15.23:35' - '%d/%m/%Y %H.%M:%S', '%d/%m/%y %H.%M:%S', # '20/01/2009 15.23:35', '20/01/09 15.23:35' - # '%d %b %Y %H.%M:%S', '%d %b %y %H.%M:%S', # '20 jan 2009 15.23:35', '20 jan 09 15.23:35' - # '%d %B %Y %H.%M:%S', '%d %B %y %H.%M:%S', # '20 januari 2009 15.23:35', '20 januari 2009 15.23:35' - # With time in %H.%M:%S.%f : - '%d-%m-%Y %H.%M:%S.%f', '%d-%m-%y %H.%M:%S.%f', # '20-01-2009 15.23:35.000200', '20-01-09 15.23:35.000200' - '%d/%m/%Y %H.%M:%S.%f', '%d/%m/%y %H.%M:%S.%f', # '20/01/2009 15.23:35.000200', '20/01/09 15.23:35.000200' - # With time in %H:%M : - '%d-%m-%Y %H:%M', '%d-%m-%y %H:%M', '%Y-%m-%d %H:%M', # '20-01-2009 15:23', '20-01-09 15:23', '2009-01-20 15:23' - '%d/%m/%Y %H:%M', '%d/%m/%y %H:%M', '%Y/%m/%d %H:%M', # '20/01/2009 15:23', '20/01/09 15:23', '2009/01/20 15:23' - # '%d %b %Y %H:%M', '%d %b %y %H:%M', # '20 jan 2009 15:23', '20 jan 09 15:23' - # '%d %B %Y %H:%M', '%d %B %y %H:%M', # '20 januari 2009 15:23', '20 januari 2009 15:23' - # With time in %H.%M : - '%d-%m-%Y %H.%M', '%d-%m-%y %H.%M', # '20-01-2009 15.23', '20-01-09 15.23' - '%d/%m/%Y %H.%M', '%d/%m/%y %H.%M', # '20/01/2009 15.23', '20/01/09 15.23' - # '%d %b %Y %H.%M', '%d %b %y %H.%M', # '20 jan 2009 15.23', '20 jan 09 15.23' - # '%d %B %Y %H.%M', '%d %B %y %H.%M', # '20 januari 2009 15.23', '20 januari 2009 15.23' -] -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = '.' -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/nn/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/nn/LC_MESSAGES/django.mo deleted file mode 100644 index 5629ceae..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/nn/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/nn/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/nn/LC_MESSAGES/django.po deleted file mode 100644 index b95b0b0e..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/nn/LC_MESSAGES/django.po +++ /dev/null @@ -1,1223 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# hgrimelid , 2011 -# Jannis Leidel , 2011 -# jensadne , 2013 -# Sigurd Gartmann , 2012 -# velmont , 2012 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-27 22:40+0200\n" -"PO-Revision-Date: 2019-11-05 00:38+0000\n" -"Last-Translator: Ramiro Morales\n" -"Language-Team: Norwegian Nynorsk (http://www.transifex.com/django/django/" -"language/nn/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nn\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "Afrikaans" -msgstr "Afrikaans" - -msgid "Arabic" -msgstr "Arabisk" - -msgid "Asturian" -msgstr "" - -msgid "Azerbaijani" -msgstr "Aserbajansk" - -msgid "Bulgarian" -msgstr "Bulgarsk" - -msgid "Belarusian" -msgstr "Kviterussisk" - -msgid "Bengali" -msgstr "Bengalsk" - -msgid "Breton" -msgstr "Bretonsk" - -msgid "Bosnian" -msgstr "Bosnisk" - -msgid "Catalan" -msgstr "Katalansk" - -msgid "Czech" -msgstr "Tsjekkisk" - -msgid "Welsh" -msgstr "Walisisk" - -msgid "Danish" -msgstr "Dansk" - -msgid "German" -msgstr "Tysk" - -msgid "Lower Sorbian" -msgstr "" - -msgid "Greek" -msgstr "Gresk" - -msgid "English" -msgstr "Engelsk" - -msgid "Australian English" -msgstr "" - -msgid "British English" -msgstr "Engelsk (britisk)" - -msgid "Esperanto" -msgstr "Esperanto" - -msgid "Spanish" -msgstr "Spansk" - -msgid "Argentinian Spanish" -msgstr "Spansk (argentinsk)" - -msgid "Colombian Spanish" -msgstr "" - -msgid "Mexican Spanish" -msgstr "Spansk (meksikansk)" - -msgid "Nicaraguan Spanish" -msgstr "Spansk (nicaraguansk)" - -msgid "Venezuelan Spanish" -msgstr "Spansk (venezuelansk)" - -msgid "Estonian" -msgstr "Estisk" - -msgid "Basque" -msgstr "Baskisk" - -msgid "Persian" -msgstr "Persisk" - -msgid "Finnish" -msgstr "Finsk" - -msgid "French" -msgstr "Fransk" - -msgid "Frisian" -msgstr "Frisisk" - -msgid "Irish" -msgstr "Irsk" - -msgid "Scottish Gaelic" -msgstr "" - -msgid "Galician" -msgstr "Galisisk" - -msgid "Hebrew" -msgstr "Hebraisk" - -msgid "Hindi" -msgstr "Hindi" - -msgid "Croatian" -msgstr "Kroatisk" - -msgid "Upper Sorbian" -msgstr "" - -msgid "Hungarian" -msgstr "Ungarsk" - -msgid "Armenian" -msgstr "" - -msgid "Interlingua" -msgstr "" - -msgid "Indonesian" -msgstr "Indonesisk" - -msgid "Ido" -msgstr "" - -msgid "Icelandic" -msgstr "Islandsk" - -msgid "Italian" -msgstr "Italiensk" - -msgid "Japanese" -msgstr "Japansk" - -msgid "Georgian" -msgstr "Georgisk" - -msgid "Kabyle" -msgstr "" - -msgid "Kazakh" -msgstr "Kasakhisk" - -msgid "Khmer" -msgstr "Khmer" - -msgid "Kannada" -msgstr "Kannada" - -msgid "Korean" -msgstr "Koreansk" - -msgid "Luxembourgish" -msgstr "Luxembourgsk" - -msgid "Lithuanian" -msgstr "Litauisk" - -msgid "Latvian" -msgstr "Latvisk" - -msgid "Macedonian" -msgstr "Makedonsk" - -msgid "Malayalam" -msgstr "Malayalam" - -msgid "Mongolian" -msgstr "Mongolsk" - -msgid "Marathi" -msgstr "" - -msgid "Burmese" -msgstr "Burmesisk" - -msgid "Norwegian Bokmål" -msgstr "" - -msgid "Nepali" -msgstr "Nepali" - -msgid "Dutch" -msgstr "Nederlandsk" - -msgid "Norwegian Nynorsk" -msgstr "Norsk (nynorsk)" - -msgid "Ossetic" -msgstr "Ossetisk" - -msgid "Punjabi" -msgstr "Punjabi" - -msgid "Polish" -msgstr "Polsk" - -msgid "Portuguese" -msgstr "Portugisisk" - -msgid "Brazilian Portuguese" -msgstr "Brasiliansk portugisisk" - -msgid "Romanian" -msgstr "Rumensk" - -msgid "Russian" -msgstr "Russisk" - -msgid "Slovak" -msgstr "Slovakisk" - -msgid "Slovenian" -msgstr "Slovensk" - -msgid "Albanian" -msgstr "Albansk" - -msgid "Serbian" -msgstr "Serbisk" - -msgid "Serbian Latin" -msgstr "Serbisk latin" - -msgid "Swedish" -msgstr "Svensk" - -msgid "Swahili" -msgstr "Swahili" - -msgid "Tamil" -msgstr "Tamil" - -msgid "Telugu" -msgstr "Telugu" - -msgid "Thai" -msgstr "Thai" - -msgid "Turkish" -msgstr "Tyrkisk" - -msgid "Tatar" -msgstr "Tatarisk" - -msgid "Udmurt" -msgstr "Udmurtisk" - -msgid "Ukrainian" -msgstr "Ukrainsk" - -msgid "Urdu" -msgstr "Urdu" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "Vietnamesisk" - -msgid "Simplified Chinese" -msgstr "Simplifisert kinesisk" - -msgid "Traditional Chinese" -msgstr "Tradisjonell kinesisk" - -msgid "Messages" -msgstr "" - -msgid "Site Maps" -msgstr "" - -msgid "Static Files" -msgstr "" - -msgid "Syndication" -msgstr "" - -msgid "That page number is not an integer" -msgstr "" - -msgid "That page number is less than 1" -msgstr "" - -msgid "That page contains no results" -msgstr "" - -msgid "Enter a valid value." -msgstr "Oppgje ein gyldig verdi." - -msgid "Enter a valid URL." -msgstr "Oppgje ei gyldig nettadresse." - -msgid "Enter a valid integer." -msgstr "" - -msgid "Enter a valid email address." -msgstr "Oppgje ei gyldig e-postadresse." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "Oppgje ei gyldig IPv4-adresse." - -msgid "Enter a valid IPv6 address." -msgstr "Skriv inn ei gyldig IPv6-adresse." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Skriv inn ei gyldig IPv4- eller IPv6-adresse." - -msgid "Enter only digits separated by commas." -msgstr "Oppgje berre tall skild med komma." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "Verdien må minimum ha %(limit_value)s teikn (den er %(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Verdien må vere mindre enn eller lik %(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Verdien må vere større enn eller lik %(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "Verdien må ha minst %(limit_value)d teikn (den har %(show_value)d)." -msgstr[1] "Verdien må ha minst %(limit_value)d teikn (den har %(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" - -msgid "Enter a number." -msgstr "Oppgje eit tall." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "" - -msgid "and" -msgstr "og" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "" - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "" - -msgid "This field cannot be null." -msgstr "Feltet kan ikkje vere tomt." - -msgid "This field cannot be blank." -msgstr "Feltet kan ikkje vere tomt." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s med %(field_label)s fins allereie." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Felt av typen: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "Boolsk (True eller False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Tekst (opp til %(max_length)s teikn)" - -msgid "Comma-separated integers" -msgstr "Heiltal skild med komma" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "Dato (utan tid)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "Dato (med tid)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "Desimaltall" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "" - -msgid "Email address" -msgstr "E-postadresse" - -msgid "File path" -msgstr "Filsti" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "Flyttall" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "Heiltal" - -msgid "Big (8 byte) integer" -msgstr "Stort (8 bitar) heiltal" - -msgid "IPv4 address" -msgstr "IPv4-adresse" - -msgid "IP address" -msgstr "IP-adresse" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "Boolsk (True, False eller None)" - -msgid "Positive integer" -msgstr "Positivt heiltal" - -msgid "Positive small integer" -msgstr "Positivt lite heiltal" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Slug (opp til %(max_length)s)" - -msgid "Small integer" -msgstr "Lite heiltal" - -msgid "Text" -msgstr "Tekst" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "Tid" - -msgid "URL" -msgstr "Nettadresse" - -msgid "Raw binary data" -msgstr "" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "" - -msgid "File" -msgstr "Fil" - -msgid "Image" -msgstr "Bilete" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "" - -msgid "Foreign Key (type determined by related field)" -msgstr "Primærnøkkel (type bestemt av relatert felt)" - -msgid "One-to-one relationship" -msgstr "Ein-til-ein-forhold" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "" - -msgid "Many-to-many relationship" -msgstr "Mange-til-mange-forhold" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr "" - -msgid "This field is required." -msgstr "Feltet er påkravd." - -msgid "Enter a whole number." -msgstr "Oppgje eit heiltall." - -msgid "Enter a valid date." -msgstr "Oppgje ein gyldig dato." - -msgid "Enter a valid time." -msgstr "Oppgje eit gyldig tidspunkt." - -msgid "Enter a valid date/time." -msgstr "Oppgje gyldig dato og tidspunkt." - -msgid "Enter a valid duration." -msgstr "" - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "" - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Inga fil vart sendt. Sjekk \"encoding\"-typen på skjemaet." - -msgid "No file was submitted." -msgstr "Inga fil vart sendt." - -msgid "The submitted file is empty." -msgstr "Fila er tom." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -msgstr[1] "" - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "Last enten opp ei fil eller huk av i avkryssingsboksen." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Last opp eit gyldig bilete. Fila du lasta opp var ødelagt eller ikkje eit " -"bilete." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "" -"Velg eit gyldig valg. %(value)s er ikkje eit av dei tilgjengelege valga." - -msgid "Enter a list of values." -msgstr "Oppgje ei liste med verdiar." - -msgid "Enter a complete value." -msgstr "" - -msgid "Enter a valid UUID." -msgstr "" - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr "" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "" -msgstr[1] "" - -msgid "Order" -msgstr "Rekkefølge" - -msgid "Delete" -msgstr "Slett" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Korriger dupliserte data for %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "Korriger dupliserte data for %(field)s, som må vere unike." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Korriger dupliserte data for %(field_name)s, som må vere unike for " -"%(lookup)s i %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "Korriger dei dupliserte verdiane nedanfor." - -msgid "The inline value did not match the parent instance." -msgstr "" - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "Velg eit gyldig valg. Valget er ikkje eit av dei tilgjengelege valga." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "Tøm" - -msgid "Currently" -msgstr "Noverande" - -msgid "Change" -msgstr "Endre" - -msgid "Unknown" -msgstr "Ukjend" - -msgid "Yes" -msgstr "Ja" - -msgid "No" -msgstr "Nei" - -msgid "Year" -msgstr "" - -msgid "Month" -msgstr "" - -msgid "Day" -msgstr "" - -msgid "yes,no,maybe" -msgstr "ja,nei,kanskje" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d byte" -msgstr[1] "%(size)d bytes" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "p.m." - -msgid "a.m." -msgstr "a.m." - -msgid "PM" -msgstr "PM" - -msgid "AM" -msgstr "AM" - -msgid "midnight" -msgstr "midnatt" - -msgid "noon" -msgstr "12:00" - -msgid "Monday" -msgstr "måndag" - -msgid "Tuesday" -msgstr "tysdag" - -msgid "Wednesday" -msgstr "onsdag" - -msgid "Thursday" -msgstr "torsdag" - -msgid "Friday" -msgstr "fredag" - -msgid "Saturday" -msgstr "laurdag" - -msgid "Sunday" -msgstr "søndag" - -msgid "Mon" -msgstr "man" - -msgid "Tue" -msgstr "tys" - -msgid "Wed" -msgstr "ons" - -msgid "Thu" -msgstr "tor" - -msgid "Fri" -msgstr "fre" - -msgid "Sat" -msgstr "lau" - -msgid "Sun" -msgstr "søn" - -msgid "January" -msgstr "januar" - -msgid "February" -msgstr "februar" - -msgid "March" -msgstr "mars" - -msgid "April" -msgstr "april" - -msgid "May" -msgstr "mai" - -msgid "June" -msgstr "juni" - -msgid "July" -msgstr "juli" - -msgid "August" -msgstr "august" - -msgid "September" -msgstr "september" - -msgid "October" -msgstr "oktober" - -msgid "November" -msgstr "november" - -msgid "December" -msgstr "desember" - -msgid "jan" -msgstr "jan" - -msgid "feb" -msgstr "feb" - -msgid "mar" -msgstr "mars" - -msgid "apr" -msgstr "april" - -msgid "may" -msgstr "mai" - -msgid "jun" -msgstr "juni" - -msgid "jul" -msgstr "juli" - -msgid "aug" -msgstr "aug" - -msgid "sep" -msgstr "sep" - -msgid "oct" -msgstr "okt" - -msgid "nov" -msgstr "nov" - -msgid "dec" -msgstr "des" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "jan." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "feb." - -msgctxt "abbrev. month" -msgid "March" -msgstr "mars" - -msgctxt "abbrev. month" -msgid "April" -msgstr "april" - -msgctxt "abbrev. month" -msgid "May" -msgstr "mai" - -msgctxt "abbrev. month" -msgid "June" -msgstr "juni" - -msgctxt "abbrev. month" -msgid "July" -msgstr "juli" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "aug." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "sep." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "okt." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "nov." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "des." - -msgctxt "alt. month" -msgid "January" -msgstr "Januar" - -msgctxt "alt. month" -msgid "February" -msgstr "Februar" - -msgctxt "alt. month" -msgid "March" -msgstr "Mars" - -msgctxt "alt. month" -msgid "April" -msgstr "April" - -msgctxt "alt. month" -msgid "May" -msgstr "Mai" - -msgctxt "alt. month" -msgid "June" -msgstr "Juni" - -msgctxt "alt. month" -msgid "July" -msgstr "Juli" - -msgctxt "alt. month" -msgid "August" -msgstr "August" - -msgctxt "alt. month" -msgid "September" -msgstr "September" - -msgctxt "alt. month" -msgid "October" -msgstr "Oktober" - -msgctxt "alt. month" -msgid "November" -msgstr "November" - -msgctxt "alt. month" -msgid "December" -msgstr "Desember" - -msgid "This is not a valid IPv6 address." -msgstr "" - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "" - -msgid "or" -msgstr "eller" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d år" -msgstr[1] "%d år" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d månad" -msgstr[1] "%d månader" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d veke" -msgstr[1] "%d veker" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d dag" -msgstr[1] "%d dagar" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d time" -msgstr[1] "%d timar" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "" -msgstr[1] "" - -msgid "0 minutes" -msgstr "0 minutt" - -msgid "Forbidden" -msgstr "" - -msgid "CSRF verification failed. Request aborted." -msgstr "" - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "" - -msgid "No year specified" -msgstr "Årstal ikkje spesifisert" - -msgid "Date out of range" -msgstr "" - -msgid "No month specified" -msgstr "Månad ikkje spesifisert" - -msgid "No day specified" -msgstr "Dag ikkje spesifisert" - -msgid "No week specified" -msgstr "Veke ikkje spesifisert" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "%(verbose_name_plural)s tilgjengeleg" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"Framtidig %(verbose_name_plural)s er ikkje tilgjengeleg fordi %(class_name)s." -"allow_future er sett til False." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Fann ingen %(verbose_name)s som korresponderte med spørringa" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "Mappeindeksar er ikkje tillate her." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Indeks for %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" - -msgid "The install worked successfully! Congratulations!" -msgstr "" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" - -msgid "Django Documentation" -msgstr "" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "" - -msgid "Get started with Django" -msgstr "" - -msgid "Django Community" -msgstr "" - -msgid "Connect, get help, or contribute" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/nn/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/nn/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/nn/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/nn/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index a97cba1c..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/nn/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/nn/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/nn/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 7215722f..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/nn/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/nn/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/nn/formats.py deleted file mode 100644 index 91dd9e6b..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/nn/formats.py +++ /dev/null @@ -1,36 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'j. F Y' -TIME_FORMAT = 'H:i' -DATETIME_FORMAT = 'j. F Y H:i' -YEAR_MONTH_FORMAT = 'F Y' -MONTH_DAY_FORMAT = 'j. F' -SHORT_DATE_FORMAT = 'd.m.Y' -SHORT_DATETIME_FORMAT = 'd.m.Y H:i' -FIRST_DAY_OF_WEEK = 1 # Monday - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -# Kept ISO formats as they are in first position -DATE_INPUT_FORMATS = [ - '%Y-%m-%d', '%d.%m.%Y', '%d.%m.%y', # '2006-10-25', '25.10.2006', '25.10.06' - # '%d. %b %Y', '%d %b %Y', # '25. okt 2006', '25 okt 2006' - # '%d. %b. %Y', '%d %b. %Y', # '25. okt. 2006', '25 okt. 2006' - # '%d. %B %Y', '%d %B %Y', # '25. oktober 2006', '25 oktober 2006' -] -DATETIME_INPUT_FORMATS = [ - '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59' - '%Y-%m-%d %H:%M:%S.%f', # '2006-10-25 14:30:59.000200' - '%Y-%m-%d %H:%M', # '2006-10-25 14:30' - '%d.%m.%Y %H:%M:%S', # '25.10.2006 14:30:59' - '%d.%m.%Y %H:%M:%S.%f', # '25.10.2006 14:30:59.000200' - '%d.%m.%Y %H:%M', # '25.10.2006 14:30' - '%d.%m.%y %H:%M:%S', # '25.10.06 14:30:59' - '%d.%m.%y %H:%M:%S.%f', # '25.10.06 14:30:59.000200' - '%d.%m.%y %H:%M', # '25.10.06 14:30' -] -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = '\xa0' # non-breaking space -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/os/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/os/LC_MESSAGES/django.mo deleted file mode 100644 index b17907ef..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/os/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/os/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/os/LC_MESSAGES/django.po deleted file mode 100644 index f3badb7c..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/os/LC_MESSAGES/django.po +++ /dev/null @@ -1,1235 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Soslan Khubulov , 2013 -# Soslan Khubulov , 2013 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-27 22:40+0200\n" -"PO-Revision-Date: 2019-11-05 00:38+0000\n" -"Last-Translator: Ramiro Morales\n" -"Language-Team: Ossetic (http://www.transifex.com/django/django/language/" -"os/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: os\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "Afrikaans" -msgstr "Африкаанс" - -msgid "Arabic" -msgstr "Араббаг" - -msgid "Asturian" -msgstr "" - -msgid "Azerbaijani" -msgstr "Тӕтӕйраг" - -msgid "Bulgarian" -msgstr "Болгайраг" - -msgid "Belarusian" -msgstr "Беларусаг" - -msgid "Bengali" -msgstr "Бенгалаг" - -msgid "Breton" -msgstr "Бретойнаг" - -msgid "Bosnian" -msgstr "Босниаг" - -msgid "Catalan" -msgstr "Каталайнаг" - -msgid "Czech" -msgstr "Чехаг" - -msgid "Welsh" -msgstr "Уельсаг" - -msgid "Danish" -msgstr "Даниаг" - -msgid "German" -msgstr "Немыцаг" - -msgid "Lower Sorbian" -msgstr "" - -msgid "Greek" -msgstr "Грекъаг" - -msgid "English" -msgstr "Англисаг" - -msgid "Australian English" -msgstr "" - -msgid "British English" -msgstr "Бритайнаг англисаг" - -msgid "Esperanto" -msgstr "Есперанто" - -msgid "Spanish" -msgstr "Испайнаг" - -msgid "Argentinian Spanish" -msgstr "Аргентинаг испайнаг" - -msgid "Colombian Spanish" -msgstr "" - -msgid "Mexican Spanish" -msgstr "Мексикайнаг Испайнаг" - -msgid "Nicaraguan Spanish" -msgstr "Никарагуайаг испайнаг" - -msgid "Venezuelan Spanish" -msgstr "Венесуелаг испайнаг" - -msgid "Estonian" -msgstr "Эстойнаг" - -msgid "Basque" -msgstr "Баскаг" - -msgid "Persian" -msgstr "Персайнаг" - -msgid "Finnish" -msgstr "Финнаг" - -msgid "French" -msgstr "Францаг" - -msgid "Frisian" -msgstr "Фризаг" - -msgid "Irish" -msgstr "Ирландиаг" - -msgid "Scottish Gaelic" -msgstr "" - -msgid "Galician" -msgstr "Галициаг" - -msgid "Hebrew" -msgstr "Иврит" - -msgid "Hindi" -msgstr "Хинди" - -msgid "Croatian" -msgstr "Хорватаг" - -msgid "Upper Sorbian" -msgstr "" - -msgid "Hungarian" -msgstr "Венгриаг" - -msgid "Armenian" -msgstr "" - -msgid "Interlingua" -msgstr "Интерлингва" - -msgid "Indonesian" -msgstr "Индонезиаг" - -msgid "Ido" -msgstr "" - -msgid "Icelandic" -msgstr "Исландаг" - -msgid "Italian" -msgstr "Италиаг" - -msgid "Japanese" -msgstr "Япойнаг" - -msgid "Georgian" -msgstr "Гуырдзиаг" - -msgid "Kabyle" -msgstr "" - -msgid "Kazakh" -msgstr "Казахаг" - -msgid "Khmer" -msgstr "Хмераг" - -msgid "Kannada" -msgstr "Каннадаг" - -msgid "Korean" -msgstr "Корейаг" - -msgid "Luxembourgish" -msgstr "Люксембургаг" - -msgid "Lithuanian" -msgstr "Литвайаг" - -msgid "Latvian" -msgstr "Латвийаг" - -msgid "Macedonian" -msgstr "Мӕчъидон" - -msgid "Malayalam" -msgstr "Малайаг" - -msgid "Mongolian" -msgstr "Монголиаг" - -msgid "Marathi" -msgstr "" - -msgid "Burmese" -msgstr "Бурмизаг" - -msgid "Norwegian Bokmål" -msgstr "" - -msgid "Nepali" -msgstr "Непалаг" - -msgid "Dutch" -msgstr "Нидерландаг" - -msgid "Norwegian Nynorsk" -msgstr "Норвегийаг Нинорск" - -msgid "Ossetic" -msgstr "Ирон" - -msgid "Punjabi" -msgstr "Пенджабаг" - -msgid "Polish" -msgstr "Полаг" - -msgid "Portuguese" -msgstr "Португалаг" - -msgid "Brazilian Portuguese" -msgstr "Бразилаг португалаг" - -msgid "Romanian" -msgstr "Румынаг" - -msgid "Russian" -msgstr "Уырыссаг" - -msgid "Slovak" -msgstr "Словакиаг" - -msgid "Slovenian" -msgstr "Словенаг" - -msgid "Albanian" -msgstr "Албайнаг" - -msgid "Serbian" -msgstr "Сербаг" - -msgid "Serbian Latin" -msgstr "Латинаг Сербаг" - -msgid "Swedish" -msgstr "Шведаг" - -msgid "Swahili" -msgstr "Суахили" - -msgid "Tamil" -msgstr "Тамилаг" - -msgid "Telugu" -msgstr "Телугу" - -msgid "Thai" -msgstr "Тайаг" - -msgid "Turkish" -msgstr "Туркаг" - -msgid "Tatar" -msgstr "Тӕтӕйраг" - -msgid "Udmurt" -msgstr "Удмуртаг" - -msgid "Ukrainian" -msgstr "Украинаг" - -msgid "Urdu" -msgstr "Урду" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "Вьетнамаг" - -msgid "Simplified Chinese" -msgstr "Ӕнцонгонд Китайаг" - -msgid "Traditional Chinese" -msgstr "Традицион Китайаг" - -msgid "Messages" -msgstr "" - -msgid "Site Maps" -msgstr "" - -msgid "Static Files" -msgstr "" - -msgid "Syndication" -msgstr "" - -msgid "That page number is not an integer" -msgstr "" - -msgid "That page number is less than 1" -msgstr "" - -msgid "That page contains no results" -msgstr "" - -msgid "Enter a valid value." -msgstr "Раст бӕрц бафысс." - -msgid "Enter a valid URL." -msgstr "Раст URL бафысс." - -msgid "Enter a valid integer." -msgstr "" - -msgid "Enter a valid email address." -msgstr "Раст email адрис бафысс." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "Раст IPv4 адрис бафысс." - -msgid "Enter a valid IPv6 address." -msgstr "Раст IPv6 адрис бафысс." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Раст IPv4 кӕнӕ IPv6 адрис бафысс." - -msgid "Enter only digits separated by commas." -msgstr "Бафысс ӕрмӕст нымӕцтӕ, къӕдзгуытӕй дихгонд." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "Ацы бӕрц хъуамӕ уа %(limit_value)s (у %(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Ацы бӕрц хъуамӕ уа %(limit_value)s, кӕнӕ цъусдӕр." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Ацы бӕрц хъуамӕ уа %(limit_value)s, кӕнӕ цъусдӕр." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Дӕ хъус бадар цӕмӕй ам %(limit_value)d дамгъӕ уӕддӕр уа (ис дзы " -"%(show_value)d)." -msgstr[1] "" -"Дӕ хъус бадар цӕмӕй ам %(limit_value)d дамгъӕйы уӕддӕр уа (ис дзы " -"%(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Дӕ хъус бадар цӕмӕй ам %(limit_value)d дамгъӕйӕ фылдӕр ма уа (ис дзы " -"%(show_value)d)." -msgstr[1] "" -"Дӕ хъус бадар цӕмӕй ам %(limit_value)d дамгъӕйӕ фылдӕр ма уа (ис дзы " -"%(show_value)d)." - -msgid "Enter a number." -msgstr "Бафысс нымӕц." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Дӕ хъус бадар цӕмӕй иууыл иумӕ %(max)s цифрӕйӕ фылдӕр уой." -msgstr[1] "Дӕ хъус бадар цӕмӕй иууыл иумӕ %(max)s цифрӕйӕ фылдӕр уой." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "Дӕ хъус бадар цӕмӕй дӕсон бынӕттӕ %(max)s-ӕй фылдӕр ма уой." -msgstr[1] "Дӕ хъус бадар цӕмӕй дӕсон бынӕттӕ %(max)s-ӕй фылдӕр ма уой." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -"Дӕ хъус бадар цӕмӕй дӕсон стъӕлфы размӕ %(max)s цифрӕйӕ фылдӕр ма уа." -msgstr[1] "" -"Дӕ хъус бадар цӕмӕй дӕсон стъӕлфы размӕ %(max)s цифрӕйӕ фылдӕр ма уа." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "" - -msgid "and" -msgstr "ӕмӕ" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "" - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "" - -msgid "This field cannot be null." -msgstr "Ацы быдыр нул ма хъуамӕ уа." - -msgid "This field cannot be blank." -msgstr "Ацы быдыр афтид ма хъуамӕ уа." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s ацы %(field_label)s-имӕ нырид ис." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Быдыры хуыз: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "Булон (Бӕлвырд кӕнӕ Мӕнг)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Рӕнхъ (%(max_length)s-ы йонг)" - -msgid "Comma-separated integers" -msgstr "Къӕдзыгӕй хицӕнгонд ӕгас нымӕцтӕ" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "Бон (ӕнӕ рӕстӕг)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "Бон (ӕд рӕстӕг)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "Дӕсон нымӕц" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "" - -msgid "Email address" -msgstr "Электрон посты адрис" - -msgid "File path" -msgstr "Файлы фӕт" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "Уӕгъд стъӕлфимӕ нымӕц" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "Ӕгас нымӕц" - -msgid "Big (8 byte) integer" -msgstr "Стыр (8 байты) ӕгас нымӕц" - -msgid "IPv4 address" -msgstr "IPv4 адрис" - -msgid "IP address" -msgstr "IP адрис" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "Булон (Бӕлвырд, Мӕнг кӕнӕ Ницы)" - -msgid "Positive integer" -msgstr "Позитивон ӕгас нымӕц" - -msgid "Positive small integer" -msgstr "Позитивон гыццыл ӕгас нымӕц" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Слаг (ӕппӕты фылдӕр %(max_length)s)" - -msgid "Small integer" -msgstr "Гыццыл ӕгас нымӕц" - -msgid "Text" -msgstr "Текст" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "Рӕстӕг" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Хом бинарон рардтӕ" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "" - -msgid "File" -msgstr "Файл" - -msgid "Image" -msgstr "Ныв" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "" - -msgid "Foreign Key (type determined by related field)" -msgstr "Ӕттагон Амонӕн (хӕстӕг быдырӕй бӕрӕггонд хуыз)" - -msgid "One-to-one relationship" -msgstr "Иуӕн-иу бастдзинад" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "" - -msgid "Many-to-many relationship" -msgstr "Бирӕйӕн-бирӕ бастдзинад" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr "" - -msgid "This field is required." -msgstr "Ацы быдыр ӕнӕмӕнг у." - -msgid "Enter a whole number." -msgstr "Бафысс ӕнӕхъӕн нымӕц." - -msgid "Enter a valid date." -msgstr "Раст бон бафысс." - -msgid "Enter a valid time." -msgstr "Раст рӕстӕг бафысс." - -msgid "Enter a valid date/time." -msgstr "Раст бон/рӕстӕг бафысс." - -msgid "Enter a valid duration." -msgstr "" - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "" - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Ницы файл уыд лӕвӕрд. Абӕрӕг кӕн формӕйы кодкӕнынады хуыз." - -msgid "No file was submitted." -msgstr "Ницы файл уыд лӕвӕрд." - -msgid "The submitted file is empty." -msgstr "Лӕвӕрд файл афтид у." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Дӕ хъус бадар цӕмӕй ацы файлы номы %(max)d дамгъӕйӕ фылдӕр ма уа(ис дзы " -"%(length)d)." -msgstr[1] "" -"Дӕ хъус бадар цӕмӕй ацы файлы номы %(max)d дамгъӕйӕ фылдӕр ма уа(ис дзы " -"%(length)d)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" -"Дӕ хорзӕхӕй, кӕнӕ бадӕтт файл, кӕнӕ банысан кӕн сыгъдӕг чекбокс. Дыууӕ иумӕ " -"нӕ." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Раст ныв бавгӕн. Ды цы файл бавгӕдтай, уый кӕнӕ ныв нӕ уыд, кӕнӕ хӕлд ныв " -"уыд." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "Раст фадат равзар. %(value)s фадӕтты ӕхсӕн нӕй." - -msgid "Enter a list of values." -msgstr "Бафысс мидисты номхыгъд." - -msgid "Enter a complete value." -msgstr "" - -msgid "Enter a valid UUID." -msgstr "" - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr "" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Ӕмбӕхст быдыр %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "" -msgstr[1] "" - -msgid "Order" -msgstr "Рад" - -msgid "Delete" -msgstr "Схафын" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Дӕ хорзӕхӕй, %(field)s-ы дывӕр рардтӕ сраст кӕн." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "Дӕ хорзӕхӕй, %(field)s-ы дывӕр рардтӕ сраст кӕн. Хъуамӕ уникалон уа." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Дӕ хорзӕхӕй, %(field_name)s-ы дывӕр рардтӕ сраст кӕн. Хъуамӕ %(date_field)s-" -"ы %(lookup)s-ӕн уникалон уа. " - -msgid "Please correct the duplicate values below." -msgstr "Дӕ хорзӕхӕй, бындӕр цы дывӕр рардтӕ ис, уыдон сраст кӕн." - -msgid "The inline value did not match the parent instance." -msgstr "" - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "Раст фадат равзар. УКыцы фадат фадӕтты ӕхсӕн нӕй." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "Сыгъдӕг" - -msgid "Currently" -msgstr "Ныр" - -msgid "Change" -msgstr "Фӕивын" - -msgid "Unknown" -msgstr "Ӕнӕбӕрӕг" - -msgid "Yes" -msgstr "О" - -msgid "No" -msgstr "Нӕ" - -msgid "Year" -msgstr "" - -msgid "Month" -msgstr "" - -msgid "Day" -msgstr "" - -msgid "yes,no,maybe" -msgstr "о,нӕ,гӕнӕн ис" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d байт" -msgstr[1] "%(size)d байты" - -#, python-format -msgid "%s KB" -msgstr "%s КБ" - -#, python-format -msgid "%s MB" -msgstr "%s МБ" - -#, python-format -msgid "%s GB" -msgstr "%s ГБ" - -#, python-format -msgid "%s TB" -msgstr "%s ТБ" - -#, python-format -msgid "%s PB" -msgstr "%s ПБ" - -msgid "p.m." -msgstr "ӕ.ф." - -msgid "a.m." -msgstr "ӕ.р." - -msgid "PM" -msgstr "ӔФ" - -msgid "AM" -msgstr "ӔР" - -msgid "midnight" -msgstr "ӕмбисӕхсӕв" - -msgid "noon" -msgstr "ӕмбисбон" - -msgid "Monday" -msgstr "Къуырисӕр" - -msgid "Tuesday" -msgstr "Дыццӕг" - -msgid "Wednesday" -msgstr "Ӕртыццӕг" - -msgid "Thursday" -msgstr "Цыппӕрӕм" - -msgid "Friday" -msgstr "Майрӕмбон" - -msgid "Saturday" -msgstr "Сабат" - -msgid "Sunday" -msgstr "Хуыцаубон" - -msgid "Mon" -msgstr "Крс" - -msgid "Tue" -msgstr "Дцг" - -msgid "Wed" -msgstr "Ӕрт" - -msgid "Thu" -msgstr "Цпр" - -msgid "Fri" -msgstr "Мрб" - -msgid "Sat" -msgstr "Сбт" - -msgid "Sun" -msgstr "Хцб" - -msgid "January" -msgstr "Январь" - -msgid "February" -msgstr "Февраль" - -msgid "March" -msgstr "Мартъи" - -msgid "April" -msgstr "Апрель" - -msgid "May" -msgstr "Май" - -msgid "June" -msgstr "Июнь" - -msgid "July" -msgstr "Июль" - -msgid "August" -msgstr "Август" - -msgid "September" -msgstr "Сентябрь" - -msgid "October" -msgstr "Октябрь" - -msgid "November" -msgstr "Ноябрь" - -msgid "December" -msgstr "Декабрь" - -msgid "jan" -msgstr "янв" - -msgid "feb" -msgstr "фев" - -msgid "mar" -msgstr "мар" - -msgid "apr" -msgstr "апр" - -msgid "may" -msgstr "май" - -msgid "jun" -msgstr "июн" - -msgid "jul" -msgstr "июл" - -msgid "aug" -msgstr "авг" - -msgid "sep" -msgstr "сен" - -msgid "oct" -msgstr "окт" - -msgid "nov" -msgstr "ноя" - -msgid "dec" -msgstr "дек" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Янв." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Фев." - -msgctxt "abbrev. month" -msgid "March" -msgstr "Мартъи" - -msgctxt "abbrev. month" -msgid "April" -msgstr "Апрель" - -msgctxt "abbrev. month" -msgid "May" -msgstr "Май" - -msgctxt "abbrev. month" -msgid "June" -msgstr "Июнь" - -msgctxt "abbrev. month" -msgid "July" -msgstr "Июль" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Авг." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Сен." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Окт." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Ноя." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Дек." - -msgctxt "alt. month" -msgid "January" -msgstr "Январь" - -msgctxt "alt. month" -msgid "February" -msgstr "Февраль" - -msgctxt "alt. month" -msgid "March" -msgstr "Мартъи" - -msgctxt "alt. month" -msgid "April" -msgstr "Апрель" - -msgctxt "alt. month" -msgid "May" -msgstr "Май" - -msgctxt "alt. month" -msgid "June" -msgstr "Июнь" - -msgctxt "alt. month" -msgid "July" -msgstr "Июль" - -msgctxt "alt. month" -msgid "August" -msgstr "Август" - -msgctxt "alt. month" -msgid "September" -msgstr "Сентябрь" - -msgctxt "alt. month" -msgid "October" -msgstr "Октябрь" - -msgctxt "alt. month" -msgid "November" -msgstr "Ноябрь" - -msgctxt "alt. month" -msgid "December" -msgstr "Декабрь" - -msgid "This is not a valid IPv6 address." -msgstr "" - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "" - -msgid "or" -msgstr "кӕнӕ" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d аз" -msgstr[1] "%d азы" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d мӕй" -msgstr[1] "%d мӕйы" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d къуыри" -msgstr[1] "%d къуырийы" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d бон" -msgstr[1] "%d боны" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d сахат" -msgstr[1] "%d сахаты" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d минут" -msgstr[1] "%d минуты" - -msgid "0 minutes" -msgstr "0 минуты" - -msgid "Forbidden" -msgstr "" - -msgid "CSRF verification failed. Request aborted." -msgstr "" - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "" - -msgid "No year specified" -msgstr "Аз амынд нӕ уыд" - -msgid "Date out of range" -msgstr "" - -msgid "No month specified" -msgstr "Мӕй амынд нӕ уыд" - -msgid "No day specified" -msgstr "Бон амынд нӕ уыд" - -msgid "No week specified" -msgstr "Къуыри амынд нӕ уыд" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "Ницы %(verbose_name_plural)s ис" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"Фидӕн %(verbose_name_plural)s-мӕ бавналӕн нӕй, уымӕн ӕмӕ %(class_name)s." -"allow_future Мӕнг у." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Домӕнӕн ницы %(verbose_name)s ӕмбӕлы" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Мӕнг фарс (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "Ам директориты индекстӕ нӕй гӕнӕн." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "%(directory)s-ы индекс" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" - -msgid "The install worked successfully! Congratulations!" -msgstr "" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" - -msgid "Django Documentation" -msgstr "" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "" - -msgid "Get started with Django" -msgstr "" - -msgid "Django Community" -msgstr "" - -msgid "Connect, get help, or contribute" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/pa/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/pa/LC_MESSAGES/django.mo deleted file mode 100644 index a8fa88b4..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/pa/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/pa/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/pa/LC_MESSAGES/django.po deleted file mode 100644 index d71b5f7b..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/pa/LC_MESSAGES/django.po +++ /dev/null @@ -1,1213 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# A S Alam , 2011,2013,2015 -# Jannis Leidel , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-27 22:40+0200\n" -"PO-Revision-Date: 2019-11-05 00:38+0000\n" -"Last-Translator: Ramiro Morales\n" -"Language-Team: Panjabi (Punjabi) (http://www.transifex.com/django/django/" -"language/pa/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pa\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "Afrikaans" -msgstr "ਅਫਰੀਕੀ" - -msgid "Arabic" -msgstr "ਅਰਬੀ" - -msgid "Asturian" -msgstr "" - -msgid "Azerbaijani" -msgstr "ਅਜ਼ਰਬਾਈਜਾਨੀ" - -msgid "Bulgarian" -msgstr "ਬੁਲਗਾਰੀਆਈ" - -msgid "Belarusian" -msgstr "ਬੇਲਾਰੂਸੀ" - -msgid "Bengali" -msgstr "ਬੰਗਾਲੀ" - -msgid "Breton" -msgstr "ਬਰੇਟੋਨ" - -msgid "Bosnian" -msgstr "ਬੋਸਨੀਆਈ" - -msgid "Catalan" -msgstr "ਕਾਟਾਲਾਨ" - -msgid "Czech" -msgstr "ਚੈੱਕ" - -msgid "Welsh" -msgstr "ਵੈਲਸ਼" - -msgid "Danish" -msgstr "ਡੈਨਿਸ਼" - -msgid "German" -msgstr "ਜਰਮਨ" - -msgid "Lower Sorbian" -msgstr "" - -msgid "Greek" -msgstr "ਗਰੀਕ" - -msgid "English" -msgstr "ਅੰਗਰੇਜ਼ੀ" - -msgid "Australian English" -msgstr "" - -msgid "British English" -msgstr "ਬਰਤਾਨੀਵੀਂ ਅੰਗਰੇਜ਼ੀ" - -msgid "Esperanto" -msgstr "" - -msgid "Spanish" -msgstr "ਸਪੇਨੀ" - -msgid "Argentinian Spanish" -msgstr "ਅਰਜਨਟੀਨੀ ਸਪੇਨੀ" - -msgid "Colombian Spanish" -msgstr "" - -msgid "Mexican Spanish" -msgstr "ਮੈਕਸੀਕਨ ਸਪੇਨੀ" - -msgid "Nicaraguan Spanish" -msgstr "" - -msgid "Venezuelan Spanish" -msgstr "" - -msgid "Estonian" -msgstr "ਈਸਟੋਨੀਆਈ" - -msgid "Basque" -msgstr "ਬਸਕਿਊ" - -msgid "Persian" -msgstr "ਪਰਸ਼ੀਆਈ" - -msgid "Finnish" -msgstr "ਫੈਨਿਸ਼" - -msgid "French" -msgstr "ਫਰੈਂਚ" - -msgid "Frisian" -msgstr "ਫ਼ਾਰਸੀ" - -msgid "Irish" -msgstr "ਆਈਰਸ਼" - -msgid "Scottish Gaelic" -msgstr "" - -msgid "Galician" -msgstr "ਗਲੀਸੀਆਈ" - -msgid "Hebrew" -msgstr "ਹੈਬਰਿਊ" - -msgid "Hindi" -msgstr "ਹਿੰਦੀ" - -msgid "Croatian" -msgstr "ਕਰੋਆਟੀਆਈ" - -msgid "Upper Sorbian" -msgstr "" - -msgid "Hungarian" -msgstr "ਹੰਗਰੀਆਈ" - -msgid "Armenian" -msgstr "" - -msgid "Interlingua" -msgstr "" - -msgid "Indonesian" -msgstr "ਇੰਡੋਨੇਸ਼ੀਆਈ" - -msgid "Ido" -msgstr "" - -msgid "Icelandic" -msgstr "ਆਈਸਲੈਂਡਿਕ" - -msgid "Italian" -msgstr "ਇਤਾਲਵੀ" - -msgid "Japanese" -msgstr "ਜਾਪਾਨੀ" - -msgid "Georgian" -msgstr "ਜਾਰਜੀਆਈ" - -msgid "Kabyle" -msgstr "" - -msgid "Kazakh" -msgstr "ਕਜ਼ਾਖ" - -msgid "Khmer" -msgstr "ਖਮੀਰ" - -msgid "Kannada" -msgstr "ਕੰਨੜ" - -msgid "Korean" -msgstr "ਕੋਰੀਆਈ" - -msgid "Luxembourgish" -msgstr "" - -msgid "Lithuanian" -msgstr "ਲੀਥੁਨੀਆਈ" - -msgid "Latvian" -msgstr "ਲਾਟਵੀਅਨ" - -msgid "Macedonian" -msgstr "ਮੈਕਡੋਨੀਆਈ" - -msgid "Malayalam" -msgstr "ਮਲਿਆਲਮ" - -msgid "Mongolian" -msgstr "ਮੰਗੋਲੀਆਈ" - -msgid "Marathi" -msgstr "ਮਰਾਠੀ" - -msgid "Burmese" -msgstr "" - -msgid "Norwegian Bokmål" -msgstr "" - -msgid "Nepali" -msgstr "ਨੇਪਾਲੀ" - -msgid "Dutch" -msgstr "ਡੱਚ" - -msgid "Norwegian Nynorsk" -msgstr "ਨਾਰਵੇਗੀਅਨ ਨਯਨੋਰਸਕ" - -msgid "Ossetic" -msgstr "" - -msgid "Punjabi" -msgstr "ਪੰਜਾਬੀ" - -msgid "Polish" -msgstr "ਪੋਲੈਂਡੀ" - -msgid "Portuguese" -msgstr "ਪੁਰਤਗਾਲੀ" - -msgid "Brazilian Portuguese" -msgstr "ਬਰਾਜ਼ੀਲੀ ਪੁਰਤਗਾਲੀ" - -msgid "Romanian" -msgstr "ਰੋਮਾਨੀਆਈ" - -msgid "Russian" -msgstr "ਰੂਸੀ" - -msgid "Slovak" -msgstr "ਸਲੋਵਾਕ" - -msgid "Slovenian" -msgstr "ਸਲੋਵੀਨੀਆਈ" - -msgid "Albanian" -msgstr "ਅਲਬੀਨੀਆਈ" - -msgid "Serbian" -msgstr "ਸਰਬੀਆਈ" - -msgid "Serbian Latin" -msgstr "ਸਰਬੀਆਈ ਲੈਟਿਨ" - -msgid "Swedish" -msgstr "ਸਵੀਡਨੀ" - -msgid "Swahili" -msgstr "" - -msgid "Tamil" -msgstr "ਤਾਮਿਲ" - -msgid "Telugu" -msgstr "ਤੇਲਗੂ" - -msgid "Thai" -msgstr "ਥਾਈ" - -msgid "Turkish" -msgstr "ਤੁਰਕ" - -msgid "Tatar" -msgstr "ਤਤਾਰ" - -msgid "Udmurt" -msgstr "" - -msgid "Ukrainian" -msgstr "ਯੂਕਰੇਨੀ" - -msgid "Urdu" -msgstr "ਉਰਦੂ" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "ਵੀਅਤਨਾਮੀ" - -msgid "Simplified Chinese" -msgstr "ਸਧਾਰਨ ਚੀਨੀ" - -msgid "Traditional Chinese" -msgstr "ਮੂਲ ਚੀਨੀ" - -msgid "Messages" -msgstr "ਸੁਨੇਹੇ" - -msgid "Site Maps" -msgstr "ਸਾਈਟ ਖਾਕੇ" - -msgid "Static Files" -msgstr "ਸਥਿਰ ਫਾਈਲਾਂ" - -msgid "Syndication" -msgstr "" - -msgid "That page number is not an integer" -msgstr "" - -msgid "That page number is less than 1" -msgstr "" - -msgid "That page contains no results" -msgstr "" - -msgid "Enter a valid value." -msgstr "ਠੀਕ ਮੁੱਲ ਦਿਓ" - -msgid "Enter a valid URL." -msgstr "ਠੀਕ URL ਦਿਉ।" - -msgid "Enter a valid integer." -msgstr "" - -msgid "Enter a valid email address." -msgstr "ਢੁੱਕਵਾਂ ਈਮੇਲ ਸਿਰਨਾਵਾਂ ਦਿਉ ਜੀ।" - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "" - -msgid "Enter a valid IPv6 address." -msgstr "" - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "" - -msgid "Enter only digits separated by commas." -msgstr "" - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "" - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "" - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" - -msgid "Enter a number." -msgstr "ਨੰਬਰ ਦਿਓ।" - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "" - -msgid "and" -msgstr "ਅਤੇ" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "" - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "" - -msgid "This field cannot be null." -msgstr "" - -msgid "This field cannot be blank." -msgstr "ਇਹ ਖੇਤਰ ਖਾਲੀ ਨਹੀਂ ਹੋ ਸਕਦਾ ਹੈ।" - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "" - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "ਖੇਤਰ ਦੀ ਕਿਸਮ: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "" - -msgid "Comma-separated integers" -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "ਮਿਤੀ (ਬਿਨਾਂ ਸਮਾਂ)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "ਮਿਤੀ (ਸਮੇਂ ਨਾਲ)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "ਦਸ਼ਮਲਵ ਅੰਕ" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "ਅੰਤਰਾਲ" - -msgid "Email address" -msgstr "ਈਮੇਲ ਐਡਰੈੱਸ" - -msgid "File path" -msgstr "ਫਾਇਲ ਪਾਥ" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "ਅੰਕ" - -msgid "Big (8 byte) integer" -msgstr "" - -msgid "IPv4 address" -msgstr "IPv4 ਸਿਰਨਾਵਾਂ" - -msgid "IP address" -msgstr "IP ਐਡਰੈੱਸ" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "" - -msgid "Positive integer" -msgstr "" - -msgid "Positive small integer" -msgstr "" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "" - -msgid "Small integer" -msgstr "" - -msgid "Text" -msgstr "ਟੈਕਸਟ" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "ਸਮਾਂ" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "" - -msgid "File" -msgstr "ਫਾਇਲ" - -msgid "Image" -msgstr "ਚਿੱਤਰ" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "" - -msgid "Foreign Key (type determined by related field)" -msgstr "" - -msgid "One-to-one relationship" -msgstr "ਇੱਕ-ਤੋਂ-ਇੱਕ ਸਬੰਧ" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "" - -msgid "Many-to-many relationship" -msgstr "ਕਈ-ਤੋਂ-ਕਈ ਸਬੰਧ" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr "" - -msgid "This field is required." -msgstr "ਇਹ ਖੇਤਰ ਲਾਜ਼ਮੀ ਹੈ।" - -msgid "Enter a whole number." -msgstr "ਪੂਰਨ ਨੰਬਰ ਦਿਉ।" - -msgid "Enter a valid date." -msgstr "ਠੀਕ ਮਿਤੀ ਦਿਓ।" - -msgid "Enter a valid time." -msgstr "ਠੀਕ ਸਮਾਂ ਦਿਓ।" - -msgid "Enter a valid date/time." -msgstr "ਠੀਕ ਮਿਤੀ/ਸਮਾਂ ਦਿਓ।" - -msgid "Enter a valid duration." -msgstr "" - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "" - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "" - -msgid "No file was submitted." -msgstr "ਕੋਈ ਫਾਇਲ ਨਹੀਂ ਭੇਜੀ।" - -msgid "The submitted file is empty." -msgstr "ਦਿੱਤੀ ਫਾਇਲ ਖਾਲੀ ਹੈ।" - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -msgstr[1] "" - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "" - -msgid "Enter a list of values." -msgstr "ਮੁੱਲ ਦੀ ਲਿਸਟ ਦਿਓ।" - -msgid "Enter a complete value." -msgstr "" - -msgid "Enter a valid UUID." -msgstr "" - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "" -msgstr[1] "" - -msgid "Order" -msgstr "ਲੜੀ" - -msgid "Delete" -msgstr "ਹਟਾਓ" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "" - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" - -msgid "Please correct the duplicate values below." -msgstr "" - -msgid "The inline value did not match the parent instance." -msgstr "" - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "ਸਾਫ਼ ਕਰੋ" - -msgid "Currently" -msgstr "ਮੌਜੂਦਾ" - -msgid "Change" -msgstr "ਬਦਲੋ" - -msgid "Unknown" -msgstr "ਅਣਜਾਣ" - -msgid "Yes" -msgstr "ਹਾਂ" - -msgid "No" -msgstr "ਨਹੀਂ" - -msgid "Year" -msgstr "" - -msgid "Month" -msgstr "" - -msgid "Day" -msgstr "" - -msgid "yes,no,maybe" -msgstr "ਹਾਂ,ਨਹੀਂ,ਸ਼ਾਇਦ" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d ਬਾਈਟ" -msgstr[1] "%(size)d ਬਾਈਟ" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "p.m." - -msgid "a.m." -msgstr "a.m." - -msgid "PM" -msgstr "ਸ਼ਾਮ" - -msgid "AM" -msgstr "ਸਵੇਰ" - -msgid "midnight" -msgstr "ਅੱਧੀ-ਰਾਤ" - -msgid "noon" -msgstr "ਨੂਨ" - -msgid "Monday" -msgstr "ਸੋਮਵਾਰ" - -msgid "Tuesday" -msgstr "ਮੰਗਲਵਾਰ" - -msgid "Wednesday" -msgstr "ਬੁੱਧਵਾਰ" - -msgid "Thursday" -msgstr "ਵੀਰਵਾਰ" - -msgid "Friday" -msgstr "ਸ਼ੁੱਕਰਵਾਰ" - -msgid "Saturday" -msgstr "ਸ਼ਨਿੱਚਰਵਾਰ" - -msgid "Sunday" -msgstr "ਐਤਵਾਰ" - -msgid "Mon" -msgstr "ਸੋਮ" - -msgid "Tue" -msgstr "ਮੰਗ" - -msgid "Wed" -msgstr "ਬੁੱਧ" - -msgid "Thu" -msgstr "ਵੀਰ" - -msgid "Fri" -msgstr "ਸ਼ੁੱਕ" - -msgid "Sat" -msgstr "ਸ਼ਨਿੱ" - -msgid "Sun" -msgstr "ਐਤ" - -msgid "January" -msgstr "ਜਨਵਰੀ" - -msgid "February" -msgstr "ਫਰਵਰੀ" - -msgid "March" -msgstr "ਮਾਰਚ" - -msgid "April" -msgstr "ਅਪਰੈਲ" - -msgid "May" -msgstr "ਮਈ" - -msgid "June" -msgstr "ਜੂਨ" - -msgid "July" -msgstr "ਜੁਲਾਈ" - -msgid "August" -msgstr "ਅਗਸਤ" - -msgid "September" -msgstr "ਸਤੰਬਰ" - -msgid "October" -msgstr "ਅਕਤੂਬਰ" - -msgid "November" -msgstr "ਨਵੰਬਰ" - -msgid "December" -msgstr "ਦਸੰਬਰ" - -msgid "jan" -msgstr "ਜਨ" - -msgid "feb" -msgstr "ਫਰ" - -msgid "mar" -msgstr "ਮਾਰ" - -msgid "apr" -msgstr "ਅਪ" - -msgid "may" -msgstr "ਮਈ" - -msgid "jun" -msgstr "ਜੂਨ" - -msgid "jul" -msgstr "ਜੁਲ" - -msgid "aug" -msgstr "ਅਗ" - -msgid "sep" -msgstr "ਸਤੰ" - -msgid "oct" -msgstr "ਅਕ" - -msgid "nov" -msgstr "ਨਵੰ" - -msgid "dec" -msgstr "ਦਸੰ" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "ਜਨ" - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "ਫਰ" - -msgctxt "abbrev. month" -msgid "March" -msgstr "ਮਾਰ" - -msgctxt "abbrev. month" -msgid "April" -msgstr "ਅਪ" - -msgctxt "abbrev. month" -msgid "May" -msgstr "ਮਈ" - -msgctxt "abbrev. month" -msgid "June" -msgstr "ਜੂਨ" - -msgctxt "abbrev. month" -msgid "July" -msgstr "ਜੁਲ" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "ਅਗ" - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "ਸਤੰ" - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "ਅਕਤੂ" - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "ਨਵੰ" - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "ਦਸੰ" - -msgctxt "alt. month" -msgid "January" -msgstr "ਜਨਵਰੀ" - -msgctxt "alt. month" -msgid "February" -msgstr "ਫਰਵਰੀ" - -msgctxt "alt. month" -msgid "March" -msgstr "ਮਾਰਚ" - -msgctxt "alt. month" -msgid "April" -msgstr "ਅਪਰੈਲ" - -msgctxt "alt. month" -msgid "May" -msgstr "ਮਈ" - -msgctxt "alt. month" -msgid "June" -msgstr "ਜੂਨ" - -msgctxt "alt. month" -msgid "July" -msgstr "ਜੁਲਾਈ" - -msgctxt "alt. month" -msgid "August" -msgstr "ਅਗਸਤ" - -msgctxt "alt. month" -msgid "September" -msgstr "ਸਤੰਬਰ" - -msgctxt "alt. month" -msgid "October" -msgstr "ਅਕਤੂਬਰ" - -msgctxt "alt. month" -msgid "November" -msgstr "ਨਵੰਬਰ" - -msgctxt "alt. month" -msgid "December" -msgstr "ਦਸੰਬਰ" - -msgid "This is not a valid IPv6 address." -msgstr "" - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "" - -msgid "or" -msgstr "ਜਾਂ" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr "," - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d ਸਾਲ" -msgstr[1] "%d ਸਾਲ" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d ਮਹੀਨਾ" -msgstr[1] "%d ਮਹੀਨੇ" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d ਹਫ਼ਤਾ" -msgstr[1] "%d ਹਫ਼ਤੇ" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d ਦਿਨ" -msgstr[1] "%d ਦਿਨ" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d ਘੰਟਾ" -msgstr[1] "%d ਘੰਟੇ" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d ਮਿੰਟ" -msgstr[1] "%d ਮਿੰਟ" - -msgid "0 minutes" -msgstr "0 ਮਿੰਟ" - -msgid "Forbidden" -msgstr "" - -msgid "CSRF verification failed. Request aborted." -msgstr "" - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "" - -msgid "No year specified" -msgstr "ਕੋਈ ਸਾਲ ਨਹੀਂ ਦਿੱਤਾ" - -msgid "Date out of range" -msgstr "" - -msgid "No month specified" -msgstr "ਕੋਈ ਮਹੀਨਾ ਨਹੀਂ ਦਿੱਤਾ" - -msgid "No day specified" -msgstr "ਕੋਈ ਦਿਨ ਨਹੀਂ ਦਿੱਤਾ" - -msgid "No week specified" -msgstr "ਕੋਈ ਹਫ਼ਤਾ ਨਹੀਂ ਦਿੱਤਾ" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "" - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "%(directory)s ਦਾ ਇੰਡੈਕਸ" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" - -msgid "The install worked successfully! Congratulations!" -msgstr "" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" - -msgid "Django Documentation" -msgstr "" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "" - -msgid "Get started with Django" -msgstr "" - -msgid "Django Community" -msgstr "" - -msgid "Connect, get help, or contribute" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/pl/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/pl/LC_MESSAGES/django.mo deleted file mode 100644 index 5c564303..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/pl/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/pl/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/pl/LC_MESSAGES/django.po deleted file mode 100644 index 7f8f6383..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/pl/LC_MESSAGES/django.po +++ /dev/null @@ -1,1373 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# sidewinder , 2014 -# Saibamen , 2015 -# angularcircle, 2011,2013 -# angularcircle, 2011,2013 -# angularcircle, 2014 -# Dariusz Paluch , 2015 -# Jannis Leidel , 2011 -# Janusz Harkot , 2014-2015 -# Kacper Krupa , 2013 -# Karol , 2012 -# 0d5641585fd67fbdb97037c19ab83e4c_18c98b0 , 2011 -# 0d5641585fd67fbdb97037c19ab83e4c_18c98b0 , 2011 -# Łukasz Rekucki (lqc) , 2011 -# m_aciek , 2016-2020 -# m_aciek , 2015 -# Mariusz Felisiak , 2020 -# Michał Pasternak , 2013 -# c10516f0462e552b4c3672569f0745a7_cc5cca2 <841826256cd8f47d0e443806a8e56601_19204>, 2012 -# Piotr Meuś , 2014 -# c10516f0462e552b4c3672569f0745a7_cc5cca2 <841826256cd8f47d0e443806a8e56601_19204>, 2012 -# Quadric , 2014 -# Radek Czajka , 2013 -# Radek Czajka , 2013 -# Roman Barczyński, 2012 -# sidewinder , 2014 -# Tomasz Kajtoch , 2016-2017 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-07-16 10:43+0000\n" -"Last-Translator: Mariusz Felisiak \n" -"Language-Team: Polish (http://www.transifex.com/django/django/language/pl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pl\n" -"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n" -"%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n" -"%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" - -msgid "Afrikaans" -msgstr "afrykanerski" - -msgid "Arabic" -msgstr "arabski" - -msgid "Algerian Arabic" -msgstr "algierski arabski" - -msgid "Asturian" -msgstr "asturyjski" - -msgid "Azerbaijani" -msgstr "azerski" - -msgid "Bulgarian" -msgstr "bułgarski" - -msgid "Belarusian" -msgstr "białoruski" - -msgid "Bengali" -msgstr "bengalski" - -msgid "Breton" -msgstr "bretoński" - -msgid "Bosnian" -msgstr "bośniacki" - -msgid "Catalan" -msgstr "kataloński" - -msgid "Czech" -msgstr "czeski" - -msgid "Welsh" -msgstr "walijski" - -msgid "Danish" -msgstr "duński" - -msgid "German" -msgstr "niemiecki" - -msgid "Lower Sorbian" -msgstr "dolnołużycki" - -msgid "Greek" -msgstr "grecki" - -msgid "English" -msgstr "angielski" - -msgid "Australian English" -msgstr "australijski angielski" - -msgid "British English" -msgstr "brytyjski angielski" - -msgid "Esperanto" -msgstr "esperanto" - -msgid "Spanish" -msgstr "hiszpański" - -msgid "Argentinian Spanish" -msgstr "hiszpański argentyński" - -msgid "Colombian Spanish" -msgstr "hiszpański kolumbijski" - -msgid "Mexican Spanish" -msgstr "hiszpański meksykański" - -msgid "Nicaraguan Spanish" -msgstr "hiszpański nikaraguański" - -msgid "Venezuelan Spanish" -msgstr "hiszpański wenezuelski" - -msgid "Estonian" -msgstr "estoński" - -msgid "Basque" -msgstr "baskijski" - -msgid "Persian" -msgstr "perski" - -msgid "Finnish" -msgstr "fiński" - -msgid "French" -msgstr "francuski" - -msgid "Frisian" -msgstr "fryzyjski" - -msgid "Irish" -msgstr "irlandzki" - -msgid "Scottish Gaelic" -msgstr "Szkocki gaelicki" - -msgid "Galician" -msgstr "galicyjski" - -msgid "Hebrew" -msgstr "hebrajski" - -msgid "Hindi" -msgstr "hindi" - -msgid "Croatian" -msgstr "chorwacki" - -msgid "Upper Sorbian" -msgstr "górnołużycki" - -msgid "Hungarian" -msgstr "węgierski" - -msgid "Armenian" -msgstr "ormiański" - -msgid "Interlingua" -msgstr "interlingua" - -msgid "Indonesian" -msgstr "indonezyjski" - -msgid "Igbo" -msgstr "igbo" - -msgid "Ido" -msgstr "ido" - -msgid "Icelandic" -msgstr "islandzki" - -msgid "Italian" -msgstr "włoski" - -msgid "Japanese" -msgstr "japoński" - -msgid "Georgian" -msgstr "gruziński" - -msgid "Kabyle" -msgstr "kabylski" - -msgid "Kazakh" -msgstr "kazachski" - -msgid "Khmer" -msgstr "khmerski" - -msgid "Kannada" -msgstr "kannada" - -msgid "Korean" -msgstr "koreański" - -msgid "Kyrgyz" -msgstr "kirgiski" - -msgid "Luxembourgish" -msgstr "luksemburski" - -msgid "Lithuanian" -msgstr "litewski" - -msgid "Latvian" -msgstr "łotewski" - -msgid "Macedonian" -msgstr "macedoński" - -msgid "Malayalam" -msgstr "malajski" - -msgid "Mongolian" -msgstr "mongolski" - -msgid "Marathi" -msgstr "marathi" - -msgid "Burmese" -msgstr "birmański" - -msgid "Norwegian Bokmål" -msgstr "norweski (bokmål)" - -msgid "Nepali" -msgstr "nepalski" - -msgid "Dutch" -msgstr "holenderski" - -msgid "Norwegian Nynorsk" -msgstr "norweski (nynorsk)" - -msgid "Ossetic" -msgstr "osetyjski" - -msgid "Punjabi" -msgstr "pendżabski" - -msgid "Polish" -msgstr "polski" - -msgid "Portuguese" -msgstr "portugalski" - -msgid "Brazilian Portuguese" -msgstr "portugalski brazylijski" - -msgid "Romanian" -msgstr "rumuński" - -msgid "Russian" -msgstr "rosyjski" - -msgid "Slovak" -msgstr "słowacki" - -msgid "Slovenian" -msgstr "słoweński" - -msgid "Albanian" -msgstr "albański" - -msgid "Serbian" -msgstr "serbski" - -msgid "Serbian Latin" -msgstr "serbski (łaciński)" - -msgid "Swedish" -msgstr "szwedzki" - -msgid "Swahili" -msgstr "suahili" - -msgid "Tamil" -msgstr "tamilski" - -msgid "Telugu" -msgstr "telugu" - -msgid "Tajik" -msgstr "tadżycki" - -msgid "Thai" -msgstr "tajski" - -msgid "Turkmen" -msgstr "turkmeński" - -msgid "Turkish" -msgstr "turecki" - -msgid "Tatar" -msgstr "tatarski" - -msgid "Udmurt" -msgstr "udmurcki" - -msgid "Ukrainian" -msgstr "ukraiński" - -msgid "Urdu" -msgstr "urdu" - -msgid "Uzbek" -msgstr "uzbecki" - -msgid "Vietnamese" -msgstr "wietnamski" - -msgid "Simplified Chinese" -msgstr "chiński uproszczony" - -msgid "Traditional Chinese" -msgstr "chiński tradycyjny" - -msgid "Messages" -msgstr "Wiadomości" - -msgid "Site Maps" -msgstr "Mapy stron" - -msgid "Static Files" -msgstr "Pliki statyczne" - -msgid "Syndication" -msgstr "Syndykacja treści" - -msgid "That page number is not an integer" -msgstr "Ten numer strony nie jest liczbą całkowitą" - -msgid "That page number is less than 1" -msgstr "Ten numer strony jest mniejszy niż 1" - -msgid "That page contains no results" -msgstr "Ta strona nie zawiera wyników" - -msgid "Enter a valid value." -msgstr "Wpisz poprawną wartość." - -msgid "Enter a valid URL." -msgstr "Wpisz poprawny URL." - -msgid "Enter a valid integer." -msgstr "Wprowadź poprawną liczbę całkowitą." - -msgid "Enter a valid email address." -msgstr "Wprowadź poprawny adres email." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" -"Wpisz poprawny „slug” zawierający litery, cyfry, podkreślenia i myślniki." - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" -"Wpisz poprawny „slug” zawierający litery Unicode, cyfry, podkreślenia i " -"myślniki." - -msgid "Enter a valid IPv4 address." -msgstr "Wprowadź poprawny adres IPv4." - -msgid "Enter a valid IPv6 address." -msgstr "Wprowadź poprawny adres IPv6." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Wprowadź poprawny adres IPv4 lub IPv6." - -msgid "Enter only digits separated by commas." -msgstr "Wpisz tylko cyfry oddzielone przecinkami." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "Upewnij się, że ta wartość jest %(limit_value)s (jest %(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Upewnij się, że ta wartość jest mniejsza lub równa %(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Upewnij się, że ta wartość jest większa lub równa %(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Upewnij się, że ta wartość ma przynajmniej %(limit_value)d znak (obecnie ma " -"%(show_value)d)." -msgstr[1] "" -"Upewnij się, że ta wartość ma przynajmniej %(limit_value)d znaki (obecnie ma " -"%(show_value)d)." -msgstr[2] "" -"Upewnij się, że ta wartość ma przynajmniej %(limit_value)d znaków (obecnie " -"ma %(show_value)d)." -msgstr[3] "" -"Upewnij się, że ta wartość ma przynajmniej %(limit_value)d znaków (obecnie " -"ma %(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Upewnij się, że ta wartość ma co najwyżej %(limit_value)d znak (obecnie ma " -"%(show_value)d)." -msgstr[1] "" -"Upewnij się, że ta wartość ma co najwyżej %(limit_value)d znaki (obecnie ma " -"%(show_value)d)." -msgstr[2] "" -"Upewnij się, że ta wartość ma co najwyżej %(limit_value)d znaków (obecnie ma " -"%(show_value)d)." -msgstr[3] "" -"Upewnij się, że ta wartość ma co najwyżej %(limit_value)d znaków (obecnie ma " -"%(show_value)d)." - -msgid "Enter a number." -msgstr "Wpisz liczbę." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Upewnij się, że łącznie nie ma więcej niż %(max)s cyfry." -msgstr[1] "Upewnij się, że łącznie nie ma więcej niż %(max)s cyfry." -msgstr[2] "Upewnij się, że łącznie nie ma więcej niż %(max)s cyfr." -msgstr[3] "Upewnij się, że łącznie nie ma więcej niż %(max)s cyfr." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "" -"Upewnij się, że liczba ma nie więcej niż %(max)s cyfrę po przecinku." -msgstr[1] "" -"Upewnij się, że liczba ma nie więcej niż %(max)s cyfry po przecinku." -msgstr[2] "Upewnij się, że liczba ma nie więcej niż %(max)s cyfr po przecinku." -msgstr[3] "Upewnij się, że liczba ma nie więcej niż %(max)s cyfr po przecinku." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -"Upewnij się, że liczba ma nie więcej niż %(max)s cyfrę przed przecinkiem." -msgstr[1] "" -"Upewnij się, że liczba ma nie więcej niż %(max)s cyfry przed przecinkiem." -msgstr[2] "" -"Upewnij się, że liczba ma nie więcej niż %(max)s cyfr przed przecinkiem." -msgstr[3] "" -"Upewnij się, że liczba ma nie więcej niż %(max)s cyfr przed przecinkiem." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" -"Rozszerzenie pliku „%(extension)s” jest niedozwolone. Dozwolone rozszerzenia " -"to: %(allowed_extensions)s." - -msgid "Null characters are not allowed." -msgstr "Znaki null są niedozwolone." - -msgid "and" -msgstr "i" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "%(model_name)s z tymi %(field_labels)s już istnieje." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "Wartość %(value)r nie jest poprawnym wyborem." - -msgid "This field cannot be null." -msgstr "To pole nie może być puste." - -msgid "This field cannot be blank." -msgstr "To pole nie może być puste." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "Istnieje już %(model_name)s z tą wartością pola %(field_label)s." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"Wartość pola %(field_label)s musi być unikatowa dla %(date_field_label)s " -"%(lookup_type)s." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Pole typu: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "Wartością „%(value)s” musi być True albo False." - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "Wartością „%(value)s” musi być True, False lub None." - -msgid "Boolean (Either True or False)" -msgstr "Wartość logiczna (True lub False – prawda lub fałsz)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Ciąg znaków (do %(max_length)s znaków)" - -msgid "Comma-separated integers" -msgstr "Liczby całkowite rozdzielone przecinkami" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" -"Wartość „%(value)s” ma nieprawidłowy format daty. Musi być ona w formacie " -"YYYY-MM-DD." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" -"Wartość „%(value)s” ma prawidłowy format (YYYY-MM-DD), ale jest " -"nieprawidłową datą." - -msgid "Date (without time)" -msgstr "Data (bez godziny)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" -"Wartość „%(value)s” ma nieprawidłowy format. Musi być ona w formacie YYYY-MM-" -"DD HH:MM[:ss[.uuuuuu]][TZ]." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" -"Wartość „%(value)s” ma prawidłowy format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]), ale jest nieprawidłową datą/godziną." - -msgid "Date (with time)" -msgstr "Data (z godziną)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "Wartością „%(value)s” musi być liczba dziesiętna." - -msgid "Decimal number" -msgstr "Liczba dziesiętna" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" -"Wartość „%(value)s” ma błędny format. Poprawny format to [DD] [HH:[MM:]]ss[." -"uuuuuu]." - -msgid "Duration" -msgstr "Czas trwania" - -msgid "Email address" -msgstr "Adres e-mail" - -msgid "File path" -msgstr "Ścieżka do pliku" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "Wartością „%(value)s” musi być liczba zmiennoprzecinkowa." - -msgid "Floating point number" -msgstr "Liczba zmiennoprzecinkowa" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "Wartością „%(value)s” musi być liczba całkowita." - -msgid "Integer" -msgstr "Liczba całkowita" - -msgid "Big (8 byte) integer" -msgstr "Duża liczba całkowita (8 bajtów)" - -msgid "IPv4 address" -msgstr "adres IPv4" - -msgid "IP address" -msgstr "Adres IP" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "Wartością „%(value)s” musi być None, True lub False." - -msgid "Boolean (Either True, False or None)" -msgstr "Wartość logiczna (True, False, None – prawda, fałsz lub nic)" - -msgid "Positive big integer" -msgstr "Dodatnia duża liczba całkowita" - -msgid "Positive integer" -msgstr "Dodatnia liczba całkowita" - -msgid "Positive small integer" -msgstr "Dodatnia mała liczba całkowita" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Slug (do %(max_length)s znaków)" - -msgid "Small integer" -msgstr "Mała liczba całkowita" - -msgid "Text" -msgstr "Tekst" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" -"Wartość „%(value)s” ma nieprawidłowy format. Musi być ona w formacie HH:MM[:" -"ss[.uuuuuu]]." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" -"Wartość „%(value)s” ma prawidłowy format (HH:MM[:ss[.uuuuuu]]), ale jest " -"nieprawidłową wartością czasu." - -msgid "Time" -msgstr "Czas" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Dane w postaci binarnej" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "Wartość „%(value)s” nie jest poprawnym UUID-em." - -msgid "Universally unique identifier" -msgstr "Uniwersalnie unikalny identyfikator" - -msgid "File" -msgstr "Plik" - -msgid "Image" -msgstr "Plik graficzny" - -msgid "A JSON object" -msgstr "Obiekt JSON" - -msgid "Value must be valid JSON." -msgstr "Wartość musi być poprawnym JSON-em." - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "%(model)s z polem %(field)s o wartości %(value)r nie istnieje." - -msgid "Foreign Key (type determined by related field)" -msgstr "Klucz obcy (typ określony przez pole powiązane)" - -msgid "One-to-one relationship" -msgstr "Powiązanie jeden do jednego" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "powiązanie %(from)s do %(to)s" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "powiązania %(from)s do %(to)s" - -msgid "Many-to-many relationship" -msgstr "Powiązanie wiele-do-wielu" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "To pole jest wymagane." - -msgid "Enter a whole number." -msgstr "Wpisz liczbę całkowitą." - -msgid "Enter a valid date." -msgstr "Wpisz poprawną datę." - -msgid "Enter a valid time." -msgstr "Wpisz poprawną godzinę." - -msgid "Enter a valid date/time." -msgstr "Wpisz poprawną datę/godzinę." - -msgid "Enter a valid duration." -msgstr "Wpisz poprawny czas trwania." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "Liczba dni musi wynosić między {min_days} a {max_days}." - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Nie wysłano żadnego pliku. Sprawdź typ kodowania formularza." - -msgid "No file was submitted." -msgstr "Żaden plik nie został przesłany." - -msgid "The submitted file is empty." -msgstr "Wysłany plik jest pusty." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Upewnij się, że nazwa pliku ma co najwyżej %(max)d znak (obecnie ma " -"%(length)d)." -msgstr[1] "" -"Upewnij się, że nazwa pliku ma co najwyżej %(max)d znaki (obecnie ma " -"%(length)d)." -msgstr[2] "" -"Upewnij się, że nazwa pliku ma co najwyżej %(max)d znaków (obecnie ma " -"%(length)d)." -msgstr[3] "" -"Upewnij się, że nazwa pliku ma co najwyżej %(max)d znaków (obecnie ma " -"%(length)d)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "Prześlij plik lub zaznacz by usunąć, ale nie oba na raz." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Prześlij poprawny plik graficzny. Aktualnie przesłany plik nie jest " -"grafiką lub jest uszkodzony." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "Wybierz poprawną wartość. %(value)s nie jest żadną z dostępnych opcji." - -msgid "Enter a list of values." -msgstr "Podaj listę wartości." - -msgid "Enter a complete value." -msgstr "Wprowadź kompletną wartość." - -msgid "Enter a valid UUID." -msgstr "Wpisz poprawny UUID." - -msgid "Enter a valid JSON." -msgstr "Wpisz poprawny JSON." - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Ukryte pole %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "Brakuje danych ManagementForm lub zostały one zmodyfikowane." - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Proszę wysłać %d lub mniej formularzy." -msgstr[1] "Proszę wysłać %d lub mniej formularze." -msgstr[2] "Proszę wysłać %d lub mniej formularzy." -msgstr[3] "Proszę wysłać %d lub mniej formularzy." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "Proszę wysłać %d lub więcej formularzy." -msgstr[1] "Proszę wysłać %d lub więcej formularze." -msgstr[2] "Proszę wysłać %d lub więcej formularzy." -msgstr[3] "Proszę wysłać %d lub więcej formularzy." - -msgid "Order" -msgstr "Kolejność" - -msgid "Delete" -msgstr "Usuń" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Popraw zduplikowane dane w %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "Popraw zduplikowane dane w %(field)s, które muszą być unikalne." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Popraw zduplikowane dane w %(field_name)s, które wymaga unikalności dla " -"%(lookup)s w polu %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "Popraw poniższe zduplikowane wartości." - -msgid "The inline value did not match the parent instance." -msgstr "Wartość inline nie pasuje do obiektu rodzica." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "Wybierz poprawną wartość. Podana nie jest jednym z dostępnych wyborów." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "„%(pk)s” nie jest poprawną wartością." - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" -"%(datetime)s nie mógł zostać zinterpretowany w strefie czasowej " -"%(current_timezone)s; może być niejednoznaczny lub może nie istnieć." - -msgid "Clear" -msgstr "Wyczyść" - -msgid "Currently" -msgstr "Teraz" - -msgid "Change" -msgstr "Zmień" - -msgid "Unknown" -msgstr "Nieznany" - -msgid "Yes" -msgstr "Tak" - -msgid "No" -msgstr "Nie" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "tak,nie,może" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d bajt" -msgstr[1] "%(size)d bajty" -msgstr[2] "%(size)d bajtów" -msgstr[3] "%(size)d bajtów" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "po południu" - -msgid "a.m." -msgstr "rano" - -msgid "PM" -msgstr "po południu" - -msgid "AM" -msgstr "rano" - -msgid "midnight" -msgstr "północ" - -msgid "noon" -msgstr "południe" - -msgid "Monday" -msgstr "Poniedziałek" - -msgid "Tuesday" -msgstr "Wtorek" - -msgid "Wednesday" -msgstr "Środa" - -msgid "Thursday" -msgstr "Czwartek" - -msgid "Friday" -msgstr "Piątek" - -msgid "Saturday" -msgstr "Sobota" - -msgid "Sunday" -msgstr "Niedziela" - -msgid "Mon" -msgstr "Pon" - -msgid "Tue" -msgstr "Wt" - -msgid "Wed" -msgstr "Śr" - -msgid "Thu" -msgstr "Czw" - -msgid "Fri" -msgstr "Pt" - -msgid "Sat" -msgstr "So" - -msgid "Sun" -msgstr "Nd" - -msgid "January" -msgstr "Styczeń" - -msgid "February" -msgstr "Luty" - -msgid "March" -msgstr "Marzec" - -msgid "April" -msgstr "Kwiecień" - -msgid "May" -msgstr "Maj" - -msgid "June" -msgstr "Czerwiec" - -msgid "July" -msgstr "Lipiec" - -msgid "August" -msgstr "Sierpień" - -msgid "September" -msgstr "Wrzesień" - -msgid "October" -msgstr "Październik" - -msgid "November" -msgstr "Listopad" - -msgid "December" -msgstr "Grudzień" - -msgid "jan" -msgstr "sty" - -msgid "feb" -msgstr "lut" - -msgid "mar" -msgstr "mar" - -msgid "apr" -msgstr "kwi" - -msgid "may" -msgstr "maj" - -msgid "jun" -msgstr "cze" - -msgid "jul" -msgstr "lip" - -msgid "aug" -msgstr "sie" - -msgid "sep" -msgstr "wrz" - -msgid "oct" -msgstr "paź" - -msgid "nov" -msgstr "lis" - -msgid "dec" -msgstr "gru" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Sty." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Lut." - -msgctxt "abbrev. month" -msgid "March" -msgstr "Mar." - -msgctxt "abbrev. month" -msgid "April" -msgstr "Kwi." - -msgctxt "abbrev. month" -msgid "May" -msgstr "Maj" - -msgctxt "abbrev. month" -msgid "June" -msgstr "Cze." - -msgctxt "abbrev. month" -msgid "July" -msgstr "Lip." - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Sie." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Wrz." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Paź." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Lis." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Gru" - -msgctxt "alt. month" -msgid "January" -msgstr "stycznia" - -msgctxt "alt. month" -msgid "February" -msgstr "lutego" - -msgctxt "alt. month" -msgid "March" -msgstr "marca" - -msgctxt "alt. month" -msgid "April" -msgstr "kwietnia" - -msgctxt "alt. month" -msgid "May" -msgstr "maja" - -msgctxt "alt. month" -msgid "June" -msgstr "czerwca" - -msgctxt "alt. month" -msgid "July" -msgstr "lipca" - -msgctxt "alt. month" -msgid "August" -msgstr "sierpnia" - -msgctxt "alt. month" -msgid "September" -msgstr "września" - -msgctxt "alt. month" -msgid "October" -msgstr "października" - -msgctxt "alt. month" -msgid "November" -msgstr "listopada" - -msgctxt "alt. month" -msgid "December" -msgstr "grudnia" - -msgid "This is not a valid IPv6 address." -msgstr "To nie jest poprawny adres IPv6." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s…" - -msgid "or" -msgstr "lub" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d rok" -msgstr[1] "%d lata" -msgstr[2] "%d lat" -msgstr[3] "%d lat" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d miesiąc" -msgstr[1] "%d miesiące" -msgstr[2] "%d miesięcy" -msgstr[3] "%d miesięcy" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d tydzień" -msgstr[1] "%d tygodnie" -msgstr[2] "%d tygodni" -msgstr[3] "%d tygodni" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d dzień" -msgstr[1] "%d dni" -msgstr[2] "%d dni" -msgstr[3] "%d dni" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d godzina" -msgstr[1] "%d godziny" -msgstr[2] "%d godzin" -msgstr[3] "%d godzin" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d minuta" -msgstr[1] "%d minuty" -msgstr[2] "%d minut" -msgstr[3] "%d minut" - -msgid "Forbidden" -msgstr "Dostęp zabroniony" - -msgid "CSRF verification failed. Request aborted." -msgstr "Weryfikacja CSRF nie powiodła się. Żądanie zostało przerwane." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" -"Widzisz tę wiadomość, ponieważ ta witryna HTTPS wymaga, aby przeglądarka " -"wysłała nagłówek „Referer header”, a żaden nie został wysłany. Nagłówek ten " -"jest wymagany ze względów bezpieczeństwa, aby upewnić się, że Twoja " -"przeglądarka nie została przechwycona przez osoby trzecie." - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" -"Jeżeli nagłówki „Referer” w Twojej przeglądarce są wyłączone, to proszę " -"włącz je ponownie. Przynajmniej dla tej strony, połączeń HTTPS lub zapytań " -"typu „same-origin”." - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" -"Jeśli używasz taga lub " -"umieszczasz nagłówek „Referrer-Policy: no-referrer”, prosimy je usunąć. " -"Ochrona przed atakami CSRF wymaga nagłówka „Referer”, aby wykonać ścisłe " -"sprawdzenie referera HTTP. Jeśli zależy ci na prywatności, użyj alternatyw " -"takich jak dla linków do stron osób trzecich." - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Widzisz tą wiadomość, ponieważ ta witryna wymaga ciasteczka CSRF do " -"przesyłania formularza. Ciasteczko to jest wymagane ze względów " -"bezpieczeństwa, aby upewnić się, że Twoja przeglądarka nie została " -"przechwycona przez osoby trzecie." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" -"Jeżeli ciasteczka w Twojej przeglądarce są wyłączone, to proszę włącz je " -"ponownie. Przynajmniej dla tej strony lub żądań typu „same-origin”." - -msgid "More information is available with DEBUG=True." -msgstr "Więcej informacji jest dostępnych po ustawieniu DEBUG=True." - -msgid "No year specified" -msgstr "Nie określono roku" - -msgid "Date out of range" -msgstr "Data poza zakresem" - -msgid "No month specified" -msgstr "Nie określono miesiąca" - -msgid "No day specified" -msgstr "Nie określono dnia" - -msgid "No week specified" -msgstr "Nie określono tygodnia" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "%(verbose_name_plural)s nie są dostępne" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"Wyświetlanie %(verbose_name_plural)s z datą przyszłą jest niedostępne, gdyż " -"atrybut '%(class_name)s.allow_future' ma wartość 'False'." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" -"Ciąg znaków „%(datestr)s” jest niezgodny z podanym formatem daty „%(format)s”" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Nie znaleziono %(verbose_name)s spełniających wybrane kryteria" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" -"Podanego numeru strony nie można przekształcić na liczbę całkowitą, nie " -"przyjął on również wartości „last” oznaczającej ostatnią stronę z dostępnego " -"zakresu." - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Nieprawidłowy numer strony (%(page_number)s): %(message)s " - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" -"Lista nie zawiera żadnych elementów, a atrybut „%(class_name)s.allow_empty” " -"ma wartość False." - -msgid "Directory indexes are not allowed here." -msgstr "Wyświetlanie zawartości katalogu jest tu niedozwolone." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "„%(path)s” nie istnieje" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Zawartość %(directory)s " - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "Django: framework WWW dla perfekcjonistów z deadline'ami." - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"Zobacz informacje o wydaniu dla Django " -"%(version)s" - -msgid "The install worked successfully! Congratulations!" -msgstr "Instalacja przebiegła pomyślnie! Gratulacje!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"Widzisz tę stronę, ponieważ w swoim pliku ustawień masz DEBUG=True i nie skonfigurowałeś żadnych URL-i." - -msgid "Django Documentation" -msgstr "Dokumentacja Django" - -msgid "Topics, references, & how-to’s" -msgstr "Przewodniki tematyczne, podręczniki i przewodniki „jak to zrobić”" - -msgid "Tutorial: A Polling App" -msgstr "Samouczek: Aplikacja ankietowa" - -msgid "Get started with Django" -msgstr "Pierwsze kroki z Django" - -msgid "Django Community" -msgstr "Społeczność Django" - -msgid "Connect, get help, or contribute" -msgstr "Nawiąż kontakt, uzyskaj pomoc lub wnieś swój wkład" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/pl/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/pl/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/pl/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/pl/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index bc8d6ed0..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/pl/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/pl/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/pl/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 4aa9b657..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/pl/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/pl/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/pl/formats.py deleted file mode 100644 index e6665447..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/pl/formats.py +++ /dev/null @@ -1,28 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'j E Y' -TIME_FORMAT = 'H:i' -DATETIME_FORMAT = 'j E Y H:i' -YEAR_MONTH_FORMAT = 'F Y' -MONTH_DAY_FORMAT = 'j E' -SHORT_DATE_FORMAT = 'd-m-Y' -SHORT_DATETIME_FORMAT = 'd-m-Y H:i' -FIRST_DAY_OF_WEEK = 1 # Monday - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -DATE_INPUT_FORMATS = [ - '%d.%m.%Y', '%d.%m.%y', # '25.10.2006', '25.10.06' - '%y-%m-%d', # '06-10-25' - # '%d. %B %Y', '%d. %b. %Y', # '25. October 2006', '25. Oct. 2006' -] -DATETIME_INPUT_FORMATS = [ - '%d.%m.%Y %H:%M:%S', # '25.10.2006 14:30:59' - '%d.%m.%Y %H:%M:%S.%f', # '25.10.2006 14:30:59.000200' - '%d.%m.%Y %H:%M', # '25.10.2006 14:30' -] -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = ' ' -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/pt/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/pt/LC_MESSAGES/django.mo deleted file mode 100644 index 2842e75a..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/pt/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/pt/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/pt/LC_MESSAGES/django.po deleted file mode 100644 index 311c21cf..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/pt/LC_MESSAGES/django.po +++ /dev/null @@ -1,1254 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Raúl Pedro Fernandes Santos, 2014 -# Bruno Miguel Custódio , 2012 -# Claudio Fernandes , 2015 -# Jannis Leidel , 2011 -# José Durães , 2014 -# jorgecarleitao , 2014-2015 -# Nuno Mariz , 2011-2013,2015-2018 -# Paulo Köch , 2011 -# Raúl Pedro Fernandes Santos, 2014 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-27 22:40+0200\n" -"PO-Revision-Date: 2019-11-05 00:38+0000\n" -"Last-Translator: Ramiro Morales\n" -"Language-Team: Portuguese (http://www.transifex.com/django/django/language/" -"pt/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pt\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "Afrikaans" -msgstr "Africâner" - -msgid "Arabic" -msgstr "Árabe" - -msgid "Asturian" -msgstr "Asturiano" - -msgid "Azerbaijani" -msgstr "Azerbaijano" - -msgid "Bulgarian" -msgstr "Búlgaro" - -msgid "Belarusian" -msgstr "Bielorusso" - -msgid "Bengali" -msgstr "Bengalês" - -msgid "Breton" -msgstr "Bretão" - -msgid "Bosnian" -msgstr "Bósnio" - -msgid "Catalan" -msgstr "Catalão" - -msgid "Czech" -msgstr "Checo" - -msgid "Welsh" -msgstr "Galês" - -msgid "Danish" -msgstr "Dinamarquês" - -msgid "German" -msgstr "Alemão" - -msgid "Lower Sorbian" -msgstr "Sorbedo inferior" - -msgid "Greek" -msgstr "Grego" - -msgid "English" -msgstr "Inglês" - -msgid "Australian English" -msgstr "Inglês da Austrália" - -msgid "British English" -msgstr "Inglês Britânico" - -msgid "Esperanto" -msgstr "Esperanto" - -msgid "Spanish" -msgstr "Espanhol" - -msgid "Argentinian Spanish" -msgstr "Espanhol Argentino" - -msgid "Colombian Spanish" -msgstr "Espanhol Colombiano" - -msgid "Mexican Spanish" -msgstr "Espanhol mexicano" - -msgid "Nicaraguan Spanish" -msgstr "Nicarágua Espanhol" - -msgid "Venezuelan Spanish" -msgstr "Espanhol Venezuelano" - -msgid "Estonian" -msgstr "Estónio" - -msgid "Basque" -msgstr "Basco" - -msgid "Persian" -msgstr "Persa" - -msgid "Finnish" -msgstr "Filandês" - -msgid "French" -msgstr "Francês" - -msgid "Frisian" -msgstr "Frisão" - -msgid "Irish" -msgstr "Irlandês" - -msgid "Scottish Gaelic" -msgstr "Escocês Gaélico" - -msgid "Galician" -msgstr "Galaciano" - -msgid "Hebrew" -msgstr "Hebraico" - -msgid "Hindi" -msgstr "Hindi" - -msgid "Croatian" -msgstr "Croata" - -msgid "Upper Sorbian" -msgstr "Sorbedo superior" - -msgid "Hungarian" -msgstr "Húngaro" - -msgid "Armenian" -msgstr "" - -msgid "Interlingua" -msgstr "Interlíngua" - -msgid "Indonesian" -msgstr "Indonésio" - -msgid "Ido" -msgstr "Ido" - -msgid "Icelandic" -msgstr "Islandês" - -msgid "Italian" -msgstr "Italiano" - -msgid "Japanese" -msgstr "Japonês" - -msgid "Georgian" -msgstr "Georgiano" - -msgid "Kabyle" -msgstr "Kabyle" - -msgid "Kazakh" -msgstr "Cazaque" - -msgid "Khmer" -msgstr "Khmer" - -msgid "Kannada" -msgstr "Canarês" - -msgid "Korean" -msgstr "Coreano" - -msgid "Luxembourgish" -msgstr "Luxemburguês" - -msgid "Lithuanian" -msgstr "Lituano" - -msgid "Latvian" -msgstr "Letão" - -msgid "Macedonian" -msgstr "Macedónio" - -msgid "Malayalam" -msgstr "Malaiala" - -msgid "Mongolian" -msgstr "Mongol" - -msgid "Marathi" -msgstr "Marathi" - -msgid "Burmese" -msgstr "Birmanês" - -msgid "Norwegian Bokmål" -msgstr "Norueguês Bokmål" - -msgid "Nepali" -msgstr "Nepali" - -msgid "Dutch" -msgstr "Holandês" - -msgid "Norwegian Nynorsk" -msgstr "Norueguês (Nynors)" - -msgid "Ossetic" -msgstr "Ossetic" - -msgid "Punjabi" -msgstr "Panjabi" - -msgid "Polish" -msgstr "Polaco" - -msgid "Portuguese" -msgstr "Português" - -msgid "Brazilian Portuguese" -msgstr "Português Brasileiro" - -msgid "Romanian" -msgstr "Romeno" - -msgid "Russian" -msgstr "Russo" - -msgid "Slovak" -msgstr "Eslovaco" - -msgid "Slovenian" -msgstr "Esloveno" - -msgid "Albanian" -msgstr "Albanês" - -msgid "Serbian" -msgstr "Sérvio" - -msgid "Serbian Latin" -msgstr "Sérvio Latim" - -msgid "Swedish" -msgstr "Sueco" - -msgid "Swahili" -msgstr "Suaíli" - -msgid "Tamil" -msgstr "Tamil" - -msgid "Telugu" -msgstr "Telugu" - -msgid "Thai" -msgstr "Thai" - -msgid "Turkish" -msgstr "Turco" - -msgid "Tatar" -msgstr "Tatar" - -msgid "Udmurt" -msgstr "Udmurte" - -msgid "Ukrainian" -msgstr "Ucraniano" - -msgid "Urdu" -msgstr "Urdu" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "Vietnamita" - -msgid "Simplified Chinese" -msgstr "Chinês Simplificado" - -msgid "Traditional Chinese" -msgstr "Chinês Tradicional" - -msgid "Messages" -msgstr "Mensagens" - -msgid "Site Maps" -msgstr "Mapas do Site" - -msgid "Static Files" -msgstr "Ficheiros Estáticos" - -msgid "Syndication" -msgstr "Syndication" - -msgid "That page number is not an integer" -msgstr "Esse número de página não é um número inteiro" - -msgid "That page number is less than 1" -msgstr "Esse número de página é inferior a 1" - -msgid "That page contains no results" -msgstr "Essa página não contém resultados" - -msgid "Enter a valid value." -msgstr "Introduza um valor válido." - -msgid "Enter a valid URL." -msgstr "Introduza um URL válido." - -msgid "Enter a valid integer." -msgstr "Introduza um número inteiro válido." - -msgid "Enter a valid email address." -msgstr "Introduza um endereço de e-mail válido." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "Introduza um endereço IPv4 válido." - -msgid "Enter a valid IPv6 address." -msgstr "Insira um endereço IPv6 válido." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Digite um endereço válido IPv4 ou IPv6." - -msgid "Enter only digits separated by commas." -msgstr "Introduza apenas números separados por vírgulas." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "Garanta que este valor seja %(limit_value)s (tem %(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Garanta que este valor seja menor ou igual a %(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Garanta que este valor seja maior ou igual a %(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Garanta que este valor tenha pelo menos %(limit_value)d caractere (tem " -"%(show_value)d)." -msgstr[1] "" -"Garanta que este valor tenha pelo menos %(limit_value)d caracteres (tem " -"%(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Garanta que este valor tenha no máximo %(limit_value)d caractere (tem " -"%(show_value)d)." -msgstr[1] "" -"Garanta que este valor tenha no máximo %(limit_value)d caracteres (tem " -"%(show_value)d)." - -msgid "Enter a number." -msgstr "Introduza um número." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Garanta que não tem mais de %(max)s dígito no total." -msgstr[1] "Garanta que não tem mais de %(max)s dígitos no total." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "Garanta que não tem mais %(max)s casa decimal." -msgstr[1] "Garanta que não tem mais %(max)s casas decimais." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "Garanta que não tem mais de %(max)s dígito antes do ponto decimal." -msgstr[1] "Garanta que não tem mais de %(max)s dígitos antes do ponto decimal." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "Não são permitidos caracteres nulos." - -msgid "and" -msgstr "e" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "%(model_name)s com este %(field_labels)s já existe." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "O valor %(value)r não é uma escolha válida." - -msgid "This field cannot be null." -msgstr "Este campo não pode ser nulo." - -msgid "This field cannot be blank." -msgstr "Este campo não pode ser vazio." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s com este %(field_label)s já existe." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(field_label)s tem de ser único para %(date_field_label)s %(lookup_type)s." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Campo do tipo: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "Boolean (Pode ser True ou False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "String (até %(max_length)s)" - -msgid "Comma-separated integers" -msgstr "Inteiros separados por virgula" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "Data (sem hora)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "Data (com hora)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "Número décimal" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "Duração" - -msgid "Email address" -msgstr "Endereço de e-mail" - -msgid "File path" -msgstr "Caminho do ficheiro" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "Número em vírgula flutuante" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "Inteiro" - -msgid "Big (8 byte) integer" -msgstr "Inteiro grande (8 byte)" - -msgid "IPv4 address" -msgstr "Endereço IPv4" - -msgid "IP address" -msgstr "Endereço IP" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "Boolean (Pode ser True, False ou None)" - -msgid "Positive integer" -msgstr "Inteiro positivo" - -msgid "Positive small integer" -msgstr "Pequeno número inteiro positivo" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Slug (até %(max_length)s)" - -msgid "Small integer" -msgstr "Inteiro pequeno" - -msgid "Text" -msgstr "Texto" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "Hora" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Dados binários simples" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "" - -msgid "File" -msgstr "Ficheiro" - -msgid "Image" -msgstr "Imagem" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "A instância de %(model)s com %(field)s %(value)r não existe." - -msgid "Foreign Key (type determined by related field)" -msgstr "Chave Estrangeira (tipo determinado pelo campo relacionado)" - -msgid "One-to-one relationship" -msgstr "Relação de um-para-um" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "Relação de %(from)s-%(to)s" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "Relações de %(from)s-%(to)s" - -msgid "Many-to-many relationship" -msgstr "Relação de muitos-para-muitos" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Este campo é obrigatório." - -msgid "Enter a whole number." -msgstr "Introduza um número inteiro." - -msgid "Enter a valid date." -msgstr "Introduza uma data válida." - -msgid "Enter a valid time." -msgstr "Introduza uma hora válida." - -msgid "Enter a valid date/time." -msgstr "Introduza uma data/hora válida." - -msgid "Enter a valid duration." -msgstr "Introduza uma duração válida." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "O número de dias deve ser entre {min_days} e {max_days}." - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "" -"Nenhum ficheiro foi submetido. Verifique o tipo de codificação do formulário." - -msgid "No file was submitted." -msgstr "Nenhum ficheiro submetido." - -msgid "The submitted file is empty." -msgstr "O ficheiro submetido encontra-se vazio." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Garanta que o nome deste ficheiro tenha no máximo %(max)d caractere (tem " -"%(length)d)." -msgstr[1] "" -"Garanta que o nome deste ficheiro tenha no máximo %(max)d caracteres (tem " -"%(length)d)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" -"Por favor, submeta um ficheiro ou remova a seleção da caixa, não ambos." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Introduza uma imagem válida. O ficheiro que introduziu ou não é uma imagem " -"ou está corrompido." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "" -"Selecione uma opção válida. %(value)s não se encontra nas opções disponíveis." - -msgid "Enter a list of values." -msgstr "Introduza uma lista de valores." - -msgid "Enter a complete value." -msgstr "Introduza um valor completo." - -msgid "Enter a valid UUID." -msgstr "Introduza um UUID válido." - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Campo oculto %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "Os dados do ManagementForm estão em falta ou foram adulterados" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Por favor submeta %d ou menos formulários." -msgstr[1] "Por favor submeta %d ou menos formulários." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "Por favor submeta %d ou mais formulários." -msgstr[1] "Por favor submeta %d ou mais formulários." - -msgid "Order" -msgstr "Ordem" - -msgid "Delete" -msgstr "Remover" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Por favor corrija os dados duplicados em %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"Por favor corrija os dados duplicados em %(field)s, que deverá ser único." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Por favor corrija os dados duplicados em %(field_name)s que deverá ser único " -"para o %(lookup)s em %(date_field)s.\"" - -msgid "Please correct the duplicate values below." -msgstr "Por favor corrija os valores duplicados abaixo." - -msgid "The inline value did not match the parent instance." -msgstr "O valor em linha não corresponde à instância pai." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" -"Selecione uma opção válida. Esse valor não se encontra opções disponíveis." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "Limpar" - -msgid "Currently" -msgstr "Atualmente" - -msgid "Change" -msgstr "Modificar" - -msgid "Unknown" -msgstr "Desconhecido" - -msgid "Yes" -msgstr "Sim" - -msgid "No" -msgstr "Não" - -msgid "Year" -msgstr "" - -msgid "Month" -msgstr "" - -msgid "Day" -msgstr "" - -msgid "yes,no,maybe" -msgstr "sim,não,talvez" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d byte" -msgstr[1] "%(size)d bytes" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "p.m." - -msgid "a.m." -msgstr "a.m." - -msgid "PM" -msgstr "PM" - -msgid "AM" -msgstr "AM" - -msgid "midnight" -msgstr "meia-noite" - -msgid "noon" -msgstr "meio-dia" - -msgid "Monday" -msgstr "Segunda-feira" - -msgid "Tuesday" -msgstr "Terça-feira" - -msgid "Wednesday" -msgstr "Quarta-feira" - -msgid "Thursday" -msgstr "Quinta-feira" - -msgid "Friday" -msgstr "Sexta-feira" - -msgid "Saturday" -msgstr "Sábado" - -msgid "Sunday" -msgstr "Domingo" - -msgid "Mon" -msgstr "Seg" - -msgid "Tue" -msgstr "Ter" - -msgid "Wed" -msgstr "Qua" - -msgid "Thu" -msgstr "Qui" - -msgid "Fri" -msgstr "Sex" - -msgid "Sat" -msgstr "Sáb" - -msgid "Sun" -msgstr "Dom" - -msgid "January" -msgstr "Janeiro" - -msgid "February" -msgstr "Fevereiro" - -msgid "March" -msgstr "Março" - -msgid "April" -msgstr "Abril" - -msgid "May" -msgstr "Maio" - -msgid "June" -msgstr "Junho" - -msgid "July" -msgstr "Julho" - -msgid "August" -msgstr "Agosto" - -msgid "September" -msgstr "Setembro" - -msgid "October" -msgstr "Outubro" - -msgid "November" -msgstr "Novembro" - -msgid "December" -msgstr "Dezembro" - -msgid "jan" -msgstr "jan" - -msgid "feb" -msgstr "fev" - -msgid "mar" -msgstr "mar" - -msgid "apr" -msgstr "abr" - -msgid "may" -msgstr "mai" - -msgid "jun" -msgstr "jun" - -msgid "jul" -msgstr "jul" - -msgid "aug" -msgstr "ago" - -msgid "sep" -msgstr "set" - -msgid "oct" -msgstr "out" - -msgid "nov" -msgstr "nov" - -msgid "dec" -msgstr "dez" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Jan." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Fev." - -msgctxt "abbrev. month" -msgid "March" -msgstr "Março" - -msgctxt "abbrev. month" -msgid "April" -msgstr "Abril" - -msgctxt "abbrev. month" -msgid "May" -msgstr "Maio" - -msgctxt "abbrev. month" -msgid "June" -msgstr "Jun." - -msgctxt "abbrev. month" -msgid "July" -msgstr "Jul." - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Ago." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Set." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Out." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Nov." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Dez." - -msgctxt "alt. month" -msgid "January" -msgstr "Janeiro" - -msgctxt "alt. month" -msgid "February" -msgstr "Fevereiro" - -msgctxt "alt. month" -msgid "March" -msgstr "Março" - -msgctxt "alt. month" -msgid "April" -msgstr "Abril" - -msgctxt "alt. month" -msgid "May" -msgstr "Maio" - -msgctxt "alt. month" -msgid "June" -msgstr "Junho" - -msgctxt "alt. month" -msgid "July" -msgstr "Julho" - -msgctxt "alt. month" -msgid "August" -msgstr "Agosto" - -msgctxt "alt. month" -msgid "September" -msgstr "Setembro" - -msgctxt "alt. month" -msgid "October" -msgstr "Outubro" - -msgctxt "alt. month" -msgid "November" -msgstr "Novembro" - -msgctxt "alt. month" -msgid "December" -msgstr "Dezembro" - -msgid "This is not a valid IPv6 address." -msgstr "Este não é um endereço IPv6 válido." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "" - -msgid "or" -msgstr "ou" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d ano" -msgstr[1] "%d anos" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d mês" -msgstr[1] "%d meses" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d semana" -msgstr[1] "%d semanas" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d dia" -msgstr[1] "%d dias" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d hora" -msgstr[1] "%d horas" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d minuto" -msgstr[1] "%d minutos" - -msgid "0 minutes" -msgstr "0 minutos" - -msgid "Forbidden" -msgstr "Proibido" - -msgid "CSRF verification failed. Request aborted." -msgstr "A verificação de CSRF falhou. Pedido abortado." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Está a ver esta mensagem porque este site requer um cookie CSRF quando " -"submete formulários. Este cookie é requirido por razões de segurança, para " -"garantir que o seu browser não está a ser \"raptado\" por terceiros." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "Está disponível mais informação com DEBUG=True." - -msgid "No year specified" -msgstr "Nenhum ano especificado" - -msgid "Date out of range" -msgstr "Data fora do alcance" - -msgid "No month specified" -msgstr "Nenhum mês especificado" - -msgid "No day specified" -msgstr "Nenhum dia especificado" - -msgid "No week specified" -msgstr "Nenhuma semana especificado" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "Nenhum %(verbose_name_plural)s disponível" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"%(verbose_name_plural)s futuros indisponíveis porque %(class_name)s." -"allow_future é False." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Nenhum %(verbose_name)s de acordo com a procura." - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Página inválida (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "Índices de diretório não são permitidas aqui." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Índice de %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "Django: the Web framework for perfectionists with deadlines." - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"Visualizar notas de lançamento do Django " -"%(version)s" - -msgid "The install worked successfully! Congratulations!" -msgstr "A instalação funcionou com sucesso! Parabéns!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"Está a visualizar esta página porque tem DEBUG=True no seu ficheiro settings do Django e não " -"configurou nenhum URLs." - -msgid "Django Documentation" -msgstr "Documentação do Django" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "Tutorial: A Polling App" - -msgid "Get started with Django" -msgstr "Comece com o Django" - -msgid "Django Community" -msgstr "Comunidade Django" - -msgid "Connect, get help, or contribute" -msgstr "Conecte-se, obtenha ajuda ou contribua" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/pt/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/pt/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/pt/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/pt/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 9a07009a..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/pt/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/pt/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/pt/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 01363fb8..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/pt/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/pt/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/pt/formats.py deleted file mode 100644 index b0fbbad9..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/pt/formats.py +++ /dev/null @@ -1,35 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = r'j \d\e F \d\e Y' -TIME_FORMAT = 'H:i' -DATETIME_FORMAT = r'j \d\e F \d\e Y à\s H:i' -YEAR_MONTH_FORMAT = r'F \d\e Y' -MONTH_DAY_FORMAT = r'j \d\e F' -SHORT_DATE_FORMAT = 'd/m/Y' -SHORT_DATETIME_FORMAT = 'd/m/Y H:i' -FIRST_DAY_OF_WEEK = 0 # Sunday - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -# Kept ISO formats as they are in first position -DATE_INPUT_FORMATS = [ - '%Y-%m-%d', '%d/%m/%Y', '%d/%m/%y', # '2006-10-25', '25/10/2006', '25/10/06' - # '%d de %b de %Y', '%d de %b, %Y', # '25 de Out de 2006', '25 Out, 2006' - # '%d de %B de %Y', '%d de %B, %Y', # '25 de Outubro de 2006', '25 de Outubro, 2006' -] -DATETIME_INPUT_FORMATS = [ - '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59' - '%Y-%m-%d %H:%M:%S.%f', # '2006-10-25 14:30:59.000200' - '%Y-%m-%d %H:%M', # '2006-10-25 14:30' - '%d/%m/%Y %H:%M:%S', # '25/10/2006 14:30:59' - '%d/%m/%Y %H:%M:%S.%f', # '25/10/2006 14:30:59.000200' - '%d/%m/%Y %H:%M', # '25/10/2006 14:30' - '%d/%m/%y %H:%M:%S', # '25/10/06 14:30:59' - '%d/%m/%y %H:%M:%S.%f', # '25/10/06 14:30:59.000200' - '%d/%m/%y %H:%M', # '25/10/06 14:30' -] -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = '.' -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/pt_BR/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/pt_BR/LC_MESSAGES/django.mo deleted file mode 100644 index 9eaba8c2..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/pt_BR/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/pt_BR/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/pt_BR/LC_MESSAGES/django.po deleted file mode 100644 index 92ac5f5f..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/pt_BR/LC_MESSAGES/django.po +++ /dev/null @@ -1,1324 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Allisson Azevedo , 2014 -# Amanda Savluchinske , 2019 -# amcorreia , 2018 -# andrewsmedina , 2014-2015 -# Arthur Silva , 2017 -# bruno.devpod , 2014 -# Camilo B. Moreira , 2017 -# Carlos C. Leite , 2020 -# Carlos C. Leite , 2016,2019 -# Filipe Cifali Stangler , 2016 -# dudanogueira , 2012 -# dudanogueira , 2019 -# Elyézer Rezende , 2013 -# Fábio C. Barrionuevo da Luz , 2014-2015 -# Felipe Rodrigues , 2016 -# Filipe Cifali Stangler , 2019 -# Gladson , 2013 -# semente, 2011-2014 -# Igor Cavalcante , 2017 -# Jannis Leidel , 2011 -# Lucas Infante , 2015 -# Luiz Boaretto , 2017 -# Marcelo Moro Brondani , 2018 -# Samuel Nogueira Bacelar , 2020 -# Sandro , 2011 -# Sergio Garcia , 2015 -# Tânia Andrea , 2017 -# Wiliam Souza , 2015 -# Xico Petry , 2018 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-09-22 14:14+0000\n" -"Last-Translator: Samuel Nogueira Bacelar \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/django/django/" -"language/pt_BR/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - -msgid "Afrikaans" -msgstr "Africânder" - -msgid "Arabic" -msgstr "Árabe" - -msgid "Algerian Arabic" -msgstr "" - -msgid "Asturian" -msgstr "Asturiano" - -msgid "Azerbaijani" -msgstr "Azerbaijão" - -msgid "Bulgarian" -msgstr "Búlgaro" - -msgid "Belarusian" -msgstr "Bielorrussa" - -msgid "Bengali" -msgstr "Bengali" - -msgid "Breton" -msgstr "Bretão" - -msgid "Bosnian" -msgstr "Bósnio" - -msgid "Catalan" -msgstr "Catalão" - -msgid "Czech" -msgstr "Tcheco" - -msgid "Welsh" -msgstr "Galês" - -msgid "Danish" -msgstr "Dinamarquês" - -msgid "German" -msgstr "Alemão" - -msgid "Lower Sorbian" -msgstr "Sorábio Baixo" - -msgid "Greek" -msgstr "Grego" - -msgid "English" -msgstr "Inglês" - -msgid "Australian English" -msgstr "Inglês Australiano" - -msgid "British English" -msgstr "Inglês Britânico" - -msgid "Esperanto" -msgstr "Esperanto" - -msgid "Spanish" -msgstr "Espanhol" - -msgid "Argentinian Spanish" -msgstr "Espanhol Argentino" - -msgid "Colombian Spanish" -msgstr "Espanhol Colombiano" - -msgid "Mexican Spanish" -msgstr "Espanhol Mexicano" - -msgid "Nicaraguan Spanish" -msgstr "Espanhol Nicaraguense" - -msgid "Venezuelan Spanish" -msgstr "Espanhol Venuzuelano" - -msgid "Estonian" -msgstr "Estoniano" - -msgid "Basque" -msgstr "Basco" - -msgid "Persian" -msgstr "Persa" - -msgid "Finnish" -msgstr "Finlandês" - -msgid "French" -msgstr "Francês" - -msgid "Frisian" -msgstr "Frísia" - -msgid "Irish" -msgstr "Irlandês" - -msgid "Scottish Gaelic" -msgstr "Gaélico Escocês" - -msgid "Galician" -msgstr "Galiciano" - -msgid "Hebrew" -msgstr "Hebraico" - -msgid "Hindi" -msgstr "Hindi" - -msgid "Croatian" -msgstr "Croata" - -msgid "Upper Sorbian" -msgstr "Sorábio Alto" - -msgid "Hungarian" -msgstr "Húngaro" - -msgid "Armenian" -msgstr "Armênio" - -msgid "Interlingua" -msgstr "Interlíngua" - -msgid "Indonesian" -msgstr "Indonésio" - -msgid "Igbo" -msgstr "" - -msgid "Ido" -msgstr "Ido" - -msgid "Icelandic" -msgstr "Islandês" - -msgid "Italian" -msgstr "Italiano" - -msgid "Japanese" -msgstr "Japonês" - -msgid "Georgian" -msgstr "Georgiano" - -msgid "Kabyle" -msgstr "Cabila" - -msgid "Kazakh" -msgstr "Cazaque" - -msgid "Khmer" -msgstr "Khmer" - -msgid "Kannada" -msgstr "Canarês" - -msgid "Korean" -msgstr "Coreano" - -msgid "Kyrgyz" -msgstr "" - -msgid "Luxembourgish" -msgstr "Luxemburguês" - -msgid "Lithuanian" -msgstr "Lituano" - -msgid "Latvian" -msgstr "Letão" - -msgid "Macedonian" -msgstr "Macedônio" - -msgid "Malayalam" -msgstr "Malaiala" - -msgid "Mongolian" -msgstr "Mongol" - -msgid "Marathi" -msgstr "Marathi" - -msgid "Burmese" -msgstr "Birmanês" - -msgid "Norwegian Bokmål" -msgstr "Dano-norueguês" - -msgid "Nepali" -msgstr "Nepalês" - -msgid "Dutch" -msgstr "Neerlandês" - -msgid "Norwegian Nynorsk" -msgstr "Novo Norueguês" - -msgid "Ossetic" -msgstr "Osseto" - -msgid "Punjabi" -msgstr "Punjabi" - -msgid "Polish" -msgstr "Polonês" - -msgid "Portuguese" -msgstr "Português" - -msgid "Brazilian Portuguese" -msgstr "Português Brasileiro" - -msgid "Romanian" -msgstr "Romeno" - -msgid "Russian" -msgstr "Russo" - -msgid "Slovak" -msgstr "Eslovaco" - -msgid "Slovenian" -msgstr "Esloveno" - -msgid "Albanian" -msgstr "Albanesa" - -msgid "Serbian" -msgstr "Sérvio" - -msgid "Serbian Latin" -msgstr "Sérvio Latino" - -msgid "Swedish" -msgstr "Sueco" - -msgid "Swahili" -msgstr "Suaíli" - -msgid "Tamil" -msgstr "Tâmil" - -msgid "Telugu" -msgstr "Telugu" - -msgid "Tajik" -msgstr "" - -msgid "Thai" -msgstr "Tailandês" - -msgid "Turkmen" -msgstr "" - -msgid "Turkish" -msgstr "Turco" - -msgid "Tatar" -msgstr "Tatar" - -msgid "Udmurt" -msgstr "Udmurt" - -msgid "Ukrainian" -msgstr "Ucraniano" - -msgid "Urdu" -msgstr "Urdu" - -msgid "Uzbek" -msgstr "Uzbeque" - -msgid "Vietnamese" -msgstr "Vietnamita" - -msgid "Simplified Chinese" -msgstr "Chinês Simplificado" - -msgid "Traditional Chinese" -msgstr "Chinês Tradicional" - -msgid "Messages" -msgstr "Mensagens" - -msgid "Site Maps" -msgstr "Site Maps" - -msgid "Static Files" -msgstr "Arquivos Estáticos" - -msgid "Syndication" -msgstr "Syndication" - -msgid "That page number is not an integer" -msgstr "Esse número de página não é um número inteiro" - -msgid "That page number is less than 1" -msgstr "Esse número de página é menor que 1" - -msgid "That page contains no results" -msgstr "Essa página não contém resultados" - -msgid "Enter a valid value." -msgstr "Informe um valor válido." - -msgid "Enter a valid URL." -msgstr "Informe uma URL válida." - -msgid "Enter a valid integer." -msgstr "Insira um número inteiro válido." - -msgid "Enter a valid email address." -msgstr "Informe um endereço de email válido." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" -"Informe um “slug” válido tendo letras, números, \"underscores\" e hífens." - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" -"Informe um “slug” válido tendo letras em Unicode, números, \"underscores\" e " -"hífens." - -msgid "Enter a valid IPv4 address." -msgstr "Insira um endereço IPv4 válido." - -msgid "Enter a valid IPv6 address." -msgstr "Insira um endereço IPv6 válido." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Insira um endereço IPv4 ou IPv6 válido." - -msgid "Enter only digits separated by commas." -msgstr "Insira apenas dígitos separados por vírgulas." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "Certifique-se de que o valor é %(limit_value)s (ele é %(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Certifique-se que este valor seja menor ou igual a %(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Certifique-se que este valor seja maior ou igual a %(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Certifique-se de que o valor tenha no mínimo %(limit_value)d caractere (ele " -"possui %(show_value)d)." -msgstr[1] "" -"Certifique-se de que o valor tenha no mínimo %(limit_value)d caracteres (ele " -"possui %(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Certifique-se de que o valor tenha no máximo %(limit_value)d caractere (ele " -"possui %(show_value)d)." -msgstr[1] "" -"Certifique-se de que o valor tenha no máximo %(limit_value)d caracteres (ele " -"possui %(show_value)d)." - -msgid "Enter a number." -msgstr "Informe um número." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Certifique-se de que não tenha mais de %(max)s dígito no total." -msgstr[1] "Certifique-se de que não tenha mais de %(max)s dígitos no total." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "Certifique-se de que não tenha mais de %(max)s casa decimal." -msgstr[1] "Certifique-se de que não tenha mais de %(max)s casas decimais." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -"Certifique-se de que não tenha mais de %(max)s dígito antes do ponto decimal." -msgstr[1] "" -"Certifique-se de que não tenha mais de %(max)s dígitos antes do ponto " -"decimal." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" -"A extensão de arquivo “%(extension)s” não é permitida. As extensões válidas " -"são: %(allowed_extensions)s ." - -msgid "Null characters are not allowed." -msgstr "Caracteres nulos não são permitidos." - -msgid "and" -msgstr "e" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "%(model_name)s com este %(field_labels)s já existe." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "Valor %(value)r não é uma opção válida." - -msgid "This field cannot be null." -msgstr "Este campo não pode ser nulo." - -msgid "This field cannot be blank." -msgstr "Este campo não pode estar vazio." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s com este %(field_label)s já existe." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(field_label)s deve ser único para %(date_field_label)s %(lookup_type)s." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Campo do tipo: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "o valor “%(value)s” deve ser True ou False." - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "o valor “%(value)s” deve ser True, False ou None." - -msgid "Boolean (Either True or False)" -msgstr "Booleano (Verdadeiro ou Falso)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "String (até %(max_length)s)" - -msgid "Comma-separated integers" -msgstr "Inteiros separados por vírgula" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" -"O valor \"%(value)s\" tem um formato de data inválido. Deve ser no formato " -"YYY-MM-DD." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" -"O valor “%(value)s” tem o formato correto (YYYY-MM-DD) mas uma data inválida." - -msgid "Date (without time)" -msgstr "Data (sem hora)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" -"O valor “%(value)s” tem um formato inválido. Deve estar no formato YYYY-MM-" -"DD HH:MM[:ss[.uuuuuu]][TZ]." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" -"O valor “%(value)s” está no formato correto. (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) mas é uma data/hora inválida" - -msgid "Date (with time)" -msgstr "Data (com hora)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "O valor “%(value)s” deve ser um número decimal." - -msgid "Decimal number" -msgstr "Número decimal" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" -"O valor “%(value)s” está em um formato inválido. Deve ser no formato [DD] " -"[[HH:]MM:]ss[.uuuuuu]." - -msgid "Duration" -msgstr "Duração" - -msgid "Email address" -msgstr "Endereço de e-mail" - -msgid "File path" -msgstr "Caminho do arquivo" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "O valor “%(value)s” deve ser um float." - -msgid "Floating point number" -msgstr "Número de ponto flutuante" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "O valor “%(value)s” deve ser inteiro." - -msgid "Integer" -msgstr "Inteiro" - -msgid "Big (8 byte) integer" -msgstr "Inteiro grande (8 byte)" - -msgid "IPv4 address" -msgstr "Endereço IPv4" - -msgid "IP address" -msgstr "Endereço IP" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "O valor “%(value)s” deve ser None, True ou False." - -msgid "Boolean (Either True, False or None)" -msgstr "Booleano (Verdadeiro, Falso ou Nada)" - -msgid "Positive big integer" -msgstr "Inteiro grande positivo" - -msgid "Positive integer" -msgstr "Inteiro positivo" - -msgid "Positive small integer" -msgstr "Inteiro curto positivo" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Slug (até %(max_length)s)" - -msgid "Small integer" -msgstr "Inteiro curto" - -msgid "Text" -msgstr "Texto" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" -"O valor “%(value)s” tem um formato inválido. Deve estar no formato HH:MM[:" -"ss[.uuuuuu]]." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" -"O valor “%(value)s” está no formato correto (HH:MM[:ss[.uuuuuu]]) mas é uma " -"hora inválida." - -msgid "Time" -msgstr "Hora" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Dados binários bruto" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "O valor “%(value)s” não é um UUID válido" - -msgid "Universally unique identifier" -msgstr "Identificador único universal" - -msgid "File" -msgstr "Arquivo" - -msgid "Image" -msgstr "Imagem" - -msgid "A JSON object" -msgstr "Um objeto JSON" - -msgid "Value must be valid JSON." -msgstr "o Valor deve ser um JSON válido" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "A instância de %(model)s com %(field)s %(value)r não existe." - -msgid "Foreign Key (type determined by related field)" -msgstr "Chave Estrangeira (tipo determinado pelo campo relacionado)" - -msgid "One-to-one relationship" -msgstr "Relacionamento um-para-um" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "Relacionamento %(from)s-%(to)s" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "Relacionamentos %(from)s-%(to)s" - -msgid "Many-to-many relationship" -msgstr "Relacionamento muitos-para-muitos" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Este campo é obrigatório." - -msgid "Enter a whole number." -msgstr "Informe um número inteiro." - -msgid "Enter a valid date." -msgstr "Informe uma data válida." - -msgid "Enter a valid time." -msgstr "Informe uma hora válida." - -msgid "Enter a valid date/time." -msgstr "Informe uma data/hora válida." - -msgid "Enter a valid duration." -msgstr "Insira uma duração válida." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "O número de dias deve ser entre {min_days} e {max_days}." - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Nenhum arquivo enviado. Verifique o tipo de codificação do formulário." - -msgid "No file was submitted." -msgstr "Nenhum arquivo foi enviado." - -msgid "The submitted file is empty." -msgstr "O arquivo enviado está vazio." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Certifique-se de que o arquivo tenha no máximo %(max)d caractere (ele possui " -"%(length)d)." -msgstr[1] "" -"Certifique-se de que o arquivo tenha no máximo %(max)d caracteres (ele " -"possui %(length)d)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "Por favor, envie um arquivo ou marque o checkbox, mas não ambos." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Envie uma imagem válida. O arquivo enviado não é uma imagem ou está " -"corrompido." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "Faça uma escolha válida. %(value)s não é uma das escolhas disponíveis." - -msgid "Enter a list of values." -msgstr "Informe uma lista de valores." - -msgid "Enter a complete value." -msgstr "Insira um valor completo." - -msgid "Enter a valid UUID." -msgstr "Insira um UUID válido." - -msgid "Enter a valid JSON." -msgstr "Insira um JSON válido" - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Campo oculto %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "Os dados do ManagementForm não foram encontrados ou foram adulterados" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Por favor envie %d ou menos formulário." -msgstr[1] "Por favor envie %d ou menos formulários." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "Por favor envie %d ou mais formulários." -msgstr[1] "Por favor envie %d ou mais formulários." - -msgid "Order" -msgstr "Ordem" - -msgid "Delete" -msgstr "Remover" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Por favor, corrija o valor duplicado para %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"Por favor, corrija o valor duplicado para %(field)s, o qual deve ser único." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Por favor, corrija o dado duplicado para %(field_name)s, o qual deve ser " -"único para %(lookup)s em %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "Por favor, corrija os valores duplicados abaixo." - -msgid "The inline value did not match the parent instance." -msgstr "O valor na linha não correspondeu com a instância pai." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "Faça uma escolha válida. Sua escolha não é uma das disponíveis." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "“%(pk)s” não é um valor válido." - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" -"%(datetime)s não pode ser interpretada dentro da fuso horário " -"%(current_timezone)s; está ambíguo ou não existe." - -msgid "Clear" -msgstr "Limpar" - -msgid "Currently" -msgstr "Atualmente" - -msgid "Change" -msgstr "Modificar" - -msgid "Unknown" -msgstr "Desconhecido" - -msgid "Yes" -msgstr "Sim" - -msgid "No" -msgstr "Não" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "sim,não,talvez" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d byte" -msgstr[1] "%(size)d bytes" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "p.m." - -msgid "a.m." -msgstr "a.m." - -msgid "PM" -msgstr "PM" - -msgid "AM" -msgstr "AM" - -msgid "midnight" -msgstr "meia-noite" - -msgid "noon" -msgstr "meio-dia" - -msgid "Monday" -msgstr "Segunda-feira" - -msgid "Tuesday" -msgstr "Terça-feira" - -msgid "Wednesday" -msgstr "Quarta-feira" - -msgid "Thursday" -msgstr "Quinta-feira" - -msgid "Friday" -msgstr "Sexta-feira" - -msgid "Saturday" -msgstr "Sábado" - -msgid "Sunday" -msgstr "Domingo" - -msgid "Mon" -msgstr "Seg" - -msgid "Tue" -msgstr "Ter" - -msgid "Wed" -msgstr "Qua" - -msgid "Thu" -msgstr "Qui" - -msgid "Fri" -msgstr "Sex" - -msgid "Sat" -msgstr "Sab" - -msgid "Sun" -msgstr "Dom" - -msgid "January" -msgstr "Janeiro" - -msgid "February" -msgstr "Fevereiro" - -msgid "March" -msgstr "Março" - -msgid "April" -msgstr "Abril" - -msgid "May" -msgstr "Maio" - -msgid "June" -msgstr "Junho" - -msgid "July" -msgstr "Julho" - -msgid "August" -msgstr "Agosto" - -msgid "September" -msgstr "Setembro" - -msgid "October" -msgstr "Outubro" - -msgid "November" -msgstr "Novembro" - -msgid "December" -msgstr "Dezembro" - -msgid "jan" -msgstr "jan" - -msgid "feb" -msgstr "fev" - -msgid "mar" -msgstr "mar" - -msgid "apr" -msgstr "abr" - -msgid "may" -msgstr "mai" - -msgid "jun" -msgstr "jun" - -msgid "jul" -msgstr "jul" - -msgid "aug" -msgstr "ago" - -msgid "sep" -msgstr "set" - -msgid "oct" -msgstr "out" - -msgid "nov" -msgstr "nov" - -msgid "dec" -msgstr "dez" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Jan." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Fev." - -msgctxt "abbrev. month" -msgid "March" -msgstr "Março" - -msgctxt "abbrev. month" -msgid "April" -msgstr "Abril" - -msgctxt "abbrev. month" -msgid "May" -msgstr "Maio" - -msgctxt "abbrev. month" -msgid "June" -msgstr "Junho" - -msgctxt "abbrev. month" -msgid "July" -msgstr "Julho" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Ago." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Set." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Out." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Nov." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Dez." - -msgctxt "alt. month" -msgid "January" -msgstr "Janeiro" - -msgctxt "alt. month" -msgid "February" -msgstr "Fevereiro" - -msgctxt "alt. month" -msgid "March" -msgstr "Março" - -msgctxt "alt. month" -msgid "April" -msgstr "Abril" - -msgctxt "alt. month" -msgid "May" -msgstr "Maio" - -msgctxt "alt. month" -msgid "June" -msgstr "Junho" - -msgctxt "alt. month" -msgid "July" -msgstr "Julho" - -msgctxt "alt. month" -msgid "August" -msgstr "Agosto" - -msgctxt "alt. month" -msgid "September" -msgstr "Setembro" - -msgctxt "alt. month" -msgid "October" -msgstr "Outubro" - -msgctxt "alt. month" -msgid "November" -msgstr "Novembro" - -msgctxt "alt. month" -msgid "December" -msgstr "Dezembro" - -msgid "This is not a valid IPv6 address." -msgstr "Este não é um endereço IPv6 válido." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr " %(truncated_text)s..." - -msgid "or" -msgstr "ou" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d ano" -msgstr[1] "%d anos" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d mês" -msgstr[1] "%d meses" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d semana" -msgstr[1] "%d semanas" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d dia" -msgstr[1] "%d dias" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d hora" -msgstr[1] "%d horas" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d minuto" -msgstr[1] "%d minutos" - -msgid "Forbidden" -msgstr "Proibido" - -msgid "CSRF verification failed. Request aborted." -msgstr "Verificação CSRF falhou. Pedido cancelado." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" -"Você está vendo esta mensagem porque este site HTTPS requer que um “Referer " -"header” seja enviado pelo seu Web browser, mas nenhum foi enviado. Este " -"cabeçalho é requierido por razões de segurança, para assegurar que seu " -"browser não foi sequestrado por terceiros." - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" -"Se você configurou seu browser para desabilitar os cabeçalhos “Referer”, por " -"favor reabilite-os, ao menos para este site, ou para conexões HTTPS, ou para " -"requisições “same-origin”." - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" -"Se estiver usando a tag ou " -"incluindo o cabeçalho “Referrer-Policy: no-referrer”, por favor remova-os. A " -"proteção CSRF requer o cabeçalho “Referer” para fazer a checagem de " -"referência. Se estiver preocupado com privacidade, use alternativas como para links de sites de terceiros." - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Você está vendo esta mensagem, porque este site requer um cookie CSRF no " -"envio de formulários. Este cookie é necessário por razões de segurança, para " -"garantir que o seu browser não está sendo sequestrado por terceiros." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" -"Se você configurou seu browser para desabilitar cookies, por favor reabilite-" -"os, ao menos para este site ou para requisições do tipo \"same-origin\"." - -msgid "More information is available with DEBUG=True." -msgstr "Mais informações estão disponíveis com DEBUG=True." - -msgid "No year specified" -msgstr "Ano não especificado" - -msgid "Date out of range" -msgstr "Data fora de alcance" - -msgid "No month specified" -msgstr "Mês não especificado" - -msgid "No day specified" -msgstr "Dia não especificado" - -msgid "No week specified" -msgstr "Semana não especificada" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "Nenhum(a) %(verbose_name_plural)s disponível" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"%(verbose_name_plural)s futuros não disponíveis pois %(class_name)s." -"allow_future é False." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" -"String de data com formato inválido “%(datestr)s” dado o formato “%(format)s”" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "%(verbose_name)s não encontrado de acordo com a consulta" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "Página não é “last”, e também não pode ser convertida para um int." - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Página inválida (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "Lista vazia e o \"%(class_name)s.allow_empty\" está como False." - -msgid "Directory indexes are not allowed here." -msgstr "Índices de diretório não são permitidos aqui." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "\"%(path)s\" não existe" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Índice de %(directory)s " - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "Django: o framework web para perfeccionistas com prazo de entrega." - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"Ver as notas de lançamento do Django " -"%(version)s" - -msgid "The install worked successfully! Congratulations!" -msgstr "A instalação foi com sucesso! Parabéns!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"Você está vendo esta página pois possui DEBUG=True no seu arquivo de configurações e não configurou nenhuma " -"URL." - -msgid "Django Documentation" -msgstr "Documentação do Django" - -msgid "Topics, references, & how-to’s" -msgstr "Tópicos, referências, & how-to’s" - -msgid "Tutorial: A Polling App" -msgstr "Tutorial: Um aplicativo de votação" - -msgid "Get started with Django" -msgstr "Comece a usar Django" - -msgid "Django Community" -msgstr "Comunidade Django" - -msgid "Connect, get help, or contribute" -msgstr "Conecte-se, obtenha ajuda ou contribua" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/pt_BR/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/pt_BR/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/pt_BR/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/pt_BR/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 1fe05b13..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/pt_BR/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/pt_BR/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/pt_BR/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 6776decd..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/pt_BR/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/pt_BR/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/pt_BR/formats.py deleted file mode 100644 index ed0c09fc..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/pt_BR/formats.py +++ /dev/null @@ -1,31 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = r'j \d\e F \d\e Y' -TIME_FORMAT = 'H:i' -DATETIME_FORMAT = r'j \d\e F \d\e Y à\s H:i' -YEAR_MONTH_FORMAT = r'F \d\e Y' -MONTH_DAY_FORMAT = r'j \d\e F' -SHORT_DATE_FORMAT = 'd/m/Y' -SHORT_DATETIME_FORMAT = 'd/m/Y H:i' -FIRST_DAY_OF_WEEK = 0 # Sunday - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -DATE_INPUT_FORMATS = [ - '%d/%m/%Y', '%d/%m/%y', # '25/10/2006', '25/10/06' - # '%d de %b de %Y', '%d de %b, %Y', # '25 de Out de 2006', '25 Out, 2006' - # '%d de %B de %Y', '%d de %B, %Y', # '25 de Outubro de 2006', '25 de Outubro, 2006' -] -DATETIME_INPUT_FORMATS = [ - '%d/%m/%Y %H:%M:%S', # '25/10/2006 14:30:59' - '%d/%m/%Y %H:%M:%S.%f', # '25/10/2006 14:30:59.000200' - '%d/%m/%Y %H:%M', # '25/10/2006 14:30' - '%d/%m/%y %H:%M:%S', # '25/10/06 14:30:59' - '%d/%m/%y %H:%M:%S.%f', # '25/10/06 14:30:59.000200' - '%d/%m/%y %H:%M', # '25/10/06 14:30' -] -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = '.' -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ro/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/ro/LC_MESSAGES/django.mo deleted file mode 100644 index 6d863c29..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/ro/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ro/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/ro/LC_MESSAGES/django.po deleted file mode 100644 index 49dc8280..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/ro/LC_MESSAGES/django.po +++ /dev/null @@ -1,1284 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Abel Radac , 2017 -# Bogdan Mateescu, 2018-2019 -# mihneasim , 2011 -# Daniel Ursache-Dogariu, 2011 -# Denis Darii , 2011,2014 -# Ionel Cristian Mărieș , 2012 -# Jannis Leidel , 2011 -# Răzvan Ionescu , 2015 -# Razvan Stefanescu , 2016-2017 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-27 22:40+0200\n" -"PO-Revision-Date: 2019-11-05 05:57+0000\n" -"Last-Translator: Bogdan Mateescu\n" -"Language-Team: Romanian (http://www.transifex.com/django/django/language/" -"ro/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ro\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" -"2:1));\n" - -msgid "Afrikaans" -msgstr "Afrikaans" - -msgid "Arabic" -msgstr "Arabă" - -msgid "Asturian" -msgstr "Asturiană" - -msgid "Azerbaijani" -msgstr "Azeră" - -msgid "Bulgarian" -msgstr "Bulgară" - -msgid "Belarusian" -msgstr "Bielorusă" - -msgid "Bengali" -msgstr "Bengaleză" - -msgid "Breton" -msgstr "Bretonă" - -msgid "Bosnian" -msgstr "Bosniacă" - -msgid "Catalan" -msgstr "Catalană" - -msgid "Czech" -msgstr "Cehă" - -msgid "Welsh" -msgstr "Galeză" - -msgid "Danish" -msgstr "Daneză" - -msgid "German" -msgstr "Germană" - -msgid "Lower Sorbian" -msgstr "Soraba Inferioară" - -msgid "Greek" -msgstr "Greacă" - -msgid "English" -msgstr "Engleză" - -msgid "Australian English" -msgstr "Engleză australiană" - -msgid "British English" -msgstr "Engleză britanică" - -msgid "Esperanto" -msgstr "Esperanto" - -msgid "Spanish" -msgstr "Spaniolă" - -msgid "Argentinian Spanish" -msgstr "Spaniolă Argentiniană" - -msgid "Colombian Spanish" -msgstr "Spaniolă Columbiană" - -msgid "Mexican Spanish" -msgstr "Spaniolă Mexicană" - -msgid "Nicaraguan Spanish" -msgstr "Spaniolă Nicaragua" - -msgid "Venezuelan Spanish" -msgstr "Spaniolă venezueleană" - -msgid "Estonian" -msgstr "Estonă" - -msgid "Basque" -msgstr "Bască" - -msgid "Persian" -msgstr "Persană" - -msgid "Finnish" -msgstr "Finlandeză" - -msgid "French" -msgstr "Franceză" - -msgid "Frisian" -msgstr "Frizian" - -msgid "Irish" -msgstr "Irlandeză" - -msgid "Scottish Gaelic" -msgstr "Galeză Scoțiană" - -msgid "Galician" -msgstr "Galiciană" - -msgid "Hebrew" -msgstr "Ebraică" - -msgid "Hindi" -msgstr "Hindi" - -msgid "Croatian" -msgstr "Croată" - -msgid "Upper Sorbian" -msgstr "Soraba Superioară" - -msgid "Hungarian" -msgstr "Ungară" - -msgid "Armenian" -msgstr "Armeană" - -msgid "Interlingua" -msgstr "Interlingua" - -msgid "Indonesian" -msgstr "Indoneză" - -msgid "Ido" -msgstr "Ido" - -msgid "Icelandic" -msgstr "Islandeză" - -msgid "Italian" -msgstr "Italiană" - -msgid "Japanese" -msgstr "Japoneză" - -msgid "Georgian" -msgstr "Georgiană" - -msgid "Kabyle" -msgstr "Kabyle" - -msgid "Kazakh" -msgstr "Kazahă" - -msgid "Khmer" -msgstr "Khmeră" - -msgid "Kannada" -msgstr "Limba kannada" - -msgid "Korean" -msgstr "Koreană" - -msgid "Luxembourgish" -msgstr "Luxemburgheză" - -msgid "Lithuanian" -msgstr "Lituaniană" - -msgid "Latvian" -msgstr "Letonă" - -msgid "Macedonian" -msgstr "Macedoneană" - -msgid "Malayalam" -msgstr "Malayalam" - -msgid "Mongolian" -msgstr "Mongolă" - -msgid "Marathi" -msgstr "Marathi" - -msgid "Burmese" -msgstr "Burmeză" - -msgid "Norwegian Bokmål" -msgstr "Norvegiana modernă" - -msgid "Nepali" -msgstr "Nepaleză" - -msgid "Dutch" -msgstr "Olandeză" - -msgid "Norwegian Nynorsk" -msgstr "Norvegiană Nynorsk" - -msgid "Ossetic" -msgstr "Osețiană" - -msgid "Punjabi" -msgstr "Punjabi" - -msgid "Polish" -msgstr "Poloneză" - -msgid "Portuguese" -msgstr "Portugheză" - -msgid "Brazilian Portuguese" -msgstr "Portugheză braziliană" - -msgid "Romanian" -msgstr "Română" - -msgid "Russian" -msgstr "Rusă" - -msgid "Slovak" -msgstr "Slovacă" - -msgid "Slovenian" -msgstr "Slovenă" - -msgid "Albanian" -msgstr "Albaneză" - -msgid "Serbian" -msgstr "Sârbă" - -msgid "Serbian Latin" -msgstr "Sârbă latină" - -msgid "Swedish" -msgstr "Suedeză" - -msgid "Swahili" -msgstr "Swahili" - -msgid "Tamil" -msgstr "Limba tamila" - -msgid "Telugu" -msgstr "Limba telugu" - -msgid "Thai" -msgstr "Tailandeză" - -msgid "Turkish" -msgstr "Turcă" - -msgid "Tatar" -msgstr "Tătară" - -msgid "Udmurt" -msgstr "Udmurtă" - -msgid "Ukrainian" -msgstr "Ucraineană" - -msgid "Urdu" -msgstr "Urdu" - -msgid "Uzbek" -msgstr "Uzbecă" - -msgid "Vietnamese" -msgstr "Vietnameză" - -msgid "Simplified Chinese" -msgstr "Chineză simplificată" - -msgid "Traditional Chinese" -msgstr "Chineză tradițională" - -msgid "Messages" -msgstr "Mesaje" - -msgid "Site Maps" -msgstr "Harta sit-ului" - -msgid "Static Files" -msgstr "Fișiere statice" - -msgid "Syndication" -msgstr "Sindicalizare" - -msgid "That page number is not an integer" -msgstr "Numărul de pagină nu este întreg" - -msgid "That page number is less than 1" -msgstr "Numărul de pagină este mai mic decât 1" - -msgid "That page contains no results" -msgstr "Această pagină nu conține nici un rezultat" - -msgid "Enter a valid value." -msgstr "Introduceți o valoare validă." - -msgid "Enter a valid URL." -msgstr "Introduceți un URL valid." - -msgid "Enter a valid integer." -msgstr "Introduceți un întreg valid." - -msgid "Enter a valid email address." -msgstr "Introduceți o adresă de email validă." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" -"Introduceți un “slug” valid care constă în litere, numere, underscore sau " -"cratime." - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "Introduceţi o adresă IPv4 validă." - -msgid "Enter a valid IPv6 address." -msgstr "Intoduceți o adresă IPv6 validă." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Introduceți o adresă IPv4 sau IPv6 validă." - -msgid "Enter only digits separated by commas." -msgstr "Introduceţi numai numere separate de virgule." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" -"Asiguraţi-vă că această valoare este %(limit_value)s (este %(show_value)s )." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "" -"Asiguraţi-vă că această valoare este mai mică sau egală cu %(limit_value)s ." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "" -"Asiguraţi-vă că această valoare este mai mare sau egală cu %(limit_value)s ." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Asigurați-vă că această valoare are cel puțin %(limit_value)d caracter (are " -"%(show_value)d)." -msgstr[1] "" -"Asigurați-vă că această valoare are cel puțin %(limit_value)d caractere (are " -"%(show_value)d)." -msgstr[2] "" -"Asigurați-vă că această valoare are cel puțin %(limit_value)d de caractere " -"(are %(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Asigurați-vă că această valoare are cel mult %(limit_value)d caracter (are " -"%(show_value)d)." -msgstr[1] "" -"Asigurați-vă că această valoare are cel mult %(limit_value)d caractere (are " -"%(show_value)d)." -msgstr[2] "" -"Asigurați-vă că această valoare are cel mult %(limit_value)d de caractere " -"(are %(show_value)d)." - -msgid "Enter a number." -msgstr "Introduceţi un număr." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Asigurați-vă că nu este mai mult de %(max)s cifră în total." -msgstr[1] "Asigurați-vă că nu sunt mai mult de %(max)s cifre în total." -msgstr[2] "Asigurați-vă că nu sunt mai mult de %(max)s de cifre în total." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "Asigurați-vă că nu este mai mult de %(max)s zecimală în total." -msgstr[1] "Asigurați-vă că nu sunt mai mult de %(max)s zecimale în total." -msgstr[2] "Asigurați-vă că nu sunt mai mult de %(max)s de zecimale în total." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -"Asigurați-vă că nu este mai mult de %(max)s cifră înainte de punctul zecimal." -msgstr[1] "" -"Asigurați-vă că nu sunt mai mult de %(max)s cifre înainte de punctul zecimal." -msgstr[2] "" -"Asigurați-vă că nu sunt mai mult de %(max)s de cifre înainte de punctul " -"zecimal." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "Caracterele Null nu sunt permise." - -msgid "and" -msgstr "și" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "%(model_name)s cu acest %(field_labels)s există deja." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "Valoarea %(value)r nu este o opțiune validă." - -msgid "This field cannot be null." -msgstr "Acest câmp nu poate fi nul." - -msgid "This field cannot be blank." -msgstr "Acest câmp nu poate fi gol." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s cu %(field_label)s deja există." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(field_label)s trebuie să fie unic(e) pentru %(date_field_label)s " -"%(lookup_type)s." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Câmp de tip: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "Boolean (adevărat sau fals)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Şir de caractere (cel mult %(max_length)s caractere)" - -msgid "Comma-separated integers" -msgstr "Numere întregi separate de virgule" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "Dată (fară oră)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "Dată (cu oră)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "Număr zecimal" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "Durată" - -msgid "Email address" -msgstr "Adresă e-mail" - -msgid "File path" -msgstr "Calea fisierului" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "Număr cu virgulă" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "Întreg" - -msgid "Big (8 byte) integer" -msgstr "Întreg mare (8 octeți)" - -msgid "IPv4 address" -msgstr "Adresă IPv4" - -msgid "IP address" -msgstr "Adresă IP" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "Boolean (adevărat, fals sau niciuna)" - -msgid "Positive integer" -msgstr "Întreg pozitiv" - -msgid "Positive small integer" -msgstr "Întreg pozitiv mic" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Slug (până la %(max_length)s)" - -msgid "Small integer" -msgstr "Întreg mic" - -msgid "Text" -msgstr "Text" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "Timp" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Date binare brute" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "Identificator unic universal" - -msgid "File" -msgstr "Fișier" - -msgid "Image" -msgstr "Imagine" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "Instanța %(model)s cu %(field)s %(value)r inexistentă." - -msgid "Foreign Key (type determined by related field)" -msgstr "Foreign Key (tip determinat de câmpul aferent)" - -msgid "One-to-one relationship" -msgstr "Relaţie unul-la-unul" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "Relație %(from)s-%(to)s" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "Relații %(from)s-%(to)s" - -msgid "Many-to-many relationship" -msgstr "Relație multe-la-multe" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Acest câmp este obligatoriu." - -msgid "Enter a whole number." -msgstr "Introduceţi un număr întreg." - -msgid "Enter a valid date." -msgstr "Introduceți o dată validă." - -msgid "Enter a valid time." -msgstr "Introduceți o oră validă." - -msgid "Enter a valid date/time." -msgstr "Introduceți o dată/oră validă." - -msgid "Enter a valid duration." -msgstr "Introduceți o durată validă." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "Numărul de zile trebuie să fie cuprins între {min_days} și {max_days}." - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Nici un fișier nu a fost trimis. Verificați tipul fișierului." - -msgid "No file was submitted." -msgstr "Nici un fișier nu a fost trimis." - -msgid "The submitted file is empty." -msgstr "Fișierul încărcat este gol." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Asigurați-vă că numele fișierului are cel mult %(max)d caracter (are " -"%(length)d)." -msgstr[1] "" -"Asigurați-vă că numele fișierului are cel mult %(max)d caractere (are " -"%(length)d)." -msgstr[2] "" -"Asigurați-vă că numele fișierului are cel mult %(max)d de caractere (are " -"%(length)d)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "Fie indicați un fişier, fie bifaţi caseta de selectare, nu ambele." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Încărcaţi o imagine validă. Fişierul încărcat nu era o imagine sau era o " -"imagine coruptă." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "" -"Selectați o opțiune validă. %(value)s nu face parte din opțiunile " -"disponibile." - -msgid "Enter a list of values." -msgstr "Introduceți o listă de valori." - -msgid "Enter a complete value." -msgstr "Introduceți o valoare completă." - -msgid "Enter a valid UUID." -msgstr "Introduceți un UUID valid." - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Câmp ascuns %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "Datele pentru ManagementForm lipsesc sau au fost alterate" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Trimiteți maxim %d formular." -msgstr[1] "Trimiteți maxim %d formulare." -msgstr[2] "Trimiteți maxim %d de formulare." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "Trimiteți minim %d formular." -msgstr[1] "Trimiteți minim %d formulare." -msgstr[2] "Trimiteți minim %d de formulare." - -msgid "Order" -msgstr "Ordine" - -msgid "Delete" -msgstr "Șterge" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Corectaţi datele duplicate pentru %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "Corectaţi datele duplicate pentru %(field)s , ce trebuie să fie unic." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Corectaţi datele duplicate pentru %(field_name)s , care trebuie să fie unice " -"pentru %(lookup)s în %(date_field)s ." - -msgid "Please correct the duplicate values below." -msgstr "Corectaţi valorile duplicate de mai jos." - -msgid "The inline value did not match the parent instance." -msgstr "Valoarea în linie nu s-a potrivit cu instanța părinte." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" -"Selectați o opțiune validă. Această opțiune nu face parte din opțiunile " -"disponibile." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "Șterge" - -msgid "Currently" -msgstr "În prezent" - -msgid "Change" -msgstr "Schimbă" - -msgid "Unknown" -msgstr "Necunoscut" - -msgid "Yes" -msgstr "Da" - -msgid "No" -msgstr "Nu" - -msgid "Year" -msgstr "Anul" - -msgid "Month" -msgstr "Luna" - -msgid "Day" -msgstr "Ziua" - -msgid "yes,no,maybe" -msgstr "da,nu,poate" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d octet" -msgstr[1] "%(size)d octeţi" -msgstr[2] "%(size)d de octeţi" - -#, python-format -msgid "%s KB" -msgstr "%s KO" - -#, python-format -msgid "%s MB" -msgstr "%s MO" - -#, python-format -msgid "%s GB" -msgstr "%s GO" - -#, python-format -msgid "%s TB" -msgstr "%s TO" - -#, python-format -msgid "%s PB" -msgstr "%s PO" - -msgid "p.m." -msgstr "p.m." - -msgid "a.m." -msgstr "a.m." - -msgid "PM" -msgstr "PM" - -msgid "AM" -msgstr "AM" - -msgid "midnight" -msgstr "miezul nopții" - -msgid "noon" -msgstr "amiază" - -msgid "Monday" -msgstr "Luni" - -msgid "Tuesday" -msgstr "Marți" - -msgid "Wednesday" -msgstr "Miercuri" - -msgid "Thursday" -msgstr "Joi" - -msgid "Friday" -msgstr "Vineri" - -msgid "Saturday" -msgstr "Sâmbătă" - -msgid "Sunday" -msgstr "Duminică" - -msgid "Mon" -msgstr "Lun" - -msgid "Tue" -msgstr "Mar" - -msgid "Wed" -msgstr "Mie" - -msgid "Thu" -msgstr "Joi" - -msgid "Fri" -msgstr "Vin" - -msgid "Sat" -msgstr "Sâm" - -msgid "Sun" -msgstr "Dum" - -msgid "January" -msgstr "Ianuarie" - -msgid "February" -msgstr "Februarie" - -msgid "March" -msgstr "Martie" - -msgid "April" -msgstr "Aprilie" - -msgid "May" -msgstr "Mai" - -msgid "June" -msgstr "Iunie" - -msgid "July" -msgstr "Iulie" - -msgid "August" -msgstr "August" - -msgid "September" -msgstr "Septembrie" - -msgid "October" -msgstr "Octombrie" - -msgid "November" -msgstr "Noiembrie" - -msgid "December" -msgstr "Decembrie" - -msgid "jan" -msgstr "ian" - -msgid "feb" -msgstr "feb" - -msgid "mar" -msgstr "mar" - -msgid "apr" -msgstr "apr" - -msgid "may" -msgstr "mai" - -msgid "jun" -msgstr "iun" - -msgid "jul" -msgstr "iul" - -msgid "aug" -msgstr "aug" - -msgid "sep" -msgstr "sep" - -msgid "oct" -msgstr "oct" - -msgid "nov" -msgstr "noi" - -msgid "dec" -msgstr "dec" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Ian." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Feb." - -msgctxt "abbrev. month" -msgid "March" -msgstr "Martie" - -msgctxt "abbrev. month" -msgid "April" -msgstr "Aprilie" - -msgctxt "abbrev. month" -msgid "May" -msgstr "Mai" - -msgctxt "abbrev. month" -msgid "June" -msgstr "Iunie" - -msgctxt "abbrev. month" -msgid "July" -msgstr "Iulie" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Aug." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Sept." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Oct." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Noie." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Dec." - -msgctxt "alt. month" -msgid "January" -msgstr "Ianuarie" - -msgctxt "alt. month" -msgid "February" -msgstr "Februarie" - -msgctxt "alt. month" -msgid "March" -msgstr "Martie" - -msgctxt "alt. month" -msgid "April" -msgstr "Aprilie" - -msgctxt "alt. month" -msgid "May" -msgstr "Mai" - -msgctxt "alt. month" -msgid "June" -msgstr "Iunie" - -msgctxt "alt. month" -msgid "July" -msgstr "Iulie" - -msgctxt "alt. month" -msgid "August" -msgstr "August" - -msgctxt "alt. month" -msgid "September" -msgstr "Septembrie" - -msgctxt "alt. month" -msgid "October" -msgstr "Octombrie" - -msgctxt "alt. month" -msgid "November" -msgstr "Noiembrie" - -msgctxt "alt. month" -msgid "December" -msgstr "Decembrie" - -msgid "This is not a valid IPv6 address." -msgstr "Aceasta nu este o adresă IPv6 validă." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s…" - -msgid "or" -msgstr "sau" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d an" -msgstr[1] "%d ani" -msgstr[2] "%d de ani" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d lună" -msgstr[1] "%d luni" -msgstr[2] "%d de luni" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d săptămână" -msgstr[1] "%d săptămâni" -msgstr[2] "%d de săptămâni" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d zi" -msgstr[1] "%d zile" -msgstr[2] "%d de zile" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d oră" -msgstr[1] "%d ore" -msgstr[2] "%d de ore" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d minut" -msgstr[1] "%d minute" -msgstr[2] "%d de minute" - -msgid "0 minutes" -msgstr "0 minute" - -msgid "Forbidden" -msgstr "Interzis" - -msgid "CSRF verification failed. Request aborted." -msgstr "Verificarea CSRF nereușită. Cerere eșuată." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Vedeți acest mesaj deoarece această pagină web necesită un cookie CSRF la " -"trimiterea formularelor. Acest cookie este necesar din motive de securitate, " -"pentru a se asigura că browserul nu este deturnat de terți." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "Mai multe informații sunt disponibile pentru DEBUG=True." - -msgid "No year specified" -msgstr "Niciun an specificat" - -msgid "Date out of range" -msgstr "Dată în afara intervalului" - -msgid "No month specified" -msgstr "Nicio lună specificată" - -msgid "No day specified" -msgstr "Nicio zi specificată" - -msgid "No week specified" -msgstr "Nicio săptămîna specificată" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "%(verbose_name_plural)s nu e disponibil" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"Viitorul %(verbose_name_plural)s nu e disponibil deoarece %(class_name)s ." -"allow_future este Fals." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Niciun rezultat pentru %(verbose_name)s care se potrivesc interogării" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Pagină invalidă (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "Aici nu sunt permise indexuri la directoare" - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Index pentru %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "Django: Framework-ul web pentru perfecționiști cu termene limită." - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"Vezi notele de lansare pentru Django " -"%(version)s" - -msgid "The install worked successfully! Congratulations!" -msgstr "Instalarea a funcționat cu succes! Felicitări!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"Vedeți această pagină deoarece DEBUG=True este în fișierul de setări și nu ați configurat niciun URL." - -msgid "Django Documentation" -msgstr "Documentația Django" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "Tutorial: O aplicație de votare" - -msgid "Get started with Django" -msgstr "Începeți cu Django" - -msgid "Django Community" -msgstr "Comunitatea Django" - -msgid "Connect, get help, or contribute" -msgstr "Conectați-vă, obțineți ajutor sau contribuiți" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ro/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/ro/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ro/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/ro/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index d086446a..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/ro/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ro/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/ro/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 4934c016..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/ro/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ro/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/ro/formats.py deleted file mode 100644 index 8cefeb83..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/ro/formats.py +++ /dev/null @@ -1,35 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'j F Y' -TIME_FORMAT = 'H:i' -DATETIME_FORMAT = 'j F Y, H:i' -YEAR_MONTH_FORMAT = 'F Y' -MONTH_DAY_FORMAT = 'j F' -SHORT_DATE_FORMAT = 'd.m.Y' -SHORT_DATETIME_FORMAT = 'd.m.Y, H:i' -FIRST_DAY_OF_WEEK = 1 - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -DATE_INPUT_FORMATS = [ - '%d.%m.%Y', - '%d.%b.%Y', - '%d %B %Y', - '%A, %d %B %Y', -] -TIME_INPUT_FORMATS = [ - '%H:%M', - '%H:%M:%S', - '%H:%M:%S.%f', -] -DATETIME_INPUT_FORMATS = [ - '%d.%m.%Y, %H:%M', - '%d.%m.%Y, %H:%M:%S', - '%d.%B.%Y, %H:%M', - '%d.%B.%Y, %H:%M:%S', -] -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = '.' -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ru/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/ru/LC_MESSAGES/django.mo deleted file mode 100644 index 322e7645..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/ru/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ru/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/ru/LC_MESSAGES/django.po deleted file mode 100644 index 7f9b300d..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/ru/LC_MESSAGES/django.po +++ /dev/null @@ -1,1377 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Mingun , 2014 -# Anton Bazhanov , 2017 -# Denis Darii , 2011 -# Dimmus , 2011 -# eigrad , 2012 -# Eugene , 2013 -# eXtractor , 2015 -# crazyzubr , 2020 -# Igor Melnyk, 2014 -# Ivan Khomutov , 2017 -# Jannis Leidel , 2011 -# lilo.panic, 2016 -# Mikhail Zholobov , 2013 -# Nikolay Korotkiy , 2018 -# Вася Аникин , 2017 -# SeryiMysh , 2020 -# Алексей Борискин , 2013-2017,2019-2020 -# Дмитрий Шатера , 2016,2018 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-07-21 09:34+0000\n" -"Last-Translator: crazyzubr \n" -"Language-Team: Russian (http://www.transifex.com/django/django/language/" -"ru/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ru\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" -"%100>=11 && n%100<=14)? 2 : 3);\n" - -msgid "Afrikaans" -msgstr "Бурский" - -msgid "Arabic" -msgstr "Арабский" - -msgid "Algerian Arabic" -msgstr "Алжирский арабский" - -msgid "Asturian" -msgstr "Астурийский" - -msgid "Azerbaijani" -msgstr "Азербайджанский" - -msgid "Bulgarian" -msgstr "Болгарский" - -msgid "Belarusian" -msgstr "Белоруский" - -msgid "Bengali" -msgstr "Бенгальский" - -msgid "Breton" -msgstr "Бретонский" - -msgid "Bosnian" -msgstr "Боснийский" - -msgid "Catalan" -msgstr "Каталанский" - -msgid "Czech" -msgstr "Чешский" - -msgid "Welsh" -msgstr "Уэльский" - -msgid "Danish" -msgstr "Датский" - -msgid "German" -msgstr "Немецкий" - -msgid "Lower Sorbian" -msgstr "Нижнелужицкий" - -msgid "Greek" -msgstr "Греческий" - -msgid "English" -msgstr "Английский" - -msgid "Australian English" -msgstr "Австралийский английский" - -msgid "British English" -msgstr "Британский английский" - -msgid "Esperanto" -msgstr "Эсперанто" - -msgid "Spanish" -msgstr "Испанский" - -msgid "Argentinian Spanish" -msgstr "Аргентинский испанский" - -msgid "Colombian Spanish" -msgstr "Колумбийский испанский" - -msgid "Mexican Spanish" -msgstr "Мексиканский испанский" - -msgid "Nicaraguan Spanish" -msgstr "Никарагуанский испанский" - -msgid "Venezuelan Spanish" -msgstr "Венесуэльский Испанский" - -msgid "Estonian" -msgstr "Эстонский" - -msgid "Basque" -msgstr "Баскский" - -msgid "Persian" -msgstr "Персидский" - -msgid "Finnish" -msgstr "Финский" - -msgid "French" -msgstr "Французский" - -msgid "Frisian" -msgstr "Фризский" - -msgid "Irish" -msgstr "Ирландский" - -msgid "Scottish Gaelic" -msgstr "Шотландский гэльский" - -msgid "Galician" -msgstr "Галисийский" - -msgid "Hebrew" -msgstr "Иврит" - -msgid "Hindi" -msgstr "Хинди" - -msgid "Croatian" -msgstr "Хорватский" - -msgid "Upper Sorbian" -msgstr "Верхнелужицкий" - -msgid "Hungarian" -msgstr "Венгерский" - -msgid "Armenian" -msgstr "Армянский" - -msgid "Interlingua" -msgstr "Интерлингва" - -msgid "Indonesian" -msgstr "Индонезийский" - -msgid "Igbo" -msgstr "Игбо" - -msgid "Ido" -msgstr "Идо" - -msgid "Icelandic" -msgstr "Исландский" - -msgid "Italian" -msgstr "Итальянский" - -msgid "Japanese" -msgstr "Японский" - -msgid "Georgian" -msgstr "Грузинский" - -msgid "Kabyle" -msgstr "Кабильский" - -msgid "Kazakh" -msgstr "Казахский" - -msgid "Khmer" -msgstr "Кхмерский" - -msgid "Kannada" -msgstr "Каннада" - -msgid "Korean" -msgstr "Корейский" - -msgid "Kyrgyz" -msgstr "Киргизский" - -msgid "Luxembourgish" -msgstr "Люксембургский" - -msgid "Lithuanian" -msgstr "Литовский" - -msgid "Latvian" -msgstr "Латвийский" - -msgid "Macedonian" -msgstr "Македонский" - -msgid "Malayalam" -msgstr "Малаялам" - -msgid "Mongolian" -msgstr "Монгольский" - -msgid "Marathi" -msgstr "Маратхи" - -msgid "Burmese" -msgstr "Бирманский" - -msgid "Norwegian Bokmål" -msgstr "Норвежский (Букмол)" - -msgid "Nepali" -msgstr "Непальский" - -msgid "Dutch" -msgstr "Голландский" - -msgid "Norwegian Nynorsk" -msgstr "Норвежский (Нюнорск)" - -msgid "Ossetic" -msgstr "Осетинский" - -msgid "Punjabi" -msgstr "Панджаби" - -msgid "Polish" -msgstr "Польский" - -msgid "Portuguese" -msgstr "Португальский" - -msgid "Brazilian Portuguese" -msgstr "Бразильский португальский" - -msgid "Romanian" -msgstr "Румынский" - -msgid "Russian" -msgstr "Русский" - -msgid "Slovak" -msgstr "Словацкий" - -msgid "Slovenian" -msgstr "Словенский" - -msgid "Albanian" -msgstr "Албанский" - -msgid "Serbian" -msgstr "Сербский" - -msgid "Serbian Latin" -msgstr "Сербский (латиница)" - -msgid "Swedish" -msgstr "Шведский" - -msgid "Swahili" -msgstr "Суахили" - -msgid "Tamil" -msgstr "Тамильский" - -msgid "Telugu" -msgstr "Телугу" - -msgid "Tajik" -msgstr "Таджикский" - -msgid "Thai" -msgstr "Тайский" - -msgid "Turkmen" -msgstr "Туркменский" - -msgid "Turkish" -msgstr "Турецкий" - -msgid "Tatar" -msgstr "Татарский" - -msgid "Udmurt" -msgstr "Удмуртский" - -msgid "Ukrainian" -msgstr "Украинский" - -msgid "Urdu" -msgstr "Урду" - -msgid "Uzbek" -msgstr "Узбекский" - -msgid "Vietnamese" -msgstr "Вьетнамский" - -msgid "Simplified Chinese" -msgstr "Упрощенный китайский" - -msgid "Traditional Chinese" -msgstr "Традиционный китайский" - -msgid "Messages" -msgstr "Сообщения" - -msgid "Site Maps" -msgstr "Карта сайта" - -msgid "Static Files" -msgstr "Статические файлы" - -msgid "Syndication" -msgstr "Ленты новостей" - -msgid "That page number is not an integer" -msgstr "Номер страницы не является натуральным числом" - -msgid "That page number is less than 1" -msgstr "Номер страницы меньше 1" - -msgid "That page contains no results" -msgstr "Страница не содержит результатов" - -msgid "Enter a valid value." -msgstr "Введите правильное значение." - -msgid "Enter a valid URL." -msgstr "Введите правильный URL." - -msgid "Enter a valid integer." -msgstr "Введите правильное число." - -msgid "Enter a valid email address." -msgstr "Введите правильный адрес электронной почты." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" -"Значение должно состоять только из латинских букв, цифр, знаков " -"подчеркивания или дефиса." - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" -"Значение должно состоять только из символов входящих в стандарт Юникод, " -"цифр, символов подчёркивания или дефисов." - -msgid "Enter a valid IPv4 address." -msgstr "Введите правильный IPv4 адрес." - -msgid "Enter a valid IPv6 address." -msgstr "Введите действительный IPv6 адрес." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Введите действительный IPv4 или IPv6 адрес." - -msgid "Enter only digits separated by commas." -msgstr "Введите цифры, разделенные запятыми." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" -"Убедитесь, что это значение — %(limit_value)s (сейчас оно — %(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Убедитесь, что это значение меньше либо равно %(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Убедитесь, что это значение больше либо равно %(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Убедитесь, что это значение содержит не менее %(limit_value)d символ (сейчас " -"%(show_value)d)." -msgstr[1] "" -"Убедитесь, что это значение содержит не менее %(limit_value)d символов " -"(сейчас %(show_value)d)." -msgstr[2] "" -"Убедитесь, что это значение содержит не менее %(limit_value)d символов " -"(сейчас %(show_value)d)." -msgstr[3] "" -"Убедитесь, что это значение содержит не менее %(limit_value)d символов " -"(сейчас %(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Убедитесь, что это значение содержит не более %(limit_value)d символ (сейчас " -"%(show_value)d)." -msgstr[1] "" -"Убедитесь, что это значение содержит не более %(limit_value)d символов " -"(сейчас %(show_value)d)." -msgstr[2] "" -"Убедитесь, что это значение содержит не более %(limit_value)d символов " -"(сейчас %(show_value)d)." -msgstr[3] "" -"Убедитесь, что это значение содержит не более %(limit_value)d символов " -"(сейчас %(show_value)d)." - -msgid "Enter a number." -msgstr "Введите число." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Убедитесь, что вы ввели не более %(max)s цифры." -msgstr[1] "Убедитесь, что вы ввели не более %(max)s цифр." -msgstr[2] "Убедитесь, что вы ввели не более %(max)s цифр." -msgstr[3] "Убедитесь, что вы ввели не более %(max)s цифр." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "Убедитесь, что вы ввели не более %(max)s цифры после запятой." -msgstr[1] "Убедитесь, что вы ввели не более %(max)s цифр после запятой." -msgstr[2] "Убедитесь, что вы ввели не более %(max)s цифр после запятой." -msgstr[3] "Убедитесь, что вы ввели не более %(max)s цифр после запятой." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "Убедитесь, что вы ввели не более %(max)s цифры перед запятой." -msgstr[1] "Убедитесь, что вы ввели не более %(max)s цифр перед запятой." -msgstr[2] "Убедитесь, что вы ввели не более %(max)s цифр перед запятой." -msgstr[3] "Убедитесь, что вы ввели не более %(max)s цифр перед запятой." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" -"Расширение файлов “%(extension)s” не поддерживается. Разрешенные расширения: " -"%(allowed_extensions)s." - -msgid "Null characters are not allowed." -msgstr "Данные содержат запрещённый символ: ноль-байт" - -msgid "and" -msgstr "и" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "" -"%(model_name)s с такими значениями полей %(field_labels)s уже существует." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "Значения %(value)r нет среди допустимых вариантов." - -msgid "This field cannot be null." -msgstr "Это поле не может иметь значение NULL." - -msgid "This field cannot be blank." -msgstr "Это поле не может быть пустым." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s с таким %(field_label)s уже существует." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"Значение в поле «%(field_label)s» должно быть уникальным для фрагмента " -"«%(lookup_type)s» даты в поле %(date_field_label)s." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Поле типа %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "Значение “%(value)s” должно быть True или False." - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "Значение “%(value)s” должно быть True, False или None." - -msgid "Boolean (Either True or False)" -msgstr "Логическое (True или False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Строка (до %(max_length)s)" - -msgid "Comma-separated integers" -msgstr "Целые, разделенные запятыми" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" -"Значение “%(value)s” имеет неверный формат даты. Оно должно быть в формате " -"YYYY-MM-DD." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" -"Значение “%(value)s” имеет корректный формат (YYYY-MM-DD), но это " -"недействительная дата." - -msgid "Date (without time)" -msgstr "Дата (без указания времени)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" -"Значение “%(value)s” имеет неверный формат. Оно должно быть в формате YYYY-" -"MM-DD HH:MM[:ss[.uuuuuu]][TZ]." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" -"Значение “%(value)s” имеет корректный формат (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]), но это недействительные дата/время." - -msgid "Date (with time)" -msgstr "Дата (с указанием времени)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "Значение “%(value)s” должно быть десятичным числом." - -msgid "Decimal number" -msgstr "Число с фиксированной запятой" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" -"Значение “%(value)s” имеет неверный формат. Оно должно быть в формате [DD] " -"[HH:[MM:]]ss[.uuuuuu]." - -msgid "Duration" -msgstr "Продолжительность" - -msgid "Email address" -msgstr "Адрес электронной почты" - -msgid "File path" -msgstr "Путь к файлу" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "Значение “%(value)s” должно быть числом с плавающей запятой." - -msgid "Floating point number" -msgstr "Число с плавающей запятой" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "Значение “%(value)s” должно быть целым числом." - -msgid "Integer" -msgstr "Целое" - -msgid "Big (8 byte) integer" -msgstr "Длинное целое (8 байт)" - -msgid "IPv4 address" -msgstr "IPv4 адрес" - -msgid "IP address" -msgstr "IP-адрес" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "Значение “%(value)s” должно быть None, True или False." - -msgid "Boolean (Either True, False or None)" -msgstr "Логическое (True, False или None)" - -msgid "Positive big integer" -msgstr "Положительное большое целое число" - -msgid "Positive integer" -msgstr "Положительное целое число" - -msgid "Positive small integer" -msgstr "Положительное малое целое число" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Слаг (до %(max_length)s)" - -msgid "Small integer" -msgstr "Малое целое число" - -msgid "Text" -msgstr "Текст" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" -"Значение “%(value)s” имеет неверный формат. Оно должно быть в формате HH:MM[:" -"ss[.uuuuuu]]." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" -"Значение “%(value)s” имеет корректный формат (HH:MM[:ss[.uuuuuu]]), но это " -"недействительное время." - -msgid "Time" -msgstr "Время" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Необработанные двоичные данные" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "Значение “%(value)s” не является верным UUID-ом." - -msgid "Universally unique identifier" -msgstr "Поле для UUID, универсального уникального идентификатора" - -msgid "File" -msgstr "Файл" - -msgid "Image" -msgstr "Изображение" - -msgid "A JSON object" -msgstr "JSON-объект" - -msgid "Value must be valid JSON." -msgstr "Значение должно быть корректным JSON-ом." - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "" -"Объект модели %(model)s со значением поля %(field)s, равным %(value)r, не " -"существует." - -msgid "Foreign Key (type determined by related field)" -msgstr "Внешний Ключ (тип определен по связанному полю)" - -msgid "One-to-one relationship" -msgstr "Связь \"один к одному\"" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "Связь %(from)s-%(to)s" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "Связьи %(from)s-%(to)s" - -msgid "Many-to-many relationship" -msgstr "Связь \"многие ко многим\"" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Обязательное поле." - -msgid "Enter a whole number." -msgstr "Введите целое число." - -msgid "Enter a valid date." -msgstr "Введите правильную дату." - -msgid "Enter a valid time." -msgstr "Введите правильное время." - -msgid "Enter a valid date/time." -msgstr "Введите правильную дату и время." - -msgid "Enter a valid duration." -msgstr "Введите правильную продолжительность." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "Количество дней должно быть в диапазоне от {min_days} до {max_days}." - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Ни одного файла не было отправлено. Проверьте тип кодировки формы." - -msgid "No file was submitted." -msgstr "Ни одного файла не было отправлено." - -msgid "The submitted file is empty." -msgstr "Отправленный файл пуст." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Убедитесь, что это имя файла содержит не более %(max)d символ (сейчас " -"%(length)d)." -msgstr[1] "" -"Убедитесь, что это имя файла содержит не более %(max)d символов (сейчас " -"%(length)d)." -msgstr[2] "" -"Убедитесь, что это имя файла содержит не более %(max)d символов (сейчас " -"%(length)d)." -msgstr[3] "" -"Убедитесь, что это имя файла содержит не более %(max)d символов (сейчас " -"%(length)d)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" -"Пожалуйста, загрузите файл или поставьте флажок \"Очистить\", но не " -"совершайте оба действия одновременно." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Загрузите правильное изображение. Файл, который вы загрузили, поврежден или " -"не является изображением." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "Выберите корректный вариант. %(value)s нет среди допустимых значений." - -msgid "Enter a list of values." -msgstr "Введите список значений." - -msgid "Enter a complete value." -msgstr "Введите весь список значений." - -msgid "Enter a valid UUID." -msgstr "Введите правильный UUID." - -msgid "Enter a valid JSON." -msgstr "Введите корректный JSON." - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Скрытое поле %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "Данные управляющей формы отсутствуют или были повреждены" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Пожалуйста, заполните не более %d формы." -msgstr[1] "Пожалуйста, заполните не более %d форм." -msgstr[2] "Пожалуйста, заполните не более %d форм." -msgstr[3] "Пожалуйста, заполните не более %d форм." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "Пожалуйста, отправьте как минимум %d форму." -msgstr[1] "Пожалуйста, отправьте как минимум %d формы." -msgstr[2] "Пожалуйста, отправьте как минимум %d форм." -msgstr[3] "Пожалуйста, отправьте как минимум %d форм." - -msgid "Order" -msgstr "Порядок" - -msgid "Delete" -msgstr "Удалить" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Пожалуйста, измените повторяющееся значение в поле \"%(field)s\"." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"Пожалуйста, измените значение в поле %(field)s, оно должно быть уникальным." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Пожалуйста, измените значение в поле %(field_name)s, оно должно быть " -"уникальным для %(lookup)s в поле %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "Пожалуйста, измените повторяющиеся значения ниже." - -msgid "The inline value did not match the parent instance." -msgstr "Значение во вложенной форме не совпадает со значением в базовой форме." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" -"Выберите корректный вариант. Вашего варианта нет среди допустимых значений." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "“%(pk)s” является неверным значением." - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" -"%(datetime)s не может быть интерпретирована в часовом поясе " -"%(current_timezone)s; дата может быть неоднозначной или оказаться " -"несуществующей." - -msgid "Clear" -msgstr "Очистить" - -msgid "Currently" -msgstr "На данный момент" - -msgid "Change" -msgstr "Изменить" - -msgid "Unknown" -msgstr "Неизвестно" - -msgid "Yes" -msgstr "Да" - -msgid "No" -msgstr "Нет" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "да,нет,может быть" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d байт" -msgstr[1] "%(size)d байта" -msgstr[2] "%(size)d байт" -msgstr[3] "%(size)d байт" - -#, python-format -msgid "%s KB" -msgstr "%s КБ" - -#, python-format -msgid "%s MB" -msgstr "%s МБ" - -#, python-format -msgid "%s GB" -msgstr "%s ГБ" - -#, python-format -msgid "%s TB" -msgstr "%s ТБ" - -#, python-format -msgid "%s PB" -msgstr "%s ПБ" - -msgid "p.m." -msgstr "п.п." - -msgid "a.m." -msgstr "д.п." - -msgid "PM" -msgstr "ПП" - -msgid "AM" -msgstr "ДП" - -msgid "midnight" -msgstr "полночь" - -msgid "noon" -msgstr "полдень" - -msgid "Monday" -msgstr "Понедельник" - -msgid "Tuesday" -msgstr "Вторник" - -msgid "Wednesday" -msgstr "Среда" - -msgid "Thursday" -msgstr "Четверг" - -msgid "Friday" -msgstr "Пятница" - -msgid "Saturday" -msgstr "Суббота" - -msgid "Sunday" -msgstr "Воскресенье" - -msgid "Mon" -msgstr "Пн" - -msgid "Tue" -msgstr "Вт" - -msgid "Wed" -msgstr "Ср" - -msgid "Thu" -msgstr "Чт" - -msgid "Fri" -msgstr "Пт" - -msgid "Sat" -msgstr "Сб" - -msgid "Sun" -msgstr "Вс" - -msgid "January" -msgstr "Январь" - -msgid "February" -msgstr "Февраль" - -msgid "March" -msgstr "Март" - -msgid "April" -msgstr "Апрель" - -msgid "May" -msgstr "Май" - -msgid "June" -msgstr "Июнь" - -msgid "July" -msgstr "Июль" - -msgid "August" -msgstr "Август" - -msgid "September" -msgstr "Сентябрь" - -msgid "October" -msgstr "Октябрь" - -msgid "November" -msgstr "Ноябрь" - -msgid "December" -msgstr "Декабрь" - -msgid "jan" -msgstr "янв" - -msgid "feb" -msgstr "фев" - -msgid "mar" -msgstr "мар" - -msgid "apr" -msgstr "апр" - -msgid "may" -msgstr "май" - -msgid "jun" -msgstr "июн" - -msgid "jul" -msgstr "июл" - -msgid "aug" -msgstr "авг" - -msgid "sep" -msgstr "сен" - -msgid "oct" -msgstr "окт" - -msgid "nov" -msgstr "ноя" - -msgid "dec" -msgstr "дек" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Янв." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Фев." - -msgctxt "abbrev. month" -msgid "March" -msgstr "Март" - -msgctxt "abbrev. month" -msgid "April" -msgstr "Апрель" - -msgctxt "abbrev. month" -msgid "May" -msgstr "Май" - -msgctxt "abbrev. month" -msgid "June" -msgstr "Июнь" - -msgctxt "abbrev. month" -msgid "July" -msgstr "Июль" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Авг." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Сен." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Окт." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Ноя." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Дек." - -msgctxt "alt. month" -msgid "January" -msgstr "января" - -msgctxt "alt. month" -msgid "February" -msgstr "февраля" - -msgctxt "alt. month" -msgid "March" -msgstr "марта" - -msgctxt "alt. month" -msgid "April" -msgstr "апреля" - -msgctxt "alt. month" -msgid "May" -msgstr "мая" - -msgctxt "alt. month" -msgid "June" -msgstr "июня" - -msgctxt "alt. month" -msgid "July" -msgstr "июля" - -msgctxt "alt. month" -msgid "August" -msgstr "августа" - -msgctxt "alt. month" -msgid "September" -msgstr "сентября" - -msgctxt "alt. month" -msgid "October" -msgstr "октября" - -msgctxt "alt. month" -msgid "November" -msgstr "ноября" - -msgctxt "alt. month" -msgid "December" -msgstr "декабря" - -msgid "This is not a valid IPv6 address." -msgstr "Значение не является корректным адресом IPv6." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s…" - -msgid "or" -msgstr "или" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d год" -msgstr[1] "%d года" -msgstr[2] "%d лет" -msgstr[3] "%d лет" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d месяц" -msgstr[1] "%d месяца" -msgstr[2] "%d месяцев" -msgstr[3] "%d месяцев" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d неделя" -msgstr[1] "%d недели" -msgstr[2] "%d недель" -msgstr[3] "%d недель" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d день" -msgstr[1] "%d дня" -msgstr[2] "%d дней" -msgstr[3] "%d дней" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d час" -msgstr[1] "%d часа" -msgstr[2] "%d часов" -msgstr[3] "%d часов" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d минута" -msgstr[1] "%d минуты" -msgstr[2] "%d минут" -msgstr[3] "%d минут" - -msgid "Forbidden" -msgstr "Ошибка доступа" - -msgid "CSRF verification failed. Request aborted." -msgstr "Ошибка проверки CSRF. Запрос отклонён." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" -"Вы видите это сообщение, потому что данный сайт использует защищённое " -"соединение и требует, чтобы заголовок “Referer” был передан вашим браузером, " -"но он не был им передан. Данный заголовок необходим по соображениям " -"безопасности, чтобы убедиться, что ваш браузер не был взломан, а запрос к " -"серверу не был перехвачен или подменён." - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" -"Если вы настроили свой браузер таким образом, чтобы запретить ему передавать " -"заголовок “Referer”, пожалуйста, разрешите ему отсылать данный заголовок по " -"крайней мере для данного сайта, или для всех HTTPS-соединений, или для " -"запросов, домен и порт назначения совпадают с доменом и портом текущей " -"страницы." - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" -"Если Вы используете HTML-тэг или добавили HTTP-заголовок “Referrer-Policy: no-referrer”, пожалуйста " -"удалите их. CSRF защите необходим заголовок “Referer” для строгой проверки " -"адреса ссылающейся страницы. Если Вы беспокоитесь о приватности, используйте " -"альтернативы, например , для ссылок на сайты третьих " -"лиц." - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Вы видите это сообщение, потому что данный сайт требует, чтобы при отправке " -"форм была отправлена и CSRF-cookie. Данный тип cookie необходим по " -"соображениям безопасности, чтобы убедиться, что ваш браузер не был взломан и " -"не выполняет от вашего лица действий, запрограммированных третьими лицами." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" -"Если в вашем браузере отключены cookie, пожалуйста, включите эту функцию " -"вновь, по крайней мере для этого сайта, или для \"same-orign\" запросов." - -msgid "More information is available with DEBUG=True." -msgstr "" -"В отладочном режиме доступно больше информации. Включить отладочный режим " -"можно, установив значение переменной DEBUG=True." - -msgid "No year specified" -msgstr "Не указан год" - -msgid "Date out of range" -msgstr "Дата выходит за пределы диапазона" - -msgid "No month specified" -msgstr "Не указан месяц" - -msgid "No day specified" -msgstr "Не указан день" - -msgid "No week specified" -msgstr "Не указана неделя" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "%(verbose_name_plural)s не доступен" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"Будущие %(verbose_name_plural)s недоступны, потому что %(class_name)s." -"allow_future выставлен в значение \"Ложь\"." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" -"Не удалось распознать строку с датой “%(datestr)s”, в заданном формате " -"“%(format)s”" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Не найден ни один %(verbose_name)s, соответствующий запросу" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" -"Номер страницы не содержит особое значение “last” и его не удалось " -"преобразовать к целому числу." - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Неправильная страница (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" -"Список пуст, но “%(class_name)s.allow_empty” выставлено в значение \"Ложь\", " -"что запрещает показывать пустые списки." - -msgid "Directory indexes are not allowed here." -msgstr "Просмотр списка файлов директории здесь не разрешен." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "“%(path)s” не существует" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Список файлов директории %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "Django: веб-фреймворк для перфекционистов с дедлайнами." - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"Посмотреть примечания к выпуску для Django " -"%(version)s" - -msgid "The install worked successfully! Congratulations!" -msgstr "Установка прошла успешно! Поздравляем!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"Вы видите данную страницу, потому что указали DEBUG=True в файле настроек и не настроили ни одного " -"обработчика URL-адресов." - -msgid "Django Documentation" -msgstr "Документация Django" - -msgid "Topics, references, & how-to’s" -msgstr "Разделы, справочник, & примеры" - -msgid "Tutorial: A Polling App" -msgstr "Руководство: Приложение для голосования" - -msgid "Get started with Django" -msgstr "Начало работы с Django" - -msgid "Django Community" -msgstr "Сообщество Django" - -msgid "Connect, get help, or contribute" -msgstr "Присоединяйтесь, получайте помощь или помогайте в разработке" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ru/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/ru/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ru/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/ru/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 3b80d0eb..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/ru/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ru/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/ru/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 88fd5aa4..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/ru/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ru/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/ru/formats.py deleted file mode 100644 index c601c3e5..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/ru/formats.py +++ /dev/null @@ -1,30 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'j E Y г.' -TIME_FORMAT = 'G:i' -DATETIME_FORMAT = 'j E Y г. G:i' -YEAR_MONTH_FORMAT = 'F Y г.' -MONTH_DAY_FORMAT = 'j F' -SHORT_DATE_FORMAT = 'd.m.Y' -SHORT_DATETIME_FORMAT = 'd.m.Y H:i' -FIRST_DAY_OF_WEEK = 1 # Monday - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -DATE_INPUT_FORMATS = [ - '%d.%m.%Y', # '25.10.2006' - '%d.%m.%y', # '25.10.06' -] -DATETIME_INPUT_FORMATS = [ - '%d.%m.%Y %H:%M:%S', # '25.10.2006 14:30:59' - '%d.%m.%Y %H:%M:%S.%f', # '25.10.2006 14:30:59.000200' - '%d.%m.%Y %H:%M', # '25.10.2006 14:30' - '%d.%m.%y %H:%M:%S', # '25.10.06 14:30:59' - '%d.%m.%y %H:%M:%S.%f', # '25.10.06 14:30:59.000200' - '%d.%m.%y %H:%M', # '25.10.06 14:30' -] -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = '\xa0' # non-breaking space -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/sk/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/sk/LC_MESSAGES/django.mo deleted file mode 100644 index b5793704..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/sk/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/sk/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/sk/LC_MESSAGES/django.po deleted file mode 100644 index 106b5f29..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/sk/LC_MESSAGES/django.po +++ /dev/null @@ -1,1295 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Jannis Leidel , 2011 -# Juraj Bubniak , 2012-2013 -# Marian Andre , 2013,2015,2017-2018 -# Martin Kosír, 2011 -# Martin Tóth , 2017 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-27 22:40+0200\n" -"PO-Revision-Date: 2019-11-05 00:38+0000\n" -"Last-Translator: Ramiro Morales\n" -"Language-Team: Slovak (http://www.transifex.com/django/django/language/sk/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sk\n" -"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n " -">= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n" - -msgid "Afrikaans" -msgstr "afrikánsky" - -msgid "Arabic" -msgstr "arabský" - -msgid "Asturian" -msgstr "astúrsky" - -msgid "Azerbaijani" -msgstr "azerbajdžansky" - -msgid "Bulgarian" -msgstr "bulharsky" - -msgid "Belarusian" -msgstr "bielorusky" - -msgid "Bengali" -msgstr "bengálsky" - -msgid "Breton" -msgstr "bretónsky" - -msgid "Bosnian" -msgstr "bosniansky" - -msgid "Catalan" -msgstr "katalánsky" - -msgid "Czech" -msgstr "česky" - -msgid "Welsh" -msgstr "walesky" - -msgid "Danish" -msgstr "dánsky" - -msgid "German" -msgstr "nemecky" - -msgid "Lower Sorbian" -msgstr "dolnolužická srbčina" - -msgid "Greek" -msgstr "grécky" - -msgid "English" -msgstr "anglicky" - -msgid "Australian English" -msgstr "austrálskou angličtinou" - -msgid "British English" -msgstr "britskou angličtinou" - -msgid "Esperanto" -msgstr "esperantsky" - -msgid "Spanish" -msgstr "španielsky" - -msgid "Argentinian Spanish" -msgstr "argentínska španielčina" - -msgid "Colombian Spanish" -msgstr "kolumbijská španielčina" - -msgid "Mexican Spanish" -msgstr "mexická španielčina" - -msgid "Nicaraguan Spanish" -msgstr "nikaragujská španielčina" - -msgid "Venezuelan Spanish" -msgstr "venezuelská španielčina" - -msgid "Estonian" -msgstr "estónsky" - -msgid "Basque" -msgstr "baskicky" - -msgid "Persian" -msgstr "perzsky" - -msgid "Finnish" -msgstr "fínsky" - -msgid "French" -msgstr "francúzsky" - -msgid "Frisian" -msgstr "frízsky" - -msgid "Irish" -msgstr "írsky" - -msgid "Scottish Gaelic" -msgstr "škótska gaelčina" - -msgid "Galician" -msgstr "galícijsky" - -msgid "Hebrew" -msgstr "hebrejsky" - -msgid "Hindi" -msgstr "hindsky" - -msgid "Croatian" -msgstr "chorvátsky" - -msgid "Upper Sorbian" -msgstr "hornolužická srbčina" - -msgid "Hungarian" -msgstr "maďarsky" - -msgid "Armenian" -msgstr "" - -msgid "Interlingua" -msgstr "interlinguánsky" - -msgid "Indonesian" -msgstr "indonézsky" - -msgid "Ido" -msgstr "ido" - -msgid "Icelandic" -msgstr "islandsky" - -msgid "Italian" -msgstr "taliansky" - -msgid "Japanese" -msgstr "japonsky" - -msgid "Georgian" -msgstr "gruzínsky" - -msgid "Kabyle" -msgstr "kabylsky" - -msgid "Kazakh" -msgstr "kazašsky" - -msgid "Khmer" -msgstr "kmérsky" - -msgid "Kannada" -msgstr "kannadsky" - -msgid "Korean" -msgstr "kórejsky" - -msgid "Luxembourgish" -msgstr "luxembursky" - -msgid "Lithuanian" -msgstr "litovsky" - -msgid "Latvian" -msgstr "lotyšsky" - -msgid "Macedonian" -msgstr "macedónsky" - -msgid "Malayalam" -msgstr "malajalámsky" - -msgid "Mongolian" -msgstr "mongolsky" - -msgid "Marathi" -msgstr "maráthsky" - -msgid "Burmese" -msgstr "barmsky" - -msgid "Norwegian Bokmål" -msgstr "nórsky (Bokmål)" - -msgid "Nepali" -msgstr "nepálsky" - -msgid "Dutch" -msgstr "holandsky" - -msgid "Norwegian Nynorsk" -msgstr "nórsky (Nynorsk)" - -msgid "Ossetic" -msgstr "osetsky" - -msgid "Punjabi" -msgstr "pandžábsky" - -msgid "Polish" -msgstr "poľsky" - -msgid "Portuguese" -msgstr "portugalsky" - -msgid "Brazilian Portuguese" -msgstr "portugalsky (Brazília)" - -msgid "Romanian" -msgstr "rumunsky" - -msgid "Russian" -msgstr "rusky" - -msgid "Slovak" -msgstr "slovensky" - -msgid "Slovenian" -msgstr "slovinsky" - -msgid "Albanian" -msgstr "albánsky" - -msgid "Serbian" -msgstr "srbsky" - -msgid "Serbian Latin" -msgstr "srbsky (Latin)" - -msgid "Swedish" -msgstr "švédsky" - -msgid "Swahili" -msgstr "svahilsky" - -msgid "Tamil" -msgstr "tamilsky" - -msgid "Telugu" -msgstr "telugsky" - -msgid "Thai" -msgstr "thajsky" - -msgid "Turkish" -msgstr "turecky" - -msgid "Tatar" -msgstr "tatársky" - -msgid "Udmurt" -msgstr "udmurtsky" - -msgid "Ukrainian" -msgstr "ukrajinsky" - -msgid "Urdu" -msgstr "urdsky" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "vietnamsky" - -msgid "Simplified Chinese" -msgstr "čínsky (zjednodušene)" - -msgid "Traditional Chinese" -msgstr "čínsky (tradične)" - -msgid "Messages" -msgstr "Správy" - -msgid "Site Maps" -msgstr "Mapy Sídla" - -msgid "Static Files" -msgstr "Statické Súbory" - -msgid "Syndication" -msgstr "Syndikácia" - -msgid "That page number is not an integer" -msgstr "Číslo stránky nie je celé číslo" - -msgid "That page number is less than 1" -msgstr "Číslo stránky je menšie ako 1" - -msgid "That page contains no results" -msgstr "Stránka neobsahuje žiadne výsledky" - -msgid "Enter a valid value." -msgstr "Zadajte platnú hodnotu." - -msgid "Enter a valid URL." -msgstr "Zadajte platnú URL adresu." - -msgid "Enter a valid integer." -msgstr "Zadajte platné celé číslo." - -msgid "Enter a valid email address." -msgstr "Zadajte platnú e-mailovú adresu." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "Zadajte platnú IPv4 adresu." - -msgid "Enter a valid IPv6 address." -msgstr "Zadajte platnú IPv6 adresu." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Zadajte platnú IPv4 alebo IPv6 adresu." - -msgid "Enter only digits separated by commas." -msgstr "Zadajte len číslice oddelené čiarkami." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "Uistite sa, že táto hodnota je %(limit_value)s (je to %(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Uistite sa, že táto hodnota je menšia alebo rovná %(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Uistite sa, že hodnota je väčšia alebo rovná %(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Uistite sa, že zadaná hodnota má najmenej %(limit_value)d znak (má " -"%(show_value)d)." -msgstr[1] "" -"Uistite sa, že zadaná hodnota má najmenej %(limit_value)d znaky (má " -"%(show_value)d)." -msgstr[2] "" -"Uistite sa, že zadaná hodnota má najmenej %(limit_value)d znakov (má " -"%(show_value)d)." -msgstr[3] "" -"Uistite sa, že zadaná hodnota má najmenej %(limit_value)d znakov (má " -"%(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Uistite sa, že táto hodnota má najviac %(limit_value)d znak (má " -"%(show_value)d)." -msgstr[1] "" -"Uistite sa, že táto hodnota má najviac %(limit_value)d znaky (má " -"%(show_value)d)." -msgstr[2] "" -"Uistite sa, že táto hodnota má najviac %(limit_value)d znakov (má " -"%(show_value)d)." -msgstr[3] "" -"Uistite sa, že táto hodnota má najviac %(limit_value)d znakov (má " -"%(show_value)d)." - -msgid "Enter a number." -msgstr "Zadajte číslo." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Uistite sa, že nie je zadaných celkovo viac ako %(max)s číslica." -msgstr[1] "Uistite sa, že nie je zadaných celkovo viac ako %(max)s číslice." -msgstr[2] "Uistite sa, že nie je zadaných celkovo viac ako %(max)s číslic." -msgstr[3] "Uistite sa, že nie je zadaných celkovo viac ako %(max)s číslic." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "Uistite sa, že nie je zadané viac ako %(max)s desatinné miesto." -msgstr[1] "Uistite sa, že nie sú zadané viac ako %(max)s desatinné miesta." -msgstr[2] "Uistite sa, že nie je zadaných viac ako %(max)s desatinných miest." -msgstr[3] "Uistite sa, že nie je zadaných viac ako %(max)s desatinných miest." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -"Uistite sa, že nie je zadaných viac ako %(max)s číslica pred desatinnou " -"čiarkou." -msgstr[1] "" -"Uistite sa, že nie sú zadané viac ako %(max)s číslice pred desatinnou " -"čiarkou." -msgstr[2] "" -"Uistite sa, že nie je zadaných viac ako %(max)s číslic pred desatinnou " -"čiarkou." -msgstr[3] "" -"Uistite sa, že nie je zadaných viac ako %(max)s číslic pred desatinnou " -"čiarkou." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "Znaky NULL nie sú povolené." - -msgid "and" -msgstr "a" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "%(model_name)s s týmto %(field_labels)s už existuje." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "Hodnota %(value)r nie je platná možnosť." - -msgid "This field cannot be null." -msgstr "Toto pole nemôže byť prázdne." - -msgid "This field cannot be blank." -msgstr "Toto pole nemôže byť prázdne." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s s týmto %(field_label)s už existuje." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(field_label)s musí byť unikátne pre %(date_field_label)s %(lookup_type)s." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Pole typu: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "Logická hodnota (buď True alebo False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Reťazec (až do %(max_length)s)" - -msgid "Comma-separated integers" -msgstr "Celé čísla oddelené čiarkou" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "Dátum (bez času)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "Dátum (a čas)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "Desatinné číslo" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "Doba trvania" - -msgid "Email address" -msgstr "E-mailová adresa" - -msgid "File path" -msgstr "Cesta k súboru" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "Číslo s plávajúcou desatinnou čiarkou" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "Celé číslo" - -msgid "Big (8 byte) integer" -msgstr "Veľké celé číslo (8 bajtov)" - -msgid "IPv4 address" -msgstr "IPv4 adresa" - -msgid "IP address" -msgstr "IP adresa" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "Logická hodnota (buď True, False alebo None)" - -msgid "Positive integer" -msgstr "Kladné celé číslo" - -msgid "Positive small integer" -msgstr "Malé kladné celé číslo" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Identifikátor (najviac %(max_length)s)" - -msgid "Small integer" -msgstr "Malé celé číslo" - -msgid "Text" -msgstr "Text" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "Čas" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Binárne údaje" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "" - -msgid "File" -msgstr "Súbor" - -msgid "Image" -msgstr "Obrázok" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "Inštancia modelu %(model)s s %(field)s %(value)r neexistuje." - -msgid "Foreign Key (type determined by related field)" -msgstr "Cudzí kľúč (typ určuje pole v relácii)" - -msgid "One-to-one relationship" -msgstr "Typ relácie: jedna k jednej" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "vzťah: %(from)s-%(to)s " - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "vzťahy: %(from)s-%(to)s" - -msgid "Many-to-many relationship" -msgstr "Typ relácie: M ku N" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Toto pole je povinné." - -msgid "Enter a whole number." -msgstr "Zadajte celé číslo." - -msgid "Enter a valid date." -msgstr "Zadajte platný dátum." - -msgid "Enter a valid time." -msgstr "Zadajte platný čas." - -msgid "Enter a valid date/time." -msgstr "Zadajte platný dátum/čas." - -msgid "Enter a valid duration." -msgstr "Zadajte platnú dobu trvania." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "Počet dní musí byť medzi {min_days} a {max_days}." - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Súbor nebol odoslaný. Skontrolujte typ kódovania vo formulári." - -msgid "No file was submitted." -msgstr "Žiaden súbor nebol odoslaný." - -msgid "The submitted file is empty." -msgstr "Odoslaný súbor je prázdny." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Uistite sa, že názov súboru má najviac %(max)d znak (má %(length)d)." -msgstr[1] "" -"Uistite sa, že názov súboru má najviac %(max)d znaky (má %(length)d)." -msgstr[2] "" -"Uistite sa, že názov súboru má najviac %(max)d znakov (má %(length)d)." -msgstr[3] "" -"Uistite sa, že názov súboru má najviac %(max)d znakov (má %(length)d)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" -"Odošlite prosím súbor alebo zaškrtnite políčko pre vymazanie vstupného poľa, " -"nie oboje." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Nahrajte platný obrázok. Súbor, ktorý ste odoslali nebol obrázok alebo bol " -"poškodený." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "Vyberte platnú voľbu. %(value)s nepatrí medzi dostupné možnosti." - -msgid "Enter a list of values." -msgstr "Zadajte zoznam hodnôt." - -msgid "Enter a complete value." -msgstr "Zadajte úplnú hodnotu." - -msgid "Enter a valid UUID." -msgstr "Zadajte platné UUID." - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Skryté pole %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "Údaje ManagementForm chýbajú alebo boli sfalšované" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Prosím odošlite %d alebo menej formulárov." -msgstr[1] "Prosím odošlite %d alebo menej formulárov." -msgstr[2] "Prosím odošlite %d alebo menej formulárov." -msgstr[3] "Prosím odošlite %d alebo menej formulárov." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "Prosím odošlite %d alebo viac formulárov." -msgstr[1] "Prosím odošlite %d alebo viac formulárov." -msgstr[2] "Prosím odošlite %d alebo viac formulárov." -msgstr[3] "Prosím odošlite %d alebo viac formulárov." - -msgid "Order" -msgstr "Poradie" - -msgid "Delete" -msgstr "Odstrániť" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Prosím, opravte duplicitné údaje pre %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "Údaje pre %(field)s musia byť unikátne, prosím, opravte duplikáty." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Údaje pre %(field_name)s musia byť unikátne pre %(lookup)s v %(date_field)s, " -"prosím, opravte duplikáty." - -msgid "Please correct the duplicate values below." -msgstr "Prosím, opravte nižšie uvedené duplicitné hodnoty. " - -msgid "The inline value did not match the parent instance." -msgstr "Vnorená hodnota sa nezhoduje s nadradenou inštanciou." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" -"Vyberte platnú možnosť. Vybraná položka nepatrí medzi dostupné možnosti." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "Vymazať" - -msgid "Currently" -msgstr "Súčasne" - -msgid "Change" -msgstr "Zmeniť" - -msgid "Unknown" -msgstr "Neznámy" - -msgid "Yes" -msgstr "Áno" - -msgid "No" -msgstr "Nie" - -msgid "Year" -msgstr "" - -msgid "Month" -msgstr "" - -msgid "Day" -msgstr "" - -msgid "yes,no,maybe" -msgstr "áno,nie,možno" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d bajt" -msgstr[1] "%(size)d bajty" -msgstr[2] "%(size)d bajtov" -msgstr[3] "%(size)d bajtov" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "popoludní" - -msgid "a.m." -msgstr "predpoludním" - -msgid "PM" -msgstr "popoludní" - -msgid "AM" -msgstr "predpoludním" - -msgid "midnight" -msgstr "polnoc" - -msgid "noon" -msgstr "poludnie" - -msgid "Monday" -msgstr "pondelok" - -msgid "Tuesday" -msgstr "utorok" - -msgid "Wednesday" -msgstr "streda" - -msgid "Thursday" -msgstr "štvrtok" - -msgid "Friday" -msgstr "piatok" - -msgid "Saturday" -msgstr "sobota" - -msgid "Sunday" -msgstr "nedeľa" - -msgid "Mon" -msgstr "po" - -msgid "Tue" -msgstr "ut" - -msgid "Wed" -msgstr "st" - -msgid "Thu" -msgstr "št" - -msgid "Fri" -msgstr "pi" - -msgid "Sat" -msgstr "so" - -msgid "Sun" -msgstr "ne" - -msgid "January" -msgstr "január" - -msgid "February" -msgstr "február" - -msgid "March" -msgstr "marec" - -msgid "April" -msgstr "apríl" - -msgid "May" -msgstr "máj" - -msgid "June" -msgstr "jún" - -msgid "July" -msgstr "júl" - -msgid "August" -msgstr "august" - -msgid "September" -msgstr "september" - -msgid "October" -msgstr "október" - -msgid "November" -msgstr "november" - -msgid "December" -msgstr "december" - -msgid "jan" -msgstr "jan" - -msgid "feb" -msgstr "feb" - -msgid "mar" -msgstr "mar" - -msgid "apr" -msgstr "apr" - -msgid "may" -msgstr "máj" - -msgid "jun" -msgstr "jún" - -msgid "jul" -msgstr "júl" - -msgid "aug" -msgstr "aug" - -msgid "sep" -msgstr "sep" - -msgid "oct" -msgstr "okt" - -msgid "nov" -msgstr "nov" - -msgid "dec" -msgstr "dec" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "jan." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "feb." - -msgctxt "abbrev. month" -msgid "March" -msgstr "mar." - -msgctxt "abbrev. month" -msgid "April" -msgstr "apr." - -msgctxt "abbrev. month" -msgid "May" -msgstr "máj" - -msgctxt "abbrev. month" -msgid "June" -msgstr "jún" - -msgctxt "abbrev. month" -msgid "July" -msgstr "júl" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "aug." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "sep." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "okt." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "nov." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "dec." - -msgctxt "alt. month" -msgid "January" -msgstr "január" - -msgctxt "alt. month" -msgid "February" -msgstr "február" - -msgctxt "alt. month" -msgid "March" -msgstr "marec" - -msgctxt "alt. month" -msgid "April" -msgstr "apríl" - -msgctxt "alt. month" -msgid "May" -msgstr "máj" - -msgctxt "alt. month" -msgid "June" -msgstr "jún" - -msgctxt "alt. month" -msgid "July" -msgstr "júl" - -msgctxt "alt. month" -msgid "August" -msgstr "august" - -msgctxt "alt. month" -msgid "September" -msgstr "september" - -msgctxt "alt. month" -msgid "October" -msgstr "október" - -msgctxt "alt. month" -msgid "November" -msgstr "november" - -msgctxt "alt. month" -msgid "December" -msgstr "december" - -msgid "This is not a valid IPv6 address." -msgstr "Toto nieje platná IPv6 adresa." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "" - -msgid "or" -msgstr "alebo" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d rok" -msgstr[1] "%d roky" -msgstr[2] "%d rokov" -msgstr[3] "%d rokov" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d mesiac" -msgstr[1] "%d mesiace" -msgstr[2] "%d mesiacov" -msgstr[3] "%d mesiacov" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d týždeň" -msgstr[1] "%d týždne" -msgstr[2] "%d týždňov" -msgstr[3] "%d týždňov" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d deň" -msgstr[1] "%d dni" -msgstr[2] "%d dní" -msgstr[3] "%d dní" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d hodina" -msgstr[1] "%d hodiny" -msgstr[2] "%d hodín" -msgstr[3] "%d hodín" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d minúta" -msgstr[1] "%d minúty" -msgstr[2] "%d minút" -msgstr[3] "%d minút" - -msgid "0 minutes" -msgstr "0 minút" - -msgid "Forbidden" -msgstr "Zakázané (Forbidden)" - -msgid "CSRF verification failed. Request aborted." -msgstr "CSRF verifikázia zlyhala. Požiadavka bola prerušená." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Túto správu vidíte, pretože táto lokalita vyžaduje CSRF cookie pri " -"odosielaní formulárov. Toto cookie je potrebné na zabezpečenie toho, že váš " -"prehliadač nie je zneužitý - \"hijack\"." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "Viac informácií bude dostupných s DEBUG=True." - -msgid "No year specified" -msgstr "Nešpecifikovaný rok" - -msgid "Date out of range" -msgstr "Dátum je mimo rozsahu" - -msgid "No month specified" -msgstr "Nešpecifikovaný mesiac" - -msgid "No day specified" -msgstr "Nešpecifikovaný deň" - -msgid "No week specified" -msgstr "Nešpecifikovaný týždeň" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "%(verbose_name_plural)s nie sú dostupné" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"Budúce %(verbose_name_plural)s nie sú dostupné pretože %(class_name)s." -"allow_future má hodnotu False. " - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "" -"Nebol nájdený žiadny %(verbose_name)s zodpovedajúci databázovému dopytu" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Nesprávna stránka (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "Výpis adresárov tu nieje povolený." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Výpis %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "Django: Webový framework pre pedantov s termínmi" - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"Zobraziť poznámky k vydaniu pre Django " -"%(version)s" - -msgid "The install worked successfully! Congratulations!" -msgstr "Inštalácia prebehla úspešne! Gratulujeme!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"Táto stránka sa zobrazuje pretože máte DEBUG=True v súbore s nastaveniami a nie sú nakonfigurované žiadne " -"URL." - -msgid "Django Documentation" -msgstr "Dokumentácia Django" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "Tutoriál: Aplikácia \"Hlasovania\"" - -msgid "Get started with Django" -msgstr "Začíname s Django" - -msgid "Django Community" -msgstr "Komunita Django" - -msgid "Connect, get help, or contribute" -msgstr "Spojte sa, získajte pomoc, alebo prispejte" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/sk/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/sk/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/sk/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/sk/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 4fef394b..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/sk/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/sk/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/sk/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index ae100f22..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/sk/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/sk/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/sk/formats.py deleted file mode 100644 index 20526419..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/sk/formats.py +++ /dev/null @@ -1,28 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'j. F Y' -TIME_FORMAT = 'G:i' -DATETIME_FORMAT = 'j. F Y G:i' -YEAR_MONTH_FORMAT = 'F Y' -MONTH_DAY_FORMAT = 'j. F' -SHORT_DATE_FORMAT = 'd.m.Y' -SHORT_DATETIME_FORMAT = 'd.m.Y G:i' -FIRST_DAY_OF_WEEK = 1 # Monday - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -DATE_INPUT_FORMATS = [ - '%d.%m.%Y', '%d.%m.%y', # '25.10.2006', '25.10.06' - '%y-%m-%d', # '06-10-25' - # '%d. %B %Y', '%d. %b. %Y', # '25. October 2006', '25. Oct. 2006' -] -DATETIME_INPUT_FORMATS = [ - '%d.%m.%Y %H:%M:%S', # '25.10.2006 14:30:59' - '%d.%m.%Y %H:%M:%S.%f', # '25.10.2006 14:30:59.000200' - '%d.%m.%Y %H:%M', # '25.10.2006 14:30' -] -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = '\xa0' # non-breaking space -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/sl/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/sl/LC_MESSAGES/django.mo deleted file mode 100644 index e01103d3..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/sl/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/sl/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/sl/LC_MESSAGES/django.po deleted file mode 100644 index ff3cbc5a..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/sl/LC_MESSAGES/django.po +++ /dev/null @@ -1,1297 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# iElectric , 2011-2012 -# Jannis Leidel , 2011 -# Jure Cuhalev , 2012-2013 -# Marko Zabreznik , 2016 -# Primož Verdnik , 2017 -# zejn , 2013,2016-2017 -# zejn , 2011-2013 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-27 22:40+0200\n" -"PO-Revision-Date: 2019-11-05 00:38+0000\n" -"Last-Translator: Ramiro Morales\n" -"Language-Team: Slovenian (http://www.transifex.com/django/django/language/" -"sl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sl\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" -"%100==4 ? 2 : 3);\n" - -msgid "Afrikaans" -msgstr "Afrikanščina" - -msgid "Arabic" -msgstr "Arabščina" - -msgid "Asturian" -msgstr "Asturijski jezik" - -msgid "Azerbaijani" -msgstr "Azerbajdžanščina" - -msgid "Bulgarian" -msgstr "Bolgarščina" - -msgid "Belarusian" -msgstr "Belorusko" - -msgid "Bengali" -msgstr "Bengalščina" - -msgid "Breton" -msgstr "Bretonščina" - -msgid "Bosnian" -msgstr "Bosanščina" - -msgid "Catalan" -msgstr "Katalonščina" - -msgid "Czech" -msgstr "Češčina" - -msgid "Welsh" -msgstr "Valežanski jezik" - -msgid "Danish" -msgstr "Danščina" - -msgid "German" -msgstr "Nemščina" - -msgid "Lower Sorbian" -msgstr "Dolnjelužiška srbščina" - -msgid "Greek" -msgstr "Grščina" - -msgid "English" -msgstr "Angleščina" - -msgid "Australian English" -msgstr "Avstralska angleščina" - -msgid "British English" -msgstr "Britanska Angleščina" - -msgid "Esperanto" -msgstr "Esperanto" - -msgid "Spanish" -msgstr "Španščina" - -msgid "Argentinian Spanish" -msgstr "Argentinska španščina" - -msgid "Colombian Spanish" -msgstr "Kolumbijska španščina" - -msgid "Mexican Spanish" -msgstr "Mehiška španščina" - -msgid "Nicaraguan Spanish" -msgstr "Nikaragvijska španščina" - -msgid "Venezuelan Spanish" -msgstr "Španščina (Venezuela)" - -msgid "Estonian" -msgstr "Estonščina" - -msgid "Basque" -msgstr "Baskovščina" - -msgid "Persian" -msgstr "Perzijščina" - -msgid "Finnish" -msgstr "Finščina" - -msgid "French" -msgstr "Francoščina" - -msgid "Frisian" -msgstr "Frizijščina" - -msgid "Irish" -msgstr "Irščina" - -msgid "Scottish Gaelic" -msgstr "Škotska gelščina" - -msgid "Galician" -msgstr "Galičanski jezik" - -msgid "Hebrew" -msgstr "Hebrejski jezik" - -msgid "Hindi" -msgstr "Hindujščina" - -msgid "Croatian" -msgstr "Hrvaščina" - -msgid "Upper Sorbian" -msgstr "Gornjelužiška srbščina" - -msgid "Hungarian" -msgstr "Madžarščina" - -msgid "Armenian" -msgstr "" - -msgid "Interlingua" -msgstr "Interlingua" - -msgid "Indonesian" -msgstr "Indonezijski" - -msgid "Ido" -msgstr "Jezik Ido" - -msgid "Icelandic" -msgstr "Islandski jezik" - -msgid "Italian" -msgstr "Italijanščina" - -msgid "Japanese" -msgstr "Japonščina" - -msgid "Georgian" -msgstr "Gruzijščina" - -msgid "Kabyle" -msgstr "Kabilski jezik" - -msgid "Kazakh" -msgstr "Kazaščina" - -msgid "Khmer" -msgstr "Kmerščina" - -msgid "Kannada" -msgstr "Kanareščina" - -msgid "Korean" -msgstr "Korejščina" - -msgid "Luxembourgish" -msgstr "Luksemburščina" - -msgid "Lithuanian" -msgstr "Litvanščina" - -msgid "Latvian" -msgstr "Latvijščina" - -msgid "Macedonian" -msgstr "Makedonščina" - -msgid "Malayalam" -msgstr "Malajalščina" - -msgid "Mongolian" -msgstr "Mongolščina" - -msgid "Marathi" -msgstr "Jezik Marathi" - -msgid "Burmese" -msgstr "Burmanski jezik" - -msgid "Norwegian Bokmål" -msgstr "Norveški jezik" - -msgid "Nepali" -msgstr "Nepalščina" - -msgid "Dutch" -msgstr "Nizozemščina" - -msgid "Norwegian Nynorsk" -msgstr "Norveščina Nynorsk" - -msgid "Ossetic" -msgstr "Osetski jezik" - -msgid "Punjabi" -msgstr "Pandžabščina" - -msgid "Polish" -msgstr "Poljščina" - -msgid "Portuguese" -msgstr "Portugalščina" - -msgid "Brazilian Portuguese" -msgstr "Brazilska portugalščina" - -msgid "Romanian" -msgstr "Romunščina" - -msgid "Russian" -msgstr "Ruščina" - -msgid "Slovak" -msgstr "Slovaščina" - -msgid "Slovenian" -msgstr "Slovenščina" - -msgid "Albanian" -msgstr "Albanščina" - -msgid "Serbian" -msgstr "Srbščina" - -msgid "Serbian Latin" -msgstr "Srbščina v latinici" - -msgid "Swedish" -msgstr "Švedščina" - -msgid "Swahili" -msgstr "Svahili" - -msgid "Tamil" -msgstr "Tamilščina" - -msgid "Telugu" -msgstr "Teluščina" - -msgid "Thai" -msgstr "Tajski jezik" - -msgid "Turkish" -msgstr "Turščina" - -msgid "Tatar" -msgstr "Tatarščina" - -msgid "Udmurt" -msgstr "Udmurski jezik" - -msgid "Ukrainian" -msgstr "Ukrajinščina" - -msgid "Urdu" -msgstr "Jezik Urdu" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "Vietnamščina" - -msgid "Simplified Chinese" -msgstr "Poenostavljena kitajščina" - -msgid "Traditional Chinese" -msgstr "Tradicionalna kitajščina" - -msgid "Messages" -msgstr "Sporočila" - -msgid "Site Maps" -msgstr "Zemljevid spletnega mesta" - -msgid "Static Files" -msgstr "Statične datoteke" - -msgid "Syndication" -msgstr "Sindiciranje" - -msgid "That page number is not an integer" -msgstr "Število te strani ni naravno število" - -msgid "That page number is less than 1" -msgstr "Število te strani je manj kot 1" - -msgid "That page contains no results" -msgstr "Ta stran nima zadetkov" - -msgid "Enter a valid value." -msgstr "Vnesite veljavno vrednost." - -msgid "Enter a valid URL." -msgstr "Vnesite veljaven URL naslov." - -msgid "Enter a valid integer." -msgstr "Vnesite veljavno celo število." - -msgid "Enter a valid email address." -msgstr "Vnesite veljaven e-poštni naslov." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "Vnesite veljaven IPv4 naslov." - -msgid "Enter a valid IPv6 address." -msgstr "Vnesite veljaven IPv6 naslov." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Vnesite veljaven IPv4 ali IPv6 naslov." - -msgid "Enter only digits separated by commas." -msgstr "Vnesite samo števila, ločena z vejicami." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" -"Poskrbite, da bo ta vrednost %(limit_value)s. Trenutno je %(show_value)s." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Poskrbite, da bo ta vrednost manj kot ali natanko %(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Poskrbite, da bo ta vrednost večja ali enaka %(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Preverite, da ima ta vrednost vsaj %(limit_value)d znak (trenutno ima " -"%(show_value)d)." -msgstr[1] "" -"Preverite, da ima ta vrednost vsaj %(limit_value)d znaka (trenutno ima " -"%(show_value)d)." -msgstr[2] "" -"Preverite, da ima ta vrednost vsaj %(limit_value)d znake (trenutno ima " -"%(show_value)d)." -msgstr[3] "" -"Preverite, da ima ta vrednost vsaj %(limit_value)d znakov (trenutno ima " -"%(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Preverite, da ima ta vrednost največ %(limit_value)d znak (trenutno ima " -"%(show_value)d)." -msgstr[1] "" -"Preverite, da ima ta vrednost največ %(limit_value)d znaka (trenutno ima " -"%(show_value)d)." -msgstr[2] "" -"Preverite, da ima ta vrednost največ %(limit_value)d znake (trenutno ima " -"%(show_value)d)." -msgstr[3] "" -"Preverite, da ima ta vrednost največ %(limit_value)d znakov (trenutno ima " -"%(show_value)d)." - -msgid "Enter a number." -msgstr "Vnesite število." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Poskrbite, da skupno ne bo več kot %(max)s števka." -msgstr[1] "Poskrbite, da skupno ne bosta več kot %(max)s števki." -msgstr[2] "Poskrbite, da skupno ne bojo več kot %(max)s števke." -msgstr[3] "Poskrbite, da skupno ne bo več kot %(max)s števk." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "Poskrbite, da skupno ne bo več kot %(max)s decimalnih mesto." -msgstr[1] "Poskrbite, da skupno ne bosta več kot %(max)s decimalnih mesti." -msgstr[2] "Poskrbite, da skupno ne bo več kot %(max)s decimalnih mest." -msgstr[3] "Poskrbite, da skupno ne bo več kot %(max)s decimalnih mest." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -"Poskrbite, da skupno ne bo več kot %(max)s števka pred decimalno vejico." -msgstr[1] "" -"Poskrbite, da skupno ne bosta več kot %(max)s števki pred decimalno vejico." -msgstr[2] "" -"Poskrbite, da skupno ne bo več kot %(max)s števk pred decimalno vejico." -msgstr[3] "" -"Poskrbite, da skupno ne bo več kot %(max)s števk pred decimalno vejico." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "Znak null ni dovoljen." - -msgid "and" -msgstr "in" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "%(model_name)s s tem %(field_labels)s že obstaja." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "Vrednost %(value)r ni veljavna izbira." - -msgid "This field cannot be null." -msgstr "To polje ne more biti prazno." - -msgid "This field cannot be blank." -msgstr "To polje ne more biti prazno." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s s tem %(field_label)s že obstaja." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(field_label)s mora biti enolična za %(date_field_label)s %(lookup_type)s." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Polje tipa: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "Boolova vrednost (True ali False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Niz znakov (vse do %(max_length)s)" - -msgid "Comma-separated integers" -msgstr "Z vejico ločena cela števila (integer)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "Datum (brez ure)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "Datum (z uro)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "Decimalno število" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "Trajanje" - -msgid "Email address" -msgstr "E-poštni naslov" - -msgid "File path" -msgstr "Pot do datoteke" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "Število s plavajočo vejico" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "Celo število (integer)" - -msgid "Big (8 byte) integer" -msgstr "Velika (8 bajtna) cela števila " - -msgid "IPv4 address" -msgstr "IPv4 naslov" - -msgid "IP address" -msgstr "IP naslov" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "Boolova vrednost (True, False ali None)" - -msgid "Positive integer" -msgstr "Pozitivno celo število" - -msgid "Positive small integer" -msgstr "Pozitivno celo število (do 64 tisoč)" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Okrajšava naslova (do največ %(max_length)s znakov)" - -msgid "Small integer" -msgstr "Celo število" - -msgid "Text" -msgstr "Besedilo" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "Čas" - -msgid "URL" -msgstr "URL (spletni naslov)" - -msgid "Raw binary data" -msgstr "Surovi binarni podatki" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "" - -msgid "File" -msgstr "Datoteka" - -msgid "Image" -msgstr "Slika" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "" -"Instanca %(model)s s poljem %(field)s, ki ustreza %(value)r, ne obstaja." - -msgid "Foreign Key (type determined by related field)" -msgstr "Tuji ključ (tip odvisen od povezanega polja)" - -msgid "One-to-one relationship" -msgstr "Relacija ena-na-ena" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "Relacija %(from)s-%(to)s" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "Relacija %(from)s-%(to)s" - -msgid "Many-to-many relationship" -msgstr "Relacija več-na-več" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "To polje je obvezno." - -msgid "Enter a whole number." -msgstr "Vnesite celo število." - -msgid "Enter a valid date." -msgstr "Vnesite veljaven datum." - -msgid "Enter a valid time." -msgstr "Vnesite veljaven čas." - -msgid "Enter a valid date/time." -msgstr "Vnesite veljaven datum/čas." - -msgid "Enter a valid duration." -msgstr "Vnesite veljavno obdobje trajanja." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "" - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Datoteka ni bila poslana. Preverite nabor znakov v formi." - -msgid "No file was submitted." -msgstr "Poslali niste nobene datoteke." - -msgid "The submitted file is empty." -msgstr "Poslana datoteka je prazna." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Poskrbite, da bo imelo to ime datoteke največ %(max)d znak (trenutno ima " -"%(length)d)." -msgstr[1] "" -"Poskrbite, da bo imelo to ime datoteke največ %(max)d znaka (trenutno ima " -"%(length)d)." -msgstr[2] "" -"Poskrbite, da bo imelo to ime datoteke največ %(max)d znake (trenutno ima " -"%(length)d)." -msgstr[3] "" -"Poskrbite, da bo imelo to ime datoteke največ %(max)d znakov (trenutno ima " -"%(length)d)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "Prosim oddaj datoteko ali izberi počisti okvir, ampak ne oboje hkrati." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Naložite veljavno sliko. Naložena datoteka ni bila slika ali pa je bila le-" -"ta okvarjena." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "Izberite veljavno možnost. %(value)s ni med ponujenimi izbirami." - -msgid "Enter a list of values." -msgstr "Vnesite seznam vrednosti." - -msgid "Enter a complete value." -msgstr "Vnesite popolno vrednost." - -msgid "Enter a valid UUID." -msgstr "Vnesite veljaven UUID." - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Skrito polje %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "Podatki iz ManagementForm manjkajo ali pa so bili spreminjani." - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Pošljite največ %d obrazec." -msgstr[1] "Pošljite največ %d obrazca." -msgstr[2] "Pošljite največ %d obrazce." -msgstr[3] "Pošljite največ %d obrazcev." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "Prosimo vnesite %d ali več vnosov." -msgstr[1] "Prosimo vnesite %d ali več vnosov." -msgstr[2] "Prosimo vnesite %d ali več vnosov." -msgstr[3] "Prosimo vnesite %d ali več vnosov." - -msgid "Order" -msgstr "Razvrsti" - -msgid "Delete" -msgstr "Izbriši" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Prosimo, odpravite podvojene vrednosti za %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"Prosimo popravite podvojene vrednosti za %(field)s, ki morajo biti unikatne." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Prosimo popravite podvojene vrednosti za polje %(field_name)s, ki mora biti " -"edinstveno za %(lookup)s po %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "Prosimo odpravite podvojene vrednosti spodaj." - -msgid "The inline value did not match the parent instance." -msgstr "Vrednost se ne ujema s povezanim vnosom." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "Izberite veljavno možnost. Te možnosti ni med ponujenimi izbirami." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "Počisti" - -msgid "Currently" -msgstr "Trenutno" - -msgid "Change" -msgstr "Spremeni" - -msgid "Unknown" -msgstr "Neznano" - -msgid "Yes" -msgstr "Da" - -msgid "No" -msgstr "Ne" - -msgid "Year" -msgstr "" - -msgid "Month" -msgstr "" - -msgid "Day" -msgstr "" - -msgid "yes,no,maybe" -msgstr "da,ne,morda" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d bajt" -msgstr[1] "%(size)d bajta" -msgstr[2] "%(size)d bajti" -msgstr[3] "%(size)d bajtov" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "p.m." - -msgid "a.m." -msgstr "a.m." - -msgid "PM" -msgstr "PM" - -msgid "AM" -msgstr "AM" - -msgid "midnight" -msgstr "polnoč" - -msgid "noon" -msgstr "poldne" - -msgid "Monday" -msgstr "ponedeljek" - -msgid "Tuesday" -msgstr "torek" - -msgid "Wednesday" -msgstr "sreda" - -msgid "Thursday" -msgstr "četrtek" - -msgid "Friday" -msgstr "petek" - -msgid "Saturday" -msgstr "sobota" - -msgid "Sunday" -msgstr "nedelja" - -msgid "Mon" -msgstr "pon" - -msgid "Tue" -msgstr "tor" - -msgid "Wed" -msgstr "sre" - -msgid "Thu" -msgstr "čet" - -msgid "Fri" -msgstr "pet" - -msgid "Sat" -msgstr "sob" - -msgid "Sun" -msgstr "ned" - -msgid "January" -msgstr "januar" - -msgid "February" -msgstr "februar" - -msgid "March" -msgstr "marec" - -msgid "April" -msgstr "april" - -msgid "May" -msgstr "maj" - -msgid "June" -msgstr "junij" - -msgid "July" -msgstr "julij" - -msgid "August" -msgstr "avgust" - -msgid "September" -msgstr "september" - -msgid "October" -msgstr "oktober" - -msgid "November" -msgstr "november" - -msgid "December" -msgstr "december" - -msgid "jan" -msgstr "jan" - -msgid "feb" -msgstr "feb" - -msgid "mar" -msgstr "mar" - -msgid "apr" -msgstr "apr" - -msgid "may" -msgstr "maj" - -msgid "jun" -msgstr "jun" - -msgid "jul" -msgstr "jul" - -msgid "aug" -msgstr "avg" - -msgid "sep" -msgstr "sep" - -msgid "oct" -msgstr "okt" - -msgid "nov" -msgstr "nov" - -msgid "dec" -msgstr "dec" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Jan" - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Feb." - -msgctxt "abbrev. month" -msgid "March" -msgstr "Marec" - -msgctxt "abbrev. month" -msgid "April" -msgstr "April" - -msgctxt "abbrev. month" -msgid "May" -msgstr "Maj" - -msgctxt "abbrev. month" -msgid "June" -msgstr "Junij" - -msgctxt "abbrev. month" -msgid "July" -msgstr "Julij" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Avg." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Sept." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Okt." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Nov." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Dec." - -msgctxt "alt. month" -msgid "January" -msgstr "Januar" - -msgctxt "alt. month" -msgid "February" -msgstr "Februar" - -msgctxt "alt. month" -msgid "March" -msgstr "Marec" - -msgctxt "alt. month" -msgid "April" -msgstr "April" - -msgctxt "alt. month" -msgid "May" -msgstr "Maj" - -msgctxt "alt. month" -msgid "June" -msgstr "Junij" - -msgctxt "alt. month" -msgid "July" -msgstr "Julij" - -msgctxt "alt. month" -msgid "August" -msgstr "Avgust" - -msgctxt "alt. month" -msgid "September" -msgstr "September" - -msgctxt "alt. month" -msgid "October" -msgstr "Oktober" - -msgctxt "alt. month" -msgid "November" -msgstr "November" - -msgctxt "alt. month" -msgid "December" -msgstr "December" - -msgid "This is not a valid IPv6 address." -msgstr "To ni veljaven IPv6 naslov." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "" - -msgid "or" -msgstr "ali" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d leto" -msgstr[1] "%d leti" -msgstr[2] "%d leta" -msgstr[3] "%d let" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d mesec" -msgstr[1] "%d meseca" -msgstr[2] "%d mesece" -msgstr[3] "%d mesecev" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d teden" -msgstr[1] "%d tedna" -msgstr[2] "%d tedne" -msgstr[3] "%d tednov" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d dan" -msgstr[1] "%d dneva" -msgstr[2] "%d dni" -msgstr[3] "%d dni" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d ura" -msgstr[1] "%d uri" -msgstr[2] "%d ure" -msgstr[3] "%d ur" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d minuta" -msgstr[1] "%d minuti" -msgstr[2] "%d minute" -msgstr[3] "%d minut" - -msgid "0 minutes" -msgstr "0 minut" - -msgid "Forbidden" -msgstr "Prepovedano" - -msgid "CSRF verification failed. Request aborted." -msgstr "CSRF preverjanje ni uspelo. Zahtevek preklican." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"To obvestilo vidite, ker ta spletna stran zahteva CSRF piškotek, ko " -"pošiljate obrazce. Piškotek je potreben zaradi varnosti, da se zagotovi, da " -"ste zahtevek res naredili vi." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "Več informacij je na voljo, če nastavite DEBUG=True." - -msgid "No year specified" -msgstr "Leto ni vnešeno" - -msgid "Date out of range" -msgstr "Datum ni znotraj veljavnega obsega." - -msgid "No month specified" -msgstr "Mesec ni vnešen" - -msgid "No day specified" -msgstr "Dan ni vnešen" - -msgid "No week specified" -msgstr "Teden ni vnešen" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "Na voljo ni noben %(verbose_name_plural)s" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"Prihodnje %(verbose_name_plural)s niso na voljo, ker je vrednost " -"%(class_name)s.allow_future False." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Noben %(verbose_name)s ne ustreza poizvedbi" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Neveljavna stran (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "Prikaz vsebine mape ni dovoljen." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Vsebina mape %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "Django: spletno ogrodje za perfekcioniste s časovnimi roki." - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"Oglejte si obvestila ob izdaji za Django " -"%(version)s" - -msgid "The install worked successfully! Congratulations!" -msgstr "Namestitev se je uspešno izvedla! Čestitke!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"To stran vidite, ker imate nastavljeno DEBUG=True v vaši settings.py datoteki in ker nimate nastavljenih URL-" -"jev." - -msgid "Django Documentation" -msgstr "Django Dokumentacija" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "Vodič: aplikacija anketa" - -msgid "Get started with Django" -msgstr "Začnite z Djangom" - -msgid "Django Community" -msgstr "Django Skupnost" - -msgid "Connect, get help, or contribute" -msgstr "Spoznajte nove ljudi, poiščite pomoč in prispevajte " diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/sl/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/sl/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/sl/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/sl/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 67e14129..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/sl/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/sl/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/sl/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 659280a6..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/sl/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/sl/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/sl/formats.py deleted file mode 100644 index 35de5adf..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/sl/formats.py +++ /dev/null @@ -1,42 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'd. F Y' -TIME_FORMAT = 'H:i' -DATETIME_FORMAT = 'j. F Y. H:i' -YEAR_MONTH_FORMAT = 'F Y' -MONTH_DAY_FORMAT = 'j. F' -SHORT_DATE_FORMAT = 'j. M. Y' -SHORT_DATETIME_FORMAT = 'j.n.Y. H:i' -FIRST_DAY_OF_WEEK = 0 - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -DATE_INPUT_FORMATS = [ - '%d.%m.%Y', '%d.%m.%y', # '25.10.2006', '25.10.06' - '%d-%m-%Y', # '25-10-2006' - '%d. %m. %Y', '%d. %m. %y', # '25. 10. 2006', '25. 10. 06' -] - -DATETIME_INPUT_FORMATS = [ - '%d.%m.%Y %H:%M:%S', # '25.10.2006 14:30:59' - '%d.%m.%Y %H:%M:%S.%f', # '25.10.2006 14:30:59.000200' - '%d.%m.%Y %H:%M', # '25.10.2006 14:30' - '%d.%m.%y %H:%M:%S', # '25.10.06 14:30:59' - '%d.%m.%y %H:%M:%S.%f', # '25.10.06 14:30:59.000200' - '%d.%m.%y %H:%M', # '25.10.06 14:30' - '%d-%m-%Y %H:%M:%S', # '25-10-2006 14:30:59' - '%d-%m-%Y %H:%M:%S.%f', # '25-10-2006 14:30:59.000200' - '%d-%m-%Y %H:%M', # '25-10-2006 14:30' - '%d. %m. %Y %H:%M:%S', # '25. 10. 2006 14:30:59' - '%d. %m. %Y %H:%M:%S.%f', # '25. 10. 2006 14:30:59.000200' - '%d. %m. %Y %H:%M', # '25. 10. 2006 14:30' - '%d. %m. %y %H:%M:%S', # '25. 10. 06 14:30:59' - '%d. %m. %y %H:%M:%S.%f', # '25. 10. 06 14:30:59.000200' - '%d. %m. %y %H:%M', # '25. 10. 06 14:30' -] - -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = '.' -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/sq/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/sq/LC_MESSAGES/django.mo deleted file mode 100644 index 2e9c35d9..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/sq/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/sq/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/sq/LC_MESSAGES/django.po deleted file mode 100644 index e0c3e4d0..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/sq/LC_MESSAGES/django.po +++ /dev/null @@ -1,1306 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Besnik Bleta , 2011-2014 -# Besnik Bleta , 2020 -# Besnik Bleta , 2015-2019 -# Jannis Leidel , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-07-15 09:17+0000\n" -"Last-Translator: Besnik Bleta \n" -"Language-Team: Albanian (http://www.transifex.com/django/django/language/" -"sq/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sq\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "Afrikaans" -msgstr "Afrikaans" - -msgid "Arabic" -msgstr "Arabe" - -msgid "Algerian Arabic" -msgstr "Arabishte Algjeriane" - -msgid "Asturian" -msgstr "Asturiase" - -msgid "Azerbaijani" -msgstr "Azerbaixhanase" - -msgid "Bulgarian" -msgstr "Bulgare" - -msgid "Belarusian" -msgstr "Bjelloruse" - -msgid "Bengali" -msgstr "Bengaleze" - -msgid "Breton" -msgstr "Bretone" - -msgid "Bosnian" -msgstr "Boshnjake" - -msgid "Catalan" -msgstr "Katalane" - -msgid "Czech" -msgstr "Çeke" - -msgid "Welsh" -msgstr "Uellsiane" - -msgid "Danish" -msgstr "Daneze" - -msgid "German" -msgstr "Gjermane" - -msgid "Lower Sorbian" -msgstr "Sorbiane e Poshtme" - -msgid "Greek" -msgstr "Greke" - -msgid "English" -msgstr "Angleze" - -msgid "Australian English" -msgstr "Angleze Australiane" - -msgid "British English" -msgstr "Angleze Britanike" - -msgid "Esperanto" -msgstr "Esperanto" - -msgid "Spanish" -msgstr "Spanjolle" - -msgid "Argentinian Spanish" -msgstr "Spanjolle Argjentinase" - -msgid "Colombian Spanish" -msgstr "Spanjolle Kolumbiane" - -msgid "Mexican Spanish" -msgstr "Spanjolle Meksikane" - -msgid "Nicaraguan Spanish" -msgstr "Spanjolle Nikaraguane" - -msgid "Venezuelan Spanish" -msgstr "Spanjolle Venezuelane" - -msgid "Estonian" -msgstr "Estoneze" - -msgid "Basque" -msgstr "Baske" - -msgid "Persian" -msgstr "Persiane" - -msgid "Finnish" -msgstr "Finlandeze" - -msgid "French" -msgstr "Frënge" - -msgid "Frisian" -msgstr "Frisiane" - -msgid "Irish" -msgstr "Irlandeze" - -msgid "Scottish Gaelic" -msgstr "Skoceze Gaelike" - -msgid "Galician" -msgstr "Galike" - -msgid "Hebrew" -msgstr "Hebraishte" - -msgid "Hindi" -msgstr "Indiane" - -msgid "Croatian" -msgstr "Kroate" - -msgid "Upper Sorbian" -msgstr "Sorbiane e Sipërme" - -msgid "Hungarian" -msgstr "Hungareze" - -msgid "Armenian" -msgstr "Armenisht" - -msgid "Interlingua" -msgstr "Interlingua" - -msgid "Indonesian" -msgstr "Indoneziane" - -msgid "Igbo" -msgstr "Igbo" - -msgid "Ido" -msgstr "Ido" - -msgid "Icelandic" -msgstr "Islandeze" - -msgid "Italian" -msgstr "Italiane" - -msgid "Japanese" -msgstr "Japoneze" - -msgid "Georgian" -msgstr "Gjeorgjiane" - -msgid "Kabyle" -msgstr "Kabilase" - -msgid "Kazakh" -msgstr "Kazake" - -msgid "Khmer" -msgstr "Khmere" - -msgid "Kannada" -msgstr "Kannada" - -msgid "Korean" -msgstr "Koreane" - -msgid "Kyrgyz" -msgstr "Kirgize" - -msgid "Luxembourgish" -msgstr "Luksemburgase" - -msgid "Lithuanian" -msgstr "Lituaneze" - -msgid "Latvian" -msgstr "Letoneze" - -msgid "Macedonian" -msgstr "Maqedone" - -msgid "Malayalam" -msgstr "Malajalame" - -msgid "Mongolian" -msgstr "Mongoliane" - -msgid "Marathi" -msgstr "Marati" - -msgid "Burmese" -msgstr "Burmeze" - -msgid "Norwegian Bokmål" -msgstr "Norvegjeze Bokmal" - -msgid "Nepali" -msgstr "Nepaleze" - -msgid "Dutch" -msgstr "Holandeze" - -msgid "Norwegian Nynorsk" -msgstr "Norvegjeze Nynorsk" - -msgid "Ossetic" -msgstr "Osetishte" - -msgid "Punjabi" -msgstr "Panxhabe" - -msgid "Polish" -msgstr "Polake" - -msgid "Portuguese" -msgstr "Portugeze" - -msgid "Brazilian Portuguese" -msgstr "Portugeze Braziliane" - -msgid "Romanian" -msgstr "Rumune" - -msgid "Russian" -msgstr "Ruse" - -msgid "Slovak" -msgstr "Sllovake " - -msgid "Slovenian" -msgstr "Slovene" - -msgid "Albanian" -msgstr "Shqipe" - -msgid "Serbian" -msgstr "Serbe" - -msgid "Serbian Latin" -msgstr "Serbe Latine" - -msgid "Swedish" -msgstr "Suedeze" - -msgid "Swahili" -msgstr "Swahili" - -msgid "Tamil" -msgstr "Tamileze" - -msgid "Telugu" -msgstr "Telugu" - -msgid "Tajik" -msgstr "Taxhike" - -msgid "Thai" -msgstr "Tajlandeze" - -msgid "Turkmen" -msgstr "Turkmene" - -msgid "Turkish" -msgstr "Turke" - -msgid "Tatar" -msgstr "Tatare" - -msgid "Udmurt" -msgstr "Udmurt" - -msgid "Ukrainian" -msgstr "Ukrainase" - -msgid "Urdu" -msgstr "Urdu" - -msgid "Uzbek" -msgstr "Uzbeke" - -msgid "Vietnamese" -msgstr "Vietnameze" - -msgid "Simplified Chinese" -msgstr "Kineze e Thjeshtuar" - -msgid "Traditional Chinese" -msgstr "Kineze Tradicionale" - -msgid "Messages" -msgstr "Mesazhe" - -msgid "Site Maps" -msgstr "Harta Sajti" - -msgid "Static Files" -msgstr "Kartela Statike" - -msgid "Syndication" -msgstr "" - -msgid "That page number is not an integer" -msgstr "Ai numër faqeje s’është numër i plotë" - -msgid "That page number is less than 1" -msgstr "Ai numër faqeje është më i vogël se 1" - -msgid "That page contains no results" -msgstr "Ajo faqe s’përmban përfundime" - -msgid "Enter a valid value." -msgstr "Jepni një vlerë të vlefshme." - -msgid "Enter a valid URL." -msgstr "Jepni një URL të vlefshme." - -msgid "Enter a valid integer." -msgstr "Jepni një numër të plotë të vlefshëm." - -msgid "Enter a valid email address." -msgstr "Jepni një adresë email të vlefshme." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" -"Jepni një “slug” të vlefshëm, të përbërë nga shkronja, numra, nëvija ose " -"vija në mes." - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" -"Jepni një “slug” të vlefshëm, të përbërë nga shkronja, numra, nënvija ose " -"vija ndarëse Unikod." - -msgid "Enter a valid IPv4 address." -msgstr "Jepni një adresë IPv4 të vlefshme." - -msgid "Enter a valid IPv6 address." -msgstr "Jepni një adresë IPv6 të vlefshme." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Jepni një adresë IPv4 ose IPv6 të vlefshme." - -msgid "Enter only digits separated by commas." -msgstr "Jepni vetëm shifra të ndara nga presje." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "Siguroni që kjo vlerë të jetë %(limit_value)s (është %(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Siguroni që kjo vlerë të jetë më e vogël ose baras me %(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Siguroni që kjo vlerë është më e madhe ose baras me %(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Sigurohuni që kjo vlerë ka të paktën %(limit_value)d shenjë (ka " -"%(show_value)d)." -msgstr[1] "" -"Sigurohuni që kjo vlerë ka të paktën %(limit_value)d shenja (ka " -"%(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Sigurohuni që kjo vlerë ka të shumtën %(limit_value)d shenjë (ka " -"%(show_value)d)." -msgstr[1] "" -"Sigurohuni që kjo vlerë ka të shumtën %(limit_value)d shenja (ka " -"%(show_value)d)." - -msgid "Enter a number." -msgstr "Jepni një numër." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Sigurohuni që s’ka më tepër se %(max)s shifër gjithsej." -msgstr[1] "Sigurohuni që s’ka më tepër se %(max)s shifra gjithsej." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "Sigurohuni që s’ka më shumë se %(max)s vend dhjetor." -msgstr[1] "Sigurohuni që s’ka më shumë se %(max)s vende dhjetore." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -"Sigurohuni që s’ka më tepër se %(max)s shifër para presjes dhjetore." -msgstr[1] "" -"Sigurohuni që s’ka më tepër se %(max)s shifra para presjes dhjetore." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" -"Zgjatimi “%(extension)s” për kartela nuk lejohet. Zgjatime të lejuara janë: " -"%(allowed_extensions)s." - -msgid "Null characters are not allowed." -msgstr "Nuk lejohen shenja null." - -msgid "and" -msgstr "dhe " - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "Ka tashmë %(model_name)s me këtë %(field_labels)s." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "Vlera %(value)r s’është zgjedhje e vlefshme." - -msgid "This field cannot be null." -msgstr "Kjo fushë s’mund të përmbajë shenja null." - -msgid "This field cannot be blank." -msgstr "Kjo fushë s’mund të jetë e paplotësuar." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "Ka tashmë një %(model_name)s me këtë %(field_label)s." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(field_label)s duhet të jetë unike për %(date_field_label)s %(lookup_type)s." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Fushë e llojit: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "Vlera “%(value)s” duhet të jetë ose True, ose False." - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "Vlera për “%(value)s” duhet të jetë ose True, ose False, ose None." - -msgid "Boolean (Either True or False)" -msgstr "Buleane (Ose True, ose False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Varg (deri në %(max_length)s)" - -msgid "Comma-separated integers" -msgstr "Numra të plotë të ndarë me presje" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" -"Vlera “%(value)s” ka një format të pavlefshëm datash. Duhet të jetë në " -"formatin YYYY-MM-DD." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" -"Vlera “%(value)s” ka formatin e saktë (YYYY-MM-DD), por është datë e " -"pavlefshme." - -msgid "Date (without time)" -msgstr "Datë (pa kohë)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" -"Vlera “'%(value)s” ka një format të pavlefshëm. Duhet të jetë në formatin " -"YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" -"Vlera “%(value)s” ka format të saktë (YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]), " -"por është datë/kohë e pavlefshme." - -msgid "Date (with time)" -msgstr "Datë (me kohë)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "Vlera “%(value)s” duhet të jetë një numër dhjetor." - -msgid "Decimal number" -msgstr "Numër dhjetor" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" -"Vlera “%(value)s” ka format të pavlefshëm. Duhet të jetë në formatin [DD] " -"[HH:[MM:]]ss[.uuuuuu]." - -msgid "Duration" -msgstr "Kohëzgjatje" - -msgid "Email address" -msgstr "Adresë email" - -msgid "File path" -msgstr "Shteg kartele" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "Vlera “%(value)s” duhet të jetë numër i plotë." - -msgid "Integer" -msgstr "Numër i plotë" - -msgid "Big (8 byte) integer" -msgstr "Numër i plotë i madh (8 bajte)" - -msgid "IPv4 address" -msgstr "Adresë IPv4" - -msgid "IP address" -msgstr "Adresë IP" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "Vlera “%(value)s” duhet të jetë ose None, ose True, ose False." - -msgid "Boolean (Either True, False or None)" -msgstr "Buleane (Ose True, ose False, ose None)" - -msgid "Positive big integer" -msgstr "" - -msgid "Positive integer" -msgstr "Numër i plotë pozitiv" - -msgid "Positive small integer" -msgstr "Numër i plotë pozitiv i vogël" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Identifikues (deri në %(max_length)s)" - -msgid "Small integer" -msgstr "Numër i plotë i vogël" - -msgid "Text" -msgstr "Tekst" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" -"Vlera “%(value)s” ka format të pavlefshëm. Duhet të jetë në formatin HH:MM[:" -"ss[.uuuuuu]]." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" -"Vlera “%(value)s” ka formatin e saktë (HH:MM[:ss[.uuuuuu]]) por është kohë e " -"pavlefshme." - -msgid "Time" -msgstr "Kohë" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Të dhëna dyore të papërpunuara" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "“%(value)s” s’është UUID i vlefshëm." - -msgid "Universally unique identifier" -msgstr "Identifikues universalisht unik" - -msgid "File" -msgstr "Kartelë" - -msgid "Image" -msgstr "Figurë" - -msgid "A JSON object" -msgstr "Objekt JSON" - -msgid "Value must be valid JSON." -msgstr "Vlera duhet të jetë JSON i vlefshëm." - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "Instanca %(model)s me %(field)s %(value)r s’ekziston." - -msgid "Foreign Key (type determined by related field)" -msgstr "Kyç i Jashtëm (lloj i përcaktuar nga fusha përkatëse)" - -msgid "One-to-one relationship" -msgstr "Marrëdhënie një-për-një" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "Marrëdhënie %(from)s-%(to)s" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "Marrëdhënie %(from)s-%(to)s" - -msgid "Many-to-many relationship" -msgstr "Marrëdhënie shumë-për-shumë" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Kjo fushë është e domosdoshme." - -msgid "Enter a whole number." -msgstr "Jepni një numër të tërë." - -msgid "Enter a valid date." -msgstr "Jepni një datë të vlefshme." - -msgid "Enter a valid time." -msgstr "Jepni një kohë të vlefshme." - -msgid "Enter a valid date/time." -msgstr "Jepni një datë/kohë të vlefshme." - -msgid "Enter a valid duration." -msgstr "Jepni një kohëzgjatje të vlefshme." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "Numri i ditëve duhet të jetë mes {min_days} dhe {max_days}." - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "" -"S’u parashtrua ndonjë kartelë. Kontrolloni llojin e kodimit te formulari." - -msgid "No file was submitted." -msgstr "S’u parashtrua kartelë." - -msgid "The submitted file is empty." -msgstr "Kartela e parashtruar është e zbrazët." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Sigurohuni që ky emër kartele ka të shumtën %(max)d shenjë (it has " -"%(length)d)." -msgstr[1] "" -"Sigurohuni që ky emër kartele ka të shumtën %(max)d shenja (it has " -"%(length)d)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" -"Ju lutemi, ose parashtroni një kartelë, ose i vini shenjë kutizës për " -"spastrim, jo që të dyja." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Ngarkoni një figurë të vlefshme. Kartela që ngarkuat ose nuk qe figurë, ose " -"qe figurë e dëmtuar." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "" -"Përzgjidhni një zgjedhje të vlefshme. %(value)s s’është një nga zgjedhjet e " -"mundshme." - -msgid "Enter a list of values." -msgstr "Jepni një listë vlerash." - -msgid "Enter a complete value." -msgstr "Jepni një vlerë të plotë." - -msgid "Enter a valid UUID." -msgstr "Jepni një UUID të vlefshëm." - -msgid "Enter a valid JSON." -msgstr "Jepni një JSON të vlefshëm." - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Fushë e fshehur %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "Të dhënat ManagementForm mungojnë ose është vënë dorë mbi to" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Ju lutemi, parashtroni %d ose më pak formularë." -msgstr[1] "Ju lutemi, parashtroni %d ose më pak formularë." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "Ju lutemi, parashtroni %d ose më shumë formularë." -msgstr[1] "Ju lutemi, parashtroni %d ose më shumë formularë." - -msgid "Order" -msgstr "Renditi" - -msgid "Delete" -msgstr "Fshije" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Ju lutemi, ndreqni të dhënat e përsëdytura për %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"Ju lutemi, ndreqni të dhënat e përsëdytura për %(field)s, të cilat duhet të " -"jenë unike." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Ju lutemi, ndreqni të dhënat e përsëdytura për %(field_name)s të cilat duhet " -"të jenë unike për %(lookup)s te %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "Ju lutemi, ndreqni më poshtë vlerat e përsëdytura." - -msgid "The inline value did not match the parent instance." -msgstr "Vlera e brendshme s’u përputh me instancën prind." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" -"Përzgjidhni një zgjedhje të vlefshme. Ajo zgjedhje nuk është një nga " -"zgjedhjet e mundshme." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "“%(pk)s” s’është vlerë e vlefshme." - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" -"%(datetime)s s’u interpretua dot brenda zonës kohore %(current_timezone)s; " -"mund të jetë e dykuptimtë, ose mund të mos ekzistojë." - -msgid "Clear" -msgstr "Spastroje" - -msgid "Currently" -msgstr "Tani" - -msgid "Change" -msgstr "Ndryshoje" - -msgid "Unknown" -msgstr "E panjohur" - -msgid "Yes" -msgstr "Po" - -msgid "No" -msgstr "Jo" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "po,jo,ndoshta" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d bajt" -msgstr[1] "%(size)d bajte" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "p.m." - -msgid "a.m." -msgstr "a.m." - -msgid "PM" -msgstr "PM" - -msgid "AM" -msgstr "AM" - -msgid "midnight" -msgstr "mesnatë" - -msgid "noon" -msgstr "mesditë" - -msgid "Monday" -msgstr "E hënë" - -msgid "Tuesday" -msgstr "E martë" - -msgid "Wednesday" -msgstr "E mërkurë" - -msgid "Thursday" -msgstr "E enjte" - -msgid "Friday" -msgstr "E premte" - -msgid "Saturday" -msgstr "E shtunë" - -msgid "Sunday" -msgstr "E dielë" - -msgid "Mon" -msgstr "Hën" - -msgid "Tue" -msgstr "Mar" - -msgid "Wed" -msgstr "Mër" - -msgid "Thu" -msgstr "Enj" - -msgid "Fri" -msgstr "Pre" - -msgid "Sat" -msgstr "Sht" - -msgid "Sun" -msgstr "Die" - -msgid "January" -msgstr "Janar" - -msgid "February" -msgstr "Shkurt" - -msgid "March" -msgstr "Mars" - -msgid "April" -msgstr "Prill" - -msgid "May" -msgstr "Maj" - -msgid "June" -msgstr "Qershor" - -msgid "July" -msgstr "Korrik" - -msgid "August" -msgstr "Gusht" - -msgid "September" -msgstr "Shtator" - -msgid "October" -msgstr "Tetor" - -msgid "November" -msgstr "Nëntor" - -msgid "December" -msgstr "Dhjetor" - -msgid "jan" -msgstr "jan" - -msgid "feb" -msgstr "shk" - -msgid "mar" -msgstr "mar" - -msgid "apr" -msgstr "pri" - -msgid "may" -msgstr "maj" - -msgid "jun" -msgstr "qer" - -msgid "jul" -msgstr "kor" - -msgid "aug" -msgstr "gus" - -msgid "sep" -msgstr "sht" - -msgid "oct" -msgstr "tet" - -msgid "nov" -msgstr "nën" - -msgid "dec" -msgstr "dhj" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Jan." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Shk." - -msgctxt "abbrev. month" -msgid "March" -msgstr "Mars" - -msgctxt "abbrev. month" -msgid "April" -msgstr "Prill" - -msgctxt "abbrev. month" -msgid "May" -msgstr "Maj" - -msgctxt "abbrev. month" -msgid "June" -msgstr "Qershor" - -msgctxt "abbrev. month" -msgid "July" -msgstr "Korrik" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Gus." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Shta." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Tet." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Nën." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Dhj." - -msgctxt "alt. month" -msgid "January" -msgstr "Janar" - -msgctxt "alt. month" -msgid "February" -msgstr "Shkurt" - -msgctxt "alt. month" -msgid "March" -msgstr "Mars" - -msgctxt "alt. month" -msgid "April" -msgstr "Prill" - -msgctxt "alt. month" -msgid "May" -msgstr "Maj" - -msgctxt "alt. month" -msgid "June" -msgstr "Qershor" - -msgctxt "alt. month" -msgid "July" -msgstr "Korrik" - -msgctxt "alt. month" -msgid "August" -msgstr "Gusht" - -msgctxt "alt. month" -msgid "September" -msgstr "Shtator" - -msgctxt "alt. month" -msgid "October" -msgstr "Tetor" - -msgctxt "alt. month" -msgid "November" -msgstr "Nëntor" - -msgctxt "alt. month" -msgid "December" -msgstr "Dhjetor" - -msgid "This is not a valid IPv6 address." -msgstr "Kjo s’është adresë IPv6 e vlefshme." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s…" - -msgid "or" -msgstr "ose" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d vit" -msgstr[1] "%d vjet" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d muaj" -msgstr[1] "%d muaj" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d javë" -msgstr[1] "%d javë" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d ditë" -msgstr[1] "%d ditë" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d orë" -msgstr[1] "%d orë" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d minutë" -msgstr[1] "%d minuta" - -msgid "Forbidden" -msgstr "E ndaluar" - -msgid "CSRF verification failed. Request aborted." -msgstr "Verifikimi CSRF dështoi. Kërkesa u ndërpre." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" -"Këtë mesazh po e shihni ngaqë ky sajt HTTPS e ka të domosdoshme dërgimin e " -"“Referer header” te shfletuesi juaj, por s’u dërgua ndonjë i tillë. Kjo krye " -"është e domosdoshme për arsye sigurie, për të bërë të mundur që shfletuesi " -"juaj të mos komprometohet nga palë të treta." - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" -"Nëse e keni formësuar shfletuesin tuaj të çaktivizojë kryet “Referer”, ju " -"lutemi, riaktivizojini, ose për lidhje HTTPS, ose për kërkesa “same-origin”." - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" -"Nëse përdorni etiketën " -"etiketën ose përfshini kryet “Referrer-Policy: no-referrer”, ju lutemi, " -"hiqini. Mbrojtja CSRF lyp që kryet “Referer” të kryejnë kontroll strikt " -"referuesi. Nëse shqetësoheni për privatësinë, për lidhje te sajte palësh të " -"treta përdorni alternativa si ." - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Këtë mesazh po e shihni ngaqë ky sajt lyp një cookie CSRF, kur parashtrohen " -"formularë. Kjo cookie është e domosdoshme për arsye sigurie, për të bërë të " -"mundur që shfletuesi juaj të mos komprometohet nga palë të treta." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" -"Nëse e keni formësuar shfletuesin tuaj të çaktivizojë cookie-t, ju lutemi, " -"riaktivizojini, të paktën për këtë sajt, ose për kërkesa “same-origin”." - -msgid "More information is available with DEBUG=True." -msgstr "Më tepër të dhëna mund të gjeni me DEBUG=True." - -msgid "No year specified" -msgstr "Nuk është caktuar vit" - -msgid "Date out of range" -msgstr "Datë jashtë intervali" - -msgid "No month specified" -msgstr "Nuk është caktuar muaj" - -msgid "No day specified" -msgstr "Nuk është caktuar ditë" - -msgid "No week specified" -msgstr "Nuk është caktuar javë" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "Nuk ka %(verbose_name_plural)s të përcaktuar" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"%(verbose_name_plural)s i ardhshëm jo i passhëm, ngaqë %(class_name)s." -"allow_future është False." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" -"U dha varg i pavlefshëm date “%(datestr)s” formati i dhënë “%(format)s”" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "S’u gjetën %(verbose_name)s me përputhje" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "Faqja nuk është “last”, as mund të shndërrohet në një int." - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Faqe e pavlefshme (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "Listë e zbrazët dhe “%(class_name)s.allow_empty” është False." - -msgid "Directory indexes are not allowed here." -msgstr "Këtu s’lejohen tregues drejtorish." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "“%(path)s” s’ekziston" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Tregues i %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "Django: platforma Web për perfeksionistë me afate." - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"Shihni shënimet për hedhjen në qarkullim të " -"Django %(version)s" - -msgid "The install worked successfully! Congratulations!" -msgstr "Instalimi funksionoi me sukses! Përgëzime!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"Po e shihni këtë faqe ngaqë te kartela juaj e rregullimeve gjendet DEBUG=True dhe s’keni formësuar ndonjë URL." - -msgid "Django Documentation" -msgstr "Dokumentim i Django-s" - -msgid "Topics, references, & how-to’s" -msgstr "Tema, referenca, & how-to" - -msgid "Tutorial: A Polling App" -msgstr "Përkujdesore: Një Aplikacion Për Sondazhe" - -msgid "Get started with Django" -msgstr "Si t’ia filloni me Django-n" - -msgid "Django Community" -msgstr "Bashkësia Django" - -msgid "Connect, get help, or contribute" -msgstr "Lidhuni, merrni ndihmë, ose jepni ndihmesë" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/sq/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/sq/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/sq/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/sq/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index dcc7fd0c..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/sq/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/sq/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/sq/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 19dbc8e0..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/sq/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/sq/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/sq/formats.py deleted file mode 100644 index 2f0da0d4..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/sq/formats.py +++ /dev/null @@ -1,21 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'd F Y' -TIME_FORMAT = 'g.i.A' -# DATETIME_FORMAT = -YEAR_MONTH_FORMAT = 'F Y' -MONTH_DAY_FORMAT = 'j F' -SHORT_DATE_FORMAT = 'Y-m-d' -# SHORT_DATETIME_FORMAT = -# FIRST_DAY_OF_WEEK = - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -# DATE_INPUT_FORMATS = -# TIME_INPUT_FORMATS = -# DATETIME_INPUT_FORMATS = -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = '.' -# NUMBER_GROUPING = diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/sr/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/sr/LC_MESSAGES/django.mo deleted file mode 100644 index 96088f00..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/sr/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/sr/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/sr/LC_MESSAGES/django.po deleted file mode 100644 index fc5232bd..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/sr/LC_MESSAGES/django.po +++ /dev/null @@ -1,1318 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Branko Kokanovic , 2018-2019 -# Igor Jerosimić, 2019-2020 -# Jannis Leidel , 2011 -# Janos Guljas , 2011-2012 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-07-14 21:42+0000\n" -"Last-Translator: Transifex Bot <>\n" -"Language-Team: Serbian (http://www.transifex.com/django/django/language/" -"sr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sr\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" - -msgid "Afrikaans" -msgstr "африкански" - -msgid "Arabic" -msgstr "арапски" - -msgid "Algerian Arabic" -msgstr "Алжирски арапски" - -msgid "Asturian" -msgstr "астуријски" - -msgid "Azerbaijani" -msgstr "азербејџански" - -msgid "Bulgarian" -msgstr "бугарски" - -msgid "Belarusian" -msgstr "белоруски" - -msgid "Bengali" -msgstr "бенгалски" - -msgid "Breton" -msgstr "бретонски" - -msgid "Bosnian" -msgstr "босански" - -msgid "Catalan" -msgstr "каталонски" - -msgid "Czech" -msgstr "чешки" - -msgid "Welsh" -msgstr "велшки" - -msgid "Danish" -msgstr "дански" - -msgid "German" -msgstr "немачки" - -msgid "Lower Sorbian" -msgstr "доњолужичкосрпски" - -msgid "Greek" -msgstr "грчки" - -msgid "English" -msgstr "енглески" - -msgid "Australian English" -msgstr "аустралијски енглески" - -msgid "British English" -msgstr "британски енглески" - -msgid "Esperanto" -msgstr "есперанто" - -msgid "Spanish" -msgstr "шпански" - -msgid "Argentinian Spanish" -msgstr "аргентински шпански" - -msgid "Colombian Spanish" -msgstr "колумбијски шпански" - -msgid "Mexican Spanish" -msgstr "мексички шпански" - -msgid "Nicaraguan Spanish" -msgstr "никарагвански шпански" - -msgid "Venezuelan Spanish" -msgstr "венецуелански шпански" - -msgid "Estonian" -msgstr "естонски" - -msgid "Basque" -msgstr "баскијски" - -msgid "Persian" -msgstr "персијски" - -msgid "Finnish" -msgstr "фински" - -msgid "French" -msgstr "француски" - -msgid "Frisian" -msgstr "фризијски" - -msgid "Irish" -msgstr "ирски" - -msgid "Scottish Gaelic" -msgstr "шкотски гелски" - -msgid "Galician" -msgstr "галицијски" - -msgid "Hebrew" -msgstr "хебрејски" - -msgid "Hindi" -msgstr "хинду" - -msgid "Croatian" -msgstr "хрватски" - -msgid "Upper Sorbian" -msgstr "горњолужичкосрпски" - -msgid "Hungarian" -msgstr "мађарски" - -msgid "Armenian" -msgstr "јерменски" - -msgid "Interlingua" -msgstr "интерлингва" - -msgid "Indonesian" -msgstr "индонежански" - -msgid "Igbo" -msgstr "" - -msgid "Ido" -msgstr "идо" - -msgid "Icelandic" -msgstr "исландски" - -msgid "Italian" -msgstr "италијански" - -msgid "Japanese" -msgstr "јапански" - -msgid "Georgian" -msgstr "грузијски" - -msgid "Kabyle" -msgstr "кабилски" - -msgid "Kazakh" -msgstr "казашки" - -msgid "Khmer" -msgstr "кмерски" - -msgid "Kannada" -msgstr "канада" - -msgid "Korean" -msgstr "корејски" - -msgid "Kyrgyz" -msgstr "Киргиски" - -msgid "Luxembourgish" -msgstr "луксембуршки" - -msgid "Lithuanian" -msgstr "литвански" - -msgid "Latvian" -msgstr "латвијски" - -msgid "Macedonian" -msgstr "македонски" - -msgid "Malayalam" -msgstr "малајаламски" - -msgid "Mongolian" -msgstr "монголски" - -msgid "Marathi" -msgstr "маратхи" - -msgid "Burmese" -msgstr "бурмански" - -msgid "Norwegian Bokmål" -msgstr "норвешки књижевни" - -msgid "Nepali" -msgstr "непалски" - -msgid "Dutch" -msgstr "холандски" - -msgid "Norwegian Nynorsk" -msgstr "норвешки нови" - -msgid "Ossetic" -msgstr "осетински" - -msgid "Punjabi" -msgstr "панџаби" - -msgid "Polish" -msgstr "пољски" - -msgid "Portuguese" -msgstr "португалски" - -msgid "Brazilian Portuguese" -msgstr "бразилски португалски" - -msgid "Romanian" -msgstr "румунски" - -msgid "Russian" -msgstr "руски" - -msgid "Slovak" -msgstr "словачки" - -msgid "Slovenian" -msgstr "словеначки" - -msgid "Albanian" -msgstr "албански" - -msgid "Serbian" -msgstr "српски" - -msgid "Serbian Latin" -msgstr "српски (латиница)" - -msgid "Swedish" -msgstr "шведски" - -msgid "Swahili" -msgstr "свахили" - -msgid "Tamil" -msgstr "тамилски" - -msgid "Telugu" -msgstr "телугу" - -msgid "Tajik" -msgstr "" - -msgid "Thai" -msgstr "тајландски" - -msgid "Turkmen" -msgstr "" - -msgid "Turkish" -msgstr "турски" - -msgid "Tatar" -msgstr "татарски" - -msgid "Udmurt" -msgstr "удмуртски" - -msgid "Ukrainian" -msgstr "украјински" - -msgid "Urdu" -msgstr "урду" - -msgid "Uzbek" -msgstr "Узбекистански" - -msgid "Vietnamese" -msgstr "вијетнамски" - -msgid "Simplified Chinese" -msgstr "поједностављени кинески" - -msgid "Traditional Chinese" -msgstr "традиционални кинески" - -msgid "Messages" -msgstr "Poruke" - -msgid "Site Maps" -msgstr "Мапе сајта" - -msgid "Static Files" -msgstr "Статички фајлови" - -msgid "Syndication" -msgstr "Удруживање садржаја" - -msgid "That page number is not an integer" -msgstr "Задати број стране није цео број" - -msgid "That page number is less than 1" -msgstr "Задати број стране је мањи од 1" - -msgid "That page contains no results" -msgstr "Тражена страна не садржи резултате" - -msgid "Enter a valid value." -msgstr "Унесите исправну вредност." - -msgid "Enter a valid URL." -msgstr "Унесите исправан URL." - -msgid "Enter a valid integer." -msgstr "Унесите исправан цео број." - -msgid "Enter a valid email address." -msgstr "Унесите исправну и-мејл адресу." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" -"Унесите исрпаван „слаг“, који се састоји од слова, бројки, доњих црта или " -"циртица." - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" -"Унесите исправан \"слаг\", који се састоји од Уникод слова, бројки, доњих " -"црта или цртица." - -msgid "Enter a valid IPv4 address." -msgstr "Унесите исправну IPv4 адресу." - -msgid "Enter a valid IPv6 address." -msgstr "Унесите исправну IPv6 адресу." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Унесите исправну IPv4 или IPv6 адресу." - -msgid "Enter only digits separated by commas." -msgstr "Унесите само цифре раздвојене запетама." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "Ово поље мора да буде %(limit_value)s (тренутно има %(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Ова вредност мора да буде мања од %(limit_value)s. или тачно толико." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Ова вредност мора бити већа од %(limit_value)s или тачно толико." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Ово поље мора да има најмање %(limit_value)d карактер (тренутно има " -"%(show_value)d)." -msgstr[1] "" -"Ово поље мора да има најмање %(limit_value)d карактера (тренутно има " -"%(show_value)d)." -msgstr[2] "" -"Ово поље мора да има најмање %(limit_value)d карактера (тренутно има " -"%(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Ово поље не сме да има више од %(limit_value)d карактера (тренутно има " -"%(show_value)d)." -msgstr[1] "" -"Ово поље не сме да има више од %(limit_value)d карактера (тренутно има " -"%(show_value)d)." -msgstr[2] "" -"Ово поље не сме да има више од %(limit_value)d карактера (тренутно има " -"%(show_value)d)." - -msgid "Enter a number." -msgstr "Унесите број." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Укупно не може бити више од %(max)s цифре." -msgstr[1] "Укупно не може бити више од %(max)s цифре." -msgstr[2] "Укупно не може бити више од %(max)s цифара." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "Не може бити више од %(max)s децимале." -msgstr[1] "Не може бити више од %(max)s децимале." -msgstr[2] "Не може бити више од %(max)s децимала." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "Не може бити више од %(max)s цифре пре децималног зареза." -msgstr[1] "Не може бити више од %(max)s цифре пре децималног зареза." -msgstr[2] "Не може бити више од %(max)s цифара пре децималног зареза." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" -"Екстензија датотеке \"%(extension)s\" није дозвољена. Дозвољене су следеће " -"екстензије: %(allowed_extensions)s." - -msgid "Null characters are not allowed." -msgstr "'Null' карактери нису дозвољени." - -msgid "and" -msgstr "и" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "%(model_name)s са пољем %(field_labels)s већ постоји." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "Вредност %(value)r није валидна." - -msgid "This field cannot be null." -msgstr "Ово поље не може бити 'null'." - -msgid "This field cannot be blank." -msgstr "Ово поље не може да остане празно." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s са пољем %(field_label)s већ постоји." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(field_label)s мора бити јединствен(a) за %(date_field_label)s " -"%(lookup_type)s." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Поље типа: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "Вредност \"%(value)s\" мора бити True или False." - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "\"%(value)s\" вредност мора бити True, False или None." - -msgid "Boolean (Either True or False)" -msgstr "Булова вредност (True или False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Стринг са макс. дужином %(max_length)s" - -msgid "Comma-separated integers" -msgstr "Цели бројеви раздвојени запетама" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" -"Вредност \"%(value)s\" нема исправан формат датума. Мора бити у формату ГГГГ-" -"ММ-ДД." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" -"Вредност \"%(value)s\" има исправан формат (ГГГГ-ММ-ДД) али то није исправан " -"датум." - -msgid "Date (without time)" -msgstr "Датум (без времена)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" -"Вредност \"%(value)s\" нема исправан формат. Мора бити у формату ГГГГ-ММ-ДД " -"ЧЧ:ММ[:сс[.uuuuuu]][TZ] ." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" -"Вредност \"%(value)s\" има исправан формат (ГГГГ-ММ-ДД ЧЧ:ММ[:сс[.uuuuuu]]" -"[TZ]) али то није исправан датум/време." - -msgid "Date (with time)" -msgstr "Датум (са временом)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "Вредност \"%(value)s\" мора бити децимални број." - -msgid "Decimal number" -msgstr "Децимални број" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" -"Вредност \"%(value)s\" нема исправан формат. Мора бити у формату [ДД] [ЧЧ:" -"[ММ:]]сс[.uuuuuu]." - -msgid "Duration" -msgstr "Временски интервал" - -msgid "Email address" -msgstr "Имејл адреса" - -msgid "File path" -msgstr "Путања фајла" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "Вредност \"%(value)s\" мора бити број са покретним зарезом." - -msgid "Floating point number" -msgstr "Број са покретним зарезом" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "Вредност \"%(value)s\" мора бити цео број." - -msgid "Integer" -msgstr "Цео број" - -msgid "Big (8 byte) integer" -msgstr "Велики (8 бајтова) цео број" - -msgid "IPv4 address" -msgstr "IPv4 адреса" - -msgid "IP address" -msgstr "IP адреса" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "Вредност \"%(value)s\" мора бити None, True или False." - -msgid "Boolean (Either True, False or None)" -msgstr "Булова вредност (True, False или None)" - -msgid "Positive big integer" -msgstr "Велик позитиван цео број" - -msgid "Positive integer" -msgstr "Позитиван цео број" - -msgid "Positive small integer" -msgstr "Позитиван мали цео број" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Слаг са макс. дужином %(max_length)s" - -msgid "Small integer" -msgstr "Мали цео број" - -msgid "Text" -msgstr "Текст" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" -"Вредност \"%(value)s\" нема исправан формат. Мора бити у формату ЧЧ:ММ[:сс[." -"uuuuuu]] ." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" -"Вредност \"%(value)s\" има исправан формат (ЧЧ:ММ[:сс[.uuuuuu]]) али то није " -"исправно време." - -msgid "Time" -msgstr "Време" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Сирови бинарни подаци" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "\"%(value)s\" није исправан UUID." - -msgid "Universally unique identifier" -msgstr "Универзално јединствени идентификатор" - -msgid "File" -msgstr "Фајл" - -msgid "Image" -msgstr "Слика" - -msgid "A JSON object" -msgstr "JSON објекат" - -msgid "Value must be valid JSON." -msgstr "Вредност мора бити исправан JSON." - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "%(model)s инстанца са вредношћу %(value)r у пољу %(field)s не постоји." - -msgid "Foreign Key (type determined by related field)" -msgstr "Спољни кључ (тип је одређен асоцираном колоном)" - -msgid "One-to-one relationship" -msgstr "Релација један на један" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "Релација %(from)s-%(to)s" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "Релације %(from)s-%(to)s" - -msgid "Many-to-many relationship" -msgstr "Релација више на више" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Ово поље се мора попунити." - -msgid "Enter a whole number." -msgstr "Унесите цео број." - -msgid "Enter a valid date." -msgstr "Унесите исправан датум." - -msgid "Enter a valid time." -msgstr "Унесите исправно време" - -msgid "Enter a valid date/time." -msgstr "Унесите исправан датум/време." - -msgid "Enter a valid duration." -msgstr "Унесите исправан временски интервал." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "Број дана мора бити између {min_days} и {max_days}." - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Фајл није пребачен. Проверите тип енкодирања на форми." - -msgid "No file was submitted." -msgstr "Фајл није пребачен." - -msgid "The submitted file is empty." -msgstr "Пребачени фајл је празан." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Име фајла не може имати више од %(max)d карактера (тренутно има %(length)d)." -msgstr[1] "" -"Име фајла не може имати више од %(max)d карактера (тренутно има %(length)d)." -msgstr[2] "" -"Име фајла не може имати више од %(max)d карактера (тренутно има %(length)d)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "Може се само послати фајл или избрисати, не оба." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Пребаците исправан фајл. Фајл који је пребачен или није слика, или је " -"оштећен." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "" -"%(value)s није међу понуђеним вредностима. Одаберите једну од понуђених." - -msgid "Enter a list of values." -msgstr "Унесите листу вредности." - -msgid "Enter a complete value." -msgstr "Унесите комплетну вредност." - -msgid "Enter a valid UUID." -msgstr "Унесите исправан UUID." - -msgid "Enter a valid JSON." -msgstr "Унесите исправан JSON." - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Скривено поље %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "ManagementForm недостаје или је измењена на погрешан начин." - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Попуните и проследите највише %d форму." -msgstr[1] "Попуните и проследите највише %d форме." -msgstr[2] "Попуните и проследите највише %d форми." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "Попуните и проследите најмање %d форму." -msgstr[1] "Попуните и проследите највише %d форме." -msgstr[2] "Попуните и проследите највише %d форми." - -msgid "Order" -msgstr "Редослед" - -msgid "Delete" -msgstr "Обриши" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Исправите вредност за поље %(field)s - оно мора бити јединствено." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"Исправите вредности за поља %(field)s - њихова комбинација мора бити " -"јединствена." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Иправите вредност за поље %(field_name)s, оно мора бити јединствено за " -"%(lookup)s у %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "Исправите дуплиране вредности доле." - -msgid "The inline value did not match the parent instance." -msgstr "Директно унета вредност не одговара инстанци родитеља." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "Одабрана вредност није међу понуђенима. Одаберите једну од понуђених." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "\"%(pk)s\" није исправна вредност." - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" -"Време %(datetime)s се не може протумачити у временској зони " -"%(current_timezone)s; можда је двосмислено или не постоји." - -msgid "Clear" -msgstr "Очисти" - -msgid "Currently" -msgstr "Тренутно" - -msgid "Change" -msgstr "Измени" - -msgid "Unknown" -msgstr "Непознато" - -msgid "Yes" -msgstr "Да" - -msgid "No" -msgstr "Не" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "да,не,можда" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d бајт" -msgstr[1] "%(size)d бајта" -msgstr[2] "%(size)d бајтова" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "по п." - -msgid "a.m." -msgstr "пре п." - -msgid "PM" -msgstr "PM" - -msgid "AM" -msgstr "AM" - -msgid "midnight" -msgstr "поноћ" - -msgid "noon" -msgstr "подне" - -msgid "Monday" -msgstr "понедељак" - -msgid "Tuesday" -msgstr "уторак" - -msgid "Wednesday" -msgstr "среда" - -msgid "Thursday" -msgstr "четвртак" - -msgid "Friday" -msgstr "петак" - -msgid "Saturday" -msgstr "субота" - -msgid "Sunday" -msgstr "недеља" - -msgid "Mon" -msgstr "пон." - -msgid "Tue" -msgstr "уто." - -msgid "Wed" -msgstr "сре." - -msgid "Thu" -msgstr "чет." - -msgid "Fri" -msgstr "пет." - -msgid "Sat" -msgstr "суб." - -msgid "Sun" -msgstr "нед." - -msgid "January" -msgstr "јануар" - -msgid "February" -msgstr "фебруар" - -msgid "March" -msgstr "март" - -msgid "April" -msgstr "април" - -msgid "May" -msgstr "мај" - -msgid "June" -msgstr "јун" - -msgid "July" -msgstr "јул" - -msgid "August" -msgstr "август" - -msgid "September" -msgstr "септембар" - -msgid "October" -msgstr "октобар" - -msgid "November" -msgstr "новембар" - -msgid "December" -msgstr "децембар" - -msgid "jan" -msgstr "јан." - -msgid "feb" -msgstr "феб." - -msgid "mar" -msgstr "мар." - -msgid "apr" -msgstr "апр." - -msgid "may" -msgstr "мај." - -msgid "jun" -msgstr "јун." - -msgid "jul" -msgstr "јул." - -msgid "aug" -msgstr "ауг." - -msgid "sep" -msgstr "сеп." - -msgid "oct" -msgstr "окт." - -msgid "nov" -msgstr "нов." - -msgid "dec" -msgstr "дец." - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Јан." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Феб." - -msgctxt "abbrev. month" -msgid "March" -msgstr "Март" - -msgctxt "abbrev. month" -msgid "April" -msgstr "Април" - -msgctxt "abbrev. month" -msgid "May" -msgstr "Мај" - -msgctxt "abbrev. month" -msgid "June" -msgstr "Јун" - -msgctxt "abbrev. month" -msgid "July" -msgstr "Јул" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Авг." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Септ." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Окт." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Нов." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Дец." - -msgctxt "alt. month" -msgid "January" -msgstr "Јануар" - -msgctxt "alt. month" -msgid "February" -msgstr "Фебруар" - -msgctxt "alt. month" -msgid "March" -msgstr "Март" - -msgctxt "alt. month" -msgid "April" -msgstr "Април" - -msgctxt "alt. month" -msgid "May" -msgstr "Мај" - -msgctxt "alt. month" -msgid "June" -msgstr "Јун" - -msgctxt "alt. month" -msgid "July" -msgstr "Јул" - -msgctxt "alt. month" -msgid "August" -msgstr "Август" - -msgctxt "alt. month" -msgid "September" -msgstr "Септембар" - -msgctxt "alt. month" -msgid "October" -msgstr "Октобар" - -msgctxt "alt. month" -msgid "November" -msgstr "Новембар" - -msgctxt "alt. month" -msgid "December" -msgstr "Децембар" - -msgid "This is not a valid IPv6 address." -msgstr "Ово није валидна IPv6 адреса." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s..." - -msgid "or" -msgstr "или" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d година" -msgstr[1] "%d године" -msgstr[2] "%d година" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d месец" -msgstr[1] "%d месеца" -msgstr[2] "%d месеци" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d недеља" -msgstr[1] "%d недеље" -msgstr[2] "%d недеља" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d дан" -msgstr[1] "%d дана" -msgstr[2] "%d дана" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d час" -msgstr[1] "%d часа" -msgstr[2] "%d часова" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d минут" -msgstr[1] "%d минута" -msgstr[2] "%d минута" - -msgid "Forbidden" -msgstr "Забрањено" - -msgid "CSRF verification failed. Request aborted." -msgstr "CSRF верификација није прошла. Захтев одбијен." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" -"Ова порука је приказана јер овај HTTPS сајт захтева да \"Referer header\" " -"буде послат од стране вашег интернет прегледача, што тренутно није случај. " -"Поменуто заглавље је потребно из безбедоносних разлога, да би се осигурало " -"да ваш прегледач није под контролом трећих лица." - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" -"Ако сте подесили интернет прегледач да не шаље \"Referer\" заглавља, поново " -"их укључите, барем за овај сајт, или за HTTPS конекције, или за \"same-origin" -"\" захтеве." - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" -"Ако користите таг или " -"\"Referrer-Policy: no-referrer\" заглавље, молимо да их уклоните. CSRF " -"заштита захтева \"Referer\" заглавље да би се обавила стриктна \"referrer\" " -"провера. Уколико вас брине приватност, користите алтернативе као за линкове ка другим сајтовима." - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Ова порука је приказана јер овај сајт захтева CSRF куки када се прослеђују " -"подаци из форми. Овај куки је потребан из сигурносних разлога, да би се " -"осигурало да ваш претраживач није под контролом трећих лица." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" -"Ако је ваш интернет прегедач подешен да онемогући колачиће, молимо да их " -"укључите, барем за овај сајт, или за \"same-origin\" захтеве." - -msgid "More information is available with DEBUG=True." -msgstr "Више информација је доступно са DEBUG=True." - -msgid "No year specified" -msgstr "Година није назначена" - -msgid "Date out of range" -msgstr "Датум ван опсега" - -msgid "No month specified" -msgstr "Месец није назначен" - -msgid "No day specified" -msgstr "Дан није назначен" - -msgid "No week specified" -msgstr "Недеља није назначена" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "Недоступни објекти %(verbose_name_plural)s" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"Опција „future“ није доступна за „%(verbose_name_plural)s“ јер " -"%(class_name)s.allow_future има вредност False." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "Неисправан датум „%(datestr)s“ за формат „%(format)s“" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Ниједан објекат класе %(verbose_name)s није нађен датим упитом." - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "Страница није последња, нити може бити конвертована у тип \"int\"." - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Неисправна страна (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "Празна листа и „%(class_name)s.allow_empty“ има вредност False." - -msgid "Directory indexes are not allowed here." -msgstr "Индекси директоријума нису дозвољени овде." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "„%(path)s“ не постоји" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Индекс директоријума %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "Ђанго: веб окружење за перфекционисте са строгим роковима." - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"Погледајте напомене уз издање за Ђанго " -"%(version)s" - -msgid "The install worked successfully! Congratulations!" -msgstr "Инсталација је прошла успешно. Честитке!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"Ова страна је приказана јер је DEBUG=True у вашим подешавањима и нисте конфигурисали ниједан URL." - -msgid "Django Documentation" -msgstr "Ђанго документација" - -msgid "Topics, references, & how-to’s" -msgstr "Теме, референце, & како-да" - -msgid "Tutorial: A Polling App" -msgstr "Упутство: апликација за гласање" - -msgid "Get started with Django" -msgstr "Почните са Ђангом" - -msgid "Django Community" -msgstr "Ђанго заједница" - -msgid "Connect, get help, or contribute" -msgstr "Повежите се, потражите помоћ или дајте допринос" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/sr/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/sr/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/sr/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/sr/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 527e4bb9..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/sr/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/sr/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/sr/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index eace1099..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/sr/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/sr/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/sr/formats.py deleted file mode 100644 index 937a4092..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/sr/formats.py +++ /dev/null @@ -1,39 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'j. F Y.' -TIME_FORMAT = 'H:i' -DATETIME_FORMAT = 'j. F Y. H:i' -YEAR_MONTH_FORMAT = 'F Y.' -MONTH_DAY_FORMAT = 'j. F' -SHORT_DATE_FORMAT = 'j.m.Y.' -SHORT_DATETIME_FORMAT = 'j.m.Y. H:i' -FIRST_DAY_OF_WEEK = 1 - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -DATE_INPUT_FORMATS = [ - '%d.%m.%Y.', '%d.%m.%y.', # '25.10.2006.', '25.10.06.' - '%d. %m. %Y.', '%d. %m. %y.', # '25. 10. 2006.', '25. 10. 06.' - # '%d. %b %y.', '%d. %B %y.', # '25. Oct 06.', '25. October 06.' - # '%d. %b \'%y.', '%d. %B \'%y.', # '25. Oct '06.', '25. October '06.' - # '%d. %b %Y.', '%d. %B %Y.', # '25. Oct 2006.', '25. October 2006.' -] -DATETIME_INPUT_FORMATS = [ - '%d.%m.%Y. %H:%M:%S', # '25.10.2006. 14:30:59' - '%d.%m.%Y. %H:%M:%S.%f', # '25.10.2006. 14:30:59.000200' - '%d.%m.%Y. %H:%M', # '25.10.2006. 14:30' - '%d.%m.%y. %H:%M:%S', # '25.10.06. 14:30:59' - '%d.%m.%y. %H:%M:%S.%f', # '25.10.06. 14:30:59.000200' - '%d.%m.%y. %H:%M', # '25.10.06. 14:30' - '%d. %m. %Y. %H:%M:%S', # '25. 10. 2006. 14:30:59' - '%d. %m. %Y. %H:%M:%S.%f', # '25. 10. 2006. 14:30:59.000200' - '%d. %m. %Y. %H:%M', # '25. 10. 2006. 14:30' - '%d. %m. %y. %H:%M:%S', # '25. 10. 06. 14:30:59' - '%d. %m. %y. %H:%M:%S.%f', # '25. 10. 06. 14:30:59.000200' - '%d. %m. %y. %H:%M', # '25. 10. 06. 14:30' -] -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = '.' -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/sr_Latn/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/sr_Latn/LC_MESSAGES/django.mo deleted file mode 100644 index 248769e9..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/sr_Latn/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/sr_Latn/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/sr_Latn/LC_MESSAGES/django.po deleted file mode 100644 index a44e4832..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/sr_Latn/LC_MESSAGES/django.po +++ /dev/null @@ -1,1283 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Aleksa Cukovic` , 2020 -# Igor Jerosimić, 2019-2020 -# Jannis Leidel , 2011 -# Janos Guljas , 2011-2012 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-07-14 21:42+0000\n" -"Last-Translator: Transifex Bot <>\n" -"Language-Team: Serbian (Latin) (http://www.transifex.com/django/django/" -"language/sr@latin/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sr@latin\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" - -msgid "Afrikaans" -msgstr "afrikanski" - -msgid "Arabic" -msgstr "arapski" - -msgid "Algerian Arabic" -msgstr "Alžirski arapski" - -msgid "Asturian" -msgstr "asturijski" - -msgid "Azerbaijani" -msgstr "azerbejdžanski" - -msgid "Bulgarian" -msgstr "bugarski" - -msgid "Belarusian" -msgstr "beloruski" - -msgid "Bengali" -msgstr "bengalski" - -msgid "Breton" -msgstr "bretonski" - -msgid "Bosnian" -msgstr "bosanski" - -msgid "Catalan" -msgstr "katalonski" - -msgid "Czech" -msgstr "češki" - -msgid "Welsh" -msgstr "velški" - -msgid "Danish" -msgstr "danski" - -msgid "German" -msgstr "nemački" - -msgid "Lower Sorbian" -msgstr "donjolužičkosrpski" - -msgid "Greek" -msgstr "grčki" - -msgid "English" -msgstr "engleski" - -msgid "Australian English" -msgstr "australijski engleski" - -msgid "British English" -msgstr "britanski engleski" - -msgid "Esperanto" -msgstr "esperanto" - -msgid "Spanish" -msgstr "španski" - -msgid "Argentinian Spanish" -msgstr "argentinski španski" - -msgid "Colombian Spanish" -msgstr "kolumbijski španski" - -msgid "Mexican Spanish" -msgstr "meksički španski" - -msgid "Nicaraguan Spanish" -msgstr "nikaragvanski španski" - -msgid "Venezuelan Spanish" -msgstr "venecuelanski španski" - -msgid "Estonian" -msgstr "estonski" - -msgid "Basque" -msgstr "baskijski" - -msgid "Persian" -msgstr "persijski" - -msgid "Finnish" -msgstr "finski" - -msgid "French" -msgstr "francuski" - -msgid "Frisian" -msgstr "frizijski" - -msgid "Irish" -msgstr "irski" - -msgid "Scottish Gaelic" -msgstr "škotski galski" - -msgid "Galician" -msgstr "galski" - -msgid "Hebrew" -msgstr "hebrejski" - -msgid "Hindi" -msgstr "hindu" - -msgid "Croatian" -msgstr "hrvatski" - -msgid "Upper Sorbian" -msgstr "gornjolužičkosrpski" - -msgid "Hungarian" -msgstr "mađarski" - -msgid "Armenian" -msgstr "jermenski" - -msgid "Interlingua" -msgstr "interlingva" - -msgid "Indonesian" -msgstr "indonežanski" - -msgid "Igbo" -msgstr "" - -msgid "Ido" -msgstr "ido" - -msgid "Icelandic" -msgstr "islandski" - -msgid "Italian" -msgstr "italijanski" - -msgid "Japanese" -msgstr "japanski" - -msgid "Georgian" -msgstr "gruzijski" - -msgid "Kabyle" -msgstr "kabilski" - -msgid "Kazakh" -msgstr "kazaški" - -msgid "Khmer" -msgstr "kambodijski" - -msgid "Kannada" -msgstr "kanada" - -msgid "Korean" -msgstr "korejski" - -msgid "Kyrgyz" -msgstr "Kirgiski" - -msgid "Luxembourgish" -msgstr "luksemburški" - -msgid "Lithuanian" -msgstr "litvanski" - -msgid "Latvian" -msgstr "latvijski" - -msgid "Macedonian" -msgstr "makedonski" - -msgid "Malayalam" -msgstr "malajalamski" - -msgid "Mongolian" -msgstr "mongolski" - -msgid "Marathi" -msgstr "marathi" - -msgid "Burmese" -msgstr "burmanski" - -msgid "Norwegian Bokmål" -msgstr "norveški književni" - -msgid "Nepali" -msgstr "nepalski" - -msgid "Dutch" -msgstr "holandski" - -msgid "Norwegian Nynorsk" -msgstr "norveški novi" - -msgid "Ossetic" -msgstr "osetinski" - -msgid "Punjabi" -msgstr "Pandžabi" - -msgid "Polish" -msgstr "poljski" - -msgid "Portuguese" -msgstr "portugalski" - -msgid "Brazilian Portuguese" -msgstr "brazilski portugalski" - -msgid "Romanian" -msgstr "rumunski" - -msgid "Russian" -msgstr "ruski" - -msgid "Slovak" -msgstr "slovački" - -msgid "Slovenian" -msgstr "slovenački" - -msgid "Albanian" -msgstr "albanski" - -msgid "Serbian" -msgstr "srpski" - -msgid "Serbian Latin" -msgstr "srpski (latinica)" - -msgid "Swedish" -msgstr "švedski" - -msgid "Swahili" -msgstr "svahili" - -msgid "Tamil" -msgstr "tamilski" - -msgid "Telugu" -msgstr "telugu" - -msgid "Tajik" -msgstr "" - -msgid "Thai" -msgstr "tajlandski" - -msgid "Turkmen" -msgstr "" - -msgid "Turkish" -msgstr "turski" - -msgid "Tatar" -msgstr "tatarski" - -msgid "Udmurt" -msgstr "udmurtski" - -msgid "Ukrainian" -msgstr "ukrajinski" - -msgid "Urdu" -msgstr "Urdu" - -msgid "Uzbek" -msgstr "Uzbekistanski" - -msgid "Vietnamese" -msgstr "vijetnamski" - -msgid "Simplified Chinese" -msgstr "novokineski" - -msgid "Traditional Chinese" -msgstr "starokineski" - -msgid "Messages" -msgstr "Poruke" - -msgid "Site Maps" -msgstr "Mape sajta" - -msgid "Static Files" -msgstr "Statičke datoteke" - -msgid "Syndication" -msgstr "Udruživanje sadržaja" - -msgid "That page number is not an integer" -msgstr "Zadati broj strane nije ceo broj" - -msgid "That page number is less than 1" -msgstr "Zadati broj strane je manji od 1" - -msgid "That page contains no results" -msgstr "Tražena strana ne sadrži rezultate" - -msgid "Enter a valid value." -msgstr "Unesite ispravnu vrednost." - -msgid "Enter a valid URL." -msgstr "Unesite ispravan URL." - -msgid "Enter a valid integer." -msgstr "Unesite ispravan ceo broj." - -msgid "Enter a valid email address." -msgstr "Unesite ispravnu e-mail adresu." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" -"Unesite isrpavan „slag“, koji se sastoji od slova, brojki, donjih crta ili " -"cirtica." - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" -"Unesite ispravan \"slag\", koji se sastoji od Unikod slova, brojki, donjih " -"crta ili crtica." - -msgid "Enter a valid IPv4 address." -msgstr "Unesite ispravnu IPv4 adresu." - -msgid "Enter a valid IPv6 address." -msgstr "Unesite ispravnu IPv6 adresu." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Unesite ispravnu IPv4 ili IPv6 adresu." - -msgid "Enter only digits separated by commas." -msgstr "Unesite samo brojke razdvojene zapetama." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "Ovo polje mora da bude %(limit_value)s (trenutno ima %(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Ova vrednost mora da bude manja od %(limit_value)s. ili tačno toliko." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Ova vrednost mora biti veća od %(limit_value)s ili tačno toliko." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Ovo polje mora da ima najmanje %(limit_value)d karakter (trenutno ima " -"%(show_value)d)." -msgstr[1] "" -"Ovo polje mora da ima najmanje %(limit_value)d karaktera (trenutno ima " -"%(show_value)d)." -msgstr[2] "" -"Ovo polje mora da ima %(limit_value)d najmanje karaktera (trenutno ima " -"%(show_value)d )." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -msgid "Enter a number." -msgstr "Unesite broj." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "'Null' karakteri nisu dozvoljeni." - -msgid "and" -msgstr "i" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "%(model_name)ssa poljem %(field_labels)sveć postoji." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "Vrednost %(value)r nije validna." - -msgid "This field cannot be null." -msgstr "Ovo polje ne može da ostane prazno." - -msgid "This field cannot be blank." -msgstr "Ovo polje ne može da ostane prazno." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s sa ovom vrednošću %(field_label)s već postoji." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Polje tipa: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "Bulova vrednost (True ili False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "String (najviše %(max_length)s znakova)" - -msgid "Comma-separated integers" -msgstr "Celi brojevi razdvojeni zapetama" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "Datum (bez vremena)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "Datum (sa vremenom)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "Decimalni broj" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "Vremenski interval" - -msgid "Email address" -msgstr "Imejl adresa" - -msgid "File path" -msgstr "Putanja fajla" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "Broj sa pokrenom zapetom" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "Ceo broj" - -msgid "Big (8 byte) integer" -msgstr "Veliki ceo broj" - -msgid "IPv4 address" -msgstr "IPv4 adresa" - -msgid "IP address" -msgstr "IP adresa" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "Bulova vrednost (True, False ili None)" - -msgid "Positive big integer" -msgstr "Velik pozitivan celi broj" - -msgid "Positive integer" -msgstr "Pozitivan ceo broj" - -msgid "Positive small integer" -msgstr "Pozitivan mali ceo broj" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Slag (ne duži od %(max_length)s)" - -msgid "Small integer" -msgstr "Mali ceo broj" - -msgid "Text" -msgstr "Tekst" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "Vreme" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Sirovi binarni podaci" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "" - -msgid "File" -msgstr "Fajl" - -msgid "Image" -msgstr "Slika" - -msgid "A JSON object" -msgstr "JSON objekat" - -msgid "Value must be valid JSON." -msgstr "Vrednost mora biti ispravni JSON." - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "" - -msgid "Foreign Key (type determined by related field)" -msgstr "Strani ključ (tip određuje referentno polje)" - -msgid "One-to-one relationship" -msgstr "Relacija jedan na jedan" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "" - -msgid "Many-to-many relationship" -msgstr "Relacija više na više" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Ovo polje se mora popuniti." - -msgid "Enter a whole number." -msgstr "Unesite ceo broj." - -msgid "Enter a valid date." -msgstr "Unesite ispravan datum." - -msgid "Enter a valid time." -msgstr "Unesite ispravno vreme" - -msgid "Enter a valid date/time." -msgstr "Unesite ispravan datum/vreme." - -msgid "Enter a valid duration." -msgstr "Unesite ispravno trajanje." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "" - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Fajl nije prebačen. Proverite tip enkodiranja formulara." - -msgid "No file was submitted." -msgstr "Fajl nije prebačen." - -msgid "The submitted file is empty." -msgstr "Prebačen fajl je prazan." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "Može se samo poslati fajl ili izbrisati, ne oba." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Prebacite ispravan fajl. Fajl koji je prebačen ili nije slika, ili je " -"oštećen." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "" -"%(value)s nije među ponuđenim vrednostima. Odaberite jednu od ponuđenih." - -msgid "Enter a list of values." -msgstr "Unesite listu vrednosti." - -msgid "Enter a complete value." -msgstr "Unesite kompletnu vrednost." - -msgid "Enter a valid UUID." -msgstr "Unesite ispravan UUID." - -msgid "Enter a valid JSON." -msgstr "Unesite ispravan JSON." - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "ManagementForm nedostaje ili je izmenjena na pogrešan način." - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -msgid "Order" -msgstr "Redosled" - -msgid "Delete" -msgstr "Obriši" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Ispravite dupliran sadržaj za polja: %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"Ispravite dupliran sadržaj za polja: %(field)s, koji mora da bude jedinstven." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Ispravite dupliran sadržaj za polja: %(field_name)s, koji mora da bude " -"jedinstven za %(lookup)s u %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "Ispravite duplirane vrednosti dole." - -msgid "The inline value did not match the parent instance." -msgstr "Direktno uneta vrednost ne odgovara instanci roditelja." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "Odabrana vrednost nije među ponuđenima. Odaberite jednu od ponuđenih." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "Očisti" - -msgid "Currently" -msgstr "Trenutno" - -msgid "Change" -msgstr "Izmeni" - -msgid "Unknown" -msgstr "Nepoznato" - -msgid "Yes" -msgstr "Da" - -msgid "No" -msgstr "Ne" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "da,ne,možda" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d bajt" -msgstr[1] "%(size)d bajta" -msgstr[2] "%(size)d bajtova" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "po p." - -msgid "a.m." -msgstr "pre p." - -msgid "PM" -msgstr "PM" - -msgid "AM" -msgstr "AM" - -msgid "midnight" -msgstr "ponoć" - -msgid "noon" -msgstr "podne" - -msgid "Monday" -msgstr "ponedeljak" - -msgid "Tuesday" -msgstr "utorak" - -msgid "Wednesday" -msgstr "sreda" - -msgid "Thursday" -msgstr "četvrtak" - -msgid "Friday" -msgstr "petak" - -msgid "Saturday" -msgstr "subota" - -msgid "Sunday" -msgstr "nedelja" - -msgid "Mon" -msgstr "pon." - -msgid "Tue" -msgstr "uto." - -msgid "Wed" -msgstr "sre." - -msgid "Thu" -msgstr "čet." - -msgid "Fri" -msgstr "pet." - -msgid "Sat" -msgstr "sub." - -msgid "Sun" -msgstr "ned." - -msgid "January" -msgstr "januar" - -msgid "February" -msgstr "februar" - -msgid "March" -msgstr "mart" - -msgid "April" -msgstr "april" - -msgid "May" -msgstr "maj" - -msgid "June" -msgstr "jun" - -msgid "July" -msgstr "jul" - -msgid "August" -msgstr "avgust" - -msgid "September" -msgstr "septembar" - -msgid "October" -msgstr "oktobar" - -msgid "November" -msgstr "novembar" - -msgid "December" -msgstr "decembar" - -msgid "jan" -msgstr "jan." - -msgid "feb" -msgstr "feb." - -msgid "mar" -msgstr "mar." - -msgid "apr" -msgstr "apr." - -msgid "may" -msgstr "maj." - -msgid "jun" -msgstr "jun." - -msgid "jul" -msgstr "jul." - -msgid "aug" -msgstr "aug." - -msgid "sep" -msgstr "sep." - -msgid "oct" -msgstr "okt." - -msgid "nov" -msgstr "nov." - -msgid "dec" -msgstr "dec." - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Jan." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Feb." - -msgctxt "abbrev. month" -msgid "March" -msgstr "Mart" - -msgctxt "abbrev. month" -msgid "April" -msgstr "April" - -msgctxt "abbrev. month" -msgid "May" -msgstr "Maj" - -msgctxt "abbrev. month" -msgid "June" -msgstr "Jun" - -msgctxt "abbrev. month" -msgid "July" -msgstr "Jul" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Avg." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Sept." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Okt." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Nov." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Dec." - -msgctxt "alt. month" -msgid "January" -msgstr "Januar" - -msgctxt "alt. month" -msgid "February" -msgstr "Februar" - -msgctxt "alt. month" -msgid "March" -msgstr "Mart" - -msgctxt "alt. month" -msgid "April" -msgstr "April" - -msgctxt "alt. month" -msgid "May" -msgstr "Maj" - -msgctxt "alt. month" -msgid "June" -msgstr "Jun" - -msgctxt "alt. month" -msgid "July" -msgstr "Jul" - -msgctxt "alt. month" -msgid "August" -msgstr "Avgust" - -msgctxt "alt. month" -msgid "September" -msgstr "Septembar" - -msgctxt "alt. month" -msgid "October" -msgstr "Oktobar" - -msgctxt "alt. month" -msgid "November" -msgstr "Novembar" - -msgctxt "alt. month" -msgid "December" -msgstr "Decembar" - -msgid "This is not a valid IPv6 address." -msgstr "Ovo nije ispravna IPv6 adresa." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "" - -msgid "or" -msgstr "ili" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr "," - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d godina" -msgstr[1] "%d godine" -msgstr[2] "%d godina" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d mesec" -msgstr[1] "%d meseca" -msgstr[2] "%d meseci" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -msgid "Forbidden" -msgstr "Zabranjeno" - -msgid "CSRF verification failed. Request aborted." -msgstr "CSRF verifikacija nije prošla. Zahtev odbijen." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" -"Ova poruka je prikazana jer ovaj HTTPS sajt zahteva da \"Referer header\" " -"bude poslat od strane vašeg internet pregledača, što trenutno nije slučaj. " -"Pomenuto zaglavlje je potrebno iz bezbedonosnih razloga, da bi se osiguralo " -"da vaš pregledač nije pod kontrolom trećih lica." - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" -"Ako ste podesili internet pregledač da ne šalje \"Referer\" zaglavlja, " -"ponovo ih uključite, barem za ovaj sajt, ili za HTTPS konekcije, ili za " -"\"same-origin\" zahteve." - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Ova poruka je prikazana jer ovaj sajt zahteva CSRF kuki kada se prosleđuju " -"podaci iz formi. Ovaj kuki je potreban iz sigurnosnih razloga, da bi se " -"osiguralo da vaš pretraživač nije pod kontrolom trećih lica." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" -"Ako je vaš internet pregedač podešen da onemogući kolačiće, molimo da ih " -"uključite, barem za ovaj sajt, ili za \"same-origin\" zahteve." - -msgid "More information is available with DEBUG=True." -msgstr "Više informacija je dostupno sa DEBUG=True." - -msgid "No year specified" -msgstr "Godina nije naznačena" - -msgid "Date out of range" -msgstr "Datum van opsega" - -msgid "No month specified" -msgstr "Mesec nije naznačen" - -msgid "No day specified" -msgstr "Dan nije naznačen" - -msgid "No week specified" -msgstr "Nedelja nije naznačena" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "Nedostupni objekti %(verbose_name_plural)s" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"Opcija „future“ nije dostupna za „%(verbose_name_plural)s“ jer " -"%(class_name)s.allow_future ima vrednost False." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Nijedan objekat klase %(verbose_name)s nije nađen datim upitom." - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "Prazna lista i „%(class_name)s.allow_empty“ ima vrednost False." - -msgid "Directory indexes are not allowed here." -msgstr "Indeksi direktorijuma nisu dozvoljeni ovde." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "„%(path)s“ ne postoji" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Indeks direktorijuma %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "Đango: veb okruženje za perfekcioniste sa strogim rokovima." - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"Pogledajte napomene uz izdanje za Đango " -"%(version)s" - -msgid "The install worked successfully! Congratulations!" -msgstr "Instalacija je prošla uspešno. Čestitke!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"Ova strana je prikazana jer je DEBUG=True u vašim podešavanjima i niste konfigurisali nijedan URL." - -msgid "Django Documentation" -msgstr "Đango dokumentacija" - -msgid "Topics, references, & how-to’s" -msgstr "Teme, reference, & kako-da" - -msgid "Tutorial: A Polling App" -msgstr "Uputstvo: aplikacija za glasanje" - -msgid "Get started with Django" -msgstr "Počnite sa Đangom" - -msgid "Django Community" -msgstr "Đango zajednica" - -msgid "Connect, get help, or contribute" -msgstr "Povežite se, potražite pomoć ili dajte doprinos" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/sr_Latn/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/sr_Latn/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/sr_Latn/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/sr_Latn/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index a708a9cc..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/sr_Latn/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/sr_Latn/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/sr_Latn/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 5cb5fe62..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/sr_Latn/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/sr_Latn/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/sr_Latn/formats.py deleted file mode 100644 index 937a4092..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/sr_Latn/formats.py +++ /dev/null @@ -1,39 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'j. F Y.' -TIME_FORMAT = 'H:i' -DATETIME_FORMAT = 'j. F Y. H:i' -YEAR_MONTH_FORMAT = 'F Y.' -MONTH_DAY_FORMAT = 'j. F' -SHORT_DATE_FORMAT = 'j.m.Y.' -SHORT_DATETIME_FORMAT = 'j.m.Y. H:i' -FIRST_DAY_OF_WEEK = 1 - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -DATE_INPUT_FORMATS = [ - '%d.%m.%Y.', '%d.%m.%y.', # '25.10.2006.', '25.10.06.' - '%d. %m. %Y.', '%d. %m. %y.', # '25. 10. 2006.', '25. 10. 06.' - # '%d. %b %y.', '%d. %B %y.', # '25. Oct 06.', '25. October 06.' - # '%d. %b \'%y.', '%d. %B \'%y.', # '25. Oct '06.', '25. October '06.' - # '%d. %b %Y.', '%d. %B %Y.', # '25. Oct 2006.', '25. October 2006.' -] -DATETIME_INPUT_FORMATS = [ - '%d.%m.%Y. %H:%M:%S', # '25.10.2006. 14:30:59' - '%d.%m.%Y. %H:%M:%S.%f', # '25.10.2006. 14:30:59.000200' - '%d.%m.%Y. %H:%M', # '25.10.2006. 14:30' - '%d.%m.%y. %H:%M:%S', # '25.10.06. 14:30:59' - '%d.%m.%y. %H:%M:%S.%f', # '25.10.06. 14:30:59.000200' - '%d.%m.%y. %H:%M', # '25.10.06. 14:30' - '%d. %m. %Y. %H:%M:%S', # '25. 10. 2006. 14:30:59' - '%d. %m. %Y. %H:%M:%S.%f', # '25. 10. 2006. 14:30:59.000200' - '%d. %m. %Y. %H:%M', # '25. 10. 2006. 14:30' - '%d. %m. %y. %H:%M:%S', # '25. 10. 06. 14:30:59' - '%d. %m. %y. %H:%M:%S.%f', # '25. 10. 06. 14:30:59.000200' - '%d. %m. %y. %H:%M', # '25. 10. 06. 14:30' -] -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = '.' -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/sv/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/sv/LC_MESSAGES/django.mo deleted file mode 100644 index fa908eb9..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/sv/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/sv/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/sv/LC_MESSAGES/django.po deleted file mode 100644 index 7af1f532..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/sv/LC_MESSAGES/django.po +++ /dev/null @@ -1,1260 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Alex Nordlund , 2012 -# Andreas Pelme , 2014 -# Gustaf Hansen , 2015 -# Jannis Leidel , 2011 -# Jonathan Lindén, 2015 -# Jonathan Lindén, 2014 -# Mattias Hansson , 2016 -# Mattias Benjaminsson , 2011 -# Petter Strandmark , 2019 -# Rasmus Précenth , 2014 -# Samuel Linde , 2011 -# Thomas Lundqvist, 2013,2016 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-27 22:40+0200\n" -"PO-Revision-Date: 2019-11-05 00:38+0000\n" -"Last-Translator: Ramiro Morales\n" -"Language-Team: Swedish (http://www.transifex.com/django/django/language/" -"sv/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sv\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "Afrikaans" -msgstr "Afrikaans" - -msgid "Arabic" -msgstr "Arabiska" - -msgid "Asturian" -msgstr "Asturiska" - -msgid "Azerbaijani" -msgstr "Azerbajdzjanska" - -msgid "Bulgarian" -msgstr "Bulgariska" - -msgid "Belarusian" -msgstr "Vitryska" - -msgid "Bengali" -msgstr "Bengaliska" - -msgid "Breton" -msgstr "Bretonska" - -msgid "Bosnian" -msgstr "Bosniska" - -msgid "Catalan" -msgstr "Katalanska" - -msgid "Czech" -msgstr "Tjeckiska" - -msgid "Welsh" -msgstr "Walesiska" - -msgid "Danish" -msgstr "Danska" - -msgid "German" -msgstr "Tyska" - -msgid "Lower Sorbian" -msgstr "Lågsorbiska" - -msgid "Greek" -msgstr "Grekiska" - -msgid "English" -msgstr "Engelska" - -msgid "Australian English" -msgstr "Australisk engelska" - -msgid "British English" -msgstr "Brittisk engelska" - -msgid "Esperanto" -msgstr "Esperanto" - -msgid "Spanish" -msgstr "Spanska" - -msgid "Argentinian Spanish" -msgstr "Argentinsk spanska" - -msgid "Colombian Spanish" -msgstr "Colombiansk spanska" - -msgid "Mexican Spanish" -msgstr "Mexikansk Spanska" - -msgid "Nicaraguan Spanish" -msgstr "Nicaraguansk spanska" - -msgid "Venezuelan Spanish" -msgstr "Spanska (Venezuela)" - -msgid "Estonian" -msgstr "Estländska" - -msgid "Basque" -msgstr "Baskiska" - -msgid "Persian" -msgstr "Persiska" - -msgid "Finnish" -msgstr "Finska" - -msgid "French" -msgstr "Franska" - -msgid "Frisian" -msgstr "Frisiska" - -msgid "Irish" -msgstr "Irländska" - -msgid "Scottish Gaelic" -msgstr "Skotsk gäliska" - -msgid "Galician" -msgstr "Galisiska" - -msgid "Hebrew" -msgstr "Hebreiska" - -msgid "Hindi" -msgstr "Hindi" - -msgid "Croatian" -msgstr "Kroatiska" - -msgid "Upper Sorbian" -msgstr "Högsorbiska" - -msgid "Hungarian" -msgstr "Ungerska" - -msgid "Armenian" -msgstr "Armeniska" - -msgid "Interlingua" -msgstr "Interlingua" - -msgid "Indonesian" -msgstr "Indonesiska" - -msgid "Ido" -msgstr "Ido" - -msgid "Icelandic" -msgstr "Isländska" - -msgid "Italian" -msgstr "Italienska" - -msgid "Japanese" -msgstr "Japanska" - -msgid "Georgian" -msgstr "Georgiska" - -msgid "Kabyle" -msgstr "Kabyliska" - -msgid "Kazakh" -msgstr "Kazakiska" - -msgid "Khmer" -msgstr "Khmer" - -msgid "Kannada" -msgstr "Kannada" - -msgid "Korean" -msgstr "Koreanska" - -msgid "Luxembourgish" -msgstr "Luxemburgiska" - -msgid "Lithuanian" -msgstr "Lettiska" - -msgid "Latvian" -msgstr "Lettiska" - -msgid "Macedonian" -msgstr "Makedonska" - -msgid "Malayalam" -msgstr "Malayalam" - -msgid "Mongolian" -msgstr "Mongoliska" - -msgid "Marathi" -msgstr "Marathi" - -msgid "Burmese" -msgstr "Burmesiska" - -msgid "Norwegian Bokmål" -msgstr "Norskt Bokmål" - -msgid "Nepali" -msgstr "Nepali" - -msgid "Dutch" -msgstr "Holländska" - -msgid "Norwegian Nynorsk" -msgstr "Norska (nynorsk)" - -msgid "Ossetic" -msgstr "Ossetiska" - -msgid "Punjabi" -msgstr "Punjabi" - -msgid "Polish" -msgstr "Polska" - -msgid "Portuguese" -msgstr "Portugisiska" - -msgid "Brazilian Portuguese" -msgstr "Brasiliensk portugisiska" - -msgid "Romanian" -msgstr "Rumänska" - -msgid "Russian" -msgstr "Ryska" - -msgid "Slovak" -msgstr "Slovakiska" - -msgid "Slovenian" -msgstr "Slovenska" - -msgid "Albanian" -msgstr "Albanska" - -msgid "Serbian" -msgstr "Serbiska" - -msgid "Serbian Latin" -msgstr "Serbiska (latin)" - -msgid "Swedish" -msgstr "Svenska" - -msgid "Swahili" -msgstr "Swahili" - -msgid "Tamil" -msgstr "Tamilska" - -msgid "Telugu" -msgstr "Telugu" - -msgid "Thai" -msgstr "Thailändska" - -msgid "Turkish" -msgstr "Turkiska" - -msgid "Tatar" -msgstr "Tatariska" - -msgid "Udmurt" -msgstr "Udmurtiska" - -msgid "Ukrainian" -msgstr "Ukrainska" - -msgid "Urdu" -msgstr "Urdu" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "Vietnamesiska" - -msgid "Simplified Chinese" -msgstr "Förenklad Kinesiska" - -msgid "Traditional Chinese" -msgstr "Traditionell Kinesiska" - -msgid "Messages" -msgstr "Meddelanden" - -msgid "Site Maps" -msgstr "Sidkartor" - -msgid "Static Files" -msgstr "Statiska filer" - -msgid "Syndication" -msgstr "Syndikering" - -msgid "That page number is not an integer" -msgstr "Sidnumret är inte ett heltal" - -msgid "That page number is less than 1" -msgstr "Sidnumret är mindre än 1" - -msgid "That page contains no results" -msgstr "Sidan innehåller inga resultat" - -msgid "Enter a valid value." -msgstr "Fyll i ett giltigt värde." - -msgid "Enter a valid URL." -msgstr "Fyll i en giltig URL." - -msgid "Enter a valid integer." -msgstr "Fyll i ett giltigt heltal." - -msgid "Enter a valid email address." -msgstr "Fyll i en giltig e-postadress." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "Fyll i en giltig IPv4 adress." - -msgid "Enter a valid IPv6 address." -msgstr "Ange en giltig IPv6-adress." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Ange en giltig IPv4 eller IPv6-adress." - -msgid "Enter only digits separated by commas." -msgstr "Fyll enbart i siffror separerade med kommatecken." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" -"Kontrollera att detta värde är %(limit_value)s (det är %(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "" -"Kontrollera att detta värde är mindre än eller lika med %(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "" -"Kontrollera att detta värde är större än eller lika med %(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Säkerställ att detta värde åtminstone har %(limit_value)d tecken (den har " -"%(show_value)d)." -msgstr[1] "" -"Säkerställ att detta värde åtminstone har %(limit_value)d tecken (den har " -"%(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Säkerställ att detta värde har som mest %(limit_value)d tecken (den har " -"%(show_value)d)." -msgstr[1] "" -"Säkerställ att detta värde har som mest %(limit_value)d tecken (den har " -"%(show_value)d)." - -msgid "Enter a number." -msgstr "Fyll i ett tal." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Säkerställ att det inte är mer än %(max)s siffra totalt." -msgstr[1] "Säkerställ att det inte är mer än %(max)s siffror totalt." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "Säkerställ att det inte är mer än %(max)s decimal." -msgstr[1] "Säkerställ att det inte är mer än %(max)s decimaler." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -"Säkerställ att det inte är mer än %(max)s siffra före decimalavskiljaren." -msgstr[1] "" -"Säkerställ att det inte är mer än %(max)s siffror före decimalavskiljaren." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "Null-tecken är inte tillåtna." - -msgid "and" -msgstr "och" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "%(model_name)s med samma %(field_labels)s finns redan." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "Värdet %(value)r är inget giltigt alternativ." - -msgid "This field cannot be null." -msgstr "Detta fält får inte vara null." - -msgid "This field cannot be blank." -msgstr "Detta fält får inte vara tomt." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s med detta %(field_label)s finns redan." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(field_label)s måste vara unikt för %(date_field_label)s %(lookup_type)s." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Fält av typ: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "Boolesk (antingen True eller False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Sträng (upp till %(max_length)s)" - -msgid "Comma-separated integers" -msgstr "Komma-separerade heltal" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "Datum (utan tid)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "Datum (med tid)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "Decimaltal" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "Tidsspann" - -msgid "Email address" -msgstr "E-postadress" - -msgid "File path" -msgstr "Sökväg till fil" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "Flyttal" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "Heltal" - -msgid "Big (8 byte) integer" -msgstr "Stort (8 byte) heltal" - -msgid "IPv4 address" -msgstr "IPv4-adress" - -msgid "IP address" -msgstr "IP-adress" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "Boolesk (antingen True, False eller None)" - -msgid "Positive integer" -msgstr "Positivt heltal" - -msgid "Positive small integer" -msgstr "Positivt litet heltal" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Slug (upp till %(max_length)s)" - -msgid "Small integer" -msgstr "Litet heltal" - -msgid "Text" -msgstr "Text" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "Tid" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Rå binärdata" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "Globalt unik identifierare" - -msgid "File" -msgstr "Fil" - -msgid "Image" -msgstr "Bild" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "Modell %(model)s med %(field)s %(value)r finns inte." - -msgid "Foreign Key (type determined by related field)" -msgstr "Främmande nyckel (typ bestäms av relaterat fält)" - -msgid "One-to-one relationship" -msgstr "Ett-till-ett-samband" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "%(from)s-%(to)s relation" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "%(from)s-%(to)s relationer" - -msgid "Many-to-many relationship" -msgstr "Många-till-många-samband" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Detta fält måste fyllas i." - -msgid "Enter a whole number." -msgstr "Fyll i ett heltal." - -msgid "Enter a valid date." -msgstr "Fyll i ett giltigt datum." - -msgid "Enter a valid time." -msgstr "Fyll i en giltig tid." - -msgid "Enter a valid date/time." -msgstr "Fyll i ett giltigt datum/tid." - -msgid "Enter a valid duration." -msgstr "Fyll i ett giltigt tidsspann." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "Antalet dagar måste vara mellan {min_days} och {max_days}." - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Ingen fil skickades. Kontrollera kodningstypen i formuläret." - -msgid "No file was submitted." -msgstr "Ingen fil skickades." - -msgid "The submitted file is empty." -msgstr "Den skickade filen är tom." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Säkerställ att filnamnet har som mest %(max)d tecken (den har %(length)d)." -msgstr[1] "" -"Säkerställ att filnamnet har som mest %(max)d tecken (den har %(length)d)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" -"Var vänlig antingen skicka en fil eller markera kryssrutan för att rensa, " -"inte både och. " - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Ladda upp en giltig bild. Filen du laddade upp var antingen ingen bild eller " -"en korrupt bild." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "" -"Välj ett giltigt alternativ. %(value)s finns inte bland tillgängliga " -"alternativ." - -msgid "Enter a list of values." -msgstr "Fyll i en lista med värden." - -msgid "Enter a complete value." -msgstr "Fyll i ett fullständigt värde." - -msgid "Enter a valid UUID." -msgstr "Fyll i ett giltigt UUID." - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Gömt fält %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "ManagementForm data saknas eller har manipulerats" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Vänligen lämna %d eller färre formulär." -msgstr[1] "Vänligen lämna %d eller färre formulär." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "Vänligen skicka %d eller fler formulär." -msgstr[1] "Vänligen skicka %d eller fler formulär." - -msgid "Order" -msgstr "Sortering" - -msgid "Delete" -msgstr "Radera" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Var vänlig korrigera duplikatdata för %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "Var vänlig korrigera duplikatdata för %(field)s, som måste vara unik." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Var vänlig korrigera duplikatdata för %(field_name)s som måste vara unik för " -"%(lookup)s i %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "Vänligen korrigera duplikatvärdena nedan." - -msgid "The inline value did not match the parent instance." -msgstr "Värdet för InlineForeignKeyField motsvarade inte dess motpart." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" -"Välj ett giltigt alternativ. Det valet finns inte bland tillgängliga " -"alternativ." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "Rensa" - -msgid "Currently" -msgstr "Nuvarande" - -msgid "Change" -msgstr "Ändra" - -msgid "Unknown" -msgstr "Okänt" - -msgid "Yes" -msgstr "Ja" - -msgid "No" -msgstr "Nej" - -msgid "Year" -msgstr "" - -msgid "Month" -msgstr "" - -msgid "Day" -msgstr "" - -msgid "yes,no,maybe" -msgstr "ja,nej,kanske" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d byte" -msgstr[1] "%(size)d byte" - -#, python-format -msgid "%s KB" -msgstr "%s kB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "e.m." - -msgid "a.m." -msgstr "f.m." - -msgid "PM" -msgstr "FM" - -msgid "AM" -msgstr "EM" - -msgid "midnight" -msgstr "midnatt" - -msgid "noon" -msgstr "middag" - -msgid "Monday" -msgstr "måndag" - -msgid "Tuesday" -msgstr "tisdag" - -msgid "Wednesday" -msgstr "onsdag" - -msgid "Thursday" -msgstr "torsdag" - -msgid "Friday" -msgstr "fredag" - -msgid "Saturday" -msgstr "lördag" - -msgid "Sunday" -msgstr "söndag" - -msgid "Mon" -msgstr "mån" - -msgid "Tue" -msgstr "tis" - -msgid "Wed" -msgstr "ons" - -msgid "Thu" -msgstr "tors" - -msgid "Fri" -msgstr "fre" - -msgid "Sat" -msgstr "lör" - -msgid "Sun" -msgstr "sön" - -msgid "January" -msgstr "januari" - -msgid "February" -msgstr "februari" - -msgid "March" -msgstr "mars" - -msgid "April" -msgstr "april" - -msgid "May" -msgstr "maj" - -msgid "June" -msgstr "juni" - -msgid "July" -msgstr "juli" - -msgid "August" -msgstr "augusti" - -msgid "September" -msgstr "september" - -msgid "October" -msgstr "oktober" - -msgid "November" -msgstr "november" - -msgid "December" -msgstr "december" - -msgid "jan" -msgstr "jan" - -msgid "feb" -msgstr "feb" - -msgid "mar" -msgstr "mar" - -msgid "apr" -msgstr "apr" - -msgid "may" -msgstr "maj" - -msgid "jun" -msgstr "jun" - -msgid "jul" -msgstr "jul" - -msgid "aug" -msgstr "aug" - -msgid "sep" -msgstr "sep" - -msgid "oct" -msgstr "okt" - -msgid "nov" -msgstr "nov" - -msgid "dec" -msgstr "dec" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "jan" - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "feb" - -msgctxt "abbrev. month" -msgid "March" -msgstr "mars" - -msgctxt "abbrev. month" -msgid "April" -msgstr "april" - -msgctxt "abbrev. month" -msgid "May" -msgstr "maj" - -msgctxt "abbrev. month" -msgid "June" -msgstr "juni" - -msgctxt "abbrev. month" -msgid "July" -msgstr "juli" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "aug" - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "sep" - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "okt" - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "nov" - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "dec" - -msgctxt "alt. month" -msgid "January" -msgstr "januari" - -msgctxt "alt. month" -msgid "February" -msgstr "februari" - -msgctxt "alt. month" -msgid "March" -msgstr "mars" - -msgctxt "alt. month" -msgid "April" -msgstr "april" - -msgctxt "alt. month" -msgid "May" -msgstr "maj" - -msgctxt "alt. month" -msgid "June" -msgstr "juni" - -msgctxt "alt. month" -msgid "July" -msgstr "juli" - -msgctxt "alt. month" -msgid "August" -msgstr "augusti" - -msgctxt "alt. month" -msgid "September" -msgstr "september" - -msgctxt "alt. month" -msgid "October" -msgstr "oktober" - -msgctxt "alt. month" -msgid "November" -msgstr "november" - -msgctxt "alt. month" -msgid "December" -msgstr "december" - -msgid "This is not a valid IPv6 address." -msgstr "Detta är inte en giltig IPv6 adress." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s…" - -msgid "or" -msgstr "eller" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d år" -msgstr[1] "%d år" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d månad" -msgstr[1] "%d månader" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d vecka" -msgstr[1] "%d veckor" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d dag" -msgstr[1] "%d dagar" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d timme" -msgstr[1] "%d timmar" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d minut" -msgstr[1] "%d minuter" - -msgid "0 minutes" -msgstr "0 minuter" - -msgid "Forbidden" -msgstr "Ottillåtet" - -msgid "CSRF verification failed. Request aborted." -msgstr "CSRF-verifikation misslyckades. Förfrågan avbröts." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Du ser detta meddelande eftersom denna sida kräver en CSRF-cookie när " -"formulär skickas. Denna cookie krävs av säkerhetsskäl, för att säkerställa " -"att din webbläsare inte kapats." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "Mer information är tillgänglig med DEBUG=True." - -msgid "No year specified" -msgstr "Inget år angivet" - -msgid "Date out of range" -msgstr "Datum är utanför intervallet" - -msgid "No month specified" -msgstr "Ingen månad angiven" - -msgid "No day specified" -msgstr "Ingen dag angiven" - -msgid "No week specified" -msgstr "Ingen vecka angiven" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "Inga %(verbose_name_plural)s är tillgängliga" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"Framtida %(verbose_name_plural)s är inte tillgängliga eftersom " -"%(class_name)s.allow_future är False." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Hittade inga %(verbose_name)s som matchar frågan" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Ogiltig sida (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "Kataloglistningar är inte tillåtna här." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Innehåll i %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "Django: webb-ramverket för perfektionister med deadlines." - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"Visa release notes för Django %(version)s" - -msgid "The install worked successfully! Congratulations!" -msgstr "Installationen lyckades! Grattis!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"Du ser den här sidan eftersom DEBUG=True i din settings-fil och du har inte konfigurerat några URL:" -"er." - -msgid "Django Documentation" -msgstr "Djangodokumentation" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "Tutorial: En undersöknings-app" - -msgid "Get started with Django" -msgstr "Kom igång med Django" - -msgid "Django Community" -msgstr "Djangos community" - -msgid "Connect, get help, or contribute" -msgstr "Kontakta, begär hjälp eller bidra" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/sv/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/sv/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/sv/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/sv/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 8c15d530..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/sv/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/sv/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/sv/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 35d90712..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/sv/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/sv/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/sv/formats.py deleted file mode 100644 index 94675268..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/sv/formats.py +++ /dev/null @@ -1,35 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'j F Y' -TIME_FORMAT = 'H:i' -DATETIME_FORMAT = 'j F Y H:i' -YEAR_MONTH_FORMAT = 'F Y' -MONTH_DAY_FORMAT = 'j F' -SHORT_DATE_FORMAT = 'Y-m-d' -SHORT_DATETIME_FORMAT = 'Y-m-d H:i' -FIRST_DAY_OF_WEEK = 1 - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -# Kept ISO formats as they are in first position -DATE_INPUT_FORMATS = [ - '%Y-%m-%d', # '2006-10-25' - '%m/%d/%Y', # '10/25/2006' - '%m/%d/%y', # '10/25/06' -] -DATETIME_INPUT_FORMATS = [ - '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59' - '%Y-%m-%d %H:%M:%S.%f', # '2006-10-25 14:30:59.000200' - '%Y-%m-%d %H:%M', # '2006-10-25 14:30' - '%m/%d/%Y %H:%M:%S', # '10/25/2006 14:30:59' - '%m/%d/%Y %H:%M:%S.%f', # '10/25/2006 14:30:59.000200' - '%m/%d/%Y %H:%M', # '10/25/2006 14:30' - '%m/%d/%y %H:%M:%S', # '10/25/06 14:30:59' - '%m/%d/%y %H:%M:%S.%f', # '10/25/06 14:30:59.000200' - '%m/%d/%y %H:%M', # '10/25/06 14:30' -] -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = '\xa0' # non-breaking space -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/sw/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/sw/LC_MESSAGES/django.mo deleted file mode 100644 index 449d588e..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/sw/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/sw/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/sw/LC_MESSAGES/django.po deleted file mode 100644 index 273893d8..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/sw/LC_MESSAGES/django.po +++ /dev/null @@ -1,1221 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Machaku, 2015 -# Machaku, 2014 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-27 22:40+0200\n" -"PO-Revision-Date: 2019-11-05 00:38+0000\n" -"Last-Translator: Ramiro Morales\n" -"Language-Team: Swahili (http://www.transifex.com/django/django/language/" -"sw/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sw\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "Afrikaans" -msgstr "Kiafrikaani" - -msgid "Arabic" -msgstr "Kiarabu" - -msgid "Asturian" -msgstr "" - -msgid "Azerbaijani" -msgstr "Kiazerbaijani" - -msgid "Bulgarian" -msgstr "Kibulgaria" - -msgid "Belarusian" -msgstr "Kibelarusi" - -msgid "Bengali" -msgstr "Kibengali" - -msgid "Breton" -msgstr "Kibretoni" - -msgid "Bosnian" -msgstr "Kibosnia" - -msgid "Catalan" -msgstr "Kikatalani" - -msgid "Czech" -msgstr "Kicheki" - -msgid "Welsh" -msgstr "Kiweli" - -msgid "Danish" -msgstr "Kideni" - -msgid "German" -msgstr "Kijerumani" - -msgid "Lower Sorbian" -msgstr "" - -msgid "Greek" -msgstr "Kigiriki" - -msgid "English" -msgstr "Kiingereza" - -msgid "Australian English" -msgstr "Kiingereza cha Kiaustalia" - -msgid "British English" -msgstr "Kiingereza cha Uingereza" - -msgid "Esperanto" -msgstr "Kiesperanto" - -msgid "Spanish" -msgstr "Kihispania" - -msgid "Argentinian Spanish" -msgstr "Kihispania cha Argentina" - -msgid "Colombian Spanish" -msgstr "" - -msgid "Mexican Spanish" -msgstr "Kihispania cha Mexico" - -msgid "Nicaraguan Spanish" -msgstr "Kihispania cha Nikaragua" - -msgid "Venezuelan Spanish" -msgstr "Kihispania cha Kivenezuela" - -msgid "Estonian" -msgstr "Kiestonia" - -msgid "Basque" -msgstr "Kibaskyue" - -msgid "Persian" -msgstr "Kipershia" - -msgid "Finnish" -msgstr "Kifini" - -msgid "French" -msgstr "Kifaransa" - -msgid "Frisian" -msgstr "Kifrisi" - -msgid "Irish" -msgstr "Kiairishi" - -msgid "Scottish Gaelic" -msgstr "" - -msgid "Galician" -msgstr "Kigalatia" - -msgid "Hebrew" -msgstr "Kiyahudi" - -msgid "Hindi" -msgstr "Kihindi" - -msgid "Croatian" -msgstr "Kikroeshia" - -msgid "Upper Sorbian" -msgstr "" - -msgid "Hungarian" -msgstr "Kihangaria" - -msgid "Armenian" -msgstr "" - -msgid "Interlingua" -msgstr "" - -msgid "Indonesian" -msgstr "Kiindonesia" - -msgid "Ido" -msgstr "" - -msgid "Icelandic" -msgstr "Kiaiselandi" - -msgid "Italian" -msgstr "Kiitaliano" - -msgid "Japanese" -msgstr "Kijapani" - -msgid "Georgian" -msgstr "Kijiojia" - -msgid "Kabyle" -msgstr "" - -msgid "Kazakh" -msgstr "Kizakhi" - -msgid "Khmer" -msgstr "Kihema" - -msgid "Kannada" -msgstr "Kikanada" - -msgid "Korean" -msgstr "Kikorea" - -msgid "Luxembourgish" -msgstr "" - -msgid "Lithuanian" -msgstr "Kilithuania" - -msgid "Latvian" -msgstr "Kilatvia" - -msgid "Macedonian" -msgstr "Kimacedonia" - -msgid "Malayalam" -msgstr "Kimalayalam" - -msgid "Mongolian" -msgstr "Kimongolia" - -msgid "Marathi" -msgstr "" - -msgid "Burmese" -msgstr "" - -msgid "Norwegian Bokmål" -msgstr "" - -msgid "Nepali" -msgstr "Kinepali" - -msgid "Dutch" -msgstr "Kidachi" - -msgid "Norwegian Nynorsk" -msgstr "Kinynorki cha Kinorwei" - -msgid "Ossetic" -msgstr "" - -msgid "Punjabi" -msgstr "Kipanjabi" - -msgid "Polish" -msgstr "Kipolishi" - -msgid "Portuguese" -msgstr "Kireno" - -msgid "Brazilian Portuguese" -msgstr "Kireno cha Kibrazili" - -msgid "Romanian" -msgstr "Kiromania" - -msgid "Russian" -msgstr "Kirusi" - -msgid "Slovak" -msgstr "Kislovakia" - -msgid "Slovenian" -msgstr "Kislovenia" - -msgid "Albanian" -msgstr "Kialbania" - -msgid "Serbian" -msgstr "Kiserbia" - -msgid "Serbian Latin" -msgstr "Kilatini cha Kiserbia" - -msgid "Swedish" -msgstr "Kiswidi" - -msgid "Swahili" -msgstr "Kiswahili" - -msgid "Tamil" -msgstr "Kitamili" - -msgid "Telugu" -msgstr "kitegulu" - -msgid "Thai" -msgstr "Kithai" - -msgid "Turkish" -msgstr "Kituruki" - -msgid "Tatar" -msgstr "Kitatari" - -msgid "Udmurt" -msgstr "" - -msgid "Ukrainian" -msgstr "Kiukreni" - -msgid "Urdu" -msgstr "Kiurdu" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "Kivietinamu" - -msgid "Simplified Chinese" -msgstr "Kichina Kilichorahisishwa" - -msgid "Traditional Chinese" -msgstr "Kichina Asilia" - -msgid "Messages" -msgstr "" - -msgid "Site Maps" -msgstr "" - -msgid "Static Files" -msgstr "" - -msgid "Syndication" -msgstr "" - -msgid "That page number is not an integer" -msgstr "" - -msgid "That page number is less than 1" -msgstr "" - -msgid "That page contains no results" -msgstr "" - -msgid "Enter a valid value." -msgstr "Ingiza thamani halali" - -msgid "Enter a valid URL." -msgstr "Ingiza URL halali." - -msgid "Enter a valid integer." -msgstr "Ingiza namba halali" - -msgid "Enter a valid email address." -msgstr "Ingiza anuani halali ya barua pepe" - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "Ingiza anuani halali ya IPV4" - -msgid "Enter a valid IPv6 address." -msgstr "Ingiza anuani halali ya IPV6" - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Ingiza anuani halali za IPV4 au IPV6" - -msgid "Enter only digits separated by commas." -msgstr "Ingiza tarakimu zilizotenganishwa kwa koma tu." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "Hakikisha thamani hii ni %(limit_value)s (ni %(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Hakikisha thamani hii ni ndogo kuliko au sawa na %(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Hakikisha thamani hii ni kubwa kuliko au sawa na %(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" - -msgid "Enter a number." -msgstr "Ingiza namba" - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "" - -msgid "and" -msgstr "na" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "" - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "" - -msgid "This field cannot be null." -msgstr "Uga huu hauwezi kuwa hauna kitu." - -msgid "This field cannot be blank." -msgstr "Uga huu hauwezi kuwa mtupu" - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "Tayari kuna %(field_label)s kwa %(model_name)s nyingine." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Uga wa aina %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "Buleani (Aidha Kweli au Si kweli)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Tungo (hadi %(max_length)s)" - -msgid "Comma-separated integers" -msgstr "Inteja zilizotengwa kwa koma" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "Tarehe (bila ya muda)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "Tarehe (pamoja na muda)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "Namba ya desimali" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "" - -msgid "Email address" -msgstr "Anuani ya baruapepe" - -msgid "File path" -msgstr "Njia ya faili" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "Namba ya `floating point`" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "Inteja" - -msgid "Big (8 byte) integer" -msgstr "Inteja kubwa (baiti 8)" - -msgid "IPv4 address" -msgstr "anuani ya IPV4" - -msgid "IP address" -msgstr "anuani ya IP" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "Buleani (Aidha kweli, Si kweli au Hukuna)" - -msgid "Positive integer" -msgstr "Inteja chanya" - -msgid "Positive small integer" -msgstr "Inteja chanya ndogo" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Slagi (hadi %(max_length)s)" - -msgid "Small integer" -msgstr "Inteja ndogo" - -msgid "Text" -msgstr "Maandishi" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "Muda" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "" - -msgid "File" -msgstr "Faili" - -msgid "Image" -msgstr "Picha" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "" - -msgid "Foreign Key (type determined by related field)" -msgstr "'Foreign Key' (aina inapatikana kwa uga unaohusiana)" - -msgid "One-to-one relationship" -msgstr "Uhusiano wa moja-kwa-moja" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "" - -msgid "Many-to-many relationship" -msgstr "Uhusiano wa vingi-kwa-vingi" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Sehemu hii inahitajika" - -msgid "Enter a whole number." -msgstr "Ingiza namba kamili" - -msgid "Enter a valid date." -msgstr "Ingiza tarehe halali" - -msgid "Enter a valid time." -msgstr "Ingiza muda halali" - -msgid "Enter a valid date/time." -msgstr "Ingiza tarehe/muda halali" - -msgid "Enter a valid duration." -msgstr "" - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "" - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Hakuna faili lililokusanywa. Angalia aina ya msimbo kwenye fomu." - -msgid "No file was submitted." -msgstr "Hakuna faili lililokusanywa." - -msgid "The submitted file is empty." -msgstr "Faili lililokusanywa ni tupu." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -msgstr[1] "" - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "Tafadhali aidha kusanya faili au tiki kisanduku kilicho wazi, si yote." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Pakia picha halali. Faili ulilopakia lilikua aidha si picha au ni picha " -"iliyopotoshwa." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "Chagua chaguo halali. %(value)s si moja kati ya machaguo yaliyopo." - -msgid "Enter a list of values." -msgstr "Ingiza orodha ya thamani" - -msgid "Enter a complete value." -msgstr "" - -msgid "Enter a valid UUID." -msgstr "" - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "" -msgstr[1] "" - -msgid "Order" -msgstr "Panga" - -msgid "Delete" -msgstr "Futa" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Tafadhali rekebisha data zilizojirudia kwa %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"Tafadhali rekebisha data zilizojirudia kwa %(field)s, zinazotakiwa kuwa za " -"kipekee." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Tafadhali sahihisha data zilizojirudia kwa %(field_name)s ,uga huu ni lazima " -"kuwa wa pekee kwa %(lookup)s katika %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "Tafadhali sahihisha thamani zilizojirudia hapo chini." - -msgid "The inline value did not match the parent instance." -msgstr "" - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "Chagua chaguo halali. Chaguo hilo si moja kati ya chaguzi halali" - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "Safisha" - -msgid "Currently" -msgstr "Kwa sasa" - -msgid "Change" -msgstr "Badili" - -msgid "Unknown" -msgstr "Haijulikani" - -msgid "Yes" -msgstr "Ndiyo" - -msgid "No" -msgstr "Hapana" - -msgid "Year" -msgstr "" - -msgid "Month" -msgstr "" - -msgid "Day" -msgstr "" - -msgid "yes,no,maybe" -msgstr "ndiyo,hapana,labda" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "baiti %(size)d" -msgstr[1] "baiti %(size)d" - -#, python-format -msgid "%s KB" -msgstr "KB %s" - -#, python-format -msgid "%s MB" -msgstr "MB %s" - -#, python-format -msgid "%s GB" -msgstr "GB %s" - -#, python-format -msgid "%s TB" -msgstr "TB %s" - -#, python-format -msgid "%s PB" -msgstr "PB %s" - -msgid "p.m." -msgstr "p.m" - -msgid "a.m." -msgstr "a.m" - -msgid "PM" -msgstr "PM" - -msgid "AM" -msgstr "AM" - -msgid "midnight" -msgstr "usiku wa manane" - -msgid "noon" -msgstr "mchana" - -msgid "Monday" -msgstr "Jumatatu" - -msgid "Tuesday" -msgstr "Jumanne" - -msgid "Wednesday" -msgstr "Jumatano" - -msgid "Thursday" -msgstr "Alhamisi" - -msgid "Friday" -msgstr "Ijumaa" - -msgid "Saturday" -msgstr "Jumamosi" - -msgid "Sunday" -msgstr "Jumapili" - -msgid "Mon" -msgstr "Jtatu" - -msgid "Tue" -msgstr "Jnne" - -msgid "Wed" -msgstr "jtano" - -msgid "Thu" -msgstr "Alh" - -msgid "Fri" -msgstr "Ijmaa" - -msgid "Sat" -msgstr "Jmosi" - -msgid "Sun" -msgstr "Jpili" - -msgid "January" -msgstr "Januari" - -msgid "February" -msgstr "Februari" - -msgid "March" -msgstr "Machi" - -msgid "April" -msgstr "Aprili" - -msgid "May" -msgstr "Mei" - -msgid "June" -msgstr "Juni" - -msgid "July" -msgstr "Julai" - -msgid "August" -msgstr "Agosti" - -msgid "September" -msgstr "Septemba" - -msgid "October" -msgstr "Oktoba" - -msgid "November" -msgstr "Novemba" - -msgid "December" -msgstr "Disemba" - -msgid "jan" -msgstr "jan" - -msgid "feb" -msgstr "feb" - -msgid "mar" -msgstr "machi" - -msgid "apr" -msgstr "apr" - -msgid "may" -msgstr "mei" - -msgid "jun" -msgstr "Juni" - -msgid "jul" -msgstr "jul" - -msgid "aug" -msgstr "ago" - -msgid "sep" -msgstr "sep" - -msgid "oct" -msgstr "okt" - -msgid "nov" -msgstr "nov" - -msgid "dec" -msgstr "dis" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Jan." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Feb." - -msgctxt "abbrev. month" -msgid "March" -msgstr "Machi" - -msgctxt "abbrev. month" -msgid "April" -msgstr "Aprili" - -msgctxt "abbrev. month" -msgid "May" -msgstr "Mei" - -msgctxt "abbrev. month" -msgid "June" -msgstr "Juni" - -msgctxt "abbrev. month" -msgid "July" -msgstr "Julai" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Ago." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Sep." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Okt." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Nov." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Dis." - -msgctxt "alt. month" -msgid "January" -msgstr "Januari" - -msgctxt "alt. month" -msgid "February" -msgstr "Februari" - -msgctxt "alt. month" -msgid "March" -msgstr "Machi" - -msgctxt "alt. month" -msgid "April" -msgstr "Aprili" - -msgctxt "alt. month" -msgid "May" -msgstr "Mei" - -msgctxt "alt. month" -msgid "June" -msgstr "Juni" - -msgctxt "alt. month" -msgid "July" -msgstr "Julai" - -msgctxt "alt. month" -msgid "August" -msgstr "Agosti" - -msgctxt "alt. month" -msgid "September" -msgstr "Septemba" - -msgctxt "alt. month" -msgid "October" -msgstr "Oktoba" - -msgctxt "alt. month" -msgid "November" -msgstr "Novemba" - -msgctxt "alt. month" -msgid "December" -msgstr "Disemba" - -msgid "This is not a valid IPv6 address." -msgstr "" - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "" - -msgid "or" -msgstr "au" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "mwaka %d" -msgstr[1] "miaka %d" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "mwezi %d" -msgstr[1] "miezi %d" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "wiki %d" -msgstr[1] "wiki %d" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "siku %d" -msgstr[1] "siku %d" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "saa %d" -msgstr[1] "saa %d" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "dakika %d" -msgstr[1] "dakika %d" - -msgid "0 minutes" -msgstr "dakika 0" - -msgid "Forbidden" -msgstr "Marufuku" - -msgid "CSRF verification failed. Request aborted." -msgstr "" - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "Maelezo zaidi yanapatikana ikiwa DEBUG=True" - -msgid "No year specified" -msgstr "Hakuna mwaka maalum uliotajwa" - -msgid "Date out of range" -msgstr "" - -msgid "No month specified" -msgstr "Hakuna mwezi maalum uliotajwa" - -msgid "No day specified" -msgstr "Hakuna siku maalum iliyitajwa" - -msgid "No week specified" -msgstr "Hakuna wiki maalum iliyotajwa" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "Hakujapatikana %(verbose_name_plural)s" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"%(verbose_name_plural)s kutoka wakati ujao haiwezekani kwani `" -"%(class_name)s.allow_future` ni `False`." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "hakuna %(verbose_name)s kulingana na ulizo" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Ukurasa batili (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "Sahirisi za saraka haziruhusiwi hapa." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Sahirisi ya %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" - -msgid "The install worked successfully! Congratulations!" -msgstr "" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" - -msgid "Django Documentation" -msgstr "" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "" - -msgid "Get started with Django" -msgstr "" - -msgid "Django Community" -msgstr "" - -msgid "Connect, get help, or contribute" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ta/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/ta/LC_MESSAGES/django.mo deleted file mode 100644 index 1c684f8b..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/ta/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ta/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/ta/LC_MESSAGES/django.po deleted file mode 100644 index ad7bf714..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/ta/LC_MESSAGES/django.po +++ /dev/null @@ -1,1230 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Claude Paroz , 2020 -# Jannis Leidel , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-07-14 21:42+0000\n" -"Last-Translator: Transifex Bot <>\n" -"Language-Team: Tamil (http://www.transifex.com/django/django/language/ta/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ta\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "Afrikaans" -msgstr "" - -msgid "Arabic" -msgstr "அரபிக்" - -msgid "Algerian Arabic" -msgstr "" - -msgid "Asturian" -msgstr "" - -msgid "Azerbaijani" -msgstr "" - -msgid "Bulgarian" -msgstr "" - -msgid "Belarusian" -msgstr "" - -msgid "Bengali" -msgstr "பெங்காலி" - -msgid "Breton" -msgstr "" - -msgid "Bosnian" -msgstr "" - -msgid "Catalan" -msgstr "" - -msgid "Czech" -msgstr "செக்" - -msgid "Welsh" -msgstr "வெல்ஸ்" - -msgid "Danish" -msgstr "டேனிஷ்" - -msgid "German" -msgstr "ஜெர்மன்" - -msgid "Lower Sorbian" -msgstr "" - -msgid "Greek" -msgstr "கிரேக்கம்" - -msgid "English" -msgstr "ஆங்கிலம்" - -msgid "Australian English" -msgstr "" - -msgid "British English" -msgstr "" - -msgid "Esperanto" -msgstr "" - -msgid "Spanish" -msgstr "ஸ்பானிஷ்" - -msgid "Argentinian Spanish" -msgstr "" - -msgid "Colombian Spanish" -msgstr "" - -msgid "Mexican Spanish" -msgstr "" - -msgid "Nicaraguan Spanish" -msgstr "" - -msgid "Venezuelan Spanish" -msgstr "" - -msgid "Estonian" -msgstr "" - -msgid "Basque" -msgstr "" - -msgid "Persian" -msgstr "" - -msgid "Finnish" -msgstr "பீனீஷ்" - -msgid "French" -msgstr "ப்ரென்சு" - -msgid "Frisian" -msgstr "" - -msgid "Irish" -msgstr "" - -msgid "Scottish Gaelic" -msgstr "" - -msgid "Galician" -msgstr "கலீஷீயன்" - -msgid "Hebrew" -msgstr "ஹீப்ரு" - -msgid "Hindi" -msgstr "" - -msgid "Croatian" -msgstr "" - -msgid "Upper Sorbian" -msgstr "" - -msgid "Hungarian" -msgstr "ஹங்கேரியன்" - -msgid "Armenian" -msgstr "" - -msgid "Interlingua" -msgstr "" - -msgid "Indonesian" -msgstr "" - -msgid "Igbo" -msgstr "" - -msgid "Ido" -msgstr "" - -msgid "Icelandic" -msgstr "ஐஸ்லான்டிக்" - -msgid "Italian" -msgstr "இத்தாலியன்" - -msgid "Japanese" -msgstr "ஜப்பானிய" - -msgid "Georgian" -msgstr "" - -msgid "Kabyle" -msgstr "" - -msgid "Kazakh" -msgstr "" - -msgid "Khmer" -msgstr "" - -msgid "Kannada" -msgstr "" - -msgid "Korean" -msgstr "" - -msgid "Kyrgyz" -msgstr "" - -msgid "Luxembourgish" -msgstr "" - -msgid "Lithuanian" -msgstr "" - -msgid "Latvian" -msgstr "" - -msgid "Macedonian" -msgstr "" - -msgid "Malayalam" -msgstr "" - -msgid "Mongolian" -msgstr "" - -msgid "Marathi" -msgstr "" - -msgid "Burmese" -msgstr "" - -msgid "Norwegian Bokmål" -msgstr "" - -msgid "Nepali" -msgstr "" - -msgid "Dutch" -msgstr "டச்சு" - -msgid "Norwegian Nynorsk" -msgstr "" - -msgid "Ossetic" -msgstr "" - -msgid "Punjabi" -msgstr "" - -msgid "Polish" -msgstr "" - -msgid "Portuguese" -msgstr "" - -msgid "Brazilian Portuguese" -msgstr "" - -msgid "Romanian" -msgstr "ரோமானியன்" - -msgid "Russian" -msgstr "ரஷ்யன்" - -msgid "Slovak" -msgstr "சுலோவாக்" - -msgid "Slovenian" -msgstr "ஸ்லோவேனியன்" - -msgid "Albanian" -msgstr "" - -msgid "Serbian" -msgstr "செர்பியன்" - -msgid "Serbian Latin" -msgstr "" - -msgid "Swedish" -msgstr "சுவிடிஷ்" - -msgid "Swahili" -msgstr "" - -msgid "Tamil" -msgstr "தமிழ்" - -msgid "Telugu" -msgstr "" - -msgid "Tajik" -msgstr "" - -msgid "Thai" -msgstr "" - -msgid "Turkmen" -msgstr "" - -msgid "Turkish" -msgstr "துருக்கிஷ்" - -msgid "Tatar" -msgstr "" - -msgid "Udmurt" -msgstr "" - -msgid "Ukrainian" -msgstr "உக்ரேனியன்" - -msgid "Urdu" -msgstr "" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "" - -msgid "Simplified Chinese" -msgstr "எளிய சீன மொழி" - -msgid "Traditional Chinese" -msgstr "மரபு சீன மொழி" - -msgid "Messages" -msgstr "" - -msgid "Site Maps" -msgstr "" - -msgid "Static Files" -msgstr "" - -msgid "Syndication" -msgstr "" - -msgid "That page number is not an integer" -msgstr "" - -msgid "That page number is less than 1" -msgstr "" - -msgid "That page contains no results" -msgstr "" - -msgid "Enter a valid value." -msgstr "" - -msgid "Enter a valid URL." -msgstr "" - -msgid "Enter a valid integer." -msgstr "" - -msgid "Enter a valid email address." -msgstr "" - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "" - -msgid "Enter a valid IPv6 address." -msgstr "" - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "" - -msgid "Enter only digits separated by commas." -msgstr "இங்கு எண்களை மட்டுமே எழுதவும் காமவாள் தனிமைபடுத்தவும் " - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "" - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "" - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" - -msgid "Enter a number." -msgstr "" - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "" - -msgid "and" -msgstr "மற்றும்" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "" - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "" - -msgid "This field cannot be null." -msgstr "இந்த புலம் காலியாக இருக்கக் கூடாது" - -msgid "This field cannot be blank." -msgstr "" - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "" - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "பூலியன் (சரி அல்லது தவறு)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "" - -msgid "Comma-separated integers" -msgstr "கமாவாள் பிரிக்கப்பட்ட முழு எண்" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "தேதி (நேரமில்லாமல்)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "தேதி (நேரமுடன்)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "தசம எண்கள்" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "" - -msgid "Email address" -msgstr "" - -msgid "File path" -msgstr "கோப்புப் பாதை" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "முழு எண்" - -msgid "Big (8 byte) integer" -msgstr "" - -msgid "IPv4 address" -msgstr "" - -msgid "IP address" -msgstr "IP விலாசம்" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "இலக்கு முறை (சரி, தவறு அல்லது ஒன்றும் இல்லை)" - -msgid "Positive big integer" -msgstr "" - -msgid "Positive integer" -msgstr "" - -msgid "Positive small integer" -msgstr "" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "" - -msgid "Small integer" -msgstr "" - -msgid "Text" -msgstr "உரை" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "நேரம்" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "" - -msgid "File" -msgstr "" - -msgid "Image" -msgstr "" - -msgid "A JSON object" -msgstr "" - -msgid "Value must be valid JSON." -msgstr "" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "" - -msgid "Foreign Key (type determined by related field)" -msgstr "" - -msgid "One-to-one relationship" -msgstr "" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "" - -msgid "Many-to-many relationship" -msgstr "" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr "" - -msgid "This field is required." -msgstr "இந்த புலத்தில் மதிப்பு தேவை" - -msgid "Enter a whole number." -msgstr "முழு எண் மட்டுமே எழுதவும்" - -msgid "Enter a valid date." -msgstr "" - -msgid "Enter a valid time." -msgstr "" - -msgid "Enter a valid date/time." -msgstr "" - -msgid "Enter a valid duration." -msgstr "" - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "" - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "அந்த பக்கத்தின் encoding வகையைப் பரிசோதிக்க.கோப்பு சமர்பிக்கப் பட்டவில்லை " - -msgid "No file was submitted." -msgstr "" - -msgid "The submitted file is empty." -msgstr "சமர்பிக்கப் பட்ட கோப்புக் காலியாக உள்ளது" - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -msgstr[1] "" - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"முறையான படம் மட்டுமே பதிவேற்றம் செய்யவும். நீங்கள் பதிவேற்றம் செய்த கோப்பு படம் அள்ளாத " -"அல்லது கெட்டுப்போன கோப்பாகும்" - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "" - -msgid "Enter a list of values." -msgstr "" - -msgid "Enter a complete value." -msgstr "" - -msgid "Enter a valid UUID." -msgstr "" - -msgid "Enter a valid JSON." -msgstr "" - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr "" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "" -msgstr[1] "" - -msgid "Order" -msgstr "" - -msgid "Delete" -msgstr "நீக்குக" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "" - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" - -msgid "Please correct the duplicate values below." -msgstr "" - -msgid "The inline value did not match the parent instance." -msgstr "" - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "" - -msgid "Currently" -msgstr "" - -msgid "Change" -msgstr "மாற்றுக" - -msgid "Unknown" -msgstr "தெரியாத" - -msgid "Yes" -msgstr "ஆம்" - -msgid "No" -msgstr "இல்லை" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "ஆம்,இல்லை,இருக்கலாம்" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%s KB" -msgstr "" - -#, python-format -msgid "%s MB" -msgstr "" - -#, python-format -msgid "%s GB" -msgstr "" - -#, python-format -msgid "%s TB" -msgstr "" - -#, python-format -msgid "%s PB" -msgstr "" - -msgid "p.m." -msgstr "" - -msgid "a.m." -msgstr "" - -msgid "PM" -msgstr "" - -msgid "AM" -msgstr "" - -msgid "midnight" -msgstr "" - -msgid "noon" -msgstr "" - -msgid "Monday" -msgstr "திங்கள்" - -msgid "Tuesday" -msgstr "செவ்வாய்" - -msgid "Wednesday" -msgstr "புதன்" - -msgid "Thursday" -msgstr "வியாழன்" - -msgid "Friday" -msgstr "வெள்ளி" - -msgid "Saturday" -msgstr "சனி" - -msgid "Sunday" -msgstr "ஞாயிறு" - -msgid "Mon" -msgstr "" - -msgid "Tue" -msgstr "" - -msgid "Wed" -msgstr "" - -msgid "Thu" -msgstr "" - -msgid "Fri" -msgstr "" - -msgid "Sat" -msgstr "" - -msgid "Sun" -msgstr "" - -msgid "January" -msgstr "ஜனவரி" - -msgid "February" -msgstr "பிப்ரவரி" - -msgid "March" -msgstr "மார்ச்" - -msgid "April" -msgstr "ஏப்ரல்" - -msgid "May" -msgstr "மே" - -msgid "June" -msgstr "ஜூன்" - -msgid "July" -msgstr "ஜூலை" - -msgid "August" -msgstr "ஆகஸ்டு" - -msgid "September" -msgstr "செப்டம்பர்" - -msgid "October" -msgstr "அக்டோபர்" - -msgid "November" -msgstr "நவம்பர்" - -msgid "December" -msgstr "டிசம்பர்" - -msgid "jan" -msgstr "ஜன" - -msgid "feb" -msgstr "பிப்" - -msgid "mar" -msgstr "மார்" - -msgid "apr" -msgstr "ஏப்" - -msgid "may" -msgstr "மே" - -msgid "jun" -msgstr "ஜூன்" - -msgid "jul" -msgstr "ஜூலை" - -msgid "aug" -msgstr "ஆக" - -msgid "sep" -msgstr "செப்" - -msgid "oct" -msgstr "அக்" - -msgid "nov" -msgstr "நவ" - -msgid "dec" -msgstr "டிச" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "" - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "" - -msgctxt "abbrev. month" -msgid "March" -msgstr "மார்ச்" - -msgctxt "abbrev. month" -msgid "April" -msgstr "ஏப்ரல்" - -msgctxt "abbrev. month" -msgid "May" -msgstr "மே" - -msgctxt "abbrev. month" -msgid "June" -msgstr "ஜூன்" - -msgctxt "abbrev. month" -msgid "July" -msgstr "ஜூலை" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "" - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "" - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "" - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "" - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "" - -msgctxt "alt. month" -msgid "January" -msgstr "ஜனவரி" - -msgctxt "alt. month" -msgid "February" -msgstr "பிப்ரவரி" - -msgctxt "alt. month" -msgid "March" -msgstr "மார்ச்" - -msgctxt "alt. month" -msgid "April" -msgstr "ஏப்ரல்" - -msgctxt "alt. month" -msgid "May" -msgstr "மே" - -msgctxt "alt. month" -msgid "June" -msgstr "ஜூன்" - -msgctxt "alt. month" -msgid "July" -msgstr "ஜூலை" - -msgctxt "alt. month" -msgid "August" -msgstr "ஆகஸ்டு" - -msgctxt "alt. month" -msgid "September" -msgstr "செப்டம்பர்" - -msgctxt "alt. month" -msgid "October" -msgstr "அக்டோபர்" - -msgctxt "alt. month" -msgid "November" -msgstr "நவம்பர்" - -msgctxt "alt. month" -msgid "December" -msgstr "டிசம்பர்" - -msgid "This is not a valid IPv6 address." -msgstr "" - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "" - -msgid "or" -msgstr "" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr "" - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "" -msgstr[1] "" - -msgid "Forbidden" -msgstr "" - -msgid "CSRF verification failed. Request aborted." -msgstr "" - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "" - -msgid "No year specified" -msgstr "" - -msgid "Date out of range" -msgstr "" - -msgid "No month specified" -msgstr "" - -msgid "No day specified" -msgstr "" - -msgid "No week specified" -msgstr "" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "" - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" - -msgid "The install worked successfully! Congratulations!" -msgstr "" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" - -msgid "Django Documentation" -msgstr "" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "" - -msgid "Get started with Django" -msgstr "" - -msgid "Django Community" -msgstr "" - -msgid "Connect, get help, or contribute" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ta/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/ta/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ta/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/ta/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 56617e74..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/ta/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ta/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/ta/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 70a998e2..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/ta/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ta/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/ta/formats.py deleted file mode 100644 index 61810e3f..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/ta/formats.py +++ /dev/null @@ -1,21 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'j F, Y' -TIME_FORMAT = 'g:i A' -# DATETIME_FORMAT = -# YEAR_MONTH_FORMAT = -MONTH_DAY_FORMAT = 'j F' -SHORT_DATE_FORMAT = 'j M, Y' -# SHORT_DATETIME_FORMAT = -# FIRST_DAY_OF_WEEK = - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -# DATE_INPUT_FORMATS = -# TIME_INPUT_FORMATS = -# DATETIME_INPUT_FORMATS = -# DECIMAL_SEPARATOR = -# THOUSAND_SEPARATOR = -# NUMBER_GROUPING = diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/te/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/te/LC_MESSAGES/django.mo deleted file mode 100644 index 1366ff27..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/te/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/te/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/te/LC_MESSAGES/django.po deleted file mode 100644 index 168ffa4d..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/te/LC_MESSAGES/django.po +++ /dev/null @@ -1,1233 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# bhaskar teja yerneni , 2011 -# Claude Paroz , 2020 -# Jannis Leidel , 2011 -# ప్రవీణ్ ఇళ్ళ , 2013 -# వీవెన్ , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-07-14 21:42+0000\n" -"Last-Translator: Transifex Bot <>\n" -"Language-Team: Telugu (http://www.transifex.com/django/django/language/te/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: te\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "Afrikaans" -msgstr "ఆఫ్రికాన్స్" - -msgid "Arabic" -msgstr "ఆరబిక్" - -msgid "Algerian Arabic" -msgstr "" - -msgid "Asturian" -msgstr "" - -msgid "Azerbaijani" -msgstr "అజేర్బైజని " - -msgid "Bulgarian" -msgstr "బల్గేరియన్" - -msgid "Belarusian" -msgstr "బెలారషియన్" - -msgid "Bengali" -msgstr "బెంగాలీ" - -msgid "Breton" -msgstr "బ్రిటన్" - -msgid "Bosnian" -msgstr "బోస్నియన్" - -msgid "Catalan" -msgstr "కాటలాన్" - -msgid "Czech" -msgstr "ఛెక్" - -msgid "Welsh" -msgstr "వెల్ష్" - -msgid "Danish" -msgstr "డానిష్" - -msgid "German" -msgstr "జెర్మన్" - -msgid "Lower Sorbian" -msgstr "" - -msgid "Greek" -msgstr "గ్రీక్" - -msgid "English" -msgstr "ఆంగ్లం" - -msgid "Australian English" -msgstr "" - -msgid "British English" -msgstr "బ్రిటీష్ ఆంగ్లం" - -msgid "Esperanto" -msgstr "ఎస్పరాంటో" - -msgid "Spanish" -msgstr "స్పానిష్" - -msgid "Argentinian Spanish" -msgstr "అర్జెంటీనా స్పానిష్" - -msgid "Colombian Spanish" -msgstr "" - -msgid "Mexican Spanish" -msgstr "మెక్షికన్ స్పానిష్ " - -msgid "Nicaraguan Spanish" -msgstr "" - -msgid "Venezuelan Spanish" -msgstr "వెనుజులా స్పానిష్" - -msgid "Estonian" -msgstr "ఎస్టొనియన్" - -msgid "Basque" -msgstr "బాస్క్" - -msgid "Persian" -msgstr "పారసీ" - -msgid "Finnish" -msgstr "ఫీన్నిష్" - -msgid "French" -msgstr "ఫ్రెంచ్" - -msgid "Frisian" -msgstr "ఫ్రిసియన్" - -msgid "Irish" -msgstr "ఐరిష్" - -msgid "Scottish Gaelic" -msgstr "" - -msgid "Galician" -msgstr "గలిసియన్" - -msgid "Hebrew" -msgstr "హీబ్రూ" - -msgid "Hindi" -msgstr "హిందీ" - -msgid "Croatian" -msgstr "క్రొయేషియన్" - -msgid "Upper Sorbian" -msgstr "" - -msgid "Hungarian" -msgstr "హంగేరియన్" - -msgid "Armenian" -msgstr "" - -msgid "Interlingua" -msgstr "ఇంటర్లింగ్వా" - -msgid "Indonesian" -msgstr "ఇండోనేషియన్" - -msgid "Igbo" -msgstr "" - -msgid "Ido" -msgstr "" - -msgid "Icelandic" -msgstr "ఐస్లాండిక్" - -msgid "Italian" -msgstr "ఇటాలియవ్" - -msgid "Japanese" -msgstr "జపనీ" - -msgid "Georgian" -msgstr "జార్జియన్" - -msgid "Kabyle" -msgstr "" - -msgid "Kazakh" -msgstr "కజఖ్" - -msgid "Khmer" -msgstr "ఖ్మెర్" - -msgid "Kannada" -msgstr "కన్నడ" - -msgid "Korean" -msgstr "కొరియన్" - -msgid "Kyrgyz" -msgstr "" - -msgid "Luxembourgish" -msgstr "లగ్జెంబర్గిష్" - -msgid "Lithuanian" -msgstr "లిథుయేనియన్" - -msgid "Latvian" -msgstr "లాత్వియన్" - -msgid "Macedonian" -msgstr "మెసిడోనియన్" - -msgid "Malayalam" -msgstr "మలయాళం" - -msgid "Mongolian" -msgstr "మంగోలియన్" - -msgid "Marathi" -msgstr "" - -msgid "Burmese" -msgstr "బర్మీస్" - -msgid "Norwegian Bokmål" -msgstr "" - -msgid "Nepali" -msgstr "నేపాలీ" - -msgid "Dutch" -msgstr "డచ్" - -msgid "Norwegian Nynorsk" -msgstr "నోర్వేగియన్ న్య్నోర్స్క్ " - -msgid "Ossetic" -msgstr "" - -msgid "Punjabi" -msgstr "పంజాబీ" - -msgid "Polish" -msgstr "పొలిష్" - -msgid "Portuguese" -msgstr "పోర్చుగీస్" - -msgid "Brazilian Portuguese" -msgstr "బ్రజీలియన్ పోర్చుగీస్" - -msgid "Romanian" -msgstr "రొమానియన్" - -msgid "Russian" -msgstr "రష్యన్" - -msgid "Slovak" -msgstr "స్లొవాక్" - -msgid "Slovenian" -msgstr "స్లొవానియన్" - -msgid "Albanian" -msgstr "అల్బేనియన్" - -msgid "Serbian" -msgstr "సెర్బియన్" - -msgid "Serbian Latin" -msgstr "సెర్బియన్ లాటిన్" - -msgid "Swedish" -msgstr "స్వీడిష్" - -msgid "Swahili" -msgstr "స్వాహిలి" - -msgid "Tamil" -msgstr "తమిళం" - -msgid "Telugu" -msgstr "తెలుగు" - -msgid "Tajik" -msgstr "" - -msgid "Thai" -msgstr "థాయి" - -msgid "Turkmen" -msgstr "" - -msgid "Turkish" -msgstr "టర్కిష్" - -msgid "Tatar" -msgstr "టటర్" - -msgid "Udmurt" -msgstr "" - -msgid "Ukrainian" -msgstr "ఉక్రేనియన్" - -msgid "Urdu" -msgstr "ఉర్దూ" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "వియెత్నామీ" - -msgid "Simplified Chinese" -msgstr "సరళ చైనీ" - -msgid "Traditional Chinese" -msgstr "సాంప్రదాయ చైనీ" - -msgid "Messages" -msgstr "" - -msgid "Site Maps" -msgstr "" - -msgid "Static Files" -msgstr "" - -msgid "Syndication" -msgstr "" - -msgid "That page number is not an integer" -msgstr "" - -msgid "That page number is less than 1" -msgstr "" - -msgid "That page contains no results" -msgstr "" - -msgid "Enter a valid value." -msgstr "సరైన విలువని ఇవ్వండి." - -msgid "Enter a valid URL." -msgstr "సరైన URL ఇవ్వండి." - -msgid "Enter a valid integer." -msgstr "" - -msgid "Enter a valid email address." -msgstr "దయచేసి సరైన ఈమెయిల్ చిరునామాను ప్రవేశపెట్టండి." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "దయచేసి సరైన IPv4 అడ్రస్ ఇవ్వండి" - -msgid "Enter a valid IPv6 address." -msgstr "" - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "" - -msgid "Enter only digits separated by commas." -msgstr "కామాల తో అంకెలు విడడీసి ఇవ్వండి " - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" -"దయచేసి దీని విలువ %(limit_value)s గ ఉండేట్లు చూసుకొనుము. ( మీరు సమర్పించిన విలువ " -"%(show_value)s )" - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "దయచేసి దీని విలువ %(limit_value)s కు సమానముగా లేక తక్కువగా ఉండేట్లు చూసుకొనుము." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "దయచేసి దీని విలువ %(limit_value)s కు సమానముగా లేక ఎక్కువగా ఉండేట్లు చూసుకొనుము." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" - -msgid "Enter a number." -msgstr "దయచేసి పూర్ణ సంఖ్య ఇవ్వండి" - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "" - -msgid "and" -msgstr "మరియు" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "" - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "" - -msgid "This field cannot be null." -msgstr "ఈ ఫీల్డ్ కాళీగా ఉందకూడడు " - -msgid "This field cannot be blank." -msgstr "ఈ ఖాళీని తప్పనిసరిగా పూరించాలి" - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "" - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "బూలియన్ (అవునా లేక కాదా)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "పదబంధం (గరిష్ఠం %(max_length)s)" - -msgid "Comma-separated integers" -msgstr "కామా తో విడడీసిన సంఖ్య" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "తేదీ (సమయం లేకుండా)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "తేది (సమయం తో)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "దశగణసంఖ్య" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "" - -msgid "Email address" -msgstr "ఈమెయిలు చిరునామా" - -msgid "File path" -msgstr "ఫైల్ పాత్" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "పూర్ణసంఖ్య" - -msgid "Big (8 byte) integer" -msgstr "" - -msgid "IPv4 address" -msgstr "" - -msgid "IP address" -msgstr "ఐపీ చిరునామా" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "" - -msgid "Positive big integer" -msgstr "" - -msgid "Positive integer" -msgstr "" - -msgid "Positive small integer" -msgstr "" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "" - -msgid "Small integer" -msgstr "" - -msgid "Text" -msgstr "పాఠ్యం" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "సమయం" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "" - -msgid "File" -msgstr "దస్త్రం" - -msgid "Image" -msgstr "బొమ్మ" - -msgid "A JSON object" -msgstr "" - -msgid "Value must be valid JSON." -msgstr "" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "" - -msgid "Foreign Key (type determined by related field)" -msgstr "" - -msgid "One-to-one relationship" -msgstr "" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "" - -msgid "Many-to-many relationship" -msgstr "" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr "" - -msgid "This field is required." -msgstr "ఈ ఫీల్డ్ అవసరము" - -msgid "Enter a whole number." -msgstr "పూర్ణ సంఖ్య ఇవ్వండి" - -msgid "Enter a valid date." -msgstr "దయచేసి సరైన తేది ఇవ్వండి." - -msgid "Enter a valid time." -msgstr "దయచేసి సరైన సమయం ఇవ్వండి." - -msgid "Enter a valid date/time." -msgstr "దయచేసి సరైన తెది/సమయం ఇవ్వండి." - -msgid "Enter a valid duration." -msgstr "" - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "" - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "" - -msgid "No file was submitted." -msgstr "ఫైలు సమర్పించబడలేదు." - -msgid "The submitted file is empty." -msgstr "మీరు సమర్పించిన ఫైల్ కాళీగా ఉంది " - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -msgstr[1] "" - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "" - -msgid "Enter a list of values." -msgstr "సరైన విలువల జాబితాను ఇవ్వండి." - -msgid "Enter a complete value." -msgstr "" - -msgid "Enter a valid UUID." -msgstr "" - -msgid "Enter a valid JSON." -msgstr "" - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr "" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "" -msgstr[1] "" - -msgid "Order" -msgstr "అంతరము" - -msgid "Delete" -msgstr "తొలగించు" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "దయచేసి %(field)s యొక్క నకలు విలువను సరిదిద్దుకోండి." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "దయచేసి %(field)s యొక్క నకలు విలువను సరిదిద్దుకోండి. దీని విలువ అద్వితీయమయినది " - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" - -msgid "Please correct the duplicate values below." -msgstr "దయచేసి క్రింద ఉన్న నకలు విలువను సరిదిద్దుకోండి." - -msgid "The inline value did not match the parent instance." -msgstr "" - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "" - -msgid "Currently" -msgstr "ప్రస్తుతము " - -msgid "Change" -msgstr "మార్చు" - -msgid "Unknown" -msgstr "తెలియనది" - -msgid "Yes" -msgstr "అవును" - -msgid "No" -msgstr "కాదు" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "అవును,కాదు,ఏమొ" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d బైటు" -msgstr[1] "%(size)d బైట్లు" - -#, python-format -msgid "%s KB" -msgstr "%s కిబై" - -#, python-format -msgid "%s MB" -msgstr "%s మెబై" - -#, python-format -msgid "%s GB" -msgstr "%s గిబై" - -#, python-format -msgid "%s TB" -msgstr "" - -#, python-format -msgid "%s PB" -msgstr "" - -msgid "p.m." -msgstr "p.m." - -msgid "a.m." -msgstr "a.m." - -msgid "PM" -msgstr "PM" - -msgid "AM" -msgstr "AM" - -msgid "midnight" -msgstr "అర్ధరాత్రి" - -msgid "noon" -msgstr "మధ్యాహ్నం" - -msgid "Monday" -msgstr "సోమవారం" - -msgid "Tuesday" -msgstr "మంగళవారం" - -msgid "Wednesday" -msgstr "బుధవారం" - -msgid "Thursday" -msgstr "గురువారం" - -msgid "Friday" -msgstr "శుక్రవారం" - -msgid "Saturday" -msgstr "శనివారం" - -msgid "Sunday" -msgstr "ఆదివారం" - -msgid "Mon" -msgstr "సోమ" - -msgid "Tue" -msgstr "మంగళ" - -msgid "Wed" -msgstr "బుధ" - -msgid "Thu" -msgstr "గురు" - -msgid "Fri" -msgstr "శుక్ర" - -msgid "Sat" -msgstr "శని" - -msgid "Sun" -msgstr "ఆది" - -msgid "January" -msgstr "జనవరి" - -msgid "February" -msgstr "ఫిబ్రవరి" - -msgid "March" -msgstr "మార్చి" - -msgid "April" -msgstr "ఎప్రిల్" - -msgid "May" -msgstr "మే" - -msgid "June" -msgstr "జూన్" - -msgid "July" -msgstr "జులై" - -msgid "August" -msgstr "ఆగష్టు" - -msgid "September" -msgstr "సెప్టెంబర్" - -msgid "October" -msgstr "అక్టోబర్" - -msgid "November" -msgstr "నవంబర్" - -msgid "December" -msgstr "డిసెంబర్" - -msgid "jan" -msgstr "జన" - -msgid "feb" -msgstr "ఫిబ్ర" - -msgid "mar" -msgstr "మార్చి" - -msgid "apr" -msgstr "ఎప్రి" - -msgid "may" -msgstr "మే" - -msgid "jun" -msgstr "జూన్" - -msgid "jul" -msgstr "జూలై" - -msgid "aug" -msgstr "ఆగ" - -msgid "sep" -msgstr "సెప్టెం" - -msgid "oct" -msgstr "అక్టో" - -msgid "nov" -msgstr "నవం" - -msgid "dec" -msgstr "డిసెం" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "జన." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "ఫిబ్ర." - -msgctxt "abbrev. month" -msgid "March" -msgstr "మార్చి" - -msgctxt "abbrev. month" -msgid "April" -msgstr "ఏప్రి." - -msgctxt "abbrev. month" -msgid "May" -msgstr "మే" - -msgctxt "abbrev. month" -msgid "June" -msgstr "జూన్" - -msgctxt "abbrev. month" -msgid "July" -msgstr "జూలై" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "ఆగ." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "సెప్టెం." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "అక్టో." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "నవం." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "డిసెం." - -msgctxt "alt. month" -msgid "January" -msgstr "జనవరి" - -msgctxt "alt. month" -msgid "February" -msgstr "ఫిబ్రవరి" - -msgctxt "alt. month" -msgid "March" -msgstr "మార్చి" - -msgctxt "alt. month" -msgid "April" -msgstr "ఏప్రిల్" - -msgctxt "alt. month" -msgid "May" -msgstr "మే" - -msgctxt "alt. month" -msgid "June" -msgstr "జూన్" - -msgctxt "alt. month" -msgid "July" -msgstr "జూలై" - -msgctxt "alt. month" -msgid "August" -msgstr "ఆగస్ట్" - -msgctxt "alt. month" -msgid "September" -msgstr "సెప్టెంబర్" - -msgctxt "alt. month" -msgid "October" -msgstr "అక్టోబర్" - -msgctxt "alt. month" -msgid "November" -msgstr "నవంబర్" - -msgctxt "alt. month" -msgid "December" -msgstr "డిసెంబర్" - -msgid "This is not a valid IPv6 address." -msgstr "" - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "" - -msgid "or" -msgstr "లేదా" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "" -msgstr[1] "" - -msgid "Forbidden" -msgstr "" - -msgid "CSRF verification failed. Request aborted." -msgstr "" - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "" - -msgid "No year specified" -msgstr "" - -msgid "Date out of range" -msgstr "" - -msgid "No month specified" -msgstr "" - -msgid "No day specified" -msgstr "" - -msgid "No week specified" -msgstr "" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "" - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" - -msgid "The install worked successfully! Congratulations!" -msgstr "" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" - -msgid "Django Documentation" -msgstr "" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "" - -msgid "Get started with Django" -msgstr "" - -msgid "Django Community" -msgstr "" - -msgid "Connect, get help, or contribute" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/te/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/te/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/te/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/te/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 5e6f0db9..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/te/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/te/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/te/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 340d016d..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/te/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/te/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/te/formats.py deleted file mode 100644 index 8fb98cf7..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/te/formats.py +++ /dev/null @@ -1,21 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'j F Y' -TIME_FORMAT = 'g:i A' -# DATETIME_FORMAT = -# YEAR_MONTH_FORMAT = -MONTH_DAY_FORMAT = 'j F' -SHORT_DATE_FORMAT = 'j M Y' -# SHORT_DATETIME_FORMAT = -# FIRST_DAY_OF_WEEK = - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -# DATE_INPUT_FORMATS = -# TIME_INPUT_FORMATS = -# DATETIME_INPUT_FORMATS = -# DECIMAL_SEPARATOR = -# THOUSAND_SEPARATOR = -# NUMBER_GROUPING = diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/tg/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/tg/LC_MESSAGES/django.mo deleted file mode 100644 index e93dc87f..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/tg/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/tg/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/tg/LC_MESSAGES/django.po deleted file mode 100644 index 05a4ca96..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/tg/LC_MESSAGES/django.po +++ /dev/null @@ -1,1299 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Mariusz Felisiak , 2020 -# Surush Sufiew , 2020 -# Siroj Sufiew , 2020 -# Surush Sufiew , 2020 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-07-30 18:50+0000\n" -"Last-Translator: Mariusz Felisiak \n" -"Language-Team: Tajik (http://www.transifex.com/django/django/language/tg/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: tg\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "Afrikaans" -msgstr "Ҳолландӣ" - -msgid "Arabic" -msgstr "Арабӣ" - -msgid "Algerian Arabic" -msgstr "Арабӣ" - -msgid "Asturian" -msgstr "Астурӣ" - -msgid "Azerbaijani" -msgstr "Озарбойҷонӣ" - -msgid "Bulgarian" -msgstr "Булғорӣ" - -msgid "Belarusian" -msgstr "Белорусӣ" - -msgid "Bengali" -msgstr "Бенгалӣ" - -msgid "Breton" -msgstr "Бретонӣ" - -msgid "Bosnian" -msgstr "Боснӣ" - -msgid "Catalan" -msgstr "Каталанӣ" - -msgid "Czech" -msgstr "Чехӣ" - -msgid "Welsh" -msgstr "Уэлсӣ" - -msgid "Danish" -msgstr "Даниягӣ" - -msgid "German" -msgstr "Олмонӣ" - -msgid "Lower Sorbian" -msgstr "Сербиягӣ" - -msgid "Greek" -msgstr "Юнонӣ" - -msgid "English" -msgstr "Англисӣ" - -msgid "Australian English" -msgstr "Англисии австралиёӣ" - -msgid "British English" -msgstr "Ангилисии бритониёӣ" - -msgid "Esperanto" -msgstr "Эсперантоӣ" - -msgid "Spanish" -msgstr "Испанӣ" - -msgid "Argentinian Spanish" -msgstr "Испании аргентиноӣ" - -msgid "Colombian Spanish" -msgstr "Испании колумбигӣ" - -msgid "Mexican Spanish" -msgstr "Испании мексикоӣ" - -msgid "Nicaraguan Spanish" -msgstr "Никарагуанский испанский" - -msgid "Venezuelan Spanish" -msgstr "Испании венесуэлӣ" - -msgid "Estonian" -msgstr "Эстонӣ" - -msgid "Basque" -msgstr "Баскувӣ" - -msgid "Persian" -msgstr "Форсӣ" - -msgid "Finnish" -msgstr "Финикӣ" - -msgid "French" -msgstr "Фаронсавӣ" - -msgid "Frisian" -msgstr "Фризӣ" - -msgid "Irish" -msgstr "Ирландӣ" - -msgid "Scottish Gaelic" -msgstr "Шотландӣ" - -msgid "Galician" -msgstr "" - -msgid "Hebrew" -msgstr "Ивритӣ" - -msgid "Hindi" -msgstr "Ҳиндӣ" - -msgid "Croatian" -msgstr "Хорватӣ" - -msgid "Upper Sorbian" -msgstr "Себриягӣ" - -msgid "Hungarian" -msgstr "" - -msgid "Armenian" -msgstr "Арманӣ" - -msgid "Interlingua" -msgstr "" - -msgid "Indonesian" -msgstr "Индонезӣ" - -msgid "Igbo" -msgstr "" - -msgid "Ido" -msgstr "" - -msgid "Icelandic" -msgstr "Исландӣ" - -msgid "Italian" -msgstr "Итолиёвӣ" - -msgid "Japanese" -msgstr "Японӣ" - -msgid "Georgian" -msgstr "Грузӣ" - -msgid "Kabyle" -msgstr "Кабилӣ" - -msgid "Kazakh" -msgstr "Қазоқӣ" - -msgid "Khmer" -msgstr "" - -msgid "Kannada" -msgstr "" - -msgid "Korean" -msgstr "Кореӣ" - -msgid "Kyrgyz" -msgstr "" - -msgid "Luxembourgish" -msgstr "Люксембургӣ" - -msgid "Lithuanian" -msgstr "Литвигӣ" - -msgid "Latvian" -msgstr "Латвигӣ" - -msgid "Macedonian" -msgstr "Македонӣ" - -msgid "Malayalam" -msgstr "" - -msgid "Mongolian" -msgstr "Монголӣ" - -msgid "Marathi" -msgstr "" - -msgid "Burmese" -msgstr "" - -msgid "Norwegian Bokmål" -msgstr "Норвежский (Букмол)" - -msgid "Nepali" -msgstr "Непалӣ" - -msgid "Dutch" -msgstr "Голландӣ" - -msgid "Norwegian Nynorsk" -msgstr "Норвегӣ" - -msgid "Ossetic" -msgstr "Осетинӣ" - -msgid "Punjabi" -msgstr "Панҷобӣ" - -msgid "Polish" -msgstr "Полякӣ" - -msgid "Portuguese" -msgstr "Португалӣ" - -msgid "Brazilian Portuguese" -msgstr "Португалии бразилиёгӣ" - -msgid "Romanian" -msgstr "Руминӣ" - -msgid "Russian" -msgstr "Руссӣ" - -msgid "Slovak" -msgstr "Словакӣ" - -msgid "Slovenian" -msgstr "Словенӣ" - -msgid "Albanian" -msgstr "Албанӣ" - -msgid "Serbian" -msgstr "Сербӣ" - -msgid "Serbian Latin" -msgstr "Сербӣ" - -msgid "Swedish" -msgstr "Шведӣ" - -msgid "Swahili" -msgstr "Суахили" - -msgid "Tamil" -msgstr "Тамилӣ" - -msgid "Telugu" -msgstr "Телугу" - -msgid "Tajik" -msgstr "" - -msgid "Thai" -msgstr "Тайский" - -msgid "Turkmen" -msgstr "" - -msgid "Turkish" -msgstr "Туркӣ" - -msgid "Tatar" -msgstr "Тоторӣ" - -msgid "Udmurt" -msgstr "Удмуртӣ" - -msgid "Ukrainian" -msgstr "Украинӣ" - -msgid "Urdu" -msgstr "Урдуӣ" - -msgid "Uzbek" -msgstr "Узбекӣ" - -msgid "Vietnamese" -msgstr "Вэтнамӣ" - -msgid "Simplified Chinese" -msgstr "Хитоӣ" - -msgid "Traditional Chinese" -msgstr "Хитоӣ" - -msgid "Messages" -msgstr "Маълумот" - -msgid "Site Maps" -msgstr "Харитаи сайт" - -msgid "Static Files" -msgstr "Файлҳои статикӣ" - -msgid "Syndication" -msgstr "Тасмаи хабарҳо" - -msgid "That page number is not an integer" -msgstr "Рақами саҳифа бояд адади натуралӣ бошад" - -msgid "That page number is less than 1" -msgstr "Рақами саҳифа камтар аз 1" - -msgid "That page contains no results" -msgstr "Саҳифа холӣ аст" - -msgid "Enter a valid value." -msgstr "Қимматро дуруст ворид созед." - -msgid "Enter a valid URL." -msgstr "Суроға(URL)-ро дуруст ворид созед." - -msgid "Enter a valid integer." -msgstr "Ададро дуруст ворид созед." - -msgid "Enter a valid email address." -msgstr "Суроғаи почтаи электрониро дуруст ворид созед." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" -"Қимати “slug”-ро дуруст ворид созед, бояд аз ҳарфҳо (“a-z ва A-Z”), рақамҳо, " -"зердефисҳо(_) ва дефисҳо иборат бошад." - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" -"Қимати “slug”-ро дуруст ворид созед, бояд аз Unicode-ҳарфҳо (“a-z ва A-Z”), " -"рақамҳо, зердефисҳо(_) ва дефисҳо иборат бошад." - -msgid "Enter a valid IPv4 address." -msgstr "Шакли дурусти IPv4-суроғаро ворид созед." - -msgid "Enter a valid IPv6 address." -msgstr "Шакли ҳақиқии IPv4-суроғаро ворид кунед." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Шакли ҳақиқии IPv4 ё IPv6 -суроғаро ворид кунед." - -msgid "Enter only digits separated by commas." -msgstr "Рақамҳои бо вергул шудокардашударо ворид созед." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" -"Боварӣ ҳосил кунед, ки қиммати — %(limit_value)s (ҳоло шакли — " -"%(show_value)s -ро дорад)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "" -"Боварӣ ҳосил кунед, ки ин қиммат хурд ё баробар аст ба %(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "" -"Боварӣ ҳосил кунед, ки ин қиммат калон ё баробар аст ба %(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" - -msgid "Enter a number." -msgstr "Ададро ворид созед." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "Маълумот символӣ мамнӯъро дар бар мегирад: 0-байт" - -msgid "and" -msgstr "ва" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "" -"%(model_name)s бо ин гуна майдонӣ қиматдор %(field_labels)s алакай вуҷуд " -"дорад." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "Қимати %(value)r дар байни вариантҳои омадашуда вуҷуд надорад." - -msgid "This field cannot be null." -msgstr "Ин майдон наметавонад қимати NULL дошта бошад." - -msgid "This field cannot be blank." -msgstr "Ин майдон наметавонад холӣ бошад." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s бо ин гуна %(field_label)s алакай вуҷуд дорад." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"Қимат дар майдони «%(field_label)s» бояд барои фрагменти«%(lookup_type)s» " -"ягона бошад, санаҳо барои майдон %(date_field_label)s." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Майдони намуди %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "Қимати “%(value)s” бояд True ё False бошад." - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "Қимати “%(value)s” бояд True, False ё None бошад." - -msgid "Boolean (Either True or False)" -msgstr "Мантиқан (True ё False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Сатр (то %(max_length)s)" - -msgid "Comma-separated integers" -msgstr "Яклухт, бо вергул ҷудокардашуда" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "“%(value)s” шакли нодуруст дорад. Шакли дуруст: сол.моҳ.рӯз, аст" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "“%(value)s” шакли дуруст (сол.моҳ.рӯз) дорад, аммо сана нодуруст аст" - -msgid "Date (without time)" -msgstr "Сана (бе ишораи вақт)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" -"“%(value)s” шакли нодуруст дорад. Шакли дуруст: сол.моҳ.рӯз соат.дақ[:сония[." -"uuuuuu]][TZ] аст" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" -"“%(value)s” шакли дуруст дорад (сол.моҳ.рӯз соат.дақ[:сония[.uuuuuu]][TZ]), " -"аммо 'сана/вақт'' нодуруст аст" - -msgid "Date (with time)" -msgstr "Сана (бо ишораи вақт)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "“%(value)s” бояд адади даҳӣ бошад" - -msgid "Decimal number" -msgstr "Адади 'даҳӣ' ." - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" -"“%(value)s” шакли нодуруст дорад. Шакли дуруст [рӯз] [[соат:]дақ:]сония[." -"uuuuuu]" - -msgid "Duration" -msgstr "Давомнокӣ" - -msgid "Email address" -msgstr "Суроғаи почтаи электронӣ" - -msgid "File path" -msgstr "Суроғаи файл" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "Қимати “%(value)s” бояд бутун бошад" - -msgid "Floating point number" -msgstr "Адади бутун." - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "Қимати “%(value)s” бояд яклухт бошад" - -msgid "Integer" -msgstr "Яклухт" - -msgid "Big (8 byte) integer" -msgstr "Адади калони яклухт (8 байт)" - -msgid "IPv4 address" -msgstr "IPv4 - суроға" - -msgid "IP address" -msgstr "IP-суроға" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "Қимати “%(value)s” бояд 'None', 'True' ё 'False' бошад" - -msgid "Boolean (Either True, False or None)" -msgstr "Мантиқӣ (True, False ё None)" - -msgid "Positive big integer" -msgstr "" - -msgid "Positive integer" -msgstr "Адади яклухти мусбат" - -msgid "Positive small integer" -msgstr "дади яклухти мусбати хурд" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Слаг (то %(max_length)s)" - -msgid "Small integer" -msgstr "Адади яклухти хурд" - -msgid "Text" -msgstr "Матн" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" -"“%(value)s” шакли нодуруст дорад. Шакли дуруст соат:дақ[:сония[.uuuuuu]" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" -"“%(value)s” шакли дуруст дорад (соат:моҳ[:сония[.uuuuuu, аммо 'вақт' " -"нодуруст қайд шудааст " - -msgid "Time" -msgstr "Вақт" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Маълумоти бинари(дуи)-и коркарднашуда" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "Қимати “%(value)s” барои UUID номувофиқ аст." - -msgid "Universally unique identifier" -msgstr "Майдони UUID, идентификатори универсалии ягона" - -msgid "File" -msgstr "Файл" - -msgid "Image" -msgstr "Тасвир" - -msgid "A JSON object" -msgstr "" - -msgid "Value must be valid JSON." -msgstr "" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "" -"Объекти модели %(model)s бо майдони %(field)s, -и дорои қимати %(value)r, " -"вуҷқд надорад." - -msgid "Foreign Key (type determined by related field)" -msgstr "" -"Калиди беруна(Foreign Key) (Шакл муайян шудаст аз рӯи майдони алоқамандшуда.)" - -msgid "One-to-one relationship" -msgstr "Алоқаи \"як ба як\"" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "Алоқаи %(from)s-%(to)s" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "Алоқаи %(from)s-%(to)s" - -msgid "Many-to-many relationship" -msgstr "Алоқаи \\'бисёр ба бисёр\\'" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Майдони ҳатмӣ." - -msgid "Enter a whole number." -msgstr "Адади яклухтро ворид кунед." - -msgid "Enter a valid date." -msgstr "Санаи дурстро ворид кунед." - -msgid "Enter a valid time." -msgstr "Вақтро дуруст ворид кунед.." - -msgid "Enter a valid date/time." -msgstr "Сана ва вақтро дуруст ворид кунед." - -msgid "Enter a valid duration." -msgstr "авомнокии дурустро ворид кунед." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "" -"Миқдори рӯзҳо бояд доираи аз {min_days} то {max_days} -ро дарбар гирад." - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Файл равон карда нашуд. Шакли кодировкаи формаро тафтиш кунед." - -msgid "No file was submitted." -msgstr "Ягон файл равон карда нашуд" - -msgid "The submitted file is empty." -msgstr "Файли равонкардашуда холӣ аст." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -msgstr[1] "" - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" -"Хоҳиш мекунем файлро бор кунед ё байрақчаи ишоратӣ гузоред \"Тоза кардан\", " -"вале ҳарду амалро дар якҷоягӣ иҷро накунед." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Тасвири дурустро бор кунед. Файли боркардаи шумо нуқсон дорад ва ё 'тасвира' " -"нест" - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "" -"Варианти дурустро интихоб кунед. %(value)s дар байни варианҳои дастрас вуҷуд " -"надорад." - -msgid "Enter a list of values." -msgstr "Рӯйхати қиматҳоро ворид кунед." - -msgid "Enter a complete value." -msgstr "Рӯйхати ҳамаи қиматҳоро ворид кунед." - -msgid "Enter a valid UUID." -msgstr "Шакли дурусти UUID -ро ворид кунед." - -msgid "Enter a valid JSON." -msgstr "" - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Майдони махфии %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "Маълумоти идоракунандаи форма вуҷуд надорад ё ин ки осеб дидааст." - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "" -msgstr[1] "" - -msgid "Order" -msgstr "Тартиб" - -msgid "Delete" -msgstr "Нест кардан" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "" -"Илтимос қимати такроршудаистодаи майдони \"%(field)s\" ро тағйир диҳед." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"Илтимос, қимати майдони %(field)s ро тағйир диҳед, вай бояд 'ягона' бошад." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Илтимос, қимати майдони %(field_name)s ро тағйир диҳед, вай бояд барои " -"%(lookup)s дар майдони %(date_field)s ягона бошад (Ягона будан маънои " -"такрорнашавандагиро дорад)." - -msgid "Please correct the duplicate values below." -msgstr "Хоҳиш мекунам, қимати такроршудаистодаи зеринро иваз кунед." - -msgid "The inline value did not match the parent instance." -msgstr "" -"Қимати дар форма воридкардашуда бо қимати формаи база мутобиқат намекунад." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" -"Варианти дурустро интихоб кунед. Варианти шумо дар қатори қиматҳои " -"овардашуда вуҷуд надорад." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "Тоза кардан" - -msgid "Currently" -msgstr "Дар айни замон" - -msgid "Change" -msgstr "Тағйир додан" - -msgid "Unknown" -msgstr "Номаълум" - -msgid "Yes" -msgstr "Ҳа" - -msgid "No" -msgstr "Не" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "ҳа,не,шояд" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%s KB" -msgstr "%s КБ" - -#, python-format -msgid "%s MB" -msgstr "%s МБ" - -#, python-format -msgid "%s GB" -msgstr "%s ГБ" - -#, python-format -msgid "%s TB" -msgstr "%s ТБ" - -#, python-format -msgid "%s PB" -msgstr "%s ПБ" - -msgid "p.m." -msgstr "н.ш." - -msgid "a.m." -msgstr "н.р." - -msgid "PM" -msgstr "НШ" - -msgid "AM" -msgstr "НР" - -msgid "midnight" -msgstr "нимашабӣ" - -msgid "noon" -msgstr "нисфирузӣ" - -msgid "Monday" -msgstr "Душанбе" - -msgid "Tuesday" -msgstr "Сешанбе" - -msgid "Wednesday" -msgstr "Чоршанбе" - -msgid "Thursday" -msgstr "Панҷшанбе" - -msgid "Friday" -msgstr "Ҷумъа" - -msgid "Saturday" -msgstr "Шанбе" - -msgid "Sunday" -msgstr "Якшанбе" - -msgid "Mon" -msgstr "Дш" - -msgid "Tue" -msgstr "Яш" - -msgid "Wed" -msgstr "Чш" - -msgid "Thu" -msgstr "Пш" - -msgid "Fri" -msgstr "Ҷ" - -msgid "Sat" -msgstr "Ш" - -msgid "Sun" -msgstr "Яш" - -msgid "January" -msgstr "Январ" - -msgid "February" -msgstr "Феврал" - -msgid "March" -msgstr "Март" - -msgid "April" -msgstr "Апрел" - -msgid "May" -msgstr "Май" - -msgid "June" -msgstr "Июн" - -msgid "July" -msgstr "Июл" - -msgid "August" -msgstr "Август" - -msgid "September" -msgstr "Сентябр" - -msgid "October" -msgstr "Октябр" - -msgid "November" -msgstr "Ноябр" - -msgid "December" -msgstr "Декабр" - -msgid "jan" -msgstr "янв" - -msgid "feb" -msgstr "фев" - -msgid "mar" -msgstr "мар" - -msgid "apr" -msgstr "апр" - -msgid "may" -msgstr "май" - -msgid "jun" -msgstr "июн" - -msgid "jul" -msgstr "июл" - -msgid "aug" -msgstr "авг" - -msgid "sep" -msgstr "сен" - -msgid "oct" -msgstr "окт" - -msgid "nov" -msgstr "ноя" - -msgid "dec" -msgstr "дек" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Янв." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Фев." - -msgctxt "abbrev. month" -msgid "March" -msgstr "Март" - -msgctxt "abbrev. month" -msgid "April" -msgstr "Апрел" - -msgctxt "abbrev. month" -msgid "May" -msgstr "Май" - -msgctxt "abbrev. month" -msgid "June" -msgstr "Июн" - -msgctxt "abbrev. month" -msgid "July" -msgstr "Июл" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Авг." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Сен." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Окт." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Ноя." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Дек." - -msgctxt "alt. month" -msgid "January" -msgstr "январ" - -msgctxt "alt. month" -msgid "February" -msgstr "феврал" - -msgctxt "alt. month" -msgid "March" -msgstr "март" - -msgctxt "alt. month" -msgid "April" -msgstr "апрел" - -msgctxt "alt. month" -msgid "May" -msgstr "май" - -msgctxt "alt. month" -msgid "June" -msgstr "июн" - -msgctxt "alt. month" -msgid "July" -msgstr "июл" - -msgctxt "alt. month" -msgid "August" -msgstr "август" - -msgctxt "alt. month" -msgid "September" -msgstr "сентябр" - -msgctxt "alt. month" -msgid "October" -msgstr "октябр" - -msgctxt "alt. month" -msgid "November" -msgstr "ноябр" - -msgctxt "alt. month" -msgid "December" -msgstr "декабр" - -msgid "This is not a valid IPv6 address." -msgstr "Қиммат суроғаи дурусти IPv6 нест." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s…" - -msgid "or" -msgstr "ё" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "" -msgstr[1] "" - -msgid "Forbidden" -msgstr "Мушкилӣ дар воридшавӣ" - -msgid "CSRF verification failed. Request aborted." -msgstr "Мушкили дар тафтиши CSRF. Дархост рад шуд." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" -"Шумо ин хабарро барои он мебинед, ки ин HTTPS -сомона, тавассути браузери " -"шумо дархости равон кардани 'Referer' 'header' -ро дорад. Вале ягон дархост " -"равон нашудааст.Иҷрои ин амал аз ҷиҳати бехатарӣ барои мутмаин шудани он, ки " -"браузери шумо аз тарафи шахси сеюм 'шикаста'' (взлом)нашудааст, ҳатмӣ " -"мебошад." - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" -"Агар шумо браузери худро ба таври 'Referer'-сархатҳояшон дастнорас ба танзим " -"даровада бошед,хоҳиш мекунем, ки ҳадди ақал барои сомонаи мазкур ё барои " -"пайсшавии таввассути HTTPS ё ин ки бароидархостҳои манбаашон якхела, амали " -"азнавбатанзимдарориро иҷро намоед." - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Шумо ин хабарро барои он мебинед, ки сомонаи мазкур талаб менамояд, то амали " -"равонкунииформа ва CSRF cookie дар якҷоягӣ сурат гирад. Ин намуди 'cookie' " -"аз ҷиҳати бехатарӣбарои мутмаин шудани он, ки браузери шумо аз тарафи шахси " -"сеюм 'шикаста'' (взлом)нашудааст, ҳатмӣ мебошад." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" -"Агар шумо браузери худро ба таври дастнораси ба cookies' ба танзим даровада " -"бошед,хоҳиш мекунем, ки ҳадди ақал барои сомонаи мазкур ё барои пайсшавии " -"таввассути HTTPS ё ин ки бароидархостҳои манбаашон якхела, амали " -"азнавбатанзимдарориро иҷро намоед." - -msgid "More information is available with DEBUG=True." -msgstr "" -"Маълумоти бештар дар режими 'танзимдарорӣ'(отладчика), бо фаъолсозии " -"DEBUG=True." - -msgid "No year specified" -msgstr "Сол ишора нашудааст" - -msgid "Date out of range" -msgstr "сана аз доираи муайян берун аст" - -msgid "No month specified" -msgstr "Моҳ ишора нашудааст" - -msgid "No day specified" -msgstr "Рӯз ишора нашудааст" - -msgid "No week specified" -msgstr "Ҳафта ишора нашудааст" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "%(verbose_name_plural)s дастнорас аст" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"%(verbose_name_plural)s навбатӣ дастнорасанд барои он ки %(class_name)s." -"allow_future бо қимати \" False\" гузошта шудааст." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "Санаи нодурусти “%(datestr)s” шакли “%(format)s” гирифтааст" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Ягон %(verbose_name)s, мувофиқ бо дархости шумо ёфт нашуд" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "Саҳифа 'охирин' нест ва ё ки бо адади яклухт(int) ишора нашудааст" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Саҳифаи нодуруст (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "Азназаргузаронии рӯёхати файлҳо дар директорияи зерин номумкин аст." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "“%(path)s” вуҷуд надорад" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Рӯёхати файлҳои директорияи %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" -"Django: веб-фреймворк барои перфектсионистҳо бо дедлайнҳо. Бисёр фреймворки " -"табъи дилва хастанакунанда ҳангоми кор." - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"Инҷо андешаҳо оиди баромади Django " -"%(version)s" - -msgid "The install worked successfully! Congratulations!" -msgstr "Ҷобаҷогузорӣ муваффақона анҷом ёфт! Табрик!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"Шумо ин хабарро барои он мебинед, ки дар ишора намудед: DEBUG=True ва дар файли " -"ҷобаҷогузорӣ(settings)ягонто танзимгари URL-суроғаҳоро ишора нанамудед." - -msgid "Django Documentation" -msgstr "Ҳуҷҷатгузории Django" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "Роҳбарият: Барнома барои овоздиҳӣ" - -msgid "Get started with Django" -msgstr "оғози кор бо Django" - -msgid "Django Community" -msgstr "Иттиҳоди Django" - -msgid "Connect, get help, or contribute" -msgstr "Бо мо ҳамкорӣ намуда имкониятҳои навро пайдо намоед." diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/tg/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/tg/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/tg/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/tg/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 3bf61802..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/tg/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/tg/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/tg/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 72f86bd1..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/tg/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/tg/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/tg/formats.py deleted file mode 100644 index 3e7651d7..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/tg/formats.py +++ /dev/null @@ -1,32 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'j E Y г.' -TIME_FORMAT = 'G:i' -DATETIME_FORMAT = 'j E Y г. G:i' -YEAR_MONTH_FORMAT = 'F Y г.' -MONTH_DAY_FORMAT = 'j F' -SHORT_DATE_FORMAT = 'd.m.Y' -SHORT_DATETIME_FORMAT = 'd.m.Y H:i' -FIRST_DAY_OF_WEEK = 1 # Monday - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -DATE_INPUT_FORMATS = [ - '%d.%m.%Y', # '25.10.2006' - '%d.%m.%y', # '25.10.06' -] -DATETIME_INPUT_FORMATS = [ - '%d.%m.%Y %H:%M:%S', # '25.10.2006 14:30:59' - '%d.%m.%Y %H:%M:%S.%f', # '25.10.2006 14:30:59.000200' - '%d.%m.%Y %H:%M', # '25.10.2006 14:30' - '%d.%m.%Y', # '25.10.2006' - '%d.%m.%y %H:%M:%S', # '25.10.06 14:30:59' - '%d.%m.%y %H:%M:%S.%f', # '25.10.06 14:30:59.000200' - '%d.%m.%y %H:%M', # '25.10.06 14:30' - '%d.%m.%y', # '25.10.06' -] -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = '\xa0' # non-breaking space -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/th/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/th/LC_MESSAGES/django.mo deleted file mode 100644 index 3969ebd0..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/th/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/th/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/th/LC_MESSAGES/django.po deleted file mode 100644 index 8ab31f25..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/th/LC_MESSAGES/django.po +++ /dev/null @@ -1,1208 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Abhabongse Janthong, 2015 -# Jannis Leidel , 2011 -# Kowit Charoenratchatabhan , 2014,2018-2019 -# Naowal Siripatana , 2017 -# sipp11 , 2014 -# Suteepat Damrongyingsupab , 2011-2012 -# Suteepat Damrongyingsupab , 2013 -# Vichai Vongvorakul , 2013 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-27 22:40+0200\n" -"PO-Revision-Date: 2019-11-05 00:38+0000\n" -"Last-Translator: Ramiro Morales\n" -"Language-Team: Thai (http://www.transifex.com/django/django/language/th/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: th\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -msgid "Afrikaans" -msgstr "อาฟฟริกัน" - -msgid "Arabic" -msgstr "อารบิก" - -msgid "Asturian" -msgstr "อัสตูเรียน" - -msgid "Azerbaijani" -msgstr "อาเซอร์ไบจาน" - -msgid "Bulgarian" -msgstr "บัลแกเรีย" - -msgid "Belarusian" -msgstr "เบลารุส" - -msgid "Bengali" -msgstr "เบ็งกาลี" - -msgid "Breton" -msgstr "เบรตัน" - -msgid "Bosnian" -msgstr "บอสเนีย" - -msgid "Catalan" -msgstr "คาตะลาน" - -msgid "Czech" -msgstr "เช็ก" - -msgid "Welsh" -msgstr "เวลส์" - -msgid "Danish" -msgstr "เดนมาร์ก" - -msgid "German" -msgstr "เยอรมัน" - -msgid "Lower Sorbian" -msgstr "" - -msgid "Greek" -msgstr "กรีก" - -msgid "English" -msgstr "อังกฤษ" - -msgid "Australian English" -msgstr "อังกฤษ - ออสเตรเลีย" - -msgid "British English" -msgstr "อังกฤษ - สหราชอาณาจักร" - -msgid "Esperanto" -msgstr "เอสเปรันโต" - -msgid "Spanish" -msgstr "สเปน" - -msgid "Argentinian Spanish" -msgstr "สเปน - อาร์เจนติน่า" - -msgid "Colombian Spanish" -msgstr "สเปน - โคลัมเบีย" - -msgid "Mexican Spanish" -msgstr "สเปน - เม็กซิกัน" - -msgid "Nicaraguan Spanish" -msgstr "นิการากัวสเปน" - -msgid "Venezuelan Spanish" -msgstr "เวเนซุเอลาสเปน" - -msgid "Estonian" -msgstr "เอสโตเนีย" - -msgid "Basque" -msgstr "แบ็ซค์" - -msgid "Persian" -msgstr "เปอร์เชีย" - -msgid "Finnish" -msgstr "ฟินแลนด์" - -msgid "French" -msgstr "ฝรั่งเศส" - -msgid "Frisian" -msgstr "ฟริเซียน" - -msgid "Irish" -msgstr "ไอริช" - -msgid "Scottish Gaelic" -msgstr "" - -msgid "Galician" -msgstr "กาลิเซีย" - -msgid "Hebrew" -msgstr "ฮีบรู" - -msgid "Hindi" -msgstr "ฮินดี" - -msgid "Croatian" -msgstr "โครเอเชีย" - -msgid "Upper Sorbian" -msgstr "" - -msgid "Hungarian" -msgstr "ฮังการี" - -msgid "Armenian" -msgstr "อาร์เมเนียน" - -msgid "Interlingua" -msgstr "ภาษากลาง" - -msgid "Indonesian" -msgstr "อินโดนิเซีย" - -msgid "Ido" -msgstr "" - -msgid "Icelandic" -msgstr "ไอซ์แลนด์" - -msgid "Italian" -msgstr "อิตาลี" - -msgid "Japanese" -msgstr "ญี่ปุ่น" - -msgid "Georgian" -msgstr "จอร์เจีย" - -msgid "Kabyle" -msgstr "" - -msgid "Kazakh" -msgstr "คาซัค" - -msgid "Khmer" -msgstr "เขมร" - -msgid "Kannada" -msgstr "กัณณาท" - -msgid "Korean" -msgstr "เกาหลี" - -msgid "Luxembourgish" -msgstr "ลักแซมเบิร์ก" - -msgid "Lithuanian" -msgstr "ลิทัวเนีย" - -msgid "Latvian" -msgstr "ลัตเวีย" - -msgid "Macedonian" -msgstr "มาซิโดเนีย" - -msgid "Malayalam" -msgstr "มลายู" - -msgid "Mongolian" -msgstr "มองโกเลีย" - -msgid "Marathi" -msgstr "" - -msgid "Burmese" -msgstr "พม่า" - -msgid "Norwegian Bokmål" -msgstr "" - -msgid "Nepali" -msgstr "เนปาล" - -msgid "Dutch" -msgstr "ดัตช์" - -msgid "Norwegian Nynorsk" -msgstr "นอร์เวย์ - Nynorsk" - -msgid "Ossetic" -msgstr "" - -msgid "Punjabi" -msgstr "ปัญจาบี" - -msgid "Polish" -msgstr "โปแลนด์" - -msgid "Portuguese" -msgstr "โปรตุเกส" - -msgid "Brazilian Portuguese" -msgstr "โปรตุเกส (บราซิล)" - -msgid "Romanian" -msgstr "โรมาเนีย" - -msgid "Russian" -msgstr "รัสเซีย" - -msgid "Slovak" -msgstr "สโลวัก" - -msgid "Slovenian" -msgstr "สโลวีเนีย" - -msgid "Albanian" -msgstr "อัลแบเนีย" - -msgid "Serbian" -msgstr "เซอร์เบีย" - -msgid "Serbian Latin" -msgstr "เซอร์เบียละติน" - -msgid "Swedish" -msgstr "สวีเดน" - -msgid "Swahili" -msgstr "สวาฮีลี" - -msgid "Tamil" -msgstr "ทมิฬ" - -msgid "Telugu" -msgstr "เตลุคู" - -msgid "Thai" -msgstr "ไทย" - -msgid "Turkish" -msgstr "ตุรกี" - -msgid "Tatar" -msgstr "ตาตาร์" - -msgid "Udmurt" -msgstr "อัดเมิร์ท" - -msgid "Ukrainian" -msgstr "ยูเครน" - -msgid "Urdu" -msgstr "เออร์ดู" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "เวียดนาม" - -msgid "Simplified Chinese" -msgstr "จีนตัวย่อ" - -msgid "Traditional Chinese" -msgstr "จีนตัวเต็ม" - -msgid "Messages" -msgstr "ข้อความ" - -msgid "Site Maps" -msgstr "" - -msgid "Static Files" -msgstr "" - -msgid "Syndication" -msgstr "" - -msgid "That page number is not an integer" -msgstr "หมายเลขหน้าดังกล่าวไม่ใช่จำนวนเต็ม" - -msgid "That page number is less than 1" -msgstr "หมายเลขหน้าดังกล่าวมีค่าน้อยกว่า 1" - -msgid "That page contains no results" -msgstr "" - -msgid "Enter a valid value." -msgstr "กรุณาใส่ค่าที่ถูกต้อง" - -msgid "Enter a valid URL." -msgstr "ใส่ URL ที่ถูกต้อง" - -msgid "Enter a valid integer." -msgstr "" - -msgid "Enter a valid email address." -msgstr "ป้อนที่อยู่อีเมลที่ถูกต้อง" - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "กรุณาใส่หมายเลขไอพีที่ถูกต้อง" - -msgid "Enter a valid IPv6 address." -msgstr "กรอก IPv6 address ให้ถูกต้อง" - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "กรอก IPv4 หรือ IPv6 address ให้ถูกต้อง" - -msgid "Enter only digits separated by commas." -msgstr "ใส่ตัวเลขที่คั่นด้วยจุลภาคเท่านั้น" - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "ค่านี้ต้องเป็น %(limit_value)s (ปัจจุบันคือ %(show_value)s)" - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "ค่านี้ต้องน้อยกว่าหรือเท่ากับ %(limit_value)s" - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "ค่านี้ต้องมากกว่าหรือเท่ากับ %(limit_value)s" - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" - -msgid "Enter a number." -msgstr "กรอกหมายเลข" - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "" - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "" - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "" - -msgid "and" -msgstr "และ" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "" - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "" - -msgid "This field cannot be null." -msgstr "ฟิลด์นี้ไม่สารถปล่อยว่างได้" - -msgid "This field cannot be blank." -msgstr "ฟิลด์นี้เว้นว่างไม่ได้" - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s และ %(field_label)s มีอยู่แล้ว" - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "ฟิลด์ข้อมูล: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "ตรรกะแบบบูลหมายถึง ค่า\"จริง\" (True) หรือ \"ไม่จริง \" (False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "สตริง(ได้ถึง %(max_length)s)" - -msgid "Comma-separated integers" -msgstr "จำนวนเต็มแบบมีจุลภาค" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "วันที่ (ไม่มีเวลา)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "วันที่ (พร้อมด้วยเวลา)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "เลขฐานสิบหรือเลขทศนิยม" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "ช่วงเวลา" - -msgid "Email address" -msgstr "อีเมล" - -msgid "File path" -msgstr "ตำแหน่งไฟล์" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "เลขทศนิยม" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "จำนวนเต็ม" - -msgid "Big (8 byte) integer" -msgstr "จำนวนเต็ม (8 byte)" - -msgid "IPv4 address" -msgstr "IPv4 address" - -msgid "IP address" -msgstr "หมายเลขไอพี" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "" -"ตรรกะแบบบูลหมายถึง ค่า\"จริง\" (True) หรือ \"ไม่จริง \" (False) หรือ \"ไม่มี\" (None)" - -msgid "Positive integer" -msgstr "จํานวนเต็มบวก" - -msgid "Positive small integer" -msgstr "จํานวนเต็มบวกขนาดเล็ก" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Slug (ถึง %(max_length)s )" - -msgid "Small integer" -msgstr "จำนวนเต็มขนาดเล็ก" - -msgid "Text" -msgstr "ข้อความ" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "เวลา" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "" - -msgid "File" -msgstr "ไฟล์" - -msgid "Image" -msgstr "รูปภาพ" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "" - -msgid "Foreign Key (type determined by related field)" -msgstr "Foreign Key (ชนิดของข้อมูลจะถูกกำหนดจากฟิลด์ที่เกี่ยวข้อง)" - -msgid "One-to-one relationship" -msgstr "ความสัมพันธ์แบบหนึ่งต่อหนึ่ง" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "" - -msgid "Many-to-many relationship" -msgstr "ความสัมพันธ์แบบ many-to-many" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "ฟิลด์นี้จำเป็น" - -msgid "Enter a whole number." -msgstr "กรอกหมายเลข" - -msgid "Enter a valid date." -msgstr "กรุณาใส่วัน" - -msgid "Enter a valid time." -msgstr "กรุณาใส่เวลา" - -msgid "Enter a valid date/time." -msgstr "กรุณาใส่วันเวลา" - -msgid "Enter a valid duration." -msgstr "ใส่ระยะเวลาที่ถูกต้อง" - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "" - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "ไม่มีไฟล์ใดถูกส่ง. ตรวจสอบ encoding type ในฟอร์ม." - -msgid "No file was submitted." -msgstr "ไม่มีไฟล์ใดถูกส่ง" - -msgid "The submitted file is empty." -msgstr "ไฟล์ที่ส่งว่างเปล่า" - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "โปรดเลือกไฟล์หรือติ๊ก clear checkbox อย่างใดอย่างหนึ่ง" - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "อัพโหลดรูปที่ถูกต้อง. ไฟล์ที่อัพโหลดไปไม่ใช่รูป หรือรูปเสียหาย." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "เลือกตัวเลือกที่ถูกต้อง. %(value)s ไม่ใช่ตัวเลือกที่ใช้ได้." - -msgid "Enter a list of values." -msgstr "ใส่รายการ" - -msgid "Enter a complete value." -msgstr "" - -msgid "Enter a valid UUID." -msgstr "ใส่ UUID ที่ถูกต้อง" - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "" - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "" - -msgid "Order" -msgstr "เรียงลำดับ" - -msgid "Delete" -msgstr "ลบ" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "โปรดแก้ไขข้อมูลที่ซ้ำซ้อนใน %(field)s" - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "โปรดแก้ไขข้อมูลที่ซ้ำซ้อนใน %(field)s ซึ่งจะต้องไม่ซ้ำกัน" - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"โปรดแก้ไขข้อมูลซ้ำซ้อนใน %(field_name)s ซึ่งจะต้องไม่ซ้ำกันสำหรับ %(lookup)s ใน " -"%(date_field)s" - -msgid "Please correct the duplicate values below." -msgstr "โปรดแก้ไขค่าที่ซ้ำซ้อนด้านล่าง" - -msgid "The inline value did not match the parent instance." -msgstr "" - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "เลือกตัวเลือกที่ถูกต้อง. ตัวเลือกนั้นไม่สามารถเลือกได้." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "ล้าง" - -msgid "Currently" -msgstr "ปัจจุบัน" - -msgid "Change" -msgstr "เปลี่ยนแปลง" - -msgid "Unknown" -msgstr "ไม่รู้" - -msgid "Yes" -msgstr "ใช่" - -msgid "No" -msgstr "ไม่ใช่" - -msgid "Year" -msgstr "" - -msgid "Month" -msgstr "" - -msgid "Day" -msgstr "" - -msgid "yes,no,maybe" -msgstr "ใช่,ไม่ใช่,อาจจะ" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d ไบต์" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "p.m." - -msgid "a.m." -msgstr "a.m." - -msgid "PM" -msgstr "PM" - -msgid "AM" -msgstr "AM" - -msgid "midnight" -msgstr "เที่ยงคืน" - -msgid "noon" -msgstr "เที่ยงวัน" - -msgid "Monday" -msgstr "จันทร์" - -msgid "Tuesday" -msgstr "อังคาร" - -msgid "Wednesday" -msgstr "พุธ" - -msgid "Thursday" -msgstr "พฤหัสบดี" - -msgid "Friday" -msgstr "ศุกร์" - -msgid "Saturday" -msgstr "เสาร์" - -msgid "Sunday" -msgstr "อาทิตย์" - -msgid "Mon" -msgstr "จ." - -msgid "Tue" -msgstr "อ." - -msgid "Wed" -msgstr "พ." - -msgid "Thu" -msgstr "พฤ." - -msgid "Fri" -msgstr "ศ." - -msgid "Sat" -msgstr "ส." - -msgid "Sun" -msgstr "อา." - -msgid "January" -msgstr "มกราคม" - -msgid "February" -msgstr "กุมภาพันธ์" - -msgid "March" -msgstr "มีนาคม" - -msgid "April" -msgstr "เมษายน" - -msgid "May" -msgstr "พฤษภาคม" - -msgid "June" -msgstr "มิถุนายน" - -msgid "July" -msgstr "กรกฎาคม" - -msgid "August" -msgstr "สิงหาคม" - -msgid "September" -msgstr "กันยายน" - -msgid "October" -msgstr "ตุลาคม" - -msgid "November" -msgstr "พฤศจิกายน" - -msgid "December" -msgstr "ธันวาคม" - -msgid "jan" -msgstr "ม.ค." - -msgid "feb" -msgstr "ก.พ." - -msgid "mar" -msgstr "มี.ค." - -msgid "apr" -msgstr "เม.ย." - -msgid "may" -msgstr "พ.ค." - -msgid "jun" -msgstr "มิ.ย." - -msgid "jul" -msgstr "ก.ค." - -msgid "aug" -msgstr "ส.ค." - -msgid "sep" -msgstr "ก.ย." - -msgid "oct" -msgstr "ต.ค." - -msgid "nov" -msgstr "พ.ย." - -msgid "dec" -msgstr "ธ.ค." - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "ม.ค." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "ก.พ." - -msgctxt "abbrev. month" -msgid "March" -msgstr "มี.ค." - -msgctxt "abbrev. month" -msgid "April" -msgstr "เม.ย." - -msgctxt "abbrev. month" -msgid "May" -msgstr "พ.ค." - -msgctxt "abbrev. month" -msgid "June" -msgstr "มิ.ย." - -msgctxt "abbrev. month" -msgid "July" -msgstr "ก.ค." - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "ส.ค." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "ก.ย." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "ต.ค." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "พ.ย." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "ธ.ค." - -msgctxt "alt. month" -msgid "January" -msgstr "มกราคม" - -msgctxt "alt. month" -msgid "February" -msgstr "กุมภาพันธ์" - -msgctxt "alt. month" -msgid "March" -msgstr "มีนาคม" - -msgctxt "alt. month" -msgid "April" -msgstr "เมษายน" - -msgctxt "alt. month" -msgid "May" -msgstr "พฤษภาคม" - -msgctxt "alt. month" -msgid "June" -msgstr "มิถุนายน" - -msgctxt "alt. month" -msgid "July" -msgstr "กรกฎาคม" - -msgctxt "alt. month" -msgid "August" -msgstr "สิงหาคม" - -msgctxt "alt. month" -msgid "September" -msgstr "กันยายน" - -msgctxt "alt. month" -msgid "October" -msgstr "ตุลาคม" - -msgctxt "alt. month" -msgid "November" -msgstr "พฤศจิกายน" - -msgctxt "alt. month" -msgid "December" -msgstr "ธันวาคม" - -msgid "This is not a valid IPv6 address." -msgstr "" - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "" - -msgid "or" -msgstr "หรือ" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d ปี" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d เดือน" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d สัปดาห์" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d วัน" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d ชั่วโมง" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d นาที" - -msgid "0 minutes" -msgstr "0 นาที" - -msgid "Forbidden" -msgstr "หวงห้าม" - -msgid "CSRF verification failed. Request aborted." -msgstr "" - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "" - -msgid "No year specified" -msgstr "ไม่ระบุปี" - -msgid "Date out of range" -msgstr "" - -msgid "No month specified" -msgstr "ไม่ระบุเดือน" - -msgid "No day specified" -msgstr "ไม่ระบุวัน" - -msgid "No week specified" -msgstr "ไม่ระบุสัปดาห์" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "ไม่มี %(verbose_name_plural)s ที่ใช้ได้" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"%(verbose_name_plural)s ในอนาคตไม่สามารถใช้ได้ เนื่องจาก %(class_name)s." -"allow_future มีค่าเป็น False" - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "ไม่พบ %(verbose_name)s จาก query" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "หน้าไม่ถูกต้อง (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "ไม่ได้รับอนุญาตให้ใช้ Directory indexes ที่นี่" - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "ดัชนีของ %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" - -msgid "The install worked successfully! Congratulations!" -msgstr "" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" - -msgid "Django Documentation" -msgstr "" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "" - -msgid "Get started with Django" -msgstr "เริ่มต้นกับ Django" - -msgid "Django Community" -msgstr "ชุมชน Django" - -msgid "Connect, get help, or contribute" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/th/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/th/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/th/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/th/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 38279bd8..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/th/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/th/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/th/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index a237400e..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/th/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/th/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/th/formats.py deleted file mode 100644 index d7394eb6..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/th/formats.py +++ /dev/null @@ -1,33 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'j F Y' -TIME_FORMAT = 'G:i' -DATETIME_FORMAT = 'j F Y, G:i' -YEAR_MONTH_FORMAT = 'F Y' -MONTH_DAY_FORMAT = 'j F' -SHORT_DATE_FORMAT = 'j M Y' -SHORT_DATETIME_FORMAT = 'j M Y, G:i' -FIRST_DAY_OF_WEEK = 0 # Sunday - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -DATE_INPUT_FORMATS = [ - '%d/%m/%Y', # 25/10/2006 - '%d %b %Y', # 25 ต.ค. 2006 - '%d %B %Y', # 25 ตุลาคม 2006 -] -TIME_INPUT_FORMATS = [ - '%H:%M:%S', # 14:30:59 - '%H:%M:%S.%f', # 14:30:59.000200 - '%H:%M', # 14:30 -] -DATETIME_INPUT_FORMATS = [ - '%d/%m/%Y %H:%M:%S', # 25/10/2006 14:30:59 - '%d/%m/%Y %H:%M:%S.%f', # 25/10/2006 14:30:59.000200 - '%d/%m/%Y %H:%M', # 25/10/2006 14:30 -] -DECIMAL_SEPARATOR = '.' -THOUSAND_SEPARATOR = ',' -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/tk/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/tk/LC_MESSAGES/django.mo deleted file mode 100644 index 2c98ebf1..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/tk/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/tk/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/tk/LC_MESSAGES/django.po deleted file mode 100644 index 9992a745..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/tk/LC_MESSAGES/django.po +++ /dev/null @@ -1,1297 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Mariusz Felisiak , 2020 -# Resulkary , 2020 -# Welbeck Garli , 2020 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-08-24 20:32+0000\n" -"Last-Translator: Resulkary \n" -"Language-Team: Turkmen (http://www.transifex.com/django/django/language/" -"tk/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: tk\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "Afrikaans" -msgstr "Afrikaans" - -msgid "Arabic" -msgstr "Arapça" - -msgid "Algerian Arabic" -msgstr "Alžir Arapçasy" - -msgid "Asturian" -msgstr "Asturian" - -msgid "Azerbaijani" -msgstr "Azeri Türkçesi" - -msgid "Bulgarian" -msgstr "Bolgar" - -msgid "Belarusian" -msgstr "Belarusça" - -msgid "Bengali" -msgstr "Bengali" - -msgid "Breton" -msgstr "Breton" - -msgid "Bosnian" -msgstr "Bosniýaça" - -msgid "Catalan" -msgstr "Katalan" - -msgid "Czech" -msgstr "Çehçe" - -msgid "Welsh" -msgstr "Uelsçe" - -msgid "Danish" -msgstr "Daniýaça" - -msgid "German" -msgstr "Nemesçe" - -msgid "Lower Sorbian" -msgstr "Aşaky Sorbian" - -msgid "Greek" -msgstr "Grekçe" - -msgid "English" -msgstr "Iňlisçe" - -msgid "Australian English" -msgstr "Awstraliýa Iňlisçesi" - -msgid "British English" -msgstr "Britan Iňlisçesi" - -msgid "Esperanto" -msgstr "Esperanto" - -msgid "Spanish" -msgstr "Ispança" - -msgid "Argentinian Spanish" -msgstr "Argentina Ispançasy" - -msgid "Colombian Spanish" -msgstr "Kolumbiýa Ispançasy" - -msgid "Mexican Spanish" -msgstr "Meksika Ispançasy" - -msgid "Nicaraguan Spanish" -msgstr "Nikaragua Ispançasy" - -msgid "Venezuelan Spanish" -msgstr "Wenezuela Ispançasy" - -msgid "Estonian" -msgstr "Estonça" - -msgid "Basque" -msgstr "Baskça" - -msgid "Persian" -msgstr "Parsça" - -msgid "Finnish" -msgstr "Finçe" - -msgid "French" -msgstr "Fransuzça" - -msgid "Frisian" -msgstr "Frisça" - -msgid "Irish" -msgstr "Irlandça" - -msgid "Scottish Gaelic" -msgstr "Şotlandiýa Gaelçasy" - -msgid "Galician" -msgstr "Galisiýaça" - -msgid "Hebrew" -msgstr "Ýewreýçe" - -msgid "Hindi" -msgstr "Hindi" - -msgid "Croatian" -msgstr "Horwatça" - -msgid "Upper Sorbian" -msgstr "Ýokarky Sorbian" - -msgid "Hungarian" -msgstr "Wengerçe" - -msgid "Armenian" -msgstr "Ermeniçe" - -msgid "Interlingua" -msgstr "Interlingua" - -msgid "Indonesian" -msgstr "Indonezça" - -msgid "Igbo" -msgstr "Igbo" - -msgid "Ido" -msgstr "Ido" - -msgid "Icelandic" -msgstr "Islandça" - -msgid "Italian" -msgstr "Italýança" - -msgid "Japanese" -msgstr "Ýaponça" - -msgid "Georgian" -msgstr "Gruzinçe" - -msgid "Kabyle" -msgstr "Kabyle" - -msgid "Kazakh" -msgstr "Gazakça" - -msgid "Khmer" -msgstr "Hmerçe" - -msgid "Kannada" -msgstr "Kannada" - -msgid "Korean" -msgstr "Koreýçe" - -msgid "Kyrgyz" -msgstr "Gyrgyzça" - -msgid "Luxembourgish" -msgstr "Lýuksemburgça" - -msgid "Lithuanian" -msgstr "Litwança" - -msgid "Latvian" -msgstr "Latwiýaça" - -msgid "Macedonian" -msgstr "Makedonça" - -msgid "Malayalam" -msgstr "Malaýalam" - -msgid "Mongolian" -msgstr "Mongolça" - -msgid "Marathi" -msgstr "Marasi" - -msgid "Burmese" -msgstr "Birma" - -msgid "Norwegian Bokmål" -msgstr "Norwegiýa Bokmaly" - -msgid "Nepali" -msgstr "Nepali" - -msgid "Dutch" -msgstr "Gollandça" - -msgid "Norwegian Nynorsk" -msgstr "Norwegiýa Nynorskçasy" - -msgid "Ossetic" -msgstr "Osetikçe" - -msgid "Punjabi" -msgstr "Penjebiçe" - -msgid "Polish" -msgstr "Polýakça" - -msgid "Portuguese" -msgstr "Portugalça" - -msgid "Brazilian Portuguese" -msgstr "Braziliýa Portugalçasy" - -msgid "Romanian" -msgstr "Rumynça" - -msgid "Russian" -msgstr "Rusça" - -msgid "Slovak" -msgstr "Slowakça" - -msgid "Slovenian" -msgstr "Slowençe" - -msgid "Albanian" -msgstr "Albança" - -msgid "Serbian" -msgstr "Serbçe" - -msgid "Serbian Latin" -msgstr "Serb Latynçasy" - -msgid "Swedish" -msgstr "Şwedçe" - -msgid "Swahili" -msgstr "Swahili" - -msgid "Tamil" -msgstr "Tamil" - -msgid "Telugu" -msgstr "Telugu" - -msgid "Tajik" -msgstr "Täjik" - -msgid "Thai" -msgstr "Taýça" - -msgid "Turkmen" -msgstr "Türkmençe" - -msgid "Turkish" -msgstr "Türkçe" - -msgid "Tatar" -msgstr "Tatarça" - -msgid "Udmurt" -msgstr "Udmurt" - -msgid "Ukrainian" -msgstr "Ukrainçe" - -msgid "Urdu" -msgstr "Urduça" - -msgid "Uzbek" -msgstr "Özbekçe" - -msgid "Vietnamese" -msgstr "Wýetnamça" - -msgid "Simplified Chinese" -msgstr "Ýönekeýleşdirilen Hytaýça" - -msgid "Traditional Chinese" -msgstr "Adaty Hytaýça" - -msgid "Messages" -msgstr "Habarlar" - -msgid "Site Maps" -msgstr "Saýt Kartalary" - -msgid "Static Files" -msgstr "Statik Faýllar" - -msgid "Syndication" -msgstr "Syndikasiýa" - -msgid "That page number is not an integer" -msgstr "Ol sahypanyň sany bitewi san däl" - -msgid "That page number is less than 1" -msgstr "Ol sahypanyň belgisi 1-den az" - -msgid "That page contains no results" -msgstr "Ol sahypada hiç hili netije ýok" - -msgid "Enter a valid value." -msgstr "Dogry baha giriziň." - -msgid "Enter a valid URL." -msgstr "Dogry URL giriziň." - -msgid "Enter a valid integer." -msgstr "Dogry bitewi san giriziň." - -msgid "Enter a valid email address." -msgstr "Dogry e-poçta salgysyny giriziň." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" -"Harplardan, sanlardan, aşaky çyzyklardan ýa-da defislerden ybarat dogry " -"“slug” giriziň." - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" -"Unikod harplaryndan, sanlardan, aşaky çyzyklardan ýa-da defislerden ybarat " -"dogry “slug” giriziň." - -msgid "Enter a valid IPv4 address." -msgstr "Dogry IPv4 salgysyny giriziň." - -msgid "Enter a valid IPv6 address." -msgstr "Dogry IPv6 salgysyny giriziň." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Dogry IPv4 ýa-da IPv6 adresi giriziň." - -msgid "Enter only digits separated by commas." -msgstr "Diňe otur bilen aýrylan sanlary giriziň." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" -"%(limit_value)s bahasynyň dogry bolmagyny üpjün ediň (şuwagt %(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "" -"Maglumatyň %(limit_value)s bahasyndan az ýa-da deň bolmagyny üpjün ediň." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "" -"Maglumatyň %(limit_value)s bahasyndan köp ýa-da deň bolmagyny üpjün ediň." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Bu maglumatda iň az %(limit_value)d harp bardygyna göz ýetiriň (munda " -"%(show_value)d bar)." -msgstr[1] "" -"Bu maglumatda azyndan %(limit_value)d nyşanyň bolmagyny üpjün ediň (şuwagt " -"%(show_value)d sany bar)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Bu maglumatda köpünden %(limit_value)d harp bardygyna göz ýetiriň (bunda " -"%(show_value)d bar)" -msgstr[1] "" -"Bu maglumatda iň köp %(limit_value)d nyşanyň bolmagyny üpjün ediň (şuwagt " -"%(show_value)d sany bar)" - -msgid "Enter a number." -msgstr "San giriziň" - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Bu ýerde jemi %(max)s'dan köp san ýokduguna göz ýetiriň." -msgstr[1] "Bu ýerde jemi %(max)s sanydan köp sifriň bolmazlygyny üpjün ediň." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "Bu ýerde %(max)s'dan köp nokatly san ýokdugyna göz ýetiriň" -msgstr[1] "Bu ýerde %(max)s sanydan köp nokatly san ýoklugyny üpjün ediň." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "Nokatdan öň %(max)s'dan köp san ýokdugyna göz ýetiriň" -msgstr[1] "Nokatdan öň %(max)s sanydan köp sifriň ýoklugyny üpjün ediň." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" -"\"%(extension)s\" faýl görnüşine rugsat edilmeýär. Rugsat berilýän faýl " -"görnüşleri şulardan ybarat: %(allowed_extensions)s" - -msgid "Null characters are not allowed." -msgstr "Null nyşanlara rugsat berilmeýär." - -msgid "and" -msgstr "we" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "%(field_labels)s bilen baglanyşykly %(model_name)s eýýäm bar." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "%(value)r dogry saýlaw däl." - -msgid "This field cannot be null." -msgstr "Bu meýdan null bilmez." - -msgid "This field cannot be blank." -msgstr "Bu meýdan boş bolup bilmez." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(field_label)s bilen baglanyşykly %(model_name)s eýýäm bar." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(lookup_type)s %(date_field_label)s üçin %(field_label)s özboluşly " -"bolmalydyr." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Meýdan görnüşi: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "\"%(value)s\" hökman True ýa-da False bolmalydyr." - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "\"%(value)s\" hökman True, False ýa-da None bolmalydyr." - -msgid "Boolean (Either True or False)" -msgstr "Boolean (True ýa-da False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Setir (iň köp %(max_length)s)" - -msgid "Comma-separated integers" -msgstr "Otur bilen bölünen bitewi sanlar" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" -"\"%(value)s\" bahasynyň nädogry sene formaty bar. ÝÝÝÝ-AA-GG görnüşinde " -"bolmaly." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" -"\"%(value)s\" dogry yazylyş usuluna (ÝÝÝÝ-AA-GG) eýe, ýöne, sene nädogry." - -msgid "Date (without time)" -msgstr "Sene (wagtsyz)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" -"\"%(value)s\" ýalňyş görnüşde ýazylan. Bu baha hökmany suratda ÝÝÝÝ-AA-GG SS:" -"MM[:ss[.uuuuuu]][TZ] görnüşde bolmalydyr." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" -"\"%(value)s\" dogry sene görnüşine eýe (ÝÝÝÝ-AA-GG SS:MM[:ss[.uuuuuu]][TZ]). " -"Ýöne bu nädogry sene/wagt." - -msgid "Date (with time)" -msgstr "Sene (wagty bilen)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "\"%(value)s\" hökman nokatly san bolmalydyr." - -msgid "Decimal number" -msgstr "Onluk san" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" -"\"%(value)s\" ýalňyş sene görnüşine eýe. Bu hökman [GG] [[SS:]AA:]ss[." -"uuuuuu] görnüşinde bolmalydyr." - -msgid "Duration" -msgstr "Dowamlylyk" - -msgid "Email address" -msgstr "Email adres" - -msgid "File path" -msgstr "Faýl ýoly" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "\"%(value)s float san bolmaly." - -msgid "Floating point number" -msgstr "Float san" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "\"%(value)s\" bitewi san bolmaly." - -msgid "Integer" -msgstr "Bitewi san" - -msgid "Big (8 byte) integer" -msgstr "Uly (8 baýt) bitewi san" - -msgid "IPv4 address" -msgstr "IPv4 salgy" - -msgid "IP address" -msgstr "IP salgy" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "\"%(value)s\" None, True ýa-da False bolmaly." - -msgid "Boolean (Either True, False or None)" -msgstr "Boolean (True, False ýa-da None)" - -msgid "Positive big integer" -msgstr "Pozitiw uly bitewi san" - -msgid "Positive integer" -msgstr "Pozitiw bitewi san" - -msgid "Positive small integer" -msgstr "Pozitiw kiçi bitewi san" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Slug (iň köp %(max_length)s)" - -msgid "Small integer" -msgstr "Kiçi bitewi san" - -msgid "Text" -msgstr "Tekst" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" -"\"%(value)s\" bahasy nädogry formata eýe. SS:MM[:ss[.uuuuuu]] formatda " -"bolmaly." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" -"\"%(value)s\" bahasy dogry formata eýe (SS:MM[:ss[.uuuuuu]]) ýöne bu nädogry " -"wagt." - -msgid "Time" -msgstr "Wagt" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Çig ikilik maglumat" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "\"%(value)s\" dogry UUID däl." - -msgid "Universally unique identifier" -msgstr "Ähliumumy özboluşly kesgitleýji" - -msgid "File" -msgstr "Faýl" - -msgid "Image" -msgstr "Surat" - -msgid "A JSON object" -msgstr "JSON obýekti" - -msgid "Value must be valid JSON." -msgstr "Bahasy JSON bolmaly." - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "%(field)s%(value)r bolan %(model)s ýok." - -msgid "Foreign Key (type determined by related field)" -msgstr "Daşary açary (baglanyşykly meýdança bilen kesgitlenýär)" - -msgid "One-to-one relationship" -msgstr "Bire-bir gatnaşyk" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "%(from)s-%(to)s gatnaşyk" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "%(from)s-%(to)s gatnaşyklar" - -msgid "Many-to-many relationship" -msgstr "Köp-köp gatnaşyk" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Bu meýdança hökman gerekli." - -msgid "Enter a whole number." -msgstr "Bitin san giriziň." - -msgid "Enter a valid date." -msgstr "Dogry senäni giriziň." - -msgid "Enter a valid time." -msgstr "Dogry wagt giriziň." - -msgid "Enter a valid date/time." -msgstr "Dogry senäni/wagty giriziň." - -msgid "Enter a valid duration." -msgstr "Dogry dowamlylygy giriziň." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "Günleriň sany {min_days} bilen {max_days} arasynda bolmaly." - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Hiç hili faýl tabşyrylmady. Formadaky enkodiň görnüşini barlaň." - -msgid "No file was submitted." -msgstr "Hiç hili faýl tabşyrylmady." - -msgid "The submitted file is empty." -msgstr "Tabşyrylan faýl boş." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Bu faýl adynyň iň köp %(max)d nyşanynyň bolmagyny üpjin ediň (şuwagt " -"%(length)d sany bar)." -msgstr[1] "" -"Bu faýl adynyň iň köp %(max)d nyşanynyň bolmagyny üpjin ediň (şuwagt " -"%(length)d sany bar)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "Bir faýl iberiň ýa-da arassala gutyjygyny belläň, ikisini bile däl." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Dogry surat ýükläň. Ýüklän faýlyňyz ýa surat däldi ýa-da zaýalanan suratdy." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "Dogry saýlawy saýlaň. %(value)s elýeterli saýlawlaryň biri däl." - -msgid "Enter a list of values." -msgstr "Bahalaryň sanawyny giriziň." - -msgid "Enter a complete value." -msgstr "Doly bahany giriziň." - -msgid "Enter a valid UUID." -msgstr "Dogry UUID giriziň." - -msgid "Enter a valid JSON." -msgstr "Dogry JSON giriziň." - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Gizlin meýdan %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "ManagementForm maglumatlary ýok ýa-da bozulandyr" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "%dýa-da ondan azyrak forma tabşyryň" -msgstr[1] "%d ýa-da ondan azyrak forma tabşyryň." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "%d ýa-da ondan köp forma tabşyryň." -msgstr[1] "%d ýa-da ondan köp forma tabşyryň." - -msgid "Order" -msgstr "Tertip" - -msgid "Delete" -msgstr "Poz" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "%(field)s üçin dublikat maglumatlary düzediň." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "Özboluşly bolmaly %(field)s üçin dublikat maglumatlary düzediň." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"%(date_field)s meýdanynda %(lookup)süçin özboluşly bolmaly %(field_name)s " -"üçin dublikat maglumatlary düzediň." - -msgid "Please correct the duplicate values below." -msgstr "Aşakdaky dublikat bahalary düzediň." - -msgid "The inline value did not match the parent instance." -msgstr "Giriş bahasy esasy mysal bilen gabat gelmedi." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "Dogry saýlawy saýlaň. Bu saýlaw, elýeterli saýlawlaryň biri däl." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "\"%(pk)s\" dogry baha däl." - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" -"%(datetime)s wagty %(current_timezone)s wagt zolagy bilen düşündirip " -"bolmady; garyşyk bolup biler ýa-da ýok bolmagy mümkin." - -msgid "Clear" -msgstr "Arassala" - -msgid "Currently" -msgstr "Häzirki wagtda" - -msgid "Change" -msgstr "Üýtget" - -msgid "Unknown" -msgstr "Näbelli" - -msgid "Yes" -msgstr "Hawa" - -msgid "No" -msgstr "Ýok" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "hawa,ýok,belki" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d baýt" -msgstr[1] "%(size)d baýt" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "p.m" - -msgid "a.m." -msgstr "a.m" - -msgid "PM" -msgstr "PM" - -msgid "AM" -msgstr "AM" - -msgid "midnight" -msgstr "ýary gije" - -msgid "noon" -msgstr "günortan" - -msgid "Monday" -msgstr "Duşenbe" - -msgid "Tuesday" -msgstr "Sişenbe" - -msgid "Wednesday" -msgstr "Çarşenbe" - -msgid "Thursday" -msgstr "Penşenbe" - -msgid "Friday" -msgstr "Anna" - -msgid "Saturday" -msgstr "Şenbe" - -msgid "Sunday" -msgstr "Ýekşenbe" - -msgid "Mon" -msgstr "Duş" - -msgid "Tue" -msgstr "Siş" - -msgid "Wed" -msgstr "Çarş" - -msgid "Thu" -msgstr "Pen" - -msgid "Fri" -msgstr "Anna" - -msgid "Sat" -msgstr "Şen" - -msgid "Sun" -msgstr "Ýek" - -msgid "January" -msgstr "Ýanwar" - -msgid "February" -msgstr "Fewral" - -msgid "March" -msgstr "Mart" - -msgid "April" -msgstr "Aprel" - -msgid "May" -msgstr "Maý" - -msgid "June" -msgstr "Iýun" - -msgid "July" -msgstr "Iýul" - -msgid "August" -msgstr "Awgust" - -msgid "September" -msgstr "Sentýabr" - -msgid "October" -msgstr "Oktýabr" - -msgid "November" -msgstr "Noýabr" - -msgid "December" -msgstr "Dekabr" - -msgid "jan" -msgstr "ýan" - -msgid "feb" -msgstr "few" - -msgid "mar" -msgstr "mart" - -msgid "apr" -msgstr "apr" - -msgid "may" -msgstr "maý" - -msgid "jun" -msgstr "iýun" - -msgid "jul" -msgstr "iýul" - -msgid "aug" -msgstr "awg" - -msgid "sep" -msgstr "sent" - -msgid "oct" -msgstr "okt" - -msgid "nov" -msgstr "noý" - -msgid "dec" -msgstr "dek" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Ýan." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Few." - -msgctxt "abbrev. month" -msgid "March" -msgstr "Mart" - -msgctxt "abbrev. month" -msgid "April" -msgstr "Aprel" - -msgctxt "abbrev. month" -msgid "May" -msgstr "Maý" - -msgctxt "abbrev. month" -msgid "June" -msgstr "Iýun" - -msgctxt "abbrev. month" -msgid "July" -msgstr "Iýul" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Awg." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Sent." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Okt." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Noý." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Dek." - -msgctxt "alt. month" -msgid "January" -msgstr "Ýanwar" - -msgctxt "alt. month" -msgid "February" -msgstr "Fewral" - -msgctxt "alt. month" -msgid "March" -msgstr "Mart" - -msgctxt "alt. month" -msgid "April" -msgstr "Aprel" - -msgctxt "alt. month" -msgid "May" -msgstr "Maý" - -msgctxt "alt. month" -msgid "June" -msgstr "Iýun" - -msgctxt "alt. month" -msgid "July" -msgstr "Iýul" - -msgctxt "alt. month" -msgid "August" -msgstr "Awgust" - -msgctxt "alt. month" -msgid "September" -msgstr "Sentýabr" - -msgctxt "alt. month" -msgid "October" -msgstr "Oktýabr" - -msgctxt "alt. month" -msgid "November" -msgstr "Noýabr" - -msgctxt "alt. month" -msgid "December" -msgstr "Dekabr" - -msgid "This is not a valid IPv6 address." -msgstr "Bu dogry IPv6 salgy däl." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s..." - -msgid "or" -msgstr "ýa" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr "\"" - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d ýyl" -msgstr[1] "%d ýyl" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d aý" -msgstr[1] "%d aý" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d hepde" -msgstr[1] "%d hepde" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d gün" -msgstr[1] "%d gün" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d sagat" -msgstr[1] "%d sagat" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d minut" -msgstr[1] "%d minut" - -msgid "Forbidden" -msgstr "Gadagan " - -msgid "CSRF verification failed. Request aborted." -msgstr "CSRF dogrylamak şowsuz. Talap ýatyryldy." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" -"Bu habary görýärsiňiz, sebäbi bu HTTPS sahypasy web brauzeriňiz tarapyndan " -"iberilmegi üçin \"Referer sözbaşy\" talap edýär, ýöne hiç biri iberilmedi. " -"Bu sözbaşy, brauzeriňiziň üçünji taraplar tarapyndan ogurlanmazlygy üçin " -"howpsuzlyk sebäpli talap edilýär." - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" -"Brauzeriňizde \"Referer\" sözbaşylaryny öçüren bolsaňyz, iň bolmanda bu " -"sahypa ýa-da HTTPS birikmeleri ýa-da \"meňzeş\" talaplar üçin täzeden açyň." - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" -"Egerde siz diýen bellik " -"ýada \"Referrer-Policy: no-referrer\" header ulanýan bolsaňyz, olary " -"aýyrmagyňyzy haýyş edýäris. CSRF goragy üçin \"Referer\" header-i dogry " -"salgylanma üçin gereklidir. Eger siz gizlinlik üçin alada etseňiz, üçinji " -"şahs sahypalara baglanyşyklar üçin ýaly " -"alternatiwalary ulanyp bilersiňiz." - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Bu sahypa formalary tabşyranda CSRF kukisini talap edýäligi sebäpli bu " -"habary görýärsiňiz. Bu kuki, brauzeriňiziň üçünji taraplar tarapyndan " -"ogurlanmazlygy üçin howpsuzlyk sebäpli talap edilýär." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" -"Brauzeriňizde kukileri öçüren bolsaňyz, iň bolmanda şu sahypa ýa-da \"meňzeş" -"\" talaplar üçin olary täzeden açyň." - -msgid "More information is available with DEBUG=True." -msgstr "Has giňişleýin maglumat DEBUG=True bilen elýeterlidir." - -msgid "No year specified" -msgstr "Ýyl görkezilmedi" - -msgid "Date out of range" -msgstr "Sene çägiň daşynda" - -msgid "No month specified" -msgstr "Aý görkezilmedi" - -msgid "No day specified" -msgstr "Gün görkezilmedi" - -msgid "No week specified" -msgstr "Hepde görkezilmedi" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "Elýeterli %(verbose_name_plural)s ýok" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"Gelejek %(verbose_name_plural)s elýeterli däl sebäbi %(class_name)s." -"allow_future bahasy False" - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "Nädogry sene setiri \"%(datestr)s\" berlen format \"%(format)s\"" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Talap bilen gabat gelýän %(verbose_name)s tapylmady" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "Sahypa “iň soňky” däl, ony int-ede öwrüp bolmaz." - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Nädogry sahypa (%(page_number)s ): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "Boş list we \"%(class_name)s.allow_empty\" bahasy False" - -msgid "Directory indexes are not allowed here." -msgstr "Bu ýerde katalog indekslerine rugsat berilmeýär." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "\"%(path)s\" beýle ýol ýok" - -#, python-format -msgid "Index of %(directory)s" -msgstr "%(directory)s indeksi" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" -"Django: möhletleri bolan we kämillik talap edýänler üçin web freýmworky." - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"Django %(version)s üçin goýberiş " -"belliklerini görüň" - -msgid "The install worked successfully! Congratulations!" -msgstr "Üstünlikli guruldy! Gutlaýarys!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"Bu sahypany görýärsiňiz, sebäbi sazlamalar faýlyňyzda DEBUG=True we hiç hili URL düzmediňiz." - -msgid "Django Documentation" -msgstr "Django resminamalary" - -msgid "Topics, references, & how-to’s" -msgstr "Mowzuklar, salgylanmalar, & how-to-lar" - -msgid "Tutorial: A Polling App" -msgstr "Gollanma: Ses beriş programmasy" - -msgid "Get started with Django" -msgstr "Django bilen başlaň" - -msgid "Django Community" -msgstr "Django jemgyýeti" - -msgid "Connect, get help, or contribute" -msgstr "Birikiň, kömek alyň ýa-da goşant goşuň" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/tk/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/tk/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/tk/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/tk/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 2d302825..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/tk/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/tk/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/tk/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 45cbd89e..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/tk/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/tk/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/tk/formats.py deleted file mode 100644 index 3e7651d7..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/tk/formats.py +++ /dev/null @@ -1,32 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'j E Y г.' -TIME_FORMAT = 'G:i' -DATETIME_FORMAT = 'j E Y г. G:i' -YEAR_MONTH_FORMAT = 'F Y г.' -MONTH_DAY_FORMAT = 'j F' -SHORT_DATE_FORMAT = 'd.m.Y' -SHORT_DATETIME_FORMAT = 'd.m.Y H:i' -FIRST_DAY_OF_WEEK = 1 # Monday - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -DATE_INPUT_FORMATS = [ - '%d.%m.%Y', # '25.10.2006' - '%d.%m.%y', # '25.10.06' -] -DATETIME_INPUT_FORMATS = [ - '%d.%m.%Y %H:%M:%S', # '25.10.2006 14:30:59' - '%d.%m.%Y %H:%M:%S.%f', # '25.10.2006 14:30:59.000200' - '%d.%m.%Y %H:%M', # '25.10.2006 14:30' - '%d.%m.%Y', # '25.10.2006' - '%d.%m.%y %H:%M:%S', # '25.10.06 14:30:59' - '%d.%m.%y %H:%M:%S.%f', # '25.10.06 14:30:59.000200' - '%d.%m.%y %H:%M', # '25.10.06 14:30' - '%d.%m.%y', # '25.10.06' -] -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = '\xa0' # non-breaking space -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/tr/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/tr/LC_MESSAGES/django.mo deleted file mode 100644 index 94478162..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/tr/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/tr/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/tr/LC_MESSAGES/django.po deleted file mode 100644 index 0672cf05..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/tr/LC_MESSAGES/django.po +++ /dev/null @@ -1,1315 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Ahmet Emre Aladağ , 2013 -# BouRock, 2015-2020 -# BouRock, 2014-2015 -# Caner Başaran , 2013 -# Cihad GÜNDOĞDU , 2012 -# Cihad GÜNDOĞDU , 2013-2014 -# Gökmen Görgen , 2013 -# Jannis Leidel , 2011 -# Mesut Can Gürle , 2013 -# Murat Çorlu , 2012 -# Murat Sahin , 2011-2012 -# Türker Sezer , 2019 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-07-15 08:31+0000\n" -"Last-Translator: BouRock\n" -"Language-Team: Turkish (http://www.transifex.com/django/django/language/" -"tr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: tr\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - -msgid "Afrikaans" -msgstr "Afrikanca" - -msgid "Arabic" -msgstr "Arapça" - -msgid "Algerian Arabic" -msgstr "Cezayir Arapçası" - -msgid "Asturian" -msgstr "Asturyaca" - -msgid "Azerbaijani" -msgstr "Azerice" - -msgid "Bulgarian" -msgstr "Bulgarca" - -msgid "Belarusian" -msgstr "Beyaz Rusça" - -msgid "Bengali" -msgstr "Bengalce" - -msgid "Breton" -msgstr "Bretonca" - -msgid "Bosnian" -msgstr "Boşnakça" - -msgid "Catalan" -msgstr "Katalanca" - -msgid "Czech" -msgstr "Çekçe" - -msgid "Welsh" -msgstr "Galce" - -msgid "Danish" -msgstr "Danca" - -msgid "German" -msgstr "Almanca" - -msgid "Lower Sorbian" -msgstr "Aşağı Sorb dili" - -msgid "Greek" -msgstr "Yunanca" - -msgid "English" -msgstr "İngilizce" - -msgid "Australian English" -msgstr "Avusturya İngilizcesi" - -msgid "British English" -msgstr "İngiliz İngilizce" - -msgid "Esperanto" -msgstr "Esperanto dili" - -msgid "Spanish" -msgstr "İspanyolca" - -msgid "Argentinian Spanish" -msgstr "Arjantin İspanyolcası" - -msgid "Colombian Spanish" -msgstr "Kolomiya İspanyolcası" - -msgid "Mexican Spanish" -msgstr "Meksika İspanyolcası" - -msgid "Nicaraguan Spanish" -msgstr "Nikaragua İspanyolcası" - -msgid "Venezuelan Spanish" -msgstr "Venezüella İspanyolcası" - -msgid "Estonian" -msgstr "Estonca" - -msgid "Basque" -msgstr "Baskça" - -msgid "Persian" -msgstr "Farsça" - -msgid "Finnish" -msgstr "Fince" - -msgid "French" -msgstr "Fransızca" - -msgid "Frisian" -msgstr "Frizce" - -msgid "Irish" -msgstr "İrlandaca" - -msgid "Scottish Gaelic" -msgstr "İskoçça Galcesi" - -msgid "Galician" -msgstr "Galiçyaca" - -msgid "Hebrew" -msgstr "İbranice" - -msgid "Hindi" -msgstr "Hintçe" - -msgid "Croatian" -msgstr "Hırvatça" - -msgid "Upper Sorbian" -msgstr "Yukarı Sorb dili" - -msgid "Hungarian" -msgstr "Macarca" - -msgid "Armenian" -msgstr "Ermenice" - -msgid "Interlingua" -msgstr "Interlingua" - -msgid "Indonesian" -msgstr "Endonezce" - -msgid "Igbo" -msgstr "Igbo dili" - -msgid "Ido" -msgstr "Ido dili" - -msgid "Icelandic" -msgstr "İzlandaca" - -msgid "Italian" -msgstr "İtalyanca" - -msgid "Japanese" -msgstr "Japonca" - -msgid "Georgian" -msgstr "Gürcüce" - -msgid "Kabyle" -msgstr "Kabiliye dili" - -msgid "Kazakh" -msgstr "Kazakça" - -msgid "Khmer" -msgstr "Kmerce" - -msgid "Kannada" -msgstr "Kannada dili" - -msgid "Korean" -msgstr "Korece" - -msgid "Kyrgyz" -msgstr "Kırgızca" - -msgid "Luxembourgish" -msgstr "Lüksemburgca" - -msgid "Lithuanian" -msgstr "Litovca" - -msgid "Latvian" -msgstr "Letonca" - -msgid "Macedonian" -msgstr "Makedonca" - -msgid "Malayalam" -msgstr "Malayamca" - -msgid "Mongolian" -msgstr "Moğolca" - -msgid "Marathi" -msgstr "Marathi dili" - -msgid "Burmese" -msgstr "Birmanca" - -msgid "Norwegian Bokmål" -msgstr "Norveççe Bokmal" - -msgid "Nepali" -msgstr "Nepalce" - -msgid "Dutch" -msgstr "Flemenkçe" - -msgid "Norwegian Nynorsk" -msgstr "Norveççe Nynorsk" - -msgid "Ossetic" -msgstr "Osetçe" - -msgid "Punjabi" -msgstr "Pencapça" - -msgid "Polish" -msgstr "Lehçe" - -msgid "Portuguese" -msgstr "Portekizce" - -msgid "Brazilian Portuguese" -msgstr "Brezilya Portekizcesi" - -msgid "Romanian" -msgstr "Romence" - -msgid "Russian" -msgstr "Rusça" - -msgid "Slovak" -msgstr "Slovakça" - -msgid "Slovenian" -msgstr "Slovence" - -msgid "Albanian" -msgstr "Arnavutça" - -msgid "Serbian" -msgstr "Sırpça" - -msgid "Serbian Latin" -msgstr "Sırpça Latin" - -msgid "Swedish" -msgstr "İsveççe" - -msgid "Swahili" -msgstr "Savahilice" - -msgid "Tamil" -msgstr "Tamilce" - -msgid "Telugu" -msgstr "Telugu dili" - -msgid "Tajik" -msgstr "Tacikçe" - -msgid "Thai" -msgstr "Tayca" - -msgid "Turkmen" -msgstr "Türkmence" - -msgid "Turkish" -msgstr "Türkçe" - -msgid "Tatar" -msgstr "Tatarca" - -msgid "Udmurt" -msgstr "Udmurtça" - -msgid "Ukrainian" -msgstr "Ukraynaca" - -msgid "Urdu" -msgstr "Urduca" - -msgid "Uzbek" -msgstr "‎Özbekçe" - -msgid "Vietnamese" -msgstr "Vietnamca" - -msgid "Simplified Chinese" -msgstr "Basitleştirilmiş Çince" - -msgid "Traditional Chinese" -msgstr "Geleneksel Çince" - -msgid "Messages" -msgstr "İletiler" - -msgid "Site Maps" -msgstr "Site Haritaları" - -msgid "Static Files" -msgstr "Sabit Dosyalar" - -msgid "Syndication" -msgstr "Dağıtım" - -msgid "That page number is not an integer" -msgstr "Bu sayfa numarası bir tamsayı değil" - -msgid "That page number is less than 1" -msgstr "Bu sayfa numarası 1’den az" - -msgid "That page contains no results" -msgstr "Bu sayfa hiç sonuç içermiyor" - -msgid "Enter a valid value." -msgstr "Geçerli bir değer girin." - -msgid "Enter a valid URL." -msgstr "Geçerli bir URL girin." - -msgid "Enter a valid integer." -msgstr "Geçerli bir tamsayı girin." - -msgid "Enter a valid email address." -msgstr "Geçerli bir e-posta adresi girin." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" -"Harflerden, sayılardan, altçizgilerden veya tirelerden oluşan geçerli bir " -"“kısaltma” girin." - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" -"Evrensel kod harflerden, sayılardan, altçizgilerden veya tirelerden oluşan " -"geçerli bir “kısaltma” girin." - -msgid "Enter a valid IPv4 address." -msgstr "Geçerli bir IPv4 adresi girin." - -msgid "Enter a valid IPv6 address." -msgstr "Geçerli bir IPv6 adresi girin." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Geçerli bir IPv4 veya IPv6 adresi girin." - -msgid "Enter only digits separated by commas." -msgstr "Sadece virgülle ayrılmış rakamlar girin." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "Bu değerin %(limit_value)s olduğuna emin olun (şu an %(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Bu değerin %(limit_value)s değerinden az veya eşit olduğuna emin olun." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "" -"Bu değerin %(limit_value)s değerinden büyük veya eşit olduğuna emin olun." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Bu değerin en az %(limit_value)d karaktere sahip olduğuna emin olun (şu an " -"%(show_value)d)." -msgstr[1] "" -"Bu değerin en az %(limit_value)d karaktere sahip olduğuna emin olun (şu an " -"%(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Bu değerin en fazla %(limit_value)d karaktere sahip olduğuna emin olun (şu " -"an %(show_value)d)." -msgstr[1] "" -"Bu değerin en fazla %(limit_value)d karaktere sahip olduğuna emin olun (şu " -"an %(show_value)d)." - -msgid "Enter a number." -msgstr "Bir sayı girin." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Toplamda %(max)s rakamdan daha fazla olmadığından emin olun." -msgstr[1] "Toplamda %(max)s rakamdan daha fazla olmadığından emin olun." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "%(max)s ondalık basamaktan daha fazla olmadığından emin olun." -msgstr[1] "%(max)s ondalık basamaktan daha fazla olmadığından emin olun." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -"Ondalık noktasından önce %(max)s rakamdan daha fazla olmadığından emin olun." -msgstr[1] "" -"Ondalık noktasından önce %(max)s rakamdan daha fazla olmadığından emin olun." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" -"“%(extension)s” dosya uzantısına izin verilmiyor. İzin verilen uzantılar: " -"%(allowed_extensions)s." - -msgid "Null characters are not allowed." -msgstr "Boş karakterlere izin verilmiyor." - -msgid "and" -msgstr "ve" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "Bu %(field_labels)s alanına sahip %(model_name)s zaten mevcut." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "%(value)r değeri geçerli bir seçim değil." - -msgid "This field cannot be null." -msgstr "Bu alan boş olamaz." - -msgid "This field cannot be blank." -msgstr "Bu alan boş olamaz." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "Bu %(field_label)s alanına sahip %(model_name)s zaten mevcut." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(field_label)s, %(date_field_label)s %(lookup_type)s için benzersiz olmak " -"zorundadır." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Alan türü: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "“%(value)s” değeri ya True ya da False olmak zorundadır." - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "“%(value)s” değeri ya True, False ya da None olmak zorundadır." - -msgid "Boolean (Either True or False)" -msgstr "Boolean (Ya True ya da False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Dizgi (%(max_length)s karaktere kadar)" - -msgid "Comma-separated integers" -msgstr "Virgülle ayrılmış tamsayılar" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" -"“%(value)s” değeri geçersiz bir tarih biçimine sahip. Bu YYYY-MM-DD " -"biçiminde olmak zorundadır." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" -"“%(value)s” değeri doğru bir biçime (YYYY-MM-DD) sahip ancak bu geçersiz bir " -"tarih." - -msgid "Date (without time)" -msgstr "Tarih (saat olmadan)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" -"“%(value)s” değeri geçersiz bir biçime sahip. YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ] biçiminde olmak zorundadır." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" -"“%(value)s” değeri doğru bir biçime (YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]) " -"sahip ancak bu geçersiz bir tarih/saat." - -msgid "Date (with time)" -msgstr "Tarih (saat olan)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "“%(value)s” değeri bir ondalık sayı olmak zorundadır." - -msgid "Decimal number" -msgstr "Ondalık sayı" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" -"“%(value)s” değer geçersiz bir biçime sahip. [DD] [HH:[MM:]]ss[.uuuuuu] " -"biçiminde olmak zorundadır." - -msgid "Duration" -msgstr "Süre" - -msgid "Email address" -msgstr "E-posta adresi" - -msgid "File path" -msgstr "Dosya yolu" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "“%(value)s” değeri kayan noktalı bir sayı olmak zorundadır." - -msgid "Floating point number" -msgstr "Kayan noktalı sayı" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "“%(value)s” değeri bir tamsayı olmak zorundadır." - -msgid "Integer" -msgstr "Tamsayı" - -msgid "Big (8 byte) integer" -msgstr "Büyük (8 bayt) tamsayı" - -msgid "IPv4 address" -msgstr "IPv4 adresi" - -msgid "IP address" -msgstr "IP adresi" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "“%(value)s” değeri ya None, True ya da False olmak zorundadır." - -msgid "Boolean (Either True, False or None)" -msgstr "Booleanl (Ya True, False, ya da None)" - -msgid "Positive big integer" -msgstr "Pozitif büyük tamsayı" - -msgid "Positive integer" -msgstr "Pozitif tamsayı" - -msgid "Positive small integer" -msgstr "Pozitif küçük tamsayı" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Kısaltma (%(max_length)s karaktere kadar)" - -msgid "Small integer" -msgstr "Küçük tamsayı" - -msgid "Text" -msgstr "Metin" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" -"“%(value)s” değeri geçersiz bir biçime sahip. HH:MM[:ss[.uuuuuu]] biçiminde " -"olmak zorundadır." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" -"“%(value)s” değeri doğru biçime (HH:MM[:ss[.uuuuuu]]) sahip ancak bu " -"geçersiz bir saat." - -msgid "Time" -msgstr "Saat" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Ham ikili veri" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "“%(value)s” geçerli bir UUID değil." - -msgid "Universally unique identifier" -msgstr "Evrensel benzersiz tanımlayıcı" - -msgid "File" -msgstr "Dosya" - -msgid "Image" -msgstr "Resim" - -msgid "A JSON object" -msgstr "JSON nesnesi" - -msgid "Value must be valid JSON." -msgstr "Değer geçerli JSON olmak zorundadır." - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "%(field)s %(value)r olan %(model)s benzeri mevcut değil." - -msgid "Foreign Key (type determined by related field)" -msgstr "Dış Anahtar (türü ilgili alana göre belirlenir)" - -msgid "One-to-one relationship" -msgstr "Bire-bir ilişki" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "%(from)s-%(to)s ilişkisi" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "%(from)s-%(to)s ilişkileri" - -msgid "Many-to-many relationship" -msgstr "Çoka-çok ilişki" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Bu alan zorunludur." - -msgid "Enter a whole number." -msgstr "Tam bir sayı girin." - -msgid "Enter a valid date." -msgstr "Geçerli bir tarih girin." - -msgid "Enter a valid time." -msgstr "Geçerli bir saat girin." - -msgid "Enter a valid date/time." -msgstr "Geçerli bir tarih/saat girin." - -msgid "Enter a valid duration." -msgstr "Geçerli bir süre girin." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "Gün sayıları {min_days} ve {max_days} arasında olmak zorundadır." - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Hiç dosya gönderilmedi. Formdaki kodlama türünü kontrol edin." - -msgid "No file was submitted." -msgstr "Hiç dosya gönderilmedi." - -msgid "The submitted file is empty." -msgstr "Gönderilen dosya boş." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Bu dosya adının en fazla %(max)d karaktere sahip olduğundan emin olun (şu an " -"%(length)d)." -msgstr[1] "" -"Bu dosya adının en fazla %(max)d karaktere sahip olduğundan emin olun (şu an " -"%(length)d)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" -"Lütfen ya bir dosya gönderin ya da temizle işaretleme kutusunu işaretleyin, " -"ikisini aynı anda işaretlemeyin." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Geçerli bir resim gönderin. Gönderdiğiniz dosya ya bir resim değildi ya da " -"bozulmuş bir resimdi." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "Geçerli bir seçenek seçin. %(value)s mevcut seçeneklerden biri değil." - -msgid "Enter a list of values." -msgstr "Değerlerin bir listesini girin." - -msgid "Enter a complete value." -msgstr "Tam bir değer girin." - -msgid "Enter a valid UUID." -msgstr "Geçerli bir UUID girin." - -msgid "Enter a valid JSON." -msgstr "Geçerli bir JSON girin." - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Gizli alan %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "ManagementForm verisi eksik ya da kurcalanmış." - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Lütfen %d ya da daha az form gönderin." -msgstr[1] "Lütfen %d ya da daha az form gönderin." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "Lütfen %d ya da daha fazla form gönderin." -msgstr[1] "Lütfen %d ya da daha fazla form gönderin." - -msgid "Order" -msgstr "Sıralama" - -msgid "Delete" -msgstr "Sil" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Lütfen %(field)s için kopya veriyi düzeltin." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"Lütfen %(field)s için benzersiz olmak zorunda olan, kopya veriyi düzeltin." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Lütfen %(date_field)s içindeki %(lookup)s için benzersiz olmak zorunda olan " -"%(field_name)s için kopya veriyi düzeltin." - -msgid "Please correct the duplicate values below." -msgstr "Lütfen aşağıdaki kopya değerleri düzeltin." - -msgid "The inline value did not match the parent instance." -msgstr "Satıriçi değer ana örnek ile eşleşmedi." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" -"Geçerli bir seçenek seçin. Bu seçenek, mevcut seçeneklerden biri değil." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "“%(pk)s” geçerli bir değer değil." - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" -"%(datetime)s, %(current_timezone)s saat dilimi olarak yorumlanamadı; bu " -"belirsiz olabilir ya da mevcut olmayabilir." - -msgid "Clear" -msgstr "Temizle" - -msgid "Currently" -msgstr "Şu anki" - -msgid "Change" -msgstr "Değiştir" - -msgid "Unknown" -msgstr "Bilinmiyor" - -msgid "Yes" -msgstr "Evet" - -msgid "No" -msgstr "Hayır" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "evet,hayır,olabilir" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d bayt" -msgstr[1] "%(size)d bayt" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "ö.s." - -msgid "a.m." -msgstr "ö.ö." - -msgid "PM" -msgstr "ÖS" - -msgid "AM" -msgstr "ÖÖ" - -msgid "midnight" -msgstr "gece yarısı" - -msgid "noon" -msgstr "öğlen" - -msgid "Monday" -msgstr "Pazartesi" - -msgid "Tuesday" -msgstr "Salı" - -msgid "Wednesday" -msgstr "Çarşamba" - -msgid "Thursday" -msgstr "Perşembe" - -msgid "Friday" -msgstr "Cuma" - -msgid "Saturday" -msgstr "Cumartesi" - -msgid "Sunday" -msgstr "Pazar" - -msgid "Mon" -msgstr "Pzt" - -msgid "Tue" -msgstr "Sal" - -msgid "Wed" -msgstr "Çrş" - -msgid "Thu" -msgstr "Prş" - -msgid "Fri" -msgstr "Cum" - -msgid "Sat" -msgstr "Cmt" - -msgid "Sun" -msgstr "Paz" - -msgid "January" -msgstr "Ocak" - -msgid "February" -msgstr "Şubat" - -msgid "March" -msgstr "Mart" - -msgid "April" -msgstr "Nisan" - -msgid "May" -msgstr "Mayıs" - -msgid "June" -msgstr "Haziran" - -msgid "July" -msgstr "Temmuz" - -msgid "August" -msgstr "Ağustos" - -msgid "September" -msgstr "Eylül" - -msgid "October" -msgstr "Ekim" - -msgid "November" -msgstr "Kasım" - -msgid "December" -msgstr "Aralık" - -msgid "jan" -msgstr "oca" - -msgid "feb" -msgstr "şub" - -msgid "mar" -msgstr "mar" - -msgid "apr" -msgstr "nis" - -msgid "may" -msgstr "may" - -msgid "jun" -msgstr "haz" - -msgid "jul" -msgstr "tem" - -msgid "aug" -msgstr "ağu" - -msgid "sep" -msgstr "eyl" - -msgid "oct" -msgstr "eki" - -msgid "nov" -msgstr "kas" - -msgid "dec" -msgstr "ara" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Oca." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Şub." - -msgctxt "abbrev. month" -msgid "March" -msgstr "Mart" - -msgctxt "abbrev. month" -msgid "April" -msgstr "Nisan" - -msgctxt "abbrev. month" -msgid "May" -msgstr "Mayıs" - -msgctxt "abbrev. month" -msgid "June" -msgstr "Haz." - -msgctxt "abbrev. month" -msgid "July" -msgstr "Tem." - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Ağu." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Eyl." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Eki." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Kas." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Ara." - -msgctxt "alt. month" -msgid "January" -msgstr "Ocak" - -msgctxt "alt. month" -msgid "February" -msgstr "Şubat" - -msgctxt "alt. month" -msgid "March" -msgstr "Mart" - -msgctxt "alt. month" -msgid "April" -msgstr "Nisan" - -msgctxt "alt. month" -msgid "May" -msgstr "Mayıs" - -msgctxt "alt. month" -msgid "June" -msgstr "Haziran" - -msgctxt "alt. month" -msgid "July" -msgstr "Temmuz" - -msgctxt "alt. month" -msgid "August" -msgstr "Ağustos" - -msgctxt "alt. month" -msgid "September" -msgstr "Eylül" - -msgctxt "alt. month" -msgid "October" -msgstr "Ekim" - -msgctxt "alt. month" -msgid "November" -msgstr "Kasım" - -msgctxt "alt. month" -msgid "December" -msgstr "Aralık" - -msgid "This is not a valid IPv6 address." -msgstr "Bu, geçerli bir IPv6 adresi değil." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s…" - -msgid "or" -msgstr "ya da" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d yıl" -msgstr[1] "%d yıl" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d ay" -msgstr[1] "%d ay" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d hafta" -msgstr[1] "%d hafta" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d gün" -msgstr[1] "%d gün" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d saat" -msgstr[1] "%d saat" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d dakika" -msgstr[1] "%d dakika" - -msgid "Forbidden" -msgstr "Yasak" - -msgid "CSRF verification failed. Request aborted." -msgstr "CSRF doğrulaması başarısız oldu. İstek iptal edildi." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" -"Bu iletiyi görüyorsunuz çünkü bu HTTPS sitesi, Web tarayıcınız tarafından " -"gönderilen “Referer üstbilgisi”ni gerektirir, ancak hiçbir şey gönderilmedi. " -"Bu üstbilgi güvenlik nedenleri için gerekir, tarayıcınızın üçüncü taraf " -"uygulamalar tarafından ele geçirilmediğinden emin olun." - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" -"Eğer tarayıcınızı “Referer” üstbilgilerini etkisizleştirmek için " -"yapılandırdıysanız, lütfen bunları, en azından bu site ya da HTTPS " -"bağlantıları veya “aynı-kaynakta” olan istekler için yeniden etkinleştirin." - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" -"Eğer etiketi " -"kullanıyorsanız ya da “Referrer-Policy: no-referrer” üstbilgisini dahil " -"ediyorsanız, lütfen bunları kaldırın. CSRF koruması, katı göndereni denetimi " -"yapmak için “Referer” üstbilgisi gerektirir. Gizlilik konusunda endişeniz " -"varsa, üçüncü taraf sitelere bağlantılar için gibi " -"alternatifler kullanın." - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Bu iletiyi görüyorsunuz çünkü bu site, formları gönderdiğinizde bir CSRF " -"tanımlama bilgisini gerektirir. Bu tanımlama bilgisi güvenlik nedenleri için " -"gerekir, tarayıcınızın üçüncü taraf uygulamalar tarafından ele " -"geçirilmediğinden emin olun." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" -"Eğer tarayıcınızı tanımlama bilgilerini etkisizleştirmek için " -"yapılandırdıysanız, lütfen bunları, en azından bu site ya da “aynı-kaynakta” " -"olan istekler için yeniden etkinleştirin." - -msgid "More information is available with DEBUG=True." -msgstr "Daha fazla bilgi DEBUG=True ayarı ile mevcut olur." - -msgid "No year specified" -msgstr "Yıl bilgisi belirtilmedi" - -msgid "Date out of range" -msgstr "Tarih aralık dışında" - -msgid "No month specified" -msgstr "Ay bilgisi belirtilmedi" - -msgid "No day specified" -msgstr "Gün bilgisi belirtilmedi" - -msgid "No week specified" -msgstr "Hafta bilgisi belirtilmedi" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "Mevcut %(verbose_name_plural)s yok" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"Gelecek %(verbose_name_plural)s mevcut değil, çünkü %(class_name)s." -"allow_future değeri False olarak tanımlı." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "Geçersiz tarih dizgisi “%(datestr)s” verilen biçim “%(format)s”" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Sorguyla eşleşen hiç %(verbose_name)s bulunamadı" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "Sayfa “sonuncu” değil, ya da bir tamsayıya dönüştürülemez." - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Geçersiz sayfa (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "Liste boş ve “%(class_name)s.allow_empty” değeri False." - -msgid "Directory indexes are not allowed here." -msgstr "Dizin indekslerine burada izin verilmiyor." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "“%(path)s” mevcut değil" - -#, python-format -msgid "Index of %(directory)s" -msgstr "%(directory)s indeksi" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "Django: bitiş tarihleri olan mükemmelliyetçiler için Web yapısı." - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"Django %(version)s sürümü için yayım notlarını göster" - -msgid "The install worked successfully! Congratulations!" -msgstr "Yükleme başarılı olarak çalıştı! Tebrikler!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"Bu sayfayı görüyorsunuz çünkü DEBUG=True parametresi ayarlar dosyanızın içindedir ve herhangi bir " -"URL yapılandırmadınız." - -msgid "Django Documentation" -msgstr "Django Belgeleri" - -msgid "Topics, references, & how-to’s" -msgstr "Konular, kaynaklar ve nasıl yapılırlar" - -msgid "Tutorial: A Polling App" -msgstr "Eğitim: Anket Uygulaması" - -msgid "Get started with Django" -msgstr "Django ile başlayın" - -msgid "Django Community" -msgstr "Django Topluluğu" - -msgid "Connect, get help, or contribute" -msgstr "Bağlanın, yardım alın, ya da katkıda bulunun" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/tr/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/tr/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/tr/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/tr/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 680db225..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/tr/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/tr/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/tr/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 7a81489c..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/tr/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/tr/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/tr/formats.py deleted file mode 100644 index 1be5ac51..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/tr/formats.py +++ /dev/null @@ -1,28 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'd F Y' -TIME_FORMAT = 'H:i' -DATETIME_FORMAT = 'd F Y H:i' -YEAR_MONTH_FORMAT = 'F Y' -MONTH_DAY_FORMAT = 'd F' -SHORT_DATE_FORMAT = 'd M Y' -SHORT_DATETIME_FORMAT = 'd M Y H:i' -FIRST_DAY_OF_WEEK = 1 # Pazartesi - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -DATE_INPUT_FORMATS = [ - '%d/%m/%Y', '%d/%m/%y', # '25/10/2006', '25/10/06' - '%y-%m-%d', # '06-10-25' - # '%d %B %Y', '%d %b. %Y', # '25 Ekim 2006', '25 Eki. 2006' -] -DATETIME_INPUT_FORMATS = [ - '%d/%m/%Y %H:%M:%S', # '25/10/2006 14:30:59' - '%d/%m/%Y %H:%M:%S.%f', # '25/10/2006 14:30:59.000200' - '%d/%m/%Y %H:%M', # '25/10/2006 14:30' -] -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = '.' -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/tt/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/tt/LC_MESSAGES/django.mo deleted file mode 100644 index 843b012c..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/tt/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/tt/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/tt/LC_MESSAGES/django.po deleted file mode 100644 index 84d06ef7..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/tt/LC_MESSAGES/django.po +++ /dev/null @@ -1,1211 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Azat Khasanshin , 2011 -# v_ildar , 2014 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-27 22:40+0200\n" -"PO-Revision-Date: 2019-11-05 00:38+0000\n" -"Last-Translator: Ramiro Morales\n" -"Language-Team: Tatar (http://www.transifex.com/django/django/language/tt/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: tt\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -msgid "Afrikaans" -msgstr "" - -msgid "Arabic" -msgstr "Гарәп теле" - -msgid "Asturian" -msgstr "" - -msgid "Azerbaijani" -msgstr "Азәрбайҗан" - -msgid "Bulgarian" -msgstr "Болгар теле" - -msgid "Belarusian" -msgstr "" - -msgid "Bengali" -msgstr "Бенгалия теле" - -msgid "Breton" -msgstr "" - -msgid "Bosnian" -msgstr "Босния теле" - -msgid "Catalan" -msgstr "Каталан теле" - -msgid "Czech" -msgstr "Чех теле" - -msgid "Welsh" -msgstr "Уэльс теле" - -msgid "Danish" -msgstr "Дания теле" - -msgid "German" -msgstr "Алман теле" - -msgid "Lower Sorbian" -msgstr "" - -msgid "Greek" -msgstr "Грек теле" - -msgid "English" -msgstr "Инглиз теле" - -msgid "Australian English" -msgstr "" - -msgid "British English" -msgstr "Британ инглиз теле" - -msgid "Esperanto" -msgstr "Эсперанто теле" - -msgid "Spanish" -msgstr "Испан теле" - -msgid "Argentinian Spanish" -msgstr "Аргентина испан теле" - -msgid "Colombian Spanish" -msgstr "" - -msgid "Mexican Spanish" -msgstr "Мексикалы испан" - -msgid "Nicaraguan Spanish" -msgstr "Никарагуалы испан" - -msgid "Venezuelan Spanish" -msgstr "" - -msgid "Estonian" -msgstr "Эстон теле" - -msgid "Basque" -msgstr "Баск теле" - -msgid "Persian" -msgstr "Фарсы теле" - -msgid "Finnish" -msgstr "Финн теле" - -msgid "French" -msgstr "Француз теле" - -msgid "Frisian" -msgstr "Фриз теле" - -msgid "Irish" -msgstr "Ирланд теле" - -msgid "Scottish Gaelic" -msgstr "" - -msgid "Galician" -msgstr "Галлий теле" - -msgid "Hebrew" -msgstr "Яһүд теле" - -msgid "Hindi" -msgstr "Хинд теле" - -msgid "Croatian" -msgstr "Хорват теле" - -msgid "Upper Sorbian" -msgstr "" - -msgid "Hungarian" -msgstr "Венгр теле" - -msgid "Armenian" -msgstr "" - -msgid "Interlingua" -msgstr "" - -msgid "Indonesian" -msgstr "Индонезия теле" - -msgid "Ido" -msgstr "" - -msgid "Icelandic" -msgstr "Исланд теле" - -msgid "Italian" -msgstr "Итальян теле" - -msgid "Japanese" -msgstr "Япон теле" - -msgid "Georgian" -msgstr "Грузин теле" - -msgid "Kabyle" -msgstr "" - -msgid "Kazakh" -msgstr "Казах теле" - -msgid "Khmer" -msgstr "Кхмер теле" - -msgid "Kannada" -msgstr "Каннада теле" - -msgid "Korean" -msgstr "Корея теле" - -msgid "Luxembourgish" -msgstr "Люксембург теле" - -msgid "Lithuanian" -msgstr "Литвалылар теле" - -msgid "Latvian" -msgstr "Латвия теле" - -msgid "Macedonian" -msgstr "Македон теле" - -msgid "Malayalam" -msgstr "Малаялам теле" - -msgid "Mongolian" -msgstr "Монгол теле" - -msgid "Marathi" -msgstr "" - -msgid "Burmese" -msgstr "" - -msgid "Norwegian Bokmål" -msgstr "" - -msgid "Nepali" -msgstr "" - -msgid "Dutch" -msgstr "Голланд теле" - -msgid "Norwegian Nynorsk" -msgstr "Норвегиялеләр (Нюнорск) теле" - -msgid "Ossetic" -msgstr "" - -msgid "Punjabi" -msgstr "Паджаби теле" - -msgid "Polish" -msgstr "Поляк теле" - -msgid "Portuguese" -msgstr "Португал теле" - -msgid "Brazilian Portuguese" -msgstr "Бразилия португал теле" - -msgid "Romanian" -msgstr "Румын теле" - -msgid "Russian" -msgstr "Рус теле" - -msgid "Slovak" -msgstr "Словак теле" - -msgid "Slovenian" -msgstr "Словен теле" - -msgid "Albanian" -msgstr "Албан теле" - -msgid "Serbian" -msgstr "Серб теле" - -msgid "Serbian Latin" -msgstr "Серб теле (латин алфавиты)" - -msgid "Swedish" -msgstr "Швед теле" - -msgid "Swahili" -msgstr "" - -msgid "Tamil" -msgstr "Тамиль теле" - -msgid "Telugu" -msgstr "Телугу теле" - -msgid "Thai" -msgstr "Тай теле" - -msgid "Turkish" -msgstr "Төрек теле" - -msgid "Tatar" -msgstr "Татар теле" - -msgid "Udmurt" -msgstr "" - -msgid "Ukrainian" -msgstr "Украин теле" - -msgid "Urdu" -msgstr "Урду" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "Вьетнам теле" - -msgid "Simplified Chinese" -msgstr "Гадиләштерелгән кытай теле" - -msgid "Traditional Chinese" -msgstr "Традицион кытай теле" - -msgid "Messages" -msgstr "" - -msgid "Site Maps" -msgstr "" - -msgid "Static Files" -msgstr "" - -msgid "Syndication" -msgstr "" - -msgid "That page number is not an integer" -msgstr "" - -msgid "That page number is less than 1" -msgstr "" - -msgid "That page contains no results" -msgstr "" - -msgid "Enter a valid value." -msgstr "Дөрес кыйммәтне кертегез." - -msgid "Enter a valid URL." -msgstr "Рөхсәт ителгән URLны кертегез." - -msgid "Enter a valid integer." -msgstr "" - -msgid "Enter a valid email address." -msgstr "Дөрес эл. почта адресны кертегез." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "Рөхсәт ителгән IPv4 адресын кертегез." - -msgid "Enter a valid IPv6 address." -msgstr "" - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "" - -msgid "Enter only digits separated by commas." -msgstr "Өтерләр белән бүленгән сан билгеләрен кертегез" - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" -"Бу кыйммәтнең %(limit_value)s булуын тикшерегез (хәзер ул - %(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "" -"Бу кыйммәтнең %(limit_value)s карата кечерәк яки тигез булуын тикшерегез." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "" -"Бу кыйммәтнең %(limit_value)s карата зуррак яки тигез булуын тикшерегез." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" - -msgid "Enter a number." -msgstr "Сан кертегез." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "" - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "" - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "" - -msgid "and" -msgstr "һәм" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "" - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "" - -msgid "This field cannot be null." -msgstr "Бу кырның кыйммәте NULL булырга тиеш түгел." - -msgid "This field cannot be blank." -msgstr "Бу кыр буш булырга тиеш түгел." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "Мондый %(field_label)s белән булган %(model_name)s инде бар." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "%(field_type)s типтагы кыр" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "Логик (True яисә False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Юл (күп дигәндә %(max_length)s)" - -msgid "Comma-separated integers" -msgstr "Өтерләр белән бүленгән бөтен саннар" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "Дата (вакыт күрсәтмәсе булмаган)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "Дата (вакыт күрсәтмәсе белән)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "Унарлы вакланма" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "" - -msgid "Email address" -msgstr "Эл. почта" - -msgid "File path" -msgstr "Файл юлы" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "Күчерелүчән өтер белән булган сан" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "Бөтен сан" - -msgid "Big (8 byte) integer" -msgstr "Зур бөтен (8 байт)" - -msgid "IPv4 address" -msgstr "" - -msgid "IP address" -msgstr "IP-адрес" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "Логик (True, False я None)" - -msgid "Positive integer" -msgstr "" - -msgid "Positive small integer" -msgstr "" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "" - -msgid "Small integer" -msgstr "" - -msgid "Text" -msgstr "Текст" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "Вакыт" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "" - -msgid "File" -msgstr "" - -msgid "Image" -msgstr "" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "" - -msgid "Foreign Key (type determined by related field)" -msgstr "Тыш ачкыч (тип бәйле кыр буенча билгеләнгән)" - -msgid "One-to-one relationship" -msgstr "\"Бергә бер\" элемтәсе" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "" - -msgid "Many-to-many relationship" -msgstr "\"Күпкә куп\" элемтәсе" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr "" - -msgid "This field is required." -msgstr "Мәҗбүри кыр." - -msgid "Enter a whole number." -msgstr "Бөтен сан кертегез." - -msgid "Enter a valid date." -msgstr "Рөхсәт ителгән датаны кертегез." - -msgid "Enter a valid time." -msgstr "Рөхсәт ителгән вакытны кертегез." - -msgid "Enter a valid date/time." -msgstr "Рөхсәт ителгән дата һәм вакытны кертегез." - -msgid "Enter a valid duration." -msgstr "" - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "" - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Һишбер файл җибәрелмәгән. Форма кодлавын тикшерегез." - -msgid "No file was submitted." -msgstr "Һишбер файл җибәрелмәгән." - -msgid "The submitted file is empty." -msgstr "Җибәрелгән файл буш." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" -"Зинһар, җибәрегез файлны яисә бушайту байракчасын билгеләгез, икесен бергә " -"түгел." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Рөхсәт ителгән рәсемне йөкләгез. Сез йөкләгән файл рәсем түгел яисә бозылган." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "" -"Дөрес тәкъдимне сайлагыз. Рөхсәт ителгән кыйммәтләр арасында %(value)s юк. " - -msgid "Enter a list of values." -msgstr "Кыйммәтләр исемлеген кертегез." - -msgid "Enter a complete value." -msgstr "" - -msgid "Enter a valid UUID." -msgstr "" - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr "" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "" - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "" - -msgid "Order" -msgstr "Тәртип" - -msgid "Delete" -msgstr "Бетерергә" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Зинһар, %(field)s кырындагы кабатлана торган кыйммәтне төзәтегез." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"Зинһар, %(field)s кырындагы кыйммәтне төзәтегез, ул уникаль булырга тиеш." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Зинһар, %(field_name)s кырындагы кыйммәтне төзәтегез, ул %(date_field)s " -"кырындагы %(lookup)s өчен уникаль булырга тиеш." - -msgid "Please correct the duplicate values below." -msgstr "Зинһар, астагы кабатлана торган кыйммәтләрне төзәтегез." - -msgid "The inline value did not match the parent instance." -msgstr "" - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" -"Дөрес тәкъдимне сайлагыз. Рөхсәт ителгән кыйммәтләр арасында сезнең вариант " -"юк." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "Бушайтырга" - -msgid "Currently" -msgstr "Хәзерге вакытта" - -msgid "Change" -msgstr "Үзгәртергә" - -msgid "Unknown" -msgstr "Билгесез" - -msgid "Yes" -msgstr "Әйе" - -msgid "No" -msgstr "Юк" - -msgid "Year" -msgstr "" - -msgid "Month" -msgstr "" - -msgid "Day" -msgstr "" - -msgid "yes,no,maybe" -msgstr "әйе,юк,бәлки" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d байт" - -#, python-format -msgid "%s KB" -msgstr "%s КБ" - -#, python-format -msgid "%s MB" -msgstr "%s МБ" - -#, python-format -msgid "%s GB" -msgstr "%s ГБ" - -#, python-format -msgid "%s TB" -msgstr "%s ТБ" - -#, python-format -msgid "%s PB" -msgstr "%s ПБ" - -msgid "p.m." -msgstr "т.с." - -msgid "a.m." -msgstr "т.к." - -msgid "PM" -msgstr "ТС" - -msgid "AM" -msgstr "ТК" - -msgid "midnight" -msgstr "төн уртасы" - -msgid "noon" -msgstr "көн уртасы" - -msgid "Monday" -msgstr "Дүшәмбе" - -msgid "Tuesday" -msgstr "Сишәмбе" - -msgid "Wednesday" -msgstr "Чәршәмбе" - -msgid "Thursday" -msgstr "Пәнҗешәмбе" - -msgid "Friday" -msgstr "Җомга" - -msgid "Saturday" -msgstr "Шимбә" - -msgid "Sunday" -msgstr "Якшәмбе" - -msgid "Mon" -msgstr "Дүш" - -msgid "Tue" -msgstr "Сиш" - -msgid "Wed" -msgstr "Чәр" - -msgid "Thu" -msgstr "Пнҗ" - -msgid "Fri" -msgstr "Җом" - -msgid "Sat" -msgstr "Шим" - -msgid "Sun" -msgstr "Якш" - -msgid "January" -msgstr "Гыйнвар" - -msgid "February" -msgstr "Февраль" - -msgid "March" -msgstr "Март" - -msgid "April" -msgstr "Апрель" - -msgid "May" -msgstr "Май" - -msgid "June" -msgstr "Июнь" - -msgid "July" -msgstr "Июль" - -msgid "August" -msgstr "Август" - -msgid "September" -msgstr "Сентябрь" - -msgid "October" -msgstr "Октябрь" - -msgid "November" -msgstr "Ноябрь" - -msgid "December" -msgstr "Декабрь" - -msgid "jan" -msgstr "гый" - -msgid "feb" -msgstr "фев" - -msgid "mar" -msgstr "мар" - -msgid "apr" -msgstr "апр" - -msgid "may" -msgstr "май" - -msgid "jun" -msgstr "июн" - -msgid "jul" -msgstr "июл" - -msgid "aug" -msgstr "авг" - -msgid "sep" -msgstr "сен" - -msgid "oct" -msgstr "окт" - -msgid "nov" -msgstr "ноя" - -msgid "dec" -msgstr "дек" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Гый." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Фев." - -msgctxt "abbrev. month" -msgid "March" -msgstr "Март" - -msgctxt "abbrev. month" -msgid "April" -msgstr "Апрель" - -msgctxt "abbrev. month" -msgid "May" -msgstr "Май" - -msgctxt "abbrev. month" -msgid "June" -msgstr "Июнь" - -msgctxt "abbrev. month" -msgid "July" -msgstr "Июль" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Авг." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Сен." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Окт." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Ноя." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Дек." - -msgctxt "alt. month" -msgid "January" -msgstr "гыйнвар" - -msgctxt "alt. month" -msgid "February" -msgstr "февраль" - -msgctxt "alt. month" -msgid "March" -msgstr "март" - -msgctxt "alt. month" -msgid "April" -msgstr "апрель" - -msgctxt "alt. month" -msgid "May" -msgstr "май" - -msgctxt "alt. month" -msgid "June" -msgstr "июнь" - -msgctxt "alt. month" -msgid "July" -msgstr "июль" - -msgctxt "alt. month" -msgid "August" -msgstr "август" - -msgctxt "alt. month" -msgid "September" -msgstr "сентябрь" - -msgctxt "alt. month" -msgid "October" -msgstr "октябрь" - -msgctxt "alt. month" -msgid "November" -msgstr "ноябрь" - -msgctxt "alt. month" -msgid "December" -msgstr "декабрь" - -msgid "This is not a valid IPv6 address." -msgstr "" - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "" - -msgid "or" -msgstr "я" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr "," - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "" - -msgid "0 minutes" -msgstr "" - -msgid "Forbidden" -msgstr "" - -msgid "CSRF verification failed. Request aborted." -msgstr "" - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "" - -msgid "No year specified" -msgstr "Ел билгеләнмәгән" - -msgid "Date out of range" -msgstr "" - -msgid "No month specified" -msgstr "Ай билгеләнмәгән" - -msgid "No day specified" -msgstr "Көн билгеләнмәгән" - -msgid "No week specified" -msgstr "Атна билгеләнмәгән" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "Файдалана алырлык %(verbose_name_plural)s юк" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"%(class_name)s.allow_future False булуы сәбәпле, киләсе " -"%(verbose_name_plural)s файдалана алырлык түгел" - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Таләпкә туры килгән %(verbose_name)s табылмаган" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "" - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" - -msgid "The install worked successfully! Congratulations!" -msgstr "" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" - -msgid "Django Documentation" -msgstr "" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "" - -msgid "Get started with Django" -msgstr "" - -msgid "Django Community" -msgstr "" - -msgid "Connect, get help, or contribute" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/udm/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/udm/LC_MESSAGES/django.mo deleted file mode 100644 index 0c7ab6d1..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/udm/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/udm/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/udm/LC_MESSAGES/django.po deleted file mode 100644 index 68c2bc7e..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/udm/LC_MESSAGES/django.po +++ /dev/null @@ -1,1197 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-27 22:40+0200\n" -"PO-Revision-Date: 2019-11-05 00:38+0000\n" -"Last-Translator: Ramiro Morales\n" -"Language-Team: Udmurt (http://www.transifex.com/django/django/language/" -"udm/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: udm\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -msgid "Afrikaans" -msgstr "Африкаанс" - -msgid "Arabic" -msgstr "Араб" - -msgid "Asturian" -msgstr "" - -msgid "Azerbaijani" -msgstr "Азербайджан" - -msgid "Bulgarian" -msgstr "Болгар" - -msgid "Belarusian" -msgstr "Беларус" - -msgid "Bengali" -msgstr "Бенгал" - -msgid "Breton" -msgstr "Бретон" - -msgid "Bosnian" -msgstr "Босниец" - -msgid "Catalan" -msgstr "Каталан" - -msgid "Czech" -msgstr "Чех" - -msgid "Welsh" -msgstr "Уэльс" - -msgid "Danish" -msgstr "Датчан" - -msgid "German" -msgstr "Немец" - -msgid "Lower Sorbian" -msgstr "" - -msgid "Greek" -msgstr "Грек" - -msgid "English" -msgstr "Англи" - -msgid "Australian English" -msgstr "" - -msgid "British English" -msgstr "Британиысь англи" - -msgid "Esperanto" -msgstr "Эсперанто" - -msgid "Spanish" -msgstr "Испан" - -msgid "Argentinian Spanish" -msgstr "Аргентинаысь испан" - -msgid "Colombian Spanish" -msgstr "" - -msgid "Mexican Spanish" -msgstr "Мексикаысь испан" - -msgid "Nicaraguan Spanish" -msgstr "Никарагуаысь испан" - -msgid "Venezuelan Spanish" -msgstr "Венесуэлаысь испан" - -msgid "Estonian" -msgstr "Эстон" - -msgid "Basque" -msgstr "Баск" - -msgid "Persian" -msgstr "Перс" - -msgid "Finnish" -msgstr "Финн" - -msgid "French" -msgstr "Француз" - -msgid "Frisian" -msgstr "Фриз" - -msgid "Irish" -msgstr "Ирланд" - -msgid "Scottish Gaelic" -msgstr "" - -msgid "Galician" -msgstr "Галисий" - -msgid "Hebrew" -msgstr "Иврит" - -msgid "Hindi" -msgstr "Хинди" - -msgid "Croatian" -msgstr "Хорват" - -msgid "Upper Sorbian" -msgstr "" - -msgid "Hungarian" -msgstr "Венгер" - -msgid "Armenian" -msgstr "" - -msgid "Interlingua" -msgstr "Интерлингва" - -msgid "Indonesian" -msgstr "Индонези" - -msgid "Ido" -msgstr "" - -msgid "Icelandic" -msgstr "Исланд" - -msgid "Italian" -msgstr "Итальян" - -msgid "Japanese" -msgstr "Япон" - -msgid "Georgian" -msgstr "Грузин" - -msgid "Kabyle" -msgstr "" - -msgid "Kazakh" -msgstr "Казах" - -msgid "Khmer" -msgstr "Кхмер" - -msgid "Kannada" -msgstr "Каннада" - -msgid "Korean" -msgstr "Корей" - -msgid "Luxembourgish" -msgstr "Люксембург" - -msgid "Lithuanian" -msgstr "Литва" - -msgid "Latvian" -msgstr "Латвий" - -msgid "Macedonian" -msgstr "Македон" - -msgid "Malayalam" -msgstr "Малаялам" - -msgid "Mongolian" -msgstr "Монгол" - -msgid "Marathi" -msgstr "" - -msgid "Burmese" -msgstr "" - -msgid "Norwegian Bokmål" -msgstr "" - -msgid "Nepali" -msgstr "Непал" - -msgid "Dutch" -msgstr "Голланд" - -msgid "Norwegian Nynorsk" -msgstr "Норвег (нюнорск)" - -msgid "Ossetic" -msgstr "" - -msgid "Punjabi" -msgstr "Панджаби" - -msgid "Polish" -msgstr "Поляк" - -msgid "Portuguese" -msgstr "Португал" - -msgid "Brazilian Portuguese" -msgstr "Бразилиысь португал" - -msgid "Romanian" -msgstr "Румын" - -msgid "Russian" -msgstr "Ӟуч" - -msgid "Slovak" -msgstr "Словак" - -msgid "Slovenian" -msgstr "Словен" - -msgid "Albanian" -msgstr "Албан" - -msgid "Serbian" -msgstr "Серб" - -msgid "Serbian Latin" -msgstr "Серб (латиницаен)" - -msgid "Swedish" -msgstr "Швед" - -msgid "Swahili" -msgstr "Суахили" - -msgid "Tamil" -msgstr "Тамиль" - -msgid "Telugu" -msgstr "Телугу" - -msgid "Thai" -msgstr "Тай" - -msgid "Turkish" -msgstr "Турок" - -msgid "Tatar" -msgstr "Бигер" - -msgid "Udmurt" -msgstr "Удмурт" - -msgid "Ukrainian" -msgstr "Украин" - -msgid "Urdu" -msgstr "Урду" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "Вьетнам" - -msgid "Simplified Chinese" -msgstr "Китай (капчиятэм)" - -msgid "Traditional Chinese" -msgstr "Китай (традици)" - -msgid "Messages" -msgstr "" - -msgid "Site Maps" -msgstr "" - -msgid "Static Files" -msgstr "" - -msgid "Syndication" -msgstr "" - -msgid "That page number is not an integer" -msgstr "" - -msgid "That page number is less than 1" -msgstr "" - -msgid "That page contains no results" -msgstr "" - -msgid "Enter a valid value." -msgstr "Тазэ шонер гожтэ." - -msgid "Enter a valid URL." -msgstr "Шонер URL гожтэ." - -msgid "Enter a valid integer." -msgstr "" - -msgid "Enter a valid email address." -msgstr "Электорн почта адресэз шонер гожтэ" - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "Шонер IPv4-адрес гожтэ." - -msgid "Enter a valid IPv6 address." -msgstr "Шонер IPv6-адрес гожтэ." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Шонер IPv4 яке IPv6 адрес гожтэ." - -msgid "Enter only digits separated by commas." -msgstr "Запятойёсын висъям лыдпусъёсты гожтэ" - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "Эскере, та %(limit_value)s шуыса. Али татын %(show_value)s." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Талы %(limit_value)s-лэсь бадӟымгес луыны уг яра." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Талы %(limit_value)s-лэсь ӧжытгес луыны уг яра." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" - -msgid "Enter a number." -msgstr "Лыд гожтэ." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "" - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "" - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "" - -msgid "and" -msgstr "но" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "" - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "" - -msgid "This field cannot be null." -msgstr "Та NULL луыны уг яра." - -msgid "This field cannot be blank." -msgstr "Та буш луыны уг яра." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "Таӵе %(field_label)s-ен %(model_name)s вань ини." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "%(field_type)s типъем бусы" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "True яке False" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Чур (%(max_length)s пусозь кузьда)" - -msgid "Comma-separated integers" -msgstr "Запятоен висъям быдэс лыдъёс" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "Дата (час-минут пусйытэк)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "Дата но час-минут" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "Десятичной лыд." - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "" - -msgid "Email address" -msgstr "Электрон почта адрес" - -msgid "File path" -msgstr "Файллэн нимыз" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "Вещественной лыд" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "целой" - -msgid "Big (8 byte) integer" -msgstr "Бадӟым (8 байтъем) целой лыд" - -msgid "IPv4 address" -msgstr "IPv4 адрес" - -msgid "IP address" -msgstr "IP адрес" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "True, False яке None" - -msgid "Positive integer" -msgstr "Целой, нольлэсь бадӟым лыд" - -msgid "Positive small integer" -msgstr "Нольлэсь бадӟым пичи целой лыд" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Компьютерной ним (%(max_length)s пусозь кузьда)" - -msgid "Small integer" -msgstr "Пичи целой лыд" - -msgid "Text" -msgstr "Текст" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "Час-минут" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "" - -msgid "File" -msgstr "Файл" - -msgid "Image" -msgstr "Суред" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "" - -msgid "Foreign Key (type determined by related field)" -msgstr "Мукет моделен герӟет (тип герӟано бусыя валамын)." - -msgid "One-to-one relationship" -msgstr "Одӥг-одӥг герӟет" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "" - -msgid "Many-to-many relationship" -msgstr "Трос-трос герӟет" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr "" - -msgid "This field is required." -msgstr "Та клуэ." - -msgid "Enter a whole number." -msgstr "Целой лыд гожтэ." - -msgid "Enter a valid date." -msgstr "Шонер дата гожтэ." - -msgid "Enter a valid time." -msgstr "Шонер час-минут гожтэ." - -msgid "Enter a valid date/time." -msgstr "Шонер дата но час-минут гожтэ." - -msgid "Enter a valid duration." -msgstr "" - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "" - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Одӥг файл но лэзьымтэ. Формалэсь код." - -msgid "No file was submitted." -msgstr "Файл лэземын ӧвӧл." - -msgid "The submitted file is empty." -msgstr "Лэзем файл буш." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" -"Файл лэзе яке файл ӵушоно шуыса пусъе, огдыръя соиз но, таиз но уг яра." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "Суред лэзе. Тӥляд файлды лэзьымтэ яке со суред ӧвӧл." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "Шонер вариант быръе. %(value)s вариантъёс пӧлын ӧвӧл." - -msgid "Enter a list of values." -msgstr "Список лэзе." - -msgid "Enter a complete value." -msgstr "" - -msgid "Enter a valid UUID." -msgstr "" - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr "" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "" - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "" - -msgid "Order" -msgstr "Рад" - -msgid "Delete" -msgstr "Ӵушоно" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "" - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" - -msgid "Please correct the duplicate values below." -msgstr "" - -msgid "The inline value did not match the parent instance." -msgstr "" - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "Буш кароно" - -msgid "Currently" -msgstr "Али" - -msgid "Change" -msgstr "Тупатъяно" - -msgid "Unknown" -msgstr "Тодымтэ" - -msgid "Yes" -msgstr "Бен" - -msgid "No" -msgstr "Ӧвӧл" - -msgid "Year" -msgstr "" - -msgid "Month" -msgstr "" - -msgid "Day" -msgstr "" - -msgid "yes,no,maybe" -msgstr "бен,ӧвӧл,уг тодӥськы" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d байт" - -#, python-format -msgid "%s KB" -msgstr "%s КБ" - -#, python-format -msgid "%s MB" -msgstr "%s МБ" - -#, python-format -msgid "%s GB" -msgstr "%s МБ" - -#, python-format -msgid "%s TB" -msgstr "%s ТБ" - -#, python-format -msgid "%s PB" -msgstr "%s ПБ" - -msgid "p.m." -msgstr "лымшор бере" - -msgid "a.m." -msgstr "лымшор азе" - -msgid "PM" -msgstr "лымшор бере" - -msgid "AM" -msgstr "лымшор азе" - -msgid "midnight" -msgstr "уйшор" - -msgid "noon" -msgstr "лымшор" - -msgid "Monday" -msgstr "Вордӥськон" - -msgid "Tuesday" -msgstr "Пуксён" - -msgid "Wednesday" -msgstr "Вирнунал" - -msgid "Thursday" -msgstr "Покчиарня" - -msgid "Friday" -msgstr "Удмуртарня" - -msgid "Saturday" -msgstr "Кӧснунал" - -msgid "Sunday" -msgstr "Арнянунал" - -msgid "Mon" -msgstr "врд" - -msgid "Tue" -msgstr "пкс" - -msgid "Wed" -msgstr "врн" - -msgid "Thu" -msgstr "пкч" - -msgid "Fri" -msgstr "удм" - -msgid "Sat" -msgstr "ксн" - -msgid "Sun" -msgstr "арн" - -msgid "January" -msgstr "толшор" - -msgid "February" -msgstr "тулыспал" - -msgid "March" -msgstr "южтолэзь" - -msgid "April" -msgstr "оштолэзь" - -msgid "May" -msgstr "куартолэзь" - -msgid "June" -msgstr "инвожо" - -msgid "July" -msgstr "пӧсьтолэзь" - -msgid "August" -msgstr "гудырикошкон" - -msgid "September" -msgstr "куарусён" - -msgid "October" -msgstr "коньывуон" - -msgid "November" -msgstr "шуркынмон" - -msgid "December" -msgstr "толсур" - -msgid "jan" -msgstr "тшт" - -msgid "feb" -msgstr "тпт" - -msgid "mar" -msgstr "южт" - -msgid "apr" -msgstr "ошт" - -msgid "may" -msgstr "крт" - -msgid "jun" -msgstr "ивт" - -msgid "jul" -msgstr "пст" - -msgid "aug" -msgstr "гкт" - -msgid "sep" -msgstr "кут" - -msgid "oct" -msgstr "квт" - -msgid "nov" -msgstr "шкт" - -msgid "dec" -msgstr "тст" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "тшт" - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "тпт" - -msgctxt "abbrev. month" -msgid "March" -msgstr "южт" - -msgctxt "abbrev. month" -msgid "April" -msgstr "ошт" - -msgctxt "abbrev. month" -msgid "May" -msgstr "крт" - -msgctxt "abbrev. month" -msgid "June" -msgstr "ивт" - -msgctxt "abbrev. month" -msgid "July" -msgstr "пст" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "гкт" - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "кут" - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "квт" - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "шкт" - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "тст" - -msgctxt "alt. month" -msgid "January" -msgstr "толшоре" - -msgctxt "alt. month" -msgid "February" -msgstr "тулыспалэ" - -msgctxt "alt. month" -msgid "March" -msgstr "южтолэзе" - -msgctxt "alt. month" -msgid "April" -msgstr "оштолэзе" - -msgctxt "alt. month" -msgid "May" -msgstr "куартолэзе" - -msgctxt "alt. month" -msgid "June" -msgstr "инвожое" - -msgctxt "alt. month" -msgid "July" -msgstr "пӧсьтолэзе" - -msgctxt "alt. month" -msgid "August" -msgstr "гудырикошконэ" - -msgctxt "alt. month" -msgid "September" -msgstr "куарусёнэ" - -msgctxt "alt. month" -msgid "October" -msgstr "коньывуонэ" - -msgctxt "alt. month" -msgid "November" -msgstr "шуркынмонэ" - -msgctxt "alt. month" -msgid "December" -msgstr "толсуре" - -msgid "This is not a valid IPv6 address." -msgstr "" - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "" - -msgid "or" -msgstr "яке" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr "," - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "" - -msgid "0 minutes" -msgstr "" - -msgid "Forbidden" -msgstr "" - -msgid "CSRF verification failed. Request aborted." -msgstr "" - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "" - -msgid "No year specified" -msgstr "" - -msgid "Date out of range" -msgstr "" - -msgid "No month specified" -msgstr "" - -msgid "No day specified" -msgstr "" - -msgid "No week specified" -msgstr "" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "Папкаослэсь пуштроссэс татын учкыны уг яра." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "%(directory)s папкалэн пушторсэз" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" - -msgid "The install worked successfully! Congratulations!" -msgstr "" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" - -msgid "Django Documentation" -msgstr "" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "" - -msgid "Get started with Django" -msgstr "" - -msgid "Django Community" -msgstr "" - -msgid "Connect, get help, or contribute" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/uk/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/uk/LC_MESSAGES/django.mo deleted file mode 100644 index 2d081ea9..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/uk/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/uk/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/uk/LC_MESSAGES/django.po deleted file mode 100644 index 39b8d593..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/uk/LC_MESSAGES/django.po +++ /dev/null @@ -1,1315 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Oleksandr Chernihov , 2014 -# Boryslav Larin , 2011 -# Денис Подлесный , 2016 -# Igor Melnyk, 2014-2015,2017 -# Illia Volochii , 2019 -# Jannis Leidel , 2011 -# Kirill Gagarski , 2014 -# Max V. Stotsky , 2014 -# Mikhail Kolesnik , 2015 -# Mykola Zamkovoi , 2014 -# Alex Bolotov , 2013-2014 -# Roman Kozlovskyi , 2012 -# Sergiy Kuzmenko , 2011 -# tarasyyyk , 2018 -# tarasyyyk , 2019 -# Zoriana Zaiats, 2016-2017 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-27 22:40+0200\n" -"PO-Revision-Date: 2019-12-26 20:22+0000\n" -"Last-Translator: Illia Volochii \n" -"Language-Team: Ukrainian (http://www.transifex.com/django/django/language/" -"uk/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: uk\n" -"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " -"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " -"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " -"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" - -msgid "Afrikaans" -msgstr "Африканська" - -msgid "Arabic" -msgstr "Арабська" - -msgid "Asturian" -msgstr "Астурійська" - -msgid "Azerbaijani" -msgstr "Азербайджанська" - -msgid "Bulgarian" -msgstr "Болгарська" - -msgid "Belarusian" -msgstr "Білоруська" - -msgid "Bengali" -msgstr "Бенгальська" - -msgid "Breton" -msgstr "Бретонська" - -msgid "Bosnian" -msgstr "Боснійська" - -msgid "Catalan" -msgstr "Каталонська" - -msgid "Czech" -msgstr "Чеська" - -msgid "Welsh" -msgstr "Валлійська" - -msgid "Danish" -msgstr "Датська" - -msgid "German" -msgstr "Німецька" - -msgid "Lower Sorbian" -msgstr "Нижньолужицька" - -msgid "Greek" -msgstr "Грецька" - -msgid "English" -msgstr "Англійська" - -msgid "Australian English" -msgstr "Австралійська англійська" - -msgid "British English" -msgstr "Англійська (Великобританія)" - -msgid "Esperanto" -msgstr "Есперанто" - -msgid "Spanish" -msgstr "Іспанська" - -msgid "Argentinian Spanish" -msgstr "Іспанська (Аргентина)" - -msgid "Colombian Spanish" -msgstr "Колумбійська іспанська" - -msgid "Mexican Spanish" -msgstr "Мексиканська іспанська" - -msgid "Nicaraguan Spanish" -msgstr "Нікарагуанська іспанська" - -msgid "Venezuelan Spanish" -msgstr "Венесуельська іспанська" - -msgid "Estonian" -msgstr "Естонська" - -msgid "Basque" -msgstr "Баскська" - -msgid "Persian" -msgstr "Перська" - -msgid "Finnish" -msgstr "Фінська" - -msgid "French" -msgstr "Французька" - -msgid "Frisian" -msgstr "Фризька" - -msgid "Irish" -msgstr "Ірландська" - -msgid "Scottish Gaelic" -msgstr "Шотландська ґельська" - -msgid "Galician" -msgstr "Галіційська" - -msgid "Hebrew" -msgstr "Іврит" - -msgid "Hindi" -msgstr "Хінді" - -msgid "Croatian" -msgstr "Хорватська" - -msgid "Upper Sorbian" -msgstr "Верхньолужицька" - -msgid "Hungarian" -msgstr "Угорська" - -msgid "Armenian" -msgstr "Вірменська" - -msgid "Interlingua" -msgstr "Інтерлінгва" - -msgid "Indonesian" -msgstr "Індонезійська" - -msgid "Ido" -msgstr "Ідо" - -msgid "Icelandic" -msgstr "Ісландська" - -msgid "Italian" -msgstr "Італійська" - -msgid "Japanese" -msgstr "Японська" - -msgid "Georgian" -msgstr "Грузинська" - -msgid "Kabyle" -msgstr "Кабіли" - -msgid "Kazakh" -msgstr "Казахська" - -msgid "Khmer" -msgstr "Кхмерська" - -msgid "Kannada" -msgstr "Каннадська" - -msgid "Korean" -msgstr "Корейська" - -msgid "Luxembourgish" -msgstr "Люксембурзька" - -msgid "Lithuanian" -msgstr "Литовська" - -msgid "Latvian" -msgstr "Латвійська" - -msgid "Macedonian" -msgstr "Македонська" - -msgid "Malayalam" -msgstr "Малаялам" - -msgid "Mongolian" -msgstr "Монгольська" - -msgid "Marathi" -msgstr "Маратхі" - -msgid "Burmese" -msgstr "Бірманська" - -msgid "Norwegian Bokmål" -msgstr "Норвезька (Букмол)" - -msgid "Nepali" -msgstr "Непальська" - -msgid "Dutch" -msgstr "Голландська" - -msgid "Norwegian Nynorsk" -msgstr "Норвезька (Нюнорськ)" - -msgid "Ossetic" -msgstr "Осетинська" - -msgid "Punjabi" -msgstr "Панджабі" - -msgid "Polish" -msgstr "Польська" - -msgid "Portuguese" -msgstr "Португальська" - -msgid "Brazilian Portuguese" -msgstr "Бразильська португальська" - -msgid "Romanian" -msgstr "Румунська" - -msgid "Russian" -msgstr "Російська" - -msgid "Slovak" -msgstr "Словацька" - -msgid "Slovenian" -msgstr "Словенська" - -msgid "Albanian" -msgstr "Албанська" - -msgid "Serbian" -msgstr "Сербська" - -msgid "Serbian Latin" -msgstr "Сербська (латинська)" - -msgid "Swedish" -msgstr "Шведська" - -msgid "Swahili" -msgstr "Суахілі" - -msgid "Tamil" -msgstr "Тамільська" - -msgid "Telugu" -msgstr "Телугу" - -msgid "Thai" -msgstr "Тайська" - -msgid "Turkish" -msgstr "Турецька" - -msgid "Tatar" -msgstr "Татарська" - -msgid "Udmurt" -msgstr "Удмуртська" - -msgid "Ukrainian" -msgstr "Українська" - -msgid "Urdu" -msgstr "Урду" - -msgid "Uzbek" -msgstr "Узбецька" - -msgid "Vietnamese" -msgstr "В'єтнамська" - -msgid "Simplified Chinese" -msgstr "Китайська спрощена" - -msgid "Traditional Chinese" -msgstr "Китайська традиційна" - -msgid "Messages" -msgstr "Повідомлення" - -msgid "Site Maps" -msgstr "Мапи сайту" - -msgid "Static Files" -msgstr "Статичні файли" - -msgid "Syndication" -msgstr "Об'єднання" - -msgid "That page number is not an integer" -msgstr "Номер сторінки не є цілим числом" - -msgid "That page number is less than 1" -msgstr "Номер сторінки менше 1" - -msgid "That page contains no results" -msgstr "Сторінка не містить результатів" - -msgid "Enter a valid value." -msgstr "Введіть коректне значення." - -msgid "Enter a valid URL." -msgstr "Введіть коректний URL." - -msgid "Enter a valid integer." -msgstr "Введіть коректне ціле число." - -msgid "Enter a valid email address." -msgstr "Введіть коректну email адресу." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "Введіть коректну IPv4 адресу." - -msgid "Enter a valid IPv6 address." -msgstr "Введіть дійсну IPv6 адресу." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Введіть дійсну IPv4 чи IPv6 адресу." - -msgid "Enter only digits separated by commas." -msgstr "Введіть тільки цифри, що розділені комами." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" -"Переконайтеся, що це значення дорівнює %(limit_value)s (зараз " -"%(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Переконайтеся, що це значення менше чи дорівнює %(limit_value)s." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Переконайтеся, що це значення більше чи дорівнює %(limit_value)s." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Переконайтеся, що це значення містить не менш ніж %(limit_value)d символ " -"(зараз %(show_value)d)." -msgstr[1] "" -"Переконайтеся, що це значення містить не менш ніж %(limit_value)d символів " -"(зараз %(show_value)d)." -msgstr[2] "" -"Переконайтеся, що це значення містить не менш ніж %(limit_value)d символів " -"(зараз %(show_value)d)." -msgstr[3] "" -"Переконайтеся, що це значення містить не менш ніж %(limit_value)d символів " -"(зараз %(show_value)d)." - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Переконайтеся, що це значення містить не більше ніж %(limit_value)d символ " -"(зараз %(show_value)d)." -msgstr[1] "" -"Переконайтеся, що це значення містить не більше ніж %(limit_value)d символи " -"(зараз %(show_value)d)." -msgstr[2] "" -"Переконайтеся, що це значення містить не більше ніж %(limit_value)d символів " -"(зараз %(show_value)d)." -msgstr[3] "" -"Переконайтеся, що це значення містить не більше ніж %(limit_value)d символів " -"(зараз %(show_value)d)." - -msgid "Enter a number." -msgstr "Введіть число." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Переконайтеся, що загалом тут не більше ніж %(max)s цифра." -msgstr[1] "Переконайтеся, що загалом тут не більше ніж %(max)s цифер." -msgstr[2] "Переконайтеся, що загалом тут не більше ніж %(max)s цифер." -msgstr[3] "Переконайтеся, що загалом тут не більше ніж %(max)s цифер." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "" -"Переконайтеся, що тут не більше ніж %(max)s цифра після десяткової коми." -msgstr[1] "" -"Переконайтеся, що тут не більше ніж %(max)s цифри після десяткової коми." -msgstr[2] "" -"Переконайтеся, що тут не більше ніж %(max)s цифер після десяткової коми." -msgstr[3] "" -"Переконайтеся, що тут не більше ніж %(max)s цифер після десяткової коми." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -"Переконайтеся, що тут не більше ніж %(max)s цифра до десяткової коми." -msgstr[1] "" -"Переконайтеся, що тут не більше ніж %(max)s цифри до десяткової коми." -msgstr[2] "" -"Переконайтеся, що тут не більше ніж %(max)s цифер до десяткової коми." -msgstr[3] "" -"Переконайтеся, що тут не більше ніж %(max)s цифер до десяткової коми." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "Символи Null не дозволені." - -msgid "and" -msgstr "та" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "%(model_name)s з таким %(field_labels)s вже існує." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "Значення %(value)r не є дозволеним вибором." - -msgid "This field cannot be null." -msgstr "Це поле не може бути пустим." - -msgid "This field cannot be blank." -msgstr "Це поле не може бути порожнім." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s з таким %(field_label)s вже існує." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(field_label)s повинне бути унікальним для %(date_field_label)s " -"%(lookup_type)s." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Тип поля: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "Булеве значення (True або False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Рядок (до %(max_length)s)" - -msgid "Comma-separated integers" -msgstr "Цілі, розділені комою" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "Дата (без часу)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "Дата (з часом)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "Десяткове число" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "Тривалість" - -msgid "Email address" -msgstr "E-mail адреса" - -msgid "File path" -msgstr "Шлях до файла" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "Число з плаваючою комою" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "Ціле число" - -msgid "Big (8 byte) integer" -msgstr "Велике (8 байтів) ціле число" - -msgid "IPv4 address" -msgstr "IPv4 адреса" - -msgid "IP address" -msgstr "IP адреса" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "Булеве значення (включаючи True, False або None)" - -msgid "Positive integer" -msgstr "Додатнє ціле число" - -msgid "Positive small integer" -msgstr "Додатнє мале ціле число" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Slug (до %(max_length)s)" - -msgid "Small integer" -msgstr "Мале ціле число" - -msgid "Text" -msgstr "Текст" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "Час" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "Необроблені двійкові дані" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "Універсальний унікальний ідентифікатор" - -msgid "File" -msgstr "Файл" - -msgid "Image" -msgstr "Зображення" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "Екземпляр %(model)s з %(field)s %(value)r не існує." - -msgid "Foreign Key (type determined by related field)" -msgstr "Зовнішній ключ (тип визначається відповідно поля)" - -msgid "One-to-one relationship" -msgstr "Один-до-одного" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "%(from)s-%(to)s звязок" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "%(from)s-%(to)s звязки" - -msgid "Many-to-many relationship" -msgstr "Багато-до-багатьох" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Це поле обов'язкове." - -msgid "Enter a whole number." -msgstr "Введіть ціле число." - -msgid "Enter a valid date." -msgstr "Введіть коректну дату." - -msgid "Enter a valid time." -msgstr "Введіть коректний час." - -msgid "Enter a valid date/time." -msgstr "Введіть коректну дату/час." - -msgid "Enter a valid duration." -msgstr "Введіть коректну тривалість." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "Кількість днів повинна бути від {min_days} до {max_days}." - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Файл не надіслано. Перевірте тип кодування форми." - -msgid "No file was submitted." -msgstr "Файл не було надіслано." - -msgid "The submitted file is empty." -msgstr "Переданий файл порожній." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Переконайтеся, що це ім'я файлу містить не більше ніж з %(max)d символ " -"(зараз %(length)d)." -msgstr[1] "" -"Переконайтеся, що це ім'я файлу містить не більше ніж з %(max)d символи " -"(зараз %(length)d)." -msgstr[2] "" -"Переконайтеся, що це ім'я файлу містить не більше ніж з %(max)d символів " -"(зараз %(length)d)." -msgstr[3] "" -"Переконайтеся, що це ім'я файлу містить не більше ніж з %(max)d символів " -"(зараз %(length)d)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" -"Будь ласка, або завантажте файл, або відмітьте прапорець очищення, а не " -"обидва варіанти одразу" - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Завантажте правильний малюнок. Файл, який ви завантажили, не є малюнком, або " -"є зіпсованим малюнком." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "Зробить коректний вибір, %(value)s немає серед варіантів вибору." - -msgid "Enter a list of values." -msgstr "Введіть список значень." - -msgid "Enter a complete value." -msgstr "Введіть значення повністю." - -msgid "Enter a valid UUID." -msgstr "Введіть коректне значення UUID," - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Приховане поле %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "Дані ManagementForm відсутні або були пошкоджені" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Будь ласка, відправте %d або менше форм." -msgstr[1] "Будь ласка, відправте %d або менше форм." -msgstr[2] "Будь ласка, відправте %d або менше форм." -msgstr[3] "Будь ласка, відправте %d або менше форм." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "Будь ласка, відправте як мінімум %d форму." -msgstr[1] "Будь ласка, відправте як мінімум %d форми." -msgstr[2] "Будь ласка, відправте як мінімум %d форм." -msgstr[3] "Будь ласка, відправте як мінімум %d форм." - -msgid "Order" -msgstr "Послідовність" - -msgid "Delete" -msgstr "Видалити" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Будь ласка, виправте повторювані дані для поля %(field)s." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"Будь ласка, виправте повторювані дані для поля %(field)s, яке має бути " -"унікальним." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Будь ласка, виправте повторювані дані для поля %(field_name)s, яке має бути " -"унікальним для вибірки %(lookup)s на %(date_field)s." - -msgid "Please correct the duplicate values below." -msgstr "Будь ласка, виправте повторювані значення нижче." - -msgid "The inline value did not match the parent instance." -msgstr "Зв'язане значення не відповідає батьківському екземпляру." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "Зробить коректний вибір. Такого варіанту нема серед доступних." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "Очистити" - -msgid "Currently" -msgstr "Наразі" - -msgid "Change" -msgstr "Змінити" - -msgid "Unknown" -msgstr "Невідомо" - -msgid "Yes" -msgstr "Так" - -msgid "No" -msgstr "Ні" - -msgid "Year" -msgstr "Рік" - -msgid "Month" -msgstr "Місяць" - -msgid "Day" -msgstr "День" - -msgid "yes,no,maybe" -msgstr "так,ні,можливо" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d байт" -msgstr[1] "%(size)d байти" -msgstr[2] "%(size)d байтів" -msgstr[3] "%(size)d байтів" - -#, python-format -msgid "%s KB" -msgstr "%s Кб" - -#, python-format -msgid "%s MB" -msgstr "%s Мб" - -#, python-format -msgid "%s GB" -msgstr "%s Гб" - -#, python-format -msgid "%s TB" -msgstr "%s Тб" - -#, python-format -msgid "%s PB" -msgstr "%s Пб" - -msgid "p.m." -msgstr "після полудня" - -msgid "a.m." -msgstr "до полудня" - -msgid "PM" -msgstr "після полудня" - -msgid "AM" -msgstr "до полудня" - -msgid "midnight" -msgstr "північ" - -msgid "noon" -msgstr "полудень" - -msgid "Monday" -msgstr "Понеділок" - -msgid "Tuesday" -msgstr "Вівторок" - -msgid "Wednesday" -msgstr "Середа" - -msgid "Thursday" -msgstr "Четвер" - -msgid "Friday" -msgstr "П'ятниця" - -msgid "Saturday" -msgstr "Субота" - -msgid "Sunday" -msgstr "Неділя" - -msgid "Mon" -msgstr "Пн" - -msgid "Tue" -msgstr "Вт" - -msgid "Wed" -msgstr "Ср" - -msgid "Thu" -msgstr "Чт" - -msgid "Fri" -msgstr "Пт" - -msgid "Sat" -msgstr "Сб" - -msgid "Sun" -msgstr "Нд" - -msgid "January" -msgstr "Січень" - -msgid "February" -msgstr "Лютий" - -msgid "March" -msgstr "Березень" - -msgid "April" -msgstr "Квітень" - -msgid "May" -msgstr "Травень" - -msgid "June" -msgstr "Червень" - -msgid "July" -msgstr "Липень" - -msgid "August" -msgstr "Серпень" - -msgid "September" -msgstr "Вересень" - -msgid "October" -msgstr "Жовтень" - -msgid "November" -msgstr "Листопад" - -msgid "December" -msgstr "Грудень" - -msgid "jan" -msgstr "січ" - -msgid "feb" -msgstr "лют" - -msgid "mar" -msgstr "бер" - -msgid "apr" -msgstr "кві" - -msgid "may" -msgstr "тра" - -msgid "jun" -msgstr "чер" - -msgid "jul" -msgstr "лип" - -msgid "aug" -msgstr "сер" - -msgid "sep" -msgstr "вер" - -msgid "oct" -msgstr "жов" - -msgid "nov" -msgstr "лис" - -msgid "dec" -msgstr "гру" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Січ." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Лют." - -msgctxt "abbrev. month" -msgid "March" -msgstr "Березень" - -msgctxt "abbrev. month" -msgid "April" -msgstr "Квітень" - -msgctxt "abbrev. month" -msgid "May" -msgstr "Травень" - -msgctxt "abbrev. month" -msgid "June" -msgstr "Червень" - -msgctxt "abbrev. month" -msgid "July" -msgstr "Липень" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Сер." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Вер." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Жов." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Лис." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Гру." - -msgctxt "alt. month" -msgid "January" -msgstr "січня" - -msgctxt "alt. month" -msgid "February" -msgstr "лютого" - -msgctxt "alt. month" -msgid "March" -msgstr "березня" - -msgctxt "alt. month" -msgid "April" -msgstr "квітня" - -msgctxt "alt. month" -msgid "May" -msgstr "травня" - -msgctxt "alt. month" -msgid "June" -msgstr "червня" - -msgctxt "alt. month" -msgid "July" -msgstr "липня" - -msgctxt "alt. month" -msgid "August" -msgstr "серпня" - -msgctxt "alt. month" -msgid "September" -msgstr "вересня" - -msgctxt "alt. month" -msgid "October" -msgstr "жовтня" - -msgctxt "alt. month" -msgid "November" -msgstr "листопада" - -msgctxt "alt. month" -msgid "December" -msgstr "грудня" - -msgid "This is not a valid IPv6 address." -msgstr "Це не є правильною адресою IPv6." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s…" - -msgid "or" -msgstr "або" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d рік" -msgstr[1] "%d роки" -msgstr[2] "%d років" -msgstr[3] "%d років" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d місяць" -msgstr[1] "%d місяці" -msgstr[2] "%d місяців" -msgstr[3] "%d місяців" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d тиждень" -msgstr[1] "%d тижні" -msgstr[2] "%d тижнів" -msgstr[3] "%d тижнів" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d день" -msgstr[1] "%d дня" -msgstr[2] "%d днів" -msgstr[3] "%d днів" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d година" -msgstr[1] "%d години" -msgstr[2] "%d годин" -msgstr[3] "%d годин" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d хвилина" -msgstr[1] "%d хвилини" -msgstr[2] "%d хвилин" -msgstr[3] "%d хвилин" - -msgid "0 minutes" -msgstr "0 хвилин" - -msgid "Forbidden" -msgstr "Заборонено" - -msgid "CSRF verification failed. Request aborted." -msgstr "Помилка перевірки CSRF. Запит відхилений." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Ви бачите це повідомлення, тому що даний сайт вимагає, щоб при відправці " -"форм була відправлена ​​і CSRF-cookie. Даний тип cookie необхідний з міркувань " -"безпеки, щоб переконатися, що ваш браузер не був взламаний третьою стороною." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "Більше інформації можна отримати з DEBUG=True." - -msgid "No year specified" -msgstr "Рік не вказано" - -msgid "Date out of range" -msgstr "Дата поза діапазоном" - -msgid "No month specified" -msgstr "Місяць не вказано" - -msgid "No day specified" -msgstr "День не вказано" - -msgid "No week specified" -msgstr "Тиждень не вказано" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "%(verbose_name_plural)s недоступні" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"Майбутні %(verbose_name_plural)s недоступні, тому що %(class_name)s." -"allow_future має нульове значення." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Жодні %(verbose_name)s не були знайдені по запиту" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Невірна сторінка (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "Перегляд вмісту каталогу не дозволено." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "\"%(path)s\" не існує" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Вміст директорії %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "Django: веб-фреймворк для перфекціоністів з реченцями." - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"Нотатки релізу for Django %(version)s" - -msgid "The install worked successfully! Congratulations!" -msgstr "Вітаємо, команда install завершилась успішно!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"Ви бачите цю сторінку тому що змінна DEBUG встановлена на True у вашому файлі конфігурації і ви не " -"налаштували жодного URL." - -msgid "Django Documentation" -msgstr "Документація Django" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "Посібник: програма голосування" - -msgid "Get started with Django" -msgstr "Початок роботи з Django" - -msgid "Django Community" -msgstr "Спільнота Django" - -msgid "Connect, get help, or contribute" -msgstr "Отримати допомогу, чи допомогти" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/uk/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/uk/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/uk/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/uk/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index dbfea929..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/uk/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/uk/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/uk/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 1d9ecf79..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/uk/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/uk/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/uk/formats.py deleted file mode 100644 index ca2593be..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/uk/formats.py +++ /dev/null @@ -1,35 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'd E Y р.' -TIME_FORMAT = 'H:i' -DATETIME_FORMAT = 'd E Y р. H:i' -YEAR_MONTH_FORMAT = 'F Y' -MONTH_DAY_FORMAT = 'd F' -SHORT_DATE_FORMAT = 'd.m.Y' -SHORT_DATETIME_FORMAT = 'd.m.Y H:i' -FIRST_DAY_OF_WEEK = 1 # Monday - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -DATE_INPUT_FORMATS = [ - '%d.%m.%Y', # '25.10.2006' - '%d %B %Y', # '25 October 2006' -] -TIME_INPUT_FORMATS = [ - '%H:%M:%S', # '14:30:59' - '%H:%M:%S.%f', # '14:30:59.000200' - '%H:%M', # '14:30' -] -DATETIME_INPUT_FORMATS = [ - '%d.%m.%Y %H:%M:%S', # '25.10.2006 14:30:59' - '%d.%m.%Y %H:%M:%S.%f', # '25.10.2006 14:30:59.000200' - '%d.%m.%Y %H:%M', # '25.10.2006 14:30' - '%d %B %Y %H:%M:%S', # '25 October 2006 14:30:59' - '%d %B %Y %H:%M:%S.%f', # '25 October 2006 14:30:59.000200' - '%d %B %Y %H:%M', # '25 October 2006 14:30' -] -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = '\xa0' # non-breaking space -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ur/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/ur/LC_MESSAGES/django.mo deleted file mode 100644 index 706c2ce7..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/ur/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/ur/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/ur/LC_MESSAGES/django.po deleted file mode 100644 index 6067c005..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/ur/LC_MESSAGES/django.po +++ /dev/null @@ -1,1222 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Mansoorulhaq Mansoor , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-27 22:40+0200\n" -"PO-Revision-Date: 2019-11-05 00:38+0000\n" -"Last-Translator: Ramiro Morales\n" -"Language-Team: Urdu (http://www.transifex.com/django/django/language/ur/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ur\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -msgid "Afrikaans" -msgstr "" - -msgid "Arabic" -msgstr "عربی" - -msgid "Asturian" -msgstr "" - -msgid "Azerbaijani" -msgstr "" - -msgid "Bulgarian" -msgstr "بلغاری" - -msgid "Belarusian" -msgstr "" - -msgid "Bengali" -msgstr "بنگالی" - -msgid "Breton" -msgstr "" - -msgid "Bosnian" -msgstr "بوسنیائی" - -msgid "Catalan" -msgstr "کیٹالانی" - -msgid "Czech" -msgstr "زیچ" - -msgid "Welsh" -msgstr "ویلش" - -msgid "Danish" -msgstr "ڈینش" - -msgid "German" -msgstr "جرمن" - -msgid "Lower Sorbian" -msgstr "" - -msgid "Greek" -msgstr "گریک" - -msgid "English" -msgstr "انگلش" - -msgid "Australian English" -msgstr "" - -msgid "British English" -msgstr "برطانوی انگلش" - -msgid "Esperanto" -msgstr "" - -msgid "Spanish" -msgstr "ھسپانوی" - -msgid "Argentinian Spanish" -msgstr "ارجنٹائنی سپینش" - -msgid "Colombian Spanish" -msgstr "" - -msgid "Mexican Spanish" -msgstr "" - -msgid "Nicaraguan Spanish" -msgstr "" - -msgid "Venezuelan Spanish" -msgstr "" - -msgid "Estonian" -msgstr "اسٹانین" - -msgid "Basque" -msgstr "باسک" - -msgid "Persian" -msgstr "فارسی" - -msgid "Finnish" -msgstr "فنش" - -msgid "French" -msgstr "فرانسیسی" - -msgid "Frisian" -msgstr "فریسی" - -msgid "Irish" -msgstr "آئرش" - -msgid "Scottish Gaelic" -msgstr "" - -msgid "Galician" -msgstr "گیلیشین" - -msgid "Hebrew" -msgstr "عبرانی" - -msgid "Hindi" -msgstr "ھندی" - -msgid "Croatian" -msgstr "کروشن" - -msgid "Upper Sorbian" -msgstr "" - -msgid "Hungarian" -msgstr "ھونگارین" - -msgid "Armenian" -msgstr "" - -msgid "Interlingua" -msgstr "" - -msgid "Indonesian" -msgstr "انڈونیشین" - -msgid "Ido" -msgstr "" - -msgid "Icelandic" -msgstr "آئس لینڈک" - -msgid "Italian" -msgstr "اطالوی" - -msgid "Japanese" -msgstr "جاپانی" - -msgid "Georgian" -msgstr "جارجیائی" - -msgid "Kabyle" -msgstr "" - -msgid "Kazakh" -msgstr "" - -msgid "Khmer" -msgstr "خمر" - -msgid "Kannada" -msgstr "کناڈا" - -msgid "Korean" -msgstr "کوریائی" - -msgid "Luxembourgish" -msgstr "" - -msgid "Lithuanian" -msgstr "لیتھونیائی" - -msgid "Latvian" -msgstr "لتوینی" - -msgid "Macedonian" -msgstr "میسیڈونین" - -msgid "Malayalam" -msgstr "ملایالم" - -msgid "Mongolian" -msgstr "منگولین" - -msgid "Marathi" -msgstr "" - -msgid "Burmese" -msgstr "" - -msgid "Norwegian Bokmål" -msgstr "" - -msgid "Nepali" -msgstr "" - -msgid "Dutch" -msgstr "ڈچ" - -msgid "Norwegian Nynorsk" -msgstr "نارویائی نینورسک" - -msgid "Ossetic" -msgstr "" - -msgid "Punjabi" -msgstr "پنجابی" - -msgid "Polish" -msgstr "پولش" - -msgid "Portuguese" -msgstr "پورتگیز" - -msgid "Brazilian Portuguese" -msgstr "برازیلی پورتگیز" - -msgid "Romanian" -msgstr "رومانی" - -msgid "Russian" -msgstr "روسی" - -msgid "Slovak" -msgstr "سلووک" - -msgid "Slovenian" -msgstr "سلووینین" - -msgid "Albanian" -msgstr "البانوی" - -msgid "Serbian" -msgstr "سربین" - -msgid "Serbian Latin" -msgstr "سربین لاطینی" - -msgid "Swedish" -msgstr "سویڈش" - -msgid "Swahili" -msgstr "" - -msgid "Tamil" -msgstr "تاملی" - -msgid "Telugu" -msgstr "تیلگو" - -msgid "Thai" -msgstr "تھائی" - -msgid "Turkish" -msgstr "ترکش" - -msgid "Tatar" -msgstr "" - -msgid "Udmurt" -msgstr "" - -msgid "Ukrainian" -msgstr "یوکرائنی" - -msgid "Urdu" -msgstr "" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "ویتنامی" - -msgid "Simplified Chinese" -msgstr "سادی چینی" - -msgid "Traditional Chinese" -msgstr "روایتی چینی" - -msgid "Messages" -msgstr "" - -msgid "Site Maps" -msgstr "" - -msgid "Static Files" -msgstr "" - -msgid "Syndication" -msgstr "" - -msgid "That page number is not an integer" -msgstr "" - -msgid "That page number is less than 1" -msgstr "" - -msgid "That page contains no results" -msgstr "" - -msgid "Enter a valid value." -msgstr "درست قیمت (ویلیو) درج کریں۔" - -msgid "Enter a valid URL." -msgstr "درست یو آر ایل (URL) درج کریں۔" - -msgid "Enter a valid integer." -msgstr "" - -msgid "Enter a valid email address." -msgstr "" - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "IPv4 کا درست پتہ درج کریں۔" - -msgid "Enter a valid IPv6 address." -msgstr "" - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "" - -msgid "Enter only digits separated by commas." -msgstr "صرف اعداد درج کریں جو کوموں سے الگ کئے ھوئے ھوں۔" - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" -"اس بات کا یقین کر لیں کہ یہ قیمت (ویلیو) %(limit_value)s ھے۔ (یہ " -"%(show_value)s ھے)%(show_value)s" - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "" -"اس بات کا یقین کر لیں کہ یہ قیمت (ویلیو) %(limit_value)s سے کم یا اس کے " -"برابر ھے۔" - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "" -"اس بات کا یقین کر لیں کہ یہ قیمت (ویلیو) %(limit_value)s سے زیادہ یا اس کے " -"برابر ھے۔" - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -msgstr[1] "" - -msgid "Enter a number." -msgstr "نمبر درج کریں۔" - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "" - -msgid "and" -msgstr "اور" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "" - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "" - -msgid "This field cannot be null." -msgstr "یہ خانہ نامعلوم (null( نھیں رہ سکتا۔" - -msgid "This field cannot be blank." -msgstr "یہ خانہ خالی نھیں چھوڑا جا سکتا۔" - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s اس %(field_label)s کے ساتھ پہلے ہی موجود ھے۔" - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "%(field_type)s قسم کا خانہ" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "بولین (True یا False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "سلسلۂ حروف (String) (%(max_length)s تک)" - -msgid "Comma-separated integers" -msgstr " کومے سے الگ کئے ھوئے صحیح اعداد" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "تاریخ (وقت کے بغیر)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "تاریخ (بمع وقت)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "اعشاری نمبر" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "" - -msgid "Email address" -msgstr "" - -msgid "File path" -msgstr "فائل کا راستہ(path(" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "نقطہ اعشاریہ والا نمبر" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "صحیح عدد" - -msgid "Big (8 byte) integer" -msgstr "بڑا (8 بائٹ) صحیح عدد" - -msgid "IPv4 address" -msgstr "" - -msgid "IP address" -msgstr "IP ایڈریس" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "بولین (True، False یا None(" - -msgid "Positive integer" -msgstr "" - -msgid "Positive small integer" -msgstr "" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "" - -msgid "Small integer" -msgstr "" - -msgid "Text" -msgstr "متن" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "وقت" - -msgid "URL" -msgstr "یو آر ایل" - -msgid "Raw binary data" -msgstr "" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "" - -msgid "File" -msgstr "" - -msgid "Image" -msgstr "" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "" - -msgid "Foreign Key (type determined by related field)" -msgstr "بیرونی کلید (FK( (قسم متعلقہ خانے سے متعین ھو گی)" - -msgid "One-to-one relationship" -msgstr "ون-ٹو-ون ریلیشن شپ" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "" - -msgid "Many-to-many relationship" -msgstr "مینی-ٹو-مینی ریلیشن شپ" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr "" - -msgid "This field is required." -msgstr "یہ خانہ درکار ھے۔" - -msgid "Enter a whole number." -msgstr "مکمل نمبر درج کریں۔" - -msgid "Enter a valid date." -msgstr "درست تاریخ درج کریں۔" - -msgid "Enter a valid time." -msgstr "درست وقت درج کریں۔" - -msgid "Enter a valid date/time." -msgstr "درست تاریخ/وقت درج کریں۔" - -msgid "Enter a valid duration." -msgstr "" - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "" - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "کوئی فائل پیش نہیں کی گئی۔ فارم پر اینکوڈنگ کی قسم چیک کریں۔" - -msgid "No file was submitted." -msgstr "کوئی فائل پیش نہیں کی گئی تھی۔" - -msgid "The submitted file is empty." -msgstr "پیش کی گئی فائل خالی ھے۔" - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -msgstr[1] "" - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "براہ مھربانی فائل پیش کریں یا Clear checkbox منتخب کریں۔ نہ کہ دونوں۔" - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"درست تصویر اپ لوڈ کریں۔ جو فائل آپ نے اپ لوڈ کی تھی وہ تصویر نہیں تھی یا " -"خراب تصویر تھی۔" - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "درست انتخاب منتخب کریں۔ %(value)s دستیاب انتخابات میں سے کوئی نہیں۔" - -msgid "Enter a list of values." -msgstr "قیمتوں (ویلیوز) کی لسٹ درج کریں۔" - -msgid "Enter a complete value." -msgstr "" - -msgid "Enter a valid UUID." -msgstr "" - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr "" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "" -msgstr[1] "" - -msgid "Order" -msgstr "ترتیب" - -msgid "Delete" -msgstr "مٹائیں" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "براہ کرم %(field)s کے لئے دوہرا مواد درست کریں۔" - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"براہ کرم %(field)s کے لئے دوہرا مواد درست کریں جوکہ منفرد ھونا ضروری ھے۔" - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"براہ کرم %(field_name)s میں دوہرا مواد درست کریں جو کہ %(date_field)s میں " -"%(lookup)s کے لئے منفرد ھونا ضروری ھے۔" - -msgid "Please correct the duplicate values below." -msgstr "براہ کرم نیچے دوہری قیمتیں (ویلیوز) درست کریں۔" - -msgid "The inline value did not match the parent instance." -msgstr "" - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "درست انتخاب منتخب کریں۔ یہ انتخاب دستیاب انتخابات میں سے کوئی نہیں ھے۔" - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "صاف کریں" - -msgid "Currently" -msgstr "فی الحال" - -msgid "Change" -msgstr "تبدیل کریں" - -msgid "Unknown" -msgstr "نامعلوم" - -msgid "Yes" -msgstr "ھاں" - -msgid "No" -msgstr "نھیں" - -msgid "Year" -msgstr "" - -msgid "Month" -msgstr "" - -msgid "Day" -msgstr "" - -msgid "yes,no,maybe" -msgstr "ھاں،نہیں،ھوسکتاہے" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d بائٹ" -msgstr[1] "%(size)d بائٹس" - -#, python-format -msgid "%s KB" -msgstr "%s ک ۔ ب" - -#, python-format -msgid "%s MB" -msgstr "%s م ۔ ب" - -#, python-format -msgid "%s GB" -msgstr "%s ج ۔ ب" - -#, python-format -msgid "%s TB" -msgstr "%s ٹ ۔ ب" - -#, python-format -msgid "%s PB" -msgstr "%s پ ۔ پ" - -msgid "p.m." -msgstr "شام" - -msgid "a.m." -msgstr "صبح" - -msgid "PM" -msgstr "شام" - -msgid "AM" -msgstr "صبح" - -msgid "midnight" -msgstr "نصف رات" - -msgid "noon" -msgstr "دوپہر" - -msgid "Monday" -msgstr "سوموار" - -msgid "Tuesday" -msgstr "منگل" - -msgid "Wednesday" -msgstr "بدھ" - -msgid "Thursday" -msgstr "جمعرات" - -msgid "Friday" -msgstr "جمعہ" - -msgid "Saturday" -msgstr "ھفتہ" - -msgid "Sunday" -msgstr "اتوار" - -msgid "Mon" -msgstr "سوموار" - -msgid "Tue" -msgstr "منگل" - -msgid "Wed" -msgstr "بدھ" - -msgid "Thu" -msgstr "جمعرات" - -msgid "Fri" -msgstr "جمعہ" - -msgid "Sat" -msgstr "ھفتہ" - -msgid "Sun" -msgstr "اتوار" - -msgid "January" -msgstr "جنوری" - -msgid "February" -msgstr "فروری" - -msgid "March" -msgstr "مارچ" - -msgid "April" -msgstr "اپریل" - -msgid "May" -msgstr "مئی" - -msgid "June" -msgstr "جون" - -msgid "July" -msgstr "جولائی" - -msgid "August" -msgstr "اگست" - -msgid "September" -msgstr "ستمبر" - -msgid "October" -msgstr "اکتوبر" - -msgid "November" -msgstr "نومبر" - -msgid "December" -msgstr "دسمبر" - -msgid "jan" -msgstr "جنوری" - -msgid "feb" -msgstr "فروری" - -msgid "mar" -msgstr "مارچ" - -msgid "apr" -msgstr "اپریل" - -msgid "may" -msgstr "مئی" - -msgid "jun" -msgstr "جون" - -msgid "jul" -msgstr "جولائی" - -msgid "aug" -msgstr "اگست" - -msgid "sep" -msgstr "ستمبر" - -msgid "oct" -msgstr "اکتوبر" - -msgid "nov" -msgstr "نومبر" - -msgid "dec" -msgstr "دسمبر" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "جنوری" - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "فروری" - -msgctxt "abbrev. month" -msgid "March" -msgstr "مارچ" - -msgctxt "abbrev. month" -msgid "April" -msgstr "اپریل" - -msgctxt "abbrev. month" -msgid "May" -msgstr "مئی" - -msgctxt "abbrev. month" -msgid "June" -msgstr "جون" - -msgctxt "abbrev. month" -msgid "July" -msgstr "جولائی" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "اگست" - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "ستمبر" - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "اکتوبر" - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "نومبر" - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "دسمبر" - -msgctxt "alt. month" -msgid "January" -msgstr "جنوری" - -msgctxt "alt. month" -msgid "February" -msgstr "فروری" - -msgctxt "alt. month" -msgid "March" -msgstr "مارچ" - -msgctxt "alt. month" -msgid "April" -msgstr "اپریل" - -msgctxt "alt. month" -msgid "May" -msgstr "مئی" - -msgctxt "alt. month" -msgid "June" -msgstr "جون" - -msgctxt "alt. month" -msgid "July" -msgstr "جولائی" - -msgctxt "alt. month" -msgid "August" -msgstr "اگست" - -msgctxt "alt. month" -msgid "September" -msgstr "ستمبر" - -msgctxt "alt. month" -msgid "October" -msgstr "اکتوبر" - -msgctxt "alt. month" -msgid "November" -msgstr "نومبر" - -msgctxt "alt. month" -msgid "December" -msgstr "دسمبر" - -msgid "This is not a valid IPv6 address." -msgstr "" - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "" - -msgid "or" -msgstr "یا" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr "،" - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "" -msgstr[1] "" - -msgid "0 minutes" -msgstr "" - -msgid "Forbidden" -msgstr "" - -msgid "CSRF verification failed. Request aborted." -msgstr "" - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "" - -msgid "No year specified" -msgstr "" - -msgid "Date out of range" -msgstr "" - -msgid "No month specified" -msgstr "" - -msgid "No day specified" -msgstr "" - -msgid "No week specified" -msgstr "" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "" - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" - -msgid "The install worked successfully! Congratulations!" -msgstr "" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" - -msgid "Django Documentation" -msgstr "" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "" - -msgid "Get started with Django" -msgstr "" - -msgid "Django Community" -msgstr "" - -msgid "Connect, get help, or contribute" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/uz/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/uz/LC_MESSAGES/django.mo deleted file mode 100644 index 57f89e8f..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/uz/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/uz/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/uz/LC_MESSAGES/django.po deleted file mode 100644 index 4e9b6cfa..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/uz/LC_MESSAGES/django.po +++ /dev/null @@ -1,1295 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Abdulaminkhon Khaydarov , 2020 -# Bedilbek Khamidov , 2019 -# Claude Paroz , 2020 -# Sukhrobbek Ismatov , 2019 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-07-25 17:08+0000\n" -"Last-Translator: Abdulaminkhon Khaydarov \n" -"Language-Team: Uzbek (http://www.transifex.com/django/django/language/uz/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: uz\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -msgid "Afrikaans" -msgstr "Afrika tili" - -msgid "Arabic" -msgstr "Arab tili" - -msgid "Algerian Arabic" -msgstr "Jazoir arab tili" - -msgid "Asturian" -msgstr "Asturiya tili" - -msgid "Azerbaijani" -msgstr "Ozarbayjon tili" - -msgid "Bulgarian" -msgstr "Bolgar tili" - -msgid "Belarusian" -msgstr "Belorus tili" - -msgid "Bengali" -msgstr "Bengal tili" - -msgid "Breton" -msgstr "Breton tili" - -msgid "Bosnian" -msgstr "Bosniya tili" - -msgid "Catalan" -msgstr "Katalon tili" - -msgid "Czech" -msgstr "Chex tili" - -msgid "Welsh" -msgstr "Uels tili" - -msgid "Danish" -msgstr "Daniya tili" - -msgid "German" -msgstr "Nemis tili" - -msgid "Lower Sorbian" -msgstr "Quyi sorbiya tili" - -msgid "Greek" -msgstr "Yunon tili" - -msgid "English" -msgstr "Ingliz tili" - -msgid "Australian English" -msgstr "Avstraliya ingliz tili" - -msgid "British English" -msgstr "Britan Ingliz tili" - -msgid "Esperanto" -msgstr "Esperanto tili" - -msgid "Spanish" -msgstr "Ispan tili" - -msgid "Argentinian Spanish" -msgstr "Argentina Ispan tili" - -msgid "Colombian Spanish" -msgstr "Kolumbiya Ispan tili" - -msgid "Mexican Spanish" -msgstr "Meksika Ispan tili " - -msgid "Nicaraguan Spanish" -msgstr "Nikaragua Ispan tili" - -msgid "Venezuelan Spanish" -msgstr "Venesuela Ispan tili" - -msgid "Estonian" -msgstr "Estoniya tili" - -msgid "Basque" -msgstr "Bask tili" - -msgid "Persian" -msgstr "Fors tili" - -msgid "Finnish" -msgstr "Fin tili" - -msgid "French" -msgstr "Fransuz tili" - -msgid "Frisian" -msgstr "Friziya tili" - -msgid "Irish" -msgstr "Irland tili" - -msgid "Scottish Gaelic" -msgstr "Shotland Gal tili" - -msgid "Galician" -msgstr "Galisiya tili" - -msgid "Hebrew" -msgstr "Ibroniy tili" - -msgid "Hindi" -msgstr "Hind tili" - -msgid "Croatian" -msgstr "Xorvat tili" - -msgid "Upper Sorbian" -msgstr "Yuqori Sorbiya tili" - -msgid "Hungarian" -msgstr "Vengriya tili" - -msgid "Armenian" -msgstr "Arman tili" - -msgid "Interlingua" -msgstr "Interlingua tili" - -msgid "Indonesian" -msgstr "Indoneziya tili" - -msgid "Igbo" -msgstr "Igbo tili" - -msgid "Ido" -msgstr "Ido tili" - -msgid "Icelandic" -msgstr "Island tili" - -msgid "Italian" -msgstr "Italyan tili" - -msgid "Japanese" -msgstr "Yapon tili" - -msgid "Georgian" -msgstr "Gruzin tili" - -msgid "Kabyle" -msgstr "Kabil tili" - -msgid "Kazakh" -msgstr "Qozoq tili" - -msgid "Khmer" -msgstr "Xmer tili" - -msgid "Kannada" -msgstr "Kannada tili" - -msgid "Korean" -msgstr "Koreys tili" - -msgid "Kyrgyz" -msgstr "Qirg'iz tili" - -msgid "Luxembourgish" -msgstr "Lyuksemburg tili" - -msgid "Lithuanian" -msgstr "Litva tili" - -msgid "Latvian" -msgstr "Latviya tili" - -msgid "Macedonian" -msgstr "Makedoniya tili" - -msgid "Malayalam" -msgstr "Malayalam tili" - -msgid "Mongolian" -msgstr "Mo'g'ul tili" - -msgid "Marathi" -msgstr "Marati tili" - -msgid "Burmese" -msgstr "Birma tili" - -msgid "Norwegian Bokmål" -msgstr "Norvegiya Bokmal tili" - -msgid "Nepali" -msgstr "Nepal tili" - -msgid "Dutch" -msgstr "Golland tili" - -msgid "Norwegian Nynorsk" -msgstr "Norvegiya Ninorsk tili" - -msgid "Ossetic" -msgstr "Osetik tili" - -msgid "Punjabi" -msgstr "Panjob tili" - -msgid "Polish" -msgstr "Polyak tili" - -msgid "Portuguese" -msgstr "Portugal tili" - -msgid "Brazilian Portuguese" -msgstr "Braziliya Portugal tili" - -msgid "Romanian" -msgstr "Rumin tili" - -msgid "Russian" -msgstr "Rus tili" - -msgid "Slovak" -msgstr "Slovak tili" - -msgid "Slovenian" -msgstr "Slovan tili" - -msgid "Albanian" -msgstr "Alban tili" - -msgid "Serbian" -msgstr "Serb tili" - -msgid "Serbian Latin" -msgstr "Serbiya Lotin tili" - -msgid "Swedish" -msgstr "Shved tili" - -msgid "Swahili" -msgstr "Suaxili tili" - -msgid "Tamil" -msgstr "Tamil tili" - -msgid "Telugu" -msgstr "Telugu tili" - -msgid "Tajik" -msgstr "Tojik tili" - -msgid "Thai" -msgstr "Tay tili" - -msgid "Turkmen" -msgstr "Turkman tili" - -msgid "Turkish" -msgstr "Turk tili" - -msgid "Tatar" -msgstr "Tatar tili" - -msgid "Udmurt" -msgstr "Udmurt tili" - -msgid "Ukrainian" -msgstr "Ukrain tili" - -msgid "Urdu" -msgstr "Urdu tili" - -msgid "Uzbek" -msgstr "O'zbek tili" - -msgid "Vietnamese" -msgstr "Vetnam tili" - -msgid "Simplified Chinese" -msgstr "Soddalashtirilgan xitoy tili" - -msgid "Traditional Chinese" -msgstr "An'anaviy xitoy tili" - -msgid "Messages" -msgstr "Xabarlar" - -msgid "Site Maps" -msgstr "Sayt xaritalari" - -msgid "Static Files" -msgstr "Statik fayllar" - -msgid "Syndication" -msgstr "Sindikatsiya" - -msgid "That page number is not an integer" -msgstr "Bu sahifa raqami butun son emas" - -msgid "That page number is less than 1" -msgstr "Bu sahifa raqami 1 dan kichik" - -msgid "That page contains no results" -msgstr "Ushbu sahifada hech qanday natija yo'q" - -msgid "Enter a valid value." -msgstr "To'g'ri qiymatni kiriting." - -msgid "Enter a valid URL." -msgstr "To'g'ri URL manzilini kiriting." - -msgid "Enter a valid integer." -msgstr "To'g'ri butun sonni kiriting." - -msgid "Enter a valid email address." -msgstr "To'g'ri elektron pochta manzilini kiriting." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" -"Harflar, raqamlar, pastki chiziqlar yoki chiziqlardan iborat to'g'ri \"slug" -"\" ni kiriting." - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" -"Unicode harflari, raqamlari, pastki chiziqlari yoki chiziqlardan iborat " -"to'g'ri \"slug\" ni kiriting." - -msgid "Enter a valid IPv4 address." -msgstr "To'g'ri IPv4 manzilini kiriting." - -msgid "Enter a valid IPv6 address." -msgstr "To'g'ri IPv6 manzilini kiriting." - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "To'g'ri IPv4 yoki IPv6 manzilini kiriting." - -msgid "Enter only digits separated by commas." -msgstr "Faqat vergul bilan ajratilgan raqamlarni kiriting." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "" -"Ushbu qiymat %(limit_value)s ekanligiga ishonch hosil qiling (Hozir u " -"%(show_value)s)." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "" -"Ushbu qiymat %(limit_value)s dan kichik yoki unga teng ekanligini tekshiring." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "" -"Ushbu qiymat %(limit_value)s dan katta yoki unga teng ekanligini tekshiring." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Ushbu qiymat kamida %(limit_value)dga ega ekanligiga ishonch hosil qiling " -"(unda bor %(show_value)d)" - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Ushbu qiymat eng ko'pi bilan %(limit_value)d ta belgidan iboratligiga " -"ishonch hosil qiling (hozir, %(show_value)d tadan iborat)." - -msgid "Enter a number." -msgstr "Raqamni kiriting." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "" -"Umumiy raqamlar soni %(max)s tadan ko'p bo'lmasligiga ishonch hosil qiling." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "" -"O'nlik kasr xonalari %(max)s tadan ko'p bo'lmasligiga ishonch hosil qiling." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -"O'nli kasr nuqtasidan oldin %(max)s tadan ko'p raqam bo'lmasligiga ishonch " -"hosil qiling." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" -"\"%(extension)s\" fayl kengaytmasiga ruxsat berilmagan Ruxsat berilgan " -"kengaytmalar: %(allowed_extensions)s." - -msgid "Null characters are not allowed." -msgstr "Bo'shliq belgilaridan foydalanish mumkin emas." - -msgid "and" -msgstr "va" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "%(field_labels)s bilan %(model_name)s allaqachon mavjud." - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "%(value)r qiymati to'g'ri tanlov emas." - -msgid "This field cannot be null." -msgstr "Bu maydon bo‘shliq belgisidan iborat bo'lishi mumkin emas." - -msgid "This field cannot be blank." -msgstr "Bu maydon bo‘sh bo‘lishi mumkin emas." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "\"%(field_label)s\" %(model_name)s allaqachon mavjud." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(field_label)s %(date_field_label)s %(lookup_type)s uchun noyob bo'lishi " -"kerak." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Maydon turi: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "\"%(value)s\" qiymati rost yoki yolg'on bo'lishi kerak." - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" -"\"%(value)s\" qiymati Rost, Yolg'on yoki Bo'shliq belgisidan iborat bo'lishi " -"kerak." - -msgid "Boolean (Either True or False)" -msgstr "Mantiqiy (Rost yoki Yolg'on)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Birikma uzunligi (%(max_length)s gacha)" - -msgid "Comma-separated integers" -msgstr "Vergul bilan ajratilgan butun sonlar" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" -"\"%(value)s\" qiymati yaroqsiz sana formatiga ega. U YYYY-MM-DD formatida " -"bo'lishi kerak." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" -"\"%(value)s\" qiymati to'g'ri formatga (YYYY-MM-DD) ega, ammo bu noto'g'ri " -"sana." - -msgid "Date (without time)" -msgstr "Sana (vaqtsiz)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" -"\"%(value)s\" qiymati noto'g'ri formatga ega. U YYYY-MM-DD HH: MM [: ss [." -"uuuuuu]] [TZ] formatida bo'lishi kerak." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" -"\"%(value)s\" qiymati to'g'ri formatga ega (YYYY-MM-DD HH: MM [: ss [." -"uuuuuu]] [TZ]), lekin u noto'g'ri sana / vaqt." - -msgid "Date (with time)" -msgstr "Sana (vaqt bilan)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "\"%(value)s\" qiymati o'nlik kasr sonlardan iborat bo'lishi kerak." - -msgid "Decimal number" -msgstr "O'nli kasr son" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" -"\"%(value)s\" qiymati noto'g'ri formatga ega. U [DD] [[HH:] MM:] ss [." -"uuuuuu] formatida bo'lishi kerak." - -msgid "Duration" -msgstr "Davomiyligi" - -msgid "Email address" -msgstr "Elektron pochta manzili" - -msgid "File path" -msgstr "Fayl manzili" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "\"%(value)s\" qiymati haqiqiy son bo'lishi kerak." - -msgid "Floating point number" -msgstr "Haqiqiy son" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "\"%(value)s\" qiymati butun son bo'lishi kerak." - -msgid "Integer" -msgstr "Butun son" - -msgid "Big (8 byte) integer" -msgstr "Katta (8 bayt) butun son" - -msgid "IPv4 address" -msgstr "IPv4 manzili" - -msgid "IP address" -msgstr "IP manzili" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "\"%(value)s\" qiymati Yo‘q, To‘g‘ri yoki Noto'g'ri bo'lishi kerak." - -msgid "Boolean (Either True, False or None)" -msgstr "Boolean (To'g'ri, Yolg'on yoki Hech biri)" - -msgid "Positive big integer" -msgstr "Musbat katta butun son" - -msgid "Positive integer" -msgstr "Ijobiy butun son" - -msgid "Positive small integer" -msgstr "Musbat kichik butun son" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Slug uzunligi (%(max_length)s gacha)" - -msgid "Small integer" -msgstr "Kichik butun son" - -msgid "Text" -msgstr "Matn" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" -"\"%(value)s\" qiymati noto'g'ri formatga ega. U HH: MM [: ss [.uuuuuu]] " -"formatida bo'lishi kerak." - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" -"\"%(value)s\" qiymati to'g'ri formatga ega (HH: MM [: ss [.uuuuuu]]), lekin " -"bu noto'g'ri vaqt." - -msgid "Time" -msgstr "Vaqt" - -msgid "URL" -msgstr "URL manzili" - -msgid "Raw binary data" -msgstr "Tartibsiz Ikkilik ma'lumotlar" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "\"%(value)s\" to'g'ri UUID emas." - -msgid "Universally unique identifier" -msgstr "Umum noyob aniqlovchi" - -msgid "File" -msgstr "Fayl" - -msgid "Image" -msgstr "Rasm" - -msgid "A JSON object" -msgstr "JSON ob'ekti" - -msgid "Value must be valid JSON." -msgstr "Qiymat yaroqli JSON bo'lishi kerak." - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "%(field)s %(value)r lari bilan %(model)s namunasi uchun mavjud emas." - -msgid "Foreign Key (type determined by related field)" -msgstr "Tashqi kalit (turi aloqador maydon tomonidan belgilanadi)" - -msgid "One-to-one relationship" -msgstr "Birga-bir yago munosabat" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "%(from)s -%(to)s gacha bo'lgan munosabat" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "%(from)s -%(to)s gacha bo'lgan munosabatlar" - -msgid "Many-to-many relationship" -msgstr "Ko'pchilikka-ko'pchilik munosabatlar" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Ushbu maydon to'ldirilishi shart." - -msgid "Enter a whole number." -msgstr "Butun raqamni kiriting." - -msgid "Enter a valid date." -msgstr "Sanani to‘g‘ri kiriting." - -msgid "Enter a valid time." -msgstr "Vaqtni to‘g‘ri kiriting." - -msgid "Enter a valid date/time." -msgstr "Sana/vaqtni to‘g‘ri kiriting." - -msgid "Enter a valid duration." -msgstr "Muddatni to'g'ri kiriting." - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "Kunlar soni {min_days} va {max_days} orasida bo'lishi kerak." - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Hech qanday fayl yuborilmadi. Formadagi kodlash turini tekshiring." - -msgid "No file was submitted." -msgstr "Hech qanday fayl yuborilmadi." - -msgid "The submitted file is empty." -msgstr "Yuborilgan etilgan fayl bo'sh." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "" -"Fayl nomi maksimum %(max)d belgilardan ko'p emasligiga ishonch hosil qiling " -"(hozir %(length)d belgi ishlatilgan)." - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "" -"Iltimos, faylni yuboring yoki katachani belgilang, lekin ikkalasinimas." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"To'g'ri rasmni yuklang. Siz yuklagan fayl yoki rasm emas yoki buzilgan rasm " -"edi." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "To'g'ri tanlovni tanlang. %(value)s mavjud tanlovlardan biri emas." - -msgid "Enter a list of values." -msgstr "Qiymatlar ro'yxatini kiriting." - -msgid "Enter a complete value." -msgstr "To'liq qiymatni kiriting." - -msgid "Enter a valid UUID." -msgstr "To'g'ri UUID kiriting." - -msgid "Enter a valid JSON." -msgstr "Yaroqli JSONni kiriting." - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Yashirilgan maydon %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "ManagementForm ma'lumotlari yo'q yoki o'zgartirilgan" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Iltimos, %d ta yoki kamroq forma topshiring." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "Iltimos, %d ta yoki ko'proq forma topshiring." - -msgid "Order" -msgstr "Buyurtma" - -msgid "Delete" -msgstr "Yo'q qilish" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Iltimos, %(field)s uchun takroriy ma'lumotni tuzating." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "" -"Iltimos, noyob bo'lishi kerak bo'lgan %(field)s uchun takroriy ma'lumotlarni " -"to'g'rilang." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Iltimos, %(field_name)s uchun takroriy ma'lumotlarni %(date_field)s ga noyob " -"bo'la oladigan %(lookup)s ichidagi ma'lumotlarni moslab to'g'rilang." - -msgid "Please correct the duplicate values below." -msgstr "Iltimos, quyidagi takroriy qiymatlarni to'g'irlang." - -msgid "The inline value did not match the parent instance." -msgstr "Kiritilgan ichki qiymat ajdod misoliga mos kelmaydi." - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "To'g'ri tanlovni tanlang. Bu tanlov mavjud tanlovlardan biri emas." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "\"%(pk)s\" to'g'ri qiymat emas." - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" -"%(datetime)s vaqtni %(current_timezone)s mintaqa talqinida ifodalab " -"bo'lmadi; u noaniq yoki mavjud bo'lmasligi mumkin." - -msgid "Clear" -msgstr "Aniq" - -msgid "Currently" -msgstr "Hozirda" - -msgid "Change" -msgstr "O'zgartirish" - -msgid "Unknown" -msgstr "Noma'lum" - -msgid "Yes" -msgstr "Ha" - -msgid "No" -msgstr "Yo'q" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "ha,yo'q,ehtimol" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)dbayt" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "kechqurun" - -msgid "a.m." -msgstr "ertalab" - -msgid "PM" -msgstr "Kechqurun" - -msgid "AM" -msgstr "Ertalab" - -msgid "midnight" -msgstr "yarim tunda" - -msgid "noon" -msgstr "peshin" - -msgid "Monday" -msgstr "Dushanba" - -msgid "Tuesday" -msgstr "Seshanba" - -msgid "Wednesday" -msgstr "Chorshanba" - -msgid "Thursday" -msgstr "Payshanba" - -msgid "Friday" -msgstr "Juma" - -msgid "Saturday" -msgstr "Shanba" - -msgid "Sunday" -msgstr "Yakshanba" - -msgid "Mon" -msgstr "Dush" - -msgid "Tue" -msgstr "Sesh" - -msgid "Wed" -msgstr "Chor" - -msgid "Thu" -msgstr "Pay" - -msgid "Fri" -msgstr "Jum" - -msgid "Sat" -msgstr "Shan" - -msgid "Sun" -msgstr "Yak" - -msgid "January" -msgstr "Yanvar" - -msgid "February" -msgstr "Fevral" - -msgid "March" -msgstr "Mart" - -msgid "April" -msgstr "Aprel" - -msgid "May" -msgstr "May" - -msgid "June" -msgstr "Iyun" - -msgid "July" -msgstr "Iyul" - -msgid "August" -msgstr "Avgust" - -msgid "September" -msgstr "Sentabr" - -msgid "October" -msgstr "Oktabr" - -msgid "November" -msgstr "Noyabr" - -msgid "December" -msgstr "Dekabr" - -msgid "jan" -msgstr "yan" - -msgid "feb" -msgstr "fev" - -msgid "mar" -msgstr "mar" - -msgid "apr" -msgstr "apr" - -msgid "may" -msgstr "may" - -msgid "jun" -msgstr "iyn" - -msgid "jul" -msgstr "iyl" - -msgid "aug" -msgstr "avg" - -msgid "sep" -msgstr "sen" - -msgid "oct" -msgstr "okt" - -msgid "nov" -msgstr "noy" - -msgid "dec" -msgstr "dek" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Yan," - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Fev." - -msgctxt "abbrev. month" -msgid "March" -msgstr "Mart" - -msgctxt "abbrev. month" -msgid "April" -msgstr "Aprel" - -msgctxt "abbrev. month" -msgid "May" -msgstr "May" - -msgctxt "abbrev. month" -msgid "June" -msgstr "Iyun" - -msgctxt "abbrev. month" -msgid "July" -msgstr "Iyul" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Avg." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Sen." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Okt." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Noy." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Dek." - -msgctxt "alt. month" -msgid "January" -msgstr "Yanvar" - -msgctxt "alt. month" -msgid "February" -msgstr "Fevral" - -msgctxt "alt. month" -msgid "March" -msgstr "Mart" - -msgctxt "alt. month" -msgid "April" -msgstr "Aprel" - -msgctxt "alt. month" -msgid "May" -msgstr "May" - -msgctxt "alt. month" -msgid "June" -msgstr "Iyun" - -msgctxt "alt. month" -msgid "July" -msgstr "Iyul" - -msgctxt "alt. month" -msgid "August" -msgstr "Avgust" - -msgctxt "alt. month" -msgid "September" -msgstr "Sentabr" - -msgctxt "alt. month" -msgid "October" -msgstr "Oktabr" - -msgctxt "alt. month" -msgid "November" -msgstr "Noyabr" - -msgctxt "alt. month" -msgid "December" -msgstr "Dekabr" - -msgid "This is not a valid IPv6 address." -msgstr "Bu to'g'ri IPv6 manzili emas." - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s…" - -msgid "or" -msgstr "yoki" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr "," - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%dyil" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%doy" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%dhafta" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%dkun" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%dsoat" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%dminut" - -msgid "Forbidden" -msgstr "Taqiqlangan" - -msgid "CSRF verification failed. Request aborted." -msgstr "CSRF tekshiruvi amalga oshmadi. So‘rov bekor qilindi." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" -"Siz ushbu xabarni ko'rmoqdasiz, chunki bu HTTPS saytida veb-brauzeringiz " -"tomonidan \"Referer header\" yuborilishi talab qilinadi, ammo hech biri " -"yuborilmadi. Ushbu sarlavha xavfsizlik nuqtai nazaridan, brauzeringizni " -"uchinchi shaxslar tomonidan o'g'irlanmasligini ta'minlash uchun talab " -"qilinadi." - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" -"Agar siz \"Referer\" sarlavhalarini o'chirib qo'yish uchun brauzeringizni " -"sozlagan bo'lsangiz, iltimos, hech bo'lmasa ushbu sayt uchun, HTTPS " -"ulanishlari, yoki \"same-origin\" so'rovlari uchun ularni qayta yoqib " -"qo'ying." - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" -"Agar siz yorlig'idan yoki " -"\"Referrer-Policy: no-referer\" sarlavhasidan foydalanayotgan bo'lsangiz, " -"iltimos ularni olib tashlang. CSRF himoyasi \"Referer\" sarlavhasini " -"havolalarni qat'iy tekshirishni talab qiladi. Agar maxfiyligingiz haqida " -"xavotirda bo'lsangiz, uchinchi tomon saytlari kabi " -"havola alternativalaridan foydalaning." - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"Siz ushbu xabarni ko'rmoqdasiz, chunki ushbu sayt formalarni yuborishda CSRF " -"cookie ma'lumotlarini talab qiladi. Ushbu cookie ma'lumotlari xavfsizlik " -"nuqtai nazaridan, brauzeringizni uchinchi shaxslar tomonidan " -"o'g'irlanmasligini ta'minlash uchun xizmat qilinadi." - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" -"Agar siz cookie ma'lumotlarni o'chirib qo'yish uchun brauzeringizni " -"konfiguratsiya qilgan bo'lsangiz, iltimos, ushbu sayt yoki \"same-origin\" " -"so'rovlari uchun ularni qayta yoqib qo'ying." - -msgid "More information is available with DEBUG=True." -msgstr "Qo'shimcha ma'lumotlarni DEBUG = True ifodasi bilan ko'rish mumkin." - -msgid "No year specified" -msgstr "Yil ko‘rsatilmagan" - -msgid "Date out of range" -msgstr "Sana chegaradan tashqarida" - -msgid "No month specified" -msgstr "Oy ko'rsatilmagan" - -msgid "No day specified" -msgstr "Hech qanday kun ko‘rsatilmagan" - -msgid "No week specified" -msgstr "Hech qanday hafta belgilanmagan" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "Hech qanday %(verbose_name_plural)s lar mavjud emas" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"Kelajak %(verbose_name_plural)s lari mavjud emas, chunki %(class_name)s." -"allow_future yolg'ondur." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" -"\"%(datestr)s\" sana birikmasi noto'g'ri berilgan. \"%(format)s\" formati " -"tavsiya etilgan" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "So'rovga mos keladigan %(verbose_name)s topilmadi" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "Sahifa \"oxirgi\" emas va uni butun songa aylantirish mumkin emas." - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Noto'g'ri sahifa (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "Bo'sh ro'yxat va \"%(class_name)s.allow_empty\" yolg'on." - -msgid "Directory indexes are not allowed here." -msgstr "Bu yerda katalog indekslaridan foydalanib bo'lmaydi." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "\"%(path)s\" mavjud emas" - -#, python-format -msgid "Index of %(directory)s" -msgstr "%(directory)s indeksi" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "Django: muddati chegaralangan perfektsionistlar uchun veb freymvork." - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"Django %(version)s uchun chiqarilgan " -"nashrlarni ko'rish" - -msgid "The install worked successfully! Congratulations!" -msgstr "O'rnatish muvaffaqiyatli amalga oshdi! Tabriklaymiz!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"Siz ushbu sahifani ko'rmoqdasiz, chunki DEBUG = True ifodasi sizning sozlamalar faylingizda ko'rsatilgan va " -"siz biron bir URL manzilini to'gri sozlamagansiz." - -msgid "Django Documentation" -msgstr "Django Hujjatlari" - -msgid "Topics, references, & how-to’s" -msgstr "Mavzular, havolalar va qanday qilish yo'llari" - -msgid "Tutorial: A Polling App" -msgstr "Qo'llanma: So'rovnoma" - -msgid "Get started with Django" -msgstr "Django bilan boshlang" - -msgid "Django Community" -msgstr "Django hamjamiyati" - -msgid "Connect, get help, or contribute" -msgstr "Bog'laning, yordam oling yoki hissa qo'shing" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/uz/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/uz/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/uz/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/uz/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 70c994a1..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/uz/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/uz/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/uz/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 7f00e45f..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/uz/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/uz/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/uz/formats.py deleted file mode 100644 index 14af096f..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/uz/formats.py +++ /dev/null @@ -1,30 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = r'j-E, Y-\y\i\l' -TIME_FORMAT = 'G:i' -DATETIME_FORMAT = r'j-E, Y-\y\i\l G:i' -YEAR_MONTH_FORMAT = r'F Y-\y\i\l' -MONTH_DAY_FORMAT = 'j-E' -SHORT_DATE_FORMAT = 'd.m.Y' -SHORT_DATETIME_FORMAT = 'd.m.Y H:i' -FIRST_DAY_OF_WEEK = 1 # Monday - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -DATE_INPUT_FORMATS = [ - '%d.%m.%Y', # '25.10.2006' - '%d-%B, %Y-yil', # '25-Oktabr, 2006-yil' -] -DATETIME_INPUT_FORMATS = [ - '%d.%m.%Y %H:%M:%S', # '25.10.2006 14:30:59' - '%d.%m.%Y %H:%M:%S.%f', # '25.10.2006 14:30:59.000200' - '%d.%m.%Y %H:%M', # '25.10.2006 14:30' - '%d-%B, %Y-yil %H:%M:%S', # '25-Oktabr, 2006-yil 14:30:59' - '%d-%B, %Y-yil %H:%M:%S.%f', # '25-Oktabr, 2006-yil 14:30:59.000200' - '%d-%B, %Y-yil %H:%M', # '25-Oktabr, 2006-yil 14:30' -] -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = '\xa0' # non-breaking space -NUMBER_GROUPING = 3 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/vi/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/vi/LC_MESSAGES/django.mo deleted file mode 100644 index 43a2a619..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/vi/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/vi/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/vi/LC_MESSAGES/django.po deleted file mode 100644 index a0e6eb43..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/vi/LC_MESSAGES/django.po +++ /dev/null @@ -1,1234 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Claude Paroz , 2020 -# Jannis Leidel , 2011 -# Anh Phan , 2013 -# Thanh Le Viet , 2013 -# Tran , 2011 -# Tran Van , 2011,2013 -# Vuong Nguyen , 2011 -# xgenvn , 2014 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-07-14 21:42+0000\n" -"Last-Translator: Transifex Bot <>\n" -"Language-Team: Vietnamese (http://www.transifex.com/django/django/language/" -"vi/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: vi\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -msgid "Afrikaans" -msgstr "Afrikaans" - -msgid "Arabic" -msgstr "Tiếng Ả Rập" - -msgid "Algerian Arabic" -msgstr "" - -msgid "Asturian" -msgstr "Asturian" - -msgid "Azerbaijani" -msgstr "Tiếng Azerbaijan" - -msgid "Bulgarian" -msgstr "Tiếng Bun-ga-ri" - -msgid "Belarusian" -msgstr "Tiếng Bê-la-rút" - -msgid "Bengali" -msgstr "Tiếng Bengal" - -msgid "Breton" -msgstr "Tiếng Breton" - -msgid "Bosnian" -msgstr "Tiếng Bosnia" - -msgid "Catalan" -msgstr "Tiếng Catala" - -msgid "Czech" -msgstr "Tiếng Séc" - -msgid "Welsh" -msgstr "Xứ Wales" - -msgid "Danish" -msgstr "Tiếng Đan Mạch" - -msgid "German" -msgstr "Tiếng Đức" - -msgid "Lower Sorbian" -msgstr "" - -msgid "Greek" -msgstr "Tiếng Hy Lạp" - -msgid "English" -msgstr "Tiếng Anh" - -msgid "Australian English" -msgstr "Tiếng Anh ở Úc" - -msgid "British English" -msgstr "British English" - -msgid "Esperanto" -msgstr "Quốc Tế Ngữ" - -msgid "Spanish" -msgstr "Tiếng Tây Ban Nha" - -msgid "Argentinian Spanish" -msgstr "Argentinian Spanish" - -msgid "Colombian Spanish" -msgstr "" - -msgid "Mexican Spanish" -msgstr "Mexican Spanish" - -msgid "Nicaraguan Spanish" -msgstr "Tiếng Tây Ban Nha-Nicaragua" - -msgid "Venezuelan Spanish" -msgstr "Tiếng Vê-nê-du-ê-la" - -msgid "Estonian" -msgstr "Tiếng Estonia" - -msgid "Basque" -msgstr "Tiếng Baxcơ" - -msgid "Persian" -msgstr "Tiếng Ba Tư" - -msgid "Finnish" -msgstr "Tiếng Phần Lan" - -msgid "French" -msgstr "Tiếng Pháp" - -msgid "Frisian" -msgstr "Tiếng Frisco" - -msgid "Irish" -msgstr "Tiếng Ai-len" - -msgid "Scottish Gaelic" -msgstr "" - -msgid "Galician" -msgstr "Tiếng Pháp cổ" - -msgid "Hebrew" -msgstr "Tiếng Do Thái cổ" - -msgid "Hindi" -msgstr "Tiếng Hindi" - -msgid "Croatian" -msgstr "Tiếng Croatia" - -msgid "Upper Sorbian" -msgstr "" - -msgid "Hungarian" -msgstr "Tiếng Hung-ga-ri" - -msgid "Armenian" -msgstr "" - -msgid "Interlingua" -msgstr "Tiếng Khoa học Quốc tế" - -msgid "Indonesian" -msgstr "Tiếng In-đô-nê-xi-a" - -msgid "Igbo" -msgstr "" - -msgid "Ido" -msgstr "Ido" - -msgid "Icelandic" -msgstr "Tiếng Aixơlen" - -msgid "Italian" -msgstr "Tiếng Ý" - -msgid "Japanese" -msgstr "Tiếng Nhật Bản" - -msgid "Georgian" -msgstr "Georgian" - -msgid "Kabyle" -msgstr "" - -msgid "Kazakh" -msgstr "Tiếng Kazakh" - -msgid "Khmer" -msgstr "Tiếng Khơ-me" - -msgid "Kannada" -msgstr "Tiếng Kannada" - -msgid "Korean" -msgstr "Tiếng Hàn Quốc" - -msgid "Kyrgyz" -msgstr "" - -msgid "Luxembourgish" -msgstr "Tiếng Luxembourg" - -msgid "Lithuanian" -msgstr "Tiếng Lat-vi" - -msgid "Latvian" -msgstr "Ngôn ngữ vùng Bantic" - -msgid "Macedonian" -msgstr "Tiếng Maxêđôni" - -msgid "Malayalam" -msgstr "Tiếng Malayalam" - -msgid "Mongolian" -msgstr "Tiếng Mông Cổ" - -msgid "Marathi" -msgstr "Marathi" - -msgid "Burmese" -msgstr "My-an-ma" - -msgid "Norwegian Bokmål" -msgstr "" - -msgid "Nepali" -msgstr "Nê-pan" - -msgid "Dutch" -msgstr "Tiếng Hà Lan" - -msgid "Norwegian Nynorsk" -msgstr "Tiếng Na Uy Nynorsk" - -msgid "Ossetic" -msgstr "Ô-sét-ti-a" - -msgid "Punjabi" -msgstr "Punjabi" - -msgid "Polish" -msgstr "Tiếng Ba lan" - -msgid "Portuguese" -msgstr "Tiếng Bồ Đào Nha" - -msgid "Brazilian Portuguese" -msgstr "Brazilian Portuguese" - -msgid "Romanian" -msgstr "Tiếng Ru-ma-ni" - -msgid "Russian" -msgstr "Tiếng Nga" - -msgid "Slovak" -msgstr "Ngôn ngữ Slô-vac" - -msgid "Slovenian" -msgstr "Tiếng Slôven" - -msgid "Albanian" -msgstr "Tiếng Albania" - -msgid "Serbian" -msgstr "Tiếng Xéc-bi" - -msgid "Serbian Latin" -msgstr "Serbian Latin" - -msgid "Swedish" -msgstr "Tiếng Thụy Điển" - -msgid "Swahili" -msgstr "Xì-qua-hi-đi thuộc ngôn ngữ Bantu" - -msgid "Tamil" -msgstr "Tiếng Ta-min" - -msgid "Telugu" -msgstr "Telugu" - -msgid "Tajik" -msgstr "" - -msgid "Thai" -msgstr "Tiếng Thái" - -msgid "Turkmen" -msgstr "" - -msgid "Turkish" -msgstr "Tiếng Thổ Nhĩ Kỳ" - -msgid "Tatar" -msgstr "Tác-ta" - -msgid "Udmurt" -msgstr "Udmurt" - -msgid "Ukrainian" -msgstr "Tiếng Ukraina" - -msgid "Urdu" -msgstr "Urdu" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "Tiếng Việt Nam" - -msgid "Simplified Chinese" -msgstr "Tiếng Tàu giản thể" - -msgid "Traditional Chinese" -msgstr "Tiếng Tàu truyền thống" - -msgid "Messages" -msgstr "" - -msgid "Site Maps" -msgstr "Bản đồ trang web" - -msgid "Static Files" -msgstr "Tập tin tĩnh" - -msgid "Syndication" -msgstr "Syndication" - -msgid "That page number is not an integer" -msgstr "" - -msgid "That page number is less than 1" -msgstr "" - -msgid "That page contains no results" -msgstr "" - -msgid "Enter a valid value." -msgstr "Nhập một giá trị hợp lệ." - -msgid "Enter a valid URL." -msgstr "Nhập một URL hợp lệ." - -msgid "Enter a valid integer." -msgstr "Nhập một số nguyên hợp lệ." - -msgid "Enter a valid email address." -msgstr "Nhập địa chỉ email." - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "Nhập một địa chỉ IPv4 hợp lệ." - -msgid "Enter a valid IPv6 address." -msgstr "Nhập địa chỉ IPv6 hợp lệ" - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "Nhập địa chỉ IPv4 hoặc IPv6 hợp lệ" - -msgid "Enter only digits separated by commas." -msgstr "Chỉ nhập chữ số, cách nhau bằng dấu phẩy." - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "Đảm bảo giá trị này là %(limit_value)s (nó là %(show_value)s )." - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "Đảm bảo giá trị này là nhỏ hơn hoặc bằng với %(limit_value)s ." - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "Đảm bảo giá trị này lớn hơn hoặc bằng với %(limit_value)s ." - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Giá trị này phải có ít nhất %(limit_value)d kí tự (hiện có %(show_value)d)" - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"Giá trị này chỉ có tối đa %(limit_value)d kí tự (hiện có %(show_value)d)" - -msgid "Enter a number." -msgstr "Nhập một số." - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "Đảm bảo rằng tối đa không có nhiều hơn %(max)s số." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "Hãy chắc chắn rằng không có nhiều hơn %(max)s chữ số thập phân." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "" -"Hãy chắc chắn rằng không có nhiều hơn %(max)s chữ số trước dấu phẩy thập " -"phân." - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "" - -msgid "and" -msgstr "và" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "%(model_name)s với thông tin %(field_labels)s đã tồn tại" - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "Giá trị %(value)r không phải là lựa chọn hợp lệ." - -msgid "This field cannot be null." -msgstr "Trường này không thể để trống." - -msgid "This field cannot be blank." -msgstr "Trường này không được để trắng." - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "%(model_name)s có %(field_label)s đã tồn tại." - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "%(field_label)s phải là duy nhất %(date_field_label)s %(lookup_type)s." - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "Trường thuộc dạng: %(field_type)s " - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "Boolean (hoặc là Đúng hoặc là Sai)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "Chuỗi (dài đến %(max_length)s ký tự )" - -msgid "Comma-separated integers" -msgstr "Các số nguyên được phân cách bằng dấu phẩy" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "Ngày (không có giờ)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "Ngày (có giờ)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "Số thập phân" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "" - -msgid "Email address" -msgstr "Địa chỉ email" - -msgid "File path" -msgstr "Đường dẫn tắt tới file" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "Giá trị dấu chấm động" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "Số nguyên" - -msgid "Big (8 byte) integer" -msgstr "Big (8 byte) integer" - -msgid "IPv4 address" -msgstr "Địa chỉ IPv4" - -msgid "IP address" -msgstr "Địa chỉ IP" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "Luận lý (Có thể Đúng, Sai hoặc Không cái nào đúng)" - -msgid "Positive big integer" -msgstr "" - -msgid "Positive integer" -msgstr "Số nguyên dương" - -msgid "Positive small integer" -msgstr "Số nguyên dương nhỏ" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Slug(lên đến %(max_length)s)" - -msgid "Small integer" -msgstr "Số nguyên nhỏ" - -msgid "Text" -msgstr "Đoạn văn" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "Giờ" - -msgid "URL" -msgstr "Đường dẫn URL" - -msgid "Raw binary data" -msgstr "Dữ liệu nhị phân " - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "" - -msgid "File" -msgstr "File" - -msgid "Image" -msgstr "Image" - -msgid "A JSON object" -msgstr "" - -msgid "Value must be valid JSON." -msgstr "" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "" - -msgid "Foreign Key (type determined by related field)" -msgstr "Khóa ngoại (kiểu được xác định bởi trường liên hệ)" - -msgid "One-to-one relationship" -msgstr "Mối quan hệ một-một" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "" - -msgid "Many-to-many relationship" -msgstr "Mối quan hệ nhiều-nhiều" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "Trường này là bắt buộc." - -msgid "Enter a whole number." -msgstr "Nhập một số tổng thể." - -msgid "Enter a valid date." -msgstr "Nhập một ngày hợp lệ." - -msgid "Enter a valid time." -msgstr "Nhập một thời gian hợp lệ." - -msgid "Enter a valid date/time." -msgstr "Nhập một ngày/thời gian hợp lệ." - -msgid "Enter a valid duration." -msgstr "" - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "" - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "Không có tập tin nào được gửi. Hãy kiểm tra kiểu mã hóa của biểu mẫu." - -msgid "No file was submitted." -msgstr "Không có tập tin nào được gửi." - -msgid "The submitted file is empty." -msgstr "Tập tin được gửi là rỗng." - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "Tên tệp tin có tối đa %(max)d kí tự (Hiện có %(length)d)" - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "Vui lòng gửi một tập tin hoặc để ô chọn trắng, không chọn cả hai." - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "" -"Hãy tải lên một hình ảnh hợp lệ. Tập tin mà bạn đã tải không phải là hình " -"ảnh hoặc đã bị hư hỏng." - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "" -"Hãy chọn một lựa chọn hợp lệ. %(value)s không phải là một trong các lựa chọn " -"khả thi." - -msgid "Enter a list of values." -msgstr "Nhập một danh sách giá trị." - -msgid "Enter a complete value." -msgstr "" - -msgid "Enter a valid UUID." -msgstr "" - -msgid "Enter a valid JSON." -msgstr "" - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(Trường ẩn %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "Vui lòng đệ trình %d hoặc ít các mẫu đơn hơn." - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "" - -msgid "Order" -msgstr "Thứ tự" - -msgid "Delete" -msgstr "Xóa" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "Hãy sửa các dữ liệu trùng lặp cho %(field)s ." - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "Hãy sửa các dữ liệu trùng lặp cho %(field)s, mà phải là duy nhất." - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"Hãy sửa các dữ liệu trùng lặp cho %(field_name)s mà phải là duy nhất cho " -"%(lookup)s tại %(date_field)s ." - -msgid "Please correct the duplicate values below." -msgstr "Hãy sửa các giá trị trùng lặp dưới đây." - -msgid "The inline value did not match the parent instance." -msgstr "" - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "" -"Hãy chọn một lựa chọn hợp lệ. Lựa chọn đó không phải là một trong các lựa " -"chọn khả thi." - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "Xóa" - -msgid "Currently" -msgstr "Hiện nay" - -msgid "Change" -msgstr "Thay đổi" - -msgid "Unknown" -msgstr "Chưa xác định" - -msgid "Yes" -msgstr "Có" - -msgid "No" -msgstr "Không" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "Có,Không,Có thể" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d byte" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "p.m." - -msgid "a.m." -msgstr "a.m." - -msgid "PM" -msgstr "chiều" - -msgid "AM" -msgstr "sáng" - -msgid "midnight" -msgstr "Nửa đêm" - -msgid "noon" -msgstr "Buổi trưa" - -msgid "Monday" -msgstr "Thứ 2" - -msgid "Tuesday" -msgstr "Thứ 3" - -msgid "Wednesday" -msgstr "Thứ 4" - -msgid "Thursday" -msgstr "Thứ 5" - -msgid "Friday" -msgstr "Thứ 6" - -msgid "Saturday" -msgstr "Thứ 7" - -msgid "Sunday" -msgstr "Chủ nhật" - -msgid "Mon" -msgstr "Thứ 2" - -msgid "Tue" -msgstr "Thứ 3" - -msgid "Wed" -msgstr "Thứ 4" - -msgid "Thu" -msgstr "Thứ 5" - -msgid "Fri" -msgstr "Thứ 6" - -msgid "Sat" -msgstr "Thứ 7" - -msgid "Sun" -msgstr "Chủ nhật" - -msgid "January" -msgstr "Tháng 1" - -msgid "February" -msgstr "Tháng 2" - -msgid "March" -msgstr "Tháng 3" - -msgid "April" -msgstr "Tháng 4" - -msgid "May" -msgstr "Tháng 5" - -msgid "June" -msgstr "Tháng 6" - -msgid "July" -msgstr "Tháng 7" - -msgid "August" -msgstr "Tháng 8" - -msgid "September" -msgstr "Tháng 9" - -msgid "October" -msgstr "Tháng 10" - -msgid "November" -msgstr "Tháng 11" - -msgid "December" -msgstr "Tháng 12" - -msgid "jan" -msgstr "Tháng 1" - -msgid "feb" -msgstr "Tháng 2" - -msgid "mar" -msgstr "Tháng 3" - -msgid "apr" -msgstr "Tháng 4" - -msgid "may" -msgstr "Tháng 5" - -msgid "jun" -msgstr "Tháng 6" - -msgid "jul" -msgstr "Tháng 7" - -msgid "aug" -msgstr "Tháng 8" - -msgid "sep" -msgstr "Tháng 9" - -msgid "oct" -msgstr "Tháng 10" - -msgid "nov" -msgstr "Tháng 11" - -msgid "dec" -msgstr "Tháng 12" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "Tháng 1." - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "Tháng 2." - -msgctxt "abbrev. month" -msgid "March" -msgstr "Tháng ba" - -msgctxt "abbrev. month" -msgid "April" -msgstr "Tháng tư" - -msgctxt "abbrev. month" -msgid "May" -msgstr "Tháng năm" - -msgctxt "abbrev. month" -msgid "June" -msgstr "Tháng sáu" - -msgctxt "abbrev. month" -msgid "July" -msgstr "Tháng bảy" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "Tháng 8." - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "Tháng 9." - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "Tháng 10." - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "Tháng 11." - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "Tháng 12." - -msgctxt "alt. month" -msgid "January" -msgstr "Tháng một" - -msgctxt "alt. month" -msgid "February" -msgstr "Tháng hai" - -msgctxt "alt. month" -msgid "March" -msgstr "Tháng ba" - -msgctxt "alt. month" -msgid "April" -msgstr "Tháng tư" - -msgctxt "alt. month" -msgid "May" -msgstr "Tháng năm" - -msgctxt "alt. month" -msgid "June" -msgstr "Tháng sáu" - -msgctxt "alt. month" -msgid "July" -msgstr "Tháng bảy" - -msgctxt "alt. month" -msgid "August" -msgstr "Tháng tám" - -msgctxt "alt. month" -msgid "September" -msgstr "Tháng Chín" - -msgctxt "alt. month" -msgid "October" -msgstr "Tháng Mười" - -msgctxt "alt. month" -msgid "November" -msgstr "Tháng mười một" - -msgctxt "alt. month" -msgid "December" -msgstr "Tháng mười hai" - -msgid "This is not a valid IPv6 address." -msgstr "" - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "" - -msgid "or" -msgstr "hoặc" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d năm" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d tháng" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d tuần" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d ngày" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d giờ" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d phút" - -msgid "Forbidden" -msgstr "" - -msgid "CSRF verification failed. Request aborted." -msgstr "" - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "" - -msgid "No year specified" -msgstr "Không có năm xác định" - -msgid "Date out of range" -msgstr "" - -msgid "No month specified" -msgstr "Không có tháng xác định" - -msgid "No day specified" -msgstr "Không có ngày xác định" - -msgid "No week specified" -msgstr "Không có tuần xác định" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "Không có %(verbose_name_plural)s phù hợp" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"%(verbose_name_plural)s trong tương lai không có sẵn vì %(class_name)s." -"allow_future là False." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "Không có %(verbose_name)s tìm thấy phù hợp với truy vấn" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "Trang không hợp lệ (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "Tại đây không cho phép đánh số chỉ mục dành cho thư mục." - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "Index của %(directory)s" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "" - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" - -msgid "The install worked successfully! Congratulations!" -msgstr "" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" - -msgid "Django Documentation" -msgstr "" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "" - -msgid "Get started with Django" -msgstr "" - -msgid "Django Community" -msgstr "" - -msgid "Connect, get help, or contribute" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/vi/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/vi/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/vi/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/vi/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 36240e0a..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/vi/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/vi/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/vi/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index dcc50825..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/vi/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/vi/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/vi/formats.py deleted file mode 100644 index 495b6f79..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/vi/formats.py +++ /dev/null @@ -1,21 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = r'\N\gà\y d \t\há\n\g n \nă\m Y' -TIME_FORMAT = 'H:i' -DATETIME_FORMAT = r'H:i \N\gà\y d \t\há\n\g n \nă\m Y' -YEAR_MONTH_FORMAT = 'F Y' -MONTH_DAY_FORMAT = 'j F' -SHORT_DATE_FORMAT = 'd-m-Y' -SHORT_DATETIME_FORMAT = 'H:i d-m-Y' -# FIRST_DAY_OF_WEEK = - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -# DATE_INPUT_FORMATS = -# TIME_INPUT_FORMATS = -# DATETIME_INPUT_FORMATS = -DECIMAL_SEPARATOR = ',' -THOUSAND_SEPARATOR = '.' -# NUMBER_GROUPING = diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/zh_Hans/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/zh_Hans/LC_MESSAGES/django.mo deleted file mode 100644 index 42aac803..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/zh_Hans/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/zh_Hans/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/zh_Hans/LC_MESSAGES/django.po deleted file mode 100644 index 2547ed44..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/zh_Hans/LC_MESSAGES/django.po +++ /dev/null @@ -1,1275 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# HuanCheng Bai白宦成 , 2017-2018 -# Daniel Duan , 2013 -# jamin M , 2019 -# Jannis Leidel , 2011 -# Kevin Sze , 2012 -# Lele Long , 2011,2015,2017 -# Le Yang , 2018 -# li beite , 2020 -# Liping Wang , 2016-2017 -# matthew Yip , 2020 -# mozillazg , 2016 -# Ronald White , 2014 -# pylemon , 2013 -# Ray Wang , 2017 -# slene , 2011 -# Sun Liwen , 2014 -# Suntravel Chris , 2019 -# Liping Wang , 2016 -# Wentao Han , 2018 -# wolf ice , 2020 -# Xiang Yu , 2014 -# Jeff Yin , 2013 -# Zhengyang Wang , 2017 -# ced773123cfad7b4e8b79ca80f736af9, 2011-2012 -# Ziya Tang , 2018 -# 付峥 , 2018 -# 嘉琪 方 <370358679@qq.com>, 2020 -# Kevin Sze , 2012 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-19 20:23+0200\n" -"PO-Revision-Date: 2020-09-11 01:47+0000\n" -"Last-Translator: 嘉琪 方 <370358679@qq.com>\n" -"Language-Team: Chinese (China) (http://www.transifex.com/django/django/" -"language/zh_CN/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -msgid "Afrikaans" -msgstr "南非荷兰语" - -msgid "Arabic" -msgstr "阿拉伯语" - -msgid "Algerian Arabic" -msgstr "阿尔及利亚的阿拉伯语" - -msgid "Asturian" -msgstr "阿斯图里亚斯" - -msgid "Azerbaijani" -msgstr "阿塞拜疆语" - -msgid "Bulgarian" -msgstr "保加利亚语" - -msgid "Belarusian" -msgstr "白俄罗斯语" - -msgid "Bengali" -msgstr "孟加拉语" - -msgid "Breton" -msgstr "布雷顿" - -msgid "Bosnian" -msgstr "波斯尼亚语" - -msgid "Catalan" -msgstr "加泰罗尼亚语" - -msgid "Czech" -msgstr "捷克语" - -msgid "Welsh" -msgstr "威尔士语" - -msgid "Danish" -msgstr "丹麦语" - -msgid "German" -msgstr "德语" - -msgid "Lower Sorbian" -msgstr "下索布" - -msgid "Greek" -msgstr "希腊语" - -msgid "English" -msgstr "英语" - -msgid "Australian English" -msgstr "澳大利亚英语" - -msgid "British English" -msgstr "英国英语" - -msgid "Esperanto" -msgstr "世界语" - -msgid "Spanish" -msgstr "西班牙语" - -msgid "Argentinian Spanish" -msgstr "阿根廷西班牙语" - -msgid "Colombian Spanish" -msgstr "哥伦比亚西班牙语" - -msgid "Mexican Spanish" -msgstr "墨西哥西班牙语" - -msgid "Nicaraguan Spanish" -msgstr "尼加拉瓜西班牙语" - -msgid "Venezuelan Spanish" -msgstr "委内瑞拉西班牙语" - -msgid "Estonian" -msgstr "爱沙尼亚语" - -msgid "Basque" -msgstr "巴斯克语" - -msgid "Persian" -msgstr "波斯语" - -msgid "Finnish" -msgstr "芬兰语" - -msgid "French" -msgstr "法语" - -msgid "Frisian" -msgstr "夫里斯兰语" - -msgid "Irish" -msgstr "爱尔兰语" - -msgid "Scottish Gaelic" -msgstr "苏格兰盖尔语" - -msgid "Galician" -msgstr "加利西亚语" - -msgid "Hebrew" -msgstr "希伯来语" - -msgid "Hindi" -msgstr "北印度语" - -msgid "Croatian" -msgstr "克罗地亚语" - -msgid "Upper Sorbian" -msgstr "上索布" - -msgid "Hungarian" -msgstr "匈牙利语" - -msgid "Armenian" -msgstr "亚美尼亚语" - -msgid "Interlingua" -msgstr "国际语" - -msgid "Indonesian" -msgstr "印尼语" - -msgid "Igbo" -msgstr "伊博" - -msgid "Ido" -msgstr "简化伊多语" - -msgid "Icelandic" -msgstr "冰岛语" - -msgid "Italian" -msgstr "意大利语" - -msgid "Japanese" -msgstr "日语" - -msgid "Georgian" -msgstr "格鲁吉亚语" - -msgid "Kabyle" -msgstr "卡拜尔语" - -msgid "Kazakh" -msgstr "哈萨克语" - -msgid "Khmer" -msgstr "高棉语" - -msgid "Kannada" -msgstr "埃纳德语" - -msgid "Korean" -msgstr "韩语" - -msgid "Kyrgyz" -msgstr "吉尔吉斯坦语" - -msgid "Luxembourgish" -msgstr "卢森堡语" - -msgid "Lithuanian" -msgstr "立陶宛语" - -msgid "Latvian" -msgstr "拉脱维亚语" - -msgid "Macedonian" -msgstr "马其顿语" - -msgid "Malayalam" -msgstr "马来亚拉姆语" - -msgid "Mongolian" -msgstr "蒙古语" - -msgid "Marathi" -msgstr "马拉地语" - -msgid "Burmese" -msgstr "缅甸语" - -msgid "Norwegian Bokmål" -msgstr "挪威博克马尔" - -msgid "Nepali" -msgstr "尼泊尔语" - -msgid "Dutch" -msgstr "荷兰语" - -msgid "Norwegian Nynorsk" -msgstr "新挪威语" - -msgid "Ossetic" -msgstr "奥塞梯语" - -msgid "Punjabi" -msgstr "旁遮普语 " - -msgid "Polish" -msgstr "波兰语" - -msgid "Portuguese" -msgstr "葡萄牙语" - -msgid "Brazilian Portuguese" -msgstr "巴西葡萄牙语" - -msgid "Romanian" -msgstr "罗马尼亚语" - -msgid "Russian" -msgstr "俄语" - -msgid "Slovak" -msgstr "斯洛伐克语" - -msgid "Slovenian" -msgstr "斯洛文尼亚语" - -msgid "Albanian" -msgstr "阿尔巴尼亚语" - -msgid "Serbian" -msgstr "塞尔维亚语" - -msgid "Serbian Latin" -msgstr "塞尔维亚拉丁语" - -msgid "Swedish" -msgstr "瑞典语" - -msgid "Swahili" -msgstr "斯瓦西里语" - -msgid "Tamil" -msgstr "泰米尔语" - -msgid "Telugu" -msgstr "泰卢固语" - -msgid "Tajik" -msgstr "塔吉克语" - -msgid "Thai" -msgstr "泰语" - -msgid "Turkmen" -msgstr "土库曼人" - -msgid "Turkish" -msgstr "土耳其语" - -msgid "Tatar" -msgstr "鞑靼语" - -msgid "Udmurt" -msgstr "乌德穆尔特语" - -msgid "Ukrainian" -msgstr "乌克兰语" - -msgid "Urdu" -msgstr "乌尔都语" - -msgid "Uzbek" -msgstr "乌兹别克语" - -msgid "Vietnamese" -msgstr "越南语" - -msgid "Simplified Chinese" -msgstr "简体中文" - -msgid "Traditional Chinese" -msgstr "繁体中文" - -msgid "Messages" -msgstr "消息" - -msgid "Site Maps" -msgstr "站点地图" - -msgid "Static Files" -msgstr "静态文件" - -msgid "Syndication" -msgstr "联合" - -msgid "That page number is not an integer" -msgstr "页码不是整数" - -msgid "That page number is less than 1" -msgstr "页码小于 1" - -msgid "That page contains no results" -msgstr "本页结果为空" - -msgid "Enter a valid value." -msgstr "输入一个有效的值。" - -msgid "Enter a valid URL." -msgstr "输入一个有效的 URL。" - -msgid "Enter a valid integer." -msgstr "输入一个有效的整数。" - -msgid "Enter a valid email address." -msgstr "输入一个有效的 Email 地址。" - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "输入由字母,数字,下划线或连字符号组成的有效“字段”。" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "输入由Unicode字母,数字,下划线或连字符号组成的有效“字段”。" - -msgid "Enter a valid IPv4 address." -msgstr "输入一个有效的 IPv4 地址。" - -msgid "Enter a valid IPv6 address." -msgstr "输入一个有效的 IPv6 地址。" - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "输入一个有效的 IPv4 或 IPv6 地址." - -msgid "Enter only digits separated by commas." -msgstr "只能输入用逗号分隔的数字。" - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "确保该值为 %(limit_value)s (现在为 %(show_value)s)。" - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "确保该值小于或等于%(limit_value)s。" - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "确保该值大于或等于%(limit_value)s。" - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"确保该变量至少包含 %(limit_value)d 字符(目前字符数 %(show_value)d)。" - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"确保该变量包含不超过 %(limit_value)d 字符 (目前字符数 %(show_value)d)。" - -msgid "Enter a number." -msgstr "输入一个数字。" - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "确认总共不超过 %(max)s 个数字." - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "确认小数不超过 %(max)s 位." - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "确认小数点前不超过 %(max)s 位。" - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" -"文件扩展“%(extension)s”是不被允许。允许的扩展为:%(allowed_extensions)s。" - -msgid "Null characters are not allowed." -msgstr "不允许是用空字符串。" - -msgid "and" -msgstr "和" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "包含 %(field_labels)s 的 %(model_name)s 已经存在。" - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "值 %(value)r 不是有效选项。" - -msgid "This field cannot be null." -msgstr "这个值不能为 null。" - -msgid "This field cannot be blank." -msgstr "此字段不能为空。" - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "具有 %(field_label)s 的 %(model_name)s 已存在。" - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "" -"%(field_label)s 必须在 %(date_field_label)s 字段查找类型为 %(lookup_type)s 中" -"唯一。" - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "字段类型:%(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "“%(value)s”的值应该为True或False" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "“%(value)s”的值应该为True,False或None" - -msgid "Boolean (Either True or False)" -msgstr "布尔值( True或False )" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "字符串(最长 %(max_length)s 位)" - -msgid "Comma-separated integers" -msgstr "逗号分隔的整数" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "“%(value)s”的值有一个错误的日期格式。它的格式应该是YYYY-MM-DD" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "“%(value)s”的值有正确的格式(YYYY-MM-DD)但它是一个错误的日期" - -msgid "Date (without time)" -msgstr "日期(不带时分)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" -"“%(value)s”的值有一个错误的日期格式。它的格式应该是YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] " - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" -"“%(value)s”的值有正确的格式 (YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]) 但它是一个错" -"误的日期/时间" - -msgid "Date (with time)" -msgstr "日期(带时分)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "“%(value)s”的值应该是一个十进制数字。" - -msgid "Decimal number" -msgstr "小数" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" -"“%(value)s”的值有一个错误的格式。它的格式应该是[DD] [[HH:]MM:]ss[.uuuuuu] " - -msgid "Duration" -msgstr "时长" - -msgid "Email address" -msgstr "Email 地址" - -msgid "File path" -msgstr "文件路径" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "“%(value)s”的值应该是一个浮点数" - -msgid "Floating point number" -msgstr "浮点数" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "“%(value)s”的值应该是一个整型" - -msgid "Integer" -msgstr "整数" - -msgid "Big (8 byte) integer" -msgstr "大整数(8字节)" - -msgid "IPv4 address" -msgstr "IPv4 地址" - -msgid "IP address" -msgstr "IP 地址" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "“%(value)s”的值应该是None、True或False" - -msgid "Boolean (Either True, False or None)" -msgstr "布尔值(True、False或None)" - -msgid "Positive big integer" -msgstr "正大整数" - -msgid "Positive integer" -msgstr "正整数" - -msgid "Positive small integer" -msgstr "正小整数" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "Slug (多达 %(max_length)s)" - -msgid "Small integer" -msgstr "小整数" - -msgid "Text" -msgstr "文本" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "“%(value)s”的值有一个错误的格式。它的格式应该是HH:MM[:ss[.uuuuuu]]" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "“%(value)s”的值有正确的格式(HH:MM[:ss[.uuuuuu]]),但它是一个错误的时间" - -msgid "Time" -msgstr "时间" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "原始二进制数据" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "“%(value)s”不是一个有效的UUID" - -msgid "Universally unique identifier" -msgstr "通用唯一识别码" - -msgid "File" -msgstr "文件" - -msgid "Image" -msgstr "图像" - -msgid "A JSON object" -msgstr "一个JSON对象" - -msgid "Value must be valid JSON." -msgstr "值必须是有效的JSON。" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "包含%(field)s %(value)r的%(model)s实例不存在。" - -msgid "Foreign Key (type determined by related field)" -msgstr "外键(由相关字段确定)" - -msgid "One-to-one relationship" -msgstr "一对一关系" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "%(from)s-%(to)s关系" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "%(from)s-%(to)s关系" - -msgid "Many-to-many relationship" -msgstr "多对多关系" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "这个字段是必填项。" - -msgid "Enter a whole number." -msgstr "输入整数。" - -msgid "Enter a valid date." -msgstr "输入一个有效的日期。" - -msgid "Enter a valid time." -msgstr "输入一个有效的时间。" - -msgid "Enter a valid date/time." -msgstr "输入一个有效的日期/时间。" - -msgid "Enter a valid duration." -msgstr "请输入有效的时长。" - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "天数应该在 {min_days} 和 {max_days} 之间。" - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "未提交文件。请检查表单的编码类型。" - -msgid "No file was submitted." -msgstr "没有提交文件。" - -msgid "The submitted file is empty." -msgstr "所提交的是空文件。" - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "确保该文件名长度不超过 %(max)d 字符(目前字符数 %(length)d)。" - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "请提交文件或勾选清除复选框,两者其一即可。" - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "请上传一张有效的图片。您所上传的文件不是图片或者是已损坏的图片。" - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "选择一个有效的选项。 %(value)s 不在可用的选项中。" - -msgid "Enter a list of values." -msgstr "输入一系列值。" - -msgid "Enter a complete value." -msgstr "请输入完整的值。" - -msgid "Enter a valid UUID." -msgstr "请输入有效UUID。" - -msgid "Enter a valid JSON." -msgstr "输入一个有效的JSON。" - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(隐藏字段 %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "管理表单的数据缺失或者已被篡改" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "请提交不超过 %d 个表格。" - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "请至少提交 %d 个表单。" - -msgid "Order" -msgstr "排序" - -msgid "Delete" -msgstr "删除" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "请修改%(field)s的重复数据" - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "请修改%(field)s的重复数据.这个字段必须唯一" - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"请修正%(field_name)s的重复数据。%(date_field)s %(lookup)s 在 %(field_name)s " -"必须保证唯一." - -msgid "Please correct the duplicate values below." -msgstr "请修正重复的数据." - -msgid "The inline value did not match the parent instance." -msgstr "内联值与父实例不匹配。" - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "选择一个有效的选项: 该选择不在可用的选项中。" - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "“%(pk)s”不是一个有效的值" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" -"%(datetime)s无法在时区%(current_timezone)s被解析;它可能是模糊的,也可能是不" -"存在的。" - -msgid "Clear" -msgstr "清除" - -msgid "Currently" -msgstr "目前" - -msgid "Change" -msgstr "修改" - -msgid "Unknown" -msgstr "未知" - -msgid "Yes" -msgstr "是" - -msgid "No" -msgstr "否" - -#. Translators: Please do not add spaces around commas. -msgid "yes,no,maybe" -msgstr "是、否、也许" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d 字节" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "p.m." - -msgid "a.m." -msgstr "a.m." - -msgid "PM" -msgstr "PM" - -msgid "AM" -msgstr "AM" - -msgid "midnight" -msgstr "午夜" - -msgid "noon" -msgstr "中午" - -msgid "Monday" -msgstr "星期一" - -msgid "Tuesday" -msgstr "星期二" - -msgid "Wednesday" -msgstr "星期三" - -msgid "Thursday" -msgstr "星期四" - -msgid "Friday" -msgstr "星期五" - -msgid "Saturday" -msgstr "星期六" - -msgid "Sunday" -msgstr "星期日" - -msgid "Mon" -msgstr "星期一" - -msgid "Tue" -msgstr "星期二" - -msgid "Wed" -msgstr "星期三" - -msgid "Thu" -msgstr "星期四" - -msgid "Fri" -msgstr "星期五" - -msgid "Sat" -msgstr "星期六" - -msgid "Sun" -msgstr "星期日" - -msgid "January" -msgstr "一月" - -msgid "February" -msgstr "二月" - -msgid "March" -msgstr "三月" - -msgid "April" -msgstr "四月" - -msgid "May" -msgstr "五月" - -msgid "June" -msgstr "六月" - -msgid "July" -msgstr "七月" - -msgid "August" -msgstr "八月" - -msgid "September" -msgstr "九月" - -msgid "October" -msgstr "十月" - -msgid "November" -msgstr "十一月" - -msgid "December" -msgstr "十二月" - -msgid "jan" -msgstr "一月" - -msgid "feb" -msgstr "二月" - -msgid "mar" -msgstr "三月" - -msgid "apr" -msgstr "四月" - -msgid "may" -msgstr "五月" - -msgid "jun" -msgstr "六月" - -msgid "jul" -msgstr "七月" - -msgid "aug" -msgstr "八月" - -msgid "sep" -msgstr "九月" - -msgid "oct" -msgstr "十月" - -msgid "nov" -msgstr "十一月" - -msgid "dec" -msgstr "十二月" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "一月" - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "二月" - -msgctxt "abbrev. month" -msgid "March" -msgstr "三月" - -msgctxt "abbrev. month" -msgid "April" -msgstr "四月" - -msgctxt "abbrev. month" -msgid "May" -msgstr "五月" - -msgctxt "abbrev. month" -msgid "June" -msgstr "六月" - -msgctxt "abbrev. month" -msgid "July" -msgstr "七月" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "八月" - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "九月" - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "十月" - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "十一月" - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "十二月" - -msgctxt "alt. month" -msgid "January" -msgstr "一月" - -msgctxt "alt. month" -msgid "February" -msgstr "二月" - -msgctxt "alt. month" -msgid "March" -msgstr "三月" - -msgctxt "alt. month" -msgid "April" -msgstr "四月" - -msgctxt "alt. month" -msgid "May" -msgstr "五月" - -msgctxt "alt. month" -msgid "June" -msgstr "六月" - -msgctxt "alt. month" -msgid "July" -msgstr "七月" - -msgctxt "alt. month" -msgid "August" -msgstr "八月" - -msgctxt "alt. month" -msgid "September" -msgstr "九月" - -msgctxt "alt. month" -msgid "October" -msgstr "十月" - -msgctxt "alt. month" -msgid "November" -msgstr "十一月" - -msgctxt "alt. month" -msgid "December" -msgstr "十二月" - -msgid "This is not a valid IPv6 address." -msgstr "该值不是合法的IPv6地址。" - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "%(truncated_text)s" - -msgid "or" -msgstr "或" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr "," - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d 年" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d 月" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d 周" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d 日" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d 小时" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d 分钟" - -msgid "Forbidden" -msgstr "禁止访问" - -msgid "CSRF verification failed. Request aborted." -msgstr "CSRF验证失败. 请求被中断." - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" -"您看到此消息是因为此HTTPS站点要求Web浏览器发送的“Referer头”没被发送。出于安全" -"原因,此HTTP头是必需的,以确保您的浏览器不会被第三方劫持。" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" -"如果您已将浏览器配置为禁用“ Referer”头,请重新启用它们,至少针对此站点,或" -"HTTPS连接或“同源”请求。" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" -"如果您使用的是标签或包" -"含“Referrer-Policy: no-referrer”的HTTP头,请将其删除。CSRF保护要求“Referer”头" -"执行严格的Referer检查。如果你担心隐私问题,可以使用类似这样的替代方法链接到第三方网站。" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"您看到此消息是由于该站点在提交表单时需要一个CSRF cookie。此项是出于安全考虑," -"以确保您的浏览器没有被第三方劫持。" - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" -"如果您已将浏览器配置为禁用cookie,请重新启用它们,至少针对此站点或“同源”请" -"求。" - -msgid "More information is available with DEBUG=True." -msgstr "更多可用信息请设置选项DEBUG=True。" - -msgid "No year specified" -msgstr "没有指定年" - -msgid "Date out of range" -msgstr "日期超出范围。" - -msgid "No month specified" -msgstr "没有指定月" - -msgid "No day specified" -msgstr "没有指定天" - -msgid "No week specified" -msgstr "没有指定周" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "%(verbose_name_plural)s 可用" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"因为 %(class_name)s.allow_future 设置为 False,所以特性 " -"%(verbose_name_plural)s 不可用。" - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "日期字符串“%(datestr)s”与格式“%(format)s”不匹配" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "没有找到符合查询的 %(verbose_name)s" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "页面不是最后一页,也不能被转为整数型" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "非法页面 (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "列表是空的并且“%(class_name)s.allow_empty”是False" - -msgid "Directory indexes are not allowed here." -msgstr "这里不允许目录索引" - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "”%(path)s\"不存在" - -#, python-format -msgid "Index of %(directory)s" -msgstr "%(directory)s的索引" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "Django:按时交付完美主义者的 Web 框架" - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"查看 Django %(version)s 的 release notes " - -msgid "The install worked successfully! Congratulations!" -msgstr "" -"安装成功!\n" -"祝贺!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"您现在看见这个页面,因为您设置了 DEBUG=True 并且您还没有配置任何URLs。" - -msgid "Django Documentation" -msgstr "Django 文档" - -msgid "Topics, references, & how-to’s" -msgstr "主题,参考资料和操作方法" - -msgid "Tutorial: A Polling App" -msgstr "教程:投票应用" - -msgid "Get started with Django" -msgstr "开始使用 Django" - -msgid "Django Community" -msgstr "Django 社区" - -msgid "Connect, get help, or contribute" -msgstr "联系,获取帮助,贡献代码" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/zh_Hans/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/zh_Hans/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/zh_Hans/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/zh_Hans/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 6e0fb7e3..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/zh_Hans/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/zh_Hans/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/zh_Hans/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index d310195a..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/zh_Hans/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/zh_Hans/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/zh_Hans/formats.py deleted file mode 100644 index 018b9b17..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/zh_Hans/formats.py +++ /dev/null @@ -1,42 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'Y年n月j日' # 2016年9月5日 -TIME_FORMAT = 'H:i' # 20:45 -DATETIME_FORMAT = 'Y年n月j日 H:i' # 2016年9月5日 20:45 -YEAR_MONTH_FORMAT = 'Y年n月' # 2016年9月 -MONTH_DAY_FORMAT = 'm月j日' # 9月5日 -SHORT_DATE_FORMAT = 'Y年n月j日' # 2016年9月5日 -SHORT_DATETIME_FORMAT = 'Y年n月j日 H:i' # 2016年9月5日 20:45 -FIRST_DAY_OF_WEEK = 1 # 星期一 (Monday) - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -DATE_INPUT_FORMATS = [ - '%Y/%m/%d', # '2016/09/05' - '%Y-%m-%d', # '2016-09-05' - '%Y年%n月%j日', # '2016年9月5日' -] - -TIME_INPUT_FORMATS = [ - '%H:%M', # '20:45' - '%H:%M:%S', # '20:45:29' - '%H:%M:%S.%f', # '20:45:29.000200' -] - -DATETIME_INPUT_FORMATS = [ - '%Y/%m/%d %H:%M', # '2016/09/05 20:45' - '%Y-%m-%d %H:%M', # '2016-09-05 20:45' - '%Y年%n月%j日 %H:%M', # '2016年9月5日 14:45' - '%Y/%m/%d %H:%M:%S', # '2016/09/05 20:45:29' - '%Y-%m-%d %H:%M:%S', # '2016-09-05 20:45:29' - '%Y年%n月%j日 %H:%M:%S', # '2016年9月5日 20:45:29' - '%Y/%m/%d %H:%M:%S.%f', # '2016/09/05 20:45:29.000200' - '%Y-%m-%d %H:%M:%S.%f', # '2016-09-05 20:45:29.000200' - '%Y年%n月%j日 %H:%n:%S.%f', # '2016年9月5日 20:45:29.000200' -] - -DECIMAL_SEPARATOR = '.' -THOUSAND_SEPARATOR = '' -NUMBER_GROUPING = 4 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/zh_Hant/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/conf/locale/zh_Hant/LC_MESSAGES/django.mo deleted file mode 100644 index b6726c55..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/zh_Hant/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/zh_Hant/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/conf/locale/zh_Hant/LC_MESSAGES/django.po deleted file mode 100644 index 61d827a1..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/zh_Hant/LC_MESSAGES/django.po +++ /dev/null @@ -1,1218 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Chen Chun-Chia , 2015 -# Eric Ho , 2013 -# ilay , 2012 -# Jannis Leidel , 2011 -# mail6543210 , 2013 -# ming hsien tzang , 2011 -# tcc , 2011 -# Tzu-ping Chung , 2016-2017 -# Yeh-Yung , 2013 -# Yeh-Yung , 2012 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-27 22:40+0200\n" -"PO-Revision-Date: 2019-11-05 00:38+0000\n" -"Last-Translator: Ramiro Morales\n" -"Language-Team: Chinese (Taiwan) (http://www.transifex.com/django/django/" -"language/zh_TW/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_TW\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -msgid "Afrikaans" -msgstr "南非語" - -msgid "Arabic" -msgstr "阿拉伯語" - -msgid "Asturian" -msgstr "阿斯圖里亞斯語" - -msgid "Azerbaijani" -msgstr "亞塞拜然語" - -msgid "Bulgarian" -msgstr "保加利亞語" - -msgid "Belarusian" -msgstr "白俄羅斯語" - -msgid "Bengali" -msgstr "孟加拉語" - -msgid "Breton" -msgstr "布列塔尼語" - -msgid "Bosnian" -msgstr "波士尼亞語" - -msgid "Catalan" -msgstr "加泰隆語" - -msgid "Czech" -msgstr "捷克語" - -msgid "Welsh" -msgstr "威爾斯語" - -msgid "Danish" -msgstr "丹麥語" - -msgid "German" -msgstr "德語" - -msgid "Lower Sorbian" -msgstr "下索布語" - -msgid "Greek" -msgstr "希臘語" - -msgid "English" -msgstr "英語" - -msgid "Australian English" -msgstr "澳大利亞英語" - -msgid "British English" -msgstr "英國英語" - -msgid "Esperanto" -msgstr "世界語" - -msgid "Spanish" -msgstr "西班牙語" - -msgid "Argentinian Spanish" -msgstr "阿根廷西班牙語" - -msgid "Colombian Spanish" -msgstr "哥倫比亞西班牙語" - -msgid "Mexican Spanish" -msgstr "墨西哥西班牙語" - -msgid "Nicaraguan Spanish" -msgstr "尼加拉瓜西班牙語" - -msgid "Venezuelan Spanish" -msgstr "委內瑞拉西班牙語" - -msgid "Estonian" -msgstr "愛沙尼亞語" - -msgid "Basque" -msgstr "巴斯克語" - -msgid "Persian" -msgstr "波斯語" - -msgid "Finnish" -msgstr "芬蘭語" - -msgid "French" -msgstr "法語" - -msgid "Frisian" -msgstr "菲士蘭語" - -msgid "Irish" -msgstr "愛爾蘭語" - -msgid "Scottish Gaelic" -msgstr "蘇格蘭蓋爾語" - -msgid "Galician" -msgstr "加利西亞語" - -msgid "Hebrew" -msgstr "希伯來語" - -msgid "Hindi" -msgstr "印地語" - -msgid "Croatian" -msgstr "克羅埃西亞語" - -msgid "Upper Sorbian" -msgstr "上索布語" - -msgid "Hungarian" -msgstr "匈牙利語" - -msgid "Armenian" -msgstr "" - -msgid "Interlingua" -msgstr "國際語" - -msgid "Indonesian" -msgstr "印尼語" - -msgid "Ido" -msgstr "伊多語" - -msgid "Icelandic" -msgstr "冰島語" - -msgid "Italian" -msgstr "義大利語" - -msgid "Japanese" -msgstr "日語" - -msgid "Georgian" -msgstr "喬治亞語" - -msgid "Kabyle" -msgstr "卡拜爾語" - -msgid "Kazakh" -msgstr "哈薩克語" - -msgid "Khmer" -msgstr "高棉語" - -msgid "Kannada" -msgstr "康納達語" - -msgid "Korean" -msgstr "韓語" - -msgid "Luxembourgish" -msgstr "盧森堡語" - -msgid "Lithuanian" -msgstr "立陶宛語" - -msgid "Latvian" -msgstr "拉脫維亞語" - -msgid "Macedonian" -msgstr "馬其頓語" - -msgid "Malayalam" -msgstr "馬拉雅拉姆語" - -msgid "Mongolian" -msgstr "蒙古語" - -msgid "Marathi" -msgstr "馬拉提語" - -msgid "Burmese" -msgstr "緬甸語" - -msgid "Norwegian Bokmål" -msgstr "書面挪威語" - -msgid "Nepali" -msgstr "尼泊爾語" - -msgid "Dutch" -msgstr "荷蘭語" - -msgid "Norwegian Nynorsk" -msgstr "新挪威語" - -msgid "Ossetic" -msgstr "奧塞梯語" - -msgid "Punjabi" -msgstr "旁遮普語" - -msgid "Polish" -msgstr "波蘭語" - -msgid "Portuguese" -msgstr "葡萄牙語" - -msgid "Brazilian Portuguese" -msgstr "巴西葡萄牙語" - -msgid "Romanian" -msgstr "羅馬尼亞語" - -msgid "Russian" -msgstr "俄語" - -msgid "Slovak" -msgstr "斯洛伐克語" - -msgid "Slovenian" -msgstr "斯洛維尼亞語" - -msgid "Albanian" -msgstr "阿爾巴尼亞語" - -msgid "Serbian" -msgstr "塞爾維亞語" - -msgid "Serbian Latin" -msgstr "塞爾維亞拉丁語" - -msgid "Swedish" -msgstr "瑞典語" - -msgid "Swahili" -msgstr "斯瓦希里語" - -msgid "Tamil" -msgstr "坦米爾語" - -msgid "Telugu" -msgstr "泰盧固語" - -msgid "Thai" -msgstr "泰語" - -msgid "Turkish" -msgstr "土耳其語" - -msgid "Tatar" -msgstr "韃靼語" - -msgid "Udmurt" -msgstr "烏德穆爾特語" - -msgid "Ukrainian" -msgstr "烏克蘭語" - -msgid "Urdu" -msgstr "烏爾都語" - -msgid "Uzbek" -msgstr "" - -msgid "Vietnamese" -msgstr "越南語" - -msgid "Simplified Chinese" -msgstr "簡體中文" - -msgid "Traditional Chinese" -msgstr "繁體中文" - -msgid "Messages" -msgstr "訊息" - -msgid "Site Maps" -msgstr "網站地圖" - -msgid "Static Files" -msgstr "靜態文件" - -msgid "Syndication" -msgstr "聯播" - -msgid "That page number is not an integer" -msgstr "該頁碼並非整數" - -msgid "That page number is less than 1" -msgstr "該頁碼小於 1" - -msgid "That page contains no results" -msgstr "該頁未包含任何內容" - -msgid "Enter a valid value." -msgstr "請輸入有效的值。" - -msgid "Enter a valid URL." -msgstr "請輸入有效的 URL。" - -msgid "Enter a valid integer." -msgstr "請輸入有效的整數。" - -msgid "Enter a valid email address." -msgstr "請輸入有效的電子郵件地址。" - -#. Translators: "letters" means latin letters: a-z and A-Z. -msgid "" -"Enter a valid “slug” consisting of letters, numbers, underscores or hyphens." -msgstr "" - -msgid "" -"Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or " -"hyphens." -msgstr "" - -msgid "Enter a valid IPv4 address." -msgstr "請輸入有效的 IPv4 位址。" - -msgid "Enter a valid IPv6 address." -msgstr "請輸入有效的 IPv6 位址。" - -msgid "Enter a valid IPv4 or IPv6 address." -msgstr "請輸入有效的 IPv4 或 IPv6 位址。" - -msgid "Enter only digits separated by commas." -msgstr "請輸入以逗號分隔的數字。" - -#, python-format -msgid "Ensure this value is %(limit_value)s (it is %(show_value)s)." -msgstr "請確認這個值是否為 %(limit_value)s (目前是 %(show_value)s)。" - -#, python-format -msgid "Ensure this value is less than or equal to %(limit_value)s." -msgstr "請確認此數值是否小於或等於 %(limit_value)s。" - -#, python-format -msgid "Ensure this value is greater than or equal to %(limit_value)s." -msgstr "請確認此數值是否大於或等於 %(limit_value)s。" - -#, python-format -msgid "" -"Ensure this value has at least %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at least %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"請確認這個值至少包含 %(limit_value)d 個字 (目前為 %(show_value)d 個字)。" - -#, python-format -msgid "" -"Ensure this value has at most %(limit_value)d character (it has " -"%(show_value)d)." -msgid_plural "" -"Ensure this value has at most %(limit_value)d characters (it has " -"%(show_value)d)." -msgstr[0] "" -"請確認這個值至多包含 %(limit_value)d 個字 (目前為 %(show_value)d 個字)。" - -msgid "Enter a number." -msgstr "輸入一個數字" - -#, python-format -msgid "Ensure that there are no more than %(max)s digit in total." -msgid_plural "Ensure that there are no more than %(max)s digits in total." -msgstr[0] "請確認數字全長不超過 %(max)s 位。" - -#, python-format -msgid "Ensure that there are no more than %(max)s decimal place." -msgid_plural "Ensure that there are no more than %(max)s decimal places." -msgstr[0] "請確認十進位數字不多於 %(max)s 位。" - -#, python-format -msgid "" -"Ensure that there are no more than %(max)s digit before the decimal point." -msgid_plural "" -"Ensure that there are no more than %(max)s digits before the decimal point." -msgstr[0] "請確認小數點前不多於 %(max)s 位。" - -#, python-format -msgid "" -"File extension “%(extension)s” is not allowed. Allowed extensions are: " -"%(allowed_extensions)s." -msgstr "" - -msgid "Null characters are not allowed." -msgstr "不允許空(null)字元。" - -msgid "and" -msgstr "和" - -#, python-format -msgid "%(model_name)s with this %(field_labels)s already exists." -msgstr "這個 %(field_labels)s 在 %(model_name)s 已經存在。" - -#, python-format -msgid "Value %(value)r is not a valid choice." -msgstr "數值 %(value)r 不是有效的選擇。" - -msgid "This field cannot be null." -msgstr "這個值不能是 null。" - -msgid "This field cannot be blank." -msgstr "這個欄位不能留白。" - -#, python-format -msgid "%(model_name)s with this %(field_label)s already exists." -msgstr "這個 %(field_label)s 在 %(model_name)s 已經存在。" - -#. Translators: The 'lookup_type' is one of 'date', 'year' or 'month'. -#. Eg: "Title must be unique for pub_date year" -#, python-format -msgid "" -"%(field_label)s must be unique for %(date_field_label)s %(lookup_type)s." -msgstr "%(field_label)s 在 %(date_field_label)s %(lookup_type)s 上必須唯一。" - -#, python-format -msgid "Field of type: %(field_type)s" -msgstr "欄位型態: %(field_type)s" - -#, python-format -msgid "“%(value)s” value must be either True or False." -msgstr "" - -#, python-format -msgid "“%(value)s” value must be either True, False, or None." -msgstr "" - -msgid "Boolean (Either True or False)" -msgstr "布林值 (True 或 False)" - -#, python-format -msgid "String (up to %(max_length)s)" -msgstr "字串 (至多 %(max_length)s 個字)" - -msgid "Comma-separated integers" -msgstr "逗號分隔的整數" - -#, python-format -msgid "" -"“%(value)s” value has an invalid date format. It must be in YYYY-MM-DD " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD) but it is an invalid " -"date." -msgstr "" - -msgid "Date (without time)" -msgstr "日期 (不包括時間)" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[." -"uuuuuu]][TZ] format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]]" -"[TZ]) but it is an invalid date/time." -msgstr "" - -msgid "Date (with time)" -msgstr "日期 (包括時間)" - -#, python-format -msgid "“%(value)s” value must be a decimal number." -msgstr "" - -msgid "Decimal number" -msgstr "十進位數" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in [DD] [[HH:]MM:]ss[." -"uuuuuu] format." -msgstr "" - -msgid "Duration" -msgstr "時間長" - -msgid "Email address" -msgstr "電子郵件地址" - -msgid "File path" -msgstr "檔案路徑" - -#, python-format -msgid "“%(value)s” value must be a float." -msgstr "" - -msgid "Floating point number" -msgstr "浮點數" - -#, python-format -msgid "“%(value)s” value must be an integer." -msgstr "" - -msgid "Integer" -msgstr "整數" - -msgid "Big (8 byte) integer" -msgstr "大整數 (8 位元組)" - -msgid "IPv4 address" -msgstr "IPv4 地址" - -msgid "IP address" -msgstr "IP 位址" - -#, python-format -msgid "“%(value)s” value must be either None, True or False." -msgstr "" - -msgid "Boolean (Either True, False or None)" -msgstr "布林值 (True, False 或 None)" - -msgid "Positive integer" -msgstr "正整數" - -msgid "Positive small integer" -msgstr "正小整數" - -#, python-format -msgid "Slug (up to %(max_length)s)" -msgstr "可讀網址 (長度最多 %(max_length)s)" - -msgid "Small integer" -msgstr "小整數" - -msgid "Text" -msgstr "文字" - -#, python-format -msgid "" -"“%(value)s” value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] " -"format." -msgstr "" - -#, python-format -msgid "" -"“%(value)s” value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an " -"invalid time." -msgstr "" - -msgid "Time" -msgstr "時間" - -msgid "URL" -msgstr "URL" - -msgid "Raw binary data" -msgstr "原始二進制數據" - -#, python-format -msgid "“%(value)s” is not a valid UUID." -msgstr "" - -msgid "Universally unique identifier" -msgstr "" - -msgid "File" -msgstr "檔案" - -msgid "Image" -msgstr "影像" - -#, python-format -msgid "%(model)s instance with %(field)s %(value)r does not exist." -msgstr "%(field)s 為 %(value)r 的 %(model)s 物件不存在。" - -msgid "Foreign Key (type determined by related field)" -msgstr "外鍵 (型態由關連欄位決定)" - -msgid "One-to-one relationship" -msgstr "一對一關連" - -#, python-format -msgid "%(from)s-%(to)s relationship" -msgstr "%(from)s-%(to)s 關連" - -#, python-format -msgid "%(from)s-%(to)s relationships" -msgstr "%(from)s-%(to)s 關連" - -msgid "Many-to-many relationship" -msgstr "多對多關連" - -#. Translators: If found as last label character, these punctuation -#. characters will prevent the default label_suffix to be appended to the -#. label -msgid ":?.!" -msgstr ":?.!" - -msgid "This field is required." -msgstr "這個欄位是必須的。" - -msgid "Enter a whole number." -msgstr "輸入整數" - -msgid "Enter a valid date." -msgstr "輸入有效的日期" - -msgid "Enter a valid time." -msgstr "輸入有效的時間" - -msgid "Enter a valid date/time." -msgstr "輸入有效的日期/時間" - -msgid "Enter a valid duration." -msgstr "輸入有效的時間長。" - -#, python-brace-format -msgid "The number of days must be between {min_days} and {max_days}." -msgstr "" - -msgid "No file was submitted. Check the encoding type on the form." -msgstr "沒有檔案被送出。請檢查表單的編碼類型。" - -msgid "No file was submitted." -msgstr "沒有檔案送出" - -msgid "The submitted file is empty." -msgstr "送出的檔案是空的。" - -#, python-format -msgid "Ensure this filename has at most %(max)d character (it has %(length)d)." -msgid_plural "" -"Ensure this filename has at most %(max)d characters (it has %(length)d)." -msgstr[0] "請確認這個檔名至多包含 %(max)d 個字 (目前為 %(length)d)。" - -msgid "Please either submit a file or check the clear checkbox, not both." -msgstr "請提交一個檔案或確認清除核可項, 不能兩者都做。" - -msgid "" -"Upload a valid image. The file you uploaded was either not an image or a " -"corrupted image." -msgstr "上傳一個有效的圖檔。你上傳的檔案為非圖片,不然就是損壞的圖檔。" - -#, python-format -msgid "Select a valid choice. %(value)s is not one of the available choices." -msgstr "請選擇有效的項目, %(value)s 不是一個可用的選擇。" - -msgid "Enter a list of values." -msgstr "請輸入一個列表的值。" - -msgid "Enter a complete value." -msgstr "請輸入完整的值。" - -msgid "Enter a valid UUID." -msgstr "請輸入有效的 UUID。" - -#. Translators: This is the default suffix added to form field labels -msgid ":" -msgstr ":" - -#, python-format -msgid "(Hidden field %(name)s) %(error)s" -msgstr "(隱藏欄位 %(name)s) %(error)s" - -msgid "ManagementForm data is missing or has been tampered with" -msgstr "ManagementForm 資料缺失或遭竄改" - -#, python-format -msgid "Please submit %d or fewer forms." -msgid_plural "Please submit %d or fewer forms." -msgstr[0] "請送出不多於 %d 個表單。" - -#, python-format -msgid "Please submit %d or more forms." -msgid_plural "Please submit %d or more forms." -msgstr[0] "請送出多於 %d 個表單。" - -msgid "Order" -msgstr "排序" - -msgid "Delete" -msgstr "刪除" - -#, python-format -msgid "Please correct the duplicate data for %(field)s." -msgstr "請修正 %(field)s 的重覆資料" - -#, python-format -msgid "Please correct the duplicate data for %(field)s, which must be unique." -msgstr "請修正 %(field)s 的重覆資料, 必須為唯一值" - -#, python-format -msgid "" -"Please correct the duplicate data for %(field_name)s which must be unique " -"for the %(lookup)s in %(date_field)s." -msgstr "" -"請修正 %(field_name)s 重複資料, %(date_field)s 的 %(lookup)s 必須是唯一值。" - -msgid "Please correct the duplicate values below." -msgstr "請修正下方重覆的數值" - -msgid "The inline value did not match the parent instance." -msgstr "內含的外鍵無法連接到對應的上層實體。" - -msgid "Select a valid choice. That choice is not one of the available choices." -msgstr "選擇有效的選項: 此選擇不在可用的選項中。" - -#, python-format -msgid "“%(pk)s” is not a valid value." -msgstr "" - -#, python-format -msgid "" -"%(datetime)s couldn’t be interpreted in time zone %(current_timezone)s; it " -"may be ambiguous or it may not exist." -msgstr "" - -msgid "Clear" -msgstr "清除" - -msgid "Currently" -msgstr "目前" - -msgid "Change" -msgstr "變更" - -msgid "Unknown" -msgstr "未知" - -msgid "Yes" -msgstr "是" - -msgid "No" -msgstr "否" - -msgid "Year" -msgstr "" - -msgid "Month" -msgstr "" - -msgid "Day" -msgstr "" - -msgid "yes,no,maybe" -msgstr "是、否、也許" - -#, python-format -msgid "%(size)d byte" -msgid_plural "%(size)d bytes" -msgstr[0] "%(size)d 位元組" - -#, python-format -msgid "%s KB" -msgstr "%s KB" - -#, python-format -msgid "%s MB" -msgstr "%s MB" - -#, python-format -msgid "%s GB" -msgstr "%s GB" - -#, python-format -msgid "%s TB" -msgstr "%s TB" - -#, python-format -msgid "%s PB" -msgstr "%s PB" - -msgid "p.m." -msgstr "p.m." - -msgid "a.m." -msgstr "a.m." - -msgid "PM" -msgstr "PM" - -msgid "AM" -msgstr "AM" - -msgid "midnight" -msgstr "午夜" - -msgid "noon" -msgstr "中午" - -msgid "Monday" -msgstr "星期一" - -msgid "Tuesday" -msgstr "星期二" - -msgid "Wednesday" -msgstr "星期三" - -msgid "Thursday" -msgstr "星期四" - -msgid "Friday" -msgstr "星期五" - -msgid "Saturday" -msgstr "星期六" - -msgid "Sunday" -msgstr "星期日" - -msgid "Mon" -msgstr "星期一" - -msgid "Tue" -msgstr "星期二" - -msgid "Wed" -msgstr "星期三" - -msgid "Thu" -msgstr "星期四" - -msgid "Fri" -msgstr "星期五" - -msgid "Sat" -msgstr "星期六" - -msgid "Sun" -msgstr "星期日" - -msgid "January" -msgstr "一月" - -msgid "February" -msgstr "二月" - -msgid "March" -msgstr "三月" - -msgid "April" -msgstr "四月" - -msgid "May" -msgstr "五月" - -msgid "June" -msgstr "六月" - -msgid "July" -msgstr "七月" - -msgid "August" -msgstr "八月" - -msgid "September" -msgstr "九月" - -msgid "October" -msgstr "十月" - -msgid "November" -msgstr "十一月" - -msgid "December" -msgstr "十二月" - -msgid "jan" -msgstr "一月" - -msgid "feb" -msgstr "二月" - -msgid "mar" -msgstr "三月" - -msgid "apr" -msgstr "四月" - -msgid "may" -msgstr "五月" - -msgid "jun" -msgstr "六月" - -msgid "jul" -msgstr "七月" - -msgid "aug" -msgstr "八月" - -msgid "sep" -msgstr "九月" - -msgid "oct" -msgstr "十月" - -msgid "nov" -msgstr "十一月" - -msgid "dec" -msgstr "十二月" - -msgctxt "abbrev. month" -msgid "Jan." -msgstr "一月" - -msgctxt "abbrev. month" -msgid "Feb." -msgstr "二月" - -msgctxt "abbrev. month" -msgid "March" -msgstr "三月" - -msgctxt "abbrev. month" -msgid "April" -msgstr "四月" - -msgctxt "abbrev. month" -msgid "May" -msgstr "五月" - -msgctxt "abbrev. month" -msgid "June" -msgstr "六月" - -msgctxt "abbrev. month" -msgid "July" -msgstr "七月" - -msgctxt "abbrev. month" -msgid "Aug." -msgstr "八月" - -msgctxt "abbrev. month" -msgid "Sept." -msgstr "九月" - -msgctxt "abbrev. month" -msgid "Oct." -msgstr "十月" - -msgctxt "abbrev. month" -msgid "Nov." -msgstr "十一月" - -msgctxt "abbrev. month" -msgid "Dec." -msgstr "十二月" - -msgctxt "alt. month" -msgid "January" -msgstr "一月" - -msgctxt "alt. month" -msgid "February" -msgstr "二月" - -msgctxt "alt. month" -msgid "March" -msgstr "三月" - -msgctxt "alt. month" -msgid "April" -msgstr "四月" - -msgctxt "alt. month" -msgid "May" -msgstr "五月" - -msgctxt "alt. month" -msgid "June" -msgstr "六月" - -msgctxt "alt. month" -msgid "July" -msgstr "七月" - -msgctxt "alt. month" -msgid "August" -msgstr "八月" - -msgctxt "alt. month" -msgid "September" -msgstr "九月" - -msgctxt "alt. month" -msgid "October" -msgstr "十月" - -msgctxt "alt. month" -msgid "November" -msgstr "十一月" - -msgctxt "alt. month" -msgid "December" -msgstr "十二月" - -msgid "This is not a valid IPv6 address." -msgstr "這是無效的 IPv6 位址。" - -#, python-format -msgctxt "String to return when truncating text" -msgid "%(truncated_text)s…" -msgstr "" - -msgid "or" -msgstr "或" - -#. Translators: This string is used as a separator between list elements -msgid ", " -msgstr ", " - -#, python-format -msgid "%d year" -msgid_plural "%d years" -msgstr[0] "%d 年" - -#, python-format -msgid "%d month" -msgid_plural "%d months" -msgstr[0] "%d 月" - -#, python-format -msgid "%d week" -msgid_plural "%d weeks" -msgstr[0] "%d 週" - -#, python-format -msgid "%d day" -msgid_plural "%d days" -msgstr[0] "%d 日" - -#, python-format -msgid "%d hour" -msgid_plural "%d hours" -msgstr[0] "%d 時" - -#, python-format -msgid "%d minute" -msgid_plural "%d minutes" -msgstr[0] "%d 分" - -msgid "0 minutes" -msgstr "0 分" - -msgid "Forbidden" -msgstr "禁止" - -msgid "CSRF verification failed. Request aborted." -msgstr "CSRF 驗證失敗。已中止請求。" - -msgid "" -"You are seeing this message because this HTTPS site requires a “Referer " -"header” to be sent by your Web browser, but none was sent. This header is " -"required for security reasons, to ensure that your browser is not being " -"hijacked by third parties." -msgstr "" - -msgid "" -"If you have configured your browser to disable “Referer” headers, please re-" -"enable them, at least for this site, or for HTTPS connections, or for “same-" -"origin” requests." -msgstr "" - -msgid "" -"If you are using the tag or " -"including the “Referrer-Policy: no-referrer” header, please remove them. The " -"CSRF protection requires the “Referer” header to do strict referer checking. " -"If you’re concerned about privacy, use alternatives like for links to third-party sites." -msgstr "" - -msgid "" -"You are seeing this message because this site requires a CSRF cookie when " -"submitting forms. This cookie is required for security reasons, to ensure " -"that your browser is not being hijacked by third parties." -msgstr "" -"你看到這個訊息,是因為這個網站要求在送出表單包含一個 CSRF cookie。這個 " -"cookie 是用於安全用途,保護你的瀏覽器不被第三方挾持。" - -msgid "" -"If you have configured your browser to disable cookies, please re-enable " -"them, at least for this site, or for “same-origin” requests." -msgstr "" - -msgid "More information is available with DEBUG=True." -msgstr "設定 DEBUG=True 以獲得更多資訊。" - -msgid "No year specified" -msgstr "不指定年份" - -msgid "Date out of range" -msgstr "日期超過範圍" - -msgid "No month specified" -msgstr "不指定月份" - -msgid "No day specified" -msgstr "不指定日期" - -msgid "No week specified" -msgstr "不指定週數" - -#, python-format -msgid "No %(verbose_name_plural)s available" -msgstr "%(verbose_name_plural)s 無法使用" - -#, python-format -msgid "" -"Future %(verbose_name_plural)s not available because %(class_name)s." -"allow_future is False." -msgstr "" -"未來的 %(verbose_name_plural)s 不可用,因 %(class_name)s.allow_future 為 " -"False." - -#, python-format -msgid "Invalid date string “%(datestr)s” given format “%(format)s”" -msgstr "" - -#, python-format -msgid "No %(verbose_name)s found matching the query" -msgstr "無 %(verbose_name)s 符合本次搜尋" - -msgid "Page is not “last”, nor can it be converted to an int." -msgstr "" - -#, python-format -msgid "Invalid page (%(page_number)s): %(message)s" -msgstr "無效的頁面 (%(page_number)s): %(message)s" - -#, python-format -msgid "Empty list and “%(class_name)s.allow_empty” is False." -msgstr "" - -msgid "Directory indexes are not allowed here." -msgstr "這裡不允許目錄索引。" - -#, python-format -msgid "“%(path)s” does not exist" -msgstr "" - -#, python-format -msgid "Index of %(directory)s" -msgstr "%(directory)s 的索引" - -msgid "Django: the Web framework for perfectionists with deadlines." -msgstr "Django:為有時間壓力的完美主義者設計的網站框架。" - -#, python-format -msgid "" -"View release notes for Django %(version)s" -msgstr "" -"查看 Django %(version)s 的發行筆記" - -msgid "The install worked successfully! Congratulations!" -msgstr "安裝成功!恭喜!" - -#, python-format -msgid "" -"You are seeing this page because DEBUG=True is in your settings file and you have not configured any " -"URLs." -msgstr "" -"你看到這個訊息,是因為你在 Django 設定檔中包含 DEBUG = True,且尚未配置任何網址。開始工作吧!" - -msgid "Django Documentation" -msgstr "Django 文件" - -msgid "Topics, references, & how-to’s" -msgstr "" - -msgid "Tutorial: A Polling App" -msgstr "教學:投票應用" - -msgid "Get started with Django" -msgstr "初學 Django" - -msgid "Django Community" -msgstr "Django 社群" - -msgid "Connect, get help, or contribute" -msgstr "聯繫、求助、貢獻" diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/zh_Hant/__init__.py b/venv/lib/python3.8/site-packages/django/conf/locale/zh_Hant/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/zh_Hant/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/zh_Hant/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 41429f6e..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/zh_Hant/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/zh_Hant/__pycache__/formats.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/locale/zh_Hant/__pycache__/formats.cpython-38.pyc deleted file mode 100644 index 143fa311..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/locale/zh_Hant/__pycache__/formats.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/locale/zh_Hant/formats.py b/venv/lib/python3.8/site-packages/django/conf/locale/zh_Hant/formats.py deleted file mode 100644 index 018b9b17..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/locale/zh_Hant/formats.py +++ /dev/null @@ -1,42 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# The *_FORMAT strings use the Django date format syntax, -# see https://docs.djangoproject.com/en/dev/ref/templates/builtins/#date -DATE_FORMAT = 'Y年n月j日' # 2016年9月5日 -TIME_FORMAT = 'H:i' # 20:45 -DATETIME_FORMAT = 'Y年n月j日 H:i' # 2016年9月5日 20:45 -YEAR_MONTH_FORMAT = 'Y年n月' # 2016年9月 -MONTH_DAY_FORMAT = 'm月j日' # 9月5日 -SHORT_DATE_FORMAT = 'Y年n月j日' # 2016年9月5日 -SHORT_DATETIME_FORMAT = 'Y年n月j日 H:i' # 2016年9月5日 20:45 -FIRST_DAY_OF_WEEK = 1 # 星期一 (Monday) - -# The *_INPUT_FORMATS strings use the Python strftime format syntax, -# see https://docs.python.org/library/datetime.html#strftime-strptime-behavior -DATE_INPUT_FORMATS = [ - '%Y/%m/%d', # '2016/09/05' - '%Y-%m-%d', # '2016-09-05' - '%Y年%n月%j日', # '2016年9月5日' -] - -TIME_INPUT_FORMATS = [ - '%H:%M', # '20:45' - '%H:%M:%S', # '20:45:29' - '%H:%M:%S.%f', # '20:45:29.000200' -] - -DATETIME_INPUT_FORMATS = [ - '%Y/%m/%d %H:%M', # '2016/09/05 20:45' - '%Y-%m-%d %H:%M', # '2016-09-05 20:45' - '%Y年%n月%j日 %H:%M', # '2016年9月5日 14:45' - '%Y/%m/%d %H:%M:%S', # '2016/09/05 20:45:29' - '%Y-%m-%d %H:%M:%S', # '2016-09-05 20:45:29' - '%Y年%n月%j日 %H:%M:%S', # '2016年9月5日 20:45:29' - '%Y/%m/%d %H:%M:%S.%f', # '2016/09/05 20:45:29.000200' - '%Y-%m-%d %H:%M:%S.%f', # '2016-09-05 20:45:29.000200' - '%Y年%n月%j日 %H:%n:%S.%f', # '2016年9月5日 20:45:29.000200' -] - -DECIMAL_SEPARATOR = '.' -THOUSAND_SEPARATOR = '' -NUMBER_GROUPING = 4 diff --git a/venv/lib/python3.8/site-packages/django/conf/project_template/manage.py-tpl b/venv/lib/python3.8/site-packages/django/conf/project_template/manage.py-tpl deleted file mode 100755 index a628884d..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/project_template/manage.py-tpl +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env python -"""Django's command-line utility for administrative tasks.""" -import os -import sys - - -def main(): - """Run administrative tasks.""" - os.environ.setdefault('DJANGO_SETTINGS_MODULE', '{{ project_name }}.settings') - try: - from django.core.management import execute_from_command_line - except ImportError as exc: - raise ImportError( - "Couldn't import Django. Are you sure it's installed and " - "available on your PYTHONPATH environment variable? Did you " - "forget to activate a virtual environment?" - ) from exc - execute_from_command_line(sys.argv) - - -if __name__ == '__main__': - main() diff --git a/venv/lib/python3.8/site-packages/django/conf/project_template/project_name/__init__.py-tpl b/venv/lib/python3.8/site-packages/django/conf/project_template/project_name/__init__.py-tpl deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/conf/project_template/project_name/asgi.py-tpl b/venv/lib/python3.8/site-packages/django/conf/project_template/project_name/asgi.py-tpl deleted file mode 100644 index a8272381..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/project_template/project_name/asgi.py-tpl +++ /dev/null @@ -1,16 +0,0 @@ -""" -ASGI config for {{ project_name }} project. - -It exposes the ASGI callable as a module-level variable named ``application``. - -For more information on this file, see -https://docs.djangoproject.com/en/{{ docs_version }}/howto/deployment/asgi/ -""" - -import os - -from django.core.asgi import get_asgi_application - -os.environ.setdefault('DJANGO_SETTINGS_MODULE', '{{ project_name }}.settings') - -application = get_asgi_application() diff --git a/venv/lib/python3.8/site-packages/django/conf/project_template/project_name/settings.py-tpl b/venv/lib/python3.8/site-packages/django/conf/project_template/project_name/settings.py-tpl deleted file mode 100644 index 444c899b..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/project_template/project_name/settings.py-tpl +++ /dev/null @@ -1,120 +0,0 @@ -""" -Django settings for {{ project_name }} project. - -Generated by 'django-admin startproject' using Django {{ django_version }}. - -For more information on this file, see -https://docs.djangoproject.com/en/{{ docs_version }}/topics/settings/ - -For the full list of settings and their values, see -https://docs.djangoproject.com/en/{{ docs_version }}/ref/settings/ -""" - -from pathlib import Path - -# Build paths inside the project like this: BASE_DIR / 'subdir'. -BASE_DIR = Path(__file__).resolve().parent.parent - - -# Quick-start development settings - unsuitable for production -# See https://docs.djangoproject.com/en/{{ docs_version }}/howto/deployment/checklist/ - -# SECURITY WARNING: keep the secret key used in production secret! -SECRET_KEY = '{{ secret_key }}' - -# SECURITY WARNING: don't run with debug turned on in production! -DEBUG = True - -ALLOWED_HOSTS = [] - - -# Application definition - -INSTALLED_APPS = [ - 'django.contrib.admin', - 'django.contrib.auth', - 'django.contrib.contenttypes', - 'django.contrib.sessions', - 'django.contrib.messages', - 'django.contrib.staticfiles', -] - -MIDDLEWARE = [ - 'django.middleware.security.SecurityMiddleware', - 'django.contrib.sessions.middleware.SessionMiddleware', - 'django.middleware.common.CommonMiddleware', - 'django.middleware.csrf.CsrfViewMiddleware', - 'django.contrib.auth.middleware.AuthenticationMiddleware', - 'django.contrib.messages.middleware.MessageMiddleware', - 'django.middleware.clickjacking.XFrameOptionsMiddleware', -] - -ROOT_URLCONF = '{{ project_name }}.urls' - -TEMPLATES = [ - { - 'BACKEND': 'django.template.backends.django.DjangoTemplates', - 'DIRS': [], - 'APP_DIRS': True, - 'OPTIONS': { - 'context_processors': [ - 'django.template.context_processors.debug', - 'django.template.context_processors.request', - 'django.contrib.auth.context_processors.auth', - 'django.contrib.messages.context_processors.messages', - ], - }, - }, -] - -WSGI_APPLICATION = '{{ project_name }}.wsgi.application' - - -# Database -# https://docs.djangoproject.com/en/{{ docs_version }}/ref/settings/#databases - -DATABASES = { - 'default': { - 'ENGINE': 'django.db.backends.sqlite3', - 'NAME': BASE_DIR / 'db.sqlite3', - } -} - - -# Password validation -# https://docs.djangoproject.com/en/{{ docs_version }}/ref/settings/#auth-password-validators - -AUTH_PASSWORD_VALIDATORS = [ - { - 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', - }, - { - 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', - }, - { - 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', - }, - { - 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', - }, -] - - -# Internationalization -# https://docs.djangoproject.com/en/{{ docs_version }}/topics/i18n/ - -LANGUAGE_CODE = 'en-us' - -TIME_ZONE = 'UTC' - -USE_I18N = True - -USE_L10N = True - -USE_TZ = True - - -# Static files (CSS, JavaScript, Images) -# https://docs.djangoproject.com/en/{{ docs_version }}/howto/static-files/ - -STATIC_URL = '/static/' diff --git a/venv/lib/python3.8/site-packages/django/conf/project_template/project_name/urls.py-tpl b/venv/lib/python3.8/site-packages/django/conf/project_template/project_name/urls.py-tpl deleted file mode 100644 index e23d6a92..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/project_template/project_name/urls.py-tpl +++ /dev/null @@ -1,21 +0,0 @@ -"""{{ project_name }} URL Configuration - -The `urlpatterns` list routes URLs to views. For more information please see: - https://docs.djangoproject.com/en/{{ docs_version }}/topics/http/urls/ -Examples: -Function views - 1. Add an import: from my_app import views - 2. Add a URL to urlpatterns: path('', views.home, name='home') -Class-based views - 1. Add an import: from other_app.views import Home - 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') -Including another URLconf - 1. Import the include() function: from django.urls import include, path - 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) -""" -from django.contrib import admin -from django.urls import path - -urlpatterns = [ - path('admin/', admin.site.urls), -] diff --git a/venv/lib/python3.8/site-packages/django/conf/project_template/project_name/wsgi.py-tpl b/venv/lib/python3.8/site-packages/django/conf/project_template/project_name/wsgi.py-tpl deleted file mode 100644 index 1ee28d0e..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/project_template/project_name/wsgi.py-tpl +++ /dev/null @@ -1,16 +0,0 @@ -""" -WSGI config for {{ project_name }} project. - -It exposes the WSGI callable as a module-level variable named ``application``. - -For more information on this file, see -https://docs.djangoproject.com/en/{{ docs_version }}/howto/deployment/wsgi/ -""" - -import os - -from django.core.wsgi import get_wsgi_application - -os.environ.setdefault('DJANGO_SETTINGS_MODULE', '{{ project_name }}.settings') - -application = get_wsgi_application() diff --git a/venv/lib/python3.8/site-packages/django/conf/urls/__init__.py b/venv/lib/python3.8/site-packages/django/conf/urls/__init__.py deleted file mode 100644 index c58e581c..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/urls/__init__.py +++ /dev/null @@ -1,22 +0,0 @@ -import warnings - -from django.urls import include, re_path -from django.utils.deprecation import RemovedInDjango40Warning -from django.views import defaults - -__all__ = ['handler400', 'handler403', 'handler404', 'handler500', 'include', 'url'] - -handler400 = defaults.bad_request -handler403 = defaults.permission_denied -handler404 = defaults.page_not_found -handler500 = defaults.server_error - - -def url(regex, view, kwargs=None, name=None): - warnings.warn( - 'django.conf.urls.url() is deprecated in favor of ' - 'django.urls.re_path().', - RemovedInDjango40Warning, - stacklevel=2, - ) - return re_path(regex, view, kwargs, name) diff --git a/venv/lib/python3.8/site-packages/django/conf/urls/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/urls/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index dbc7463d..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/urls/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/urls/__pycache__/i18n.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/urls/__pycache__/i18n.cpython-38.pyc deleted file mode 100644 index 53f2c243..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/urls/__pycache__/i18n.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/urls/__pycache__/static.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/conf/urls/__pycache__/static.cpython-38.pyc deleted file mode 100644 index 67600852..00000000 Binary files a/venv/lib/python3.8/site-packages/django/conf/urls/__pycache__/static.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/conf/urls/i18n.py b/venv/lib/python3.8/site-packages/django/conf/urls/i18n.py deleted file mode 100644 index 256c2474..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/urls/i18n.py +++ /dev/null @@ -1,39 +0,0 @@ -import functools - -from django.conf import settings -from django.urls import LocalePrefixPattern, URLResolver, get_resolver, path -from django.views.i18n import set_language - - -def i18n_patterns(*urls, prefix_default_language=True): - """ - Add the language code prefix to every URL pattern within this function. - This may only be used in the root URLconf, not in an included URLconf. - """ - if not settings.USE_I18N: - return list(urls) - return [ - URLResolver( - LocalePrefixPattern(prefix_default_language=prefix_default_language), - list(urls), - ) - ] - - -@functools.lru_cache(maxsize=None) -def is_language_prefix_patterns_used(urlconf): - """ - Return a tuple of two booleans: ( - `True` if i18n_patterns() (LocalePrefixPattern) is used in the URLconf, - `True` if the default language should be prefixed - ) - """ - for url_pattern in get_resolver(urlconf).url_patterns: - if isinstance(url_pattern.pattern, LocalePrefixPattern): - return True, url_pattern.pattern.prefix_default_language - return False, False - - -urlpatterns = [ - path('setlang/', set_language, name='set_language'), -] diff --git a/venv/lib/python3.8/site-packages/django/conf/urls/static.py b/venv/lib/python3.8/site-packages/django/conf/urls/static.py deleted file mode 100644 index fa83645b..00000000 --- a/venv/lib/python3.8/site-packages/django/conf/urls/static.py +++ /dev/null @@ -1,28 +0,0 @@ -import re -from urllib.parse import urlsplit - -from django.conf import settings -from django.core.exceptions import ImproperlyConfigured -from django.urls import re_path -from django.views.static import serve - - -def static(prefix, view=serve, **kwargs): - """ - Return a URL pattern for serving files in debug mode. - - from django.conf import settings - from django.conf.urls.static import static - - urlpatterns = [ - # ... the rest of your URLconf goes here ... - ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) - """ - if not prefix: - raise ImproperlyConfigured("Empty static prefix not permitted") - elif not settings.DEBUG or urlsplit(prefix).netloc: - # No-op if not in debug mode or a non-local prefix. - return [] - return [ - re_path(r'^%s(?P.*)$' % re.escape(prefix.lstrip('/')), view, kwargs=kwargs), - ] diff --git a/venv/lib/python3.8/site-packages/django/contrib/__init__.py b/venv/lib/python3.8/site-packages/django/contrib/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/contrib/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/contrib/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 2ad17df0..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/__init__.py b/venv/lib/python3.8/site-packages/django/contrib/admin/__init__.py deleted file mode 100644 index f9bf6543..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/__init__.py +++ /dev/null @@ -1,27 +0,0 @@ -from django.contrib.admin.decorators import register -from django.contrib.admin.filters import ( - AllValuesFieldListFilter, BooleanFieldListFilter, ChoicesFieldListFilter, - DateFieldListFilter, EmptyFieldListFilter, FieldListFilter, ListFilter, - RelatedFieldListFilter, RelatedOnlyFieldListFilter, SimpleListFilter, -) -from django.contrib.admin.options import ( - HORIZONTAL, VERTICAL, ModelAdmin, StackedInline, TabularInline, -) -from django.contrib.admin.sites import AdminSite, site -from django.utils.module_loading import autodiscover_modules - -__all__ = [ - "register", "ModelAdmin", "HORIZONTAL", "VERTICAL", "StackedInline", - "TabularInline", "AdminSite", "site", "ListFilter", "SimpleListFilter", - "FieldListFilter", "BooleanFieldListFilter", "RelatedFieldListFilter", - "ChoicesFieldListFilter", "DateFieldListFilter", - "AllValuesFieldListFilter", "EmptyFieldListFilter", - "RelatedOnlyFieldListFilter", "autodiscover", -] - - -def autodiscover(): - autodiscover_modules('admin', register_to=site) - - -default_app_config = 'django.contrib.admin.apps.AdminConfig' diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/contrib/admin/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 48e1eb48..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/__pycache__/actions.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/contrib/admin/__pycache__/actions.cpython-38.pyc deleted file mode 100644 index 7aef7777..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/__pycache__/actions.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/__pycache__/apps.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/contrib/admin/__pycache__/apps.cpython-38.pyc deleted file mode 100644 index 4b20fe64..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/__pycache__/apps.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/__pycache__/checks.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/contrib/admin/__pycache__/checks.cpython-38.pyc deleted file mode 100644 index 05e6d228..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/__pycache__/checks.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/__pycache__/decorators.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/contrib/admin/__pycache__/decorators.cpython-38.pyc deleted file mode 100644 index eff02eed..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/__pycache__/decorators.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/__pycache__/exceptions.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/contrib/admin/__pycache__/exceptions.cpython-38.pyc deleted file mode 100644 index e3a4ce22..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/__pycache__/exceptions.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/__pycache__/filters.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/contrib/admin/__pycache__/filters.cpython-38.pyc deleted file mode 100644 index f43ecf30..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/__pycache__/filters.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/__pycache__/forms.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/contrib/admin/__pycache__/forms.cpython-38.pyc deleted file mode 100644 index 6dadb417..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/__pycache__/forms.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/__pycache__/helpers.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/contrib/admin/__pycache__/helpers.cpython-38.pyc deleted file mode 100644 index 572476b2..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/__pycache__/helpers.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/__pycache__/models.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/contrib/admin/__pycache__/models.cpython-38.pyc deleted file mode 100644 index df1b3bce..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/__pycache__/models.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/__pycache__/options.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/contrib/admin/__pycache__/options.cpython-38.pyc deleted file mode 100644 index cb6b1b0e..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/__pycache__/options.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/__pycache__/sites.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/contrib/admin/__pycache__/sites.cpython-38.pyc deleted file mode 100644 index 48a9e659..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/__pycache__/sites.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/__pycache__/tests.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/contrib/admin/__pycache__/tests.cpython-38.pyc deleted file mode 100644 index 9f0032b2..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/__pycache__/tests.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/__pycache__/utils.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/contrib/admin/__pycache__/utils.cpython-38.pyc deleted file mode 100644 index 28a39b25..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/__pycache__/utils.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/__pycache__/widgets.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/contrib/admin/__pycache__/widgets.cpython-38.pyc deleted file mode 100644 index 3258f649..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/__pycache__/widgets.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/actions.py b/venv/lib/python3.8/site-packages/django/contrib/admin/actions.py deleted file mode 100644 index 1e1c3bd3..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/actions.py +++ /dev/null @@ -1,79 +0,0 @@ -""" -Built-in, globally-available admin actions. -""" - -from django.contrib import messages -from django.contrib.admin import helpers -from django.contrib.admin.utils import model_ngettext -from django.core.exceptions import PermissionDenied -from django.template.response import TemplateResponse -from django.utils.translation import gettext as _, gettext_lazy - - -def delete_selected(modeladmin, request, queryset): - """ - Default action which deletes the selected objects. - - This action first displays a confirmation page which shows all the - deletable objects, or, if the user has no permission one of the related - childs (foreignkeys), a "permission denied" message. - - Next, it deletes all selected objects and redirects back to the change list. - """ - opts = modeladmin.model._meta - app_label = opts.app_label - - # Populate deletable_objects, a data structure of all related objects that - # will also be deleted. - deletable_objects, model_count, perms_needed, protected = modeladmin.get_deleted_objects(queryset, request) - - # The user has already confirmed the deletion. - # Do the deletion and return None to display the change list view again. - if request.POST.get('post') and not protected: - if perms_needed: - raise PermissionDenied - n = queryset.count() - if n: - for obj in queryset: - obj_display = str(obj) - modeladmin.log_deletion(request, obj, obj_display) - modeladmin.delete_queryset(request, queryset) - modeladmin.message_user(request, _("Successfully deleted %(count)d %(items)s.") % { - "count": n, "items": model_ngettext(modeladmin.opts, n) - }, messages.SUCCESS) - # Return None to display the change list page again. - return None - - objects_name = model_ngettext(queryset) - - if perms_needed or protected: - title = _("Cannot delete %(name)s") % {"name": objects_name} - else: - title = _("Are you sure?") - - context = { - **modeladmin.admin_site.each_context(request), - 'title': title, - 'objects_name': str(objects_name), - 'deletable_objects': [deletable_objects], - 'model_count': dict(model_count).items(), - 'queryset': queryset, - 'perms_lacking': perms_needed, - 'protected': protected, - 'opts': opts, - 'action_checkbox_name': helpers.ACTION_CHECKBOX_NAME, - 'media': modeladmin.media, - } - - request.current_app = modeladmin.admin_site.name - - # Display the confirmation page - return TemplateResponse(request, modeladmin.delete_selected_confirmation_template or [ - "admin/%s/%s/delete_selected_confirmation.html" % (app_label, opts.model_name), - "admin/%s/delete_selected_confirmation.html" % app_label, - "admin/delete_selected_confirmation.html" - ], context) - - -delete_selected.allowed_permissions = ('delete',) -delete_selected.short_description = gettext_lazy("Delete selected %(verbose_name_plural)s") diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/apps.py b/venv/lib/python3.8/site-packages/django/contrib/admin/apps.py deleted file mode 100644 index 36c15768..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/apps.py +++ /dev/null @@ -1,24 +0,0 @@ -from django.apps import AppConfig -from django.contrib.admin.checks import check_admin_app, check_dependencies -from django.core import checks -from django.utils.translation import gettext_lazy as _ - - -class SimpleAdminConfig(AppConfig): - """Simple AppConfig which does not do automatic discovery.""" - - default_site = 'django.contrib.admin.sites.AdminSite' - name = 'django.contrib.admin' - verbose_name = _("Administration") - - def ready(self): - checks.register(check_dependencies, checks.Tags.admin) - checks.register(check_admin_app, checks.Tags.admin) - - -class AdminConfig(SimpleAdminConfig): - """The default AppConfig for admin which does autodiscovery.""" - - def ready(self): - super().ready() - self.module.autodiscover() diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/checks.py b/venv/lib/python3.8/site-packages/django/contrib/admin/checks.py deleted file mode 100644 index 25a379fb..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/checks.py +++ /dev/null @@ -1,1131 +0,0 @@ -import collections -from itertools import chain - -from django.apps import apps -from django.conf import settings -from django.contrib.admin.utils import ( - NotRelationField, flatten, get_fields_from_path, -) -from django.core import checks -from django.core.exceptions import FieldDoesNotExist -from django.db import models -from django.db.models.constants import LOOKUP_SEP -from django.db.models.expressions import Combinable -from django.forms.models import ( - BaseModelForm, BaseModelFormSet, _get_foreign_key, -) -from django.template import engines -from django.template.backends.django import DjangoTemplates -from django.utils.module_loading import import_string - - -def _issubclass(cls, classinfo): - """ - issubclass() variant that doesn't raise an exception if cls isn't a - class. - """ - try: - return issubclass(cls, classinfo) - except TypeError: - return False - - -def _contains_subclass(class_path, candidate_paths): - """ - Return whether or not a dotted class path (or a subclass of that class) is - found in a list of candidate paths. - """ - cls = import_string(class_path) - for path in candidate_paths: - try: - candidate_cls = import_string(path) - except ImportError: - # ImportErrors are raised elsewhere. - continue - if _issubclass(candidate_cls, cls): - return True - return False - - -def check_admin_app(app_configs, **kwargs): - from django.contrib.admin.sites import all_sites - errors = [] - for site in all_sites: - errors.extend(site.check(app_configs)) - return errors - - -def check_dependencies(**kwargs): - """ - Check that the admin's dependencies are correctly installed. - """ - from django.contrib.admin.sites import all_sites - if not apps.is_installed('django.contrib.admin'): - return [] - errors = [] - app_dependencies = ( - ('django.contrib.contenttypes', 401), - ('django.contrib.auth', 405), - ('django.contrib.messages', 406), - ) - for app_name, error_code in app_dependencies: - if not apps.is_installed(app_name): - errors.append(checks.Error( - "'%s' must be in INSTALLED_APPS in order to use the admin " - "application." % app_name, - id='admin.E%d' % error_code, - )) - for engine in engines.all(): - if isinstance(engine, DjangoTemplates): - django_templates_instance = engine.engine - break - else: - django_templates_instance = None - if not django_templates_instance: - errors.append(checks.Error( - "A 'django.template.backends.django.DjangoTemplates' instance " - "must be configured in TEMPLATES in order to use the admin " - "application.", - id='admin.E403', - )) - else: - if ('django.contrib.auth.context_processors.auth' - not in django_templates_instance.context_processors and - _contains_subclass('django.contrib.auth.backends.ModelBackend', settings.AUTHENTICATION_BACKENDS)): - errors.append(checks.Error( - "'django.contrib.auth.context_processors.auth' must be " - "enabled in DjangoTemplates (TEMPLATES) if using the default " - "auth backend in order to use the admin application.", - id='admin.E402', - )) - if ('django.contrib.messages.context_processors.messages' - not in django_templates_instance.context_processors): - errors.append(checks.Error( - "'django.contrib.messages.context_processors.messages' must " - "be enabled in DjangoTemplates (TEMPLATES) in order to use " - "the admin application.", - id='admin.E404', - )) - sidebar_enabled = any(site.enable_nav_sidebar for site in all_sites) - if (sidebar_enabled and 'django.template.context_processors.request' - not in django_templates_instance.context_processors): - errors.append(checks.Warning( - "'django.template.context_processors.request' must be enabled " - "in DjangoTemplates (TEMPLATES) in order to use the admin " - "navigation sidebar.", - id='admin.W411', - )) - - if not _contains_subclass('django.contrib.auth.middleware.AuthenticationMiddleware', settings.MIDDLEWARE): - errors.append(checks.Error( - "'django.contrib.auth.middleware.AuthenticationMiddleware' must " - "be in MIDDLEWARE in order to use the admin application.", - id='admin.E408', - )) - if not _contains_subclass('django.contrib.messages.middleware.MessageMiddleware', settings.MIDDLEWARE): - errors.append(checks.Error( - "'django.contrib.messages.middleware.MessageMiddleware' must " - "be in MIDDLEWARE in order to use the admin application.", - id='admin.E409', - )) - if not _contains_subclass('django.contrib.sessions.middleware.SessionMiddleware', settings.MIDDLEWARE): - errors.append(checks.Error( - "'django.contrib.sessions.middleware.SessionMiddleware' must " - "be in MIDDLEWARE in order to use the admin application.", - id='admin.E410', - )) - return errors - - -class BaseModelAdminChecks: - - def check(self, admin_obj, **kwargs): - return [ - *self._check_autocomplete_fields(admin_obj), - *self._check_raw_id_fields(admin_obj), - *self._check_fields(admin_obj), - *self._check_fieldsets(admin_obj), - *self._check_exclude(admin_obj), - *self._check_form(admin_obj), - *self._check_filter_vertical(admin_obj), - *self._check_filter_horizontal(admin_obj), - *self._check_radio_fields(admin_obj), - *self._check_prepopulated_fields(admin_obj), - *self._check_view_on_site_url(admin_obj), - *self._check_ordering(admin_obj), - *self._check_readonly_fields(admin_obj), - ] - - def _check_autocomplete_fields(self, obj): - """ - Check that `autocomplete_fields` is a list or tuple of model fields. - """ - if not isinstance(obj.autocomplete_fields, (list, tuple)): - return must_be('a list or tuple', option='autocomplete_fields', obj=obj, id='admin.E036') - else: - return list(chain.from_iterable([ - self._check_autocomplete_fields_item(obj, field_name, 'autocomplete_fields[%d]' % index) - for index, field_name in enumerate(obj.autocomplete_fields) - ])) - - def _check_autocomplete_fields_item(self, obj, field_name, label): - """ - Check that an item in `autocomplete_fields` is a ForeignKey or a - ManyToManyField and that the item has a related ModelAdmin with - search_fields defined. - """ - try: - field = obj.model._meta.get_field(field_name) - except FieldDoesNotExist: - return refer_to_missing_field(field=field_name, option=label, obj=obj, id='admin.E037') - else: - if not field.many_to_many and not isinstance(field, models.ForeignKey): - return must_be( - 'a foreign key or a many-to-many field', - option=label, obj=obj, id='admin.E038' - ) - related_admin = obj.admin_site._registry.get(field.remote_field.model) - if related_admin is None: - return [ - checks.Error( - 'An admin for model "%s" has to be registered ' - 'to be referenced by %s.autocomplete_fields.' % ( - field.remote_field.model.__name__, - type(obj).__name__, - ), - obj=obj.__class__, - id='admin.E039', - ) - ] - elif not related_admin.search_fields: - return [ - checks.Error( - '%s must define "search_fields", because it\'s ' - 'referenced by %s.autocomplete_fields.' % ( - related_admin.__class__.__name__, - type(obj).__name__, - ), - obj=obj.__class__, - id='admin.E040', - ) - ] - return [] - - def _check_raw_id_fields(self, obj): - """ Check that `raw_id_fields` only contains field names that are listed - on the model. """ - - if not isinstance(obj.raw_id_fields, (list, tuple)): - return must_be('a list or tuple', option='raw_id_fields', obj=obj, id='admin.E001') - else: - return list(chain.from_iterable( - self._check_raw_id_fields_item(obj, field_name, 'raw_id_fields[%d]' % index) - for index, field_name in enumerate(obj.raw_id_fields) - )) - - def _check_raw_id_fields_item(self, obj, field_name, label): - """ Check an item of `raw_id_fields`, i.e. check that field named - `field_name` exists in model `model` and is a ForeignKey or a - ManyToManyField. """ - - try: - field = obj.model._meta.get_field(field_name) - except FieldDoesNotExist: - return refer_to_missing_field(field=field_name, option=label, obj=obj, id='admin.E002') - else: - if not field.many_to_many and not isinstance(field, models.ForeignKey): - return must_be('a foreign key or a many-to-many field', option=label, obj=obj, id='admin.E003') - else: - return [] - - def _check_fields(self, obj): - """ Check that `fields` only refer to existing fields, doesn't contain - duplicates. Check if at most one of `fields` and `fieldsets` is defined. - """ - - if obj.fields is None: - return [] - elif not isinstance(obj.fields, (list, tuple)): - return must_be('a list or tuple', option='fields', obj=obj, id='admin.E004') - elif obj.fieldsets: - return [ - checks.Error( - "Both 'fieldsets' and 'fields' are specified.", - obj=obj.__class__, - id='admin.E005', - ) - ] - fields = flatten(obj.fields) - if len(fields) != len(set(fields)): - return [ - checks.Error( - "The value of 'fields' contains duplicate field(s).", - obj=obj.__class__, - id='admin.E006', - ) - ] - - return list(chain.from_iterable( - self._check_field_spec(obj, field_name, 'fields') - for field_name in obj.fields - )) - - def _check_fieldsets(self, obj): - """ Check that fieldsets is properly formatted and doesn't contain - duplicates. """ - - if obj.fieldsets is None: - return [] - elif not isinstance(obj.fieldsets, (list, tuple)): - return must_be('a list or tuple', option='fieldsets', obj=obj, id='admin.E007') - else: - seen_fields = [] - return list(chain.from_iterable( - self._check_fieldsets_item(obj, fieldset, 'fieldsets[%d]' % index, seen_fields) - for index, fieldset in enumerate(obj.fieldsets) - )) - - def _check_fieldsets_item(self, obj, fieldset, label, seen_fields): - """ Check an item of `fieldsets`, i.e. check that this is a pair of a - set name and a dictionary containing "fields" key. """ - - if not isinstance(fieldset, (list, tuple)): - return must_be('a list or tuple', option=label, obj=obj, id='admin.E008') - elif len(fieldset) != 2: - return must_be('of length 2', option=label, obj=obj, id='admin.E009') - elif not isinstance(fieldset[1], dict): - return must_be('a dictionary', option='%s[1]' % label, obj=obj, id='admin.E010') - elif 'fields' not in fieldset[1]: - return [ - checks.Error( - "The value of '%s[1]' must contain the key 'fields'." % label, - obj=obj.__class__, - id='admin.E011', - ) - ] - elif not isinstance(fieldset[1]['fields'], (list, tuple)): - return must_be('a list or tuple', option="%s[1]['fields']" % label, obj=obj, id='admin.E008') - - seen_fields.extend(flatten(fieldset[1]['fields'])) - if len(seen_fields) != len(set(seen_fields)): - return [ - checks.Error( - "There are duplicate field(s) in '%s[1]'." % label, - obj=obj.__class__, - id='admin.E012', - ) - ] - return list(chain.from_iterable( - self._check_field_spec(obj, fieldset_fields, '%s[1]["fields"]' % label) - for fieldset_fields in fieldset[1]['fields'] - )) - - def _check_field_spec(self, obj, fields, label): - """ `fields` should be an item of `fields` or an item of - fieldset[1]['fields'] for any `fieldset` in `fieldsets`. It should be a - field name or a tuple of field names. """ - - if isinstance(fields, tuple): - return list(chain.from_iterable( - self._check_field_spec_item(obj, field_name, "%s[%d]" % (label, index)) - for index, field_name in enumerate(fields) - )) - else: - return self._check_field_spec_item(obj, fields, label) - - def _check_field_spec_item(self, obj, field_name, label): - if field_name in obj.readonly_fields: - # Stuff can be put in fields that isn't actually a model field if - # it's in readonly_fields, readonly_fields will handle the - # validation of such things. - return [] - else: - try: - field = obj.model._meta.get_field(field_name) - except FieldDoesNotExist: - # If we can't find a field on the model that matches, it could - # be an extra field on the form. - return [] - else: - if (isinstance(field, models.ManyToManyField) and - not field.remote_field.through._meta.auto_created): - return [ - checks.Error( - "The value of '%s' cannot include the ManyToManyField '%s', " - "because that field manually specifies a relationship model." - % (label, field_name), - obj=obj.__class__, - id='admin.E013', - ) - ] - else: - return [] - - def _check_exclude(self, obj): - """ Check that exclude is a sequence without duplicates. """ - - if obj.exclude is None: # default value is None - return [] - elif not isinstance(obj.exclude, (list, tuple)): - return must_be('a list or tuple', option='exclude', obj=obj, id='admin.E014') - elif len(obj.exclude) > len(set(obj.exclude)): - return [ - checks.Error( - "The value of 'exclude' contains duplicate field(s).", - obj=obj.__class__, - id='admin.E015', - ) - ] - else: - return [] - - def _check_form(self, obj): - """ Check that form subclasses BaseModelForm. """ - if not _issubclass(obj.form, BaseModelForm): - return must_inherit_from(parent='BaseModelForm', option='form', - obj=obj, id='admin.E016') - else: - return [] - - def _check_filter_vertical(self, obj): - """ Check that filter_vertical is a sequence of field names. """ - if not isinstance(obj.filter_vertical, (list, tuple)): - return must_be('a list or tuple', option='filter_vertical', obj=obj, id='admin.E017') - else: - return list(chain.from_iterable( - self._check_filter_item(obj, field_name, "filter_vertical[%d]" % index) - for index, field_name in enumerate(obj.filter_vertical) - )) - - def _check_filter_horizontal(self, obj): - """ Check that filter_horizontal is a sequence of field names. """ - if not isinstance(obj.filter_horizontal, (list, tuple)): - return must_be('a list or tuple', option='filter_horizontal', obj=obj, id='admin.E018') - else: - return list(chain.from_iterable( - self._check_filter_item(obj, field_name, "filter_horizontal[%d]" % index) - for index, field_name in enumerate(obj.filter_horizontal) - )) - - def _check_filter_item(self, obj, field_name, label): - """ Check one item of `filter_vertical` or `filter_horizontal`, i.e. - check that given field exists and is a ManyToManyField. """ - - try: - field = obj.model._meta.get_field(field_name) - except FieldDoesNotExist: - return refer_to_missing_field(field=field_name, option=label, obj=obj, id='admin.E019') - else: - if not field.many_to_many: - return must_be('a many-to-many field', option=label, obj=obj, id='admin.E020') - else: - return [] - - def _check_radio_fields(self, obj): - """ Check that `radio_fields` is a dictionary. """ - if not isinstance(obj.radio_fields, dict): - return must_be('a dictionary', option='radio_fields', obj=obj, id='admin.E021') - else: - return list(chain.from_iterable( - self._check_radio_fields_key(obj, field_name, 'radio_fields') + - self._check_radio_fields_value(obj, val, 'radio_fields["%s"]' % field_name) - for field_name, val in obj.radio_fields.items() - )) - - def _check_radio_fields_key(self, obj, field_name, label): - """ Check that a key of `radio_fields` dictionary is name of existing - field and that the field is a ForeignKey or has `choices` defined. """ - - try: - field = obj.model._meta.get_field(field_name) - except FieldDoesNotExist: - return refer_to_missing_field(field=field_name, option=label, obj=obj, id='admin.E022') - else: - if not (isinstance(field, models.ForeignKey) or field.choices): - return [ - checks.Error( - "The value of '%s' refers to '%s', which is not an " - "instance of ForeignKey, and does not have a 'choices' definition." % ( - label, field_name - ), - obj=obj.__class__, - id='admin.E023', - ) - ] - else: - return [] - - def _check_radio_fields_value(self, obj, val, label): - """ Check type of a value of `radio_fields` dictionary. """ - - from django.contrib.admin.options import HORIZONTAL, VERTICAL - - if val not in (HORIZONTAL, VERTICAL): - return [ - checks.Error( - "The value of '%s' must be either admin.HORIZONTAL or admin.VERTICAL." % label, - obj=obj.__class__, - id='admin.E024', - ) - ] - else: - return [] - - def _check_view_on_site_url(self, obj): - if not callable(obj.view_on_site) and not isinstance(obj.view_on_site, bool): - return [ - checks.Error( - "The value of 'view_on_site' must be a callable or a boolean value.", - obj=obj.__class__, - id='admin.E025', - ) - ] - else: - return [] - - def _check_prepopulated_fields(self, obj): - """ Check that `prepopulated_fields` is a dictionary containing allowed - field types. """ - if not isinstance(obj.prepopulated_fields, dict): - return must_be('a dictionary', option='prepopulated_fields', obj=obj, id='admin.E026') - else: - return list(chain.from_iterable( - self._check_prepopulated_fields_key(obj, field_name, 'prepopulated_fields') + - self._check_prepopulated_fields_value(obj, val, 'prepopulated_fields["%s"]' % field_name) - for field_name, val in obj.prepopulated_fields.items() - )) - - def _check_prepopulated_fields_key(self, obj, field_name, label): - """ Check a key of `prepopulated_fields` dictionary, i.e. check that it - is a name of existing field and the field is one of the allowed types. - """ - - try: - field = obj.model._meta.get_field(field_name) - except FieldDoesNotExist: - return refer_to_missing_field(field=field_name, option=label, obj=obj, id='admin.E027') - else: - if isinstance(field, (models.DateTimeField, models.ForeignKey, models.ManyToManyField)): - return [ - checks.Error( - "The value of '%s' refers to '%s', which must not be a DateTimeField, " - "a ForeignKey, a OneToOneField, or a ManyToManyField." % (label, field_name), - obj=obj.__class__, - id='admin.E028', - ) - ] - else: - return [] - - def _check_prepopulated_fields_value(self, obj, val, label): - """ Check a value of `prepopulated_fields` dictionary, i.e. it's an - iterable of existing fields. """ - - if not isinstance(val, (list, tuple)): - return must_be('a list or tuple', option=label, obj=obj, id='admin.E029') - else: - return list(chain.from_iterable( - self._check_prepopulated_fields_value_item(obj, subfield_name, "%s[%r]" % (label, index)) - for index, subfield_name in enumerate(val) - )) - - def _check_prepopulated_fields_value_item(self, obj, field_name, label): - """ For `prepopulated_fields` equal to {"slug": ("title",)}, - `field_name` is "title". """ - - try: - obj.model._meta.get_field(field_name) - except FieldDoesNotExist: - return refer_to_missing_field(field=field_name, option=label, obj=obj, id='admin.E030') - else: - return [] - - def _check_ordering(self, obj): - """ Check that ordering refers to existing fields or is random. """ - - # ordering = None - if obj.ordering is None: # The default value is None - return [] - elif not isinstance(obj.ordering, (list, tuple)): - return must_be('a list or tuple', option='ordering', obj=obj, id='admin.E031') - else: - return list(chain.from_iterable( - self._check_ordering_item(obj, field_name, 'ordering[%d]' % index) - for index, field_name in enumerate(obj.ordering) - )) - - def _check_ordering_item(self, obj, field_name, label): - """ Check that `ordering` refers to existing fields. """ - if isinstance(field_name, (Combinable, models.OrderBy)): - if not isinstance(field_name, models.OrderBy): - field_name = field_name.asc() - if isinstance(field_name.expression, models.F): - field_name = field_name.expression.name - else: - return [] - if field_name == '?' and len(obj.ordering) != 1: - return [ - checks.Error( - "The value of 'ordering' has the random ordering marker '?', " - "but contains other fields as well.", - hint='Either remove the "?", or remove the other fields.', - obj=obj.__class__, - id='admin.E032', - ) - ] - elif field_name == '?': - return [] - elif LOOKUP_SEP in field_name: - # Skip ordering in the format field1__field2 (FIXME: checking - # this format would be nice, but it's a little fiddly). - return [] - else: - if field_name.startswith('-'): - field_name = field_name[1:] - if field_name == 'pk': - return [] - try: - obj.model._meta.get_field(field_name) - except FieldDoesNotExist: - return refer_to_missing_field(field=field_name, option=label, obj=obj, id='admin.E033') - else: - return [] - - def _check_readonly_fields(self, obj): - """ Check that readonly_fields refers to proper attribute or field. """ - - if obj.readonly_fields == (): - return [] - elif not isinstance(obj.readonly_fields, (list, tuple)): - return must_be('a list or tuple', option='readonly_fields', obj=obj, id='admin.E034') - else: - return list(chain.from_iterable( - self._check_readonly_fields_item(obj, field_name, "readonly_fields[%d]" % index) - for index, field_name in enumerate(obj.readonly_fields) - )) - - def _check_readonly_fields_item(self, obj, field_name, label): - if callable(field_name): - return [] - elif hasattr(obj, field_name): - return [] - elif hasattr(obj.model, field_name): - return [] - else: - try: - obj.model._meta.get_field(field_name) - except FieldDoesNotExist: - return [ - checks.Error( - "The value of '%s' is not a callable, an attribute of " - "'%s', or an attribute of '%s'." % ( - label, obj.__class__.__name__, obj.model._meta.label, - ), - obj=obj.__class__, - id='admin.E035', - ) - ] - else: - return [] - - -class ModelAdminChecks(BaseModelAdminChecks): - - def check(self, admin_obj, **kwargs): - return [ - *super().check(admin_obj), - *self._check_save_as(admin_obj), - *self._check_save_on_top(admin_obj), - *self._check_inlines(admin_obj), - *self._check_list_display(admin_obj), - *self._check_list_display_links(admin_obj), - *self._check_list_filter(admin_obj), - *self._check_list_select_related(admin_obj), - *self._check_list_per_page(admin_obj), - *self._check_list_max_show_all(admin_obj), - *self._check_list_editable(admin_obj), - *self._check_search_fields(admin_obj), - *self._check_date_hierarchy(admin_obj), - *self._check_action_permission_methods(admin_obj), - *self._check_actions_uniqueness(admin_obj), - ] - - def _check_save_as(self, obj): - """ Check save_as is a boolean. """ - - if not isinstance(obj.save_as, bool): - return must_be('a boolean', option='save_as', - obj=obj, id='admin.E101') - else: - return [] - - def _check_save_on_top(self, obj): - """ Check save_on_top is a boolean. """ - - if not isinstance(obj.save_on_top, bool): - return must_be('a boolean', option='save_on_top', - obj=obj, id='admin.E102') - else: - return [] - - def _check_inlines(self, obj): - """ Check all inline model admin classes. """ - - if not isinstance(obj.inlines, (list, tuple)): - return must_be('a list or tuple', option='inlines', obj=obj, id='admin.E103') - else: - return list(chain.from_iterable( - self._check_inlines_item(obj, item, "inlines[%d]" % index) - for index, item in enumerate(obj.inlines) - )) - - def _check_inlines_item(self, obj, inline, label): - """ Check one inline model admin. """ - try: - inline_label = inline.__module__ + '.' + inline.__name__ - except AttributeError: - return [ - checks.Error( - "'%s' must inherit from 'InlineModelAdmin'." % obj, - obj=obj.__class__, - id='admin.E104', - ) - ] - - from django.contrib.admin.options import InlineModelAdmin - - if not _issubclass(inline, InlineModelAdmin): - return [ - checks.Error( - "'%s' must inherit from 'InlineModelAdmin'." % inline_label, - obj=obj.__class__, - id='admin.E104', - ) - ] - elif not inline.model: - return [ - checks.Error( - "'%s' must have a 'model' attribute." % inline_label, - obj=obj.__class__, - id='admin.E105', - ) - ] - elif not _issubclass(inline.model, models.Model): - return must_be('a Model', option='%s.model' % inline_label, obj=obj, id='admin.E106') - else: - return inline(obj.model, obj.admin_site).check() - - def _check_list_display(self, obj): - """ Check that list_display only contains fields or usable attributes. - """ - - if not isinstance(obj.list_display, (list, tuple)): - return must_be('a list or tuple', option='list_display', obj=obj, id='admin.E107') - else: - return list(chain.from_iterable( - self._check_list_display_item(obj, item, "list_display[%d]" % index) - for index, item in enumerate(obj.list_display) - )) - - def _check_list_display_item(self, obj, item, label): - if callable(item): - return [] - elif hasattr(obj, item): - return [] - try: - field = obj.model._meta.get_field(item) - except FieldDoesNotExist: - try: - field = getattr(obj.model, item) - except AttributeError: - return [ - checks.Error( - "The value of '%s' refers to '%s', which is not a " - "callable, an attribute of '%s', or an attribute or " - "method on '%s'." % ( - label, item, obj.__class__.__name__, - obj.model._meta.label, - ), - obj=obj.__class__, - id='admin.E108', - ) - ] - if isinstance(field, models.ManyToManyField): - return [ - checks.Error( - "The value of '%s' must not be a ManyToManyField." % label, - obj=obj.__class__, - id='admin.E109', - ) - ] - return [] - - def _check_list_display_links(self, obj): - """ Check that list_display_links is a unique subset of list_display. - """ - from django.contrib.admin.options import ModelAdmin - - if obj.list_display_links is None: - return [] - elif not isinstance(obj.list_display_links, (list, tuple)): - return must_be('a list, a tuple, or None', option='list_display_links', obj=obj, id='admin.E110') - # Check only if ModelAdmin.get_list_display() isn't overridden. - elif obj.get_list_display.__func__ is ModelAdmin.get_list_display: - return list(chain.from_iterable( - self._check_list_display_links_item(obj, field_name, "list_display_links[%d]" % index) - for index, field_name in enumerate(obj.list_display_links) - )) - return [] - - def _check_list_display_links_item(self, obj, field_name, label): - if field_name not in obj.list_display: - return [ - checks.Error( - "The value of '%s' refers to '%s', which is not defined in 'list_display'." % ( - label, field_name - ), - obj=obj.__class__, - id='admin.E111', - ) - ] - else: - return [] - - def _check_list_filter(self, obj): - if not isinstance(obj.list_filter, (list, tuple)): - return must_be('a list or tuple', option='list_filter', obj=obj, id='admin.E112') - else: - return list(chain.from_iterable( - self._check_list_filter_item(obj, item, "list_filter[%d]" % index) - for index, item in enumerate(obj.list_filter) - )) - - def _check_list_filter_item(self, obj, item, label): - """ - Check one item of `list_filter`, i.e. check if it is one of three options: - 1. 'field' -- a basic field filter, possibly w/ relationships (e.g. - 'field__rel') - 2. ('field', SomeFieldListFilter) - a field-based list filter class - 3. SomeListFilter - a non-field list filter class - """ - from django.contrib.admin import FieldListFilter, ListFilter - - if callable(item) and not isinstance(item, models.Field): - # If item is option 3, it should be a ListFilter... - if not _issubclass(item, ListFilter): - return must_inherit_from(parent='ListFilter', option=label, - obj=obj, id='admin.E113') - # ... but not a FieldListFilter. - elif issubclass(item, FieldListFilter): - return [ - checks.Error( - "The value of '%s' must not inherit from 'FieldListFilter'." % label, - obj=obj.__class__, - id='admin.E114', - ) - ] - else: - return [] - elif isinstance(item, (tuple, list)): - # item is option #2 - field, list_filter_class = item - if not _issubclass(list_filter_class, FieldListFilter): - return must_inherit_from(parent='FieldListFilter', option='%s[1]' % label, obj=obj, id='admin.E115') - else: - return [] - else: - # item is option #1 - field = item - - # Validate the field string - try: - get_fields_from_path(obj.model, field) - except (NotRelationField, FieldDoesNotExist): - return [ - checks.Error( - "The value of '%s' refers to '%s', which does not refer to a Field." % (label, field), - obj=obj.__class__, - id='admin.E116', - ) - ] - else: - return [] - - def _check_list_select_related(self, obj): - """ Check that list_select_related is a boolean, a list or a tuple. """ - - if not isinstance(obj.list_select_related, (bool, list, tuple)): - return must_be('a boolean, tuple or list', option='list_select_related', obj=obj, id='admin.E117') - else: - return [] - - def _check_list_per_page(self, obj): - """ Check that list_per_page is an integer. """ - - if not isinstance(obj.list_per_page, int): - return must_be('an integer', option='list_per_page', obj=obj, id='admin.E118') - else: - return [] - - def _check_list_max_show_all(self, obj): - """ Check that list_max_show_all is an integer. """ - - if not isinstance(obj.list_max_show_all, int): - return must_be('an integer', option='list_max_show_all', obj=obj, id='admin.E119') - else: - return [] - - def _check_list_editable(self, obj): - """ Check that list_editable is a sequence of editable fields from - list_display without first element. """ - - if not isinstance(obj.list_editable, (list, tuple)): - return must_be('a list or tuple', option='list_editable', obj=obj, id='admin.E120') - else: - return list(chain.from_iterable( - self._check_list_editable_item(obj, item, "list_editable[%d]" % index) - for index, item in enumerate(obj.list_editable) - )) - - def _check_list_editable_item(self, obj, field_name, label): - try: - field = obj.model._meta.get_field(field_name) - except FieldDoesNotExist: - return refer_to_missing_field(field=field_name, option=label, obj=obj, id='admin.E121') - else: - if field_name not in obj.list_display: - return [ - checks.Error( - "The value of '%s' refers to '%s', which is not " - "contained in 'list_display'." % (label, field_name), - obj=obj.__class__, - id='admin.E122', - ) - ] - elif obj.list_display_links and field_name in obj.list_display_links: - return [ - checks.Error( - "The value of '%s' cannot be in both 'list_editable' and 'list_display_links'." % field_name, - obj=obj.__class__, - id='admin.E123', - ) - ] - # If list_display[0] is in list_editable, check that - # list_display_links is set. See #22792 and #26229 for use cases. - elif (obj.list_display[0] == field_name and not obj.list_display_links and - obj.list_display_links is not None): - return [ - checks.Error( - "The value of '%s' refers to the first field in 'list_display' ('%s'), " - "which cannot be used unless 'list_display_links' is set." % ( - label, obj.list_display[0] - ), - obj=obj.__class__, - id='admin.E124', - ) - ] - elif not field.editable: - return [ - checks.Error( - "The value of '%s' refers to '%s', which is not editable through the admin." % ( - label, field_name - ), - obj=obj.__class__, - id='admin.E125', - ) - ] - else: - return [] - - def _check_search_fields(self, obj): - """ Check search_fields is a sequence. """ - - if not isinstance(obj.search_fields, (list, tuple)): - return must_be('a list or tuple', option='search_fields', obj=obj, id='admin.E126') - else: - return [] - - def _check_date_hierarchy(self, obj): - """ Check that date_hierarchy refers to DateField or DateTimeField. """ - - if obj.date_hierarchy is None: - return [] - else: - try: - field = get_fields_from_path(obj.model, obj.date_hierarchy)[-1] - except (NotRelationField, FieldDoesNotExist): - return [ - checks.Error( - "The value of 'date_hierarchy' refers to '%s', which " - "does not refer to a Field." % obj.date_hierarchy, - obj=obj.__class__, - id='admin.E127', - ) - ] - else: - if not isinstance(field, (models.DateField, models.DateTimeField)): - return must_be('a DateField or DateTimeField', option='date_hierarchy', obj=obj, id='admin.E128') - else: - return [] - - def _check_action_permission_methods(self, obj): - """ - Actions with an allowed_permission attribute require the ModelAdmin to - implement a has__permission() method for each permission. - """ - actions = obj._get_base_actions() - errors = [] - for func, name, _ in actions: - if not hasattr(func, 'allowed_permissions'): - continue - for permission in func.allowed_permissions: - method_name = 'has_%s_permission' % permission - if not hasattr(obj, method_name): - errors.append( - checks.Error( - '%s must define a %s() method for the %s action.' % ( - obj.__class__.__name__, - method_name, - func.__name__, - ), - obj=obj.__class__, - id='admin.E129', - ) - ) - return errors - - def _check_actions_uniqueness(self, obj): - """Check that every action has a unique __name__.""" - errors = [] - names = collections.Counter(name for _, name, _ in obj._get_base_actions()) - for name, count in names.items(): - if count > 1: - errors.append(checks.Error( - '__name__ attributes of actions defined in %s must be ' - 'unique. Name %r is not unique.' % ( - obj.__class__.__name__, - name, - ), - obj=obj.__class__, - id='admin.E130', - )) - return errors - - -class InlineModelAdminChecks(BaseModelAdminChecks): - - def check(self, inline_obj, **kwargs): - parent_model = inline_obj.parent_model - return [ - *super().check(inline_obj), - *self._check_relation(inline_obj, parent_model), - *self._check_exclude_of_parent_model(inline_obj, parent_model), - *self._check_extra(inline_obj), - *self._check_max_num(inline_obj), - *self._check_min_num(inline_obj), - *self._check_formset(inline_obj), - ] - - def _check_exclude_of_parent_model(self, obj, parent_model): - # Do not perform more specific checks if the base checks result in an - # error. - errors = super()._check_exclude(obj) - if errors: - return [] - - # Skip if `fk_name` is invalid. - if self._check_relation(obj, parent_model): - return [] - - if obj.exclude is None: - return [] - - fk = _get_foreign_key(parent_model, obj.model, fk_name=obj.fk_name) - if fk.name in obj.exclude: - return [ - checks.Error( - "Cannot exclude the field '%s', because it is the foreign key " - "to the parent model '%s'." % ( - fk.name, parent_model._meta.label, - ), - obj=obj.__class__, - id='admin.E201', - ) - ] - else: - return [] - - def _check_relation(self, obj, parent_model): - try: - _get_foreign_key(parent_model, obj.model, fk_name=obj.fk_name) - except ValueError as e: - return [checks.Error(e.args[0], obj=obj.__class__, id='admin.E202')] - else: - return [] - - def _check_extra(self, obj): - """ Check that extra is an integer. """ - - if not isinstance(obj.extra, int): - return must_be('an integer', option='extra', obj=obj, id='admin.E203') - else: - return [] - - def _check_max_num(self, obj): - """ Check that max_num is an integer. """ - - if obj.max_num is None: - return [] - elif not isinstance(obj.max_num, int): - return must_be('an integer', option='max_num', obj=obj, id='admin.E204') - else: - return [] - - def _check_min_num(self, obj): - """ Check that min_num is an integer. """ - - if obj.min_num is None: - return [] - elif not isinstance(obj.min_num, int): - return must_be('an integer', option='min_num', obj=obj, id='admin.E205') - else: - return [] - - def _check_formset(self, obj): - """ Check formset is a subclass of BaseModelFormSet. """ - - if not _issubclass(obj.formset, BaseModelFormSet): - return must_inherit_from(parent='BaseModelFormSet', option='formset', obj=obj, id='admin.E206') - else: - return [] - - -def must_be(type, option, obj, id): - return [ - checks.Error( - "The value of '%s' must be %s." % (option, type), - obj=obj.__class__, - id=id, - ), - ] - - -def must_inherit_from(parent, option, obj, id): - return [ - checks.Error( - "The value of '%s' must inherit from '%s'." % (option, parent), - obj=obj.__class__, - id=id, - ), - ] - - -def refer_to_missing_field(field, option, obj, id): - return [ - checks.Error( - "The value of '%s' refers to '%s', which is not an attribute of " - "'%s'." % (option, field, obj.model._meta.label), - obj=obj.__class__, - id=id, - ), - ] diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/decorators.py b/venv/lib/python3.8/site-packages/django/contrib/admin/decorators.py deleted file mode 100644 index 1c43c950..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/decorators.py +++ /dev/null @@ -1,30 +0,0 @@ -def register(*models, site=None): - """ - Register the given model(s) classes and wrapped ModelAdmin class with - admin site: - - @register(Author) - class AuthorAdmin(admin.ModelAdmin): - pass - - The `site` kwarg is an admin site to use instead of the default admin site. - """ - from django.contrib.admin import ModelAdmin - from django.contrib.admin.sites import AdminSite, site as default_site - - def _model_admin_wrapper(admin_class): - if not models: - raise ValueError('At least one model must be passed to register.') - - admin_site = site or default_site - - if not isinstance(admin_site, AdminSite): - raise ValueError('site must subclass AdminSite') - - if not issubclass(admin_class, ModelAdmin): - raise ValueError('Wrapped class must subclass ModelAdmin.') - - admin_site.register(models, admin_class=admin_class) - - return admin_class - return _model_admin_wrapper diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/exceptions.py b/venv/lib/python3.8/site-packages/django/contrib/admin/exceptions.py deleted file mode 100644 index f619bc22..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/exceptions.py +++ /dev/null @@ -1,11 +0,0 @@ -from django.core.exceptions import SuspiciousOperation - - -class DisallowedModelAdminLookup(SuspiciousOperation): - """Invalid filter was passed to admin view via URL querystring""" - pass - - -class DisallowedModelAdminToField(SuspiciousOperation): - """Invalid to_field was passed to admin view via URL query string""" - pass diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/filters.py b/venv/lib/python3.8/site-packages/django/contrib/admin/filters.py deleted file mode 100644 index 3e02cd89..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/filters.py +++ /dev/null @@ -1,474 +0,0 @@ -""" -This encapsulates the logic for displaying filters in the Django admin. -Filters are specified in models with the "list_filter" option. - -Each filter subclass knows how to display a filter for a field that passes a -certain test -- e.g. being a DateField or ForeignKey. -""" -import datetime - -from django.contrib.admin.options import IncorrectLookupParameters -from django.contrib.admin.utils import ( - get_model_from_relation, prepare_lookup_value, reverse_field_path, -) -from django.core.exceptions import ImproperlyConfigured, ValidationError -from django.db import models -from django.utils import timezone -from django.utils.translation import gettext_lazy as _ - - -class ListFilter: - title = None # Human-readable title to appear in the right sidebar. - template = 'admin/filter.html' - - def __init__(self, request, params, model, model_admin): - # This dictionary will eventually contain the request's query string - # parameters actually used by this filter. - self.used_parameters = {} - if self.title is None: - raise ImproperlyConfigured( - "The list filter '%s' does not specify a 'title'." - % self.__class__.__name__ - ) - - def has_output(self): - """ - Return True if some choices would be output for this filter. - """ - raise NotImplementedError('subclasses of ListFilter must provide a has_output() method') - - def choices(self, changelist): - """ - Return choices ready to be output in the template. - - `changelist` is the ChangeList to be displayed. - """ - raise NotImplementedError('subclasses of ListFilter must provide a choices() method') - - def queryset(self, request, queryset): - """ - Return the filtered queryset. - """ - raise NotImplementedError('subclasses of ListFilter must provide a queryset() method') - - def expected_parameters(self): - """ - Return the list of parameter names that are expected from the - request's query string and that will be used by this filter. - """ - raise NotImplementedError('subclasses of ListFilter must provide an expected_parameters() method') - - -class SimpleListFilter(ListFilter): - # The parameter that should be used in the query string for that filter. - parameter_name = None - - def __init__(self, request, params, model, model_admin): - super().__init__(request, params, model, model_admin) - if self.parameter_name is None: - raise ImproperlyConfigured( - "The list filter '%s' does not specify a 'parameter_name'." - % self.__class__.__name__ - ) - if self.parameter_name in params: - value = params.pop(self.parameter_name) - self.used_parameters[self.parameter_name] = value - lookup_choices = self.lookups(request, model_admin) - if lookup_choices is None: - lookup_choices = () - self.lookup_choices = list(lookup_choices) - - def has_output(self): - return len(self.lookup_choices) > 0 - - def value(self): - """ - Return the value (in string format) provided in the request's - query string for this filter, if any, or None if the value wasn't - provided. - """ - return self.used_parameters.get(self.parameter_name) - - def lookups(self, request, model_admin): - """ - Must be overridden to return a list of tuples (value, verbose value) - """ - raise NotImplementedError( - 'The SimpleListFilter.lookups() method must be overridden to ' - 'return a list of tuples (value, verbose value).' - ) - - def expected_parameters(self): - return [self.parameter_name] - - def choices(self, changelist): - yield { - 'selected': self.value() is None, - 'query_string': changelist.get_query_string(remove=[self.parameter_name]), - 'display': _('All'), - } - for lookup, title in self.lookup_choices: - yield { - 'selected': self.value() == str(lookup), - 'query_string': changelist.get_query_string({self.parameter_name: lookup}), - 'display': title, - } - - -class FieldListFilter(ListFilter): - _field_list_filters = [] - _take_priority_index = 0 - - def __init__(self, field, request, params, model, model_admin, field_path): - self.field = field - self.field_path = field_path - self.title = getattr(field, 'verbose_name', field_path) - super().__init__(request, params, model, model_admin) - for p in self.expected_parameters(): - if p in params: - value = params.pop(p) - self.used_parameters[p] = prepare_lookup_value(p, value) - - def has_output(self): - return True - - def queryset(self, request, queryset): - try: - return queryset.filter(**self.used_parameters) - except (ValueError, ValidationError) as e: - # Fields may raise a ValueError or ValidationError when converting - # the parameters to the correct type. - raise IncorrectLookupParameters(e) - - @classmethod - def register(cls, test, list_filter_class, take_priority=False): - if take_priority: - # This is to allow overriding the default filters for certain types - # of fields with some custom filters. The first found in the list - # is used in priority. - cls._field_list_filters.insert( - cls._take_priority_index, (test, list_filter_class)) - cls._take_priority_index += 1 - else: - cls._field_list_filters.append((test, list_filter_class)) - - @classmethod - def create(cls, field, request, params, model, model_admin, field_path): - for test, list_filter_class in cls._field_list_filters: - if test(field): - return list_filter_class(field, request, params, model, model_admin, field_path=field_path) - - -class RelatedFieldListFilter(FieldListFilter): - def __init__(self, field, request, params, model, model_admin, field_path): - other_model = get_model_from_relation(field) - self.lookup_kwarg = '%s__%s__exact' % (field_path, field.target_field.name) - self.lookup_kwarg_isnull = '%s__isnull' % field_path - self.lookup_val = params.get(self.lookup_kwarg) - self.lookup_val_isnull = params.get(self.lookup_kwarg_isnull) - super().__init__(field, request, params, model, model_admin, field_path) - self.lookup_choices = self.field_choices(field, request, model_admin) - if hasattr(field, 'verbose_name'): - self.lookup_title = field.verbose_name - else: - self.lookup_title = other_model._meta.verbose_name - self.title = self.lookup_title - self.empty_value_display = model_admin.get_empty_value_display() - - @property - def include_empty_choice(self): - """ - Return True if a "(None)" choice should be included, which filters - out everything except empty relationships. - """ - return self.field.null or (self.field.is_relation and self.field.many_to_many) - - def has_output(self): - if self.include_empty_choice: - extra = 1 - else: - extra = 0 - return len(self.lookup_choices) + extra > 1 - - def expected_parameters(self): - return [self.lookup_kwarg, self.lookup_kwarg_isnull] - - def field_admin_ordering(self, field, request, model_admin): - """ - Return the model admin's ordering for related field, if provided. - """ - related_admin = model_admin.admin_site._registry.get(field.remote_field.model) - if related_admin is not None: - return related_admin.get_ordering(request) - return () - - def field_choices(self, field, request, model_admin): - ordering = self.field_admin_ordering(field, request, model_admin) - return field.get_choices(include_blank=False, ordering=ordering) - - def choices(self, changelist): - yield { - 'selected': self.lookup_val is None and not self.lookup_val_isnull, - 'query_string': changelist.get_query_string(remove=[self.lookup_kwarg, self.lookup_kwarg_isnull]), - 'display': _('All'), - } - for pk_val, val in self.lookup_choices: - yield { - 'selected': self.lookup_val == str(pk_val), - 'query_string': changelist.get_query_string({self.lookup_kwarg: pk_val}, [self.lookup_kwarg_isnull]), - 'display': val, - } - if self.include_empty_choice: - yield { - 'selected': bool(self.lookup_val_isnull), - 'query_string': changelist.get_query_string({self.lookup_kwarg_isnull: 'True'}, [self.lookup_kwarg]), - 'display': self.empty_value_display, - } - - -FieldListFilter.register(lambda f: f.remote_field, RelatedFieldListFilter) - - -class BooleanFieldListFilter(FieldListFilter): - def __init__(self, field, request, params, model, model_admin, field_path): - self.lookup_kwarg = '%s__exact' % field_path - self.lookup_kwarg2 = '%s__isnull' % field_path - self.lookup_val = params.get(self.lookup_kwarg) - self.lookup_val2 = params.get(self.lookup_kwarg2) - super().__init__(field, request, params, model, model_admin, field_path) - if (self.used_parameters and self.lookup_kwarg in self.used_parameters and - self.used_parameters[self.lookup_kwarg] in ('1', '0')): - self.used_parameters[self.lookup_kwarg] = bool(int(self.used_parameters[self.lookup_kwarg])) - - def expected_parameters(self): - return [self.lookup_kwarg, self.lookup_kwarg2] - - def choices(self, changelist): - for lookup, title in ( - (None, _('All')), - ('1', _('Yes')), - ('0', _('No'))): - yield { - 'selected': self.lookup_val == lookup and not self.lookup_val2, - 'query_string': changelist.get_query_string({self.lookup_kwarg: lookup}, [self.lookup_kwarg2]), - 'display': title, - } - if self.field.null: - yield { - 'selected': self.lookup_val2 == 'True', - 'query_string': changelist.get_query_string({self.lookup_kwarg2: 'True'}, [self.lookup_kwarg]), - 'display': _('Unknown'), - } - - -FieldListFilter.register(lambda f: isinstance(f, models.BooleanField), BooleanFieldListFilter) - - -class ChoicesFieldListFilter(FieldListFilter): - def __init__(self, field, request, params, model, model_admin, field_path): - self.lookup_kwarg = '%s__exact' % field_path - self.lookup_kwarg_isnull = '%s__isnull' % field_path - self.lookup_val = params.get(self.lookup_kwarg) - self.lookup_val_isnull = params.get(self.lookup_kwarg_isnull) - super().__init__(field, request, params, model, model_admin, field_path) - - def expected_parameters(self): - return [self.lookup_kwarg, self.lookup_kwarg_isnull] - - def choices(self, changelist): - yield { - 'selected': self.lookup_val is None, - 'query_string': changelist.get_query_string(remove=[self.lookup_kwarg, self.lookup_kwarg_isnull]), - 'display': _('All') - } - none_title = '' - for lookup, title in self.field.flatchoices: - if lookup is None: - none_title = title - continue - yield { - 'selected': str(lookup) == self.lookup_val, - 'query_string': changelist.get_query_string({self.lookup_kwarg: lookup}, [self.lookup_kwarg_isnull]), - 'display': title, - } - if none_title: - yield { - 'selected': bool(self.lookup_val_isnull), - 'query_string': changelist.get_query_string({self.lookup_kwarg_isnull: 'True'}, [self.lookup_kwarg]), - 'display': none_title, - } - - -FieldListFilter.register(lambda f: bool(f.choices), ChoicesFieldListFilter) - - -class DateFieldListFilter(FieldListFilter): - def __init__(self, field, request, params, model, model_admin, field_path): - self.field_generic = '%s__' % field_path - self.date_params = {k: v for k, v in params.items() if k.startswith(self.field_generic)} - - now = timezone.now() - # When time zone support is enabled, convert "now" to the user's time - # zone so Django's definition of "Today" matches what the user expects. - if timezone.is_aware(now): - now = timezone.localtime(now) - - if isinstance(field, models.DateTimeField): - today = now.replace(hour=0, minute=0, second=0, microsecond=0) - else: # field is a models.DateField - today = now.date() - tomorrow = today + datetime.timedelta(days=1) - if today.month == 12: - next_month = today.replace(year=today.year + 1, month=1, day=1) - else: - next_month = today.replace(month=today.month + 1, day=1) - next_year = today.replace(year=today.year + 1, month=1, day=1) - - self.lookup_kwarg_since = '%s__gte' % field_path - self.lookup_kwarg_until = '%s__lt' % field_path - self.links = ( - (_('Any date'), {}), - (_('Today'), { - self.lookup_kwarg_since: str(today), - self.lookup_kwarg_until: str(tomorrow), - }), - (_('Past 7 days'), { - self.lookup_kwarg_since: str(today - datetime.timedelta(days=7)), - self.lookup_kwarg_until: str(tomorrow), - }), - (_('This month'), { - self.lookup_kwarg_since: str(today.replace(day=1)), - self.lookup_kwarg_until: str(next_month), - }), - (_('This year'), { - self.lookup_kwarg_since: str(today.replace(month=1, day=1)), - self.lookup_kwarg_until: str(next_year), - }), - ) - if field.null: - self.lookup_kwarg_isnull = '%s__isnull' % field_path - self.links += ( - (_('No date'), {self.field_generic + 'isnull': 'True'}), - (_('Has date'), {self.field_generic + 'isnull': 'False'}), - ) - super().__init__(field, request, params, model, model_admin, field_path) - - def expected_parameters(self): - params = [self.lookup_kwarg_since, self.lookup_kwarg_until] - if self.field.null: - params.append(self.lookup_kwarg_isnull) - return params - - def choices(self, changelist): - for title, param_dict in self.links: - yield { - 'selected': self.date_params == param_dict, - 'query_string': changelist.get_query_string(param_dict, [self.field_generic]), - 'display': title, - } - - -FieldListFilter.register( - lambda f: isinstance(f, models.DateField), DateFieldListFilter) - - -# This should be registered last, because it's a last resort. For example, -# if a field is eligible to use the BooleanFieldListFilter, that'd be much -# more appropriate, and the AllValuesFieldListFilter won't get used for it. -class AllValuesFieldListFilter(FieldListFilter): - def __init__(self, field, request, params, model, model_admin, field_path): - self.lookup_kwarg = field_path - self.lookup_kwarg_isnull = '%s__isnull' % field_path - self.lookup_val = params.get(self.lookup_kwarg) - self.lookup_val_isnull = params.get(self.lookup_kwarg_isnull) - self.empty_value_display = model_admin.get_empty_value_display() - parent_model, reverse_path = reverse_field_path(model, field_path) - # Obey parent ModelAdmin queryset when deciding which options to show - if model == parent_model: - queryset = model_admin.get_queryset(request) - else: - queryset = parent_model._default_manager.all() - self.lookup_choices = queryset.distinct().order_by(field.name).values_list(field.name, flat=True) - super().__init__(field, request, params, model, model_admin, field_path) - - def expected_parameters(self): - return [self.lookup_kwarg, self.lookup_kwarg_isnull] - - def choices(self, changelist): - yield { - 'selected': self.lookup_val is None and self.lookup_val_isnull is None, - 'query_string': changelist.get_query_string(remove=[self.lookup_kwarg, self.lookup_kwarg_isnull]), - 'display': _('All'), - } - include_none = False - for val in self.lookup_choices: - if val is None: - include_none = True - continue - val = str(val) - yield { - 'selected': self.lookup_val == val, - 'query_string': changelist.get_query_string({self.lookup_kwarg: val}, [self.lookup_kwarg_isnull]), - 'display': val, - } - if include_none: - yield { - 'selected': bool(self.lookup_val_isnull), - 'query_string': changelist.get_query_string({self.lookup_kwarg_isnull: 'True'}, [self.lookup_kwarg]), - 'display': self.empty_value_display, - } - - -FieldListFilter.register(lambda f: True, AllValuesFieldListFilter) - - -class RelatedOnlyFieldListFilter(RelatedFieldListFilter): - def field_choices(self, field, request, model_admin): - pk_qs = model_admin.get_queryset(request).distinct().values_list('%s__pk' % self.field_path, flat=True) - ordering = self.field_admin_ordering(field, request, model_admin) - return field.get_choices(include_blank=False, limit_choices_to={'pk__in': pk_qs}, ordering=ordering) - - -class EmptyFieldListFilter(FieldListFilter): - def __init__(self, field, request, params, model, model_admin, field_path): - if not field.empty_strings_allowed and not field.null: - raise ImproperlyConfigured( - "The list filter '%s' cannot be used with field '%s' which " - "doesn't allow empty strings and nulls." % ( - self.__class__.__name__, - field.name, - ) - ) - self.lookup_kwarg = '%s__isempty' % field_path - self.lookup_val = params.get(self.lookup_kwarg) - super().__init__(field, request, params, model, model_admin, field_path) - - def queryset(self, request, queryset): - if self.lookup_kwarg not in self.used_parameters: - return queryset - if self.lookup_val not in ('0', '1'): - raise IncorrectLookupParameters - - lookup_condition = models.Q() - if self.field.empty_strings_allowed: - lookup_condition |= models.Q(**{self.field_path: ''}) - if self.field.null: - lookup_condition |= models.Q(**{'%s__isnull' % self.field_path: True}) - if self.lookup_val == '1': - return queryset.filter(lookup_condition) - return queryset.exclude(lookup_condition) - - def expected_parameters(self): - return [self.lookup_kwarg] - - def choices(self, changelist): - for lookup, title in ( - (None, _('All')), - ('1', _('Empty')), - ('0', _('Not empty')), - ): - yield { - 'selected': self.lookup_val == lookup, - 'query_string': changelist.get_query_string({self.lookup_kwarg: lookup}), - 'display': title, - } diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/forms.py b/venv/lib/python3.8/site-packages/django/contrib/admin/forms.py deleted file mode 100644 index ee275095..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/forms.py +++ /dev/null @@ -1,30 +0,0 @@ -from django.contrib.auth.forms import AuthenticationForm, PasswordChangeForm -from django.core.exceptions import ValidationError -from django.utils.translation import gettext_lazy as _ - - -class AdminAuthenticationForm(AuthenticationForm): - """ - A custom authentication form used in the admin app. - """ - error_messages = { - **AuthenticationForm.error_messages, - 'invalid_login': _( - "Please enter the correct %(username)s and password for a staff " - "account. Note that both fields may be case-sensitive." - ), - } - required_css_class = 'required' - - def confirm_login_allowed(self, user): - super().confirm_login_allowed(user) - if not user.is_staff: - raise ValidationError( - self.error_messages['invalid_login'], - code='invalid_login', - params={'username': self.username_field.verbose_name} - ) - - -class AdminPasswordChangeForm(PasswordChangeForm): - required_css_class = 'required' diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/helpers.py b/venv/lib/python3.8/site-packages/django/contrib/admin/helpers.py deleted file mode 100644 index 09dbd090..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/helpers.py +++ /dev/null @@ -1,407 +0,0 @@ -import json - -from django import forms -from django.conf import settings -from django.contrib.admin.utils import ( - display_for_field, flatten_fieldsets, help_text_for_field, label_for_field, - lookup_field, -) -from django.core.exceptions import ObjectDoesNotExist -from django.db.models import ManyToManyRel -from django.forms.utils import flatatt -from django.template.defaultfilters import capfirst, linebreaksbr -from django.utils.html import conditional_escape, format_html -from django.utils.safestring import mark_safe -from django.utils.translation import gettext, gettext_lazy as _ - -ACTION_CHECKBOX_NAME = '_selected_action' - - -class ActionForm(forms.Form): - action = forms.ChoiceField(label=_('Action:')) - select_across = forms.BooleanField( - label='', - required=False, - initial=0, - widget=forms.HiddenInput({'class': 'select-across'}), - ) - - -checkbox = forms.CheckboxInput({'class': 'action-select'}, lambda value: False) - - -class AdminForm: - def __init__(self, form, fieldsets, prepopulated_fields, readonly_fields=None, model_admin=None): - self.form, self.fieldsets = form, fieldsets - self.prepopulated_fields = [{ - 'field': form[field_name], - 'dependencies': [form[f] for f in dependencies] - } for field_name, dependencies in prepopulated_fields.items()] - self.model_admin = model_admin - if readonly_fields is None: - readonly_fields = () - self.readonly_fields = readonly_fields - - def __iter__(self): - for name, options in self.fieldsets: - yield Fieldset( - self.form, name, - readonly_fields=self.readonly_fields, - model_admin=self.model_admin, - **options - ) - - @property - def errors(self): - return self.form.errors - - @property - def non_field_errors(self): - return self.form.non_field_errors - - @property - def media(self): - media = self.form.media - for fs in self: - media = media + fs.media - return media - - -class Fieldset: - def __init__(self, form, name=None, readonly_fields=(), fields=(), classes=(), - description=None, model_admin=None): - self.form = form - self.name, self.fields = name, fields - self.classes = ' '.join(classes) - self.description = description - self.model_admin = model_admin - self.readonly_fields = readonly_fields - - @property - def media(self): - if 'collapse' in self.classes: - extra = '' if settings.DEBUG else '.min' - return forms.Media(js=['admin/js/collapse%s.js' % extra]) - return forms.Media() - - def __iter__(self): - for field in self.fields: - yield Fieldline(self.form, field, self.readonly_fields, model_admin=self.model_admin) - - -class Fieldline: - def __init__(self, form, field, readonly_fields=None, model_admin=None): - self.form = form # A django.forms.Form instance - if not hasattr(field, "__iter__") or isinstance(field, str): - self.fields = [field] - else: - self.fields = field - self.has_visible_field = not all( - field in self.form.fields and self.form.fields[field].widget.is_hidden - for field in self.fields - ) - self.model_admin = model_admin - if readonly_fields is None: - readonly_fields = () - self.readonly_fields = readonly_fields - - def __iter__(self): - for i, field in enumerate(self.fields): - if field in self.readonly_fields: - yield AdminReadonlyField(self.form, field, is_first=(i == 0), model_admin=self.model_admin) - else: - yield AdminField(self.form, field, is_first=(i == 0)) - - def errors(self): - return mark_safe( - '\n'.join( - self.form[f].errors.as_ul() for f in self.fields if f not in self.readonly_fields - ).strip('\n') - ) - - -class AdminField: - def __init__(self, form, field, is_first): - self.field = form[field] # A django.forms.BoundField instance - self.is_first = is_first # Whether this field is first on the line - self.is_checkbox = isinstance(self.field.field.widget, forms.CheckboxInput) - self.is_readonly = False - - def label_tag(self): - classes = [] - contents = conditional_escape(self.field.label) - if self.is_checkbox: - classes.append('vCheckboxLabel') - - if self.field.field.required: - classes.append('required') - if not self.is_first: - classes.append('inline') - attrs = {'class': ' '.join(classes)} if classes else {} - # checkboxes should not have a label suffix as the checkbox appears - # to the left of the label. - return self.field.label_tag( - contents=mark_safe(contents), attrs=attrs, - label_suffix='' if self.is_checkbox else None, - ) - - def errors(self): - return mark_safe(self.field.errors.as_ul()) - - -class AdminReadonlyField: - def __init__(self, form, field, is_first, model_admin=None): - # Make self.field look a little bit like a field. This means that - # {{ field.name }} must be a useful class name to identify the field. - # For convenience, store other field-related data here too. - if callable(field): - class_name = field.__name__ if field.__name__ != '' else '' - else: - class_name = field - - if form._meta.labels and class_name in form._meta.labels: - label = form._meta.labels[class_name] - else: - label = label_for_field(field, form._meta.model, model_admin, form=form) - - if form._meta.help_texts and class_name in form._meta.help_texts: - help_text = form._meta.help_texts[class_name] - else: - help_text = help_text_for_field(class_name, form._meta.model) - - self.field = { - 'name': class_name, - 'label': label, - 'help_text': help_text, - 'field': field, - } - self.form = form - self.model_admin = model_admin - self.is_first = is_first - self.is_checkbox = False - self.is_readonly = True - self.empty_value_display = model_admin.get_empty_value_display() - - def label_tag(self): - attrs = {} - if not self.is_first: - attrs["class"] = "inline" - label = self.field['label'] - return format_html('{}{}', flatatt(attrs), capfirst(label), self.form.label_suffix) - - def contents(self): - from django.contrib.admin.templatetags.admin_list import _boolean_icon - field, obj, model_admin = self.field['field'], self.form.instance, self.model_admin - try: - f, attr, value = lookup_field(field, obj, model_admin) - except (AttributeError, ValueError, ObjectDoesNotExist): - result_repr = self.empty_value_display - else: - if field in self.form.fields: - widget = self.form[field].field.widget - # This isn't elegant but suffices for contrib.auth's - # ReadOnlyPasswordHashWidget. - if getattr(widget, 'read_only', False): - return widget.render(field, value) - if f is None: - if getattr(attr, 'boolean', False): - result_repr = _boolean_icon(value) - else: - if hasattr(value, "__html__"): - result_repr = value - else: - result_repr = linebreaksbr(value) - else: - if isinstance(f.remote_field, ManyToManyRel) and value is not None: - result_repr = ", ".join(map(str, value.all())) - else: - result_repr = display_for_field(value, f, self.empty_value_display) - result_repr = linebreaksbr(result_repr) - return conditional_escape(result_repr) - - -class InlineAdminFormSet: - """ - A wrapper around an inline formset for use in the admin system. - """ - def __init__(self, inline, formset, fieldsets, prepopulated_fields=None, - readonly_fields=None, model_admin=None, has_add_permission=True, - has_change_permission=True, has_delete_permission=True, - has_view_permission=True): - self.opts = inline - self.formset = formset - self.fieldsets = fieldsets - self.model_admin = model_admin - if readonly_fields is None: - readonly_fields = () - self.readonly_fields = readonly_fields - if prepopulated_fields is None: - prepopulated_fields = {} - self.prepopulated_fields = prepopulated_fields - self.classes = ' '.join(inline.classes) if inline.classes else '' - self.has_add_permission = has_add_permission - self.has_change_permission = has_change_permission - self.has_delete_permission = has_delete_permission - self.has_view_permission = has_view_permission - - def __iter__(self): - if self.has_change_permission: - readonly_fields_for_editing = self.readonly_fields - else: - readonly_fields_for_editing = self.readonly_fields + flatten_fieldsets(self.fieldsets) - - for form, original in zip(self.formset.initial_forms, self.formset.get_queryset()): - view_on_site_url = self.opts.get_view_on_site_url(original) - yield InlineAdminForm( - self.formset, form, self.fieldsets, self.prepopulated_fields, - original, readonly_fields_for_editing, model_admin=self.opts, - view_on_site_url=view_on_site_url, - ) - for form in self.formset.extra_forms: - yield InlineAdminForm( - self.formset, form, self.fieldsets, self.prepopulated_fields, - None, self.readonly_fields, model_admin=self.opts, - ) - if self.has_add_permission: - yield InlineAdminForm( - self.formset, self.formset.empty_form, - self.fieldsets, self.prepopulated_fields, None, - self.readonly_fields, model_admin=self.opts, - ) - - def fields(self): - fk = getattr(self.formset, "fk", None) - empty_form = self.formset.empty_form - meta_labels = empty_form._meta.labels or {} - meta_help_texts = empty_form._meta.help_texts or {} - for i, field_name in enumerate(flatten_fieldsets(self.fieldsets)): - if fk and fk.name == field_name: - continue - if not self.has_change_permission or field_name in self.readonly_fields: - yield { - 'name': field_name, - 'label': meta_labels.get(field_name) or label_for_field( - field_name, - self.opts.model, - self.opts, - form=empty_form, - ), - 'widget': {'is_hidden': False}, - 'required': False, - 'help_text': meta_help_texts.get(field_name) or help_text_for_field(field_name, self.opts.model), - } - else: - form_field = empty_form.fields[field_name] - label = form_field.label - if label is None: - label = label_for_field(field_name, self.opts.model, self.opts, form=empty_form) - yield { - 'name': field_name, - 'label': label, - 'widget': form_field.widget, - 'required': form_field.required, - 'help_text': form_field.help_text, - } - - def inline_formset_data(self): - verbose_name = self.opts.verbose_name - return json.dumps({ - 'name': '#%s' % self.formset.prefix, - 'options': { - 'prefix': self.formset.prefix, - 'addText': gettext('Add another %(verbose_name)s') % { - 'verbose_name': capfirst(verbose_name), - }, - 'deleteText': gettext('Remove'), - } - }) - - @property - def forms(self): - return self.formset.forms - - @property - def non_form_errors(self): - return self.formset.non_form_errors - - @property - def media(self): - media = self.opts.media + self.formset.media - for fs in self: - media = media + fs.media - return media - - -class InlineAdminForm(AdminForm): - """ - A wrapper around an inline form for use in the admin system. - """ - def __init__(self, formset, form, fieldsets, prepopulated_fields, original, - readonly_fields=None, model_admin=None, view_on_site_url=None): - self.formset = formset - self.model_admin = model_admin - self.original = original - self.show_url = original and view_on_site_url is not None - self.absolute_url = view_on_site_url - super().__init__(form, fieldsets, prepopulated_fields, readonly_fields, model_admin) - - def __iter__(self): - for name, options in self.fieldsets: - yield InlineFieldset( - self.formset, self.form, name, self.readonly_fields, - model_admin=self.model_admin, **options - ) - - def needs_explicit_pk_field(self): - return ( - # Auto fields are editable, so check for auto or non-editable pk. - self.form._meta.model._meta.auto_field or not self.form._meta.model._meta.pk.editable or - # Also search any parents for an auto field. (The pk info is - # propagated to child models so that does not need to be checked - # in parents.) - any(parent._meta.auto_field or not parent._meta.model._meta.pk.editable - for parent in self.form._meta.model._meta.get_parent_list()) - ) - - def pk_field(self): - return AdminField(self.form, self.formset._pk_field.name, False) - - def fk_field(self): - fk = getattr(self.formset, "fk", None) - if fk: - return AdminField(self.form, fk.name, False) - else: - return "" - - def deletion_field(self): - from django.forms.formsets import DELETION_FIELD_NAME - return AdminField(self.form, DELETION_FIELD_NAME, False) - - def ordering_field(self): - from django.forms.formsets import ORDERING_FIELD_NAME - return AdminField(self.form, ORDERING_FIELD_NAME, False) - - -class InlineFieldset(Fieldset): - def __init__(self, formset, *args, **kwargs): - self.formset = formset - super().__init__(*args, **kwargs) - - def __iter__(self): - fk = getattr(self.formset, "fk", None) - for field in self.fields: - if not fk or fk.name != field: - yield Fieldline(self.form, field, self.readonly_fields, model_admin=self.model_admin) - - -class AdminErrorList(forms.utils.ErrorList): - """Store errors for the form/formsets in an add/change view.""" - def __init__(self, form, inline_formsets): - super().__init__() - - if form.is_bound: - self.extend(form.errors.values()) - for inline_formset in inline_formsets: - self.extend(inline_formset.non_form_errors()) - for errors_in_inline_form in inline_formset.errors: - self.extend(errors_in_inline_form.values()) diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/af/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/af/LC_MESSAGES/django.mo deleted file mode 100644 index eb14776e..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/af/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/af/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/af/LC_MESSAGES/django.po deleted file mode 100644 index f8a95ae2..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/af/LC_MESSAGES/django.po +++ /dev/null @@ -1,720 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Christopher Penkin, 2012 -# Christopher Penkin, 2012 -# F Wolff , 2019-2020 -# Pi Delport , 2012 -# Pi Delport , 2012 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-14 19:53+0200\n" -"PO-Revision-Date: 2020-07-20 17:06+0000\n" -"Last-Translator: F Wolff \n" -"Language-Team: Afrikaans (http://www.transifex.com/django/django/language/" -"af/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: af\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "Het %(count)d %(items)s suksesvol geskrap." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "Kan %(name)s nie skrap nie" - -msgid "Are you sure?" -msgstr "Is u seker?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Skrap gekose %(verbose_name_plural)s" - -msgid "Administration" -msgstr "Administrasie" - -msgid "All" -msgstr "Almal" - -msgid "Yes" -msgstr "Ja" - -msgid "No" -msgstr "Nee" - -msgid "Unknown" -msgstr "Onbekend" - -msgid "Any date" -msgstr "Enige datum" - -msgid "Today" -msgstr "Vandag" - -msgid "Past 7 days" -msgstr "Vorige 7 dae" - -msgid "This month" -msgstr "Hierdie maand" - -msgid "This year" -msgstr "Hierdie jaar" - -msgid "No date" -msgstr "Geen datum" - -msgid "Has date" -msgstr "Het datum" - -msgid "Empty" -msgstr "Leeg" - -msgid "Not empty" -msgstr "Nie leeg nie" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Gee die korrekte %(username)s en wagwoord vir ’n personeelrekening. Let op " -"dat altwee velde dalk hooflettersensitief is." - -msgid "Action:" -msgstr "Aksie:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Voeg nog ’n %(verbose_name)s by" - -msgid "Remove" -msgstr "Verwyder" - -msgid "Addition" -msgstr "Byvoeging" - -msgid "Change" -msgstr "" - -msgid "Deletion" -msgstr "Verwydering" - -msgid "action time" -msgstr "aksietyd" - -msgid "user" -msgstr "gebruiker" - -msgid "content type" -msgstr "inhoudtipe" - -msgid "object id" -msgstr "objek-ID" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "objek-repr" - -msgid "action flag" -msgstr "aksievlag" - -msgid "change message" -msgstr "veranderingboodskap" - -msgid "log entry" -msgstr "log-inskrywing" - -msgid "log entries" -msgstr "log-inskrywingings" - -#, python-format -msgid "Added “%(object)s”." -msgstr "Het “%(object)s” bygevoeg." - -#, python-format -msgid "Changed “%(object)s” — %(changes)s" -msgstr "Het “%(object)s” gewysig — %(changes)s" - -#, python-format -msgid "Deleted “%(object)s.”" -msgstr "Het “%(object)s” geskrap." - -msgid "LogEntry Object" -msgstr "LogEntry-objek" - -#, python-brace-format -msgid "Added {name} “{object}”." -msgstr "Het {name} “{object}” bygevoeg." - -msgid "Added." -msgstr "Bygevoeg." - -msgid "and" -msgstr "en" - -#, python-brace-format -msgid "Changed {fields} for {name} “{object}”." -msgstr "Het {fields} vir {name} “{object}” bygevoeg." - -#, python-brace-format -msgid "Changed {fields}." -msgstr "Het {fields} verander." - -#, python-brace-format -msgid "Deleted {name} “{object}”." -msgstr "Het {name} “{object}” geskrap." - -msgid "No fields changed." -msgstr "Geen velde het verander nie." - -msgid "None" -msgstr "Geen" - -msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." -msgstr "Hou “Control” in (of “Command” op ’n Mac) om meer as een te kies." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully." -msgstr "Die {name} “{obj}” is suksesvol bygevoeg." - -msgid "You may edit it again below." -msgstr "Dit kan weer hieronder gewysig word." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was added successfully. You may add another {name} below." -msgstr "" -"Die {name} “{obj}” is suksesvol bygevoeg. Voeg gerus nog ’n {name} onder by." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may edit it again below." -msgstr "" -"Die {name} “{obj}” is suksesvol gewysig. Redigeer dit gerus weer onder." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully. You may edit it again below." -msgstr "" -"Die {name} “{obj}” is suksesvol bygevoeg. Redigeer dit gerus weer onder." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may add another {name} " -"below." -msgstr "" -"Die {name} “{obj}” is suksesvol bygevoeg. Voeg gerus nog ’n {name} onder by." - -#, python-brace-format -msgid "The {name} “{obj}” was changed successfully." -msgstr "Die {name} “{obj}” is suksesvol gewysig." - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Items moet gekies word om aksies op hulle uit te voer. Geen items is " -"verander nie." - -msgid "No action selected." -msgstr "Geen aksie gekies nie." - -#, python-format -msgid "The %(name)s “%(obj)s” was deleted successfully." -msgstr "Die %(name)s “%(obj)s” is suksesvol geskrap." - -#, python-format -msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" -msgstr "%(name)s met ID “%(key)s” bestaan nie. Is dit dalk geskrap?" - -#, python-format -msgid "Add %s" -msgstr "Voeg %s by" - -#, python-format -msgid "Change %s" -msgstr "Wysig %s" - -#, python-format -msgid "View %s" -msgstr "Beskou %s" - -msgid "Database error" -msgstr "Databasisfout" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s is suksesvol verander." -msgstr[1] "%(count)s %(name)s is suksesvol verander." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s gekies" -msgstr[1] "Al %(total_count)s gekies" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "0 uit %(cnt)s gekies" - -#, python-format -msgid "Change history: %s" -msgstr "Verander geskiedenis: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"Om %(class_name)s %(instance)s te skrap sal vereis dat die volgende " -"beskermde verwante objekte geskrap word: %(related_objects)s" - -msgid "Django site admin" -msgstr "Django-werfadmin" - -msgid "Django administration" -msgstr "Django-administrasie" - -msgid "Site administration" -msgstr "Werfadministrasie" - -msgid "Log in" -msgstr "Meld aan" - -#, python-format -msgid "%(app)s administration" -msgstr "%(app)s-administrasie" - -msgid "Page not found" -msgstr "Bladsy nie gevind nie" - -msgid "We’re sorry, but the requested page could not be found." -msgstr "Jammer! Die aangevraagde bladsy kon nie gevind word nie." - -msgid "Home" -msgstr "Tuis" - -msgid "Server error" -msgstr "Bedienerfout" - -msgid "Server error (500)" -msgstr "Bedienerfout (500)" - -msgid "Server Error (500)" -msgstr "Bedienerfout (500)" - -msgid "" -"There’s been an error. It’s been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"’n Fout het voorgekom Dit is via e-pos aan die werfadministrateurs " -"gerapporteer en behoort binnekort reggestel te word. Dankie vir u geduld." - -msgid "Run the selected action" -msgstr "Voer die gekose aksie uit" - -msgid "Go" -msgstr "Gaan" - -msgid "Click here to select the objects across all pages" -msgstr "Kliek hier om die objekte oor alle bladsye te kies." - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Kies al %(total_count)s %(module_name)s" - -msgid "Clear selection" -msgstr "Verwyder keuses" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "Modelle in die %(name)s-toepassing" - -msgid "Add" -msgstr "Voeg by" - -msgid "View" -msgstr "Bekyk" - -msgid "You don’t have permission to view or edit anything." -msgstr "" - -msgid "" -"First, enter a username and password. Then, you’ll be able to edit more user " -"options." -msgstr "" -"Gee eerstens ’n gebruikernaam en wagwoord. Daarna kan meer gebruikervelde " -"geredigeer word." - -msgid "Enter a username and password." -msgstr "Vul ’n gebruikersnaam en wagwoord in." - -msgid "Change password" -msgstr "Verander wagwoord" - -msgid "Please correct the error below." -msgstr "Maak die onderstaande fout asb. reg." - -msgid "Please correct the errors below." -msgstr "Maak die onderstaande foute asb. reg." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "Vul ’n nuwe wagwoord vir gebruiker %(username)s in." - -msgid "Welcome," -msgstr "Welkom," - -msgid "View site" -msgstr "Besoek werf" - -msgid "Documentation" -msgstr "Dokumentasie" - -msgid "Log out" -msgstr "Meld af" - -#, python-format -msgid "Add %(name)s" -msgstr "Voeg %(name)s by" - -msgid "History" -msgstr "Geskiedenis" - -msgid "View on site" -msgstr "Bekyk op werf" - -msgid "Filter" -msgstr "Filtreer" - -msgid "Clear all filters" -msgstr "" - -msgid "Remove from sorting" -msgstr "Verwyder uit sortering" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Sorteerprioriteit: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Wissel sortering" - -msgid "Delete" -msgstr "Skrap" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Om die %(object_name)s %(escaped_object)s te skrap sou verwante objekte " -"skrap, maar jou rekening het nie toestemming om die volgende tipes objekte " -"te skrap nie:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"Om die %(object_name)s “%(escaped_object)s” te skrap vereis dat die volgende " -"beskermde verwante objekte geskrap word:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Wil u definitief die %(object_name)s “%(escaped_object)s” skrap? Al die " -"volgende verwante items sal geskrap word:" - -msgid "Objects" -msgstr "Objekte" - -msgid "Yes, I’m sure" -msgstr "Ja, ek is seker" - -msgid "No, take me back" -msgstr "Nee, ek wil teruggaan" - -msgid "Delete multiple objects" -msgstr "Skrap meerdere objekte" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Om die gekose %(objects_name)s te skrap sou verwante objekte skrap, maar u " -"rekening het nie toestemming om die volgende tipes objekte te skrap nie:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Om die gekose %(objects_name)s te skrap vereis dat die volgende beskermde " -"verwante objekte geskrap word:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Wil u definitief die gekose %(objects_name)s skrap? Al die volgende objekte " -"en hul verwante items sal geskrap word:" - -msgid "Delete?" -msgstr "Skrap?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " Volgens %(filter_title)s " - -msgid "Summary" -msgstr "Opsomming" - -msgid "Recent actions" -msgstr "Onlangse aksies" - -msgid "My actions" -msgstr "My aksies" - -msgid "None available" -msgstr "Niks beskikbaar nie" - -msgid "Unknown content" -msgstr "Onbekende inhoud" - -msgid "" -"Something’s wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Iets is fout met die databasisinstallasie. Maak seker die gepaste " -"databasistabelle is geskep en maak seker die databasis is leesbaar deur die " -"gepaste gebruiker." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"U is aangemeld as %(username)s, maar het nie toegang tot hierdie bladsy nie. " -"Wil u met ’n ander rekening aanmeld?" - -msgid "Forgotten your password or username?" -msgstr "Wagwoord of gebruikersnaam vergeet?" - -msgid "Toggle navigation" -msgstr "" - -msgid "Date/time" -msgstr "Datum/tyd" - -msgid "User" -msgstr "Gebruiker" - -msgid "Action" -msgstr "Aksie" - -msgid "" -"This object doesn’t have a change history. It probably wasn’t added via this " -"admin site." -msgstr "" -"Dié objek het nie 'n wysigingsgeskiedenis. Dit is waarskynlik nie deur dié " -"adminwerf bygevoeg nie." - -msgid "Show all" -msgstr "Wys almal" - -msgid "Save" -msgstr "Stoor" - -msgid "Popup closing…" -msgstr "Opspringer sluit tans…" - -msgid "Search" -msgstr "Soek" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s resultaat" -msgstr[1] "%(counter)s resultate" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s in totaal" - -msgid "Save as new" -msgstr "Stoor as nuwe" - -msgid "Save and add another" -msgstr "Stoor en voeg ’n ander by" - -msgid "Save and continue editing" -msgstr "Stoor en wysig verder" - -msgid "Save and view" -msgstr "Stoor en bekyk" - -msgid "Close" -msgstr "Sluit" - -#, python-format -msgid "Change selected %(model)s" -msgstr "Wysig gekose %(model)s" - -#, python-format -msgid "Add another %(model)s" -msgstr "Voeg nog ’n %(model)s by" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Skrap gekose %(model)s" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "" -"Dankie vir die kwaliteittyd wat u met die webwerf deurgebring het vandag." - -msgid "Log in again" -msgstr "Meld weer aan" - -msgid "Password change" -msgstr "Wagwoordverandering" - -msgid "Your password was changed." -msgstr "Die wagwoord is verander." - -msgid "" -"Please enter your old password, for security’s sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Gee asb. die ou wagwoord t.w.v. sekuriteit, en gee dan die nuwe wagwoord " -"twee keer sodat ons kan verifieer dat dit korrek getik is." - -msgid "Change my password" -msgstr "Verander my wagwoord" - -msgid "Password reset" -msgstr "Wagwoordherstel" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Jou wagwoord is gestel. Jy kan nou voortgaan en aanmeld." - -msgid "Password reset confirmation" -msgstr "Bevestig wagwoordherstel" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Tik die nuwe wagwoord twee keer in so ons kan seker wees dat dit korrek " -"ingetik is." - -msgid "New password:" -msgstr "Nuwe wagwoord:" - -msgid "Confirm password:" -msgstr "Bevestig wagwoord:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Die skakel vir wagwoordherstel was ongeldig, dalk omdat dit reeds gebruik " -"is. Vra gerus ’n nuwe een aan." - -msgid "" -"We’ve emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Ons het instruksies gestuur om ’n wagwoord in te stel as ’n rekening bestaan " -"met die gegewe e-posadres. Dit behoort binnekort afgelewer te word." - -msgid "" -"If you don’t receive an email, please make sure you’ve entered the address " -"you registered with, and check your spam folder." -msgstr "" -"As u geen e-pos ontvang nie, kontroleer dat die e-posadres waarmee " -"geregistreer is, gegee is, en kontroleer die gemorspos." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"U ontvang hierdie e-pos omdat u ’n wagwoordherstel vir u rekening by " -"%(site_name)s aangevra het." - -msgid "Please go to the following page and choose a new password:" -msgstr "Gaan asseblief na die volgende bladsy en kies ’n nuwe wagwoord:" - -msgid "Your username, in case you’ve forgotten:" -msgstr "U gebruikernaam vir ingeval u vergeet het:" - -msgid "Thanks for using our site!" -msgstr "Dankie vir die gebruik van ons webwerf!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "Die %(site_name)s span" - -msgid "" -"Forgotten your password? Enter your email address below, and we’ll email " -"instructions for setting a new one." -msgstr "" -"Die wagwoord vergeet? Tik u e-posadres hieronder en ons sal instruksies vir " -"die instel van ’n nuwe wagwoord stuur." - -msgid "Email address:" -msgstr "E-posadres:" - -msgid "Reset my password" -msgstr "Herstel my wagwoord" - -msgid "All dates" -msgstr "Alle datums" - -#, python-format -msgid "Select %s" -msgstr "Kies %s" - -#, python-format -msgid "Select %s to change" -msgstr "Kies %s om te verander" - -#, python-format -msgid "Select %s to view" -msgstr "Kies %s om te bekyk" - -msgid "Date:" -msgstr "Datum:" - -msgid "Time:" -msgstr "Tyd:" - -msgid "Lookup" -msgstr "Soek" - -msgid "Currently:" -msgstr "Tans:" - -msgid "Change:" -msgstr "Wysig:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/af/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/af/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 896cad2d..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/af/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/af/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/af/LC_MESSAGES/djangojs.po deleted file mode 100644 index 816ef6e7..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/af/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,219 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# F Wolff , 2019 -# Pi Delport , 2013 -# Pi Delport , 2013 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-05-17 11:50+0200\n" -"PO-Revision-Date: 2019-01-04 18:43+0000\n" -"Last-Translator: F Wolff \n" -"Language-Team: Afrikaans (http://www.transifex.com/django/django/language/" -"af/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: af\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "Beskikbare %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Hierdie is die lys beskikbare %s. Kies gerus deur hulle in die boksie " -"hieronder te merk en dan die “Kies”-knoppie tussen die boksies te klik." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "Tik in hierdie blokkie om die lys beskikbare %s te filtreer." - -msgid "Filter" -msgstr "Filteer" - -msgid "Choose all" -msgstr "Kies almal" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Klik om al die %s gelyktydig te kies." - -msgid "Choose" -msgstr "Kies" - -msgid "Remove" -msgstr "Verwyder" - -#, javascript-format -msgid "Chosen %s" -msgstr "Gekose %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Hierdie is die lys gekose %s. Verwyder gerus deur hulle in die boksie " -"hieronder te merk en dan die “Verwyder”-knoppie tussen die boksies te klik." - -msgid "Remove all" -msgstr "Verwyder almal" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Klik om al die %s gelyktydig te verwyder." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(sel)s van %(cnt)s gekies" -msgstr[1] "%(sel)s van %(cnt)s gekies" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Daar is ongestoorde veranderinge op individuele redigeerbare velde. Deur nou " -"’n aksie uit te voer, sal ongestoorde veranderinge verlore gaan." - -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 "" -"U het ’n aksie gekies, maar nog nie die veranderinge aan individuele velde " -"gestoor nie. Klik asb. OK om te stoor. Dit sal nodig wees om weer die aksie " -"uit te voer." - -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 "" -"U het ’n aksie gekies en het nie enige veranderinge aan individuele velde " -"aangebring nie. U soek waarskynlik na die Gaan-knoppie eerder as die Stoor-" -"knoppie." - -msgid "Now" -msgstr "Nou" - -msgid "Midnight" -msgstr "Middernag" - -msgid "6 a.m." -msgstr "06:00" - -msgid "Noon" -msgstr "Middag" - -msgid "6 p.m." -msgstr "18:00" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Let wel: U is %s uur voor die bedienertyd." -msgstr[1] "Let wel: U is %s ure voor die bedienertyd." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Let wel: U is %s uur agter die bedienertyd." -msgstr[1] "Let wel: U is %s ure agter die bedienertyd." - -msgid "Choose a Time" -msgstr "Kies ’n tyd" - -msgid "Choose a time" -msgstr "Kies ‘n tyd" - -msgid "Cancel" -msgstr "Kanselleer" - -msgid "Today" -msgstr "Vandag" - -msgid "Choose a Date" -msgstr "Kies ’n datum" - -msgid "Yesterday" -msgstr "Gister" - -msgid "Tomorrow" -msgstr "Môre" - -msgid "January" -msgstr "Januarie" - -msgid "February" -msgstr "Februarie" - -msgid "March" -msgstr "Maart" - -msgid "April" -msgstr "April" - -msgid "May" -msgstr "Mei" - -msgid "June" -msgstr "Junie" - -msgid "July" -msgstr "Julie" - -msgid "August" -msgstr "Augustus" - -msgid "September" -msgstr "September" - -msgid "October" -msgstr "Oktober" - -msgid "November" -msgstr "November" - -msgid "December" -msgstr "Desember" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "S" - -msgctxt "one letter Monday" -msgid "M" -msgstr "M" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "D" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "W" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "D" - -msgctxt "one letter Friday" -msgid "F" -msgstr "V" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "S" - -msgid "Show" -msgstr "Wys" - -msgid "Hide" -msgstr "Versteek" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/am/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/am/LC_MESSAGES/django.mo deleted file mode 100644 index 37fd72aa..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/am/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/am/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/am/LC_MESSAGES/django.po deleted file mode 100644 index b42fc41e..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/am/LC_MESSAGES/django.po +++ /dev/null @@ -1,636 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-09-19 17:44+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Amharic (http://www.transifex.com/django/django/language/" -"am/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: am\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "%(count)d %(items)s በተሳካ ሁኔታ ተወግድዋል:: " - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "%(name)s ማስወገድ አይቻልም" - -msgid "Are you sure?" -msgstr "እርግጠኛ ነህ?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "የተመረጡትን %(verbose_name_plural)s አስወግድ" - -msgid "Administration" -msgstr "" - -msgid "All" -msgstr "ሁሉም" - -msgid "Yes" -msgstr "አዎ" - -msgid "No" -msgstr "አይደለም" - -msgid "Unknown" -msgstr "ያልታወቀ" - -msgid "Any date" -msgstr "ማንኛውም ቀን" - -msgid "Today" -msgstr "ዛሬ" - -msgid "Past 7 days" -msgstr "ያለፉት 7 ቀናት" - -msgid "This month" -msgstr "በዚህ ወር" - -msgid "This year" -msgstr "በዚህ አመት" - -msgid "No date" -msgstr "" - -msgid "Has date" -msgstr "" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" - -msgid "Action:" -msgstr "ተግባር:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "ሌላ %(verbose_name)s ጨምር" - -msgid "Remove" -msgstr "አጥፋ" - -msgid "action time" -msgstr "ተግባሩ የተፈፀመበት ጊዜ" - -msgid "user" -msgstr "" - -msgid "content type" -msgstr "" - -msgid "object id" -msgstr "" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/3/library/functions.html#repr) -msgid "object repr" -msgstr "" - -msgid "action flag" -msgstr "" - -msgid "change message" -msgstr "መልዕክት ለውጥ" - -msgid "log entry" -msgstr "" - -msgid "log entries" -msgstr "" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "\"%(object)s\" ተጨምሯል::" - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "\"%(object)s\" - %(changes)s ተቀይሯል" - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "\"%(object)s.\" ተወግድዋል" - -msgid "LogEntry Object" -msgstr "" - -#, python-brace-format -msgid "Added {name} \"{object}\"." -msgstr "" - -msgid "Added." -msgstr "" - -msgid "and" -msgstr "እና" - -#, python-brace-format -msgid "Changed {fields} for {name} \"{object}\"." -msgstr "" - -#, python-brace-format -msgid "Changed {fields}." -msgstr "" - -#, python-brace-format -msgid "Deleted {name} \"{object}\"." -msgstr "" - -msgid "No fields changed." -msgstr "ምንም \"ፊልድ\" አልተቀየረም::" - -msgid "None" -msgstr "ምንም" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was changed successfully." -msgstr "" - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" - -msgid "No action selected." -msgstr "ምንም ተግባር አልተመረጠም::" - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "%(name)s \"%(obj)s\" በተሳካ ሁኔታ ተወግድዋል:: " - -#, python-format -msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" -msgstr "" - -#, python-format -msgid "Add %s" -msgstr "%s ጨምር" - -#, python-format -msgid "Change %s" -msgstr "%s ቀይር" - -msgid "Database error" -msgstr "የ(ዳታቤዝ) ችግር" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s በተሳካ ሁኔታ ተቀይሯል::" -msgstr[1] "%(count)s %(name)s በተሳካ ሁኔታ ተቀይረዋል::" - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s ተመርጠዋል" -msgstr[1] "ሁሉም %(total_count)s ተመርጠዋል" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "0 of %(cnt)s ተመርጠዋል" - -#, python-format -msgid "Change history: %s" -msgstr "ታሪኩን ቀይር: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" - -msgid "Django site admin" -msgstr "ጃንጎ ድህረ-ገጽ አስተዳዳሪ" - -msgid "Django administration" -msgstr "ጃንጎ አስተዳደር" - -msgid "Site administration" -msgstr "ድህረ-ገጽ አስተዳደር" - -msgid "Log in" -msgstr "" - -#, python-format -msgid "%(app)s administration" -msgstr "" - -msgid "Page not found" -msgstr "ድህረ-ገጹ የለም" - -msgid "We're sorry, but the requested page could not be found." -msgstr "ይቅርታ! የፈለጉት ድህረ-ገጽ የለም::" - -msgid "Home" -msgstr "ሆም" - -msgid "Server error" -msgstr "የሰርቨር ችግር" - -msgid "Server error (500)" -msgstr "የሰርቨር ችግር (500)" - -msgid "Server Error (500)" -msgstr "የሰርቨር ችግር (500)" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" - -msgid "Run the selected action" -msgstr "የተመረጡትን ተግባሮች አስጀምር" - -msgid "Go" -msgstr "ስራ" - -msgid "Click here to select the objects across all pages" -msgstr "" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "ሁሉንም %(total_count)s %(module_name)s ምረጥ" - -msgid "Clear selection" -msgstr "የተመረጡትን ባዶ ኣድርግ" - -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" - -msgid "Enter a username and password." -msgstr "መለያስም(ዩዘርኔም) እና የይለፍቃል(ፓስወርድ) ይስገቡ::" - -msgid "Change password" -msgstr "የይለፍቃል(ፓስወርድ) ቅየር" - -msgid "Please correct the error below." -msgstr "ከታች ያሉትን ችግሮች ያስተካክሉ::" - -msgid "Please correct the errors below." -msgstr "" - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "ለ %(username)s መለያ አዲስ የይለፍቃል(ፓስወርድ) ያስገቡ::" - -msgid "Welcome," -msgstr "እንኳን በደህና መጡ," - -msgid "View site" -msgstr "" - -msgid "Documentation" -msgstr "መረጃ" - -msgid "Log out" -msgstr "ጨርሰህ ውጣ" - -#, python-format -msgid "Add %(name)s" -msgstr "%(name)s ጨምር" - -msgid "History" -msgstr "ታሪክ" - -msgid "View on site" -msgstr "ድህረ-ገጹ ላይ ይመልከቱ" - -msgid "Filter" -msgstr "አጣራ" - -msgid "Remove from sorting" -msgstr "" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "" - -msgid "Toggle sorting" -msgstr "" - -msgid "Delete" -msgstr "" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" - -msgid "Objects" -msgstr "" - -msgid "Yes, I'm sure" -msgstr "አዎ,እርግጠኛ ነኝ" - -msgid "No, take me back" -msgstr "" - -msgid "Delete multiple objects" -msgstr "" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" - -msgid "Change" -msgstr "ቀይር" - -msgid "Delete?" -msgstr "ላስወግድ?" - -#, python-format -msgid " By %(filter_title)s " -msgstr "በ %(filter_title)s" - -msgid "Summary" -msgstr "" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "" - -msgid "Add" -msgstr "ጨምር" - -msgid "You don't have permission to edit anything." -msgstr "" - -msgid "Recent actions" -msgstr "" - -msgid "My actions" -msgstr "" - -msgid "None available" -msgstr "ምንም የለም" - -msgid "Unknown content" -msgstr "" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" - -msgid "Forgotten your password or username?" -msgstr "የእርሶን መለያስም (ዩዘርኔም) ወይም የይለፍቃል(ፓስወርድ)ዘነጉት?" - -msgid "Date/time" -msgstr "ቀን/ጊዜ" - -msgid "User" -msgstr "" - -msgid "Action" -msgstr "" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" - -msgid "Show all" -msgstr "ሁሉንም አሳይ" - -msgid "Save" -msgstr "" - -msgid "Popup closing..." -msgstr "" - -#, python-format -msgid "Change selected %(model)s" -msgstr "" - -#, python-format -msgid "Add another %(model)s" -msgstr "" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "" - -msgid "Search" -msgstr "ፈልግ" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] " %(counter)s ውጤት" -msgstr[1] "%(counter)s ውጤቶች" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "በአጠቃላይ %(full_result_count)s" - -msgid "Save as new" -msgstr "" - -msgid "Save and add another" -msgstr "" - -msgid "Save and continue editing" -msgstr "" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "ዛሬ ድህረ-ገዓችንን ላይ ጥሩ ጊዜ ስላሳለፉ እናመሰግናለን::" - -msgid "Log in again" -msgstr "በድጋሜ ይግቡ" - -msgid "Password change" -msgstr "የይለፍቃል(ፓስወርድ) ቅየራ" - -msgid "Your password was changed." -msgstr "የይለፍቃልዎን(ፓስወርድ) ተቀይሯል::" - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" - -msgid "Change my password" -msgstr "የይለፍቃል(ፓስወርድ) ቀይር" - -msgid "Password reset" -msgstr "" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "" - -msgid "Password reset confirmation" -msgstr "" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" - -msgid "New password:" -msgstr "አዲስ የይለፍቃል(ፓስወርድ):" - -msgid "Confirm password:" -msgstr "የይለፍቃልዎን(ፓስወርድ) በድጋሜ በማስገባት ያረጋግጡ:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" -"ኢ-ሜል ካልደረስዎት እባክዎን የተመዘገቡበትን የኢ-ሜል አድራሻ ትክክለኛነት ይረጋግጡእንዲሁም ኢ-ሜል (ስፓም) ማህደር " -"ውስጥ ይመልከቱ::" - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"ይህ ኢ-ሜል የደረስዎት %(site_name)s ላይ እንደ አዲስ የይለፍቃል(ፓስወርድ) ለ ለመቀየር ስለጠየቁ ነው::" - -msgid "Please go to the following page and choose a new password:" -msgstr "እባክዎን ወደሚከተለው ድህረ-ገዕ በመሄድ አዲስ የይለፍቃል(ፓስወርድ) ያውጡ:" - -msgid "Your username, in case you've forgotten:" -msgstr "ድንገት ከዘነጉት ይኌው የእርሶ መለያስም (ዩዘርኔም):" - -msgid "Thanks for using our site!" -msgstr "ድህረ-ገዓችንን ስለተጠቀሙ እናመሰግናለን!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "%(site_name)s ቡድን" - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" -"የይለፍቃልዎን(ፓስወርድ)ረሱት? ከታች የኢ-ሜል አድራሻዎን ይስገቡ እና አዲስ ፓስወርድ ለማውጣት የሚያስችል መረጃ " -"እንልክልዎታለን::" - -msgid "Email address:" -msgstr "ኢ-ሜል አድራሻ:" - -msgid "Reset my password" -msgstr "" - -msgid "All dates" -msgstr "ሁሉም ቀናት" - -#, python-format -msgid "Select %s" -msgstr "%sን ምረጥ" - -#, python-format -msgid "Select %s to change" -msgstr "ለመቀየር %sን ምረጥ" - -msgid "Date:" -msgstr "ቀን:" - -msgid "Time:" -msgstr "ጊዜ" - -msgid "Lookup" -msgstr "አፈላልግ" - -msgid "Currently:" -msgstr "በዚህ ጊዜ:" - -msgid "Change:" -msgstr "ቀይር:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ar/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ar/LC_MESSAGES/django.mo deleted file mode 100644 index 064ada0c..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ar/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ar/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ar/LC_MESSAGES/django.po deleted file mode 100644 index eaa04f29..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ar/LC_MESSAGES/django.po +++ /dev/null @@ -1,725 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Bashar Al-Abdulhadi, 2015-2016,2018,2020 -# Bashar Al-Abdulhadi, 2014 -# Eyad Toma , 2013 -# Jannis Leidel , 2011 -# Muaaz Alsaied, 2020 -# Tony xD , 2020 -# صفا الفليج , 2020 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-14 19:53+0200\n" -"PO-Revision-Date: 2020-07-15 00:40+0000\n" -"Last-Translator: Bashar Al-Abdulhadi\n" -"Language-Team: Arabic (http://www.transifex.com/django/django/language/ar/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ar\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " -"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "نجح حذف %(count)d من %(items)s." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "تعذّر حذف %(name)s" - -msgid "Are you sure?" -msgstr "هل أنت متأكد؟" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "احذف %(verbose_name_plural)s المحدّدة" - -msgid "Administration" -msgstr "الإدارة" - -msgid "All" -msgstr "الكل" - -msgid "Yes" -msgstr "نعم" - -msgid "No" -msgstr "لا" - -msgid "Unknown" -msgstr "مجهول" - -msgid "Any date" -msgstr "أي تاريخ" - -msgid "Today" -msgstr "اليوم" - -msgid "Past 7 days" -msgstr "الأيام السبعة الماضية" - -msgid "This month" -msgstr "هذا الشهر" - -msgid "This year" -msgstr "هذه السنة" - -msgid "No date" -msgstr "لا يوجد أي تاريخ" - -msgid "Has date" -msgstr "به تاريخ" - -msgid "Empty" -msgstr "فارغ" - -msgid "Not empty" -msgstr "غير فارغ" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"من فضلك أدخِل قيمة %(username)s الصحيحة وكلمة السر لحساب الطاقم الإداري. " -"الحقلين حسّاسين لحالة الأحرف." - -msgid "Action:" -msgstr "الإجراء:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "أضِف %(verbose_name)s آخر" - -msgid "Remove" -msgstr "أزِل" - -msgid "Addition" -msgstr "إضافة" - -msgid "Change" -msgstr "تعديل" - -msgid "Deletion" -msgstr "حذف" - -msgid "action time" -msgstr "وقت الإجراء" - -msgid "user" -msgstr "المستخدم" - -msgid "content type" -msgstr "نوع المحتوى" - -msgid "object id" -msgstr "معرّف الكائن" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "التمثيل البصري للكائن" - -msgid "action flag" -msgstr "راية الإجراء" - -msgid "change message" -msgstr "رسالة التغيير" - -msgid "log entry" -msgstr "مدخلة سجلات" - -msgid "log entries" -msgstr "مدخلات السجلات" - -#, python-format -msgid "Added “%(object)s”." -msgstr "أُضيف ”%(object)s“." - -#, python-format -msgid "Changed “%(object)s” — %(changes)s" -msgstr "عُدّل ”%(object)s“ — %(changes)s" - -#, python-format -msgid "Deleted “%(object)s.”" -msgstr "حُذف ”%(object)s“." - -msgid "LogEntry Object" -msgstr "كائن LogEntry" - -#, python-brace-format -msgid "Added {name} “{object}”." -msgstr "أُضيف {name} ‏”{object}“." - -msgid "Added." -msgstr "أُضيف." - -msgid "and" -msgstr "و" - -#, python-brace-format -msgid "Changed {fields} for {name} “{object}”." -msgstr "تغيّرت {fields} ‏{name} ‏”{object}“." - -#, python-brace-format -msgid "Changed {fields}." -msgstr "تغيّرت {fields}." - -#, python-brace-format -msgid "Deleted {name} “{object}”." -msgstr "حُذف {name} ‏”{object}“." - -msgid "No fields changed." -msgstr "لم يتغيّر أي حقل." - -msgid "None" -msgstr "بلا" - -msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." -msgstr "" -"اضغط مفتاح ”Contrl“ (أو ”Command“ على أجهزة ماك) مطوّلًا لتحديد أكثر من عنصر." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully." -msgstr "نجحت إضافة {name} ‏”{obj}“." - -msgid "You may edit it again below." -msgstr "يمكنك تعديله ثانيةً أسفله." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was added successfully. You may add another {name} below." -msgstr "نجحت إضافة {name} ‏”{obj}“. يمكنك إضافة {name} آخر أسفله." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may edit it again below." -msgstr "نجح تعديل {name} ‏”{obj}“. يمكنك تعديله ثانيةً أسفله." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully. You may edit it again below." -msgstr "نجحت إضافة {name} ‏”{obj}“. يمكنك تعديله ثانيةً أسفله." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may add another {name} " -"below." -msgstr "تمت إضافة {name} “{obj}” بنجاح، يمكنك إضافة {name} أخر بالأسفل." - -#, python-brace-format -msgid "The {name} “{obj}” was changed successfully." -msgstr "نجحت إضافة {name} ‏”{obj}“." - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "عليك تحديد العناصر لتطبيق الإجراءات عليها. لم يتغيّر أيّ عنصر." - -msgid "No action selected." -msgstr "لا إجراء محدّد." - -#, python-format -msgid "The %(name)s “%(obj)s” was deleted successfully." -msgstr "نجح حذف %(name)s ‏”%(obj)s“." - -#, python-format -msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" -msgstr "ما من %(name)s له المعرّف ”%(key)s“. لربّما حُذف أساسًا؟" - -#, python-format -msgid "Add %s" -msgstr "إضافة %s" - -#, python-format -msgid "Change %s" -msgstr "تعديل %s" - -#, python-format -msgid "View %s" -msgstr "عرض %s" - -msgid "Database error" -msgstr "خطـأ في قاعدة البيانات" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "لم يتم تغيير أي شيء" -msgstr[1] "تم تغيير %(count)s %(name)s بنجاح." -msgstr[2] "تم تغيير %(count)s %(name)s بنجاح." -msgstr[3] "تم تغيير %(count)s %(name)s بنجاح." -msgstr[4] "تم تغيير %(count)s %(name)s بنجاح." -msgstr[5] "تم تغيير %(count)s %(name)s بنجاح." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "لم يتم تحديد أي شيء" -msgstr[1] "تم تحديد %(total_count)s" -msgstr[2] "تم تحديد %(total_count)s" -msgstr[3] "تم تحديد %(total_count)s" -msgstr[4] "تم تحديد %(total_count)s" -msgstr[5] "تم تحديد %(total_count)s" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "لا شيء محدد من %(cnt)s" - -#, python-format -msgid "Change history: %s" -msgstr "تاريخ التغيير: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"حذف %(class_name)s %(instance)s سيتسبب أيضاً بحذف العناصر المرتبطة التالية: " -"%(related_objects)s" - -msgid "Django site admin" -msgstr "إدارة موقع جانغو" - -msgid "Django administration" -msgstr "إدارة جانغو" - -msgid "Site administration" -msgstr "إدارة الموقع" - -msgid "Log in" -msgstr "ادخل" - -#, python-format -msgid "%(app)s administration" -msgstr "إدارة %(app)s " - -msgid "Page not found" -msgstr "تعذر العثور على الصفحة" - -msgid "We’re sorry, but the requested page could not be found." -msgstr "نحن آسفون، لكننا لم نعثر على الصفحة المطلوبة." - -msgid "Home" -msgstr "الرئيسية" - -msgid "Server error" -msgstr "خطأ في المزود" - -msgid "Server error (500)" -msgstr "خطأ في المزود (500)" - -msgid "Server Error (500)" -msgstr "خطأ في المزود (500)" - -msgid "" -"There’s been an error. It’s been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"لقد حدث خطأ. تم إبلاغ مسؤولي الموقع عبر البريد الإلكتروني وسيتم إصلاحه " -"قريبًا. شكرا لصبرك." - -msgid "Run the selected action" -msgstr "نفذ الإجراء المحدّد" - -msgid "Go" -msgstr "نفّذ" - -msgid "Click here to select the objects across all pages" -msgstr "اضغط هنا لتحديد جميع العناصر في جميع الصفحات" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "اختيار %(total_count)s %(module_name)s جميعها" - -msgid "Clear selection" -msgstr "إزالة الاختيار" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "النماذج في تطبيق %(name)s" - -msgid "Add" -msgstr "أضف" - -msgid "View" -msgstr "استعراض" - -msgid "You don’t have permission to view or edit anything." -msgstr "ليست لديك الصلاحية لاستعراض أو لتعديل أي شيء." - -msgid "" -"First, enter a username and password. Then, you’ll be able to edit more user " -"options." -msgstr "" -"أولاً ، أدخل اسم المستخدم وكلمة المرور. بعد ذلك ، ستتمكن من تعديل المزيد من " -"خيارات المستخدم." - -msgid "Enter a username and password." -msgstr "أدخل اسم مستخدم وكلمة مرور." - -msgid "Change password" -msgstr "غيّر كلمة المرور" - -msgid "Please correct the error below." -msgstr "الرجاء تصحيح الأخطاء أدناه." - -msgid "Please correct the errors below." -msgstr "الرجاء تصحيح الأخطاء أدناه." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "أدخل كلمة مرور جديدة للمستخدم %(username)s." - -msgid "Welcome," -msgstr "أهلا، " - -msgid "View site" -msgstr "عرض الموقع" - -msgid "Documentation" -msgstr "الوثائق" - -msgid "Log out" -msgstr "تسجيل الخروج" - -#, python-format -msgid "Add %(name)s" -msgstr "أضف %(name)s" - -msgid "History" -msgstr "تاريخ" - -msgid "View on site" -msgstr "مشاهدة على الموقع" - -msgid "Filter" -msgstr "مرشّح" - -msgid "Clear all filters" -msgstr "مسح جميع المرشحات" - -msgid "Remove from sorting" -msgstr "إزالة من الترتيب" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "أولوية الترتيب: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "عكس الترتيب" - -msgid "Delete" -msgstr "احذف" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"حذف العنصر %(object_name)s '%(escaped_object)s' سيتسبب بحذف العناصر المرتبطة " -"به، إلا أنك لا تملك صلاحية حذف العناصر التالية:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"حذف %(object_name)s '%(escaped_object)s' سيتسبب أيضاً بحذف العناصر المرتبطة، " -"إلا أن حسابك ليس لديه صلاحية حذف أنواع العناصر التالية:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"متأكد أنك تريد حذف العنصر %(object_name)s \"%(escaped_object)s\"؟ سيتم حذف " -"جميع العناصر التالية المرتبطة به:" - -msgid "Objects" -msgstr "عناصر" - -msgid "Yes, I’m sure" -msgstr "نعم، أنا متأكد" - -msgid "No, take me back" -msgstr "لا, تراجع للخلف" - -msgid "Delete multiple objects" -msgstr "حذف عدّة عناصر" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"حذف عناصر %(objects_name)s المُحدّدة سيتسبب بحذف العناصر المرتبطة، إلا أن " -"حسابك ليس له صلاحية حذف أنواع العناصر التالية:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"حذف عناصر %(objects_name)s المحدّدة قد يتطلب حذف العناصر المحميّة المرتبطة " -"التالية:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"أأنت متأكد أنك تريد حذف عناصر %(objects_name)s المحددة؟ جميع العناصر التالية " -"والعناصر المرتبطة بها سيتم حذفها:" - -msgid "Delete?" -msgstr "احذفه؟" - -#, python-format -msgid " By %(filter_title)s " -msgstr " حسب %(filter_title)s " - -msgid "Summary" -msgstr "ملخص" - -msgid "Recent actions" -msgstr "آخر الإجراءات" - -msgid "My actions" -msgstr "إجراءاتي" - -msgid "None available" -msgstr "لا يوجد" - -msgid "Unknown content" -msgstr "مُحتوى مجهول" - -msgid "" -"Something’s wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"هنالك أمر خاطئ في تركيب قاعدة بياناتك، تأكد من أنه تم انشاء جداول قاعدة " -"البيانات الملائمة، وأن قاعدة البيانات قابلة للقراءة من قبل المستخدم الملائم." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"أنت مسجل الدخول بإسم المستخدم %(username)s, ولكنك غير مخول للوصول لهذه " -"الصفحة. هل ترغب بتسجيل الدخول بحساب آخر؟" - -msgid "Forgotten your password or username?" -msgstr "نسيت كلمة المرور أو اسم المستخدم الخاص بك؟" - -msgid "Toggle navigation" -msgstr "تغيير التصفّح" - -msgid "Date/time" -msgstr "التاريخ/الوقت" - -msgid "User" -msgstr "المستخدم" - -msgid "Action" -msgstr "إجراء" - -msgid "" -"This object doesn’t have a change history. It probably wasn’t added via this " -"admin site." -msgstr "" -"ليس لهذا العنصر سجلّ تغييرات، على الأغلب أنه لم يُنشأ من خلال نظام إدارة " -"الموقع." - -msgid "Show all" -msgstr "أظهر الكل" - -msgid "Save" -msgstr "احفظ" - -msgid "Popup closing…" -msgstr "جاري إغلاق النافذة المنبثقة..." - -msgid "Search" -msgstr "ابحث" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "لا نتائج" -msgstr[1] "نتيجة واحدة" -msgstr[2] "نتيجتان" -msgstr[3] "%(counter)s نتائج" -msgstr[4] "%(counter)s نتيجة" -msgstr[5] "%(counter)s نتيجة" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "المجموع %(full_result_count)s" - -msgid "Save as new" -msgstr "احفظ كجديد" - -msgid "Save and add another" -msgstr "احفظ وأضف آخر" - -msgid "Save and continue editing" -msgstr "احفظ واستمر بالتعديل" - -msgid "Save and view" -msgstr "احفظ واستعرض" - -msgid "Close" -msgstr "إغلاق" - -#, python-format -msgid "Change selected %(model)s" -msgstr "تغيير %(model)s المختارة" - -#, python-format -msgid "Add another %(model)s" -msgstr "أضف %(model)s آخر" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "حذف %(model)s المختارة" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "شكراً لك على قضائك بعض الوقت مع الموقع اليوم." - -msgid "Log in again" -msgstr "ادخل مجدداً" - -msgid "Password change" -msgstr "غيّر كلمة مرورك" - -msgid "Your password was changed." -msgstr "تمّ تغيير كلمة مرورك." - -msgid "" -"Please enter your old password, for security’s sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"رجاءً أدخل كلمة المرور القديمة، للأمان، ثم أدخل كلمة المرور الجديدة مرتين " -"لنتأكد بأنك قمت بإدخالها بشكل صحيح." - -msgid "Change my password" -msgstr "غيّر كلمة مروري" - -msgid "Password reset" -msgstr "استعادة كلمة المرور" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "تم تعيين كلمة مرورك. يمكن الاستمرار وتسجيل دخولك الآن." - -msgid "Password reset confirmation" -msgstr "تأكيد استعادة كلمة المرور" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "رجاءً أدخل كلمة مرورك الجديدة مرتين كي تتأكّد من كتابتها بشكل صحيح." - -msgid "New password:" -msgstr "كلمة المرور الجديدة:" - -msgid "Confirm password:" -msgstr "أكّد كلمة المرور:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"رابط استعادة كلمة المرور غير صحيح، ربما لأنه استُخدم من قبل. رجاءً اطلب " -"استعادة كلمة المرور مرة أخرى." - -msgid "" -"We’ve emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"تم إرسال بريد إلكتروني بالتعليمات لضبط كلمة المرور الخاصة بك، وذلك في حال " -"تواجد حساب بنفس البريد الإلكتروني الذي أدخلته. سوف تستقبل البريد الإلكتروني " -"قريباً" - -msgid "" -"If you don’t receive an email, please make sure you’ve entered the address " -"you registered with, and check your spam folder." -msgstr "" -"في حال عدم إستقبال البريد الإلكتروني، الرجاء التأكد من إدخال عنوان بريدك " -"الإلكتروني الخاص بحسابك ومراجعة مجلد الرسائل غير المرغوب بها." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"لقد قمت بتلقى هذه الرسالة لطلبك بإعادة تعين كلمة المرور لحسابك الشخصي على " -"%(site_name)s." - -msgid "Please go to the following page and choose a new password:" -msgstr "رجاءً اذهب إلى الصفحة التالية واختر كلمة مرور جديدة:" - -msgid "Your username, in case you’ve forgotten:" -msgstr "اسم المستخدم الخاص بك، في حال كنت قد نسيته:" - -msgid "Thanks for using our site!" -msgstr "شكراً لاستخدامك موقعنا!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "فريق %(site_name)s" - -msgid "" -"Forgotten your password? Enter your email address below, and we’ll email " -"instructions for setting a new one." -msgstr "" -"هل نسيت كلمة المرور؟ أدخل عنوان بريدك الإلكتروني أدناه وسوف نقوم بإرسال " -"تعليمات للحصول على كلمة مرور جديدة." - -msgid "Email address:" -msgstr "عنوان البريد الإلكتروني:" - -msgid "Reset my password" -msgstr "استعد كلمة مروري" - -msgid "All dates" -msgstr "كافة التواريخ" - -#, python-format -msgid "Select %s" -msgstr "اختر %s" - -#, python-format -msgid "Select %s to change" -msgstr "اختر %s لتغييره" - -#, python-format -msgid "Select %s to view" -msgstr "اختر %s للاستعراض" - -msgid "Date:" -msgstr "التاريخ:" - -msgid "Time:" -msgstr "الوقت:" - -msgid "Lookup" -msgstr "ابحث" - -msgid "Currently:" -msgstr "حالياً:" - -msgid "Change:" -msgstr "تغيير:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ar/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ar/LC_MESSAGES/djangojs.mo deleted file mode 100644 index f25264b9..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ar/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ar/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ar/LC_MESSAGES/djangojs.po deleted file mode 100644 index f22d6e6e..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ar/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,230 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Bashar Al-Abdulhadi, 2015,2020 -# Bashar Al-Abdulhadi, 2014 -# Jannis Leidel , 2011 -# Omar Lajam, 2020 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-11 20:56+0200\n" -"PO-Revision-Date: 2020-07-06 09:56+0000\n" -"Last-Translator: Bashar Al-Abdulhadi\n" -"Language-Team: Arabic (http://www.transifex.com/django/django/language/ar/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ar\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " -"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" - -#, javascript-format -msgid "Available %s" -msgstr "%s المتوفرة" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"هذه قائمة %s المتوفرة. يمكنك اختيار بعضها بانتقائها في الصندوق أدناه ثم " -"الضغط على سهم الـ\"اختيار\" بين الصندوقين." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "اكتب في هذا الصندوق لتصفية قائمة %s المتوفرة." - -msgid "Filter" -msgstr "انتقاء" - -msgid "Choose all" -msgstr "اختر الكل" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "اضغط لاختيار جميع %s جملة واحدة." - -msgid "Choose" -msgstr "اختيار" - -msgid "Remove" -msgstr "احذف" - -#, javascript-format -msgid "Chosen %s" -msgstr "%s المُختارة" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"هذه قائمة %s المحددة. يمكنك إزالة بعضها باختيارها في الصندوق أدناه ثم اضغط " -"على سهم الـ\"إزالة\" بين الصندوقين." - -msgid "Remove all" -msgstr "إزالة الكل" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "اضغط لإزالة جميع %s المحددة جملة واحدة." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "لا شي محدد" -msgstr[1] "%(sel)s من %(cnt)s محدد" -msgstr[2] "%(sel)s من %(cnt)s محدد" -msgstr[3] "%(sel)s من %(cnt)s محددة" -msgstr[4] "%(sel)s من %(cnt)s محدد" -msgstr[5] "%(sel)s من %(cnt)s محدد" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"لديك تعديلات غير محفوظة على بعض الحقول القابلة للتعديل. إن نفذت أي إجراء " -"فسوف تخسر تعديلاتك." - -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 "" -"لقد حددت إجراءً ، لكنك لم تحفظ تغييراتك في الحقول الفردية حتى الآن. يرجى " -"النقر فوق موافق للحفظ. ستحتاج إلى إعادة تشغيل الإجراء." - -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 "" -"لقد حددت إجراء ، ولم تقم بإجراء أي تغييرات على الحقول الفردية. من المحتمل " -"أنك تبحث عن الزر أذهب بدلاً من الزر حفظ." - -msgid "Now" -msgstr "الآن" - -msgid "Midnight" -msgstr "منتصف الليل" - -msgid "6 a.m." -msgstr "6 ص." - -msgid "Noon" -msgstr "الظهر" - -msgid "6 p.m." -msgstr "6 مساءً" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "ملاحظة: أنت متقدم بـ %s ساعة من وقت الخادم." -msgstr[1] "ملاحظة: أنت متقدم بـ %s ساعة من وقت الخادم." -msgstr[2] "ملاحظة: أنت متقدم بـ %s ساعة من وقت الخادم." -msgstr[3] "ملاحظة: أنت متقدم بـ %s ساعة من وقت الخادم." -msgstr[4] "ملاحظة: أنت متقدم بـ %s ساعة من وقت الخادم." -msgstr[5] "ملاحظة: أنت متقدم بـ %s ساعة من وقت الخادم." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "ملاحظة: أنت متأخر بـ %s ساعة من وقت الخادم." -msgstr[1] "ملاحظة: أنت متأخر بـ %s ساعة من وقت الخادم." -msgstr[2] "ملاحظة: أنت متأخر بـ %s ساعة من وقت الخادم." -msgstr[3] "ملاحظة: أنت متأخر بـ %s ساعة من وقت الخادم." -msgstr[4] "ملاحظة: أنت متأخر بـ %s ساعة من وقت الخادم." -msgstr[5] "ملاحظة: أنت متأخر بـ %s ساعة من وقت الخادم." - -msgid "Choose a Time" -msgstr "إختر وقت" - -msgid "Choose a time" -msgstr "اختر وقتاً" - -msgid "Cancel" -msgstr "ألغ" - -msgid "Today" -msgstr "اليوم" - -msgid "Choose a Date" -msgstr "إختر تاريخ " - -msgid "Yesterday" -msgstr "أمس" - -msgid "Tomorrow" -msgstr "غداً" - -msgid "January" -msgstr "يناير" - -msgid "February" -msgstr "فبراير" - -msgid "March" -msgstr "مارس" - -msgid "April" -msgstr "أبريل" - -msgid "May" -msgstr "مايو" - -msgid "June" -msgstr "يونيو" - -msgid "July" -msgstr "يوليو" - -msgid "August" -msgstr "أغسطس" - -msgid "September" -msgstr "سبتمبر" - -msgid "October" -msgstr "أكتوبر" - -msgid "November" -msgstr "نوفمبر" - -msgid "December" -msgstr "ديسمبر" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "أحد" - -msgctxt "one letter Monday" -msgid "M" -msgstr "إثنين" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "ثلاثاء" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "أربعاء" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "خميس" - -msgctxt "one letter Friday" -msgid "F" -msgstr "جمعة" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "سبت" - -msgid "Show" -msgstr "أظهر" - -msgid "Hide" -msgstr "اخف" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ar_DZ/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ar_DZ/LC_MESSAGES/django.mo deleted file mode 100644 index af3d2aa3..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ar_DZ/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ar_DZ/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ar_DZ/LC_MESSAGES/django.po deleted file mode 100644 index 5be94635..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ar_DZ/LC_MESSAGES/django.po +++ /dev/null @@ -1,720 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Riterix , 2019-2020 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-14 19:53+0200\n" -"PO-Revision-Date: 2020-07-14 22:38+0000\n" -"Last-Translator: Transifex Bot <>\n" -"Language-Team: Arabic (Algeria) (http://www.transifex.com/django/django/" -"language/ar_DZ/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ar_DZ\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " -"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "تم حذف %(count)d %(items)s بنجاح." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "لا يمكن حذف %(name)s" - -msgid "Are you sure?" -msgstr "هل أنت متأكد؟" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "حذف سجلات %(verbose_name_plural)s المحددة" - -msgid "Administration" -msgstr "الإدارة" - -msgid "All" -msgstr "الكل" - -msgid "Yes" -msgstr "نعم" - -msgid "No" -msgstr "لا" - -msgid "Unknown" -msgstr "مجهول" - -msgid "Any date" -msgstr "أي تاريخ" - -msgid "Today" -msgstr "اليوم" - -msgid "Past 7 days" -msgstr "الأيام السبعة الماضية" - -msgid "This month" -msgstr "هذا الشهر" - -msgid "This year" -msgstr "هذه السنة" - -msgid "No date" -msgstr "لا يوجد أي تاريخ" - -msgid "Has date" -msgstr "به تاريخ" - -msgid "Empty" -msgstr "فارغة" - -msgid "Not empty" -msgstr "ليست فارغة" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"الرجاء إدخال ال%(username)s و كلمة المرور الصحيحين لحساب الطاقم. الحقلين " -"حساسين وضعية الاحرف." - -msgid "Action:" -msgstr "إجراء:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "إضافة سجل %(verbose_name)s آخر" - -msgid "Remove" -msgstr "أزل" - -msgid "Addition" -msgstr "إضافة" - -msgid "Change" -msgstr "عدّل" - -msgid "Deletion" -msgstr "حذف" - -msgid "action time" -msgstr "وقت الإجراء" - -msgid "user" -msgstr "المستخدم" - -msgid "content type" -msgstr "نوع المحتوى" - -msgid "object id" -msgstr "معرف العنصر" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "ممثل العنصر" - -msgid "action flag" -msgstr "علامة الإجراء" - -msgid "change message" -msgstr "غيّر الرسالة" - -msgid "log entry" -msgstr "مُدخل السجل" - -msgid "log entries" -msgstr "مُدخلات السجل" - -#, python-format -msgid "Added “%(object)s”." -msgstr "تم إضافة العناصر \\\"%(object)s\\\"." - -#, python-format -msgid "Changed “%(object)s” — %(changes)s" -msgstr "تم تعديل العناصر \\\"%(object)s\\\" - %(changes)s" - -#, python-format -msgid "Deleted “%(object)s.”" -msgstr "تم حذف العناصر \\\"%(object)s.\\\"" - -msgid "LogEntry Object" -msgstr "كائن LogEntry" - -#, python-brace-format -msgid "Added {name} “{object}”." -msgstr "تم إضافة {name} \\\"{object}\\\"." - -msgid "Added." -msgstr "تمت الإضافة." - -msgid "and" -msgstr "و" - -#, python-brace-format -msgid "Changed {fields} for {name} “{object}”." -msgstr "تم تغيير {fields} لـ {name} \\\"{object}\\\"." - -#, python-brace-format -msgid "Changed {fields}." -msgstr "تم تغيير {fields}." - -#, python-brace-format -msgid "Deleted {name} “{object}”." -msgstr "تم حذف {name} \\\"{object}\\\"." - -msgid "No fields changed." -msgstr "لم يتم تغيير أية حقول." - -msgid "None" -msgstr "لاشيء" - -msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." -msgstr "" -"استمر بالضغط على مفتاح \\\"Control\\\", او \\\"Command\\\" على أجهزة الماك, " -"لإختيار أكثر من أختيار واحد." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully." -msgstr "تمت إضافة {name} \\\"{obj}\\\" بنجاح." - -msgid "You may edit it again below." -msgstr "يمكن تعديله مرة أخرى أدناه." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was added successfully. You may add another {name} below." -msgstr "تمت إضافة {name} \\\"{obj}\\\" بنجاح. يمكنك إضافة {name} آخر أدناه." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may edit it again below." -msgstr "تم تغيير {name} \\\"{obj}\\\" بنجاح. يمكنك تعديله مرة أخرى أدناه." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully. You may edit it again below." -msgstr "تمت إضافة {name} \\\"{obj}\\\" بنجاح. يمكنك تعديله مرة أخرى أدناه." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may add another {name} " -"below." -msgstr "تم تغيير {name} \\\"{obj}\\\" بنجاح. يمكنك إضافة {name} آخر أدناه." - -#, python-brace-format -msgid "The {name} “{obj}” was changed successfully." -msgstr "تم تغيير {name} \\\"{obj}\\\" بنجاح." - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "يجب تحديد العناصر لتطبيق الإجراءات عليها. لم يتم تغيير أية عناصر." - -msgid "No action selected." -msgstr "لم يحدد أي إجراء." - -#, python-format -msgid "The %(name)s “%(obj)s” was deleted successfully." -msgstr "تم حذف %(name)s \\\"%(obj)s\\\" بنجاح." - -#, python-format -msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" -msgstr "%(name)s ب ID \\\"%(key)s\\\" غير موجود. ربما تم حذفه؟" - -#, python-format -msgid "Add %s" -msgstr "أضف %s" - -#, python-format -msgid "Change %s" -msgstr "عدّل %s" - -#, python-format -msgid "View %s" -msgstr "عرض %s" - -msgid "Database error" -msgstr "خطـأ في قاعدة البيانات" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "تم تغيير %(count)s %(name)s بنجاح." -msgstr[1] "تم تغيير %(count)s %(name)s بنجاح." -msgstr[2] "تم تغيير %(count)s %(name)s بنجاح." -msgstr[3] "تم تغيير %(count)s %(name)s بنجاح." -msgstr[4] "تم تغيير %(count)s %(name)s بنجاح." -msgstr[5] "تم تغيير %(count)s %(name)s بنجاح." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "تم تحديد %(total_count)s" -msgstr[1] "تم تحديد %(total_count)s" -msgstr[2] "تم تحديد %(total_count)s" -msgstr[3] "تم تحديد %(total_count)s" -msgstr[4] "تم تحديد %(total_count)s" -msgstr[5] "تم تحديد %(total_count)s" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "لا شيء محدد من %(cnt)s" - -#, python-format -msgid "Change history: %s" -msgstr "تاريخ التغيير: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"حذف %(class_name)s %(instance)s سيتسبب أيضاً بحذف العناصر المرتبطة التالية: " -"%(related_objects)s" - -msgid "Django site admin" -msgstr "إدارة موقع جانغو" - -msgid "Django administration" -msgstr "إدارة جانغو" - -msgid "Site administration" -msgstr "إدارة الموقع" - -msgid "Log in" -msgstr "ادخل" - -#, python-format -msgid "%(app)s administration" -msgstr "إدارة %(app)s " - -msgid "Page not found" -msgstr "تعذر العثور على الصفحة" - -msgid "We’re sorry, but the requested page could not be found." -msgstr "نحن آسفون، لكننا لم نعثر على الصفحة المطلوبة.\"" - -msgid "Home" -msgstr "الرئيسية" - -msgid "Server error" -msgstr "خطأ في المزود" - -msgid "Server error (500)" -msgstr "خطأ في المزود (500)" - -msgid "Server Error (500)" -msgstr "خطأ في المزود (500)" - -msgid "" -"There’s been an error. It’s been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"كان هناك خطأ. تم إعلام المسؤولين عن الموقع عبر البريد الإلكتروني وسوف يتم " -"إصلاح الخطأ قريباً. شكراً على صبركم." - -msgid "Run the selected action" -msgstr "نفذ الإجراء المحدّد" - -msgid "Go" -msgstr "نفّذ" - -msgid "Click here to select the objects across all pages" -msgstr "اضغط هنا لتحديد جميع العناصر في جميع الصفحات" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "اختيار %(total_count)s %(module_name)s جميعها" - -msgid "Clear selection" -msgstr "إزالة الاختيار" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "النماذج في تطبيق %(name)s" - -msgid "Add" -msgstr "أضف" - -msgid "View" -msgstr "عرض" - -msgid "You don’t have permission to view or edit anything." -msgstr "ليس لديك الصلاحية لعرض أو تعديل أي شيء." - -msgid "" -"First, enter a username and password. Then, you’ll be able to edit more user " -"options." -msgstr "" -"أولاً، أدخل اسم مستخدم وكلمة مرور. ومن ثم تستطيع تعديل المزيد من خيارات " -"المستخدم." - -msgid "Enter a username and password." -msgstr "أدخل اسم مستخدم وكلمة مرور." - -msgid "Change password" -msgstr "غيّر كلمة المرور" - -msgid "Please correct the error below." -msgstr "يرجى تصحيح الخطأ أدناه." - -msgid "Please correct the errors below." -msgstr "الرجاء تصحيح الأخطاء أدناه." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "أدخل كلمة مرور جديدة للمستخدم %(username)s." - -msgid "Welcome," -msgstr "أهلا، " - -msgid "View site" -msgstr "عرض الموقع" - -msgid "Documentation" -msgstr "الوثائق" - -msgid "Log out" -msgstr "اخرج" - -#, python-format -msgid "Add %(name)s" -msgstr "أضف %(name)s" - -msgid "History" -msgstr "تاريخ" - -msgid "View on site" -msgstr "مشاهدة على الموقع" - -msgid "Filter" -msgstr "مرشّح" - -msgid "Clear all filters" -msgstr "مسح جميع المرشحات" - -msgid "Remove from sorting" -msgstr "إزالة من الترتيب" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "أولوية الترتيب: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "عكس الترتيب" - -msgid "Delete" -msgstr "احذف" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"حذف العنصر %(object_name)s '%(escaped_object)s' سيتسبب بحذف العناصر المرتبطة " -"به، إلا أنك لا تملك صلاحية حذف العناصر التالية:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"حذف %(object_name)s '%(escaped_object)s' سيتسبب أيضاً بحذف العناصر المرتبطة، " -"إلا أن حسابك ليس لديه صلاحية حذف أنواع العناصر التالية:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"متأكد أنك تريد حذف العنصر %(object_name)s \\\"%(escaped_object)s\\\"؟ سيتم " -"حذف جميع العناصر التالية المرتبطة به:" - -msgid "Objects" -msgstr "عناصر" - -msgid "Yes, I’m sure" -msgstr "نعم، أنا متأكد" - -msgid "No, take me back" -msgstr "لا, تراجع للخلف" - -msgid "Delete multiple objects" -msgstr "حذف عدّة عناصر" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"حذف عناصر %(objects_name)s المُحدّدة سيتسبب بحذف العناصر المرتبطة، إلا أن " -"حسابك ليس له صلاحية حذف أنواع العناصر التالية:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"حذف عناصر %(objects_name)s المحدّدة قد يتطلب حذف العناصر المحميّة المرتبطة " -"التالية:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"أأنت متأكد أنك تريد حذف عناصر %(objects_name)s المحددة؟ جميع العناصر التالية " -"والعناصر المرتبطة بها سيتم حذفها:" - -msgid "Delete?" -msgstr "احذفه؟" - -#, python-format -msgid " By %(filter_title)s " -msgstr " حسب %(filter_title)s " - -msgid "Summary" -msgstr "ملخص" - -msgid "Recent actions" -msgstr "آخر الإجراءات" - -msgid "My actions" -msgstr "إجراءاتي" - -msgid "None available" -msgstr "لا يوجد" - -msgid "Unknown content" -msgstr "مُحتوى مجهول" - -msgid "" -"Something’s wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"هنالك أمر خاطئ في تركيب قاعدة بياناتك، تأكد من أنه تم انشاء جداول قاعدة " -"البيانات الملائمة، وأن قاعدة البيانات قابلة للقراءة من قبل المستخدم الملائم." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"أنت مسجل الدخول بإسم المستخدم %(username)s, ولكنك غير مخول للوصول لهذه " -"الصفحة. هل ترغب بتسجيل الدخول بحساب آخر؟" - -msgid "Forgotten your password or username?" -msgstr "نسيت كلمة المرور أو اسم المستخدم الخاص بك؟" - -msgid "Toggle navigation" -msgstr "" - -msgid "Date/time" -msgstr "التاريخ/الوقت" - -msgid "User" -msgstr "المستخدم" - -msgid "Action" -msgstr "إجراء" - -msgid "" -"This object doesn’t have a change history. It probably wasn’t added via this " -"admin site." -msgstr "" -"ليس لهذا العنصر سجلّ تغييرات، على الأغلب أنه لم يُنشأ من خلال نظام إدارة " -"الموقع." - -msgid "Show all" -msgstr "أظهر الكل" - -msgid "Save" -msgstr "احفظ" - -msgid "Popup closing…" -msgstr "إغلاق المنبثقة ..." - -msgid "Search" -msgstr "ابحث" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s نتيجة" -msgstr[1] "%(counter)s نتيجة" -msgstr[2] "%(counter)s نتيجة" -msgstr[3] "%(counter)s نتائج" -msgstr[4] "%(counter)s نتيجة" -msgstr[5] "%(counter)s نتيجة" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "المجموع %(full_result_count)s" - -msgid "Save as new" -msgstr "احفظ كجديد" - -msgid "Save and add another" -msgstr "احفظ وأضف آخر" - -msgid "Save and continue editing" -msgstr "احفظ واستمر بالتعديل" - -msgid "Save and view" -msgstr "احفظ ثم اعرض" - -msgid "Close" -msgstr "أغلق" - -#, python-format -msgid "Change selected %(model)s" -msgstr "تغيير %(model)s المختارة" - -#, python-format -msgid "Add another %(model)s" -msgstr "أضف %(model)s آخر" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "حذف %(model)s المختارة" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "شكراً لك على قضائك بعض الوقت مع الموقع اليوم." - -msgid "Log in again" -msgstr "ادخل مجدداً" - -msgid "Password change" -msgstr "غيّر كلمة مرورك" - -msgid "Your password was changed." -msgstr "تمّ تغيير كلمة مرورك." - -msgid "" -"Please enter your old password, for security’s sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"رجاءً أدخل كلمة مرورك القديمة، للأمان، ثم أدخل كلمة مرور الجديدة مرتين كي " -"تتأكّد من كتابتها بشكل صحيح." - -msgid "Change my password" -msgstr "غيّر كلمة مروري" - -msgid "Password reset" -msgstr "استعادة كلمة المرور" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "تم تعيين كلمة مرورك. يمكن الاستمرار وتسجيل دخولك الآن." - -msgid "Password reset confirmation" -msgstr "تأكيد استعادة كلمة المرور" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "رجاءً أدخل كلمة مرورك الجديدة مرتين كي تتأكّد من كتابتها بشكل صحيح." - -msgid "New password:" -msgstr "كلمة المرور الجديدة:" - -msgid "Confirm password:" -msgstr "أكّد كلمة المرور:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"رابط استعادة كلمة المرور غير صحيح، ربما لأنه استُخدم من قبل. رجاءً اطلب " -"استعادة كلمة المرور مرة أخرى." - -msgid "" -"We’ve emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"تم إرسال بريد إلكتروني بالتعليمات لضبط كلمة المرور الخاصة بك, في حال تواجد " -"حساب بنفس البريد الإلكتروني الذي ادخلته. سوف تستقبل البريد الإلكتروني قريباً" - -msgid "" -"If you don’t receive an email, please make sure you’ve entered the address " -"you registered with, and check your spam folder." -msgstr "" -"في حال عدم إستقبال البريد الإلكتروني، الرجاء التأكد من إدخال عنوان بريدك " -"الإلكتروني بشكل صحيح ومراجعة مجلد الرسائل غير المرغوب فيها." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"لقد قمت بتلقى هذه الرسالة لطلبك بإعادة تعين كلمة المرور لحسابك الشخصي على " -"%(site_name)s." - -msgid "Please go to the following page and choose a new password:" -msgstr "رجاءً اذهب إلى الصفحة التالية واختر كلمة مرور جديدة:" - -msgid "Your username, in case you’ve forgotten:" -msgstr "اسم المستخدم الخاص بك، في حال كنت قد نسيته:" - -msgid "Thanks for using our site!" -msgstr "شكراً لاستخدامك موقعنا!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "فريق %(site_name)s" - -msgid "" -"Forgotten your password? Enter your email address below, and we’ll email " -"instructions for setting a new one." -msgstr "" -"هل فقدت كلمة المرور؟ أدخل عنوان بريدك الإلكتروني أدناه وسوف نقوم بإرسال " -"تعليمات للحصول على كلمة مرور جديدة." - -msgid "Email address:" -msgstr "عنوان البريد الإلكتروني:" - -msgid "Reset my password" -msgstr "استعد كلمة مروري" - -msgid "All dates" -msgstr "كافة التواريخ" - -#, python-format -msgid "Select %s" -msgstr "اختر %s" - -#, python-format -msgid "Select %s to change" -msgstr "اختر %s لتغييره" - -#, python-format -msgid "Select %s to view" -msgstr "حدد %s للعرض" - -msgid "Date:" -msgstr "التاريخ:" - -msgid "Time:" -msgstr "الوقت:" - -msgid "Lookup" -msgstr "ابحث" - -msgid "Currently:" -msgstr "حالياً:" - -msgid "Change:" -msgstr "تغيير:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ar_DZ/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ar_DZ/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 135c8e2d..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ar_DZ/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ar_DZ/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ar_DZ/LC_MESSAGES/djangojs.po deleted file mode 100644 index 3bc48c80..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ar_DZ/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,226 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Riterix , 2019-2020 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-11 20:56+0200\n" -"PO-Revision-Date: 2020-06-23 12:16+0000\n" -"Last-Translator: Riterix \n" -"Language-Team: Arabic (Algeria) (http://www.transifex.com/django/django/" -"language/ar_DZ/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ar_DZ\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " -"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" - -#, javascript-format -msgid "Available %s" -msgstr "%s المتوفرة" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"هذه قائمة %s المتوفرة. يمكنك اختيار بعضها بانتقائها في الصندوق أدناه ثم " -"الضغط على سهم الـ\\\"اختيار\\\" بين الصندوقين." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "اكتب في هذا الصندوق لتصفية قائمة %s المتوفرة." - -msgid "Filter" -msgstr "انتقاء" - -msgid "Choose all" -msgstr "اختر الكل" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "اضغط لاختيار جميع %s جملة واحدة." - -msgid "Choose" -msgstr "اختيار" - -msgid "Remove" -msgstr "احذف" - -#, javascript-format -msgid "Chosen %s" -msgstr "%s المختارة" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"هذه قائمة %s المحددة. يمكنك إزالة بعضها باختيارها في الصندوق أدناه ثم اضغط " -"على سهم الـ\\\"إزالة\\\" بين الصندوقين." - -msgid "Remove all" -msgstr "إزالة الكل" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "اضغط لإزالة جميع %s المحددة جملة واحدة." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "لا شي محدد" -msgstr[1] "%(sel)s من %(cnt)s محدد" -msgstr[2] "%(sel)s من %(cnt)s محدد" -msgstr[3] "%(sel)s من %(cnt)s محددة" -msgstr[4] "%(sel)s من %(cnt)s محدد" -msgstr[5] "%(sel)s من %(cnt)s محدد" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"لديك تعديلات غير محفوظة على بعض الحقول القابلة للتعديل. إن نفذت أي إجراء " -"فسوف تخسر تعديلاتك." - -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 "" -"اخترت إجراءً لكن دون أن تحفظ تغييرات التي قمت بها. رجاء اضغط زر الموافقة " -"لتحفظ تعديلاتك. ستحتاج إلى إعادة تنفيذ الإجراء." - -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 "اخترت إجراءً دون تغيير أي حقل. لعلك تريد زر التنفيذ بدلاً من زر الحفظ." - -msgid "Now" -msgstr "الآن" - -msgid "Midnight" -msgstr "منتصف الليل" - -msgid "6 a.m." -msgstr "6 ص." - -msgid "Noon" -msgstr "الظهر" - -msgid "6 p.m." -msgstr "6 مساء" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "ملاحظة: أنت متقدم بـ %s ساعة من وقت الخادم." -msgstr[1] "ملاحظة: أنت متقدم بـ %s ساعة من وقت الخادم." -msgstr[2] "ملاحظة: أنت متقدم بـ %s ساعة من وقت الخادم." -msgstr[3] "ملاحظة: أنت متقدم بـ %s ساعة من وقت الخادم." -msgstr[4] "ملاحظة: أنت متقدم بـ %s ساعة من وقت الخادم." -msgstr[5] "ملاحظة: أنت متقدم بـ %s ساعة من وقت الخادم." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "ملاحظة: أنت متأخر بـ %s ساعة من وقت الخادم." -msgstr[1] "ملاحظة: أنت متأخر بـ %s ساعة من وقت الخادم." -msgstr[2] "ملاحظة: أنت متأخر بـ %s ساعة من وقت الخادم." -msgstr[3] "ملاحظة: أنت متأخر بـ %s ساعة من وقت الخادم." -msgstr[4] "ملاحظة: أنت متأخر بـ %s ساعة من وقت الخادم." -msgstr[5] "ملاحظة: أنت متأخر بـ %s ساعة من وقت الخادم." - -msgid "Choose a Time" -msgstr "إختر وقت " - -msgid "Choose a time" -msgstr "إختر وقت " - -msgid "Cancel" -msgstr "ألغ" - -msgid "Today" -msgstr "اليوم" - -msgid "Choose a Date" -msgstr "إختر تاريخ " - -msgid "Yesterday" -msgstr "أمس" - -msgid "Tomorrow" -msgstr "غداً" - -msgid "January" -msgstr "جانفي" - -msgid "February" -msgstr "فيفري" - -msgid "March" -msgstr "مارس" - -msgid "April" -msgstr "أفريل" - -msgid "May" -msgstr "ماي" - -msgid "June" -msgstr "جوان" - -msgid "July" -msgstr "جويليه" - -msgid "August" -msgstr "أوت" - -msgid "September" -msgstr "سبتمبر" - -msgid "October" -msgstr "أكتوبر" - -msgid "November" -msgstr "نوفمبر" - -msgid "December" -msgstr "ديسمبر" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "ح" - -msgctxt "one letter Monday" -msgid "M" -msgstr "ن" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "ث" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "ع" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "خ" - -msgctxt "one letter Friday" -msgid "F" -msgstr "ج" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "س" - -msgid "Show" -msgstr "أظهر" - -msgid "Hide" -msgstr "اخف" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ast/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ast/LC_MESSAGES/django.mo deleted file mode 100644 index e35811bb..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ast/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ast/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ast/LC_MESSAGES/django.po deleted file mode 100644 index 437b080a..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ast/LC_MESSAGES/django.po +++ /dev/null @@ -1,636 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Ḷḷumex03 , 2014 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-09-23 19:51+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Asturian (http://www.transifex.com/django/django/language/" -"ast/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ast\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "desanciáu con ésitu %(count)d %(items)s." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "Nun pue desaniciase %(name)s" - -msgid "Are you sure?" -msgstr "¿De xuru?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "" - -msgid "Administration" -msgstr "" - -msgid "All" -msgstr "Too" - -msgid "Yes" -msgstr "Sí" - -msgid "No" -msgstr "Non" - -msgid "Unknown" -msgstr "Desconocíu" - -msgid "Any date" -msgstr "Cualaquier data" - -msgid "Today" -msgstr "Güei" - -msgid "Past 7 days" -msgstr "" - -msgid "This month" -msgstr "Esti mes" - -msgid "This year" -msgstr "Esi añu" - -msgid "No date" -msgstr "" - -msgid "Has date" -msgstr "" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" - -msgid "Action:" -msgstr "Aición:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "" - -msgid "Remove" -msgstr "" - -msgid "action time" -msgstr "" - -msgid "user" -msgstr "" - -msgid "content type" -msgstr "" - -msgid "object id" -msgstr "" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/3/library/functions.html#repr) -msgid "object repr" -msgstr "" - -msgid "action flag" -msgstr "" - -msgid "change message" -msgstr "" - -msgid "log entry" -msgstr "" - -msgid "log entries" -msgstr "" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "Amestáu \"%(object)s\"." - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "" - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "" - -msgid "LogEntry Object" -msgstr "" - -#, python-brace-format -msgid "Added {name} \"{object}\"." -msgstr "" - -msgid "Added." -msgstr "" - -msgid "and" -msgstr "y" - -#, python-brace-format -msgid "Changed {fields} for {name} \"{object}\"." -msgstr "" - -#, python-brace-format -msgid "Changed {fields}." -msgstr "" - -#, python-brace-format -msgid "Deleted {name} \"{object}\"." -msgstr "" - -msgid "No fields changed." -msgstr "" - -msgid "None" -msgstr "" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was changed successfully." -msgstr "" - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Los oxetos tienen d'usase pa faer aiciones con ellos. Nun se camudó dengún " -"oxetu." - -msgid "No action selected." -msgstr "Nun s'esbilló denguna aición." - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "" - -#, python-format -msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" -msgstr "" - -#, python-format -msgid "Add %s" -msgstr "Amestar %s" - -#, python-format -msgid "Change %s" -msgstr "" - -msgid "Database error" -msgstr "" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "Esbillaos 0 de %(cnt)s" - -#, python-format -msgid "Change history: %s" -msgstr "" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" - -msgid "Django site admin" -msgstr "" - -msgid "Django administration" -msgstr "" - -msgid "Site administration" -msgstr "" - -msgid "Log in" -msgstr "Aniciar sesión" - -#, python-format -msgid "%(app)s administration" -msgstr "" - -msgid "Page not found" -msgstr "Nun s'alcontró la páxina" - -msgid "We're sorry, but the requested page could not be found." -msgstr "Sentímoslo, pero nun s'alcuentra la páxina solicitada." - -msgid "Home" -msgstr "" - -msgid "Server error" -msgstr "" - -msgid "Server error (500)" -msgstr "" - -msgid "Server Error (500)" -msgstr "" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"Hebo un erru. Repotóse al sitiu d'alministradores per corréu y debería " -"d'iguase en pocu tiempu. Gracies pola to paciencia." - -msgid "Run the selected action" -msgstr "Executar l'aición esbillada" - -msgid "Go" -msgstr "Dir" - -msgid "Click here to select the objects across all pages" -msgstr "" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Esbillar too %(total_count)s %(module_name)s" - -msgid "Clear selection" -msgstr "Llimpiar esbilla" - -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" - -msgid "Enter a username and password." -msgstr "" - -msgid "Change password" -msgstr "" - -msgid "Please correct the error below." -msgstr "" - -msgid "Please correct the errors below." -msgstr "" - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "" - -msgid "Welcome," -msgstr "Bienllegáu/ada," - -msgid "View site" -msgstr "" - -msgid "Documentation" -msgstr "Documentación" - -msgid "Log out" -msgstr "" - -#, python-format -msgid "Add %(name)s" -msgstr "" - -msgid "History" -msgstr "" - -msgid "View on site" -msgstr "" - -msgid "Filter" -msgstr "" - -msgid "Remove from sorting" -msgstr "" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "" - -msgid "Toggle sorting" -msgstr "" - -msgid "Delete" -msgstr "" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" - -msgid "Objects" -msgstr "" - -msgid "Yes, I'm sure" -msgstr "" - -msgid "No, take me back" -msgstr "" - -msgid "Delete multiple objects" -msgstr "" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" - -msgid "Change" -msgstr "" - -msgid "Delete?" -msgstr "" - -#, python-format -msgid " By %(filter_title)s " -msgstr "" - -msgid "Summary" -msgstr "" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "" - -msgid "Add" -msgstr "" - -msgid "You don't have permission to edit anything." -msgstr "" - -msgid "Recent actions" -msgstr "" - -msgid "My actions" -msgstr "" - -msgid "None available" -msgstr "" - -msgid "Unknown content" -msgstr "" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" - -msgid "Forgotten your password or username?" -msgstr "" - -msgid "Date/time" -msgstr "" - -msgid "User" -msgstr "" - -msgid "Action" -msgstr "" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" - -msgid "Show all" -msgstr "" - -msgid "Save" -msgstr "" - -msgid "Popup closing..." -msgstr "" - -#, python-format -msgid "Change selected %(model)s" -msgstr "" - -#, python-format -msgid "Add another %(model)s" -msgstr "" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "" - -msgid "Search" -msgstr "" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "" - -msgid "Save as new" -msgstr "" - -msgid "Save and add another" -msgstr "" - -msgid "Save and continue editing" -msgstr "" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "" - -msgid "Log in again" -msgstr "" - -msgid "Password change" -msgstr "" - -msgid "Your password was changed." -msgstr "" - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" - -msgid "Change my password" -msgstr "" - -msgid "Password reset" -msgstr "" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "" - -msgid "Password reset confirmation" -msgstr "" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" - -msgid "New password:" -msgstr "" - -msgid "Confirm password:" -msgstr "" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" - -msgid "Please go to the following page and choose a new password:" -msgstr "" - -msgid "Your username, in case you've forgotten:" -msgstr "" - -msgid "Thanks for using our site!" -msgstr "" - -#, python-format -msgid "The %(site_name)s team" -msgstr "" - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" - -msgid "Email address:" -msgstr "" - -msgid "Reset my password" -msgstr "" - -msgid "All dates" -msgstr "" - -#, python-format -msgid "Select %s" -msgstr "" - -#, python-format -msgid "Select %s to change" -msgstr "" - -msgid "Date:" -msgstr "Data:" - -msgid "Time:" -msgstr "Hora:" - -msgid "Lookup" -msgstr "" - -msgid "Currently:" -msgstr "Anguaño:" - -msgid "Change:" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ast/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ast/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 7b7e49b7..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ast/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ast/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ast/LC_MESSAGES/djangojs.po deleted file mode 100644 index 53705c70..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ast/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,211 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Ḷḷumex03 , 2014 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" -"PO-Revision-Date: 2017-09-20 02:41+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Asturian (http://www.transifex.com/django/django/language/" -"ast/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ast\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "Disponible %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "" - -msgid "Filter" -msgstr "Filtrar" - -msgid "Choose all" -msgstr "Escoyer too" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Primi pa escoyer too %s d'una vegada" - -msgid "Choose" -msgstr "Escoyer" - -msgid "Remove" -msgstr "Desaniciar" - -#, javascript-format -msgid "Chosen %s" -msgstr "Escoyíu %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" - -msgid "Remove all" -msgstr "Desaniciar too" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Primi pa desaniciar tolo escoyío %s d'una vegada" - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(sel)s de %(cnt)s esbilláu" -msgstr[1] "%(sel)s de %(cnt)s esbillaos" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" - -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 "" -"Esbillesti una aición, pero entá nun guardesti les tos camudancies nos " -"campos individuales. Por favor, primi Aceutar pa guardar. Necesitarás " -"executar de nueves la aición" - -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 "" -"Esbillesti una aición, y nun fixesti camudancia dala nos campos " -"individuales. Quiciabes teas guetando'l botón Dir en cuantes del botón " -"Guardar." - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "" -msgstr[1] "" - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "" -msgstr[1] "" - -msgid "Now" -msgstr "Agora" - -msgid "Choose a Time" -msgstr "" - -msgid "Choose a time" -msgstr "Escueyi una hora" - -msgid "Midnight" -msgstr "Media nueche" - -msgid "6 a.m." -msgstr "" - -msgid "Noon" -msgstr "Meudía" - -msgid "6 p.m." -msgstr "" - -msgid "Cancel" -msgstr "Encaboxar" - -msgid "Today" -msgstr "Güei" - -msgid "Choose a Date" -msgstr "" - -msgid "Yesterday" -msgstr "Ayeri" - -msgid "Tomorrow" -msgstr "Mañana" - -msgid "January" -msgstr "" - -msgid "February" -msgstr "" - -msgid "March" -msgstr "" - -msgid "April" -msgstr "" - -msgid "May" -msgstr "" - -msgid "June" -msgstr "" - -msgid "July" -msgstr "" - -msgid "August" -msgstr "" - -msgid "September" -msgstr "" - -msgid "October" -msgstr "" - -msgid "November" -msgstr "" - -msgid "December" -msgstr "" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "" - -msgctxt "one letter Monday" -msgid "M" -msgstr "" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "" - -msgctxt "one letter Friday" -msgid "F" -msgstr "" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "" - -msgid "Show" -msgstr "Amosar" - -msgid "Hide" -msgstr "Anubrir" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/az/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/az/LC_MESSAGES/django.mo deleted file mode 100644 index 509db8d4..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/az/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/az/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/az/LC_MESSAGES/django.po deleted file mode 100644 index f9644291..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/az/LC_MESSAGES/django.po +++ /dev/null @@ -1,704 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Emin Mastizada , 2018,2020 -# Emin Mastizada , 2016 -# Konul Allahverdiyeva , 2016 -# Zulfugar Ismayilzadeh , 2017 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-14 19:53+0200\n" -"PO-Revision-Date: 2020-07-14 22:38+0000\n" -"Last-Translator: Transifex Bot <>\n" -"Language-Team: Azerbaijani (http://www.transifex.com/django/django/language/" -"az/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: az\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "%(count)d %(items)s uğurla silindi." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "%(name)s silinmir" - -msgid "Are you sure?" -msgstr "Əminsiniz?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Seçilmiş %(verbose_name_plural)s-ləri sil" - -msgid "Administration" -msgstr "Administrasiya" - -msgid "All" -msgstr "Hamısı" - -msgid "Yes" -msgstr "Hə" - -msgid "No" -msgstr "Yox" - -msgid "Unknown" -msgstr "Bilinmir" - -msgid "Any date" -msgstr "İstənilən tarix" - -msgid "Today" -msgstr "Bu gün" - -msgid "Past 7 days" -msgstr "Son 7 gündə" - -msgid "This month" -msgstr "Bu ay" - -msgid "This year" -msgstr "Bu il" - -msgid "No date" -msgstr "Tarixi yoxdur" - -msgid "Has date" -msgstr "Tarixi mövcuddur" - -msgid "Empty" -msgstr "Boş" - -msgid "Not empty" -msgstr "Boş deyil" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Lütfən, istifadəçi hesabı üçün doğru %(username)s və parol daxil olun. " -"Nəzərə alın ki, hər iki sahə böyük/kiçik hərflərə həssasdırlar." - -msgid "Action:" -msgstr "Əməliyyat:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Daha bir %(verbose_name)s əlavə et" - -msgid "Remove" -msgstr "Yığışdır" - -msgid "Addition" -msgstr "Əlavə" - -msgid "Change" -msgstr "Dəyiş" - -msgid "Deletion" -msgstr "Silmə" - -msgid "action time" -msgstr "əməliyyat vaxtı" - -msgid "user" -msgstr "istifadəçi" - -msgid "content type" -msgstr "məzmun növü" - -msgid "object id" -msgstr "obyekt id" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "obyekt repr" - -msgid "action flag" -msgstr "bayraq" - -msgid "change message" -msgstr "dəyişmə mesajı" - -msgid "log entry" -msgstr "loq yazısı" - -msgid "log entries" -msgstr "loq yazıları" - -#, python-format -msgid "Added “%(object)s”." -msgstr "“%(object)s” əlavə edildi." - -#, python-format -msgid "Changed “%(object)s” — %(changes)s" -msgstr "“%(object)s” dəyişdirildi — %(changes)s" - -#, python-format -msgid "Deleted “%(object)s.”" -msgstr "“%(object)s” silindi." - -msgid "LogEntry Object" -msgstr "LogEntry obyekti" - -#, python-brace-format -msgid "Added {name} “{object}”." -msgstr "{name} “{object}” əlavə edildi." - -msgid "Added." -msgstr "Əlavə edildi." - -msgid "and" -msgstr "və" - -#, python-brace-format -msgid "Changed {fields} for {name} “{object}”." -msgstr "{name} “{object}” üçün {fields} dəyişdirildi." - -#, python-brace-format -msgid "Changed {fields}." -msgstr "{fields} dəyişdirildi." - -#, python-brace-format -msgid "Deleted {name} “{object}”." -msgstr "{name} “{object}” silindi." - -msgid "No fields changed." -msgstr "Heç bir sahə dəyişmədi." - -msgid "None" -msgstr "Heç nə" - -msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." -msgstr "" -"Birdən çox seçmək üçün “Control” və ya Mac üçün “Command” düyməsini basılı " -"tutun." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully." -msgstr "{name} “{obj}” uğurla əlavə edildi." - -msgid "You may edit it again below." -msgstr "Bunu aşağıda təkrar redaktə edə bilərsiz." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was added successfully. You may add another {name} below." -msgstr "" -"{name} “{obj}” uğurla əlavə edildi. Aşağıdan başqa bir {name} əlavə edə " -"bilərsiz." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may edit it again below." -msgstr "" -"{name} “{obj}” uğurla dəyişdirildi. Təkrar aşağıdan dəyişdirə bilərsiz." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully. You may edit it again below." -msgstr "" -"{name} “{obj}” uğurla əlavə edildi. Bunu təkrar aşağıdan dəyişdirə bilərsiz." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may add another {name} " -"below." -msgstr "" -"{name} “{obj}” uğurla dəyişdirildi. Aşağıdan başqa bir {name} əlavə edə " -"bilərsiz." - -#, python-brace-format -msgid "The {name} “{obj}” was changed successfully." -msgstr "{name} “{obj}” uğurla dəyişdirildi." - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Biz elementlər üzərində nəsə əməliyyat aparmaq üçün siz onları seçməlisiniz. " -"Heç bir element dəyişmədi." - -msgid "No action selected." -msgstr "Heç bir əməliyyat seçilmədi." - -#, python-format -msgid "The %(name)s “%(obj)s” was deleted successfully." -msgstr "%(name)s “%(obj)s” uğurla silindi." - -#, python-format -msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" -msgstr "“%(key)s” ID nömrəli %(name)s mövcud deyil. Silinmiş ola bilər?" - -#, python-format -msgid "Add %s" -msgstr "%s əlavə et" - -#, python-format -msgid "Change %s" -msgstr "%s dəyiş" - -#, python-format -msgid "View %s" -msgstr "%s gör" - -msgid "Database error" -msgstr "Bazada xəta" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s uğurlu dəyişdirildi." -msgstr[1] "%(count)s %(name)s uğurlu dəyişdirildi." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s seçili" -msgstr[1] "Bütün %(total_count)s seçili" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "%(cnt)s-dan 0 seçilib" - -#, python-format -msgid "Change history: %s" -msgstr "Dəyişmə tarixi: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"%(class_name)s %(instance)s silmə əlaqəli qorunmalı obyektləri silməyi tələb " -"edir: %(related_objects)s" - -msgid "Django site admin" -msgstr "Django sayt administratoru" - -msgid "Django administration" -msgstr "Django administrasiya" - -msgid "Site administration" -msgstr "Sayt administrasiyası" - -msgid "Log in" -msgstr "Daxil ol" - -#, python-format -msgid "%(app)s administration" -msgstr "%(app)s administrasiyası" - -msgid "Page not found" -msgstr "Səhifə tapılmadı" - -msgid "We’re sorry, but the requested page could not be found." -msgstr "Üzr istəyirik, amma sorğulanan səhifə tapılmadı." - -msgid "Home" -msgstr "Ev" - -msgid "Server error" -msgstr "Serverdə xəta" - -msgid "Server error (500)" -msgstr "Serverdə xəta (500)" - -msgid "Server Error (500)" -msgstr "Serverdə xəta (500)" - -msgid "" -"There’s been an error. It’s been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" - -msgid "Run the selected action" -msgstr "Seçdiyim əməliyyatı yerinə yetir" - -msgid "Go" -msgstr "Getdik" - -msgid "Click here to select the objects across all pages" -msgstr "Bütün səhifələr üzrə obyektləri seçmək üçün bura tıqlayın" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Bütün %(total_count)s sayda %(module_name)s seç" - -msgid "Clear selection" -msgstr "Seçimi təmizlə" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "%(name)s proqramındakı modellər" - -msgid "Add" -msgstr "Əlavə et" - -msgid "View" -msgstr "Gör" - -msgid "You don’t have permission to view or edit anything." -msgstr "Nəyi isə görmək və ya redaktə etmək icazəniz yoxdur." - -msgid "" -"First, enter a username and password. Then, you’ll be able to edit more user " -"options." -msgstr "" - -msgid "Enter a username and password." -msgstr "İstifadəçi adını və parolu daxil edin." - -msgid "Change password" -msgstr "Parolu dəyiş" - -msgid "Please correct the error below." -msgstr "Lütfən aşağıdakı xətanı düzəldin." - -msgid "Please correct the errors below." -msgstr "Lütfən aşağıdakı səhvləri düzəldin." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "%(username)s üçün yeni parol daxil edin." - -msgid "Welcome," -msgstr "Xoş gördük," - -msgid "View site" -msgstr "Saytı ziyarət et" - -msgid "Documentation" -msgstr "Sənədləşdirmə" - -msgid "Log out" -msgstr "Çıx" - -#, python-format -msgid "Add %(name)s" -msgstr "%(name)s əlavə et" - -msgid "History" -msgstr "Tarix" - -msgid "View on site" -msgstr "Saytda göstər" - -msgid "Filter" -msgstr "Süzgəc" - -msgid "Clear all filters" -msgstr "Bütün filterləri təmizlə" - -msgid "Remove from sorting" -msgstr "Sıralamadan çıxar" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Sıralama prioriteti: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Sıralamanı çevir" - -msgid "Delete" -msgstr "Sil" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"%(object_name)s \"%(escaped_object)s\" obyektini sildikdə onun bağlı olduğu " -"obyektlər də silinməlidir. Ancaq sizin hesabın aşağıdakı tip obyektləri " -"silməyə səlahiyyəti çatmır:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"%(object_name)s \"%(escaped_object)s\" obyektini silmək üçün aşağıdakı " -"qorunan obyektlər də silinməlidir:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"%(object_name)s \"%(escaped_object)s\" obyektini silməkdə əminsiniz? Ona " -"bağlı olan aşağıdakı obyektlər də silinəcək:" - -msgid "Objects" -msgstr "Obyektlər" - -msgid "Yes, I’m sure" -msgstr "Bəli, əminəm" - -msgid "No, take me back" -msgstr "Xeyr, məni geri götür" - -msgid "Delete multiple objects" -msgstr "Bir neçə obyekt sil" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"%(objects_name)s obyektini silmək üçün ona bağlı obyektlər də silinməlidir. " -"Ancaq sizin hesabınızın aşağıdakı tip obyektləri silmək səlahiyyətinə malik " -"deyil:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"%(objects_name)s obyektini silmək üçün aşağıdakı qorunan obyektlər də " -"silinməlidir:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Seçdiyiniz %(objects_name)s obyektini silməkdə əminsiniz? Aşağıdakı bütün " -"obyektlər və ona bağlı digər obyektlər də silinəcək:" - -msgid "Delete?" -msgstr "Silək?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " %(filter_title)s görə " - -msgid "Summary" -msgstr "İcmal" - -msgid "Recent actions" -msgstr "Son əməliyyatlar" - -msgid "My actions" -msgstr "Mənim əməliyyatlarım" - -msgid "None available" -msgstr "Heç nə yoxdur" - -msgid "Unknown content" -msgstr "Naməlum" - -msgid "" -"Something’s wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"%(username)s olaraq daxil olmusunuz, amma bu səhifəyə icazəniz yoxdur. Başqa " -"bir hesaba daxil olmaq istərdiniz?" - -msgid "Forgotten your password or username?" -msgstr "Parol və ya istifadəçi adını unutmusan?" - -msgid "Toggle navigation" -msgstr "" - -msgid "Date/time" -msgstr "Tarix/vaxt" - -msgid "User" -msgstr "İstifadəçi" - -msgid "Action" -msgstr "Əməliyyat" - -msgid "" -"This object doesn’t have a change history. It probably wasn’t added via this " -"admin site." -msgstr "" - -msgid "Show all" -msgstr "Hamısını göstər" - -msgid "Save" -msgstr "Yadda saxla" - -msgid "Popup closing…" -msgstr "Qəfil pəncərə qapatılır…" - -msgid "Search" -msgstr "Axtar" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s nəticə" -msgstr[1] "%(counter)s nəticə" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "Hamısı birlikdə %(full_result_count)s" - -msgid "Save as new" -msgstr "Yenisi kimi yadda saxla" - -msgid "Save and add another" -msgstr "Yadda saxla və yenisini əlavə et" - -msgid "Save and continue editing" -msgstr "Yadda saxla və redaktəyə davam et" - -msgid "Save and view" -msgstr "Saxla və gör" - -msgid "Close" -msgstr "Qapat" - -#, python-format -msgid "Change selected %(model)s" -msgstr "Seçilmiş %(model)s dəyişdir" - -#, python-format -msgid "Add another %(model)s" -msgstr "Başqa %(model)s əlavə et" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Seçilmiş %(model)s sil" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Sayt ilə səmərəli vaxt keçirdiyiniz üçün təşəkkür." - -msgid "Log in again" -msgstr "Yenidən daxil ol" - -msgid "Password change" -msgstr "Parol dəyişmək" - -msgid "Your password was changed." -msgstr "Sizin parolunuz dəyişdi." - -msgid "" -"Please enter your old password, for security’s sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" - -msgid "Change my password" -msgstr "Mənim parolumu dəyiş" - -msgid "Password reset" -msgstr "Parolun sıfırlanması" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Yeni parol artıq qüvvədədir. Yenidən daxil ola bilərsiniz." - -msgid "Password reset confirmation" -msgstr "Parolun sıfırlanması üçün təsdiq" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "Yeni parolu iki dəfə daxil edin ki, səhv etmədiyinizə əmin olaq." - -msgid "New password:" -msgstr "Yeni parol:" - -msgid "Confirm password:" -msgstr "Yeni parol (bir daha):" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Parolun sıfırlanması üçün olan keçid, yəqin ki, artıq istifadə olunub. " -"Parolu sıfırlamaq üçün yenə müraciət edin." - -msgid "" -"We’ve emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" - -msgid "" -"If you don’t receive an email, please make sure you’ve entered the address " -"you registered with, and check your spam folder." -msgstr "" - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"%(site_name)s saytında parolu yeniləmək istədiyinizə görə bu məktubu " -"göndərdik." - -msgid "Please go to the following page and choose a new password:" -msgstr "Növbəti səhifəyə keçid alın və yeni parolu seçin:" - -msgid "Your username, in case you’ve forgotten:" -msgstr "İstifadəçi adınız, əgər unutmusunuzsa:" - -msgid "Thanks for using our site!" -msgstr "Bizim saytdan istifadə etdiyiniz üçün təşəkkür edirik!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "%(site_name)s komandası" - -msgid "" -"Forgotten your password? Enter your email address below, and we’ll email " -"instructions for setting a new one." -msgstr "" - -msgid "Email address:" -msgstr "E-poçt:" - -msgid "Reset my password" -msgstr "Parolumu sıfırla" - -msgid "All dates" -msgstr "Bütün tarixlərdə" - -#, python-format -msgid "Select %s" -msgstr "%s seç" - -#, python-format -msgid "Select %s to change" -msgstr "%s dəyişmək üçün seç" - -#, python-format -msgid "Select %s to view" -msgstr "Görmək üçün %s seçin" - -msgid "Date:" -msgstr "Tarix:" - -msgid "Time:" -msgstr "Vaxt:" - -msgid "Lookup" -msgstr "Sorğu" - -msgid "Currently:" -msgstr "Hazırda:" - -msgid "Change:" -msgstr "Dəyişdir:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/az/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/az/LC_MESSAGES/djangojs.mo deleted file mode 100644 index b3088a5f..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/az/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/az/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/az/LC_MESSAGES/djangojs.po deleted file mode 100644 index e49194db..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/az/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,218 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Ali Ismayilov , 2011-2012 -# Emin Mastizada , 2016,2020 -# Emin Mastizada , 2016 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-11 20:56+0200\n" -"PO-Revision-Date: 2020-05-14 20:39+0000\n" -"Last-Translator: Emin Mastizada \n" -"Language-Team: Azerbaijani (http://www.transifex.com/django/django/language/" -"az/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: az\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "Mümkün %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Bu, mümkün %s siyahısıdır. Onlardan bir neçəsini qarşısındakı xanaya işarə " -"qoymaq və iki xana arasındakı \"Seç\"i tıqlamaqla seçmək olar." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "Bu xanaya yazmaqla mümkün %s siyahısını filtrləyə bilərsiniz." - -msgid "Filter" -msgstr "Süzgəc" - -msgid "Choose all" -msgstr "Hamısını seç" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Bütün %s siyahısını seçmək üçün tıqlayın." - -msgid "Choose" -msgstr "Seç" - -msgid "Remove" -msgstr "Yığışdır" - -#, javascript-format -msgid "Chosen %s" -msgstr "Seçilmiş %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Bu, seçilmiş %s siyahısıdır. Onlardan bir neçəsini aşağıdakı xanaya işarə " -"qoymaq və iki xana arasındakı \"Sil\"i tıqlamaqla silmək olar." - -msgid "Remove all" -msgstr "Hamısını sil" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Seçilmiş %s siyahısının hamısını silmək üçün tıqlayın." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(sel)s / %(cnt)s seçilib" -msgstr[1] "%(sel)s / %(cnt)s seçilib" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Bəzi sahələrdə etdiyiniz dəyişiklikləri hələ yadda saxlamamışıq. Əgər " -"əməliyyatı işə salsanız, dəyişikliklər əldən gedəcək." - -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 "" -"Əməliyyat seçmisiniz, amma fərdi sahələrdəki dəyişiklikləriniz hələ də yadda " -"saxlanılmayıb. Saxlamaq üçün lütfən Tamam düyməsinə klikləyin. Əməliyyatı " -"təkrar işlətməli olacaqsınız." - -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 "" -"Əməliyyat seçmisiniz və fərdi sahələrdə dəyişiklər etməmisiniz. Böyük " -"ehtimal Saxla düyməsi yerinə Get düyməsinə ehtiyyacınız var." - -msgid "Now" -msgstr "İndi" - -msgid "Midnight" -msgstr "Gecə yarısı" - -msgid "6 a.m." -msgstr "6 a.m." - -msgid "Noon" -msgstr "Günorta" - -msgid "6 p.m." -msgstr "6 p.m." - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Diqqət: Server vaxtından %s saat irəlidəsiniz." -msgstr[1] "Diqqət: Server vaxtından %s saat irəlidəsiniz." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Diqqət: Server vaxtından %s saat geridəsiniz." -msgstr[1] "Diqqət: Server vaxtından %s saat geridəsiniz." - -msgid "Choose a Time" -msgstr "Vaxt Seçin" - -msgid "Choose a time" -msgstr "Vaxtı seçin" - -msgid "Cancel" -msgstr "Ləğv et" - -msgid "Today" -msgstr "Bu gün" - -msgid "Choose a Date" -msgstr "Tarix Seçin" - -msgid "Yesterday" -msgstr "Dünən" - -msgid "Tomorrow" -msgstr "Sabah" - -msgid "January" -msgstr "Yanvar" - -msgid "February" -msgstr "Fevral" - -msgid "March" -msgstr "Mart" - -msgid "April" -msgstr "Aprel" - -msgid "May" -msgstr "May" - -msgid "June" -msgstr "İyun" - -msgid "July" -msgstr "İyul" - -msgid "August" -msgstr "Avqust" - -msgid "September" -msgstr "Sentyabr" - -msgid "October" -msgstr "Oktyabr" - -msgid "November" -msgstr "Noyabr" - -msgid "December" -msgstr "Dekabr" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "B" - -msgctxt "one letter Monday" -msgid "M" -msgstr "B" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "Ç" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "Ç" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "C" - -msgctxt "one letter Friday" -msgid "F" -msgstr "C" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "Ş" - -msgid "Show" -msgstr "Göstər" - -msgid "Hide" -msgstr "Gizlət" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/be/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/be/LC_MESSAGES/django.mo deleted file mode 100644 index 18713a0d..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/be/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/be/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/be/LC_MESSAGES/django.po deleted file mode 100644 index 5baf1e04..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/be/LC_MESSAGES/django.po +++ /dev/null @@ -1,720 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Viktar Palstsiuk , 2015 -# znotdead , 2016-2017,2019-2020 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-14 19:53+0200\n" -"PO-Revision-Date: 2020-07-15 01:22+0000\n" -"Last-Translator: znotdead \n" -"Language-Team: Belarusian (http://www.transifex.com/django/django/language/" -"be/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: be\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" -"%100>=11 && n%100<=14)? 2 : 3);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "Выдалілі %(count)d %(items)s." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "Не ўдаецца выдаліць %(name)s" - -msgid "Are you sure?" -msgstr "Ці ўпэўненыя вы?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Выдаліць абраныя %(verbose_name_plural)s" - -msgid "Administration" -msgstr "Адміністрацыя" - -msgid "All" -msgstr "Усе" - -msgid "Yes" -msgstr "Так" - -msgid "No" -msgstr "Не" - -msgid "Unknown" -msgstr "Невядома" - -msgid "Any date" -msgstr "Хоць-якая дата" - -msgid "Today" -msgstr "Сёньня" - -msgid "Past 7 days" -msgstr "Апошні тыдзень" - -msgid "This month" -msgstr "Гэты месяц" - -msgid "This year" -msgstr "Гэты год" - -msgid "No date" -msgstr "Няма даты" - -msgid "Has date" -msgstr "Мае дату" - -msgid "Empty" -msgstr "Пусты" - -msgid "Not empty" -msgstr "Не пусты" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Калі ласка, увядзіце правільны %(username)s і пароль для службовага рахунку. " -"Адзначым, што абодва палі могуць быць адчувальныя да рэгістра." - -msgid "Action:" -msgstr "Дзеяньне:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Дадаць яшчэ %(verbose_name)s" - -msgid "Remove" -msgstr "Прыбраць" - -msgid "Addition" -msgstr "Дапаўненьне" - -msgid "Change" -msgstr "Зьмяніць" - -msgid "Deletion" -msgstr "Выдалленне" - -msgid "action time" -msgstr "час дзеяньня" - -msgid "user" -msgstr "карыстальнік" - -msgid "content type" -msgstr "від змесціва" - -msgid "object id" -msgstr "нумар аб’екта" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "прадстаўленьне аб’екта" - -msgid "action flag" -msgstr "від дзеяньня" - -msgid "change message" -msgstr "паведамленьне пра зьмену" - -msgid "log entry" -msgstr "запіс у справаздачы" - -msgid "log entries" -msgstr "запісы ў справаздачы" - -#, python-format -msgid "Added “%(object)s”." -msgstr "Дадалі “%(object)s”." - -#, python-format -msgid "Changed “%(object)s” — %(changes)s" -msgstr "Зьмянілі «%(object)s» — %(changes)s" - -#, python-format -msgid "Deleted “%(object)s.”" -msgstr "Выдалілі «%(object)s»." - -msgid "LogEntry Object" -msgstr "Запіс у справаздачы" - -#, python-brace-format -msgid "Added {name} “{object}”." -msgstr "Дадалі {name} “{object}”." - -msgid "Added." -msgstr "Дадалі." - -msgid "and" -msgstr "і" - -#, python-brace-format -msgid "Changed {fields} for {name} “{object}”." -msgstr "Змянілі {fields} для {name} “{object}”." - -#, python-brace-format -msgid "Changed {fields}." -msgstr "Зьмянілі {fields}." - -#, python-brace-format -msgid "Deleted {name} “{object}”." -msgstr "Выдалілі {name} “{object}”." - -msgid "No fields changed." -msgstr "Палі не зьмяняліся." - -msgid "None" -msgstr "Няма" - -msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." -msgstr "" -"Утрымлівайце націснутай кнопку“Control”, або “Command” на Mac, каб вылучыць " -"больш за адзін." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully." -msgstr "Пасьпяхова дадалі {name} “{obj}”." - -msgid "You may edit it again below." -msgstr "Вы можаце зноўку правіць гэта ніжэй." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was added successfully. You may add another {name} below." -msgstr "Пасьпяхова дадалі {name} \"{obj}\". Ніжэй можна дадаць іншы {name}." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may edit it again below." -msgstr "Пасьпяхова зьмянілі {name} \"{obj}\". Ніжэй яго можна зноўку правіць." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully. You may edit it again below." -msgstr "Пасьпяхова дадалі {name} \"{obj}\". Ніжэй яго можна зноўку правіць." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may add another {name} " -"below." -msgstr "Пасьпяхова зьмянілі {name} \"{obj}\". Ніжэй можна дадаць іншы {name}." - -#, python-brace-format -msgid "The {name} “{obj}” was changed successfully." -msgstr "Пасьпяхова зьмянілі {name} \"{obj}\"." - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Каб нешта рабіць, трэба спачатку абраць, з чым гэта рабіць. Нічога не " -"зьмянілася." - -msgid "No action selected." -msgstr "Не абралі дзеяньняў." - -#, python-format -msgid "The %(name)s “%(obj)s” was deleted successfully." -msgstr "Пасьпяхова выдалілі %(name)s «%(obj)s»." - -#, python-format -msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" -msgstr "%(name)s з ID \"%(key)s\" не існуе. Магчыма гэта было выдалена раней?" - -#, python-format -msgid "Add %s" -msgstr "Дадаць %s" - -#, python-format -msgid "Change %s" -msgstr "Зьмяніць %s" - -#, python-format -msgid "View %s" -msgstr "Праглядзець %s" - -msgid "Database error" -msgstr "База зьвестак дала хібу" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "Зьмянілі %(count)s %(name)s." -msgstr[1] "Зьмянілі %(count)s %(name)s." -msgstr[2] "Зьмянілі %(count)s %(name)s." -msgstr[3] "Зьмянілі %(count)s %(name)s." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "Абралі %(total_count)s" -msgstr[1] "Абралі ўсе %(total_count)s" -msgstr[2] "Абралі ўсе %(total_count)s" -msgstr[3] "Абралі ўсе %(total_count)s" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "Абралі 0 аб’ектаў з %(cnt)s" - -#, python-format -msgid "Change history: %s" -msgstr "Гісторыя зьменаў: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"Каб выдаліць %(class_name)s %(instance)s, трэба выдаліць і зьвязаныя " -"абароненыя аб’екты: %(related_objects)s" - -msgid "Django site admin" -msgstr "Кіраўнічая пляцоўка «Джэнґа»" - -msgid "Django administration" -msgstr "Кіраваць «Джэнґаю»" - -msgid "Site administration" -msgstr "Кіраваць пляцоўкаю" - -msgid "Log in" -msgstr "Увайсьці" - -#, python-format -msgid "%(app)s administration" -msgstr "Адміністрацыя %(app)s" - -msgid "Page not found" -msgstr "Бачыну не знайшлі" - -msgid "We’re sorry, but the requested page could not be found." -msgstr "На жаль, запытаную бачыну немагчыма знайсьці." - -msgid "Home" -msgstr "Пачатак" - -msgid "Server error" -msgstr "Паслужнік даў хібу" - -msgid "Server error (500)" -msgstr "Паслужнік даў хібу (памылка 500)" - -msgid "Server Error (500)" -msgstr "Паслужнік даў хібу (памылка 500)" - -msgid "" -"There’s been an error. It’s been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"Адбылася памылка. Паведамленне пра памылку было адаслана адміністратарам " -"сайту па электроннай пошце і яна павінна быць выпраўлена ў бліжэйшы час. " -"Дзякуй за ваша цярпенне." - -msgid "Run the selected action" -msgstr "Выканаць абранае дзеяньне" - -msgid "Go" -msgstr "Выканаць" - -msgid "Click here to select the objects across all pages" -msgstr "Каб абраць аб’екты на ўсіх бачынах, націсьніце сюды" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Абраць усе %(total_count)s %(module_name)s" - -msgid "Clear selection" -msgstr "Не абіраць нічога" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "Мадэлі ў %(name)s праграме" - -msgid "Add" -msgstr "Дадаць" - -msgid "View" -msgstr "Праглядзець" - -msgid "You don’t have permission to view or edit anything." -msgstr "Вы ня маеце дазволу праглядаць ці нешта зьмяняць." - -msgid "" -"First, enter a username and password. Then, you’ll be able to edit more user " -"options." -msgstr "" -"Спачатку пазначце імя карыстальніка ды пароль. Потым можна будзе наставіць " -"іншыя можнасьці." - -msgid "Enter a username and password." -msgstr "Пазначце імя карыстальніка ды пароль." - -msgid "Change password" -msgstr "Зьмяніць пароль" - -msgid "Please correct the error below." -msgstr "Калі ласка, выпраўце памылкі, адзначаныя ніжэй." - -msgid "Please correct the errors below." -msgstr "Калі ласка, выпраўце памылкі, адзначаныя ніжэй." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "Пазначце пароль для карыстальніка «%(username)s»." - -msgid "Welcome," -msgstr "Вітаем," - -msgid "View site" -msgstr "Адкрыць сайт" - -msgid "Documentation" -msgstr "Дакумэнтацыя" - -msgid "Log out" -msgstr "Выйсьці" - -#, python-format -msgid "Add %(name)s" -msgstr "Дадаць %(name)s" - -msgid "History" -msgstr "Гісторыя" - -msgid "View on site" -msgstr "Зірнуць на пляцоўцы" - -msgid "Filter" -msgstr "Прасеяць" - -msgid "Clear all filters" -msgstr "Ачысьціць усе фільтры" - -msgid "Remove from sorting" -msgstr "Прыбраць з упарадкаванага" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Парадак: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Парадкаваць наадварот" - -msgid "Delete" -msgstr "Выдаліць" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Калі выдаліць %(object_name)s «%(escaped_object)s», выдаляцца зьвязаныя " -"аб’екты, але ваш рахунак ня мае дазволу выдаляць наступныя віды аб’ектаў:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"Каб выдаліць %(object_name)s «%(escaped_object)s», трэба выдаліць і " -"зьвязаныя абароненыя аб’екты:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Ці выдаліць %(object_name)s «%(escaped_object)s»? Усе наступныя зьвязаныя " -"складнікі выдаляцца:" - -msgid "Objects" -msgstr "Аб'екты" - -msgid "Yes, I’m sure" -msgstr "Так, я ўпэўнены" - -msgid "No, take me back" -msgstr "Не, вярнуцца назад" - -msgid "Delete multiple objects" -msgstr "Выдаліць некалькі аб’ектаў" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Калі выдаліць абранае (%(objects_name)s), выдаляцца зьвязаныя аб’екты, але " -"ваш рахунак ня мае дазволу выдаляць наступныя віды аб’ектаў:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Каб выдаліць абранае (%(objects_name)s), трэба выдаліць і зьвязаныя " -"абароненыя аб’екты:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Ці выдаліць абранае (%(objects_name)s)? Усе наступныя аб’екты ды зьвязаныя " -"зь імі складнікі выдаляцца:" - -msgid "Delete?" -msgstr "Ці выдаліць?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " %(filter_title)s " - -msgid "Summary" -msgstr "Рэзюмэ" - -msgid "Recent actions" -msgstr "Нядаўнія дзеянні" - -msgid "My actions" -msgstr "Мае дзеяньні" - -msgid "None available" -msgstr "Недаступнае" - -msgid "Unknown content" -msgstr "Невядомае зьмесьціва" - -msgid "" -"Something’s wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Нешта ня так з усталяванаю базаю зьвестак. Упэўніцеся, што ў базе стварылі " -"патрэбныя табліцы, і што базу можа чытаць адпаведны карыстальнік." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"Вы апазнаны як %(username)s але не аўтарызаваны для доступу гэтай бачыны. Не " -"жадаеце лі вы ўвайсці пад іншым карыстальнікам?" - -msgid "Forgotten your password or username?" -msgstr "Забыліся на імя ці пароль?" - -msgid "Toggle navigation" -msgstr "Пераключыць навігацыю" - -msgid "Date/time" -msgstr "Час, дата" - -msgid "User" -msgstr "Карыстальнік" - -msgid "Action" -msgstr "Дзеяньне" - -msgid "" -"This object doesn’t have a change history. It probably wasn’t added via this " -"admin site." -msgstr "" -"Аб’ект ня мае гісторыі зьменаў. Мажліва, яго дадавалі не праз кіраўнічую " -"пляцоўку." - -msgid "Show all" -msgstr "Паказаць усё" - -msgid "Save" -msgstr "Захаваць" - -msgid "Popup closing…" -msgstr "Усплывальнае акно зачыняецца..." - -msgid "Search" -msgstr "Шукаць" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s вынік" -msgstr[1] "%(counter)s вынікі" -msgstr[2] "%(counter)s вынікаў" -msgstr[3] "%(counter)s вынікаў" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "Разам %(full_result_count)s" - -msgid "Save as new" -msgstr "Захаваць як новы" - -msgid "Save and add another" -msgstr "Захаваць і дадаць іншы" - -msgid "Save and continue editing" -msgstr "Захаваць і працягваць правіць" - -msgid "Save and view" -msgstr "Захаваць і праглядзець" - -msgid "Close" -msgstr "Закрыць" - -#, python-format -msgid "Change selected %(model)s" -msgstr "Змяніць абраныя %(model)s" - -#, python-format -msgid "Add another %(model)s" -msgstr "Дадаць яшчэ %(model)s" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Выдаліць абраныя %(model)s" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Дзякуем за час, які вы сёньня правялі на гэтай пляцоўцы." - -msgid "Log in again" -msgstr "Увайсьці зноўку" - -msgid "Password change" -msgstr "Зьмяніць пароль" - -msgid "Your password was changed." -msgstr "Ваш пароль зьмяніўся." - -msgid "" -"Please enter your old password, for security’s sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Дзеля бясьпекі пазначце стары пароль, а потым набярыце новы пароль двойчы — " -"каб упэўніцца, што набралі без памылак." - -msgid "Change my password" -msgstr "Зьмяніць пароль" - -msgid "Password reset" -msgstr "Узнавіць пароль" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Вам усталявалі пароль. Можаце вярнуцца ды ўвайсьці зноўку." - -msgid "Password reset confirmation" -msgstr "Пацьвердзіце, што трэба ўзнавіць пароль" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "Набярыце новы пароль двойчы — каб упэўніцца, што набралі без памылак." - -msgid "New password:" -msgstr "Новы пароль:" - -msgid "Confirm password:" -msgstr "Пацьвердзіце пароль:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Спасылка ўзнавіць пароль хібная: мажліва таму, што ёю ўжо скарысталіся. " -"Запытайцеся ўзнавіць пароль яшчэ раз." - -msgid "" -"We’ve emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Мы адаслалі па электроннай пошце інструкцыі па ўстаноўцы пароля. Калі існуе " -"рахунак з электроннай поштай, што вы ўвялі, то Вы павінны атрымаць іх у " -"бліжэйшы час." - -msgid "" -"If you don’t receive an email, please make sure you’ve entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Калі вы не атрымліваеце электронную пошту, калі ласка, пераканайцеся, што вы " -"ўвялі адрас з якім вы зарэгістраваліся, а таксама праверце тэчку са спамам." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"Вы атрымалі гэты ліст, таму што вы прасілі скінуць пароль для ўліковага " -"запісу карыстальніка на %(site_name)s." - -msgid "Please go to the following page and choose a new password:" -msgstr "Перайдзіце да наступнае бачыны ды абярыце новы пароль:" - -msgid "Your username, in case you’ve forgotten:" -msgstr "Імя карыстальніка, калі раптам вы забыліся:" - -msgid "Thanks for using our site!" -msgstr "Дзякуем, што карыстаецеся нашаю пляцоўкаю!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "Каманда «%(site_name)s»" - -msgid "" -"Forgotten your password? Enter your email address below, and we’ll email " -"instructions for setting a new one." -msgstr "" -"Забыліся пароль? Калі ласка, увядзіце свой адрас электроннай пошты ніжэй, і " -"мы вышлем інструкцыі па электроннай пошце для ўстаноўкі новага." - -msgid "Email address:" -msgstr "Адрас электроннай пошты:" - -msgid "Reset my password" -msgstr "Узнавіць пароль" - -msgid "All dates" -msgstr "Усе даты" - -#, python-format -msgid "Select %s" -msgstr "Абраць %s" - -#, python-format -msgid "Select %s to change" -msgstr "Абярыце %s, каб зьмяніць" - -#, python-format -msgid "Select %s to view" -msgstr "Абярыце %s, каб праглядзець" - -msgid "Date:" -msgstr "Дата:" - -msgid "Time:" -msgstr "Час:" - -msgid "Lookup" -msgstr "Шукаць" - -msgid "Currently:" -msgstr "У цяперашні час:" - -msgid "Change:" -msgstr "Зьмяніць:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/be/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/be/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 9ca4c741..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/be/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/be/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/be/LC_MESSAGES/djangojs.po deleted file mode 100644 index c4428a1b..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/be/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,224 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Viktar Palstsiuk , 2015 -# znotdead , 2016,2020 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-11 20:56+0200\n" -"PO-Revision-Date: 2020-05-13 17:57+0000\n" -"Last-Translator: znotdead \n" -"Language-Team: Belarusian (http://www.transifex.com/django/django/language/" -"be/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: be\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" -"%100>=11 && n%100<=14)? 2 : 3);\n" - -#, javascript-format -msgid "Available %s" -msgstr "Даступныя %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Сьпіс даступных %s. Каб нешта абраць, пазначце патрэбнае ў полі ніжэй і " -"пстрыкніце па стрэлцы «Абраць» між двума палямі." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "Каб прасеяць даступныя %s, друкуйце ў гэтым полі." - -msgid "Filter" -msgstr "Прасеяць" - -msgid "Choose all" -msgstr "Абраць усе" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Каб абраць усе %s, пстрыкніце тут." - -msgid "Choose" -msgstr "Абраць" - -msgid "Remove" -msgstr "Прыбраць" - -#, javascript-format -msgid "Chosen %s" -msgstr "Абралі %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Сьпіс абраных %s. Каб нешта прыбраць, пазначце патрэбнае ў полі ніжэй і " -"пстрыкніце па стрэлцы «Прыбраць» між двума палямі." - -msgid "Remove all" -msgstr "Прыбраць усё" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Каб прыбраць усе %s, пстрыкніце тут." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "Абралі %(sel)s з %(cnt)s" -msgstr[1] "Абралі %(sel)s з %(cnt)s" -msgstr[2] "Абралі %(sel)s з %(cnt)s" -msgstr[3] "Абралі %(sel)s з %(cnt)s" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"У пэўных палях засталіся незахаваныя зьмены. Калі выканаць дзеяньне, " -"незахаванае страціцца." - -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 "" -"Абралі дзеяньне, але не захавалі зьмены ў пэўных палях. Каб захаваць, " -"націсьніце «Добра». Дзеяньне потым трэба будзе запусьціць нанова." - -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 "" -"Абралі дзеяньне, а ў палях нічога не зьмянялі. Мажліва, вы хацелі націснуць " -"кнопку «Выканаць», а ня кнопку «Захаваць»." - -msgid "Now" -msgstr "Цяпер" - -msgid "Midnight" -msgstr "Поўнач" - -msgid "6 a.m." -msgstr "6 папоўначы" - -msgid "Noon" -msgstr "Поўдзень" - -msgid "6 p.m." -msgstr "6 папаўдні" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Заўвага: Ваш час спяшаецца на %s г адносна часу на серверы." -msgstr[1] "Заўвага: Ваш час спяшаецца на %s г адносна часу на серверы." -msgstr[2] "Заўвага: Ваш час спяшаецца на %s г адносна часу на серверы." -msgstr[3] "Заўвага: Ваш час спяшаецца на %s г адносна часу на серверы." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Заўвага: Ваш час адстае на %s г ад часу на серверы." -msgstr[1] "Заўвага: Ваш час адстае на %s г ад часу на серверы." -msgstr[2] "Заўвага: Ваш час адстае на %s г ад часу на серверы." -msgstr[3] "Заўвага: Ваш час адстае на %s г ад часу на серверы." - -msgid "Choose a Time" -msgstr "Абярыце час" - -msgid "Choose a time" -msgstr "Абярыце час" - -msgid "Cancel" -msgstr "Скасаваць" - -msgid "Today" -msgstr "Сёньня" - -msgid "Choose a Date" -msgstr "Абярыце дату" - -msgid "Yesterday" -msgstr "Учора" - -msgid "Tomorrow" -msgstr "Заўтра" - -msgid "January" -msgstr "Студзень" - -msgid "February" -msgstr "Люты" - -msgid "March" -msgstr "Сакавік" - -msgid "April" -msgstr "Красавік" - -msgid "May" -msgstr "Травень" - -msgid "June" -msgstr "Чэрвень" - -msgid "July" -msgstr "Ліпень" - -msgid "August" -msgstr "Жнівень" - -msgid "September" -msgstr "Верасень" - -msgid "October" -msgstr "Кастрычнік" - -msgid "November" -msgstr "Лістапад" - -msgid "December" -msgstr "Снежань" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "Н" - -msgctxt "one letter Monday" -msgid "M" -msgstr "П" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "А" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "С" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "Ч" - -msgctxt "one letter Friday" -msgid "F" -msgstr "П" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "С" - -msgid "Show" -msgstr "Паказаць" - -msgid "Hide" -msgstr "Схаваць" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/bg/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/bg/LC_MESSAGES/django.mo deleted file mode 100644 index 14396572..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/bg/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/bg/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/bg/LC_MESSAGES/django.po deleted file mode 100644 index 73bce75b..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/bg/LC_MESSAGES/django.po +++ /dev/null @@ -1,689 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Boris Chervenkov , 2012 -# Claude Paroz , 2014 -# Jannis Leidel , 2011 -# Lyuboslav Petrov , 2014 -# Todor Lubenov , 2014-2015 -# Venelin Stoykov , 2015-2017 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-11-17 08:33+0000\n" -"Last-Translator: Venelin Stoykov \n" -"Language-Team: Bulgarian (http://www.transifex.com/django/django/language/" -"bg/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: bg\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "Успешно изтрити %(count)d %(items)s ." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "Не можете да изтриете %(name)s" - -msgid "Are you sure?" -msgstr "Сигурни ли сте?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Изтриване на избраните %(verbose_name_plural)s" - -msgid "Administration" -msgstr "Администрация" - -msgid "All" -msgstr "Всички" - -msgid "Yes" -msgstr "Да" - -msgid "No" -msgstr "Не" - -msgid "Unknown" -msgstr "Неизвестно" - -msgid "Any date" -msgstr "Коя-да-е дата" - -msgid "Today" -msgstr "Днес" - -msgid "Past 7 days" -msgstr "Последните 7 дни" - -msgid "This month" -msgstr "Този месец" - -msgid "This year" -msgstr "Тази година" - -msgid "No date" -msgstr "Няма дата" - -msgid "Has date" -msgstr "Има дата" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Моля въведете правилния %(username)s и парола за администраторски акаунт. " -"Моля забележете, че и двете полета са с главни и малки букви." - -msgid "Action:" -msgstr "Действие:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Добави друг %(verbose_name)s" - -msgid "Remove" -msgstr "Премахване" - -msgid "action time" -msgstr "време на действие" - -msgid "user" -msgstr "потребител" - -msgid "content type" -msgstr "тип на съдържанието" - -msgid "object id" -msgstr "id на обекта" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/3/library/functions.html#repr) -msgid "object repr" -msgstr "repr на обекта" - -msgid "action flag" -msgstr "флаг за действие" - -msgid "change message" -msgstr "промени съобщение" - -msgid "log entry" -msgstr "записка" - -msgid "log entries" -msgstr "записки" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "Добавен \"%(object)s\"." - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "Променени \"%(object)s\" - %(changes)s" - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "Изтрит \"%(object)s.\"" - -msgid "LogEntry Object" -msgstr "LogEntry обект" - -#, python-brace-format -msgid "Added {name} \"{object}\"." -msgstr "Добавено {name} \"{object}\"." - -msgid "Added." -msgstr "Добавено." - -msgid "and" -msgstr "и" - -#, python-brace-format -msgid "Changed {fields} for {name} \"{object}\"." -msgstr "Променени {fields} за {name} \"{object}\"." - -#, python-brace-format -msgid "Changed {fields}." -msgstr "Променени {fields}." - -#, python-brace-format -msgid "Deleted {name} \"{object}\"." -msgstr "Изтрит {name} \"{object}\"." - -msgid "No fields changed." -msgstr "Няма променени полета." - -msgid "None" -msgstr "Празно" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" -"Задръжте \"Control\", или \"Command\" на Mac, за да изберете повече от един." - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" -"Обектът {name} \"{obj}\" бе успешно добавен. Може да го редактирате по-" -"долу. " - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may add another {name} " -"below." -msgstr "" -"Обектът {name} \"{obj}\" бе успешно добавен. Можете да добавите още един " -"обект {name} по-долу." - -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "Обектът {name} \"{obj}\" бе успешно добавен. " - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." -msgstr "" -"Обектът {name} \"{obj}\" бе успешно променен. Може да го редактирате по-" -"долу. " - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may add another {name} " -"below." -msgstr "" -"Обектът {name} \"{obj}\" бе успешно променен. Можете да добавите още един " -"обект {name} по-долу." - -#, python-brace-format -msgid "The {name} \"{obj}\" was changed successfully." -msgstr "Обектът {name} \"{obj}\" бе успешно променен." - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Елементите трябва да бъдат избрани, за да се извършат действия по тях. Няма " -"променени елементи." - -msgid "No action selected." -msgstr "Няма избрани действия." - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "Обектът %(name)s \"%(obj)s\" бе успешно изтрит. " - -#, python-format -msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" -msgstr "%(name)s с ИД \"%(key)s\" несъществува. Може би е изтрито?" - -#, python-format -msgid "Add %s" -msgstr "Добави %s" - -#, python-format -msgid "Change %s" -msgstr "Промени %s" - -msgid "Database error" -msgstr "Грешка в базата данни" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s беше променено успешно." -msgstr[1] "%(count)s %(name)s бяха променени успешно." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s е избран" -msgstr[1] "Всички %(total_count)s са избрани" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "0 от %(cnt)s са избрани" - -#, python-format -msgid "Change history: %s" -msgstr "История на промените: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"Изтриването на избраните %(class_name)s %(instance)s ще наложи изтриването " -"на следните защитени и свързани обекти: %(related_objects)s" - -msgid "Django site admin" -msgstr "Административен панел" - -msgid "Django administration" -msgstr "Административен панел" - -msgid "Site administration" -msgstr "Администрация на сайта" - -msgid "Log in" -msgstr "Вход" - -#, python-format -msgid "%(app)s administration" -msgstr "%(app)s администрация" - -msgid "Page not found" -msgstr "Страница не е намерена" - -msgid "We're sorry, but the requested page could not be found." -msgstr "Съжалявам, но исканата страница не е намерена." - -msgid "Home" -msgstr "Начало" - -msgid "Server error" -msgstr "Сървърна грешка" - -msgid "Server error (500)" -msgstr "Сървърна грешка (500)" - -msgid "Server Error (500)" -msgstr "Сървърна грешка (500)" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"Станала е грешка. Съобщава се на администраторите на сайта по електронна " -"поща и трябва да бъде поправено скоро. Благодарим ви за търпението." - -msgid "Run the selected action" -msgstr "Стартирай избраните действия" - -msgid "Go" -msgstr "Напред" - -msgid "Click here to select the objects across all pages" -msgstr "Щракнете тук, за да изберете обектите във всички страници" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Избери всички %(total_count)s %(module_name)s" - -msgid "Clear selection" -msgstr "Изтрий избраното" - -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" -"Първо въведете потребител и парола. След това ще можете да редактирате " -"повече детайли. " - -msgid "Enter a username and password." -msgstr "Въведете потребителско име и парола." - -msgid "Change password" -msgstr "Промени парола" - -msgid "Please correct the error below." -msgstr "Моля, поправете грешките по-долу." - -msgid "Please correct the errors below." -msgstr "Моля поправете грешките по-долу." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "Въведете нова парола за потребител %(username)s." - -msgid "Welcome," -msgstr "Добре дошли," - -msgid "View site" -msgstr "Виж сайта" - -msgid "Documentation" -msgstr "Документация" - -msgid "Log out" -msgstr "Изход" - -#, python-format -msgid "Add %(name)s" -msgstr "Добави %(name)s" - -msgid "History" -msgstr "История" - -msgid "View on site" -msgstr "Разгледай в сайта" - -msgid "Filter" -msgstr "Филтър" - -msgid "Remove from sorting" -msgstr "Премахни от подреждането" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Ред на подреждане: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Обърни подреждането" - -msgid "Delete" -msgstr "Изтрий" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Изтриването на обекта %(object_name)s '%(escaped_object)s' не може да бъде " -"извършено без да се изтрият и някои свързани обекти, върху които обаче " -"нямате права: " - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"Изтриването на %(object_name)s '%(escaped_object)s' ще доведе до " -"заличаването на следните защитени свързани обекти:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Наистина ли искате да изтриете обектите %(object_name)s \"%(escaped_object)s" -"\"? Следните свързани елементи също ще бъдат изтрити:" - -msgid "Objects" -msgstr "Обекти" - -msgid "Yes, I'm sure" -msgstr "Да, сигурен съм" - -msgid "No, take me back" -msgstr "Не, върни ме обратно" - -msgid "Delete multiple objects" -msgstr "Изтриване на множество обекти" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Изтриването на избраните %(objects_name)s ще доведе до изтриване на свързани " -"обекти. Вашият профил няма права за изтриване на следните типове обекти:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Изтриването на избраните %(objects_name)s ще доведе до заличаването на " -"следните защитени свързани обекти:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Наистина ли искате да изтриете избраните %(objects_name)s? Всички изброени " -"обекти и свързаните с тях ще бъдат изтрити:" - -msgid "Change" -msgstr "Промени" - -msgid "Delete?" -msgstr "Изтриване?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " По %(filter_title)s " - -msgid "Summary" -msgstr "Резюме" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "Моделите в %(name)s приложение" - -msgid "Add" -msgstr "Добави" - -msgid "You don't have permission to edit anything." -msgstr "Нямате права да редактирате каквото и да е." - -msgid "Recent actions" -msgstr "Последни действия" - -msgid "My actions" -msgstr "Моите действия" - -msgid "None available" -msgstr "Няма налични" - -msgid "Unknown content" -msgstr "Неизвестно съдържание" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Проблем с базата данни. Проверете дали необходимите таблици са създадени и " -"дали съответния потребител има необходимите права за достъп. " - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"Вие сте се автентикиран като %(username)s, но не сте оторизиран да достъпите " -"тази страница. Бихте ли желали да влезе с друг профил." - -msgid "Forgotten your password or username?" -msgstr "Забравена парола или потребителско име?" - -msgid "Date/time" -msgstr "Дата/час" - -msgid "User" -msgstr "Потребител" - -msgid "Action" -msgstr "Действие" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" -"Този обект няма исторя на промените. Вероятно не е добавен чрез " -"административния панел. " - -msgid "Show all" -msgstr "Покажи всички" - -msgid "Save" -msgstr "Запис" - -msgid "Popup closing..." -msgstr "Затваряне на изкачащ прозорец..." - -#, python-format -msgid "Change selected %(model)s" -msgstr "Променете избрания %(model)s" - -#, python-format -msgid "Add another %(model)s" -msgstr "Добавяне на друг %(model)s" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Изтриване на избрания %(model)s" - -msgid "Search" -msgstr "Търсене" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s резултат" -msgstr[1] "%(counter)s резултати" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s общо" - -msgid "Save as new" -msgstr "Запис като нов" - -msgid "Save and add another" -msgstr "Запис и нов" - -msgid "Save and continue editing" -msgstr "Запис и продължение" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Благодарим Ви, че използвахте този сайт днес." - -msgid "Log in again" -msgstr "Влез пак" - -msgid "Password change" -msgstr "Промяна на парола" - -msgid "Your password was changed." -msgstr "Паролата ви е променена." - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Въведете старата си парола /за сигурност/. След това въведете желаната нова " -"парола два пъти от съображения за сигурност" - -msgid "Change my password" -msgstr "Промяна на парола" - -msgid "Password reset" -msgstr "Нова парола" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Паролата е променена. Вече можете да се впишете" - -msgid "Password reset confirmation" -msgstr "Парола за потвърждение" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Моля, въведете новата парола два пъти, за да може да се потвърди, че сте я " -"написали правилно." - -msgid "New password:" -msgstr "Нова парола:" - -msgid "Confirm password:" -msgstr "Потвърдете паролата:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Връзката за възстановяване на паролата е невалидна, може би защото вече е " -"използвана. Моля, поискайте нова промяна на паролата." - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Ние ви пратихме мейл с инструкции за настройка на вашата парола, ако " -"съществува профил с имейла, който сте въвели. Вие трябва да ги получат скоро." - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Ако не получите имейл, моля подсигурете се, че сте въвели правилно адреса с " -"който сте се регистрирал/a и/или проверете спам папката във вашата поща." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"Вие сте получили този имейл, защото сте поискали да промените паролата за " -"вашия потребителски акаунт в %(site_name)s." - -msgid "Please go to the following page and choose a new password:" -msgstr "Моля, отидете на следната страница и изберете нова парола:" - -msgid "Your username, in case you've forgotten:" -msgstr "Вашето потребителско име, в случай, че сте го забравили:" - -msgid "Thanks for using our site!" -msgstr "Благодарим, че ползвате сайта ни!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "Екипът на %(site_name)s" - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" -"Забравили сте си паролата? Въведете своя имейл адрес по-долу, а ние ще ви " -"изпратим инструкции за създаване на нова." - -msgid "Email address:" -msgstr "E-mail адреси:" - -msgid "Reset my password" -msgstr "Нова парола" - -msgid "All dates" -msgstr "Всички дати" - -#, python-format -msgid "Select %s" -msgstr "Изберете %s" - -#, python-format -msgid "Select %s to change" -msgstr "Изберете %s за промяна" - -msgid "Date:" -msgstr "Дата:" - -msgid "Time:" -msgstr "Час:" - -msgid "Lookup" -msgstr "Търсене" - -msgid "Currently:" -msgstr "Сега:" - -msgid "Change:" -msgstr "Промени" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/bg/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/bg/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 4940bb9f..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/bg/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/bg/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/bg/LC_MESSAGES/djangojs.po deleted file mode 100644 index ded64ac3..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/bg/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,218 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Jannis Leidel , 2011 -# Venelin Stoykov , 2015-2016 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" -"PO-Revision-Date: 2017-09-19 16:41+0000\n" -"Last-Translator: Venelin Stoykov \n" -"Language-Team: Bulgarian (http://www.transifex.com/django/django/language/" -"bg/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: bg\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "Налични %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Това е списък на наличните %s . Можете да изберете някои, като ги изберете в " -"полето по-долу и след това кликнете върху \"Избор\" стрелка между двете " -"кутии." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "Въведете в това поле, за да филтрирате списъка на наличните %s." - -msgid "Filter" -msgstr "Филтър" - -msgid "Choose all" -msgstr "Избери всички" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Кликнете, за да изберете всички %s наведнъж." - -msgid "Choose" -msgstr "Избирам" - -msgid "Remove" -msgstr "Премахни" - -#, javascript-format -msgid "Chosen %s" -msgstr "Избрахме %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Това е списък на избрания %s. Можете да премахнете някои, като ги изберете в " -"полето по-долу и след това щракнете върху \"Премахни\" стрелка между двете " -"кутии." - -msgid "Remove all" -msgstr "Премахване на всички" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Кликнете, за да премахнете всички избрани %s наведнъж." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(sel)s на %(cnt)s е избран" -msgstr[1] "%(sel)s на %(cnt)s са избрани" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Имате незапазени промени по отделни полета за редактиране. Ако започнете " -"друго, незаписаните промени ще бъдат загубени." - -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 "" -"Вие сте избрали действие, но не сте записали промените по полета. Моля, " -"кликнете ОК, за да се запишат. Трябва отново да започнете действие." - -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 "" -"Вие сте избрали дадена дейност, а не сте направили някакви промени по " -"полетата. Вероятно търсите Go бутон, а не бутона Save." - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Бележка: Вие сте %s час напред от времето на сървъра." -msgstr[1] "Бележка: Вие сте %s часа напред от времето на сървъра" - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Внимание: Вие сте %s час назад от времето на сървъра." -msgstr[1] "Внимание: Вие сте %s часа назад от времето на сървъра." - -msgid "Now" -msgstr "Сега" - -msgid "Choose a Time" -msgstr "Изберете време" - -msgid "Choose a time" -msgstr "Избери време" - -msgid "Midnight" -msgstr "Полунощ" - -msgid "6 a.m." -msgstr "6 a.m." - -msgid "Noon" -msgstr "По обяд" - -msgid "6 p.m." -msgstr "6 след обяд" - -msgid "Cancel" -msgstr "Отказ" - -msgid "Today" -msgstr "Днес" - -msgid "Choose a Date" -msgstr "Изберете дата" - -msgid "Yesterday" -msgstr "Вчера" - -msgid "Tomorrow" -msgstr "Утре" - -msgid "January" -msgstr "Януари" - -msgid "February" -msgstr "Февруари" - -msgid "March" -msgstr "Март" - -msgid "April" -msgstr "Април" - -msgid "May" -msgstr "Май" - -msgid "June" -msgstr "Юни" - -msgid "July" -msgstr "Юли" - -msgid "August" -msgstr "Август" - -msgid "September" -msgstr "Септември" - -msgid "October" -msgstr "Октомври" - -msgid "November" -msgstr "Ноември" - -msgid "December" -msgstr "Декември" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "Н" - -msgctxt "one letter Monday" -msgid "M" -msgstr "П" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "В" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "С" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "Ч" - -msgctxt "one letter Friday" -msgid "F" -msgstr "П" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "С" - -msgid "Show" -msgstr "Покажи" - -msgid "Hide" -msgstr "Скрий" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/bn/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/bn/LC_MESSAGES/django.mo deleted file mode 100644 index ab1d7ee1..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/bn/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/bn/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/bn/LC_MESSAGES/django.po deleted file mode 100644 index e36fb616..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/bn/LC_MESSAGES/django.po +++ /dev/null @@ -1,652 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Anubhab Baksi, 2013 -# Jannis Leidel , 2011 -# Tahmid Rafi , 2012-2013 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-09-19 16:41+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Bengali (http://www.transifex.com/django/django/language/" -"bn/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: bn\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "%(count)d টি %(items)s সফলভাবে মুছে ফেলা হয়েছে" - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "%(name)s ডিলিট করা সম্ভব নয়" - -msgid "Are you sure?" -msgstr "আপনি কি নিশ্চিত?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "চিহ্নিত অংশটি %(verbose_name_plural)s মুছে ফেলুন" - -msgid "Administration" -msgstr "" - -msgid "All" -msgstr "সকল" - -msgid "Yes" -msgstr "হ্যাঁ" - -msgid "No" -msgstr "না" - -msgid "Unknown" -msgstr "অজানা" - -msgid "Any date" -msgstr "যে কোন তারিখ" - -msgid "Today" -msgstr "‍আজ" - -msgid "Past 7 days" -msgstr "শেষ ৭ দিন" - -msgid "This month" -msgstr "এ মাসে" - -msgid "This year" -msgstr "এ বছরে" - -msgid "No date" -msgstr "" - -msgid "Has date" -msgstr "" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" - -msgid "Action:" -msgstr "কাজ:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "আরো একটি %(verbose_name)s যোগ করুন" - -msgid "Remove" -msgstr "মুছে ফেলুন" - -msgid "action time" -msgstr "কার্য সময়" - -msgid "user" -msgstr "" - -msgid "content type" -msgstr "" - -msgid "object id" -msgstr "অবজেক্ট আইডি" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/3/library/functions.html#repr) -msgid "object repr" -msgstr "অবজেক্ট উপস্থাপক" - -msgid "action flag" -msgstr "কার্যচিহ্ন" - -msgid "change message" -msgstr "বার্তা পরিবর্তন করুন" - -msgid "log entry" -msgstr "লগ এন্ট্রি" - -msgid "log entries" -msgstr "লগ এন্ট্রিসমূহ" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "%(object)s অ্যাড করা হয়েছে" - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "" - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "\"%(object)s\" ডিলিট করা হয়েছে" - -msgid "LogEntry Object" -msgstr "লগ-এন্ট্রি দ্রব্য" - -#, python-brace-format -msgid "Added {name} \"{object}\"." -msgstr "" - -msgid "Added." -msgstr "" - -msgid "and" -msgstr "এবং" - -#, python-brace-format -msgid "Changed {fields} for {name} \"{object}\"." -msgstr "" - -#, python-brace-format -msgid "Changed {fields}." -msgstr "" - -#, python-brace-format -msgid "Deleted {name} \"{object}\"." -msgstr "" - -msgid "No fields changed." -msgstr "কোন ফিল্ড পরিবর্তন হয়নি।" - -msgid "None" -msgstr "কিছু না" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was changed successfully." -msgstr "" - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "কাজ করার আগে বস্তুগুলিকে অবশ্যই চিহ্নিত করতে হবে। কোনো বস্তু পরিবর্তিত হয়নি।" - -msgid "No action selected." -msgstr "কোনো কাজ " - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "%(name)s \"%(obj)s\" সফলতার সাথে মুছে ফেলা হয়েছে।" - -#, python-format -msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" -msgstr "" - -#, python-format -msgid "Add %s" -msgstr "%s যোগ করুন" - -#, python-format -msgid "Change %s" -msgstr "%s পরিবর্তন করুন" - -msgid "Database error" -msgstr "ডাটাবেস সমস্যা" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "%(cnt)s টি থেকে ০ টি সিলেক্ট করা হয়েছে" - -#, python-format -msgid "Change history: %s" -msgstr "ইতিহাস পরিবর্তনঃ %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" - -msgid "Django site admin" -msgstr "জ্যাঙ্গো সাইট প্রশাসক" - -msgid "Django administration" -msgstr "জ্যাঙ্গো প্রশাসন" - -msgid "Site administration" -msgstr "সাইট প্রশাসন" - -msgid "Log in" -msgstr "প্রবেশ করুন" - -#, python-format -msgid "%(app)s administration" -msgstr "" - -msgid "Page not found" -msgstr "পৃষ্ঠা পাওয়া যায়নি" - -msgid "We're sorry, but the requested page could not be found." -msgstr "দুঃখিত, অনুরোধকৃত পাতাটি পাওয়া যায়নি।" - -msgid "Home" -msgstr "নীড়পাতা" - -msgid "Server error" -msgstr "সার্ভার সমস্যা" - -msgid "Server error (500)" -msgstr "সার্ভার সমস্যা (৫০০)" - -msgid "Server Error (500)" -msgstr "সার্ভার সমস্যা (৫০০)" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" - -msgid "Run the selected action" -msgstr "চিহ্নিত কাজটি শুরু করুন" - -msgid "Go" -msgstr "যান" - -msgid "Click here to select the objects across all pages" -msgstr "সকল পৃষ্ঠার দ্রব্য পছন্দ করতে এখানে ক্লিক করুন" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "%(total_count)s টি %(module_name)s এর সবগুলোই সিলেক্ট করুন" - -msgid "Clear selection" -msgstr "চিহ্নিত অংশের চিহ্ন মুছে ফেলুন" - -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" -"প্রথমে একটি সদস্যনাম ও পাসওয়ার্ড প্রবেশ করান। তারপরে আপনি ‍আরও সদস্য-অপশন যুক্ত করতে " -"পারবেন।" - -msgid "Enter a username and password." -msgstr "ইউজার নেইম এবং পাসওয়ার্ড টাইপ করুন।" - -msgid "Change password" -msgstr "পাসওয়ার্ড বদলান" - -msgid "Please correct the error below." -msgstr "অনুগ্রহ করে নিচের ভুলগুলো সংশোধন করুন।" - -msgid "Please correct the errors below." -msgstr "" - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "%(username)s সদস্যের জন্য নতুন পাসওয়ার্ড দিন।" - -msgid "Welcome," -msgstr "স্বাগতম," - -msgid "View site" -msgstr "" - -msgid "Documentation" -msgstr "সহায়িকা" - -msgid "Log out" -msgstr "প্রস্থান" - -#, python-format -msgid "Add %(name)s" -msgstr "%(name)s যোগ করুন" - -msgid "History" -msgstr "ইতিহাস" - -msgid "View on site" -msgstr "সাইটে দেখুন" - -msgid "Filter" -msgstr "ফিল্টার" - -msgid "Remove from sorting" -msgstr "ক্রমানুসারে সাজানো থেকে বিরত হোন" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "সাজানোর ক্রম: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "ক্রমানুসারে সাজানো চালু করুন/ বন্ধ করুন" - -msgid "Delete" -msgstr "মুছুন" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"%(object_name)s '%(escaped_object)s' মুছে ফেললে এর সম্পর্কিত অবজেক্টগুলোও মুছে " -"যাবে, কিন্তু আপনার নিম্নবর্ণিত অবজেক্টগুলো মোছার অধিকার নেইঃ" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"আপনি কি %(object_name)s \"%(escaped_object)s\" মুছে ফেলার ব্যাপারে নিশ্চিত? " -"নিম্নে বর্ণিত সকল আইটেম মুছে যাবেঃ" - -msgid "Objects" -msgstr "" - -msgid "Yes, I'm sure" -msgstr "হ্যা়ঁ, আমি নিশ্চিত" - -msgid "No, take me back" -msgstr "" - -msgid "Delete multiple objects" -msgstr "একাধিক জিনিস মুছে ফেলুন" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" - -msgid "Change" -msgstr "পরিবর্তন" - -msgid "Delete?" -msgstr "মুছে ফেলুন?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " %(filter_title)s অনুযায়ী " - -msgid "Summary" -msgstr "" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "%(name)s এপ্লিকেশন এর মডেল গুলো" - -msgid "Add" -msgstr "যোগ করুন" - -msgid "You don't have permission to edit anything." -msgstr "কোন কিছু পরিবর্তনে আপনার অধিকার নেই।" - -msgid "Recent actions" -msgstr "" - -msgid "My actions" -msgstr "" - -msgid "None available" -msgstr "কিছুই পাওয়া যায়নি" - -msgid "Unknown content" -msgstr "অজানা বিষয়" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"আপনার ডাটাবেস ইনস্টলে সমস্যা হয়েছে। নিশ্চিত করুন যে, ডাটাবেস টেবিলগুলো সঠিকভাবে " -"তৈরী হয়েছে, এবং যথাযথ সদস্যের ডাটাবেস পড়ার অধিকার রয়েছে।" - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" - -msgid "Forgotten your password or username?" -msgstr "ইউজার নেইম অথবা পাসওয়ার্ড ভুলে গেছেন?" - -msgid "Date/time" -msgstr "তারিখ/সময়" - -msgid "User" -msgstr "সদস্য" - -msgid "Action" -msgstr "কার্য" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "এই অবজেক্টের কোন ইতিহাস নেই। সম্ভবত এটি প্রশাসন সাইট দিয়ে তৈরী করা হয়নি।" - -msgid "Show all" -msgstr "সব দেখান" - -msgid "Save" -msgstr "সংরক্ষণ করুন" - -msgid "Popup closing..." -msgstr "" - -#, python-format -msgid "Change selected %(model)s" -msgstr "" - -#, python-format -msgid "Add another %(model)s" -msgstr "" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "" - -msgid "Search" -msgstr "সার্চ" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "মোট %(full_result_count)s" - -msgid "Save as new" -msgstr "নতুনভাবে সংরক্ষণ করুন" - -msgid "Save and add another" -msgstr "সংরক্ষণ করুন এবং আরেকটি যোগ করুন" - -msgid "Save and continue editing" -msgstr "সংরক্ষণ করুন এবং সম্পাদনা চালিয়ে যান" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "ওয়েবসাইটে কিছু সময় কাটানোর জন্য আপনাকে আন্তরিক ধন্যবাদ।" - -msgid "Log in again" -msgstr "পুনরায় প্রবেশ করুন" - -msgid "Password change" -msgstr "পাসওয়ার্ড বদলান" - -msgid "Your password was changed." -msgstr "আপনার পাসওয়ার্ড বদলানো হয়েছে।" - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"অনুগ্রহ করে আপনার পুরনো পাসওয়ার্ড প্রবেশ করান, নিরাপত্তার কাতিরে, এবং পরপর দু’বার " -"নতুন পাসওয়ার্ড প্রবেশ করান, যাচাই করার জন্য।" - -msgid "Change my password" -msgstr "আমার পাসওয়ার্ড পরিবর্তন করুন" - -msgid "Password reset" -msgstr "পাসওয়ার্ড রিসেট করুন" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "আপনার পাসওয়ার্ড দেয়া হয়েছে। আপনি এখন প্রবেশ (লগইন) করতে পারেন।" - -msgid "Password reset confirmation" -msgstr "পাসওয়ার্ড রিসেট নিশ্চিত করুন" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"অনুগ্রহ করে আপনার পাসওয়ার্ড দুবার প্রবেশ করান, যাতে আমরা যাচাই করতে পারি আপনি " -"সঠিকভাবে টাইপ করেছেন।" - -msgid "New password:" -msgstr "নতুন পাসওয়ার্ডঃ" - -msgid "Confirm password:" -msgstr "পাসওয়ার্ড নিশ্চিতকরণঃ" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"পাসওয়ার্ড রিসেট লিঙ্কটি ঠিক নয়, হয়তো এটা ইতোমধ্যে ব্যবহৃত হয়েছে। পাসওয়ার্ড " -"রিসেটের জন্য অনুগ্রহ করে নতুনভাবে আবেদন করুন।" - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"আপনি এই ই-মেইলটি পেয়েছেন কারন আপনি %(site_name)s এ আপনার ইউজার একাউন্টের " -"পাসওয়ার্ড রিসেট এর জন্য অনুরোধ করেছেন।" - -msgid "Please go to the following page and choose a new password:" -msgstr "অনুগ্রহ করে নিচের পাতাটিতে যান এবং নতুন পাসওয়ার্ড বাছাই করুনঃ" - -msgid "Your username, in case you've forgotten:" -msgstr "আপনার সদস্যনাম, যদি ভুলে গিয়ে থাকেনঃ" - -msgid "Thanks for using our site!" -msgstr "আমাদের সাইট ব্যবহারের জন্য ধন্যবাদ!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "%(site_name)s দল" - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" -"পাসওয়ার্ড ভুলে গেছেন? নিচে আপনার ইমেইল এড্রেস দিন, এবং আমরা নতুন পাসওয়ার্ড সেট " -"করার নিয়ম-কানুন আপনাকে ই-মেইল করব।" - -msgid "Email address:" -msgstr "ইমেইল ঠিকানা:" - -msgid "Reset my password" -msgstr "আমার পাসওয়ার্ড রিসেট করুন" - -msgid "All dates" -msgstr "সকল তারিখ" - -#, python-format -msgid "Select %s" -msgstr "%s বাছাই করুন" - -#, python-format -msgid "Select %s to change" -msgstr "%s পরিবর্তনের জন্য বাছাই করুন" - -msgid "Date:" -msgstr "তারিখঃ" - -msgid "Time:" -msgstr "সময়ঃ" - -msgid "Lookup" -msgstr "খুঁজুন" - -msgid "Currently:" -msgstr "বর্তমান অবস্থা:" - -msgid "Change:" -msgstr "পরিবর্তন:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/bn/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/bn/LC_MESSAGES/djangojs.mo deleted file mode 100644 index b3f7f973..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/bn/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/bn/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/bn/LC_MESSAGES/djangojs.po deleted file mode 100644 index 139d81c2..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/bn/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,207 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Jannis Leidel , 2011 -# Tahmid Rafi , 2013 -# Tahmid Rafi , 2014 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" -"PO-Revision-Date: 2017-09-19 16:41+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Bengali (http://www.transifex.com/django/django/language/" -"bn/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: bn\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "%s বিদ্যমান" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "" - -msgid "Filter" -msgstr "ফিল্টার" - -msgid "Choose all" -msgstr "সব বাছাই করুন" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "সব %s একবারে বাছাই করার জন্য ক্লিক করুন।" - -msgid "Choose" -msgstr "বাছাই করুন" - -msgid "Remove" -msgstr "মুছে ফেলুন" - -#, javascript-format -msgid "Chosen %s" -msgstr "%s বাছাই করা হয়েছে" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" - -msgid "Remove all" -msgstr "সব মুছে ফেলুন" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "" - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "" -msgstr[1] "" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" - -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 "" - -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 "" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "নোট: আপনি সার্ভার সময়ের চেয়ে %s ঘন্টা সামনে আছেন।" -msgstr[1] "নোট: আপনি সার্ভার সময়ের চেয়ে %s ঘন্টা সামনে আছেন।" - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "নোট: আপনি সার্ভার সময়ের চেয়ে %s ঘন্টা পেছনে আছেন।" -msgstr[1] "নোট: আপনি সার্ভার সময়ের চেয়ে %s ঘন্টা পেছনে আছেন।" - -msgid "Now" -msgstr "এখন" - -msgid "Choose a Time" -msgstr "" - -msgid "Choose a time" -msgstr "সময় নির্বাচন করুন" - -msgid "Midnight" -msgstr "মধ্যরাত" - -msgid "6 a.m." -msgstr "৬ পূর্বাহ্ন" - -msgid "Noon" -msgstr "দুপুর" - -msgid "6 p.m." -msgstr "" - -msgid "Cancel" -msgstr "বাতিল" - -msgid "Today" -msgstr "আজ" - -msgid "Choose a Date" -msgstr "" - -msgid "Yesterday" -msgstr "গতকাল" - -msgid "Tomorrow" -msgstr "আগামীকাল" - -msgid "January" -msgstr "" - -msgid "February" -msgstr "" - -msgid "March" -msgstr "" - -msgid "April" -msgstr "" - -msgid "May" -msgstr "" - -msgid "June" -msgstr "" - -msgid "July" -msgstr "" - -msgid "August" -msgstr "" - -msgid "September" -msgstr "" - -msgid "October" -msgstr "" - -msgid "November" -msgstr "" - -msgid "December" -msgstr "" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "" - -msgctxt "one letter Monday" -msgid "M" -msgstr "" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "" - -msgctxt "one letter Friday" -msgid "F" -msgstr "" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "" - -msgid "Show" -msgstr "দেখান" - -msgid "Hide" -msgstr "লুকান" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/br/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/br/LC_MESSAGES/django.mo deleted file mode 100644 index 296f113a..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/br/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/br/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/br/LC_MESSAGES/django.po deleted file mode 100644 index cbdc3593..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/br/LC_MESSAGES/django.po +++ /dev/null @@ -1,671 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Fulup , 2012 -# Irriep Nala Novram , 2018 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-01-16 20:42+0100\n" -"PO-Revision-Date: 2019-01-18 00:36+0000\n" -"Last-Translator: Ramiro Morales\n" -"Language-Team: Breton (http://www.transifex.com/django/django/language/br/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: br\n" -"Plural-Forms: nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !" -"=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n" -"%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > " -"19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 " -"&& n % 1000000 == 0) ? 3 : 4);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "" - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "" - -msgid "Are you sure?" -msgstr "Ha sur oc'h?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Dilemel %(verbose_name_plural)s diuzet" - -msgid "Administration" -msgstr "Melestradurezh" - -msgid "All" -msgstr "An holl" - -msgid "Yes" -msgstr "Ya" - -msgid "No" -msgstr "Ket" - -msgid "Unknown" -msgstr "Dianav" - -msgid "Any date" -msgstr "Forzh pegoulz" - -msgid "Today" -msgstr "Hiziv" - -msgid "Past 7 days" -msgstr "Er 7 devezh diwezhañ" - -msgid "This month" -msgstr "Ar miz-mañ" - -msgid "This year" -msgstr "Ar bloaz-mañ" - -msgid "No date" -msgstr "Deiziad ebet" - -msgid "Has date" -msgstr "D'an deiziad" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" - -msgid "Action:" -msgstr "Ober:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Ouzhpennañ %(verbose_name)s all" - -msgid "Remove" -msgstr "Lemel kuit" - -msgid "Addition" -msgstr "Sammañ" - -msgid "Change" -msgstr "Cheñch" - -msgid "Deletion" -msgstr "Diverkadur" - -msgid "action time" -msgstr "eur an ober" - -msgid "user" -msgstr "implijer" - -msgid "content type" -msgstr "doare endalc'had" - -msgid "object id" -msgstr "id an objed" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "" - -msgid "action flag" -msgstr "ober banniel" - -msgid "change message" -msgstr "Kemennadenn cheñchamant" - -msgid "log entry" -msgstr "" - -msgid "log entries" -msgstr "" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "Ouzhpennet \"%(object)s\"." - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "Cheñchet \"%(object)s\" - %(changes)s" - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "Dilamet \"%(object)s.\"" - -msgid "LogEntry Object" -msgstr "" - -#, python-brace-format -msgid "Added {name} \"{object}\"." -msgstr "Ouzhpennet {name} \"{object}\"." - -msgid "Added." -msgstr "Ouzhpennet." - -msgid "and" -msgstr "ha" - -#, python-brace-format -msgid "Changed {fields} for {name} \"{object}\"." -msgstr "Cheñchet {fields} evit {name} \"{object}\"." - -#, python-brace-format -msgid "Changed {fields}." -msgstr "Cheñchet {fields}." - -#, python-brace-format -msgid "Deleted {name} \"{object}\"." -msgstr "Dilamet {name} \"{object}\"." - -msgid "No fields changed." -msgstr "Maezienn ebet cheñchet." - -msgid "None" -msgstr "Hini ebet" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "" - -msgid "You may edit it again below." -msgstr "Rankout a rit ec'h aozañ adarre dindan." - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was changed successfully." -msgstr "" - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" - -msgid "No action selected." -msgstr "Ober ebet diuzet." - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "" - -#, python-format -msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" -msgstr "" - -#, python-format -msgid "Add %s" -msgstr "Ouzhpennañ %s" - -#, python-format -msgid "Change %s" -msgstr "Cheñch %s" - -#, python-format -msgid "View %s" -msgstr "Gwelet %s" - -msgid "Database error" -msgstr "Fazi diaz-roadennoù" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s a zo bet cheñchet mat." -msgstr[1] "%(count)s %(name)s a zo bet cheñchet mat. " -msgstr[2] "%(count)s %(name)s a zo bet cheñchet mat. " -msgstr[3] "%(count)s %(name)s a zo bet cheñchet mat." -msgstr[4] "%(count)s %(name)s a zo bet cheñchet mat." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s diuzet" -msgstr[1] "%(total_count)s diuzet" -msgstr[2] "%(total_count)s diuzet" -msgstr[3] "%(total_count)s diuzet" -msgstr[4] "Pep %(total_count)s diuzet" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "0 diwar %(cnt)s diuzet" - -#, python-format -msgid "Change history: %s" -msgstr "Istor ar cheñchadurioù: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" - -msgid "Django site admin" -msgstr "Lec'hienn verañ Django" - -msgid "Django administration" -msgstr "Merañ Django" - -msgid "Site administration" -msgstr "Merañ al lec'hienn" - -msgid "Log in" -msgstr "Kevreañ" - -#, python-format -msgid "%(app)s administration" -msgstr "" - -msgid "Page not found" -msgstr "N'eo ket bet kavet ar bajenn" - -msgid "We're sorry, but the requested page could not be found." -msgstr "" - -msgid "Home" -msgstr "Degemer" - -msgid "Server error" -msgstr "Fazi servijer" - -msgid "Server error (500)" -msgstr "Fazi servijer (500)" - -msgid "Server Error (500)" -msgstr "Fazi servijer (500)" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" - -msgid "Run the selected action" -msgstr "" - -msgid "Go" -msgstr "Mont" - -msgid "Click here to select the objects across all pages" -msgstr "" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "" - -msgid "Clear selection" -msgstr "Riñsañ an diuzadenn" - -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" - -msgid "Enter a username and password." -msgstr "Merkit un anv implijer hag ur ger-tremen." - -msgid "Change password" -msgstr "Cheñch ger-tremen" - -msgid "Please correct the error below." -msgstr "" - -msgid "Please correct the errors below." -msgstr "" - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "" - -msgid "Welcome," -msgstr "Degemer mat," - -msgid "View site" -msgstr "" - -msgid "Documentation" -msgstr "Teulioù" - -msgid "Log out" -msgstr "Digevreañ" - -#, python-format -msgid "Add %(name)s" -msgstr "Ouzhpennañ %(name)s" - -msgid "History" -msgstr "Istor" - -msgid "View on site" -msgstr "Gwelet war al lec'hienn" - -msgid "Filter" -msgstr "Sil" - -msgid "Remove from sorting" -msgstr "" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "" - -msgid "Toggle sorting" -msgstr "Eilpennañ an diuzadenn" - -msgid "Delete" -msgstr "Diverkañ" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" - -msgid "Objects" -msgstr "" - -msgid "Yes, I'm sure" -msgstr "Ya, sur on" - -msgid "No, take me back" -msgstr "" - -msgid "Delete multiple objects" -msgstr "" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" - -msgid "View" -msgstr "" - -msgid "Delete?" -msgstr "Diverkañ ?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " dre %(filter_title)s " - -msgid "Summary" -msgstr "" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "" - -msgid "Add" -msgstr "Ouzhpennañ" - -msgid "You don't have permission to view or edit anything." -msgstr "" - -msgid "Recent actions" -msgstr "" - -msgid "My actions" -msgstr "" - -msgid "None available" -msgstr "" - -msgid "Unknown content" -msgstr "Endalc'had dianav" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" - -msgid "Forgotten your password or username?" -msgstr "Disoñjet ho ker-tremen pe hoc'h anv implijer ganeoc'h ?" - -msgid "Date/time" -msgstr "Deiziad/eur" - -msgid "User" -msgstr "Implijer" - -msgid "Action" -msgstr "Ober" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" - -msgid "Show all" -msgstr "Diskouez pep tra" - -msgid "Save" -msgstr "Enrollañ" - -msgid "Popup closing…" -msgstr "" - -msgid "Search" -msgstr "Klask" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" -msgstr[4] "" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "" - -msgid "Save as new" -msgstr "Enrollañ evel nevez" - -msgid "Save and add another" -msgstr "Enrollañ hag ouzhpennañ unan all" - -msgid "Save and continue editing" -msgstr "Enrollañ ha derc'hel da gemmañ" - -msgid "Save and view" -msgstr "" - -msgid "Close" -msgstr "" - -#, python-format -msgid "Change selected %(model)s" -msgstr "" - -#, python-format -msgid "Add another %(model)s" -msgstr "" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "" - -msgid "Log in again" -msgstr "Kevreañ en-dro" - -msgid "Password change" -msgstr "Cheñch ho ker-tremen" - -msgid "Your password was changed." -msgstr "Cheñchet eo bet ho ker-tremen." - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" - -msgid "Change my password" -msgstr "Cheñch ma ger-tremen" - -msgid "Password reset" -msgstr "Adderaouekaat ar ger-tremen" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "" - -msgid "Password reset confirmation" -msgstr "Kadarnaat eo bet cheñchet ar ger-tremen" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" - -msgid "New password:" -msgstr "Ger-tremen nevez :" - -msgid "Confirm password:" -msgstr "Kadarnaat ar ger-tremen :" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" - -msgid "Please go to the following page and choose a new password:" -msgstr "" - -msgid "Your username, in case you've forgotten:" -msgstr "" - -msgid "Thanks for using our site!" -msgstr "Ho trugarekaat da ober gant hol lec'hienn !" - -#, python-format -msgid "The %(site_name)s team" -msgstr "" - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" - -msgid "Email address:" -msgstr "" - -msgid "Reset my password" -msgstr "" - -msgid "All dates" -msgstr "An holl zeiziadoù" - -#, python-format -msgid "Select %s" -msgstr "Diuzañ %s" - -#, python-format -msgid "Select %s to change" -msgstr "" - -#, python-format -msgid "Select %s to view" -msgstr "" - -msgid "Date:" -msgstr "Deiziad :" - -msgid "Time:" -msgstr "Eur :" - -msgid "Lookup" -msgstr "Klask" - -msgid "Currently:" -msgstr "" - -msgid "Change:" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/br/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/br/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 58664d07..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/br/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/br/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/br/LC_MESSAGES/djangojs.po deleted file mode 100644 index 3f819561..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/br/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,217 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Fulup , 2012 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-05-17 11:50+0200\n" -"PO-Revision-Date: 2017-09-19 16:41+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Breton (http://www.transifex.com/django/django/language/br/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: br\n" -"Plural-Forms: nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !" -"=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n" -"%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > " -"19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 " -"&& n % 1000000 == 0) ? 3 : 4);\n" - -#, javascript-format -msgid "Available %s" -msgstr "Hegerz %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "" - -msgid "Filter" -msgstr "Sil" - -msgid "Choose all" -msgstr "Dibab an holl" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Klikañ evit dibab an holl %s war un dro." - -msgid "Choose" -msgstr "Dibab" - -msgid "Remove" -msgstr "Lemel kuit" - -#, javascript-format -msgid "Chosen %s" -msgstr "Dibabet %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" - -msgid "Remove all" -msgstr "Lemel kuit pep tra" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Klikañ evit dilemel an holl %s dibabet war un dro." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" -msgstr[4] "" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" - -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 "" - -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 "" - -msgid "Now" -msgstr "Bremañ" - -msgid "Midnight" -msgstr "Hanternoz" - -msgid "6 a.m." -msgstr "6e00" - -msgid "Noon" -msgstr "Kreisteiz" - -msgid "6 p.m." -msgstr "" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" -msgstr[4] "" - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" -msgstr[4] "" - -msgid "Choose a Time" -msgstr "" - -msgid "Choose a time" -msgstr "Dibab un eur" - -msgid "Cancel" -msgstr "Nullañ" - -msgid "Today" -msgstr "Hiziv" - -msgid "Choose a Date" -msgstr "" - -msgid "Yesterday" -msgstr "Dec'h" - -msgid "Tomorrow" -msgstr "Warc'hoazh" - -msgid "January" -msgstr "" - -msgid "February" -msgstr "" - -msgid "March" -msgstr "" - -msgid "April" -msgstr "" - -msgid "May" -msgstr "" - -msgid "June" -msgstr "" - -msgid "July" -msgstr "" - -msgid "August" -msgstr "" - -msgid "September" -msgstr "" - -msgid "October" -msgstr "" - -msgid "November" -msgstr "" - -msgid "December" -msgstr "" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "" - -msgctxt "one letter Monday" -msgid "M" -msgstr "" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "" - -msgctxt "one letter Friday" -msgid "F" -msgstr "" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "" - -msgid "Show" -msgstr "Diskouez" - -msgid "Hide" -msgstr "Kuzhat" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/bs/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/bs/LC_MESSAGES/django.mo deleted file mode 100644 index f920c9bb..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/bs/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/bs/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/bs/LC_MESSAGES/django.po deleted file mode 100644 index 1d7eb6e6..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/bs/LC_MESSAGES/django.po +++ /dev/null @@ -1,657 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Filip Dupanović , 2011 -# Jannis Leidel , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-09-19 16:41+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Bosnian (http://www.transifex.com/django/django/language/" -"bs/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: bs\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "Uspješno izbrisano %(count)d %(items)s." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "" - -msgid "Are you sure?" -msgstr "Da li ste sigurni?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Izbriši odabrane %(verbose_name_plural)s" - -msgid "Administration" -msgstr "" - -msgid "All" -msgstr "Svi" - -msgid "Yes" -msgstr "Da" - -msgid "No" -msgstr "Ne" - -msgid "Unknown" -msgstr "Nepoznato" - -msgid "Any date" -msgstr "Svi datumi" - -msgid "Today" -msgstr "Danas" - -msgid "Past 7 days" -msgstr "Poslednjih 7 dana" - -msgid "This month" -msgstr "Ovaj mesec" - -msgid "This year" -msgstr "Ova godina" - -msgid "No date" -msgstr "" - -msgid "Has date" -msgstr "" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" - -msgid "Action:" -msgstr "Radnja:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Dodaj još jedan %(verbose_name)s" - -msgid "Remove" -msgstr "Obriši" - -msgid "action time" -msgstr "vrijeme radnje" - -msgid "user" -msgstr "" - -msgid "content type" -msgstr "" - -msgid "object id" -msgstr "id objekta" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/3/library/functions.html#repr) -msgid "object repr" -msgstr "repr objekta" - -msgid "action flag" -msgstr "oznaka radnje" - -msgid "change message" -msgstr "opis izmjene" - -msgid "log entry" -msgstr "zapis u logovima" - -msgid "log entries" -msgstr "zapisi u logovima" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "" - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "" - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "" - -msgid "LogEntry Object" -msgstr "" - -#, python-brace-format -msgid "Added {name} \"{object}\"." -msgstr "" - -msgid "Added." -msgstr "" - -msgid "and" -msgstr "i" - -#, python-brace-format -msgid "Changed {fields} for {name} \"{object}\"." -msgstr "" - -#, python-brace-format -msgid "Changed {fields}." -msgstr "" - -#, python-brace-format -msgid "Deleted {name} \"{object}\"." -msgstr "" - -msgid "No fields changed." -msgstr "Nije bilo izmjena polja." - -msgid "None" -msgstr "Nijedan" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was changed successfully." -msgstr "" - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Predmeti moraju biti izabrani da bi se mogla obaviti akcija nad njima. " -"Nijedan predmet nije bio izmjenjen." - -msgid "No action selected." -msgstr "Nijedna akcija nije izabrana." - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "Objekat „%(obj)s“ klase %(name)s obrisan je uspješno." - -#, python-format -msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" -msgstr "" - -#, python-format -msgid "Add %s" -msgstr "Dodaj objekat klase %s" - -#, python-format -msgid "Change %s" -msgstr "Izmjeni objekat klase %s" - -msgid "Database error" -msgstr "Greška u bazi podataka" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "0 od %(cnt)s izabrani" - -#, python-format -msgid "Change history: %s" -msgstr "Historijat izmjena: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" - -msgid "Django site admin" -msgstr "Django administracija sajta" - -msgid "Django administration" -msgstr "Django administracija" - -msgid "Site administration" -msgstr "Administracija sistema" - -msgid "Log in" -msgstr "Prijava" - -#, python-format -msgid "%(app)s administration" -msgstr "" - -msgid "Page not found" -msgstr "Stranica nije pronađena" - -msgid "We're sorry, but the requested page could not be found." -msgstr "Žao nam je, tražena stranica nije pronađena." - -msgid "Home" -msgstr "Početna" - -msgid "Server error" -msgstr "Greška na serveru" - -msgid "Server error (500)" -msgstr "Greška na serveru (500)" - -msgid "Server Error (500)" -msgstr "Greška na serveru (500)" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" - -msgid "Run the selected action" -msgstr "Pokreni odabranu radnju" - -msgid "Go" -msgstr "Počni" - -msgid "Click here to select the objects across all pages" -msgstr "Kliknite ovdje da izaberete objekte preko svih stranica" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Izaberite svih %(total_count)s %(module_name)s" - -msgid "Clear selection" -msgstr "Izbrišite izbor" - -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" -"Prvo unesite korisničko ime i lozinku. Potom ćete moći da mijenjate još " -"korisničkih podešavanja." - -msgid "Enter a username and password." -msgstr "" - -msgid "Change password" -msgstr "Promjena lozinke" - -msgid "Please correct the error below." -msgstr "" - -msgid "Please correct the errors below." -msgstr "" - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "Unesite novu lozinku za korisnika %(username)s." - -msgid "Welcome," -msgstr "Dobrodošli," - -msgid "View site" -msgstr "" - -msgid "Documentation" -msgstr "Dokumentacija" - -msgid "Log out" -msgstr "Odjava" - -#, python-format -msgid "Add %(name)s" -msgstr "Dodaj objekat klase %(name)s" - -msgid "History" -msgstr "Historijat" - -msgid "View on site" -msgstr "Pregled na sajtu" - -msgid "Filter" -msgstr "Filter" - -msgid "Remove from sorting" -msgstr "" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "" - -msgid "Toggle sorting" -msgstr "" - -msgid "Delete" -msgstr "Obriši" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Uklanjanje %(object_name)s „%(escaped_object)s“ povlači uklanjanje svih " -"objekata koji su povezani sa ovim objektom, ali vaš nalog nema dozvole za " -"brisanje slijedećih tipova objekata:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Da li ste sigurni da želite da obrišete %(object_name)s " -"„%(escaped_object)s“? Slijedeći objekti koji su u vezi sa ovim objektom će " -"također biti obrisani:" - -msgid "Objects" -msgstr "" - -msgid "Yes, I'm sure" -msgstr "Da, siguran sam" - -msgid "No, take me back" -msgstr "" - -msgid "Delete multiple objects" -msgstr "Brisanje više objekata" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" - -msgid "Change" -msgstr "Izmjeni" - -msgid "Delete?" -msgstr "Brisanje?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " %(filter_title)s " - -msgid "Summary" -msgstr "" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "" - -msgid "Add" -msgstr "Dodaj" - -msgid "You don't have permission to edit anything." -msgstr "Nemate dozvole da unosite bilo kakve izmjene." - -msgid "Recent actions" -msgstr "" - -msgid "My actions" -msgstr "" - -msgid "None available" -msgstr "Nema podataka" - -msgid "Unknown content" -msgstr "Nepoznat sadržaj" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Nešto nije uredu sa vašom bazom podataka. Provjerite da li postoje " -"odgovarajuće tabele i da li odgovarajući korisnik ima pristup bazi." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" - -msgid "Forgotten your password or username?" -msgstr "" - -msgid "Date/time" -msgstr "Datum/vrijeme" - -msgid "User" -msgstr "Korisnik" - -msgid "Action" -msgstr "Radnja" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" -"Ovaj objekat nema zabilježen historijat izmjena. Vjerovatno nije dodan kroz " -"ovaj sajt za administraciju." - -msgid "Show all" -msgstr "Prikaži sve" - -msgid "Save" -msgstr "Sačuvaj" - -msgid "Popup closing..." -msgstr "" - -#, python-format -msgid "Change selected %(model)s" -msgstr "" - -#, python-format -msgid "Add another %(model)s" -msgstr "" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "" - -msgid "Search" -msgstr "Pretraga" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "ukupno %(full_result_count)s" - -msgid "Save as new" -msgstr "Sačuvaj kao novi" - -msgid "Save and add another" -msgstr "Sačuvaj i dodaj slijedeći" - -msgid "Save and continue editing" -msgstr "Sačuvaj i nastavi sa izmjenama" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Hvala što ste danas proveli vrijeme na ovom sajtu." - -msgid "Log in again" -msgstr "Ponovna prijava" - -msgid "Password change" -msgstr "Izmjena lozinke" - -msgid "Your password was changed." -msgstr "Vaša lozinka je izmjenjena." - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Iz bezbjednosnih razloga prvo unesite svoju staru lozinku, a novu zatim " -"unesite dva puta da bismo mogli da provjerimo da li ste je pravilno unijeli." - -msgid "Change my password" -msgstr "Izmijeni moju lozinku" - -msgid "Password reset" -msgstr "Resetovanje lozinke" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Vaša lozinka je postavljena. Možete se prijaviti." - -msgid "Password reset confirmation" -msgstr "Potvrda resetovanja lozinke" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Unesite novu lozinku dva puta kako bismo mogli da provjerimo da li ste je " -"pravilno unijeli." - -msgid "New password:" -msgstr "Nova lozinka:" - -msgid "Confirm password:" -msgstr "Potvrda lozinke:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Link za resetovanje lozinke nije važeći, vjerovatno zato što je već " -"iskorišćen. Ponovo zatražite resetovanje lozinke." - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" - -msgid "Please go to the following page and choose a new password:" -msgstr "Idite na slijedeću stranicu i postavite novu lozinku." - -msgid "Your username, in case you've forgotten:" -msgstr "Ukoliko ste zaboravili, vaše korisničko ime:" - -msgid "Thanks for using our site!" -msgstr "Hvala što koristite naš sajt!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "Uredništvo sajta %(site_name)s" - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" - -msgid "Email address:" -msgstr "" - -msgid "Reset my password" -msgstr "Resetuj moju lozinku" - -msgid "All dates" -msgstr "Svi datumi" - -#, python-format -msgid "Select %s" -msgstr "Odaberi objekat klase %s" - -#, python-format -msgid "Select %s to change" -msgstr "Odaberi objekat klase %s za izmjenu" - -msgid "Date:" -msgstr "Datum:" - -msgid "Time:" -msgstr "Vrijeme:" - -msgid "Lookup" -msgstr "Pretraži" - -msgid "Currently:" -msgstr "" - -msgid "Change:" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/bs/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/bs/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 0a373ec4..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/bs/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/bs/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/bs/LC_MESSAGES/djangojs.po deleted file mode 100644 index 4866fd39..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/bs/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,211 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Filip Dupanović , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" -"PO-Revision-Date: 2017-09-19 16:41+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Bosnian (http://www.transifex.com/django/django/language/" -"bs/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: bs\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" - -#, javascript-format -msgid "Available %s" -msgstr "Dostupno %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "" - -msgid "Filter" -msgstr "Filter" - -msgid "Choose all" -msgstr "Odaberi sve" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "" - -msgid "Choose" -msgstr "" - -msgid "Remove" -msgstr "Ukloni" - -#, javascript-format -msgid "Chosen %s" -msgstr "Odabrani %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" - -msgid "Remove all" -msgstr "" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "" - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "Izabran %(sel)s od %(cnt)s" -msgstr[1] "Izabrano %(sel)s od %(cnt)s" -msgstr[2] "Izabrano %(sel)s od %(cnt)s" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Imate nespašene izmjene na pojedinim uređenim poljima. Ako pokrenete ovu " -"akciju, te izmjene će biti izgubljene." - -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 "" - -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 "" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -msgid "Now" -msgstr "" - -msgid "Choose a Time" -msgstr "" - -msgid "Choose a time" -msgstr "" - -msgid "Midnight" -msgstr "" - -msgid "6 a.m." -msgstr "" - -msgid "Noon" -msgstr "" - -msgid "6 p.m." -msgstr "" - -msgid "Cancel" -msgstr "" - -msgid "Today" -msgstr "Danas" - -msgid "Choose a Date" -msgstr "" - -msgid "Yesterday" -msgstr "" - -msgid "Tomorrow" -msgstr "" - -msgid "January" -msgstr "" - -msgid "February" -msgstr "" - -msgid "March" -msgstr "" - -msgid "April" -msgstr "" - -msgid "May" -msgstr "" - -msgid "June" -msgstr "" - -msgid "July" -msgstr "" - -msgid "August" -msgstr "" - -msgid "September" -msgstr "" - -msgid "October" -msgstr "" - -msgid "November" -msgstr "" - -msgid "December" -msgstr "" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "" - -msgctxt "one letter Monday" -msgid "M" -msgstr "" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "" - -msgctxt "one letter Friday" -msgid "F" -msgstr "" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "" - -msgid "Show" -msgstr "" - -msgid "Hide" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ca/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ca/LC_MESSAGES/django.mo deleted file mode 100644 index 6acf43bd..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ca/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ca/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ca/LC_MESSAGES/django.po deleted file mode 100644 index 16f3810f..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ca/LC_MESSAGES/django.po +++ /dev/null @@ -1,733 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Antoni Aloy , 2014-2015,2017 -# Carles Barrobés , 2011-2012,2014 -# duub qnnp, 2015 -# GerardoGa , 2018 -# Gil Obradors Via , 2019 -# Gil Obradors Via , 2019 -# Jannis Leidel , 2011 -# Manel Clos , 2020 -# Roger Pons , 2015 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-14 19:53+0200\n" -"PO-Revision-Date: 2020-07-14 22:38+0000\n" -"Last-Translator: Transifex Bot <>\n" -"Language-Team: Catalan (http://www.transifex.com/django/django/language/" -"ca/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ca\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "Eliminat/s %(count)d %(items)s satisfactòriament." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "No es pot esborrar %(name)s" - -msgid "Are you sure?" -msgstr "N'esteu segur?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Eliminar els %(verbose_name_plural)s seleccionats" - -msgid "Administration" -msgstr "Administració" - -msgid "All" -msgstr "Tots" - -msgid "Yes" -msgstr "Sí" - -msgid "No" -msgstr "No" - -msgid "Unknown" -msgstr "Desconegut" - -msgid "Any date" -msgstr "Qualsevol data" - -msgid "Today" -msgstr "Avui" - -msgid "Past 7 days" -msgstr "Últims 7 dies" - -msgid "This month" -msgstr "Aquest mes" - -msgid "This year" -msgstr "Aquest any" - -msgid "No date" -msgstr "Sense data" - -msgid "Has date" -msgstr "Té data" - -msgid "Empty" -msgstr "Buit" - -msgid "Not empty" -msgstr "No buit" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Si us plau, introduïu un %(username)s i contrasenya correcta per un compte " -"de personal. Observeu que ambdós camps són sensibles a majúscules." - -msgid "Action:" -msgstr "Acció:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Afegir un/a altre/a %(verbose_name)s." - -msgid "Remove" -msgstr "Eliminar" - -msgid "Addition" -msgstr "Afegeix" - -msgid "Change" -msgstr "Modificar" - -msgid "Deletion" -msgstr "Supressió" - -msgid "action time" -msgstr "moment de l'acció" - -msgid "user" -msgstr "usuari" - -msgid "content type" -msgstr "tipus de contingut" - -msgid "object id" -msgstr "id de l'objecte" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "'repr' de l'objecte" - -msgid "action flag" -msgstr "indicador de l'acció" - -msgid "change message" -msgstr "missatge del canvi" - -msgid "log entry" -msgstr "entrada del registre" - -msgid "log entries" -msgstr "entrades del registre" - -#, python-format -msgid "Added “%(object)s”." -msgstr "Afegit \"1%(object)s\"." - -#, python-format -msgid "Changed “%(object)s” — %(changes)s" -msgstr "Modificat \"%(object)s\" - %(changes)s" - -#, python-format -msgid "Deleted “%(object)s.”" -msgstr "Eliminat \"%(object)s.\"" - -msgid "LogEntry Object" -msgstr "Objecte entrada del registre" - -#, python-brace-format -msgid "Added {name} “{object}”." -msgstr "Afegit {name} \"{object}\"." - -msgid "Added." -msgstr "Afegit." - -msgid "and" -msgstr "i" - -#, python-brace-format -msgid "Changed {fields} for {name} “{object}”." -msgstr "Canviat {fields} per {name} \"{object}\"." - -#, python-brace-format -msgid "Changed {fields}." -msgstr "Canviats {fields}." - -#, python-brace-format -msgid "Deleted {name} “{object}”." -msgstr "Eliminat {name} \"{object}\"." - -msgid "No fields changed." -msgstr "Cap camp modificat." - -msgid "None" -msgstr "cap" - -msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." -msgstr "" -"Premeu la tecla \"Control\", o \"Command\" en un Mac, per seleccionar més " -"d'un valor." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully." -msgstr "El {name} \"{obj}\" fou afegit amb èxit." - -msgid "You may edit it again below." -msgstr "Hauria d'editar de nou a sota." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was added successfully. You may add another {name} below." -msgstr "" -"El {name} \"{obj}\" s'ha afegit amb èxit. Pots afegir un altre {name} a " -"sota." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may edit it again below." -msgstr "" -"El {name} \"{obj}\" fou canviat amb èxit. Pots editar-ho un altra vegada a " -"sota." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully. You may edit it again below." -msgstr "" -"El {name} \"{obj}\" s'ha afegit amb èxit. Pots editar-lo altra vegada a " -"sota." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may add another {name} " -"below." -msgstr "" -"El {name} \"{obj}\" fou canviat amb èxit. Pots afegir un altre {name} a " -"sota." - -#, python-brace-format -msgid "The {name} “{obj}” was changed successfully." -msgstr "El {name} \"{obj}\" fou canviat amb èxit." - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Heu de seleccionar els elements per poder realitzar-hi accions. No heu " -"seleccionat cap element." - -msgid "No action selected." -msgstr "No heu seleccionat cap acció." - -#, python-format -msgid "The %(name)s “%(obj)s” was deleted successfully." -msgstr "El/la %(name)s \"%(obj)s\" s'ha eliminat amb èxit." - -#, python-format -msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" -msgstr "%(name)s amb ID \"%(key)s\" no existeix. Potser va ser eliminat?" - -#, python-format -msgid "Add %s" -msgstr "Afegir %s" - -#, python-format -msgid "Change %s" -msgstr "Modificar %s" - -#, python-format -msgid "View %s" -msgstr "Visualitza %s" - -msgid "Database error" -msgstr "Error de base de dades" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s s'ha modificat amb èxit." -msgstr[1] "%(count)s %(name)s s'han modificat amb èxit." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s seleccionat(s)" -msgstr[1] "Tots %(total_count)s seleccionat(s)" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "0 de %(cnt)s seleccionats" - -#, python-format -msgid "Change history: %s" -msgstr "Modificar històric: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"Esborrar %(class_name)s %(instance)s requeriria esborrar els següents " -"objectes relacionats protegits: %(related_objects)s" - -msgid "Django site admin" -msgstr "Lloc administratiu de Django" - -msgid "Django administration" -msgstr "Administració de Django" - -msgid "Site administration" -msgstr "Administració del lloc" - -msgid "Log in" -msgstr "Iniciar sessió" - -#, python-format -msgid "%(app)s administration" -msgstr "Administració de %(app)s" - -msgid "Page not found" -msgstr "No s'ha pogut trobar la pàgina" - -msgid "We’re sorry, but the requested page could not be found." -msgstr "Ho sentim, però no s'ha pogut trobar la pàgina sol·licitada" - -msgid "Home" -msgstr "Inici" - -msgid "Server error" -msgstr "Error del servidor" - -msgid "Server error (500)" -msgstr "Error del servidor (500)" - -msgid "Server Error (500)" -msgstr "Error del servidor (500)" - -msgid "" -"There’s been an error. It’s been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"S'ha produït un error. Se n'ha informat els administradors del lloc per " -"correu electrònic, i hauria d'arreglar-se en breu. Gràcies per la vostra " -"paciència." - -msgid "Run the selected action" -msgstr "Executar l'acció seleccionada" - -msgid "Go" -msgstr "Anar" - -msgid "Click here to select the objects across all pages" -msgstr "Feu clic aquí per seleccionar els objectes a totes les pàgines" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Seleccioneu tots %(total_count)s %(module_name)s" - -msgid "Clear selection" -msgstr "Netejar la selecció" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "Models en l'aplicació %(name)s" - -msgid "Add" -msgstr "Afegir" - -msgid "View" -msgstr "Visualitza" - -msgid "You don’t have permission to view or edit anything." -msgstr "No teniu permisos per veure o editar" - -msgid "" -"First, enter a username and password. Then, you’ll be able to edit more user " -"options." -msgstr "" -"Primer, entreu un nom d'usuari i una contrasenya. Després podreu editar més " -"opcions de l'usuari." - -msgid "Enter a username and password." -msgstr "Introduïu un nom d'usuari i contrasenya." - -msgid "Change password" -msgstr "Canviar contrasenya" - -msgid "Please correct the error below." -msgstr "Si us plau, corregeix l'error de sota" - -msgid "Please correct the errors below." -msgstr "Si us plau, corregiu els errors mostrats a sota." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "Introduïu una contrasenya per l'usuari %(username)s" - -msgid "Welcome," -msgstr "Benvingut/da," - -msgid "View site" -msgstr "Veure lloc" - -msgid "Documentation" -msgstr "Documentació" - -msgid "Log out" -msgstr "Finalitzar sessió" - -#, python-format -msgid "Add %(name)s" -msgstr "Afegir %(name)s" - -msgid "History" -msgstr "Històric" - -msgid "View on site" -msgstr "Veure al lloc" - -msgid "Filter" -msgstr "Filtre" - -msgid "Clear all filters" -msgstr "Netejar tots els filtres" - -msgid "Remove from sorting" -msgstr "Treure de la ordenació" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Prioritat d'ordenació: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Commutar ordenació" - -msgid "Delete" -msgstr "Eliminar" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Eliminar el/la %(object_name)s '%(escaped_object)s' provocaria l'eliminació " -"d'objectes relacionats, però el vostre compte no te permisos per esborrar " -"els tipus d'objecte següents:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"Esborrar %(object_name)s '%(escaped_object)s' requeriria esborrar els " -"següents objectes relacionats protegits:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Esteu segurs de voler esborrar els/les %(object_name)s \"%(escaped_object)s" -"\"? S'esborraran els següents elements relacionats:" - -msgid "Objects" -msgstr "Objectes" - -msgid "Yes, I’m sure" -msgstr "Sí, n'estic segur" - -msgid "No, take me back" -msgstr "No, torna endarrere" - -msgid "Delete multiple objects" -msgstr "Eliminar múltiples objectes" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Esborrar els %(objects_name)s seleccionats faria que s'esborréssin objectes " -"relacionats, però el vostre compte no té permisos per esborrar els següents " -"tipus d'objectes:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Esborrar els %(objects_name)s seleccionats requeriria esborrar els següents " -"objectes relacionats protegits:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"N'esteu segur de voler esborrar els %(objects_name)s seleccionats? " -"S'esborraran tots els objects següents i els seus elements relacionats:" - -msgid "Delete?" -msgstr "Eliminar?" - -#, python-format -msgid " By %(filter_title)s " -msgstr "Per %(filter_title)s " - -msgid "Summary" -msgstr "Resum" - -msgid "Recent actions" -msgstr "Accions recents" - -msgid "My actions" -msgstr "Les meves accions" - -msgid "None available" -msgstr "Cap disponible" - -msgid "Unknown content" -msgstr "Contingut desconegut" - -msgid "" -"Something’s wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Hi ha algun problema a la instal·lació de la vostra base de dades. Assegureu-" -"vos que s'han creat les taules adients, i que la base de dades és llegible " -"per l'usuari apropiat." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"Esteu identificats com a %(username)s, però no esteu autoritzats a accedir a " -"aquesta pàgina. Voleu identificar-vos amb un compte d'usuari diferent?" - -msgid "Forgotten your password or username?" -msgstr "Heu oblidat la vostra contrasenya o nom d'usuari?" - -msgid "Toggle navigation" -msgstr "" - -msgid "Date/time" -msgstr "Data/hora" - -msgid "User" -msgstr "Usuari" - -msgid "Action" -msgstr "Acció" - -msgid "" -"This object doesn’t have a change history. It probably wasn’t added via this " -"admin site." -msgstr "" -"Aquest objecte no té historial de canvis. Probablement no es va afegir " -"utilitzant aquest lloc administratiu." - -msgid "Show all" -msgstr "Mostrar tots" - -msgid "Save" -msgstr "Desar" - -msgid "Popup closing…" -msgstr "Tancant finestra emergent..." - -msgid "Search" -msgstr "Cerca" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s resultat" -msgstr[1] "%(counter)s resultats" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s en total" - -msgid "Save as new" -msgstr "Desar com a nou" - -msgid "Save and add another" -msgstr "Desar i afegir-ne un de nou" - -msgid "Save and continue editing" -msgstr "Desar i continuar editant" - -msgid "Save and view" -msgstr "Desa i visualitza" - -msgid "Close" -msgstr "Tanca" - -#, python-format -msgid "Change selected %(model)s" -msgstr "Canviea el %(model)s seleccionat" - -#, python-format -msgid "Add another %(model)s" -msgstr "Afegeix un altre %(model)s" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Esborra el %(model)s seleccionat" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Gràcies per passar una estona de qualitat al web durant el dia d'avui." - -msgid "Log in again" -msgstr "Iniciar sessió de nou" - -msgid "Password change" -msgstr "Canvi de contrasenya" - -msgid "Your password was changed." -msgstr "La seva contrasenya ha estat canviada." - -msgid "" -"Please enter your old password, for security’s sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Si us plau, introduïu la vostra contrasenya antiga, per seguretat, i tot " -"seguit introduïu la vostra contrasenya nova dues vegades per verificar que " -"l'heu escrita correctament." - -msgid "Change my password" -msgstr "Canviar la meva contrasenya:" - -msgid "Password reset" -msgstr "Restablir contrasenya" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "" -"S'ha canviat la vostra contrasenya. Ara podeu continuar i iniciar sessió." - -msgid "Password reset confirmation" -msgstr "Confirmació de restabliment de contrasenya" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Si us plau, introduïu la vostra nova contrasenya dues vegades, per verificar " -"que l'heu escrita correctament." - -msgid "New password:" -msgstr "Contrasenya nova:" - -msgid "Confirm password:" -msgstr "Confirmar contrasenya:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"L'enllaç de restabliment de contrasenya era invàlid, potser perquè ja s'ha " -"utilitzat. Si us plau, sol·liciteu un nou reestabliment de contrasenya." - -msgid "" -"We’ve emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Li hem enviat instruccions per establir la seva contrasenya, donat que hi " -"hagi un compte associat al correu introduït. L'hauríeu de rebre en breu." - -msgid "" -"If you don’t receive an email, please make sure you’ve entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Si no rebeu un correu, assegureu-vos que heu introduït l'adreça amb la que " -"us vau registrar, i comproveu la vostra carpeta de \"spam\"." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"Heu rebut aquest correu perquè vau sol·licitar restablir la contrasenya per " -"al vostre compte d'usuari a %(site_name)s." - -msgid "Please go to the following page and choose a new password:" -msgstr "Si us plau, aneu a la pàgina següent i escolliu una nova contrasenya:" - -msgid "Your username, in case you’ve forgotten:" -msgstr "El vostre nom d'usuari, en cas que l'hagueu oblidat:" - -msgid "Thanks for using our site!" -msgstr "Gràcies per fer ús del nostre lloc!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "L'equip de %(site_name)s" - -msgid "" -"Forgotten your password? Enter your email address below, and we’ll email " -"instructions for setting a new one." -msgstr "" -"Heu oblidat la vostra contrasenya? Introduïu la vostra adreça de correu " -"electrònic a sota, i us enviarem instruccions per canviar-la." - -msgid "Email address:" -msgstr "Adreça de correu electrònic:" - -msgid "Reset my password" -msgstr "Restablir la meva contrasenya" - -msgid "All dates" -msgstr "Totes les dates" - -#, python-format -msgid "Select %s" -msgstr "Seleccioneu %s" - -#, python-format -msgid "Select %s to change" -msgstr "Seleccioneu %s per modificar" - -#, python-format -msgid "Select %s to view" -msgstr "Selecciona %s per a veure" - -msgid "Date:" -msgstr "Data:" - -msgid "Time:" -msgstr "Hora:" - -msgid "Lookup" -msgstr "Cercar" - -msgid "Currently:" -msgstr "Actualment:" - -msgid "Change:" -msgstr "Canviar:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ca/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ca/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 7b6e4dea..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ca/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ca/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ca/LC_MESSAGES/djangojs.po deleted file mode 100644 index 5fbbab8d..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ca/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,221 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Antoni Aloy , 2017 -# Carles Barrobés , 2011-2012,2014 -# Jannis Leidel , 2011 -# Roger Pons , 2015 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-05-17 11:50+0200\n" -"PO-Revision-Date: 2017-09-19 16:41+0000\n" -"Last-Translator: Antoni Aloy \n" -"Language-Team: Catalan (http://www.transifex.com/django/django/language/" -"ca/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ca\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "%s Disponibles" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Aquesta és la llista de %s disponibles. En podeu escollir alguns " -"seleccionant-los a la caixa de sota i fent clic a la fletxa \"Escollir\" " -"entre les dues caixes." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "Escriviu en aquesta caixa per a filtrar la llista de %s disponibles." - -msgid "Filter" -msgstr "Filtre" - -msgid "Choose all" -msgstr "Escollir-los tots" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Feu clic per escollir tots els %s d'un cop." - -msgid "Choose" -msgstr "Escollir" - -msgid "Remove" -msgstr "Eliminar" - -#, javascript-format -msgid "Chosen %s" -msgstr "Escollit %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Aquesta és la llista de %s escollits. En podeu eliminar alguns seleccionant-" -"los a la caixa de sota i fent clic a la fletxa \"Eliminar\" entre les dues " -"caixes." - -msgid "Remove all" -msgstr "Esborrar-los tots" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Feu clic per eliminar tots els %s escollits d'un cop." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(sel)s de %(cnt)s seleccionat" -msgstr[1] "%(sel)s of %(cnt)s seleccionats" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Teniu canvis sense desar a camps editables individuals. Si executeu una " -"acció, es perdran aquests canvis no desats." - -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 "" -"Heu seleccionat una acció, però encara no heu desat els vostres canvis a " -"camps individuals. Si us plau premeu OK per desar. Haureu de tornar a " -"executar l'acció." - -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 "" -"Heu seleccionat una acció i no heu fet cap canvi a camps individuals. " -"Probablement esteu cercant el botó 'Anar' enlloc de 'Desar'." - -msgid "Now" -msgstr "Ara" - -msgid "Midnight" -msgstr "Mitjanit" - -msgid "6 a.m." -msgstr "6 a.m." - -msgid "Noon" -msgstr "Migdia" - -msgid "6 p.m." -msgstr "6 p.m." - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Nota: Aneu %s hora avançats respecte la hora del servidor." -msgstr[1] "Nota: Aneu %s hores avançats respecte la hora del servidor." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Nota: Aneu %s hora endarrerits respecte la hora del servidor." -msgstr[1] "Nota: Aneu %s hores endarrerits respecte la hora del servidor." - -msgid "Choose a Time" -msgstr "Escolliu una hora" - -msgid "Choose a time" -msgstr "Escolliu una hora" - -msgid "Cancel" -msgstr "Cancel·lar" - -msgid "Today" -msgstr "Avui" - -msgid "Choose a Date" -msgstr "Escolliu una data" - -msgid "Yesterday" -msgstr "Ahir" - -msgid "Tomorrow" -msgstr "Demà" - -msgid "January" -msgstr "Gener" - -msgid "February" -msgstr "Febrer" - -msgid "March" -msgstr "Març" - -msgid "April" -msgstr "Abril" - -msgid "May" -msgstr "Maig" - -msgid "June" -msgstr "Juny" - -msgid "July" -msgstr "Juliol" - -msgid "August" -msgstr "Agost" - -msgid "September" -msgstr "Setembre" - -msgid "October" -msgstr "Octubre" - -msgid "November" -msgstr "Novembre" - -msgid "December" -msgstr "Desembre" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "D" - -msgctxt "one letter Monday" -msgid "M" -msgstr "L" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "M" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "X" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "J" - -msgctxt "one letter Friday" -msgid "F" -msgstr "V" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "S" - -msgid "Show" -msgstr "Mostrar" - -msgid "Hide" -msgstr "Ocultar" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/cs/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/cs/LC_MESSAGES/django.mo deleted file mode 100644 index 3329fe2b..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/cs/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/cs/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/cs/LC_MESSAGES/django.po deleted file mode 100644 index be87f4a4..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/cs/LC_MESSAGES/django.po +++ /dev/null @@ -1,732 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Jannis Leidel , 2011 -# Jirka Vejrazka , 2011 -# Tomáš Ehrlich , 2015 -# Vláďa Macek , 2013-2014 -# Vláďa Macek , 2015-2020 -# yedpodtrzitko , 2016 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-14 19:53+0200\n" -"PO-Revision-Date: 2020-07-20 09:24+0000\n" -"Last-Translator: Vláďa Macek \n" -"Language-Team: Czech (http://www.transifex.com/django/django/language/cs/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: cs\n" -"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n " -"<= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "Úspěšně odstraněno: %(count)d %(items)s." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "Nelze smazat %(name)s" - -msgid "Are you sure?" -msgstr "Jste si jisti?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Odstranit vybrané položky typu %(verbose_name_plural)s" - -msgid "Administration" -msgstr "Správa" - -msgid "All" -msgstr "Vše" - -msgid "Yes" -msgstr "Ano" - -msgid "No" -msgstr "Ne" - -msgid "Unknown" -msgstr "Neznámé" - -msgid "Any date" -msgstr "Libovolné datum" - -msgid "Today" -msgstr "Dnes" - -msgid "Past 7 days" -msgstr "Posledních 7 dní" - -msgid "This month" -msgstr "Tento měsíc" - -msgid "This year" -msgstr "Tento rok" - -msgid "No date" -msgstr "Bez data" - -msgid "Has date" -msgstr "Má datum" - -msgid "Empty" -msgstr "Prázdná hodnota" - -msgid "Not empty" -msgstr "Neprázdná hodnota" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Zadejte správné %(username)s a heslo pro personál. Obě pole mohou rozlišovat " -"velká a malá písmena." - -msgid "Action:" -msgstr "Operace:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Přidat %(verbose_name)s" - -msgid "Remove" -msgstr "Odebrat" - -msgid "Addition" -msgstr "Přidání" - -msgid "Change" -msgstr "Změnit" - -msgid "Deletion" -msgstr "Odstranění" - -msgid "action time" -msgstr "čas operace" - -msgid "user" -msgstr "uživatel" - -msgid "content type" -msgstr "typ obsahu" - -msgid "object id" -msgstr "id položky" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "reprez. položky" - -msgid "action flag" -msgstr "příznak operace" - -msgid "change message" -msgstr "zpráva o změně" - -msgid "log entry" -msgstr "položka protokolu" - -msgid "log entries" -msgstr "položky protokolu" - -#, python-format -msgid "Added “%(object)s”." -msgstr "Přidán objekt \"%(object)s\"." - -#, python-format -msgid "Changed “%(object)s” — %(changes)s" -msgstr "Změněn objekt \"%(object)s\" — %(changes)s" - -#, python-format -msgid "Deleted “%(object)s.”" -msgstr "Odstraněna položka \"%(object)s\"." - -msgid "LogEntry Object" -msgstr "Objekt záznam v protokolu" - -#, python-brace-format -msgid "Added {name} “{object}”." -msgstr "Přidáno: {name} \"{object}\"." - -msgid "Added." -msgstr "Přidáno." - -msgid "and" -msgstr "a" - -#, python-brace-format -msgid "Changed {fields} for {name} “{object}”." -msgstr "Změněno: {fields} pro {name} \"{object}\"." - -#, python-brace-format -msgid "Changed {fields}." -msgstr "Změněno: {fields}" - -#, python-brace-format -msgid "Deleted {name} “{object}”." -msgstr "Odstraněno: {name} \"{object}\"." - -msgid "No fields changed." -msgstr "Nebyla změněna žádná pole." - -msgid "None" -msgstr "Žádný" - -msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." -msgstr "" -"Výběr více než jedné položky je možný přidržením klávesy \"Control\", na " -"Macu \"Command\"." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully." -msgstr "Položka typu {name} \"{obj}\" byla úspěšně přidána." - -msgid "You may edit it again below." -msgstr "Níže můžete údaje znovu upravovat." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was added successfully. You may add another {name} below." -msgstr "" -"Položka typu {name} \"{obj}\" byla úspěšně přidána. Níže můžete přidat další " -"položku {name}." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may edit it again below." -msgstr "" -"Položka typu {name} \"{obj}\" byla úspěšně změněna. Níže ji můžete dále " -"upravovat." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully. You may edit it again below." -msgstr "" -"Položka \"{obj}\" typu {name} byla úspěšně přidána. Níže ji můžete dále " -"upravovat." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may add another {name} " -"below." -msgstr "" -"Položka \"{obj}\" typu {name} byla úspěšně změněna. Níže můžete přidat další " -"položku {name}." - -#, python-brace-format -msgid "The {name} “{obj}” was changed successfully." -msgstr "Položka \"{obj}\" typu {name} byla úspěšně změněna." - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"K provedení hromadných operací je třeba vybrat nějaké položky. Nedošlo k " -"žádným změnám." - -msgid "No action selected." -msgstr "Nebyla vybrána žádná operace." - -#, python-format -msgid "The %(name)s “%(obj)s” was deleted successfully." -msgstr "Položka \"%(obj)s\" typu %(name)s byla úspěšně odstraněna." - -#, python-format -msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" -msgstr "Objekt %(name)s s klíčem \"%(key)s\" neexistuje. Možná byl odstraněn." - -#, python-format -msgid "Add %s" -msgstr "%s: přidat" - -#, python-format -msgid "Change %s" -msgstr "%s: změnit" - -#, python-format -msgid "View %s" -msgstr "Zobrazit %s" - -msgid "Database error" -msgstr "Chyba databáze" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "Položka %(name)s byla úspěšně změněna." -msgstr[1] "%(count)s položky %(name)s byly úspěšně změněny." -msgstr[2] "%(count)s položek %(name)s bylo úspěšně změněno." -msgstr[3] "%(count)s položek %(name)s bylo úspěšně změněno." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s položka vybrána." -msgstr[1] "Všechny %(total_count)s položky vybrány." -msgstr[2] "Vybráno všech %(total_count)s položek." -msgstr[3] "Vybráno všech %(total_count)s položek." - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "Vybraných je 0 položek z celkem %(cnt)s." - -#, python-format -msgid "Change history: %s" -msgstr "Historie změn: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s: %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"Odstranění položky \"%(instance)s\" typu %(class_name)s by vyžadovalo " -"odstranění těchto souvisejících chráněných položek: %(related_objects)s" - -msgid "Django site admin" -msgstr "Správa webu Django" - -msgid "Django administration" -msgstr "Správa systému Django" - -msgid "Site administration" -msgstr "Správa webu" - -msgid "Log in" -msgstr "Přihlášení" - -#, python-format -msgid "%(app)s administration" -msgstr "Správa aplikace %(app)s" - -msgid "Page not found" -msgstr "Stránka nenalezena" - -msgid "We’re sorry, but the requested page could not be found." -msgstr "Požadovaná stránka nebyla bohužel nalezena." - -msgid "Home" -msgstr "Domů" - -msgid "Server error" -msgstr "Chyba serveru" - -msgid "Server error (500)" -msgstr "Chyba serveru (500)" - -msgid "Server Error (500)" -msgstr "Chyba serveru (500)" - -msgid "" -"There’s been an error. It’s been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"V systému došlo k chybě. Byla e-mailem nahlášena správcům, kteří by ji měli " -"v krátké době opravit. Děkujeme za trpělivost." - -msgid "Run the selected action" -msgstr "Provést vybranou operaci" - -msgid "Go" -msgstr "Provést" - -msgid "Click here to select the objects across all pages" -msgstr "Klepnutím zde vyberete položky ze všech stránek." - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Vybrat všechny položky typu %(module_name)s, celkem %(total_count)s." - -msgid "Clear selection" -msgstr "Zrušit výběr" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "Modely v aplikaci %(name)s" - -msgid "Add" -msgstr "Přidat" - -msgid "View" -msgstr "Zobrazit" - -msgid "You don’t have permission to view or edit anything." -msgstr "Nemáte oprávnění k zobrazení ani úpravám." - -msgid "" -"First, enter a username and password. Then, you’ll be able to edit more user " -"options." -msgstr "" -"Nejdříve zadejte uživatelské jméno a heslo. Poté budete moci upravovat více " -"uživatelských nastavení." - -msgid "Enter a username and password." -msgstr "Zadejte uživatelské jméno a heslo." - -msgid "Change password" -msgstr "Změnit heslo" - -msgid "Please correct the error below." -msgstr "Opravte níže uvedenou chybu." - -msgid "Please correct the errors below." -msgstr "Opravte níže uvedené chyby." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "Zadejte nové heslo pro uživatele %(username)s." - -msgid "Welcome," -msgstr "Vítejte, uživateli" - -msgid "View site" -msgstr "Zobrazení webu" - -msgid "Documentation" -msgstr "Dokumentace" - -msgid "Log out" -msgstr "Odhlásit se" - -#, python-format -msgid "Add %(name)s" -msgstr "%(name)s: přidat" - -msgid "History" -msgstr "Historie" - -msgid "View on site" -msgstr "Zobrazení na webu" - -msgid "Filter" -msgstr "Filtr" - -msgid "Clear all filters" -msgstr "Zrušit všechny filtry" - -msgid "Remove from sorting" -msgstr "Přestat řadit" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Priorita řazení: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Přehodit řazení" - -msgid "Delete" -msgstr "Odstranit" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Odstranění položky \"%(escaped_object)s\" typu %(object_name)s by vyústilo v " -"odstranění souvisejících položek. Nemáte však oprávnění k odstranění položek " -"následujících typů:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"Odstranění položky '%(escaped_object)s' typu %(object_name)s by vyžadovalo " -"odstranění souvisejících chráněných položek:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Opravdu má být odstraněna položka \"%(escaped_object)s\" typu " -"%(object_name)s? Následující související položky budou všechny odstraněny:" - -msgid "Objects" -msgstr "Objekty" - -msgid "Yes, I’m sure" -msgstr "Ano, jsem si jist(a)" - -msgid "No, take me back" -msgstr "Ne, beru zpět" - -msgid "Delete multiple objects" -msgstr "Odstranit vybrané položky" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Odstranění položky typu %(objects_name)s by vyústilo v odstranění " -"souvisejících položek. Nemáte však oprávnění k odstranění položek " -"následujících typů:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Odstranění vybrané položky typu %(objects_name)s by vyžadovalo odstranění " -"následujících souvisejících chráněných položek:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Opravdu má být odstraněny vybrané položky typu %(objects_name)s? Všechny " -"vybrané a s nimi související položky budou odstraněny:" - -msgid "Delete?" -msgstr "Odstranit?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " Dle: %(filter_title)s " - -msgid "Summary" -msgstr "Shrnutí" - -msgid "Recent actions" -msgstr "Nedávné akce" - -msgid "My actions" -msgstr "Moje akce" - -msgid "None available" -msgstr "Nic" - -msgid "Unknown content" -msgstr "Neznámý obsah" - -msgid "" -"Something’s wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Potíže s nainstalovanou databází. Ujistěte se, že byly vytvořeny " -"odpovídající tabulky a že databáze je přístupná pro čtení příslušným " -"uživatelem." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"Jste přihlášeni jako uživatel %(username)s, ale k této stránce nemáte " -"oprávnění. Chcete se přihlásit k jinému účtu?" - -msgid "Forgotten your password or username?" -msgstr "Zapomněli jste heslo nebo uživatelské jméno?" - -msgid "Toggle navigation" -msgstr "Přehodit navigaci" - -msgid "Date/time" -msgstr "Datum a čas" - -msgid "User" -msgstr "Uživatel" - -msgid "Action" -msgstr "Operace" - -msgid "" -"This object doesn’t have a change history. It probably wasn’t added via this " -"admin site." -msgstr "" -"Tato položka nemá historii změn. Pravděpodobně nebyla přidána tímto " -"administračním rozhraním." - -msgid "Show all" -msgstr "Zobrazit vše" - -msgid "Save" -msgstr "Uložit" - -msgid "Popup closing…" -msgstr "Vyskakovací okno se zavírá..." - -msgid "Search" -msgstr "Hledat" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s výsledek" -msgstr[1] "%(counter)s výsledky" -msgstr[2] "%(counter)s výsledků" -msgstr[3] "%(counter)s výsledků" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "Celkem %(full_result_count)s" - -msgid "Save as new" -msgstr "Uložit jako novou položku" - -msgid "Save and add another" -msgstr "Uložit a přidat další položku" - -msgid "Save and continue editing" -msgstr "Uložit a pokračovat v úpravách" - -msgid "Save and view" -msgstr "Uložit a zobrazit" - -msgid "Close" -msgstr "Zavřít" - -#, python-format -msgid "Change selected %(model)s" -msgstr "Změnit vybrané položky typu %(model)s" - -#, python-format -msgid "Add another %(model)s" -msgstr "Přidat další %(model)s" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Odstranit vybrané položky typu %(model)s" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Děkujeme za čas strávený s tímto webem." - -msgid "Log in again" -msgstr "Přihlaste se znovu" - -msgid "Password change" -msgstr "Změna hesla" - -msgid "Your password was changed." -msgstr "Vaše heslo bylo změněno." - -msgid "" -"Please enter your old password, for security’s sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Zadejte svoje současné heslo a poté dvakrát heslo nové. Omezíme tak možnost " -"překlepu." - -msgid "Change my password" -msgstr "Změnit heslo" - -msgid "Password reset" -msgstr "Obnovení hesla" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Vaše heslo bylo nastaveno. Nyní se můžete přihlásit." - -msgid "Password reset confirmation" -msgstr "Potvrzení obnovy hesla" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "Zadejte dvakrát nové heslo. Tak ověříme, že bylo zadáno správně." - -msgid "New password:" -msgstr "Nové heslo:" - -msgid "Confirm password:" -msgstr "Potvrdit heslo:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Odkaz pro obnovení hesla byl neplatný, možná již byl použit. Požádejte o " -"obnovení hesla znovu." - -msgid "" -"We’ve emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Návod na nastavení hesla byl odeslán na zadanou e-mailovou adresu, pokud " -"účet s takovou adresou existuje. Měl by za okamžik dorazit." - -msgid "" -"If you don’t receive an email, please make sure you’ve entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Pokud e-mail neobdržíte, ujistěte se, že zadaná e-mailová adresa je stejná " -"jako ta registrovaná u vašeho účtu a zkontrolujte složku nevyžádané pošty, " -"tzv. spamu." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"Tento e-mail vám byl zaslán na základě vyžádání obnovy hesla vašeho " -"uživatelskému účtu na systému %(site_name)s." - -msgid "Please go to the following page and choose a new password:" -msgstr "Přejděte na následující stránku a zadejte nové heslo:" - -msgid "Your username, in case you’ve forgotten:" -msgstr "Pro jistotu vaše uživatelské jméno:" - -msgid "Thanks for using our site!" -msgstr "Děkujeme za používání našeho webu!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "Tým aplikace %(site_name)s" - -msgid "" -"Forgotten your password? Enter your email address below, and we’ll email " -"instructions for setting a new one." -msgstr "" -"Zapomněli jste heslo? Zadejte níže e-mailovou adresu a systém vám odešle " -"postup k nastavení nového." - -msgid "Email address:" -msgstr "E-mailová adresa:" - -msgid "Reset my password" -msgstr "Obnovit heslo" - -msgid "All dates" -msgstr "Všechna data" - -#, python-format -msgid "Select %s" -msgstr "%s: vybrat" - -#, python-format -msgid "Select %s to change" -msgstr "Vyberte položku %s ke změně" - -#, python-format -msgid "Select %s to view" -msgstr "Vyberte položku %s k zobrazení" - -msgid "Date:" -msgstr "Datum:" - -msgid "Time:" -msgstr "Čas:" - -msgid "Lookup" -msgstr "Hledat" - -msgid "Currently:" -msgstr "Aktuálně:" - -msgid "Change:" -msgstr "Změna:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/cs/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/cs/LC_MESSAGES/djangojs.mo deleted file mode 100644 index a1650eed..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/cs/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/cs/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/cs/LC_MESSAGES/djangojs.po deleted file mode 100644 index 7c886c2a..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/cs/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,226 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Jannis Leidel , 2011 -# Jirka Vejrazka , 2011 -# Vláďa Macek , 2012,2014 -# Vláďa Macek , 2015-2016,2020 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-11 20:56+0200\n" -"PO-Revision-Date: 2020-06-05 06:06+0000\n" -"Last-Translator: Vláďa Macek \n" -"Language-Team: Czech (http://www.transifex.com/django/django/language/cs/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: cs\n" -"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n " -"<= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n" - -#, javascript-format -msgid "Available %s" -msgstr "Dostupné položky: %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Seznam dostupných položek %s. Jednotlivě je lze vybrat tak, že na ně v " -"rámečku klepnete a pak klepnete na šipku \"Vybrat\" mezi rámečky." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "" -"Chcete-li filtrovat ze seznamu dostupných položek %s, začněte psát do tohoto " -"pole." - -msgid "Filter" -msgstr "Filtr" - -msgid "Choose all" -msgstr "Vybrat vše" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Chcete-li najednou vybrat všechny položky %s, klepněte sem." - -msgid "Choose" -msgstr "Vybrat" - -msgid "Remove" -msgstr "Odebrat" - -#, javascript-format -msgid "Chosen %s" -msgstr "Vybrané položky %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Seznam vybraných položek %s. Jednotlivě je lze odebrat tak, že na ně v " -"rámečku klepnete a pak klepnete na šipku \"Odebrat mezi rámečky." - -msgid "Remove all" -msgstr "Odebrat vše" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Chcete-li najednou odebrat všechny vybrané položky %s, klepněte sem." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "Vybrána je %(sel)s položka z celkem %(cnt)s." -msgstr[1] "Vybrány jsou %(sel)s položky z celkem %(cnt)s." -msgstr[2] "Vybraných je %(sel)s položek z celkem %(cnt)s." -msgstr[3] "Vybraných je %(sel)s položek z celkem %(cnt)s." - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"V jednotlivých polích jsou neuložené změny, které budou ztraceny, pokud " -"operaci provedete." - -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 "" -"Byla vybrána operace, ale dosud nedošlo k uložení změn jednotlivých polí. " -"Uložíte klepnutím na tlačítko OK. Pak bude třeba operaci spustit znovu." - -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 "" -"Byla vybrána operace, ale dosud nedošlo k uložení změn jednotlivých polí. " -"Patrně využijete tlačítko Provést spíše než tlačítko Uložit." - -msgid "Now" -msgstr "Nyní" - -msgid "Midnight" -msgstr "Půlnoc" - -msgid "6 a.m." -msgstr "6h ráno" - -msgid "Noon" -msgstr "Poledne" - -msgid "6 p.m." -msgstr "6h večer" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Poznámka: Váš čas o %s hodinu předstihuje čas na serveru." -msgstr[1] "Poznámka: Váš čas o %s hodiny předstihuje čas na serveru." -msgstr[2] "Poznámka: Váš čas o %s hodin předstihuje čas na serveru." -msgstr[3] "Poznámka: Váš čas o %s hodin předstihuje čas na serveru." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Poznámka: Váš čas se o %s hodinu zpožďuje za časem na serveru." -msgstr[1] "Poznámka: Váš čas se o %s hodiny zpožďuje za časem na serveru." -msgstr[2] "Poznámka: Váš čas se o %s hodin zpožďuje za časem na serveru." -msgstr[3] "Poznámka: Váš čas se o %s hodin zpožďuje za časem na serveru." - -msgid "Choose a Time" -msgstr "Vyberte čas" - -msgid "Choose a time" -msgstr "Vyberte čas" - -msgid "Cancel" -msgstr "Storno" - -msgid "Today" -msgstr "Dnes" - -msgid "Choose a Date" -msgstr "Vyberte datum" - -msgid "Yesterday" -msgstr "Včera" - -msgid "Tomorrow" -msgstr "Zítra" - -msgid "January" -msgstr "leden" - -msgid "February" -msgstr "únor" - -msgid "March" -msgstr "březen" - -msgid "April" -msgstr "duben" - -msgid "May" -msgstr "květen" - -msgid "June" -msgstr "červen" - -msgid "July" -msgstr "červenec" - -msgid "August" -msgstr "srpen" - -msgid "September" -msgstr "září" - -msgid "October" -msgstr "říjen" - -msgid "November" -msgstr "listopad" - -msgid "December" -msgstr "prosinec" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "N" - -msgctxt "one letter Monday" -msgid "M" -msgstr "P" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "Ú" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "S" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "Č" - -msgctxt "one letter Friday" -msgid "F" -msgstr "P" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "S" - -msgid "Show" -msgstr "Zobrazit" - -msgid "Hide" -msgstr "Skrýt" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/cy/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/cy/LC_MESSAGES/django.mo deleted file mode 100644 index e20f6a4a..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/cy/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/cy/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/cy/LC_MESSAGES/django.po deleted file mode 100644 index 82e82f78..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/cy/LC_MESSAGES/django.po +++ /dev/null @@ -1,675 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Jannis Leidel , 2011 -# Maredudd ap Gwyndaf , 2014 -# pjrobertson, 2014 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-09-23 18:54+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Welsh (http://www.transifex.com/django/django/language/cy/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: cy\n" -"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != " -"11) ? 2 : 3;\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "Dilëwyd %(count)d %(items)s yn llwyddiannus." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "Ni ellir dileu %(name)s" - -msgid "Are you sure?" -msgstr "Ydych yn sicr?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Dileu y %(verbose_name_plural)s â ddewiswyd" - -msgid "Administration" -msgstr "Gweinyddu" - -msgid "All" -msgstr "Pob un" - -msgid "Yes" -msgstr "Ie" - -msgid "No" -msgstr "Na" - -msgid "Unknown" -msgstr "Anhysybys" - -msgid "Any date" -msgstr "Unrhyw ddyddiad" - -msgid "Today" -msgstr "Heddiw" - -msgid "Past 7 days" -msgstr "7 diwrnod diwethaf" - -msgid "This month" -msgstr "Mis yma" - -msgid "This year" -msgstr "Eleni" - -msgid "No date" -msgstr "" - -msgid "Has date" -msgstr "" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Teipiwch yr %(username)s a chyfrinair cywir ar gyfer cyfrif staff. Noder y " -"gall y ddau faes fod yn sensitif i lythrennau bach a llythrennau bras." - -msgid "Action:" -msgstr "Gweithred:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Ychwanegu %(verbose_name)s arall" - -msgid "Remove" -msgstr "Gwaredu" - -msgid "action time" -msgstr "amser y weithred" - -msgid "user" -msgstr "" - -msgid "content type" -msgstr "" - -msgid "object id" -msgstr "id gwrthrych" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/3/library/functions.html#repr) -msgid "object repr" -msgstr "repr gwrthrych" - -msgid "action flag" -msgstr "fflag gweithred" - -msgid "change message" -msgstr "neges y newid" - -msgid "log entry" -msgstr "cofnod" - -msgid "log entries" -msgstr "cofnodion" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "Ychwanegwyd \"%(object)s\"." - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "Newidwyd \"%(object)s\" - %(changes)s" - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "Dilëwyd \"%(object)s.\"" - -msgid "LogEntry Object" -msgstr "Gwrthrych LogEntry" - -#, python-brace-format -msgid "Added {name} \"{object}\"." -msgstr "" - -msgid "Added." -msgstr "" - -msgid "and" -msgstr "a" - -#, python-brace-format -msgid "Changed {fields} for {name} \"{object}\"." -msgstr "" - -#, python-brace-format -msgid "Changed {fields}." -msgstr "" - -#, python-brace-format -msgid "Deleted {name} \"{object}\"." -msgstr "" - -msgid "No fields changed." -msgstr "Ni newidwyd unrhwy feysydd." - -msgid "None" -msgstr "Dim" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was changed successfully." -msgstr "" - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Rhaid dewis eitemau er mwyn gweithredu arnynt. Ni ddewiswyd unrhyw eitemau." - -msgid "No action selected." -msgstr "Ni ddewiswyd gweithred." - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "Dilëwyd %(name)s \"%(obj)s\" yn llwyddiannus." - -#, python-format -msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" -msgstr "" - -#, python-format -msgid "Add %s" -msgstr "Ychwanegu %s" - -#, python-format -msgid "Change %s" -msgstr "Newid %s" - -msgid "Database error" -msgstr "Gwall cronfa ddata" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "Newidwyd %(count)s %(name)s yn llwyddiannus" -msgstr[1] "Newidwyd %(count)s %(name)s yn llwyddiannus" -msgstr[2] "Newidwyd %(count)s %(name)s yn llwyddiannus" -msgstr[3] "Newidwyd %(count)s %(name)s yn llwyddiannus" - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "Dewiswyd %(total_count)s" -msgstr[1] "Dewiswyd %(total_count)s" -msgstr[2] "Dewiswyd %(total_count)s" -msgstr[3] "Dewiswyd %(total_count)s" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "Dewiswyd 0 o %(cnt)s" - -#, python-format -msgid "Change history: %s" -msgstr "Hanes newid: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"Byddai dileu %(class_name)s %(instance)s yn golygu dileu'r gwrthrychau " -"gwarchodedig canlynol sy'n perthyn: %(related_objects)s" - -msgid "Django site admin" -msgstr "Adran weinyddol safle Django" - -msgid "Django administration" -msgstr "Gweinyddu Django" - -msgid "Site administration" -msgstr "Gweinyddu'r safle" - -msgid "Log in" -msgstr "Mewngofnodi" - -#, python-format -msgid "%(app)s administration" -msgstr "Gweinyddu %(app)s" - -msgid "Page not found" -msgstr "Ni ddarganfyddwyd y dudalen" - -msgid "We're sorry, but the requested page could not be found." -msgstr "Mae'n ddrwg gennym, ond ni ddarganfuwyd y dudalen" - -msgid "Home" -msgstr "Hafan" - -msgid "Server error" -msgstr "Gwall gweinydd" - -msgid "Server error (500)" -msgstr "Gwall gweinydd (500)" - -msgid "Server Error (500)" -msgstr "Gwall Gweinydd (500)" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"Mae gwall ac gyrrwyd adroddiad ohono i weinyddwyr y wefan drwy ebost a dylai " -"gael ei drwsio yn fuan. Diolch am fod yn amyneddgar." - -msgid "Run the selected action" -msgstr "Rhedeg y weithred a ddewiswyd" - -msgid "Go" -msgstr "Ffwrdd â ni" - -msgid "Click here to select the objects across all pages" -msgstr "" -"Cliciwch fan hyn i ddewis yr holl wrthrychau ar draws yr holl dudalennau" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Dewis y %(total_count)s %(module_name)s" - -msgid "Clear selection" -msgstr "Clirio'r dewis" - -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" -"Yn gyntaf, rhowch enw defnyddiwr a chyfrinair. Yna byddwch yn gallu golygu " -"mwy o ddewisiadau." - -msgid "Enter a username and password." -msgstr "Rhowch enw defnyddiwr a chyfrinair." - -msgid "Change password" -msgstr "Newid cyfrinair" - -msgid "Please correct the error below." -msgstr "Cywirwch y gwall isod." - -msgid "Please correct the errors below." -msgstr "Cywirwch y gwallau isod." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "Rhowch gyfrinair newydd i'r defnyddiwr %(username)s." - -msgid "Welcome," -msgstr "Croeso," - -msgid "View site" -msgstr "" - -msgid "Documentation" -msgstr "Dogfennaeth" - -msgid "Log out" -msgstr "Allgofnodi" - -#, python-format -msgid "Add %(name)s" -msgstr "Ychwanegu %(name)s" - -msgid "History" -msgstr "Hanes" - -msgid "View on site" -msgstr "Gweld ar y safle" - -msgid "Filter" -msgstr "Hidl" - -msgid "Remove from sorting" -msgstr "Gwaredu o'r didoli" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Blaenoriaeth didoli: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Toglio didoli" - -msgid "Delete" -msgstr "Dileu" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Byddai dileu %(object_name)s '%(escaped_object)s' yn golygu dileu'r " -"gwrthrychau sy'n perthyn, ond nid oes ganddoch ganiatâd i ddileu y mathau " -"canlynol o wrthrychau:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"Byddai dileu %(object_name)s '%(escaped_object)s' yn golygu dileu'r " -"gwrthrychau gwarchodedig canlynol sy'n perthyn:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" - -msgid "Objects" -msgstr "" - -msgid "Yes, I'm sure" -msgstr "Ydw, rwy'n sicr" - -msgid "No, take me back" -msgstr "" - -msgid "Delete multiple objects" -msgstr "" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Byddai dileu %(objects_name)s yn golygu dileu'r gwrthrychau gwarchodedig " -"canlynol sy'n perthyn:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Ydych yn sicr eich bod am ddileu'r %(objects_name)s a ddewiswyd? Dilëir yr " -"holl wrthrychau canlynol a'u heitemau perthnasol:" - -msgid "Change" -msgstr "Newid" - -msgid "Delete?" -msgstr "Dileu?" - -#, python-format -msgid " By %(filter_title)s " -msgstr "Wrth %(filter_title)s" - -msgid "Summary" -msgstr "" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "Modelau yn y rhaglen %(name)s " - -msgid "Add" -msgstr "Ychwanegu" - -msgid "You don't have permission to edit anything." -msgstr "Does gennych ddim hawl i olygu unrhywbeth." - -msgid "Recent actions" -msgstr "" - -msgid "My actions" -msgstr "" - -msgid "None available" -msgstr "Dim ar gael" - -msgid "Unknown content" -msgstr "Cynnwys anhysbys" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Mae rhywbeth o'i le ar osodiad y gronfa ddata. Sicrhewch fod y tablau " -"cronfa ddata priodol wedi eu creu, a sicrhewch fod y gronfa ddata yn " -"ddarllenadwy gan y defnyddiwr priodol." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" - -msgid "Forgotten your password or username?" -msgstr "Anghofioch eich cyfrinair neu enw defnyddiwr?" - -msgid "Date/time" -msgstr "Dyddiad/amser" - -msgid "User" -msgstr "Defnyddiwr" - -msgid "Action" -msgstr "Gweithred" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" -"Does dim hanes newid gan y gwrthrych yma. Mae'n debyg nad ei ychwanegwyd " -"drwy'r safle gweinydd yma." - -msgid "Show all" -msgstr "Dangos pob canlyniad" - -msgid "Save" -msgstr "Cadw" - -msgid "Popup closing..." -msgstr "" - -#, python-format -msgid "Change selected %(model)s" -msgstr "" - -#, python-format -msgid "Add another %(model)s" -msgstr "" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "" - -msgid "Search" -msgstr "Chwilio" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s canlyniad" -msgstr[1] "%(counter)s canlyniad" -msgstr[2] "%(counter)s canlyniad" -msgstr[3] "%(counter)s canlyniad" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "Cyfanswm o %(full_result_count)s" - -msgid "Save as new" -msgstr "Cadw fel newydd" - -msgid "Save and add another" -msgstr "Cadw ac ychwanegu un arall" - -msgid "Save and continue editing" -msgstr "Cadw a pharhau i olygu" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Diolch am dreulio amser o ansawdd gyda'r safle we yma heddiw." - -msgid "Log in again" -msgstr "Mewngofnodi eto" - -msgid "Password change" -msgstr "Newid cyfrinair" - -msgid "Your password was changed." -msgstr "Newidwyd eich cyfrinair." - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Rhowch eich hen gyfrinair, er mwyn diogelwch, ac yna rhowch eich cyfrinair " -"newydd ddwywaith er mwyn gwirio y'i teipiwyd yn gywir." - -msgid "Change my password" -msgstr "Newid fy nghyfrinair" - -msgid "Password reset" -msgstr "Ailosod cyfrinair" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Mae'ch cyfrinair wedi ei osod. Gallwch fewngofnodi nawr." - -msgid "Password reset confirmation" -msgstr "Cadarnhad ailosod cyfrinair" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Rhowch eich cyfrinair newydd ddwywaith er mwyn gwirio y'i teipiwyd yn gywir." - -msgid "New password:" -msgstr "Cyfrinair newydd:" - -msgid "Confirm password:" -msgstr "Cadarnhewch y cyfrinair:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Roedd y ddolen i ailosod y cyfrinair yn annilys, o bosib oherwydd ei fod " -"wedi ei ddefnyddio'n barod. Gofynnwch i ailosod y cyfrinair eto." - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Os na dderbyniwch ebost, sicrhewych y rhoddwyd y cyfeiriad sydd wedi ei " -"gofrestru gyda ni, ac edrychwch yn eich ffolder sbam." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"Derbyniwch yr ebost hwn oherwydd i chi ofyn i ailosod y cyfrinair i'ch " -"cyfrif yn %(site_name)s." - -msgid "Please go to the following page and choose a new password:" -msgstr "Ewch i'r dudalen olynol a dewsiwch gyfrinair newydd:" - -msgid "Your username, in case you've forgotten:" -msgstr "Eich enw defnyddiwr, rhag ofn eich bod wedi anghofio:" - -msgid "Thanks for using our site!" -msgstr "Diolch am ddefnyddio ein safle!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "Tîm %(site_name)s" - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" -"Anghofioch eich cyfrinair? Rhowch eich cyfeiriad ebost isod ac fe ebostiwn " -"gyfarwyddiadau ar osod un newydd." - -msgid "Email address:" -msgstr "Cyfeiriad ebost:" - -msgid "Reset my password" -msgstr "Ailosod fy nghyfrinair" - -msgid "All dates" -msgstr "Holl ddyddiadau" - -#, python-format -msgid "Select %s" -msgstr "Dewis %s" - -#, python-format -msgid "Select %s to change" -msgstr "Dewis %s i newid" - -msgid "Date:" -msgstr "Dyddiad:" - -msgid "Time:" -msgstr "Amser:" - -msgid "Lookup" -msgstr "Archwilio" - -msgid "Currently:" -msgstr "Cyfredol:" - -msgid "Change:" -msgstr "Newid:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/cy/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/cy/LC_MESSAGES/djangojs.mo deleted file mode 100644 index ee9a9ca2..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/cy/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/cy/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/cy/LC_MESSAGES/djangojs.po deleted file mode 100644 index fa7ad2ac..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/cy/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,222 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Jannis Leidel , 2011 -# Maredudd ap Gwyndaf , 2014 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" -"PO-Revision-Date: 2017-09-23 18:54+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Welsh (http://www.transifex.com/django/django/language/cy/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: cy\n" -"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != " -"11) ? 2 : 3;\n" - -#, javascript-format -msgid "Available %s" -msgstr "%s sydd ar gael" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Dyma restr o'r %s sydd ar gael. Gellir dewis rhai drwyeu dewis yn y blwch " -"isod ac yna clicio'r saeth \"Dewis\" rhwng y ddau flwch." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "Teipiwch yn y blwch i hidlo'r rhestr o %s sydd ar gael." - -msgid "Filter" -msgstr "Hidl" - -msgid "Choose all" -msgstr "Dewis y cyfan" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Cliciwch i ddewis pob %s yr un pryd." - -msgid "Choose" -msgstr "Dewis" - -msgid "Remove" -msgstr "Gwaredu" - -#, javascript-format -msgid "Chosen %s" -msgstr "Y %s a ddewiswyd" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Dyma restr o'r %s a ddewiswyd. Gellir gwaredu rhai drwy eu dewis yn y blwch " -"isod ac yna clicio'r saeth \"Gwaredu\" rhwng y ddau flwch." - -msgid "Remove all" -msgstr "Gwaredu'r cyfan" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Cliciwch i waredu pob %s sydd wedi ei ddewis yr un pryd." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "Dewiswyd %(sel)s o %(cnt)s" -msgstr[1] "Dewiswyd %(sel)s o %(cnt)s" -msgstr[2] "Dewiswyd %(sel)s o %(cnt)s" -msgstr[3] "Dewiswyd %(sel)s o %(cnt)s" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Mae ganddoch newidiadau heb eu cadw mewn meysydd golygadwy. Os rhedwch y " -"weithred fe gollwch y newidiadau." - -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 "" -"Rydych wedi dewis gweithred ond nid ydych wedi newid eich newidiadau i rai " -"meysydd eto. Cliciwch 'Iawn' i gadw. Bydd rhaid i chi ail-redeg y weithred." - -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 "" -"Rydych wedi dewis gweithred ac nid ydych wedi newid unrhyw faes. Rydych " -"siwr o fod yn edrych am y botwm 'Ewch' yn lle'r botwm 'Cadw'." - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Noder: Rydych %s awr o flaen amser y gweinydd." -msgstr[1] "Noder: Rydych %s awr o flaen amser y gweinydd." -msgstr[2] "Noder: Rydych %s awr o flaen amser y gweinydd." -msgstr[3] "Noder: Rydych %s awr o flaen amser y gweinydd." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Noder: Rydych %s awr tu ôl amser y gweinydd." -msgstr[1] "Noder: Rydych %s awr tu ôl amser y gweinydd." -msgstr[2] "Noder: Rydych %s awr tu ôl amser y gweinydd." -msgstr[3] "Noder: Rydych %s awr tu ôl amser y gweinydd." - -msgid "Now" -msgstr "Nawr" - -msgid "Choose a Time" -msgstr "" - -msgid "Choose a time" -msgstr "Dewiswch amser" - -msgid "Midnight" -msgstr "Canol nos" - -msgid "6 a.m." -msgstr "6 y.b." - -msgid "Noon" -msgstr "Canol dydd" - -msgid "6 p.m." -msgstr "" - -msgid "Cancel" -msgstr "Diddymu" - -msgid "Today" -msgstr "Heddiw" - -msgid "Choose a Date" -msgstr "" - -msgid "Yesterday" -msgstr "Ddoe" - -msgid "Tomorrow" -msgstr "Fory" - -msgid "January" -msgstr "" - -msgid "February" -msgstr "" - -msgid "March" -msgstr "" - -msgid "April" -msgstr "" - -msgid "May" -msgstr "" - -msgid "June" -msgstr "" - -msgid "July" -msgstr "" - -msgid "August" -msgstr "" - -msgid "September" -msgstr "" - -msgid "October" -msgstr "" - -msgid "November" -msgstr "" - -msgid "December" -msgstr "" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "" - -msgctxt "one letter Monday" -msgid "M" -msgstr "" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "" - -msgctxt "one letter Friday" -msgid "F" -msgstr "" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "" - -msgid "Show" -msgstr "Dangos" - -msgid "Hide" -msgstr "Cuddio" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/da/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/da/LC_MESSAGES/django.mo deleted file mode 100644 index 985a5e5e..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/da/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/da/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/da/LC_MESSAGES/django.po deleted file mode 100644 index 1435a361..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/da/LC_MESSAGES/django.po +++ /dev/null @@ -1,722 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Christian Joergensen , 2012 -# Dimitris Glezos , 2012 -# Erik Ramsgaard Wognsen , 2020 -# Erik Ramsgaard Wognsen , 2013,2015-2020 -# Finn Gruwier Larsen, 2011 -# Jannis Leidel , 2011 -# valberg , 2014-2015 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-14 19:53+0200\n" -"PO-Revision-Date: 2020-07-15 08:56+0000\n" -"Last-Translator: Erik Ramsgaard Wognsen \n" -"Language-Team: Danish (http://www.transifex.com/django/django/language/da/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: da\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "%(count)d %(items)s blev slettet." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "Kan ikke slette %(name)s " - -msgid "Are you sure?" -msgstr "Er du sikker?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Slet valgte %(verbose_name_plural)s" - -msgid "Administration" -msgstr "Administration" - -msgid "All" -msgstr "Alle" - -msgid "Yes" -msgstr "Ja" - -msgid "No" -msgstr "Nej" - -msgid "Unknown" -msgstr "Ukendt" - -msgid "Any date" -msgstr "Når som helst" - -msgid "Today" -msgstr "I dag" - -msgid "Past 7 days" -msgstr "De sidste 7 dage" - -msgid "This month" -msgstr "Denne måned" - -msgid "This year" -msgstr "Dette år" - -msgid "No date" -msgstr "Ingen dato" - -msgid "Has date" -msgstr "Har dato" - -msgid "Empty" -msgstr "Tom" - -msgid "Not empty" -msgstr "Ikke tom" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Indtast venligst det korrekte %(username)s og adgangskode for en " -"personalekonto. Bemærk at begge felter kan være versalfølsomme." - -msgid "Action:" -msgstr "Handling" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Tilføj endnu en %(verbose_name)s" - -msgid "Remove" -msgstr "Fjern" - -msgid "Addition" -msgstr "Tilføjelse" - -msgid "Change" -msgstr "Ret" - -msgid "Deletion" -msgstr "Sletning" - -msgid "action time" -msgstr "handlingstid" - -msgid "user" -msgstr "bruger" - -msgid "content type" -msgstr "indholdstype" - -msgid "object id" -msgstr "objekt-ID" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "objekt repr" - -msgid "action flag" -msgstr "handlingsflag" - -msgid "change message" -msgstr "ændringsmeddelelse" - -msgid "log entry" -msgstr "logmeddelelse" - -msgid "log entries" -msgstr "logmeddelelser" - -#, python-format -msgid "Added “%(object)s”." -msgstr "Tilføjede “%(object)s”." - -#, python-format -msgid "Changed “%(object)s” — %(changes)s" -msgstr "Ændrede “%(object)s” — %(changes)s" - -#, python-format -msgid "Deleted “%(object)s.”" -msgstr "Slettede “%(object)s”." - -msgid "LogEntry Object" -msgstr "LogEntry-objekt" - -#, python-brace-format -msgid "Added {name} “{object}”." -msgstr "Tilføjede {name} “{object}”." - -msgid "Added." -msgstr "Tilføjet." - -msgid "and" -msgstr "og" - -#, python-brace-format -msgid "Changed {fields} for {name} “{object}”." -msgstr "Ændrede {fields} for {name} “{object}”." - -#, python-brace-format -msgid "Changed {fields}." -msgstr "Ændrede {fields}." - -#, python-brace-format -msgid "Deleted {name} “{object}”." -msgstr "Slettede {name} “{object}”." - -msgid "No fields changed." -msgstr "Ingen felter ændret." - -msgid "None" -msgstr "Ingen" - -msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." -msgstr "Hold “Ctrl”, eller “Æbletasten” på Mac, nede for at vælge mere end én." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully." -msgstr "{name} “{obj}” blev tilføjet." - -msgid "You may edit it again below." -msgstr "Du kan redigere den/det igen herunder." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was added successfully. You may add another {name} below." -msgstr "" -"{name} “{obj}” blev tilføjet. Du kan tilføje endnu en/et {name} herunder." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may edit it again below." -msgstr "{name} “{obj}” blev ændret. Du kan redigere den/det igen herunder." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully. You may edit it again below." -msgstr "{name} “{obj}” blev tilføjet. Du kan redigere den/det igen herunder." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may add another {name} " -"below." -msgstr "" -"{name} “{obj}” blev ændret. Du kan tilføje endnu en/et {name} herunder." - -#, python-brace-format -msgid "The {name} “{obj}” was changed successfully." -msgstr "{name} “{obj}” blev ændret." - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Der skal være valgt nogle emner for at man kan udføre handlinger på dem. " -"Ingen emner er blev ændret." - -msgid "No action selected." -msgstr "Ingen handling valgt." - -#, python-format -msgid "The %(name)s “%(obj)s” was deleted successfully." -msgstr "%(name)s “%(obj)s” blev slettet." - -#, python-format -msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" -msgstr "" -"%(name)s med ID “%(key)s” findes ikke. Måske er objektet blevet slettet?" - -#, python-format -msgid "Add %s" -msgstr "Tilføj %s" - -#, python-format -msgid "Change %s" -msgstr "Ret %s" - -#, python-format -msgid "View %s" -msgstr "Vis %s" - -msgid "Database error" -msgstr "Databasefejl" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s blev ændret." -msgstr[1] "%(count)s %(name)s blev ændret." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s valgt" -msgstr[1] "Alle %(total_count)s valgt" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "0 af %(cnt)s valgt" - -#, python-format -msgid "Change history: %s" -msgstr "Ændringshistorik: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"Sletning af %(class_name)s %(instance)s vil kræve sletning af følgende " -"beskyttede relaterede objekter: %(related_objects)s" - -msgid "Django site admin" -msgstr "Django website-administration" - -msgid "Django administration" -msgstr "Django administration" - -msgid "Site administration" -msgstr "Website-administration" - -msgid "Log in" -msgstr "Log ind" - -#, python-format -msgid "%(app)s administration" -msgstr "%(app)s administration" - -msgid "Page not found" -msgstr "Siden blev ikke fundet" - -msgid "We’re sorry, but the requested page could not be found." -msgstr "Vi beklager, men den ønskede side kunne ikke findes" - -msgid "Home" -msgstr "Hjem" - -msgid "Server error" -msgstr "Serverfejl" - -msgid "Server error (500)" -msgstr "Serverfejl (500)" - -msgid "Server Error (500)" -msgstr "Serverfejl (500)" - -msgid "" -"There’s been an error. It’s been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"Der opstod en fejl. Fejlen er rapporteret til website-administratoren via e-" -"mail, og vil blive rettet hurtigst muligt. Tak for din tålmodighed." - -msgid "Run the selected action" -msgstr "Udfør den valgte handling" - -msgid "Go" -msgstr "Udfør" - -msgid "Click here to select the objects across all pages" -msgstr "Klik her for at vælge objekter på tværs af alle sider" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Vælg alle %(total_count)s %(module_name)s " - -msgid "Clear selection" -msgstr "Ryd valg" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "Modeller i applikationen %(name)s" - -msgid "Add" -msgstr "Tilføj" - -msgid "View" -msgstr "Vis" - -msgid "You don’t have permission to view or edit anything." -msgstr "Du har ikke rettigheder til at se eller redigere noget." - -msgid "" -"First, enter a username and password. Then, you’ll be able to edit more user " -"options." -msgstr "" -"Indtast først et brugernavn og en adgangskode. Derefter får du yderligere " -"redigeringsmuligheder." - -msgid "Enter a username and password." -msgstr "Indtast et brugernavn og en adgangskode." - -msgid "Change password" -msgstr "Skift adgangskode" - -msgid "Please correct the error below." -msgstr "Ret venligst fejlen herunder." - -msgid "Please correct the errors below." -msgstr "Ret venligst fejlene herunder." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "Indtast en ny adgangskode for brugeren %(username)s." - -msgid "Welcome," -msgstr "Velkommen," - -msgid "View site" -msgstr "Se side" - -msgid "Documentation" -msgstr "Dokumentation" - -msgid "Log out" -msgstr "Log ud" - -#, python-format -msgid "Add %(name)s" -msgstr "Tilføj %(name)s" - -msgid "History" -msgstr "Historik" - -msgid "View on site" -msgstr "Se på website" - -msgid "Filter" -msgstr "Filtrer" - -msgid "Clear all filters" -msgstr "Nulstil alle filtre" - -msgid "Remove from sorting" -msgstr "Fjern fra sortering" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Sorteringsprioritet: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Skift sortering" - -msgid "Delete" -msgstr "Slet" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Hvis du sletter %(object_name)s '%(escaped_object)s', vil du også slette " -"relaterede objekter, men din konto har ikke rettigheder til at slette " -"følgende objekttyper:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"Sletning af %(object_name)s ' %(escaped_object)s ' vil kræve sletning af " -"følgende beskyttede relaterede objekter:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Er du sikker på du vil slette %(object_name)s \"%(escaped_object)s\"? Alle " -"de følgende relaterede objekter vil blive slettet:" - -msgid "Objects" -msgstr "Objekter" - -msgid "Yes, I’m sure" -msgstr "Ja, jeg er sikker" - -msgid "No, take me back" -msgstr "Nej, tag mig tilbage" - -msgid "Delete multiple objects" -msgstr "Slet flere objekter" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Sletning af de valgte %(objects_name)s ville resultere i sletning af " -"relaterede objekter, men din konto har ikke tilladelse til at slette " -"følgende typer af objekter:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Sletning af de valgte %(objects_name)s vil kræve sletning af følgende " -"beskyttede relaterede objekter:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Er du sikker på du vil slette de valgte %(objects_name)s? Alle de følgende " -"objekter og deres relaterede emner vil blive slettet:" - -msgid "Delete?" -msgstr "Slet?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " Efter %(filter_title)s " - -msgid "Summary" -msgstr "Sammendrag" - -msgid "Recent actions" -msgstr "Seneste handlinger" - -msgid "My actions" -msgstr "Mine handlinger" - -msgid "None available" -msgstr "Ingen tilgængelige" - -msgid "Unknown content" -msgstr "Ukendt indhold" - -msgid "" -"Something’s wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Der er noget galt med databaseinstallationen. Kontroller om " -"databasetabellerne er blevet oprettet og at databasen er læsbar for den " -"pågældende bruger." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"Du er logget ind som %(username)s, men du har ikke tilladelse til at tilgå " -"denne site. Vil du logge ind med en anden brugerkonto?" - -msgid "Forgotten your password or username?" -msgstr "Har du glemt dit password eller brugernavn?" - -msgid "Toggle navigation" -msgstr "Vis/skjul navigation" - -msgid "Date/time" -msgstr "Dato/tid" - -msgid "User" -msgstr "Bruger" - -msgid "Action" -msgstr "Funktion" - -msgid "" -"This object doesn’t have a change history. It probably wasn’t added via this " -"admin site." -msgstr "" -"Dette objekt har ingen ændringshistorik. Det blev formentlig ikke tilføjet " -"via dette administrations-site" - -msgid "Show all" -msgstr "Vis alle" - -msgid "Save" -msgstr "Gem" - -msgid "Popup closing…" -msgstr "Popup lukker…" - -msgid "Search" -msgstr "Søg" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s resultat" -msgstr[1] "%(counter)s resultater" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s i alt" - -msgid "Save as new" -msgstr "Gem som ny" - -msgid "Save and add another" -msgstr "Gem og tilføj endnu en" - -msgid "Save and continue editing" -msgstr "Gem og fortsæt med at redigere" - -msgid "Save and view" -msgstr "Gem og vis" - -msgid "Close" -msgstr "Luk" - -#, python-format -msgid "Change selected %(model)s" -msgstr "Redigér valgte %(model)s" - -#, python-format -msgid "Add another %(model)s" -msgstr "Tilføj endnu en %(model)s" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Slet valgte %(model)s" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Tak for den kvalitetstid du brugte på websitet i dag." - -msgid "Log in again" -msgstr "Log ind igen" - -msgid "Password change" -msgstr "Skift adgangskode" - -msgid "Your password was changed." -msgstr "Din adgangskode blev ændret." - -msgid "" -"Please enter your old password, for security’s sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Indtast venligst din gamle adgangskode for en sikkerheds skyld og indtast så " -"din nye adgangskode to gange, så vi kan være sikre på, at den er indtastet " -"korrekt." - -msgid "Change my password" -msgstr "Skift min adgangskode" - -msgid "Password reset" -msgstr "Nulstil adgangskode" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Din adgangskode er blevet sat. Du kan logge ind med den nu." - -msgid "Password reset confirmation" -msgstr "Bekræftelse for nulstilling af adgangskode" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Indtast venligst din nye adgangskode to gange, så vi kan være sikre på, at " -"den er indtastet korrekt." - -msgid "New password:" -msgstr "Ny adgangskode:" - -msgid "Confirm password:" -msgstr "Bekræft ny adgangskode:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Linket for nulstilling af adgangskoden er ugyldigt, måske fordi det allerede " -"har været brugt. Anmod venligst påny om nulstilling af adgangskoden." - -msgid "" -"We’ve emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Vi har sendt dig en e-mail med instruktioner for at indstille din " -"adgangskode, hvis en konto med den angivne e-mail-adresse findes. Du burde " -"modtage den snarest." - -msgid "" -"If you don’t receive an email, please make sure you’ve entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Hvis du ikke modtager en e-mail, så tjek venligst, at du har indtastet den e-" -"mail-adresse, du registrerede dig med, og tjek din spam-mappe." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"Du modtager denne e-mail, fordi du har anmodet om en nulstilling af " -"adgangskoden til din brugerkonto ved %(site_name)s ." - -msgid "Please go to the following page and choose a new password:" -msgstr "Gå venligst til denne side og vælg en ny adgangskode:" - -msgid "Your username, in case you’ve forgotten:" -msgstr "Hvis du skulle have glemt dit brugernavn er det:" - -msgid "Thanks for using our site!" -msgstr "Tak fordi du brugte vores website!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "Med venlig hilsen %(site_name)s" - -msgid "" -"Forgotten your password? Enter your email address below, and we’ll email " -"instructions for setting a new one." -msgstr "" -"Har du glemt din adgangskode? Skriv din e-mail-adresse herunder, så sender " -"vi dig instruktioner i at vælge en ny adgangskode." - -msgid "Email address:" -msgstr "E-mail-adresse:" - -msgid "Reset my password" -msgstr "Nulstil min adgangskode" - -msgid "All dates" -msgstr "Alle datoer" - -#, python-format -msgid "Select %s" -msgstr "Vælg %s" - -#, python-format -msgid "Select %s to change" -msgstr "Vælg %s, der skal ændres" - -#, python-format -msgid "Select %s to view" -msgstr "Vælg %s, der skal vises" - -msgid "Date:" -msgstr "Dato:" - -msgid "Time:" -msgstr "Tid:" - -msgid "Lookup" -msgstr "Slå op" - -msgid "Currently:" -msgstr "Nuværende:" - -msgid "Change:" -msgstr "Ændring:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/da/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/da/LC_MESSAGES/djangojs.mo deleted file mode 100644 index a1c329a3..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/da/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/da/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/da/LC_MESSAGES/djangojs.po deleted file mode 100644 index 6d711831..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/da/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,221 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Christian Joergensen , 2012 -# Erik Ramsgaard Wognsen , 2012,2015-2016,2020 -# Finn Gruwier Larsen, 2011 -# Jannis Leidel , 2011 -# Mathias Rav , 2017 -# valberg , 2014 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-11 20:56+0200\n" -"PO-Revision-Date: 2020-05-13 20:46+0000\n" -"Last-Translator: Erik Ramsgaard Wognsen \n" -"Language-Team: Danish (http://www.transifex.com/django/django/language/da/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: da\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "Tilgængelige %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Dette er listen over tilgængelige %s. Du kan vælge dem enkeltvis ved at " -"markere dem i kassen nedenfor og derefter klikke på \"Vælg\"-pilen mellem de " -"to kasser." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "Skriv i dette felt for at filtrere listen af tilgængelige %s." - -msgid "Filter" -msgstr "Filtrér" - -msgid "Choose all" -msgstr "Vælg alle" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Klik for at vælge alle %s med det samme." - -msgid "Choose" -msgstr "Vælg" - -msgid "Remove" -msgstr "Fjern" - -#, javascript-format -msgid "Chosen %s" -msgstr "Valgte %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Dette er listen over valgte %s. Du kan fjerne dem enkeltvis ved at markere " -"dem i kassen nedenfor og derefter klikke på \"Fjern\"-pilen mellem de to " -"kasser." - -msgid "Remove all" -msgstr "Fjern alle" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Klik for at fjerne alle valgte %s med det samme." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(sel)s af %(cnt)s valgt" -msgstr[1] "%(sel)s af %(cnt)s valgt" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Du har ugemte ændringer af et eller flere redigerbare felter. Hvis du " -"udfører en handling fra drop-down-menuen, vil du miste disse ændringer." - -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 "" -"Du har valgt en handling, men du har ikke gemt dine ændringer til et eller " -"flere felter. Klik venligst OK for at gemme og vælg dernæst handlingen igen." - -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 "" -"Du har valgt en handling, og du har ikke udført nogen ændringer på felter. " -"Du søger formentlig Udfør-knappen i stedet for Gem-knappen." - -msgid "Now" -msgstr "Nu" - -msgid "Midnight" -msgstr "Midnat" - -msgid "6 a.m." -msgstr "Klokken 6" - -msgid "Noon" -msgstr "Middag" - -msgid "6 p.m." -msgstr "Klokken 18" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Obs: Du er %s time forud i forhold til servertiden." -msgstr[1] "Obs: Du er %s timer forud i forhold til servertiden." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Obs: Du er %s time bagud i forhold til servertiden." -msgstr[1] "Obs: Du er %s timer bagud i forhold til servertiden." - -msgid "Choose a Time" -msgstr "Vælg et Tidspunkt" - -msgid "Choose a time" -msgstr "Vælg et tidspunkt" - -msgid "Cancel" -msgstr "Annuller" - -msgid "Today" -msgstr "I dag" - -msgid "Choose a Date" -msgstr "Vælg en Dato" - -msgid "Yesterday" -msgstr "I går" - -msgid "Tomorrow" -msgstr "I morgen" - -msgid "January" -msgstr "Januar" - -msgid "February" -msgstr "Februar" - -msgid "March" -msgstr "Marts" - -msgid "April" -msgstr "April" - -msgid "May" -msgstr "Maj" - -msgid "June" -msgstr "Juni" - -msgid "July" -msgstr "Juli" - -msgid "August" -msgstr "August" - -msgid "September" -msgstr "September" - -msgid "October" -msgstr "Oktober" - -msgid "November" -msgstr "November" - -msgid "December" -msgstr "December" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "S" - -msgctxt "one letter Monday" -msgid "M" -msgstr "M" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "T" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "O" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "T" - -msgctxt "one letter Friday" -msgid "F" -msgstr "F" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "L" - -msgid "Show" -msgstr "Vis" - -msgid "Hide" -msgstr "Skjul" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/de/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/de/LC_MESSAGES/django.mo deleted file mode 100644 index 8c59438b..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/de/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/de/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/de/LC_MESSAGES/django.po deleted file mode 100644 index d6285301..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/de/LC_MESSAGES/django.po +++ /dev/null @@ -1,735 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# André Hagenbruch, 2012 -# Florian Apolloner , 2011 -# Dimitris Glezos , 2012 -# Florian Apolloner , 2020 -# Jannis Vajen, 2013 -# Jannis Leidel , 2013-2018,2020 -# Jannis Vajen, 2016 -# Markus Holtermann , 2020 -# Markus Holtermann , 2013,2015 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-14 19:53+0200\n" -"PO-Revision-Date: 2020-07-17 07:47+0000\n" -"Last-Translator: Florian Apolloner \n" -"Language-Team: German (http://www.transifex.com/django/django/language/de/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: de\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "Erfolgreich %(count)d %(items)s gelöscht." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "Kann %(name)s nicht löschen" - -msgid "Are you sure?" -msgstr "Sind Sie sicher?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Ausgewählte %(verbose_name_plural)s löschen" - -msgid "Administration" -msgstr "Administration" - -msgid "All" -msgstr "Alle" - -msgid "Yes" -msgstr "Ja" - -msgid "No" -msgstr "Nein" - -msgid "Unknown" -msgstr "Unbekannt" - -msgid "Any date" -msgstr "Alle Daten" - -msgid "Today" -msgstr "Heute" - -msgid "Past 7 days" -msgstr "Letzte 7 Tage" - -msgid "This month" -msgstr "Diesen Monat" - -msgid "This year" -msgstr "Dieses Jahr" - -msgid "No date" -msgstr "Kein Datum" - -msgid "Has date" -msgstr "Besitzt Datum" - -msgid "Empty" -msgstr "Leer" - -msgid "Not empty" -msgstr "Nicht leer" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Bitte %(username)s und Passwort für einen Staff-Account eingeben. Beide " -"Felder berücksichtigen die Groß-/Kleinschreibung." - -msgid "Action:" -msgstr "Aktion:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "%(verbose_name)s hinzufügen" - -msgid "Remove" -msgstr "Entfernen" - -msgid "Addition" -msgstr "Hinzugefügt" - -msgid "Change" -msgstr "Ändern" - -msgid "Deletion" -msgstr "Gelöscht" - -msgid "action time" -msgstr "Zeitpunkt der Aktion" - -msgid "user" -msgstr "Benutzer" - -msgid "content type" -msgstr "Inhaltstyp" - -msgid "object id" -msgstr "Objekt-ID" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "Objekt Darst." - -msgid "action flag" -msgstr "Aktionskennzeichen" - -msgid "change message" -msgstr "Änderungsmeldung" - -msgid "log entry" -msgstr "Logeintrag" - -msgid "log entries" -msgstr "Logeinträge" - -#, python-format -msgid "Added “%(object)s”." -msgstr "„%(object)s“ hinzufügt." - -#, python-format -msgid "Changed “%(object)s” — %(changes)s" -msgstr "„%(object)s“ geändert – %(changes)s" - -#, python-format -msgid "Deleted “%(object)s.”" -msgstr "„%(object)s“ gelöscht." - -msgid "LogEntry Object" -msgstr "LogEntry Objekt" - -#, python-brace-format -msgid "Added {name} “{object}”." -msgstr "{name} „{object}“ hinzugefügt." - -msgid "Added." -msgstr "Hinzugefügt." - -msgid "and" -msgstr "und" - -#, python-brace-format -msgid "Changed {fields} for {name} “{object}”." -msgstr "{fields} für {name} „{object}“ geändert." - -#, python-brace-format -msgid "Changed {fields}." -msgstr "{fields} geändert." - -#, python-brace-format -msgid "Deleted {name} “{object}”." -msgstr "{name} „{object}“ gelöscht." - -msgid "No fields changed." -msgstr "Keine Felder geändert." - -msgid "None" -msgstr "-" - -msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." -msgstr "" -"Halten Sie die Strg-Taste (⌘ für Mac) während des Klickens gedrückt, um " -"mehrere Einträge auszuwählen." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully." -msgstr "{name} „{obj}“ wurde erfolgreich hinzugefügt." - -msgid "You may edit it again below." -msgstr "Es kann unten erneut geändert werden." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was added successfully. You may add another {name} below." -msgstr "" -"{name} „{obj}“ wurde erfolgreich hinzugefügt und kann nun unten um ein " -"Weiteres ergänzt werden." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may edit it again below." -msgstr "" -"{name} „{obj}“ wurde erfolgreich geändert und kann unten erneut geändert " -"werden." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully. You may edit it again below." -msgstr "" -"{name} „{obj}“ wurde erfolgreich hinzugefügt und kann unten geändert werden." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may add another {name} " -"below." -msgstr "" -"{name} „{obj}“ wurde erfolgreich geändert und kann nun unten erneut ergänzt " -"werden." - -#, python-brace-format -msgid "The {name} “{obj}” was changed successfully." -msgstr "{name} „{obj}“ wurde erfolgreich geändert." - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Es müssen Objekte aus der Liste ausgewählt werden, um Aktionen " -"durchzuführen. Es wurden keine Objekte geändert." - -msgid "No action selected." -msgstr "Keine Aktion ausgewählt." - -#, python-format -msgid "The %(name)s “%(obj)s” was deleted successfully." -msgstr "%(name)s „%(obj)s“ wurde erfolgreich gelöscht." - -#, python-format -msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" -msgstr "%(name)s mit ID „%(key)s“ existiert nicht. Eventuell gelöscht?" - -#, python-format -msgid "Add %s" -msgstr "%s hinzufügen" - -#, python-format -msgid "Change %s" -msgstr "%s ändern" - -#, python-format -msgid "View %s" -msgstr "%s ansehen" - -msgid "Database error" -msgstr "Datenbankfehler" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s wurde erfolgreich geändert." -msgstr[1] "%(count)s %(name)s wurden erfolgreich geändert." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s ausgewählt" -msgstr[1] "Alle %(total_count)s ausgewählt" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "0 von %(cnt)s ausgewählt" - -#, python-format -msgid "Change history: %s" -msgstr "Änderungsgeschichte: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"Das Löschen des %(class_name)s-Objekts „%(instance)s“ würde ein Löschen der " -"folgenden geschützten verwandten Objekte erfordern: %(related_objects)s" - -msgid "Django site admin" -msgstr "Django-Systemverwaltung" - -msgid "Django administration" -msgstr "Django-Verwaltung" - -msgid "Site administration" -msgstr "Website-Verwaltung" - -msgid "Log in" -msgstr "Anmelden" - -#, python-format -msgid "%(app)s administration" -msgstr "%(app)s-Administration" - -msgid "Page not found" -msgstr "Seite nicht gefunden" - -msgid "We’re sorry, but the requested page could not be found." -msgstr "" -"Es tut uns leid, aber die angeforderte Seite konnte nicht gefunden werden." - -msgid "Home" -msgstr "Start" - -msgid "Server error" -msgstr "Serverfehler" - -msgid "Server error (500)" -msgstr "Serverfehler (500)" - -msgid "Server Error (500)" -msgstr "Serverfehler (500)" - -msgid "" -"There’s been an error. It’s been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"Ein Fehler ist aufgetreten und wurde an die Administratoren per E-Mail " -"gemeldet. Danke für die Geduld, der Fehler sollte in Kürze behoben sein." - -msgid "Run the selected action" -msgstr "Ausgewählte Aktion ausführen" - -msgid "Go" -msgstr "Ausführen" - -msgid "Click here to select the objects across all pages" -msgstr "Hier klicken, um die Objekte aller Seiten auszuwählen" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Alle %(total_count)s %(module_name)s auswählen" - -msgid "Clear selection" -msgstr "Auswahl widerrufen" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "Modelle der %(name)s-Anwendung" - -msgid "Add" -msgstr "Hinzufügen" - -msgid "View" -msgstr "Ansehen" - -msgid "You don’t have permission to view or edit anything." -msgstr "" -"Das Benutzerkonto besitzt nicht die nötigen Rechte, um etwas anzusehen oder " -"zu ändern." - -msgid "" -"First, enter a username and password. Then, you’ll be able to edit more user " -"options." -msgstr "" -"Bitte zuerst einen Benutzernamen und ein Passwort eingeben. Danach können " -"weitere Optionen für den Benutzer geändert werden." - -msgid "Enter a username and password." -msgstr "Bitte einen Benutzernamen und ein Passwort eingeben." - -msgid "Change password" -msgstr "Passwort ändern" - -msgid "Please correct the error below." -msgstr "Bitte den unten aufgeführten Fehler korrigieren." - -msgid "Please correct the errors below." -msgstr "Bitte die unten aufgeführten Fehler korrigieren." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "" -"Bitte geben Sie ein neues Passwort für den Benutzer %(username)s ein." - -msgid "Welcome," -msgstr "Willkommen," - -msgid "View site" -msgstr "Auf der Website anzeigen" - -msgid "Documentation" -msgstr "Dokumentation" - -msgid "Log out" -msgstr "Abmelden" - -#, python-format -msgid "Add %(name)s" -msgstr "%(name)s hinzufügen" - -msgid "History" -msgstr "Geschichte" - -msgid "View on site" -msgstr "Auf der Website anzeigen" - -msgid "Filter" -msgstr "Filter" - -msgid "Clear all filters" -msgstr "Alle Filter zurücksetzen" - -msgid "Remove from sorting" -msgstr "Aus der Sortierung entfernen" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Sortierung: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Sortierung ein-/ausschalten" - -msgid "Delete" -msgstr "Löschen" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Das Löschen des %(object_name)s „%(escaped_object)s“ hätte das Löschen davon " -"abhängiger Daten zur Folge, aber Sie haben nicht die nötigen Rechte, um die " -"folgenden davon abhängigen Daten zu löschen:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"Das Löschen von %(object_name)s „%(escaped_object)s“ würde ein Löschen der " -"folgenden geschützten verwandten Objekte erfordern:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Sind Sie sicher, dass Sie %(object_name)s „%(escaped_object)s“ löschen " -"wollen? Es werden zusätzlich die folgenden davon abhängigen Daten gelöscht:" - -msgid "Objects" -msgstr "Objekte" - -msgid "Yes, I’m sure" -msgstr "Ja, ich bin sicher" - -msgid "No, take me back" -msgstr "Nein, bitte abbrechen" - -msgid "Delete multiple objects" -msgstr "Mehrere Objekte löschen" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Das Löschen der ausgewählten %(objects_name)s würde im Löschen geschützter " -"verwandter Objekte resultieren, allerdings besitzt Ihr Benutzerkonto nicht " -"die nötigen Rechte, um diese zu löschen:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Das Löschen der ausgewählten %(objects_name)s würde ein Löschen der " -"folgenden geschützten verwandten Objekte erfordern:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Sind Sie sicher, dass Sie die ausgewählten %(objects_name)s löschen wollen? " -"Alle folgenden Objekte und ihre verwandten Objekte werden gelöscht:" - -msgid "Delete?" -msgstr "Löschen?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " Nach %(filter_title)s " - -msgid "Summary" -msgstr "Zusammenfassung" - -msgid "Recent actions" -msgstr "Neueste Aktionen" - -msgid "My actions" -msgstr "Meine Aktionen" - -msgid "None available" -msgstr "Keine vorhanden" - -msgid "Unknown content" -msgstr "Unbekannter Inhalt" - -msgid "" -"Something’s wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Etwas stimmt nicht mit der Datenbankkonfiguration. Bitte sicherstellen, dass " -"die richtigen Datenbanktabellen angelegt wurden und die Datenbank vom " -"verwendeten Datenbankbenutzer auch lesbar ist." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"Sie sind als %(username)s angemeldet, aber nicht autorisiert, auf diese " -"Seite zuzugreifen. Wollen Sie sich mit einem anderen Account anmelden?" - -msgid "Forgotten your password or username?" -msgstr "Benutzername oder Passwort vergessen?" - -msgid "Toggle navigation" -msgstr "Navigation ein-/ausblenden" - -msgid "Date/time" -msgstr "Datum/Zeit" - -msgid "User" -msgstr "Benutzer" - -msgid "Action" -msgstr "Aktion" - -msgid "" -"This object doesn’t have a change history. It probably wasn’t added via this " -"admin site." -msgstr "" -"Dieses Objekt hat keine Änderungsgeschichte. Es wurde möglicherweise nicht " -"über diese Verwaltungsseiten angelegt." - -msgid "Show all" -msgstr "Zeige alle" - -msgid "Save" -msgstr "Sichern" - -msgid "Popup closing…" -msgstr "Popup wird geschlossen..." - -msgid "Search" -msgstr "Suchen" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s Ergebnis" -msgstr[1] "%(counter)s Ergebnisse" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s gesamt" - -msgid "Save as new" -msgstr "Als neu sichern" - -msgid "Save and add another" -msgstr "Sichern und neu hinzufügen" - -msgid "Save and continue editing" -msgstr "Sichern und weiter bearbeiten" - -msgid "Save and view" -msgstr "Sichern und ansehen" - -msgid "Close" -msgstr "Schließen" - -#, python-format -msgid "Change selected %(model)s" -msgstr "Ausgewählte %(model)s ändern" - -#, python-format -msgid "Add another %(model)s" -msgstr "%(model)s hinzufügen" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Ausgewählte %(model)s löschen" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Vielen Dank, dass Sie hier ein paar nette Minuten verbracht haben." - -msgid "Log in again" -msgstr "Erneut anmelden" - -msgid "Password change" -msgstr "Passwort ändern" - -msgid "Your password was changed." -msgstr "Ihr Passwort wurde geändert." - -msgid "" -"Please enter your old password, for security’s sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Aus Sicherheitsgründen bitte zuerst das alte Passwort und darunter dann " -"zweimal das neue Passwort eingeben, um sicherzustellen, dass es es korrekt " -"eingegeben wurde." - -msgid "Change my password" -msgstr "Mein Passwort ändern" - -msgid "Password reset" -msgstr "Passwort zurücksetzen" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Ihr Passwort wurde zurückgesetzt. Sie können sich nun anmelden." - -msgid "Password reset confirmation" -msgstr "Zurücksetzen des Passworts bestätigen" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Bitte geben Sie Ihr neues Passwort zweimal ein, damit wir überprüfen können, " -"ob es richtig eingetippt wurde." - -msgid "New password:" -msgstr "Neues Passwort:" - -msgid "Confirm password:" -msgstr "Passwort wiederholen:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Der Link zum Zurücksetzen Ihres Passworts ist ungültig, wahrscheinlich weil " -"er schon einmal benutzt wurde. Bitte setzen Sie Ihr Passwort erneut zurück." - -msgid "" -"We’ve emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Wir haben eine E-Mail zum Zurücksetzen des Passwortes an die angegebene E-" -"Mail-Adresse gesendet, sofern ein entsprechendes Konto existiert. Sie sollte " -"in Kürze ankommen." - -msgid "" -"If you don’t receive an email, please make sure you’ve entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Falls die E-Mail nicht angekommen sein sollte, bitte die E-Mail-Adresse auf " -"Richtigkeit und gegebenenfalls den Spam-Ordner überprüfen." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"Diese E-Mail wurde aufgrund einer Anfrage zum Zurücksetzen des Passworts auf " -"der Website %(site_name)s versendet." - -msgid "Please go to the following page and choose a new password:" -msgstr "Bitte öffnen Sie folgende Seite, um Ihr neues Passwort einzugeben:" - -msgid "Your username, in case you’ve forgotten:" -msgstr "Der Benutzername, falls vergessen:" - -msgid "Thanks for using our site!" -msgstr "Vielen Dank, dass Sie unsere Website benutzen!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "Das Team von %(site_name)s" - -msgid "" -"Forgotten your password? Enter your email address below, and we’ll email " -"instructions for setting a new one." -msgstr "" -"Passwort vergessen? Einfach die E-Mail-Adresse unten eingeben und den " -"Anweisungen zum Zurücksetzen des Passworts in der E-Mail folgen." - -msgid "Email address:" -msgstr "E-Mail-Adresse:" - -msgid "Reset my password" -msgstr "Mein Passwort zurücksetzen" - -msgid "All dates" -msgstr "Alle Daten" - -#, python-format -msgid "Select %s" -msgstr "%s auswählen" - -#, python-format -msgid "Select %s to change" -msgstr "%s zur Änderung auswählen" - -#, python-format -msgid "Select %s to view" -msgstr "%s zum Ansehen auswählen" - -msgid "Date:" -msgstr "Datum:" - -msgid "Time:" -msgstr "Zeit:" - -msgid "Lookup" -msgstr "Suchen" - -msgid "Currently:" -msgstr "Aktuell:" - -msgid "Change:" -msgstr "Ändern:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/de/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/de/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 1ae1cce4..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/de/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/de/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/de/LC_MESSAGES/djangojs.po deleted file mode 100644 index 7d009f31..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/de/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,223 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# André Hagenbruch, 2011-2012 -# Florian Apolloner , 2020 -# Jannis Leidel , 2011,2013-2016 -# Jannis Vajen, 2016 -# Markus Holtermann , 2020 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-11 20:56+0200\n" -"PO-Revision-Date: 2020-06-16 13:07+0000\n" -"Last-Translator: Florian Apolloner \n" -"Language-Team: German (http://www.transifex.com/django/django/language/de/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: de\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "Verfügbare %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Dies ist die Liste der verfügbaren %s. Einfach im unten stehenden Feld " -"markieren und mithilfe des „Auswählen“-Pfeils auswählen." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "" -"Durch Eingabe in diesem Feld lässt sich die Liste der verfügbaren %s " -"eingrenzen." - -msgid "Filter" -msgstr "Filter" - -msgid "Choose all" -msgstr "Alle auswählen" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Klicken, um alle %s auf einmal auszuwählen." - -msgid "Choose" -msgstr "Auswählen" - -msgid "Remove" -msgstr "Entfernen" - -#, javascript-format -msgid "Chosen %s" -msgstr "Ausgewählte %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Dies ist die Liste der ausgewählten %s. Einfach im unten stehenden Feld " -"markieren und mithilfe des „Entfernen“-Pfeils wieder entfernen." - -msgid "Remove all" -msgstr "Alle entfernen" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Klicken, um alle ausgewählten %s auf einmal zu entfernen." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(sel)s von %(cnt)s ausgewählt" -msgstr[1] "%(sel)s von %(cnt)s ausgewählt" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Sie haben Änderungen an bearbeitbaren Feldern vorgenommen und nicht " -"gespeichert. Wollen Sie die Aktion trotzdem ausführen und Ihre Änderungen " -"verwerfen?" - -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 "" -"Sie haben eine Aktion ausgewählt, aber Ihre vorgenommenen Änderungen nicht " -"gespeichert. Klicken Sie OK, um dennoch zu speichern. Danach müssen Sie die " -"Aktion erneut ausführen." - -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 "" -"Sie haben eine Aktion ausgewählt, aber keine Änderungen an bearbeitbaren " -"Feldern vorgenommen. Sie wollten wahrscheinlich auf „Ausführen“ und nicht " -"auf „Speichern“ klicken." - -msgid "Now" -msgstr "Jetzt" - -msgid "Midnight" -msgstr "Mitternacht" - -msgid "6 a.m." -msgstr "6 Uhr" - -msgid "Noon" -msgstr "Mittag" - -msgid "6 p.m." -msgstr "18 Uhr" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Achtung: Sie sind %s Stunde der Serverzeit vorraus." -msgstr[1] "Achtung: Sie sind %s Stunden der Serverzeit vorraus." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Achtung: Sie sind %s Stunde hinter der Serverzeit." -msgstr[1] "Achtung: Sie sind %s Stunden hinter der Serverzeit." - -msgid "Choose a Time" -msgstr "Uhrzeit wählen" - -msgid "Choose a time" -msgstr "Uhrzeit" - -msgid "Cancel" -msgstr "Abbrechen" - -msgid "Today" -msgstr "Heute" - -msgid "Choose a Date" -msgstr "Datum wählen" - -msgid "Yesterday" -msgstr "Gestern" - -msgid "Tomorrow" -msgstr "Morgen" - -msgid "January" -msgstr "Januar" - -msgid "February" -msgstr "Februar" - -msgid "March" -msgstr "März" - -msgid "April" -msgstr "April" - -msgid "May" -msgstr "Mai" - -msgid "June" -msgstr "Juni" - -msgid "July" -msgstr "Juli" - -msgid "August" -msgstr "August" - -msgid "September" -msgstr "September" - -msgid "October" -msgstr "Oktober" - -msgid "November" -msgstr "November" - -msgid "December" -msgstr "Dezember" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "So" - -msgctxt "one letter Monday" -msgid "M" -msgstr "Mo" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "Di" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "Mi" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "Do" - -msgctxt "one letter Friday" -msgid "F" -msgstr "Fr" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "Sa" - -msgid "Show" -msgstr "Einblenden" - -msgid "Hide" -msgstr "Ausblenden" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/dsb/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/dsb/LC_MESSAGES/django.mo deleted file mode 100644 index 03060dcd..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/dsb/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/dsb/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/dsb/LC_MESSAGES/django.po deleted file mode 100644 index 33a4adfa..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/dsb/LC_MESSAGES/django.po +++ /dev/null @@ -1,722 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Michael Wolf , 2016-2020 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-14 19:53+0200\n" -"PO-Revision-Date: 2020-07-21 12:54+0000\n" -"Last-Translator: Michael Wolf \n" -"Language-Team: Lower Sorbian (http://www.transifex.com/django/django/" -"language/dsb/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: dsb\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" -"%100==4 ? 2 : 3);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "%(count)d %(items)s su se wulašowali." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "%(name)s njedajo se lašowaś" - -msgid "Are you sure?" -msgstr "Sćo se wěsty?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Wubrane %(verbose_name_plural)s lašowaś" - -msgid "Administration" -msgstr "Administracija" - -msgid "All" -msgstr "Wšykne" - -msgid "Yes" -msgstr "Jo" - -msgid "No" -msgstr "Ně" - -msgid "Unknown" -msgstr "Njeznaty" - -msgid "Any date" -msgstr "Někaki datum" - -msgid "Today" -msgstr "Źinsa" - -msgid "Past 7 days" -msgstr "Zachadne 7 dnjow" - -msgid "This month" -msgstr "Toś ten mjasec" - -msgid "This year" -msgstr "W tom lěśe" - -msgid "No date" -msgstr "Žeden datum" - -msgid "Has date" -msgstr "Ma datum" - -msgid "Empty" -msgstr "Prozny" - -msgid "Not empty" -msgstr "Njeprozny" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Pšosym zapódajśo korektne %(username)s a gronidło za personalne konto. " -"Źiwajśo na to, až wobej póli móžotej mjazy wjeliko- a małopisanim rozeznawaś." - -msgid "Action:" -msgstr "Akcija:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Dalšne %(verbose_name)s pśidaś" - -msgid "Remove" -msgstr "Wótpóraś" - -msgid "Addition" -msgstr "Pśidanje" - -msgid "Change" -msgstr "Změniś" - -msgid "Deletion" -msgstr "Wulašowanje" - -msgid "action time" -msgstr "akciski cas" - -msgid "user" -msgstr "wužywaŕ" - -msgid "content type" -msgstr "wopśimjeśowy typ" - -msgid "object id" -msgstr "objektowy id" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "objektowa reprezentacija" - -msgid "action flag" -msgstr "akciske markěrowanje" - -msgid "change message" -msgstr "změnowa powěźeńka" - -msgid "log entry" -msgstr "protokolowy zapisk" - -msgid "log entries" -msgstr "protokolowe zapiski" - -#, python-format -msgid "Added “%(object)s”." -msgstr "„%(object)s“ pśidane." - -#, python-format -msgid "Changed “%(object)s” — %(changes)s" -msgstr "„%(object)s“ změnjone - %(changes)s" - -#, python-format -msgid "Deleted “%(object)s.”" -msgstr "„%(object)s“ wulašowane." - -msgid "LogEntry Object" -msgstr "Objekt LogEntry" - -#, python-brace-format -msgid "Added {name} “{object}”." -msgstr "{name} „{object}“ pśidany." - -msgid "Added." -msgstr "Pśidany." - -msgid "and" -msgstr "a" - -#, python-brace-format -msgid "Changed {fields} for {name} “{object}”." -msgstr "{fields} za {name} „{object}“ změnjone." - -#, python-brace-format -msgid "Changed {fields}." -msgstr "{fields} změnjone." - -#, python-brace-format -msgid "Deleted {name} “{object}”." -msgstr "Deleted {name} „{object}“ wulašowane." - -msgid "No fields changed." -msgstr "Žedne póla změnjone." - -msgid "None" -msgstr "Žeden" - -msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." -msgstr "´Źaržćo „ctrl“ abo „cmd“ na Mac tłocony, aby wusej jadnogo wubrał." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully." -msgstr "{name} „{obj}“ jo se wuspěšnje pśidał." - -msgid "You may edit it again below." -msgstr "Móźośo dołojce znowego wobźěłaś." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was added successfully. You may add another {name} below." -msgstr "" -"{name} „{obj}“ jo se wuspěšnje pśidał. Móžośo dołojce dalšne {name} pśidaś." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may edit it again below." -msgstr "" -"{name} „{obj}“ jo se wuspěšnje změnił. Móžośo jen dołojce znowego wobźěłowaś." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully. You may edit it again below." -msgstr "" -"{name} „{obj}“ jo se wuspěšnje pśidał. Móžośo jen dołojce znowego wobźěłowaś." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may add another {name} " -"below." -msgstr "" -"{name} „{obj}“ jo se wuspěšnje změnił. Móžośo dołojce dalšne {name} pśidaś." - -#, python-brace-format -msgid "The {name} “{obj}” was changed successfully." -msgstr "{name} „{obj}“ jo se wuspěšnje změnił." - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Zapiski muse se wubraś, aby akcije na nje nałožowało. Zapiski njejsu se " -"změnili." - -msgid "No action selected." -msgstr "Žedna akcija wubrana." - -#, python-format -msgid "The %(name)s “%(obj)s” was deleted successfully." -msgstr "%(name)s „%(obj)s“ jo se wuspěšnje wulašował." - -#, python-format -msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" -msgstr "%(name)s z ID „%(key)s“ njeeksistěrujo. Jo se snaź wulašowało?" - -#, python-format -msgid "Add %s" -msgstr "%s pśidaś" - -#, python-format -msgid "Change %s" -msgstr "%s změniś" - -#, python-format -msgid "View %s" -msgstr "%s pokazaś" - -msgid "Database error" -msgstr "Zmólka datoweje banki" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s jo se wuspěšnje změnił." -msgstr[1] "%(count)s %(name)s stej se wuspěšnje změniłej." -msgstr[2] "%(count)s %(name)s su se wuspěšnje změnili." -msgstr[3] "%(count)s %(name)s jo se wuspěšnje změniło." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s wubrany" -msgstr[1] "Wšykne %(total_count)s wubranej" -msgstr[2] "Wšykne %(total_count)s wubrane" -msgstr[3] "Wšykne %(total_count)s wubranych" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "0 z %(cnt)s wubranych" - -#, python-format -msgid "Change history: %s" -msgstr "Změnowa historija: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"Aby se %(class_name)s %(instance)s lašowało, muse se slědujuce šćitane " -"objekty lašowaś: %(related_objects)s" - -msgid "Django site admin" -msgstr "Administrator sedła Django" - -msgid "Django administration" -msgstr "Administracija Django" - -msgid "Site administration" -msgstr "Sedłowa administracija" - -msgid "Log in" -msgstr "Pśizjawiś" - -#, python-format -msgid "%(app)s administration" -msgstr "Administracija %(app)s" - -msgid "Page not found" -msgstr "Bok njejo se namakał" - -msgid "We’re sorry, but the requested page could not be found." -msgstr "Jo nam luto, ale pominany bok njedajo se namakaś." - -msgid "Home" -msgstr "Startowy bok" - -msgid "Server error" -msgstr "Serwerowa zmólka" - -msgid "Server error (500)" -msgstr "Serwerowa zmólka (500)" - -msgid "Server Error (500)" -msgstr "Serwerowa zmólka (500)" - -msgid "" -"There’s been an error. It’s been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"Zmólka jo nastała. Jo se sedłowym administratoram pśez e-mail k wěsći dała a " -"by dejała se skóro wótpóraś. Źěkujom se za wašu sćerpmosć." - -msgid "Run the selected action" -msgstr "Wubranu akciju wuwjasć" - -msgid "Go" -msgstr "Start" - -msgid "Click here to select the objects across all pages" -msgstr "Klikniśo how, aby objekty wšych bokow wubrał" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Wubjeŕśo wšykne %(total_count)s %(module_name)s" - -msgid "Clear selection" -msgstr "Wuběrk lašowaś" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "Modele w nałoženju %(name)s" - -msgid "Add" -msgstr "Pśidaś" - -msgid "View" -msgstr "Pokazaś" - -msgid "You don’t have permission to view or edit anything." -msgstr "Njamaśo pšawo něco pokazaś abo wobźěłaś" - -msgid "" -"First, enter a username and password. Then, you’ll be able to edit more user " -"options." -msgstr "" -"Zapódajśo nejpjerwjej wužywarske mě a gronidło. Pótom móžośo dalšne " -"wužywarske nastajenja wobźěłowaś." - -msgid "Enter a username and password." -msgstr "Zapódajśo wužywarske mě a gronidło." - -msgid "Change password" -msgstr "Gronidło změniś" - -msgid "Please correct the error below." -msgstr "Pšosym korigěrujśo slědujucu zmólku." - -msgid "Please correct the errors below." -msgstr "Pšosym skorigěrujśo slědujuce zmólki." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "Zapódajśo nowe gronidło za wužywarja %(username)s." - -msgid "Welcome," -msgstr "Witajśo," - -msgid "View site" -msgstr "Sedło pokazaś" - -msgid "Documentation" -msgstr "Dokumentacija" - -msgid "Log out" -msgstr "Wótzjawiś" - -#, python-format -msgid "Add %(name)s" -msgstr "%(name)s pśidaś" - -msgid "History" -msgstr "Historija" - -msgid "View on site" -msgstr "Na sedle pokazaś" - -msgid "Filter" -msgstr "Filtrowaś" - -msgid "Clear all filters" -msgstr "Wšykne filtry lašowaś" - -msgid "Remove from sorting" -msgstr "Ze sortěrowanja wótpóraś" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Sortěrowański rěd: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Sortěrowanje pśešaltowaś" - -msgid "Delete" -msgstr "Lašowaś" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Gaž se %(object_name)s '%(escaped_object)s' lašujo, se pśisłušne objekty " -"wulašuju, ale wašo konto njama pšawo slědujuce typy objektow lašowaś: " - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"Aby se %(object_name)s '%(escaped_object)s' lašujo, muse se slědujuce " -"šćitane pśisłušne objekty lašowaś:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Cośo napšawdu %(object_name)s „%(escaped_object)s“ lašowaś? Wšykne slědujuce " -"pśisłušne zapiski se wulašuju: " - -msgid "Objects" -msgstr "Objekty" - -msgid "Yes, I’m sure" -msgstr "Jo, som se wěsty" - -msgid "No, take me back" -msgstr "Ně, pšosym slědk" - -msgid "Delete multiple objects" -msgstr "Někotare objekty lašowaś" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Gaž lašujośo wubrany %(objects_name)s, se pśisłušne objekty wulašuju, ale " -"wašo konto njama pšawo slědujuce typy objektow lašowaś: " - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Aby wubrany %(objects_name)s lašowało, muse se slědujuce šćitane pśisłušne " -"objekty lašowaś:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Cośo napšawdu wubrany %(objects_name)s lašowaś? Wšykne slědujuce objekty a " -"jich pśisłušne zapiski se wulašuju:" - -msgid "Delete?" -msgstr "Lašowaś?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " Pó %(filter_title)s " - -msgid "Summary" -msgstr "Zespominanje" - -msgid "Recent actions" -msgstr "Nejnowše akcije" - -msgid "My actions" -msgstr "Móje akcije" - -msgid "None available" -msgstr "Žeden k dispoziciji" - -msgid "Unknown content" -msgstr "Njeznate wopśimjeśe" - -msgid "" -"Something’s wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Něco jo z wašeju instalaciju datoweje banki kśiwje šło. Pśeznańśo se, až " -"wótpowědne tabele datoweje banki su se napórali a pótom, až datowa banka " -"dajo se wót wótpówědnego wužywarja cytaś." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"Sćo ako %(username)s awtentificěrowany, ale njamaśo pśistup na toś ten bok. " -"Cośo se pla drugego konta pśizjawiś?" - -msgid "Forgotten your password or username?" -msgstr "Sćo swójo gronidło abo wužywarske mě zabył?" - -msgid "Toggle navigation" -msgstr "Nawigaciju pśešaltowaś" - -msgid "Date/time" -msgstr "Datum/cas" - -msgid "User" -msgstr "Wužywaŕ" - -msgid "Action" -msgstr "Akcija" - -msgid "" -"This object doesn’t have a change history. It probably wasn’t added via this " -"admin site." -msgstr "" -"Toś ten objekt njama změnowu historiju. Jo se nejskerjej pśez toś to " -"administratorowe sedło pśidał." - -msgid "Show all" -msgstr "Wšykne pokazaś" - -msgid "Save" -msgstr "Składowaś" - -msgid "Popup closing…" -msgstr "Wuskokujuce wokno se zacynja…" - -msgid "Search" -msgstr "Pytaś" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s wuslědk" -msgstr[1] "%(counter)s wuslědka" -msgstr[2] "%(counter)s wuslědki" -msgstr[3] "%(counter)s wuslědkow" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s dogromady" - -msgid "Save as new" -msgstr "Ako nowy składowaś" - -msgid "Save and add another" -msgstr "Składowaś a dalšny pśidaś" - -msgid "Save and continue editing" -msgstr "Składowaś a dalej wobźěłowaś" - -msgid "Save and view" -msgstr "Składowaś a pokazaś" - -msgid "Close" -msgstr "Zacyniś" - -#, python-format -msgid "Change selected %(model)s" -msgstr "Wubrane %(model)s změniś" - -#, python-format -msgid "Add another %(model)s" -msgstr "Dalšny %(model)s pśidaś" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Wubrane %(model)s lašowaś" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Źěkujomy se, až sćo źinsa wěsty cas na websedle pśebywał." - -msgid "Log in again" -msgstr "Hyšći raz pśizjawiś" - -msgid "Password change" -msgstr "Gronidło změniś" - -msgid "Your password was changed." -msgstr "Wašo gronidło jo se změniło." - -msgid "" -"Please enter your old password, for security’s sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Pšosym zapódajśo k swójej wěstośe swójo stare gronidło a pótom swójo nowe " -"gronidło dwójcy, aby my mógli pśeglědowaś, lěc sćo jo korektnje zapisał." - -msgid "Change my password" -msgstr "Mójo gronidło změniś" - -msgid "Password reset" -msgstr "Gronidło jo se slědk stajiło" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Wašo gronidło jo se póstajiło. Móžośo pókšacowaś a se něnto pśizjawiś." - -msgid "Password reset confirmation" -msgstr "Wobkšuśenje slědkstajenja gronidła" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Pšosym zapódajśo swójo nowe gronidło dwójcy, aby my mógli pśeglědowaś, lěc " -"sći jo korektnje zapisał." - -msgid "New password:" -msgstr "Nowe gronidło:" - -msgid "Confirm password:" -msgstr "Gronidło wobkšuśiś:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Wótkaz za slědkstajenje gronidła jo njepłaśiwy był, snaź dokulaž jo se južo " -"wužył. Pšosym pšosćo wó nowe slědkstajenje gronidła." - -msgid "" -"We’ve emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Smy wam instrukcije za nastajenje wašogo gronidła pśez e-mail pósłali, jolic " -"konto ze zapódaneju e-mailoweju adresu eksistěrujo. Wy by dejał ju skóro " -"dostaś." - -msgid "" -"If you don’t receive an email, please make sure you’ve entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Jolic mejlku njedostawaśo, pśeznańśo se, až sćo adresu zapódał, z kótarejuž " -"sćo zregistrěrował, a pśeglědajśo swój spamowy zarědnik." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"Dostawaśo toś tu mejlku, dokulaž sćo za swójo wužywarske konto na " -"%(site_name)s wó slědkstajenje gronidła pšosył." - -msgid "Please go to the following page and choose a new password:" -msgstr "Pšosym źiśo k slědujucemu bokoju a wubjeŕśo nowe gronidło:" - -msgid "Your username, in case you’ve forgotten:" -msgstr "Wašo wužywarske mě, jolic sćo jo zabył:" - -msgid "Thanks for using our site!" -msgstr "Wjeliki źěk za wužywanje našogo sedła!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "Team %(site_name)s" - -msgid "" -"Forgotten your password? Enter your email address below, and we’ll email " -"instructions for setting a new one." -msgstr "" -"Sćo swójo gronidło zabył? Zapódajśo dołojce swóju e-mailowu adresu a " -"pósćelomy wam instrukcije za nastajenje nowego gronidła pśez e-mail." - -msgid "Email address:" -msgstr "E-mailowa adresa:" - -msgid "Reset my password" -msgstr "Mójo gronidło slědk stajiś" - -msgid "All dates" -msgstr "Wšykne daty" - -#, python-format -msgid "Select %s" -msgstr "%s wubraś" - -#, python-format -msgid "Select %s to change" -msgstr "%s wubraś, aby se změniło" - -#, python-format -msgid "Select %s to view" -msgstr "%s wubraś, kótaryž ma se pokazaś" - -msgid "Date:" -msgstr "Datum:" - -msgid "Time:" -msgstr "Cas:" - -msgid "Lookup" -msgstr "Pytanje" - -msgid "Currently:" -msgstr "Tuchylu:" - -msgid "Change:" -msgstr "Změniś:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/dsb/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/dsb/LC_MESSAGES/djangojs.mo deleted file mode 100644 index a2ef5043..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/dsb/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/dsb/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/dsb/LC_MESSAGES/djangojs.po deleted file mode 100644 index dfd184c4..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/dsb/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,225 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Michael Wolf , 2016,2020 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-11 20:56+0200\n" -"PO-Revision-Date: 2020-05-28 20:05+0000\n" -"Last-Translator: Michael Wolf \n" -"Language-Team: Lower Sorbian (http://www.transifex.com/django/django/" -"language/dsb/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: dsb\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" -"%100==4 ? 2 : 3);\n" - -#, javascript-format -msgid "Available %s" -msgstr "K dispoziciji stojece %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"To jo lisćina k dispoziciji stojecych %s. Klikniśo na šypku „Wubraś“ mjazy " -"kašćikoma, aby někotare z nich w slědujucem kašćiku wubrał. " - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "" -"Zapišćo do toś togo póla, aby zapiski z lisćiny k dispoziciji stojecych %s " -"wufiltrował. " - -msgid "Filter" -msgstr "Filtrowaś" - -msgid "Choose all" -msgstr "Wšykne wubraś" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Klikniśo, aby wšykne %s naraz wubrał." - -msgid "Choose" -msgstr "Wubraś" - -msgid "Remove" -msgstr "Wótpóraś" - -#, javascript-format -msgid "Chosen %s" -msgstr "Wubrane %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"To jo lisćina wubranych %s. Klikniśo na šypku „Wótpóraś“ mjazy kašćikoma, " -"aby někotare z nich w slědujucem kašćiku wótpórał." - -msgid "Remove all" -msgstr "Wšykne wótpóraś" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Klikniśo, aby wšykne wubrane %s naraz wótpórał." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(sel)s z %(cnt)s wubrany" -msgstr[1] "%(sel)s z %(cnt)s wubranej" -msgstr[2] "%(sel)s z %(cnt)s wubrane" -msgstr[3] "%(sel)s z %(cnt)s wubranych" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Maśo njeskładowane změny za jadnotliwe wobźěłujobne póla. Jolic akciju " -"wuwjeźośo, se waše njeskładowane změny zgubiju." - -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 "" -"Sćo akciju wubrał, ale njejsćo hyšći swóje změny za jadnotliwe póla " -"składował, Pšosym klikniśo na W pórěźe, aby składował. Musyśo akciju znowego " -"wuwjasć." - -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 "" -"Sćo akciju wubrał, ale njejsćo jadnotliwe póla změnił. Nejskerjej pytaśo " -"skerjej za tłocaškom Start ako za tłocaškom Składowaś." - -msgid "Now" -msgstr "Něnto" - -msgid "Midnight" -msgstr "Połnoc" - -msgid "6 a.m." -msgstr "6:00 góź. dopołdnja" - -msgid "Noon" -msgstr "Połdnjo" - -msgid "6 p.m." -msgstr "6:00 wótpołdnja" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Glědajśo: Waš cas jo wó %s góźinu pśéd serwerowym casom." -msgstr[1] "Glědajśo: Waš cas jo wó %s góźinje pśéd serwerowym casom." -msgstr[2] "Glědajśo: Waš cas jo wó %s góźiny pśéd serwerowym casom." -msgstr[3] "Glědajśo: Waš cas jo wó %s góźin pśéd serwerowym casom." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Glědajśo: Waš cas jo wó %s góźinu za serwerowym casom." -msgstr[1] "Glědajśo: Waš cas jo wó %s góźinje za serwerowym casom." -msgstr[2] "Glědajśo: Waš cas jo wó %s góźiny za serwerowym casom." -msgstr[3] "Glědajśo: Waš cas jo wó %s góźin za serwerowym casom." - -msgid "Choose a Time" -msgstr "Wubjeŕśo cas" - -msgid "Choose a time" -msgstr "Wubjeŕśo cas" - -msgid "Cancel" -msgstr "Pśetergnuś" - -msgid "Today" -msgstr "Źinsa" - -msgid "Choose a Date" -msgstr "Wubjeŕśo datum" - -msgid "Yesterday" -msgstr "Cora" - -msgid "Tomorrow" -msgstr "Witśe" - -msgid "January" -msgstr "Januar" - -msgid "February" -msgstr "Februar" - -msgid "March" -msgstr "Měrc" - -msgid "April" -msgstr "Apryl" - -msgid "May" -msgstr "Maj" - -msgid "June" -msgstr "Junij" - -msgid "July" -msgstr "Julij" - -msgid "August" -msgstr "Awgust" - -msgid "September" -msgstr "September" - -msgid "October" -msgstr "Oktober" - -msgid "November" -msgstr "Nowember" - -msgid "December" -msgstr "December" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "Nj" - -msgctxt "one letter Monday" -msgid "M" -msgstr "Pó" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "Wa" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "Sr" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "St" - -msgctxt "one letter Friday" -msgid "F" -msgstr "Pě" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "So" - -msgid "Show" -msgstr "Pokazaś" - -msgid "Hide" -msgstr "Schowaś" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/el/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/el/LC_MESSAGES/django.mo deleted file mode 100644 index 0ae1e165..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/el/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/el/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/el/LC_MESSAGES/django.po deleted file mode 100644 index 1574e807..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/el/LC_MESSAGES/django.po +++ /dev/null @@ -1,738 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Dimitris Glezos , 2011 -# Giannis Meletakis , 2015 -# Jannis Leidel , 2011 -# Nick Mavrakis , 2017-2018 -# Nick Mavrakis , 2016 -# Pãnoș , 2014 -# Pãnoș , 2016,2019 -# Yorgos Pagles , 2011-2012 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-01-16 20:42+0100\n" -"PO-Revision-Date: 2019-01-25 19:38+0000\n" -"Last-Translator: Pãnoș \n" -"Language-Team: Greek (http://www.transifex.com/django/django/language/el/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: el\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "Επιτυχώς διεγράφησαν %(count)d %(items)s." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "Αδύνατη η διαγραφή του %(name)s" - -msgid "Are you sure?" -msgstr "Είστε σίγουροι;" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Διαγραφή επιλεγμένων %(verbose_name_plural)s" - -msgid "Administration" -msgstr "Διαχείριση" - -msgid "All" -msgstr "Όλα" - -msgid "Yes" -msgstr "Ναι" - -msgid "No" -msgstr "Όχι" - -msgid "Unknown" -msgstr "Άγνωστο" - -msgid "Any date" -msgstr "Οποιαδήποτε ημερομηνία" - -msgid "Today" -msgstr "Σήμερα" - -msgid "Past 7 days" -msgstr "Τελευταίες 7 ημέρες" - -msgid "This month" -msgstr "Αυτόν το μήνα" - -msgid "This year" -msgstr "Αυτόν το χρόνο" - -msgid "No date" -msgstr "Καθόλου ημερομηνία" - -msgid "Has date" -msgstr "Έχει ημερομηνία" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Παρακαλώ εισάγετε το σωστό %(username)s και κωδικό για λογαριασμό " -"προσωπικού. Σημειώστε οτι και στα δύο πεδία μπορεί να έχει σημασία αν είναι " -"κεφαλαία ή μικρά. " - -msgid "Action:" -msgstr "Ενέργεια:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Προσθήκη και άλλου %(verbose_name)s" - -msgid "Remove" -msgstr "Αφαίρεση" - -msgid "Addition" -msgstr "Προσθήκη" - -msgid "Change" -msgstr "Αλλαγή" - -msgid "Deletion" -msgstr "Διαγραφή" - -msgid "action time" -msgstr "ώρα ενέργειας" - -msgid "user" -msgstr "χρήστης" - -msgid "content type" -msgstr "τύπος περιεχομένου" - -msgid "object id" -msgstr "ταυτότητα αντικειμένου" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "αναπαράσταση αντικειμένου" - -msgid "action flag" -msgstr "σημαία ενέργειας" - -msgid "change message" -msgstr "αλλαγή μηνύματος" - -msgid "log entry" -msgstr "εγγραφή καταγραφής" - -msgid "log entries" -msgstr "εγγραφές καταγραφής" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "Προστέθηκαν \"%(object)s\"." - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "Αλλάχθηκαν \"%(object)s\" - %(changes)s" - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "Διαγράφηκαν \"%(object)s.\"" - -msgid "LogEntry Object" -msgstr "Αντικείμενο LogEntry" - -#, python-brace-format -msgid "Added {name} \"{object}\"." -msgstr "Προστέθηκε {name} \"{object}\"." - -msgid "Added." -msgstr "Προστέθηκε" - -msgid "and" -msgstr "και" - -#, python-brace-format -msgid "Changed {fields} for {name} \"{object}\"." -msgstr "Αλλαγή του {fields} για {name} \"{object}\"." - -#, python-brace-format -msgid "Changed {fields}." -msgstr "Αλλαγή του {fields}." - -#, python-brace-format -msgid "Deleted {name} \"{object}\"." -msgstr "Διαγραφή {name} \"{object}\"." - -msgid "No fields changed." -msgstr "Δεν άλλαξε κανένα πεδίο." - -msgid "None" -msgstr "Κανένα" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" -"Κρατήστε πατημένο το \"Control\", ή το \"Command\" αν έχετε Mac, για να " -"επιλέξετε παραπάνω από ένα." - -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "Το {name} \"{obj}\" αποθηκεύτηκε με επιτυχία." - -msgid "You may edit it again below." -msgstr "Μπορείτε να το επεξεργαστείτε ξανά παρακάτω." - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may add another {name} " -"below." -msgstr "" -"Το {name} \"{obj}\" προστέθηκε με επιτυχία. Μπορείτε να προσθέσετε και άλλο " -"{name} παρακάτω." - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." -msgstr "" -"Το {name} \"{obj}\" αλλάχθηκε επιτυχώς. Μπορείτε να το επεξεργαστείτε ξανά " -"παρακάτω." - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" -"Το {name} \"{obj}\" προστέθηκε με επιτυχία. Μπορείτε να το επεξεργαστείτε " -"πάλι παρακάτω." - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may add another {name} " -"below." -msgstr "" -"Το {name} \"{obj}\" αλλάχθηκε με επιτυχία. Μπορείτε να προσθέσετε και άλλο " -"{name} παρακάτω." - -#, python-brace-format -msgid "The {name} \"{obj}\" was changed successfully." -msgstr "Το {name} \"{obj}\" αλλάχθηκε με επιτυχία." - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Καμμία αλλαγή δεν έχει πραγματοποιηθεί ακόμα γιατί δεν έχετε επιλέξει κανένα " -"αντικείμενο. Πρέπει να επιλέξετε ένα ή περισσότερα αντικείμενα για να " -"πραγματοποιήσετε ενέργειες σε αυτά." - -msgid "No action selected." -msgstr "Δεν έχει επιλεγεί ενέργεια." - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "Το %(name)s \"%(obj)s\" διαγράφηκε με επιτυχία." - -#, python-format -msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" -msgstr "%(name)s με το ID \"%(key)s\" δεν υπάρχει. Μήπως διαγράφηκε;" - -#, python-format -msgid "Add %s" -msgstr "Προσθήκη %s" - -#, python-format -msgid "Change %s" -msgstr "Αλλαγή του %s" - -#, python-format -msgid "View %s" -msgstr "Προβολή %s" - -msgid "Database error" -msgstr "Σφάλμα βάσεως δεδομένων" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s άλλαξε επιτυχώς." -msgstr[1] "%(count)s %(name)s άλλαξαν επιτυχώς." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "Επιλέχθηκε %(total_count)s" -msgstr[1] "Επιλέχθηκαν και τα %(total_count)s" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "Επιλέγησαν 0 από %(cnt)s" - -#, python-format -msgid "Change history: %s" -msgstr "Ιστορικό αλλαγών: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"Η διαγραφή %(class_name)s %(instance)s θα απαιτούσε την διαγραφή των " -"ακόλουθων προστατευόμενων συγγενεύων αντικειμένων: %(related_objects)s" - -msgid "Django site admin" -msgstr "Ιστότοπος διαχείρισης Django" - -msgid "Django administration" -msgstr "Διαχείριση Django" - -msgid "Site administration" -msgstr "Διαχείριση του ιστότοπου" - -msgid "Log in" -msgstr "Σύνδεση" - -#, python-format -msgid "%(app)s administration" -msgstr "Διαχείριση %(app)s" - -msgid "Page not found" -msgstr "Η σελίδα δε βρέθηκε" - -msgid "We're sorry, but the requested page could not be found." -msgstr "Λυπόμαστε, αλλά η σελίδα που ζητήθηκε δε μπόρεσε να βρεθεί." - -msgid "Home" -msgstr "Αρχική" - -msgid "Server error" -msgstr "Σφάλμα εξυπηρετητή" - -msgid "Server error (500)" -msgstr "Σφάλμα εξυπηρετητή (500)" - -msgid "Server Error (500)" -msgstr "Σφάλμα εξυπηρετητή (500)" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"Υπήρξε ένα σφάλμα. Έχει αναφερθεί στους διαχειριστές της σελίδας μέσω email, " -"και λογικά θα διορθωθεί αμεσα. Ευχαριστούμε για την υπομονή σας." - -msgid "Run the selected action" -msgstr "Εκτέλεση της επιλεγμένης ενέργειας" - -msgid "Go" -msgstr "Μετάβαση" - -msgid "Click here to select the objects across all pages" -msgstr "Κάντε κλικ εδώ για να επιλέξετε τα αντικείμενα σε όλες τις σελίδες" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Επιλέξτε και τα %(total_count)s %(module_name)s" - -msgid "Clear selection" -msgstr "Καθαρισμός επιλογής" - -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" -"Αρχικά εισάγετε το όνομα χρήστη και τον κωδικό πρόσβασης. Μετά την " -"ολοκλήρωση αυτού του βήματος θα έχετε την επιλογή να προσθέσετε όλα τα " -"υπόλοιπα στοιχεία για τον χρήστη." - -msgid "Enter a username and password." -msgstr "Εισάγετε όνομα χρήστη και συνθηματικό." - -msgid "Change password" -msgstr "Αλλαγή συνθηματικού" - -msgid "Please correct the error below." -msgstr "Παρακαλούμε διορθώστε το παρακάτω λάθος." - -msgid "Please correct the errors below." -msgstr "Παρακαλοϋμε διορθώστε τα παρακάτω λάθη." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "" -"Εισάγετε ένα νέο κωδικό πρόσβασης για τον χρήστη %(username)s." - -msgid "Welcome," -msgstr "Καλωσήρθατε," - -msgid "View site" -msgstr "Δες την εφαρμογή" - -msgid "Documentation" -msgstr "Τεκμηρίωση" - -msgid "Log out" -msgstr "Αποσύνδεση" - -#, python-format -msgid "Add %(name)s" -msgstr "Προσθήκη %(name)s" - -msgid "History" -msgstr "Ιστορικό" - -msgid "View on site" -msgstr "Προβολή στον ιστότοπο" - -msgid "Filter" -msgstr "Φίλτρο" - -msgid "Remove from sorting" -msgstr "Αφαίρεση από την ταξινόμηση" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Προτεραιότητα ταξινόμησης: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Εναλλαγή ταξινόμησης" - -msgid "Delete" -msgstr "Διαγραφή" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Επιλέξατε την διαγραφή του αντικειμένου '%(escaped_object)s' είδους " -"%(object_name)s. Αυτό συνεπάγεται την διαγραφή συσχετισμένων αντικειμενων " -"για τα οποία δεν έχετε δικάιωμα διαγραφής. Τα είδη των αντικειμένων αυτών " -"είναι:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"Η διαγραφή του %(object_name)s '%(escaped_object)s' απαιτεί την διαγραφή " -"των παρακάτω προστατευμένων αντικειμένων:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Επιβεβαιώστε ότι επιθημείτε την διαγραφή του %(object_name)s " -"\"%(escaped_object)s\". Αν προχωρήσετε με την διαγραφή όλα τα παρακάτω " -"συσχετισμένα αντικείμενα θα διαγραφούν επίσης:" - -msgid "Objects" -msgstr "Αντικείμενα" - -msgid "Yes, I'm sure" -msgstr "Ναι, είμαι βέβαιος" - -msgid "No, take me back" -msgstr "Όχι, επέστρεψε με πίσω." - -msgid "Delete multiple objects" -msgstr "Διαγραφή πολλαπλών αντικειμένων" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Η διαγραφή των επιλεγμένων %(objects_name)s θα είχε σαν αποτέλεσμα την " -"διαγραφή συσχετισμένων αντικειμένων για τα οποία δεν έχετε το διακαίωμα " -"διαγραφής:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Η διαγραφή των επιλεγμένων %(objects_name)s απαιτεί την διαγραφή των " -"παρακάτω προστατευμένων αντικειμένων:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Επιβεβαιώστε ότι επιθημείτε την διαγραφή των επιλεγμένων %(objects_name)s . " -"Αν προχωρήσετε με την διαγραφή όλα τα παρακάτω συσχετισμένα αντικείμενα θα " -"διαγραφούν επίσης:" - -msgid "View" -msgstr "Προβολή" - -msgid "Delete?" -msgstr "Διαγραφή;" - -#, python-format -msgid " By %(filter_title)s " -msgstr " Ανά %(filter_title)s " - -msgid "Summary" -msgstr "Περίληψη" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "Μοντέλα στην εφαρμογή %(name)s" - -msgid "Add" -msgstr "Προσθήκη" - -msgid "You don't have permission to view or edit anything." -msgstr "Δεν έχετε δικαίωμα να δείτε ή να επεξεργαστείτε τίποτα." - -msgid "Recent actions" -msgstr "Πρόσφατες ενέργειες" - -msgid "My actions" -msgstr "Οι ενέργειες μου" - -msgid "None available" -msgstr "Κανένα διαθέσιμο" - -msgid "Unknown content" -msgstr "Άγνωστο περιεχόμενο" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Φαίνεται να υπάρχει πρόβλημα με την εγκατάσταση της βάσης σας. Θα πρέπει να " -"βεβαιωθείτε ότι οι απαραίτητοι πίνακες έχουν δημιουργηθεί και ότι η βάση " -"είναι προσβάσιμη από τον αντίστοιχο χρήστη που έχετε δηλώσει." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"Επικυρωθήκατε ως %(username)s, αλλά δεν έχετε εξουσιοδότηση για αυτή την " -"σελίδα. Θέλετε να συνδεθείτε με άλλο λογαριασμό;" - -msgid "Forgotten your password or username?" -msgstr "Ξεχάσατε το συνθηματικό ή το όνομα χρήστη σας;" - -msgid "Date/time" -msgstr "Ημερομηνία/ώρα" - -msgid "User" -msgstr "Χρήστης" - -msgid "Action" -msgstr "Ενέργεια" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" -"Δεν υπάρχει ιστορικό αλλαγών γι' αυτό το αντικείμενο. Είναι πιθανό η " -"προσθήκη του να μην πραγματοποιήθηκε χρησιμοποιώντας το διαχειριστικό." - -msgid "Show all" -msgstr "Εμφάνιση όλων" - -msgid "Save" -msgstr "Αποθήκευση" - -msgid "Popup closing…" -msgstr "Κλείσιμο popup..." - -msgid "Search" -msgstr "Αναζήτηση" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s αποτέλεσμα" -msgstr[1] "%(counter)s αποτελέσματα" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s συνολικά" - -msgid "Save as new" -msgstr "Αποθήκευση ως νέο" - -msgid "Save and add another" -msgstr "Αποθήκευση και προσθήκη καινούριου" - -msgid "Save and continue editing" -msgstr "Αποθήκευση και συνέχεια επεξεργασίας" - -msgid "Save and view" -msgstr "Αποθήκευση και προβολή" - -msgid "Close" -msgstr "Κλείσιμο" - -#, python-format -msgid "Change selected %(model)s" -msgstr "Άλλαξε το επιλεγμένο %(model)s" - -#, python-format -msgid "Add another %(model)s" -msgstr "Πρόσθεσε άλλο ένα %(model)s" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Διέγραψε το επιλεγμένο %(model)s" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Ευχαριστούμε που διαθέσατε κάποιο ποιοτικό χρόνο στον ιστότοπο σήμερα." - -msgid "Log in again" -msgstr "Επανασύνδεση" - -msgid "Password change" -msgstr "Αλλαγή συνθηματικού" - -msgid "Your password was changed." -msgstr "Το συνθηματικό σας αλλάχθηκε." - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Παρακαλούμε εισάγετε το παλιό σας συνθηματικό, για λόγους ασφάλειας, και " -"κατόπιν εισάγετε το νέο σας συνθηματικό δύο φορές ούτως ώστε να " -"πιστοποιήσουμε ότι το πληκτρολογήσατε σωστά." - -msgid "Change my password" -msgstr "Αλλαγή του συνθηματικού μου" - -msgid "Password reset" -msgstr "Επαναφορά συνθηματικού" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "" -"Ορίσατε επιτυχώς έναν κωδικό πρόσβασής. Πλέον έχετε την δυνατότητα να " -"συνδεθήτε." - -msgid "Password reset confirmation" -msgstr "Επιβεβαίωση επαναφοράς κωδικού πρόσβασης" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Παρακαλούμε πληκτρολογήστε το νέο κωδικό πρόσβασης δύο φορές ώστε να " -"βεβαιωθούμε ότι δεν πληκτρολογήσατε κάποιον χαρακτήρα λανθασμένα." - -msgid "New password:" -msgstr "Νέο συνθηματικό:" - -msgid "Confirm password:" -msgstr "Επιβεβαίωση συνθηματικού:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Ο σύνδεσμος που χρησιμοποιήσατε για την επαναφορά του κωδικού πρόσβασης δεν " -"είναι πλεόν διαθέσιμος. Πιθανώς έχει ήδη χρησιμοποιηθεί. Θα χρειαστεί να " -"πραγματοποιήσετε και πάλι την διαδικασία αίτησης επαναφοράς του κωδικού " -"πρόσβασης." - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Σας έχουμε αποστείλει οδηγίες σχετικά με τον ορισμό του κωδικού σας, αν " -"υπάρχει ήδη κάποιος λογαριασμός με την διεύθυνση ηλεκτρονικού ταχυδρομείου " -"που δηλώσατε. Θα λάβετε τις οδηγίες σύντομα." - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Εάν δεν λάβετε email, παρακαλούμε σιγουρευτείτε οτί έχετε εισάγει την " -"διεύθυνση με την οποία έχετε εγγραφεί, και ελέγξτε τον φάκελο με τα " -"ανεπιθύμητα." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"Λαμβάνετε αυτό το email επειδή ζητήσατε επαναφορά κωδικού για τον λογαριασμό " -"σας στο %(site_name)s." - -msgid "Please go to the following page and choose a new password:" -msgstr "" -"Παρακαλούμε επισκεφθήτε την ακόλουθη σελίδα και επιλέξτε ένα νέο κωδικό " -"πρόσβασης: " - -msgid "Your username, in case you've forgotten:" -msgstr "" -"Το όνομα χρήστη με το οποίο είστε καταχωρημένος για την περίπτωση στην οποία " -"το έχετε ξεχάσει:" - -msgid "Thanks for using our site!" -msgstr "Ευχαριστούμε που χρησιμοποιήσατε τον ιστότοπο μας!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "Η ομάδα του %(site_name)s" - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" -"Ξεχάσατε τον κωδικό σας; Εισάγετε το email σας παρακάτω, και θα σας " -"αποστείλουμε οδηγίες για να ρυθμίσετε εναν καινούργιο." - -msgid "Email address:" -msgstr "Ηλεκτρονική διεύθυνση:" - -msgid "Reset my password" -msgstr "Επαναφορά του συνθηματικού μου" - -msgid "All dates" -msgstr "Όλες οι ημερομηνίες" - -#, python-format -msgid "Select %s" -msgstr "Επιλέξτε %s" - -#, python-format -msgid "Select %s to change" -msgstr "Επιλέξτε %s προς αλλαγή" - -#, python-format -msgid "Select %s to view" -msgstr "Επιλέξτε %s για προβολή" - -msgid "Date:" -msgstr "Ημ/νία:" - -msgid "Time:" -msgstr "Ώρα:" - -msgid "Lookup" -msgstr "Αναζήτηση" - -msgid "Currently:" -msgstr "Τώρα:" - -msgid "Change:" -msgstr "Επεξεργασία:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/el/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/el/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 5da3e884..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/el/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/el/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/el/LC_MESSAGES/djangojs.po deleted file mode 100644 index 223eccb8..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/el/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,223 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Dimitris Glezos , 2011 -# glogiotatidis , 2011 -# Jannis Leidel , 2011 -# Nikolas Demiridis , 2014 -# Nick Mavrakis , 2016 -# Pãnoș , 2014 -# Pãnoș , 2016 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" -"PO-Revision-Date: 2017-09-23 19:47+0000\n" -"Last-Translator: Nick Mavrakis \n" -"Language-Team: Greek (http://www.transifex.com/django/django/language/el/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: el\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "Διαθέσιμο %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Αυτή είναι η λίστα των διαθέσιμων %s. Μπορείτε να επιλέξετε κάποια, από το " -"παρακάτω πεδίο και πατώντας το βέλος \"Επιλογή\" μεταξύ των δύο πεδίων." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "" -"Πληκτρολογήστε σε αυτό το πεδίο για να φιλτράρετε τη λίστα των διαθέσιμων %s." - -msgid "Filter" -msgstr "Φίλτρο" - -msgid "Choose all" -msgstr "Επιλογή όλων" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Πατήστε για επιλογή όλων των %s με τη μία." - -msgid "Choose" -msgstr "Επιλογή" - -msgid "Remove" -msgstr "Αφαίρεση" - -#, javascript-format -msgid "Chosen %s" -msgstr "Επιλέχθηκε %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Αυτή είναι η λίστα των επιλεγμένων %s. Μπορείτε να αφαιρέσετε μερικά " -"επιλέγοντας τα απο το κουτί παρακάτω και μετά κάνοντας κλίκ στο βελάκι " -"\"Αφαίρεση\" ανάμεσα στα δύο κουτιά." - -msgid "Remove all" -msgstr "Αφαίρεση όλων" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Κλίκ για να αφαιρεθούν όλα τα επιλεγμένα %s με τη μία." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(sel)s από %(cnt)s επιλεγμένα" -msgstr[1] "%(sel)s από %(cnt)s επιλεγμένα" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Έχετε μη αποθηκευμένες αλλαγές σε μεμονωμένα επεξεργάσιμα πεδία. Άν " -"εκτελέσετε μια ενέργεια, οι μη αποθηκευμένες αλλάγες θα χαθούν" - -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 "" -"Έχετε επιλέξει μια ενέργεια, αλλά δεν έχετε αποθηκεύσει τις αλλαγές στα " -"εκάστωτε πεδία ακόμα. Παρακαλώ πατήστε ΟΚ για να τις αποθηκεύσετε. Θα " -"χρειαστεί να εκτελέσετε ξανά την ενέργεια." - -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 "" -"Έχετε επιλέξει μια ενέργεια, και δεν έχετε κάνει καμία αλλαγή στα εκάστοτε " -"πεδία. Πιθανών θέλετε το κουμπί Go αντί του κουμπιού Αποθήκευσης." - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Σημείωση: Είστε %s ώρα μπροστά από την ώρα του εξυπηρετητή." -msgstr[1] "Σημείωση: Είστε %s ώρες μπροστά από την ώρα του εξυπηρετητή." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Σημείωση: Είστε %s ώρα πίσω από την ώρα του εξυπηρετητή" -msgstr[1] "Σημείωση: Είστε %s ώρες πίσω από την ώρα του εξυπηρετητή." - -msgid "Now" -msgstr "Τώρα" - -msgid "Choose a Time" -msgstr "Επιλέξτε Χρόνο" - -msgid "Choose a time" -msgstr "Επιλέξτε χρόνο" - -msgid "Midnight" -msgstr "Μεσάνυχτα" - -msgid "6 a.m." -msgstr "6 π.μ." - -msgid "Noon" -msgstr "Μεσημέρι" - -msgid "6 p.m." -msgstr "6 μ.μ." - -msgid "Cancel" -msgstr "Ακύρωση" - -msgid "Today" -msgstr "Σήμερα" - -msgid "Choose a Date" -msgstr "Επιλέξτε μια Ημερομηνία" - -msgid "Yesterday" -msgstr "Χθές" - -msgid "Tomorrow" -msgstr "Αύριο" - -msgid "January" -msgstr "Ιανουάριος" - -msgid "February" -msgstr "Φεβρουάριος" - -msgid "March" -msgstr "Μάρτιος" - -msgid "April" -msgstr "Απρίλιος" - -msgid "May" -msgstr "Μάιος" - -msgid "June" -msgstr "Ιούνιος" - -msgid "July" -msgstr "Ιούλιος" - -msgid "August" -msgstr "Αύγουστος" - -msgid "September" -msgstr "Σεπτέμβριος" - -msgid "October" -msgstr "Οκτώβριος" - -msgid "November" -msgstr "Νοέμβριος" - -msgid "December" -msgstr "Δεκέμβριος" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "Κ" - -msgctxt "one letter Monday" -msgid "M" -msgstr "Δ" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "Τ" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "Τ" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "Π" - -msgctxt "one letter Friday" -msgid "F" -msgstr "Π" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "Σ" - -msgid "Show" -msgstr "Προβολή" - -msgid "Hide" -msgstr "Απόκρυψη" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/en/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/en/LC_MESSAGES/django.mo deleted file mode 100644 index 08a7b685..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/en/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/en/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/en/LC_MESSAGES/django.po deleted file mode 100644 index 137b85c1..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/en/LC_MESSAGES/django.po +++ /dev/null @@ -1,900 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -msgid "" -msgstr "" -"Project-Id-Version: Django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-14 19:53+0200\n" -"PO-Revision-Date: 2010-05-13 15:35+0200\n" -"Last-Translator: Django team\n" -"Language-Team: English \n" -"Language: en\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: contrib/admin/actions.py:41 -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "" - -#: contrib/admin/actions.py:50 contrib/admin/options.py:1883 -#, python-format -msgid "Cannot delete %(name)s" -msgstr "" - -#: contrib/admin/actions.py:52 contrib/admin/options.py:1885 -msgid "Are you sure?" -msgstr "" - -#: contrib/admin/actions.py:79 -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "" - -#: contrib/admin/apps.py:12 -msgid "Administration" -msgstr "" - -#: contrib/admin/filters.py:108 contrib/admin/filters.py:213 -#: contrib/admin/filters.py:248 contrib/admin/filters.py:282 -#: contrib/admin/filters.py:401 contrib/admin/filters.py:466 -msgid "All" -msgstr "" - -#: contrib/admin/filters.py:249 -msgid "Yes" -msgstr "" - -#: contrib/admin/filters.py:250 -msgid "No" -msgstr "" - -#: contrib/admin/filters.py:260 -msgid "Unknown" -msgstr "" - -#: contrib/admin/filters.py:330 -msgid "Any date" -msgstr "" - -#: contrib/admin/filters.py:331 -msgid "Today" -msgstr "" - -#: contrib/admin/filters.py:335 -msgid "Past 7 days" -msgstr "" - -#: contrib/admin/filters.py:339 -msgid "This month" -msgstr "" - -#: contrib/admin/filters.py:343 -msgid "This year" -msgstr "" - -#: contrib/admin/filters.py:351 -msgid "No date" -msgstr "" - -#: contrib/admin/filters.py:352 -msgid "Has date" -msgstr "" - -#: contrib/admin/filters.py:467 -msgid "Empty" -msgstr "" - -#: contrib/admin/filters.py:468 -msgid "Not empty" -msgstr "" - -#: contrib/admin/forms.py:13 -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" - -#: contrib/admin/helpers.py:21 -msgid "Action:" -msgstr "" - -#: contrib/admin/helpers.py:312 -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "" - -#: contrib/admin/helpers.py:315 -msgid "Remove" -msgstr "" - -#: contrib/admin/models.py:17 -msgid "Addition" -msgstr "" - -#: contrib/admin/models.py:18 contrib/admin/templates/admin/app_list.html:28 -#: contrib/admin/templates/admin/edit_inline/stacked.html:12 -#: contrib/admin/templates/admin/edit_inline/tabular.html:34 -#: contrib/admin/templates/admin/widgets/related_widget_wrapper.html:11 -msgid "Change" -msgstr "" - -#: contrib/admin/models.py:19 -msgid "Deletion" -msgstr "" - -#: contrib/admin/models.py:41 -msgid "action time" -msgstr "" - -#: contrib/admin/models.py:48 -msgid "user" -msgstr "" - -#: contrib/admin/models.py:53 -msgid "content type" -msgstr "" - -#: contrib/admin/models.py:56 -msgid "object id" -msgstr "" - -#. Translators: 'repr' means representation (https://docs.python.org/library/functions.html#repr) -#: contrib/admin/models.py:58 -msgid "object repr" -msgstr "" - -#: contrib/admin/models.py:59 -msgid "action flag" -msgstr "" - -#: contrib/admin/models.py:61 -msgid "change message" -msgstr "" - -#: contrib/admin/models.py:66 -msgid "log entry" -msgstr "" - -#: contrib/admin/models.py:67 -msgid "log entries" -msgstr "" - -#: contrib/admin/models.py:76 -#, python-format -msgid "Added “%(object)s”." -msgstr "" - -#: contrib/admin/models.py:78 -#, python-format -msgid "Changed “%(object)s” — %(changes)s" -msgstr "" - -#: contrib/admin/models.py:83 -#, python-format -msgid "Deleted “%(object)s.”" -msgstr "" - -#: contrib/admin/models.py:85 -msgid "LogEntry Object" -msgstr "" - -#: contrib/admin/models.py:111 -#, python-brace-format -msgid "Added {name} “{object}”." -msgstr "" - -#: contrib/admin/models.py:113 -msgid "Added." -msgstr "" - -#: contrib/admin/models.py:117 contrib/admin/options.py:2109 -msgid "and" -msgstr "" - -#: contrib/admin/models.py:121 -#, python-brace-format -msgid "Changed {fields} for {name} “{object}”." -msgstr "" - -#: contrib/admin/models.py:125 -#, python-brace-format -msgid "Changed {fields}." -msgstr "" - -#: contrib/admin/models.py:129 -#, python-brace-format -msgid "Deleted {name} “{object}”." -msgstr "" - -#: contrib/admin/models.py:132 -msgid "No fields changed." -msgstr "" - -#: contrib/admin/options.py:201 contrib/admin/options.py:233 -msgid "None" -msgstr "" - -#: contrib/admin/options.py:279 -msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." -msgstr "" - -#: contrib/admin/options.py:1217 contrib/admin/options.py:1241 -#, python-brace-format -msgid "The {name} “{obj}” was added successfully." -msgstr "" - -#: contrib/admin/options.py:1219 -msgid "You may edit it again below." -msgstr "" - -#: contrib/admin/options.py:1231 -#, python-brace-format -msgid "" -"The {name} “{obj}” was added successfully. You may add another {name} below." -msgstr "" - -#: contrib/admin/options.py:1281 -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may edit it again below." -msgstr "" - -#: contrib/admin/options.py:1291 -#, python-brace-format -msgid "The {name} “{obj}” was added successfully. You may edit it again below." -msgstr "" - -#: contrib/admin/options.py:1304 -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may add another {name} " -"below." -msgstr "" - -#: contrib/admin/options.py:1316 -#, python-brace-format -msgid "The {name} “{obj}” was changed successfully." -msgstr "" - -#: contrib/admin/options.py:1393 contrib/admin/options.py:1725 -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" - -#: contrib/admin/options.py:1412 -msgid "No action selected." -msgstr "" - -#: contrib/admin/options.py:1437 -#, python-format -msgid "The %(name)s “%(obj)s” was deleted successfully." -msgstr "" - -#: contrib/admin/options.py:1523 -#, python-format -msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" -msgstr "" - -#: contrib/admin/options.py:1618 -#, python-format -msgid "Add %s" -msgstr "" - -#: contrib/admin/options.py:1620 -#, python-format -msgid "Change %s" -msgstr "" - -#: contrib/admin/options.py:1622 -#, python-format -msgid "View %s" -msgstr "" - -#: contrib/admin/options.py:1703 -msgid "Database error" -msgstr "" - -#: contrib/admin/options.py:1772 -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "" -msgstr[1] "" - -#: contrib/admin/options.py:1803 -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "" -msgstr[1] "" - -#: contrib/admin/options.py:1811 -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "" - -#: contrib/admin/options.py:1928 -#, python-format -msgid "Change history: %s" -msgstr "" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#: contrib/admin/options.py:2102 -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "" - -#: contrib/admin/options.py:2111 -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" - -#: contrib/admin/sites.py:42 contrib/admin/templates/admin/base_site.html:3 -msgid "Django site admin" -msgstr "" - -#: contrib/admin/sites.py:45 contrib/admin/templates/admin/base_site.html:6 -msgid "Django administration" -msgstr "" - -#: contrib/admin/sites.py:48 -msgid "Site administration" -msgstr "" - -#: contrib/admin/sites.py:395 contrib/admin/templates/admin/login.html:63 -#: contrib/admin/templates/registration/password_reset_complete.html:18 -#: contrib/admin/tests.py:135 -msgid "Log in" -msgstr "" - -#: contrib/admin/sites.py:524 -#, python-format -msgid "%(app)s administration" -msgstr "" - -#: contrib/admin/templates/admin/404.html:4 -#: contrib/admin/templates/admin/404.html:8 -msgid "Page not found" -msgstr "" - -#: contrib/admin/templates/admin/404.html:10 -msgid "We’re sorry, but the requested page could not be found." -msgstr "" - -#: contrib/admin/templates/admin/500.html:6 -#: contrib/admin/templates/admin/app_index.html:9 -#: contrib/admin/templates/admin/auth/user/change_password.html:13 -#: contrib/admin/templates/admin/base.html:64 -#: contrib/admin/templates/admin/change_form.html:18 -#: contrib/admin/templates/admin/change_list.html:31 -#: contrib/admin/templates/admin/delete_confirmation.html:14 -#: contrib/admin/templates/admin/delete_selected_confirmation.html:14 -#: contrib/admin/templates/admin/invalid_setup.html:6 -#: contrib/admin/templates/admin/object_history.html:6 -#: contrib/admin/templates/registration/logged_out.html:4 -#: contrib/admin/templates/registration/password_change_done.html:6 -#: contrib/admin/templates/registration/password_change_form.html:7 -#: contrib/admin/templates/registration/password_reset_complete.html:6 -#: contrib/admin/templates/registration/password_reset_confirm.html:7 -#: contrib/admin/templates/registration/password_reset_done.html:6 -#: contrib/admin/templates/registration/password_reset_form.html:7 -msgid "Home" -msgstr "" - -#: contrib/admin/templates/admin/500.html:7 -msgid "Server error" -msgstr "" - -#: contrib/admin/templates/admin/500.html:11 -msgid "Server error (500)" -msgstr "" - -#: contrib/admin/templates/admin/500.html:14 -msgid "Server Error (500)" -msgstr "" - -#: contrib/admin/templates/admin/500.html:15 -msgid "" -"There’s been an error. It’s been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" - -#: contrib/admin/templates/admin/actions.html:8 -msgid "Run the selected action" -msgstr "" - -#: contrib/admin/templates/admin/actions.html:8 -msgid "Go" -msgstr "" - -#: contrib/admin/templates/admin/actions.html:16 -msgid "Click here to select the objects across all pages" -msgstr "" - -#: contrib/admin/templates/admin/actions.html:16 -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "" - -#: contrib/admin/templates/admin/actions.html:18 -msgid "Clear selection" -msgstr "" - -#: contrib/admin/templates/admin/app_list.html:8 -#, python-format -msgid "Models in the %(name)s application" -msgstr "" - -#: contrib/admin/templates/admin/app_list.html:19 -#: contrib/admin/templates/admin/widgets/related_widget_wrapper.html:18 -msgid "Add" -msgstr "" - -#: contrib/admin/templates/admin/app_list.html:26 -#: contrib/admin/templates/admin/edit_inline/stacked.html:12 -#: contrib/admin/templates/admin/edit_inline/tabular.html:34 -msgid "View" -msgstr "" - -#: contrib/admin/templates/admin/app_list.html:39 -msgid "You don’t have permission to view or edit anything." -msgstr "" - -#: contrib/admin/templates/admin/auth/user/add_form.html:6 -msgid "" -"First, enter a username and password. Then, you’ll be able to edit more user " -"options." -msgstr "" - -#: contrib/admin/templates/admin/auth/user/add_form.html:8 -msgid "Enter a username and password." -msgstr "" - -#: contrib/admin/templates/admin/auth/user/change_password.html:17 -#: contrib/admin/templates/admin/auth/user/change_password.html:55 -#: contrib/admin/templates/admin/base.html:52 -#: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:4 -msgid "Change password" -msgstr "" - -#: contrib/admin/templates/admin/auth/user/change_password.html:28 -#: contrib/admin/templates/admin/change_form.html:43 -#: contrib/admin/templates/admin/change_list.html:51 -#: contrib/admin/templates/admin/login.html:23 -#: contrib/admin/templates/registration/password_change_form.html:21 -msgid "Please correct the error below." -msgstr "" - -#: contrib/admin/templates/admin/auth/user/change_password.html:28 -#: contrib/admin/templates/admin/change_form.html:43 -#: contrib/admin/templates/admin/change_list.html:51 -#: contrib/admin/templates/admin/login.html:23 -#: contrib/admin/templates/registration/password_change_form.html:21 -msgid "Please correct the errors below." -msgstr "" - -#: contrib/admin/templates/admin/auth/user/change_password.html:32 -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "" - -#: contrib/admin/templates/admin/base.html:38 -msgid "Welcome," -msgstr "" - -#: contrib/admin/templates/admin/base.html:43 -msgid "View site" -msgstr "" - -#: contrib/admin/templates/admin/base.html:48 -#: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:4 -msgid "Documentation" -msgstr "" - -#: contrib/admin/templates/admin/base.html:54 -#: contrib/admin/templates/registration/password_change_done.html:3 -#: contrib/admin/templates/registration/password_change_form.html:4 -msgid "Log out" -msgstr "" - -#: contrib/admin/templates/admin/change_form.html:21 -#: contrib/admin/templates/admin/change_list_object_tools.html:8 -#, python-format -msgid "Add %(name)s" -msgstr "" - -#: contrib/admin/templates/admin/change_form_object_tools.html:5 -#: contrib/admin/templates/admin/object_history.html:10 -msgid "History" -msgstr "" - -#: contrib/admin/templates/admin/change_form_object_tools.html:7 -#: contrib/admin/templates/admin/edit_inline/stacked.html:14 -#: contrib/admin/templates/admin/edit_inline/tabular.html:36 -msgid "View on site" -msgstr "" - -#: contrib/admin/templates/admin/change_list.html:62 -msgid "Filter" -msgstr "" - -#: contrib/admin/templates/admin/change_list.html:64 -msgid "Clear all filters" -msgstr "" - -#: contrib/admin/templates/admin/change_list_results.html:17 -msgid "Remove from sorting" -msgstr "" - -#: contrib/admin/templates/admin/change_list_results.html:18 -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "" - -#: contrib/admin/templates/admin/change_list_results.html:19 -msgid "Toggle sorting" -msgstr "" - -#: contrib/admin/templates/admin/delete_confirmation.html:18 -#: contrib/admin/templates/admin/submit_line.html:7 -#: contrib/admin/templates/admin/widgets/related_widget_wrapper.html:25 -msgid "Delete" -msgstr "" - -#: contrib/admin/templates/admin/delete_confirmation.html:24 -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" - -#: contrib/admin/templates/admin/delete_confirmation.html:31 -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" - -#: contrib/admin/templates/admin/delete_confirmation.html:38 -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" - -#: contrib/admin/templates/admin/delete_confirmation.html:40 -#: contrib/admin/templates/admin/delete_selected_confirmation.html:39 -msgid "Objects" -msgstr "" - -#: contrib/admin/templates/admin/delete_confirmation.html:47 -#: contrib/admin/templates/admin/delete_selected_confirmation.html:50 -msgid "Yes, I’m sure" -msgstr "" - -#: contrib/admin/templates/admin/delete_confirmation.html:48 -#: contrib/admin/templates/admin/delete_selected_confirmation.html:51 -msgid "No, take me back" -msgstr "" - -#: contrib/admin/templates/admin/delete_selected_confirmation.html:17 -msgid "Delete multiple objects" -msgstr "" - -#: contrib/admin/templates/admin/delete_selected_confirmation.html:23 -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" - -#: contrib/admin/templates/admin/delete_selected_confirmation.html:30 -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" - -#: contrib/admin/templates/admin/delete_selected_confirmation.html:37 -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" - -#: contrib/admin/templates/admin/edit_inline/tabular.html:20 -msgid "Delete?" -msgstr "" - -#: contrib/admin/templates/admin/filter.html:2 -#, python-format -msgid " By %(filter_title)s " -msgstr "" - -#: contrib/admin/templates/admin/includes/object_delete_summary.html:2 -msgid "Summary" -msgstr "" - -#: contrib/admin/templates/admin/index.html:23 -msgid "Recent actions" -msgstr "" - -#: contrib/admin/templates/admin/index.html:24 -msgid "My actions" -msgstr "" - -#: contrib/admin/templates/admin/index.html:28 -msgid "None available" -msgstr "" - -#: contrib/admin/templates/admin/index.html:42 -msgid "Unknown content" -msgstr "" - -#: contrib/admin/templates/admin/invalid_setup.html:12 -msgid "" -"Something’s wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" - -#: contrib/admin/templates/admin/login.html:39 -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" - -#: contrib/admin/templates/admin/login.html:59 -msgid "Forgotten your password or username?" -msgstr "" - -#: contrib/admin/templates/admin/nav_sidebar.html:2 -msgid "Toggle navigation" -msgstr "" - -#: contrib/admin/templates/admin/object_history.html:22 -msgid "Date/time" -msgstr "" - -#: contrib/admin/templates/admin/object_history.html:23 -msgid "User" -msgstr "" - -#: contrib/admin/templates/admin/object_history.html:24 -msgid "Action" -msgstr "" - -#: contrib/admin/templates/admin/object_history.html:38 -msgid "" -"This object doesn’t have a change history. It probably wasn’t added via this " -"admin site." -msgstr "" - -#: contrib/admin/templates/admin/pagination.html:10 -#: contrib/admin/templates/admin/search_form.html:9 -msgid "Show all" -msgstr "" - -#: contrib/admin/templates/admin/pagination.html:11 -#: contrib/admin/templates/admin/submit_line.html:4 -msgid "Save" -msgstr "" - -#: contrib/admin/templates/admin/popup_response.html:3 -msgid "Popup closing…" -msgstr "" - -#: contrib/admin/templates/admin/search_form.html:7 -msgid "Search" -msgstr "" - -#: contrib/admin/templates/admin/search_form.html:9 -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "" -msgstr[1] "" - -#: contrib/admin/templates/admin/search_form.html:9 -#, python-format -msgid "%(full_result_count)s total" -msgstr "" - -#: contrib/admin/templates/admin/submit_line.html:9 -msgid "Save as new" -msgstr "" - -#: contrib/admin/templates/admin/submit_line.html:10 -msgid "Save and add another" -msgstr "" - -#: contrib/admin/templates/admin/submit_line.html:11 -msgid "Save and continue editing" -msgstr "" - -#: contrib/admin/templates/admin/submit_line.html:11 -msgid "Save and view" -msgstr "" - -#: contrib/admin/templates/admin/submit_line.html:12 -msgid "Close" -msgstr "" - -#: contrib/admin/templates/admin/widgets/related_widget_wrapper.html:10 -#, python-format -msgid "Change selected %(model)s" -msgstr "" - -#: contrib/admin/templates/admin/widgets/related_widget_wrapper.html:17 -#, python-format -msgid "Add another %(model)s" -msgstr "" - -#: contrib/admin/templates/admin/widgets/related_widget_wrapper.html:24 -#, python-format -msgid "Delete selected %(model)s" -msgstr "" - -#: contrib/admin/templates/registration/logged_out.html:10 -msgid "Thanks for spending some quality time with the Web site today." -msgstr "" - -#: contrib/admin/templates/registration/logged_out.html:12 -msgid "Log in again" -msgstr "" - -#: contrib/admin/templates/registration/password_change_done.html:7 -#: contrib/admin/templates/registration/password_change_form.html:8 -msgid "Password change" -msgstr "" - -#: contrib/admin/templates/registration/password_change_done.html:14 -msgid "Your password was changed." -msgstr "" - -#: contrib/admin/templates/registration/password_change_form.html:26 -msgid "" -"Please enter your old password, for security’s sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" - -#: contrib/admin/templates/registration/password_change_form.html:54 -#: contrib/admin/templates/registration/password_reset_confirm.html:32 -msgid "Change my password" -msgstr "" - -#: contrib/admin/templates/registration/password_reset_complete.html:7 -#: contrib/admin/templates/registration/password_reset_done.html:7 -#: contrib/admin/templates/registration/password_reset_form.html:8 -msgid "Password reset" -msgstr "" - -#: contrib/admin/templates/registration/password_reset_complete.html:16 -msgid "Your password has been set. You may go ahead and log in now." -msgstr "" - -#: contrib/admin/templates/registration/password_reset_confirm.html:8 -msgid "Password reset confirmation" -msgstr "" - -#: contrib/admin/templates/registration/password_reset_confirm.html:18 -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" - -#: contrib/admin/templates/registration/password_reset_confirm.html:24 -msgid "New password:" -msgstr "" - -#: contrib/admin/templates/registration/password_reset_confirm.html:29 -msgid "Confirm password:" -msgstr "" - -#: contrib/admin/templates/registration/password_reset_confirm.html:38 -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" - -#: contrib/admin/templates/registration/password_reset_done.html:15 -msgid "" -"We’ve emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" - -#: contrib/admin/templates/registration/password_reset_done.html:17 -msgid "" -"If you don’t receive an email, please make sure you’ve entered the address " -"you registered with, and check your spam folder." -msgstr "" - -#: contrib/admin/templates/registration/password_reset_email.html:2 -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" - -#: contrib/admin/templates/registration/password_reset_email.html:4 -msgid "Please go to the following page and choose a new password:" -msgstr "" - -#: contrib/admin/templates/registration/password_reset_email.html:8 -msgid "Your username, in case you’ve forgotten:" -msgstr "" - -#: contrib/admin/templates/registration/password_reset_email.html:10 -msgid "Thanks for using our site!" -msgstr "" - -#: contrib/admin/templates/registration/password_reset_email.html:12 -#, python-format -msgid "The %(site_name)s team" -msgstr "" - -#: contrib/admin/templates/registration/password_reset_form.html:16 -msgid "" -"Forgotten your password? Enter your email address below, and we’ll email " -"instructions for setting a new one." -msgstr "" - -#: contrib/admin/templates/registration/password_reset_form.html:22 -msgid "Email address:" -msgstr "" - -#: contrib/admin/templates/registration/password_reset_form.html:25 -msgid "Reset my password" -msgstr "" - -#: contrib/admin/templatetags/admin_list.py:423 -msgid "All dates" -msgstr "" - -#: contrib/admin/views/main.py:100 -#, python-format -msgid "Select %s" -msgstr "" - -#: contrib/admin/views/main.py:102 -#, python-format -msgid "Select %s to change" -msgstr "" - -#: contrib/admin/views/main.py:104 -#, python-format -msgid "Select %s to view" -msgstr "" - -#: contrib/admin/widgets.py:87 -msgid "Date:" -msgstr "" - -#: contrib/admin/widgets.py:88 -msgid "Time:" -msgstr "" - -#: contrib/admin/widgets.py:150 -msgid "Lookup" -msgstr "" - -#: contrib/admin/widgets.py:340 -msgid "Currently:" -msgstr "" - -#: contrib/admin/widgets.py:341 -msgid "Change:" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/en/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/en/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 08a7b685..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/en/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/en/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/en/LC_MESSAGES/djangojs.po deleted file mode 100644 index ed5ee8d9..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/en/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,263 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -msgid "" -msgstr "" -"Project-Id-Version: Django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-11 20:56+0200\n" -"PO-Revision-Date: 2010-05-13 15:35+0200\n" -"Last-Translator: Django team\n" -"Language-Team: English \n" -"Language: en\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: contrib/admin/static/admin/js/SelectFilter2.js:38 -#, javascript-format -msgid "Available %s" -msgstr "" - -#: contrib/admin/static/admin/js/SelectFilter2.js:44 -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" - -#: contrib/admin/static/admin/js/SelectFilter2.js:60 -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "" - -#: contrib/admin/static/admin/js/SelectFilter2.js:65 -msgid "Filter" -msgstr "" - -#: contrib/admin/static/admin/js/SelectFilter2.js:69 -msgid "Choose all" -msgstr "" - -#: contrib/admin/static/admin/js/SelectFilter2.js:69 -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "" - -#: contrib/admin/static/admin/js/SelectFilter2.js:75 -msgid "Choose" -msgstr "" - -#: contrib/admin/static/admin/js/SelectFilter2.js:77 -msgid "Remove" -msgstr "" - -#: contrib/admin/static/admin/js/SelectFilter2.js:83 -#, javascript-format -msgid "Chosen %s" -msgstr "" - -#: contrib/admin/static/admin/js/SelectFilter2.js:89 -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" - -#: contrib/admin/static/admin/js/SelectFilter2.js:99 -msgid "Remove all" -msgstr "" - -#: contrib/admin/static/admin/js/SelectFilter2.js:99 -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "" - -#: contrib/admin/static/admin/js/actions.js:49 -#: contrib/admin/static/admin/js/actions.min.js:2 -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "" -msgstr[1] "" - -#: contrib/admin/static/admin/js/actions.js:118 -#: contrib/admin/static/admin/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 "" - -#: contrib/admin/static/admin/js/actions.js:130 -#: contrib/admin/static/admin/js/actions.min.js:5 -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 "" - -#: contrib/admin/static/admin/js/actions.js:132 -#: contrib/admin/static/admin/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 "" - -#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:13 -#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:113 -msgid "Now" -msgstr "" - -#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:14 -msgid "Midnight" -msgstr "" - -#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:15 -msgid "6 a.m." -msgstr "" - -#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:16 -msgid "Noon" -msgstr "" - -#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:17 -msgid "6 p.m." -msgstr "" - -#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:80 -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "" -msgstr[1] "" - -#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:88 -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "" -msgstr[1] "" - -#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:131 -msgid "Choose a Time" -msgstr "" - -#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:161 -msgid "Choose a time" -msgstr "" - -#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:178 -#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:336 -msgid "Cancel" -msgstr "" - -#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:241 -#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:321 -msgid "Today" -msgstr "" - -#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:258 -msgid "Choose a Date" -msgstr "" - -#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:315 -msgid "Yesterday" -msgstr "" - -#: contrib/admin/static/admin/js/admin/DateTimeShortcuts.js:327 -msgid "Tomorrow" -msgstr "" - -#: contrib/admin/static/admin/js/calendar.js:11 -msgid "January" -msgstr "" - -#: contrib/admin/static/admin/js/calendar.js:12 -msgid "February" -msgstr "" - -#: contrib/admin/static/admin/js/calendar.js:13 -msgid "March" -msgstr "" - -#: contrib/admin/static/admin/js/calendar.js:14 -msgid "April" -msgstr "" - -#: contrib/admin/static/admin/js/calendar.js:15 -msgid "May" -msgstr "" - -#: contrib/admin/static/admin/js/calendar.js:16 -msgid "June" -msgstr "" - -#: contrib/admin/static/admin/js/calendar.js:17 -msgid "July" -msgstr "" - -#: contrib/admin/static/admin/js/calendar.js:18 -msgid "August" -msgstr "" - -#: contrib/admin/static/admin/js/calendar.js:19 -msgid "September" -msgstr "" - -#: contrib/admin/static/admin/js/calendar.js:20 -msgid "October" -msgstr "" - -#: contrib/admin/static/admin/js/calendar.js:21 -msgid "November" -msgstr "" - -#: contrib/admin/static/admin/js/calendar.js:22 -msgid "December" -msgstr "" - -#: contrib/admin/static/admin/js/calendar.js:25 -msgctxt "one letter Sunday" -msgid "S" -msgstr "" - -#: contrib/admin/static/admin/js/calendar.js:26 -msgctxt "one letter Monday" -msgid "M" -msgstr "" - -#: contrib/admin/static/admin/js/calendar.js:27 -msgctxt "one letter Tuesday" -msgid "T" -msgstr "" - -#: contrib/admin/static/admin/js/calendar.js:28 -msgctxt "one letter Wednesday" -msgid "W" -msgstr "" - -#: contrib/admin/static/admin/js/calendar.js:29 -msgctxt "one letter Thursday" -msgid "T" -msgstr "" - -#: contrib/admin/static/admin/js/calendar.js:30 -msgctxt "one letter Friday" -msgid "F" -msgstr "" - -#: contrib/admin/static/admin/js/calendar.js:31 -msgctxt "one letter Saturday" -msgid "S" -msgstr "" - -#: contrib/admin/static/admin/js/collapse.js:16 -#: contrib/admin/static/admin/js/collapse.js:34 -#: contrib/admin/static/admin/js/collapse.min.js:1 -#: contrib/admin/static/admin/js/collapse.min.js:2 -msgid "Show" -msgstr "" - -#: contrib/admin/static/admin/js/collapse.js:30 -#: contrib/admin/static/admin/js/collapse.min.js:2 -msgid "Hide" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/en_AU/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/en_AU/LC_MESSAGES/django.mo deleted file mode 100644 index a19397e2..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/en_AU/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/en_AU/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/en_AU/LC_MESSAGES/django.po deleted file mode 100644 index 111eb381..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/en_AU/LC_MESSAGES/django.po +++ /dev/null @@ -1,636 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Tom Fifield , 2014 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-09-19 21:09+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: English (Australia) (http://www.transifex.com/django/django/" -"language/en_AU/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: en_AU\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "Successfully deleted %(count)d %(items)s." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "Cannot delete %(name)s" - -msgid "Are you sure?" -msgstr "Are you sure?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Delete selected %(verbose_name_plural)s" - -msgid "Administration" -msgstr "" - -msgid "All" -msgstr "All" - -msgid "Yes" -msgstr "" - -msgid "No" -msgstr "No" - -msgid "Unknown" -msgstr "Unknown" - -msgid "Any date" -msgstr "Any date" - -msgid "Today" -msgstr "Today" - -msgid "Past 7 days" -msgstr "Past 7 days" - -msgid "This month" -msgstr "This month" - -msgid "This year" -msgstr "This year" - -msgid "No date" -msgstr "" - -msgid "Has date" -msgstr "" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." - -msgid "Action:" -msgstr "Action:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "" - -msgid "Remove" -msgstr "" - -msgid "action time" -msgstr "action time" - -msgid "user" -msgstr "" - -msgid "content type" -msgstr "" - -msgid "object id" -msgstr "object id" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/3/library/functions.html#repr) -msgid "object repr" -msgstr "object repr" - -msgid "action flag" -msgstr "action flag" - -msgid "change message" -msgstr "change message" - -msgid "log entry" -msgstr "log entry" - -msgid "log entries" -msgstr "log entries" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "Added \"%(object)s\"." - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "Changed \"%(object)s\" - %(changes)s" - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "Deleted \"%(object)s.\"" - -msgid "LogEntry Object" -msgstr "LogEntry Object" - -#, python-brace-format -msgid "Added {name} \"{object}\"." -msgstr "" - -msgid "Added." -msgstr "" - -msgid "and" -msgstr "and" - -#, python-brace-format -msgid "Changed {fields} for {name} \"{object}\"." -msgstr "" - -#, python-brace-format -msgid "Changed {fields}." -msgstr "" - -#, python-brace-format -msgid "Deleted {name} \"{object}\"." -msgstr "" - -msgid "No fields changed." -msgstr "No fields changed." - -msgid "None" -msgstr "None" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was changed successfully." -msgstr "" - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." - -msgid "No action selected." -msgstr "No action selected." - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "" - -#, python-format -msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" -msgstr "" - -#, python-format -msgid "Add %s" -msgstr "Add %s" - -#, python-format -msgid "Change %s" -msgstr "Change %s" - -msgid "Database error" -msgstr "Database error" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s was changed successfully." -msgstr[1] "%(count)s %(name)s were changed successfully." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s selected" -msgstr[1] "All %(total_count)s selected" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "0 of %(cnt)s selected" - -#, python-format -msgid "Change history: %s" -msgstr "" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" - -msgid "Django site admin" -msgstr "" - -msgid "Django administration" -msgstr "" - -msgid "Site administration" -msgstr "" - -msgid "Log in" -msgstr "" - -#, python-format -msgid "%(app)s administration" -msgstr "" - -msgid "Page not found" -msgstr "" - -msgid "We're sorry, but the requested page could not be found." -msgstr "" - -msgid "Home" -msgstr "" - -msgid "Server error" -msgstr "" - -msgid "Server error (500)" -msgstr "" - -msgid "Server Error (500)" -msgstr "" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" - -msgid "Run the selected action" -msgstr "" - -msgid "Go" -msgstr "" - -msgid "Click here to select the objects across all pages" -msgstr "" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "" - -msgid "Clear selection" -msgstr "" - -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" - -msgid "Enter a username and password." -msgstr "" - -msgid "Change password" -msgstr "" - -msgid "Please correct the error below." -msgstr "" - -msgid "Please correct the errors below." -msgstr "" - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "" - -msgid "Welcome," -msgstr "" - -msgid "View site" -msgstr "" - -msgid "Documentation" -msgstr "" - -msgid "Log out" -msgstr "" - -#, python-format -msgid "Add %(name)s" -msgstr "" - -msgid "History" -msgstr "" - -msgid "View on site" -msgstr "" - -msgid "Filter" -msgstr "" - -msgid "Remove from sorting" -msgstr "" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "" - -msgid "Toggle sorting" -msgstr "" - -msgid "Delete" -msgstr "" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" - -msgid "Objects" -msgstr "" - -msgid "Yes, I'm sure" -msgstr "" - -msgid "No, take me back" -msgstr "" - -msgid "Delete multiple objects" -msgstr "" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" - -msgid "Change" -msgstr "" - -msgid "Delete?" -msgstr "" - -#, python-format -msgid " By %(filter_title)s " -msgstr "" - -msgid "Summary" -msgstr "" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "" - -msgid "Add" -msgstr "" - -msgid "You don't have permission to edit anything." -msgstr "" - -msgid "Recent actions" -msgstr "" - -msgid "My actions" -msgstr "" - -msgid "None available" -msgstr "" - -msgid "Unknown content" -msgstr "" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" - -msgid "Forgotten your password or username?" -msgstr "" - -msgid "Date/time" -msgstr "" - -msgid "User" -msgstr "" - -msgid "Action" -msgstr "" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" - -msgid "Show all" -msgstr "" - -msgid "Save" -msgstr "" - -msgid "Popup closing..." -msgstr "" - -#, python-format -msgid "Change selected %(model)s" -msgstr "" - -#, python-format -msgid "Add another %(model)s" -msgstr "" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "" - -msgid "Search" -msgstr "" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "" - -msgid "Save as new" -msgstr "" - -msgid "Save and add another" -msgstr "" - -msgid "Save and continue editing" -msgstr "" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "" - -msgid "Log in again" -msgstr "" - -msgid "Password change" -msgstr "" - -msgid "Your password was changed." -msgstr "" - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" - -msgid "Change my password" -msgstr "" - -msgid "Password reset" -msgstr "" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "" - -msgid "Password reset confirmation" -msgstr "" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" - -msgid "New password:" -msgstr "" - -msgid "Confirm password:" -msgstr "" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" - -msgid "Please go to the following page and choose a new password:" -msgstr "" - -msgid "Your username, in case you've forgotten:" -msgstr "" - -msgid "Thanks for using our site!" -msgstr "" - -#, python-format -msgid "The %(site_name)s team" -msgstr "" - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" - -msgid "Email address:" -msgstr "" - -msgid "Reset my password" -msgstr "" - -msgid "All dates" -msgstr "" - -#, python-format -msgid "Select %s" -msgstr "" - -#, python-format -msgid "Select %s to change" -msgstr "" - -msgid "Date:" -msgstr "" - -msgid "Time:" -msgstr "" - -msgid "Lookup" -msgstr "" - -msgid "Currently:" -msgstr "" - -msgid "Change:" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/en_AU/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/en_AU/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 775077fa..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/en_AU/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/en_AU/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/en_AU/LC_MESSAGES/djangojs.po deleted file mode 100644 index fe991ffa..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/en_AU/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,209 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Tom Fifield , 2014 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" -"PO-Revision-Date: 2017-09-19 21:09+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: English (Australia) (http://www.transifex.com/django/django/" -"language/en_AU/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: en_AU\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "Available %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "Type into this box to filter down the list of available %s." - -msgid "Filter" -msgstr "Filter" - -msgid "Choose all" -msgstr "Choose all" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Click to choose all %s at once." - -msgid "Choose" -msgstr "Choose" - -msgid "Remove" -msgstr "Remove" - -#, javascript-format -msgid "Chosen %s" -msgstr "Chosen %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." - -msgid "Remove all" -msgstr "Remove all" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Click to remove all chosen %s at once." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "" -msgstr[1] "" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" - -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 "" - -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 "" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "" -msgstr[1] "" - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "" -msgstr[1] "" - -msgid "Now" -msgstr "" - -msgid "Choose a Time" -msgstr "" - -msgid "Choose a time" -msgstr "" - -msgid "Midnight" -msgstr "" - -msgid "6 a.m." -msgstr "" - -msgid "Noon" -msgstr "" - -msgid "6 p.m." -msgstr "" - -msgid "Cancel" -msgstr "" - -msgid "Today" -msgstr "" - -msgid "Choose a Date" -msgstr "" - -msgid "Yesterday" -msgstr "" - -msgid "Tomorrow" -msgstr "" - -msgid "January" -msgstr "" - -msgid "February" -msgstr "" - -msgid "March" -msgstr "" - -msgid "April" -msgstr "" - -msgid "May" -msgstr "" - -msgid "June" -msgstr "" - -msgid "July" -msgstr "" - -msgid "August" -msgstr "" - -msgid "September" -msgstr "" - -msgid "October" -msgstr "" - -msgid "November" -msgstr "" - -msgid "December" -msgstr "" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "" - -msgctxt "one letter Monday" -msgid "M" -msgstr "" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "" - -msgctxt "one letter Friday" -msgid "F" -msgstr "" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "" - -msgid "Show" -msgstr "" - -msgid "Hide" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/en_GB/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/en_GB/LC_MESSAGES/django.mo deleted file mode 100644 index b20f7bd1..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/en_GB/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/en_GB/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/en_GB/LC_MESSAGES/django.po deleted file mode 100644 index 167a0dba..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/en_GB/LC_MESSAGES/django.po +++ /dev/null @@ -1,691 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Adam Forster , 2019 -# jon_atkinson , 2011-2012 -# Ross Poulton , 2011-2012 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-01-16 20:42+0100\n" -"PO-Revision-Date: 2019-04-05 10:37+0000\n" -"Last-Translator: Adam Forster \n" -"Language-Team: English (United Kingdom) (http://www.transifex.com/django/" -"django/language/en_GB/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: en_GB\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "Successfully deleted %(count)d %(items)s." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "Cannot delete %(name)s" - -msgid "Are you sure?" -msgstr "Are you sure?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Delete selected %(verbose_name_plural)s" - -msgid "Administration" -msgstr "Administration" - -msgid "All" -msgstr "All" - -msgid "Yes" -msgstr "Yes" - -msgid "No" -msgstr "No" - -msgid "Unknown" -msgstr "Unknown" - -msgid "Any date" -msgstr "Any date" - -msgid "Today" -msgstr "Today" - -msgid "Past 7 days" -msgstr "Past 7 days" - -msgid "This month" -msgstr "This month" - -msgid "This year" -msgstr "This year" - -msgid "No date" -msgstr "No date" - -msgid "Has date" -msgstr "Has date" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." - -msgid "Action:" -msgstr "Action:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Add another %(verbose_name)s" - -msgid "Remove" -msgstr "Remove" - -msgid "Addition" -msgstr "Addition" - -msgid "Change" -msgstr "Change" - -msgid "Deletion" -msgstr "Deletion" - -msgid "action time" -msgstr "action time" - -msgid "user" -msgstr "user" - -msgid "content type" -msgstr "content type" - -msgid "object id" -msgstr "object id" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "object repr" - -msgid "action flag" -msgstr "action flag" - -msgid "change message" -msgstr "change message" - -msgid "log entry" -msgstr "log entry" - -msgid "log entries" -msgstr "log entries" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "Added \"%(object)s\"." - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "Changed \"%(object)s\" - %(changes)s" - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "Deleted \"%(object)s.\"" - -msgid "LogEntry Object" -msgstr "LogEntry Object" - -#, python-brace-format -msgid "Added {name} \"{object}\"." -msgstr "Added {name} \"{object}\"." - -msgid "Added." -msgstr "Added." - -msgid "and" -msgstr "and" - -#, python-brace-format -msgid "Changed {fields} for {name} \"{object}\"." -msgstr "" - -#, python-brace-format -msgid "Changed {fields}." -msgstr "" - -#, python-brace-format -msgid "Deleted {name} \"{object}\"." -msgstr "" - -msgid "No fields changed." -msgstr "No fields changed." - -msgid "None" -msgstr "None" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "" - -msgid "You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was changed successfully." -msgstr "" - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." - -msgid "No action selected." -msgstr "No action selected." - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "The %(name)s \"%(obj)s\" was deleted successfully." - -#, python-format -msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" -msgstr "" - -#, python-format -msgid "Add %s" -msgstr "Add %s" - -#, python-format -msgid "Change %s" -msgstr "Change %s" - -#, python-format -msgid "View %s" -msgstr "" - -msgid "Database error" -msgstr "Database error" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s was changed successfully." -msgstr[1] "%(count)s %(name)s were changed successfully." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s selected" -msgstr[1] "All %(total_count)s selected" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "0 of %(cnt)s selected" - -#, python-format -msgid "Change history: %s" -msgstr "Change history: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" - -msgid "Django site admin" -msgstr "Django site admin" - -msgid "Django administration" -msgstr "Django administration" - -msgid "Site administration" -msgstr "Site administration" - -msgid "Log in" -msgstr "Log in" - -#, python-format -msgid "%(app)s administration" -msgstr "" - -msgid "Page not found" -msgstr "Page not found" - -msgid "We're sorry, but the requested page could not be found." -msgstr "We're sorry, but the requested page could not be found." - -msgid "Home" -msgstr "Home" - -msgid "Server error" -msgstr "Server error" - -msgid "Server error (500)" -msgstr "Server error (500)" - -msgid "Server Error (500)" -msgstr "Server Error (500)" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" - -msgid "Run the selected action" -msgstr "Run the selected action" - -msgid "Go" -msgstr "Go" - -msgid "Click here to select the objects across all pages" -msgstr "Click here to select the objects across all pages" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Select all %(total_count)s %(module_name)s" - -msgid "Clear selection" -msgstr "Clear selection" - -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." - -msgid "Enter a username and password." -msgstr "Enter a username and password." - -msgid "Change password" -msgstr "Change password" - -msgid "Please correct the error below." -msgstr "" - -msgid "Please correct the errors below." -msgstr "" - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "Enter a new password for the user %(username)s." - -msgid "Welcome," -msgstr "Welcome," - -msgid "View site" -msgstr "" - -msgid "Documentation" -msgstr "Documentation" - -msgid "Log out" -msgstr "Log out" - -#, python-format -msgid "Add %(name)s" -msgstr "Add %(name)s" - -msgid "History" -msgstr "History" - -msgid "View on site" -msgstr "View on site" - -msgid "Filter" -msgstr "Filter" - -msgid "Remove from sorting" -msgstr "Remove from sorting" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Sorting priority: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Toggle sorting" - -msgid "Delete" -msgstr "Delete" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" - -msgid "Objects" -msgstr "" - -msgid "Yes, I'm sure" -msgstr "Yes, I'm sure" - -msgid "No, take me back" -msgstr "" - -msgid "Delete multiple objects" -msgstr "Delete multiple objects" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" - -msgid "View" -msgstr "" - -msgid "Delete?" -msgstr "Delete?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " By %(filter_title)s " - -msgid "Summary" -msgstr "" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "" - -msgid "Add" -msgstr "Add" - -msgid "You don't have permission to view or edit anything." -msgstr "" - -msgid "Recent actions" -msgstr "" - -msgid "My actions" -msgstr "" - -msgid "None available" -msgstr "None available" - -msgid "Unknown content" -msgstr "Unknown content" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" - -msgid "Forgotten your password or username?" -msgstr "Forgotten your password or username?" - -msgid "Date/time" -msgstr "Date/time" - -msgid "User" -msgstr "User" - -msgid "Action" -msgstr "Action" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." - -msgid "Show all" -msgstr "Show all" - -msgid "Save" -msgstr "Save" - -msgid "Popup closing…" -msgstr "" - -msgid "Search" -msgstr "Search" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s result" -msgstr[1] "%(counter)s results" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s total" - -msgid "Save as new" -msgstr "Save as new" - -msgid "Save and add another" -msgstr "Save and add another" - -msgid "Save and continue editing" -msgstr "Save and continue editing" - -msgid "Save and view" -msgstr "" - -msgid "Close" -msgstr "" - -#, python-format -msgid "Change selected %(model)s" -msgstr "" - -#, python-format -msgid "Add another %(model)s" -msgstr "" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Thanks for spending some quality time with the Web site today." - -msgid "Log in again" -msgstr "Log in again" - -msgid "Password change" -msgstr "Password change" - -msgid "Your password was changed." -msgstr "Your password was changed." - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." - -msgid "Change my password" -msgstr "Change my password" - -msgid "Password reset" -msgstr "Password reset" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Your password has been set. You may go ahead and log in now." - -msgid "Password reset confirmation" -msgstr "Password reset confirmation" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." - -msgid "New password:" -msgstr "New password:" - -msgid "Confirm password:" -msgstr "Confirm password:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" - -msgid "Please go to the following page and choose a new password:" -msgstr "Please go to the following page and choose a new password:" - -msgid "Your username, in case you've forgotten:" -msgstr "Your username, in case you've forgotten:" - -msgid "Thanks for using our site!" -msgstr "Thanks for using our site!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "The %(site_name)s team" - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" - -msgid "Email address:" -msgstr "" - -msgid "Reset my password" -msgstr "Reset my password" - -msgid "All dates" -msgstr "All dates" - -#, python-format -msgid "Select %s" -msgstr "Select %s" - -#, python-format -msgid "Select %s to change" -msgstr "Select %s to change" - -#, python-format -msgid "Select %s to view" -msgstr "" - -msgid "Date:" -msgstr "Date:" - -msgid "Time:" -msgstr "Time:" - -msgid "Lookup" -msgstr "Lookup" - -msgid "Currently:" -msgstr "" - -msgid "Change:" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/en_GB/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/en_GB/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 0967a389..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/en_GB/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/en_GB/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/en_GB/LC_MESSAGES/djangojs.po deleted file mode 100644 index 03cf6799..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/en_GB/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,218 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# jon_atkinson , 2012 -# Ross Poulton , 2011-2012 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" -"PO-Revision-Date: 2017-09-19 16:41+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: English (United Kingdom) (http://www.transifex.com/django/" -"django/language/en_GB/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: en_GB\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "Available %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "Type into this box to filter down the list of available %s." - -msgid "Filter" -msgstr "Filter" - -msgid "Choose all" -msgstr "Choose all" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Click to choose all %s at once." - -msgid "Choose" -msgstr "Choose" - -msgid "Remove" -msgstr "Remove" - -#, javascript-format -msgid "Chosen %s" -msgstr "Chosen %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." - -msgid "Remove all" -msgstr "Remove all" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Click to remove all chosen %s at once." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(sel)s of %(cnt)s selected" -msgstr[1] "%(sel)s of %(cnt)s selected" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." - -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 "" -"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." - -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 "" -"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." - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "" -msgstr[1] "" - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "" -msgstr[1] "" - -msgid "Now" -msgstr "Now" - -msgid "Choose a Time" -msgstr "" - -msgid "Choose a time" -msgstr "Choose a time" - -msgid "Midnight" -msgstr "Midnight" - -msgid "6 a.m." -msgstr "6 a.m." - -msgid "Noon" -msgstr "Noon" - -msgid "6 p.m." -msgstr "" - -msgid "Cancel" -msgstr "Cancel" - -msgid "Today" -msgstr "Today" - -msgid "Choose a Date" -msgstr "" - -msgid "Yesterday" -msgstr "Yesterday" - -msgid "Tomorrow" -msgstr "Tomorrow" - -msgid "January" -msgstr "" - -msgid "February" -msgstr "" - -msgid "March" -msgstr "" - -msgid "April" -msgstr "" - -msgid "May" -msgstr "" - -msgid "June" -msgstr "" - -msgid "July" -msgstr "" - -msgid "August" -msgstr "" - -msgid "September" -msgstr "" - -msgid "October" -msgstr "" - -msgid "November" -msgstr "" - -msgid "December" -msgstr "" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "" - -msgctxt "one letter Monday" -msgid "M" -msgstr "" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "" - -msgctxt "one letter Friday" -msgid "F" -msgstr "" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "" - -msgid "Show" -msgstr "Show" - -msgid "Hide" -msgstr "Hide" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/eo/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/eo/LC_MESSAGES/django.mo deleted file mode 100644 index b61dbe6a..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/eo/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/eo/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/eo/LC_MESSAGES/django.po deleted file mode 100644 index ffab5e1e..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/eo/LC_MESSAGES/django.po +++ /dev/null @@ -1,717 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Baptiste Darthenay , 2012-2013 -# Baptiste Darthenay , 2013-2019 -# Claude Paroz , 2016 -# Dinu Gherman , 2011 -# kristjan , 2012 -# Nikolay Korotkiy , 2017 -# Adamo Mesha , 2012 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-01-16 20:42+0100\n" -"PO-Revision-Date: 2019-01-18 12:48+0000\n" -"Last-Translator: Baptiste Darthenay \n" -"Language-Team: Esperanto (http://www.transifex.com/django/django/language/" -"eo/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: eo\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "Sukcese forigis %(count)d %(items)s." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "Ne povas forigi %(name)s" - -msgid "Are you sure?" -msgstr "Ĉu vi certas?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Forigi elektitajn %(verbose_name_plural)sn" - -msgid "Administration" -msgstr "Administrado" - -msgid "All" -msgstr "Ĉio" - -msgid "Yes" -msgstr "Jes" - -msgid "No" -msgstr "Ne" - -msgid "Unknown" -msgstr "Nekonata" - -msgid "Any date" -msgstr "Ajna dato" - -msgid "Today" -msgstr "Hodiaŭ" - -msgid "Past 7 days" -msgstr "Lastaj 7 tagoj" - -msgid "This month" -msgstr "Ĉi tiu monato" - -msgid "This year" -msgstr "Ĉi tiu jaro" - -msgid "No date" -msgstr "Neniu dato" - -msgid "Has date" -msgstr "Havas daton" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Bonvolu eniri la ĝustan %(username)s-n kaj pasvorton por personara konto. " -"Notu, ke ambaŭ kampoj povas esti usklecodistinga." - -msgid "Action:" -msgstr "Ago:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Aldoni alian %(verbose_name)sn" - -msgid "Remove" -msgstr "Forigu" - -msgid "Addition" -msgstr "Aldono" - -msgid "Change" -msgstr "Ŝanĝi" - -msgid "Deletion" -msgstr "Forviŝo" - -msgid "action time" -msgstr "aga tempo" - -msgid "user" -msgstr "uzanto" - -msgid "content type" -msgstr "enhava tipo" - -msgid "object id" -msgstr "objekta identigaĵo" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "objekta prezento" - -msgid "action flag" -msgstr "aga marko" - -msgid "change message" -msgstr "ŝanĝmesaĝo" - -msgid "log entry" -msgstr "protokolero" - -msgid "log entries" -msgstr "protokoleroj" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "\"%(object)s\" aldonita." - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "Ŝanĝita \"%(object)s\" - %(changes)s" - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "Forigita \"%(object)s.\"" - -msgid "LogEntry Object" -msgstr "Protokolera objekto" - -#, python-brace-format -msgid "Added {name} \"{object}\"." -msgstr "Aldonita {name} \"{object}\"." - -msgid "Added." -msgstr "Aldonita." - -msgid "and" -msgstr "kaj" - -#, python-brace-format -msgid "Changed {fields} for {name} \"{object}\"." -msgstr "Ŝanĝita {fields} por {name} \"{object}\"." - -#, python-brace-format -msgid "Changed {fields}." -msgstr "Ŝanĝita {fields}." - -#, python-brace-format -msgid "Deleted {name} \"{object}\"." -msgstr "Forigita {name} \"{object}\"." - -msgid "No fields changed." -msgstr "Neniu kampo ŝanĝita." - -msgid "None" -msgstr "Neniu" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" -"Premadu la stirklavon, aŭ Komando-klavon ĉe Mac, por elekti pli ol unu." - -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "La {name} \"{obj}\" estis aldonita sukcese." - -msgid "You may edit it again below." -msgstr "Eblas redakti ĝin sube." - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may add another {name} " -"below." -msgstr "" -"La {name} \"{obj}\" estis sukcese aldonita. Vi povas sube aldoni alian {name}" -"n." - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." -msgstr "" -"La {name} \"{obj}\" estis sukcese ŝanĝita. Vi povas sube redakti ĝin denove." - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" -"La {name} \"{obj}\" estis aldonita sukcese. Vi rajtas ĝin redakti denove " -"sube." - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may add another {name} " -"below." -msgstr "" -"La {name} \"{obj}\" estis sukcese ŝanĝita. Vi povas sube aldoni alian {name}" -"n." - -#, python-brace-format -msgid "The {name} \"{obj}\" was changed successfully." -msgstr "La {name} \"{obj}\" estis ŝanĝita sukcese." - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Elementoj devas esti elektitaj por elfari agojn sur ilin. Neniu elemento " -"estis ŝanĝita." - -msgid "No action selected." -msgstr "Neniu ago elektita." - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "La %(name)s \"%(obj)s\" estis forigita sukcese." - -#, python-format -msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" -msgstr "%(name)s kun ID \"%(key)s\" ne ekzistas. Eble tio estis forigita?" - -#, python-format -msgid "Add %s" -msgstr "Aldoni %sn" - -#, python-format -msgid "Change %s" -msgstr "Ŝanĝi %s" - -#, python-format -msgid "View %s" -msgstr "Vidi %sn" - -msgid "Database error" -msgstr "Datumbaza eraro" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s estis sukcese ŝanĝita." -msgstr[1] "%(count)s %(name)s estis sukcese ŝanĝitaj." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s elektitaj" -msgstr[1] "Ĉiuj %(total_count)s elektitaj" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "0 el %(cnt)s elektita" - -#, python-format -msgid "Change history: %s" -msgstr "Ŝanĝa historio: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"Forigi la %(class_name)s-n “%(instance)s” postulus forigi la sekvajn " -"protektitajn rilatajn objektojn: %(related_objects)s" - -msgid "Django site admin" -msgstr "Djanga reteja administrado" - -msgid "Django administration" -msgstr "Djanga administrado" - -msgid "Site administration" -msgstr "Reteja administrado" - -msgid "Log in" -msgstr "Ensaluti" - -#, python-format -msgid "%(app)s administration" -msgstr "%(app)s administrado" - -msgid "Page not found" -msgstr "Paĝo ne trovita" - -msgid "We're sorry, but the requested page could not be found." -msgstr "Bedaŭrinde la petitan paĝon ne povas esti trovita." - -msgid "Home" -msgstr "Ĉefpaĝo" - -msgid "Server error" -msgstr "Servila eraro" - -msgid "Server error (500)" -msgstr "Servila eraro (500)" - -msgid "Server Error (500)" -msgstr "Servila eraro (500)" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"Okazis eraro. Ĝi estis raportita al la retejaj administrantoj tra retpoŝto " -"kaj baldaŭ devus esti riparita. Dankon por via pacienco." - -msgid "Run the selected action" -msgstr "Lanĉi la elektita agon" - -msgid "Go" -msgstr "Ek" - -msgid "Click here to select the objects across all pages" -msgstr "Klaku ĉi-tie por elekti la objektojn trans ĉiuj paĝoj" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Elekti ĉiuj %(total_count)s %(module_name)s" - -msgid "Clear selection" -msgstr "Viŝi elekton" - -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" -"Unue, bovolu tajpi salutnomon kaj pasvorton. Tiam, vi povos redakti pli da " -"uzantaj agordoj." - -msgid "Enter a username and password." -msgstr "Enigu salutnomon kaj pasvorton." - -msgid "Change password" -msgstr "Ŝanĝi pasvorton" - -msgid "Please correct the error below." -msgstr "Bonvolu ĝustigi la eraron sube." - -msgid "Please correct the errors below." -msgstr "Bonvolu ĝustigi la erarojn sube." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "Enigu novan pasvorton por la uzanto %(username)s." - -msgid "Welcome," -msgstr "Bonvenon," - -msgid "View site" -msgstr "Vidi retejon" - -msgid "Documentation" -msgstr "Dokumentaro" - -msgid "Log out" -msgstr "Elsaluti" - -#, python-format -msgid "Add %(name)s" -msgstr "Aldoni %(name)sn" - -msgid "History" -msgstr "Historio" - -msgid "View on site" -msgstr "Vidi sur retejo" - -msgid "Filter" -msgstr "Filtri" - -msgid "Remove from sorting" -msgstr "Forigi el ordigado" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Ordiga prioritato: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Ŝalti ordigadon" - -msgid "Delete" -msgstr "Forigi" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Foriganti la %(object_name)s '%(escaped_object)s' rezultus en foriganti " -"rilatajn objektojn, sed via konto ne havas permeson por forigi la sekvantajn " -"tipojn de objektoj:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"Forigi la %(object_name)s '%(escaped_object)s' postulus forigi la sekvajn " -"protektitajn rilatajn objektojn:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Ĉu vi certas, ke vi volas forigi %(object_name)s \"%(escaped_object)s\"? " -"Ĉiuj el la sekvaj rilataj eroj estos forigitaj:" - -msgid "Objects" -msgstr "Objektoj" - -msgid "Yes, I'm sure" -msgstr "Jes, mi certas" - -msgid "No, take me back" -msgstr "Ne, reen" - -msgid "Delete multiple objects" -msgstr "Forigi plurajn objektojn" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Forigi la %(objects_name)s rezultus en forigi rilatajn objektojn, sed via " -"konto ne havas permeson por forigi la sekvajn tipojn de objektoj:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Forigi la %(objects_name)s postulus forigi la sekvajn protektitajn rilatajn " -"objektojn:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Ĉu vi certas, ke vi volas forigi la elektitajn %(objects_name)s? Ĉiuj el la " -"sekvaj objektoj kaj iliaj rilataj eroj estos forigita:" - -msgid "View" -msgstr "Vidi" - -msgid "Delete?" -msgstr "Forviŝi?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " Laŭ %(filter_title)s " - -msgid "Summary" -msgstr "Resumo" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "Modeloj en la %(name)s aplikaĵo" - -msgid "Add" -msgstr "Aldoni" - -msgid "You don't have permission to view or edit anything." -msgstr "Vi havas nenian permeson por vidi aŭ redakti." - -msgid "Recent actions" -msgstr "Lastaj agoj" - -msgid "My actions" -msgstr "Miaj agoj" - -msgid "None available" -msgstr "Neniu disponebla" - -msgid "Unknown content" -msgstr "Nekonata enhavo" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Io malbonas en via datumbaza instalo. Bonvolu certigi ke la konvenaj tabeloj " -"de datumbazo estis kreitaj, kaj ke la datumbazo estas legebla per la ĝusta " -"uzanto." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"Vi estas aŭtentikigita kiel %(username)s, sed ne havas permeson aliri tiun " -"paĝon. Ĉu vi ŝatus ensaluti per alia konto?" - -msgid "Forgotten your password or username?" -msgstr "Ĉu vi forgesis vian pasvorton aŭ salutnomo?" - -msgid "Date/time" -msgstr "Dato/horo" - -msgid "User" -msgstr "Uzanto" - -msgid "Action" -msgstr "Ago" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" -"Ĉi tiu objekto ne havas ŝanĝ-historion. Eble ĝi ne estis aldonita per la " -"administranta retejo." - -msgid "Show all" -msgstr "Montri ĉion" - -msgid "Save" -msgstr "Konservi" - -msgid "Popup closing…" -msgstr "Ŝprucfenesto fermiĝas…" - -msgid "Search" -msgstr "Serĉu" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s resulto" -msgstr[1] "%(counter)s rezultoj" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s entute" - -msgid "Save as new" -msgstr "Konservi kiel novan" - -msgid "Save and add another" -msgstr "Konservi kaj aldoni alian" - -msgid "Save and continue editing" -msgstr "Konservi kaj daŭre redakti" - -msgid "Save and view" -msgstr "Konservi kaj vidi" - -msgid "Close" -msgstr "Fermi" - -#, python-format -msgid "Change selected %(model)s" -msgstr "Redaktu elektitan %(model)sn" - -#, python-format -msgid "Add another %(model)s" -msgstr "Aldoni alian %(model)sn" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Forigi elektitan %(model)sn" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Dankon pro pasigo de kvalita tempon kun la retejo hodiaŭ." - -msgid "Log in again" -msgstr "Ensaluti denove" - -msgid "Password change" -msgstr "Pasvorta ŝanĝo" - -msgid "Your password was changed." -msgstr "Via pasvorto estis sukcese ŝanĝita." - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Bonvolu enigi vian malnovan pasvorton, pro sekureco, kaj tiam enigi vian " -"novan pasvorton dufoje, tiel ni povas konfirmi ke vi ĝuste tajpis ĝin." - -msgid "Change my password" -msgstr "Ŝanĝi mian passvorton" - -msgid "Password reset" -msgstr "Pasvorta rekomencigo" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Via pasvorto estis ŝanĝita. Vi povas iri antaŭen kaj ensaluti nun." - -msgid "Password reset confirmation" -msgstr "Pasvorta rekomenciga konfirmo" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Bonvolu entajpi vian novan pasvorton dufoje, tiel ni povas konfirmi ke vi " -"ĝuste tajpis ĝin." - -msgid "New password:" -msgstr "Nova pasvorto:" - -msgid "Confirm password:" -msgstr "Konfirmi pasvorton:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"La pasvorta rekomenciga ligo malvalidis, eble ĉar ĝi jam estis uzata. " -"Bonvolu peti novan pasvortan rekomencigon." - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Ni retpoŝte sendis al vi instrukciojn por agordi la pasvorton, se la " -"koncerna konto ekzistas, al la retpoŝta adreso kiun vi sendis. Vi baldaŭ " -"devus ĝin ricevi." - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Se vi ne ricevas retpoŝton, bonvolu certigi ke vi metis la adreson per kiu " -"vi registris, kaj kontroli vian spaman dosierujon." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"Vi ricevis ĉi tiun retpoŝton ĉar vi petis pasvortan rekomencigon por via " -"uzanta konto ĉe %(site_name)s." - -msgid "Please go to the following page and choose a new password:" -msgstr "Bonvolu iri al la sekvanta paĝo kaj elekti novan pasvorton:" - -msgid "Your username, in case you've forgotten:" -msgstr "Via salutnomo, se vi forgesis:" - -msgid "Thanks for using our site!" -msgstr "Dankon pro uzo de nia retejo!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "La %(site_name)s teamo" - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" -"Vi forgesis vian pasvorton? Malsupre enigu vian retpoŝtan adreson kaj ni " -"retpoŝte sendos instrukciojn por agordi novan." - -msgid "Email address:" -msgstr "Retpoŝto:" - -msgid "Reset my password" -msgstr "Rekomencigi mian pasvorton" - -msgid "All dates" -msgstr "Ĉiuj datoj" - -#, python-format -msgid "Select %s" -msgstr "Elekti %sn" - -#, python-format -msgid "Select %s to change" -msgstr "Elekti %sn por ŝanĝi" - -#, python-format -msgid "Select %s to view" -msgstr "Elektu %sn por vidi" - -msgid "Date:" -msgstr "Dato:" - -msgid "Time:" -msgstr "Horo:" - -msgid "Lookup" -msgstr "Trarigardo" - -msgid "Currently:" -msgstr "Nuntempe:" - -msgid "Change:" -msgstr "Ŝanĝo:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/eo/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/eo/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 9b6aa8f2..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/eo/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/eo/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/eo/LC_MESSAGES/djangojs.po deleted file mode 100644 index f101319a..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/eo/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,220 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Baptiste Darthenay , 2012 -# Baptiste Darthenay , 2014-2016 -# Jaffa McNeill , 2011 -# Adamo Mesha , 2012 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-05-17 11:50+0200\n" -"PO-Revision-Date: 2017-09-19 16:41+0000\n" -"Last-Translator: Baptiste Darthenay \n" -"Language-Team: Esperanto (http://www.transifex.com/django/django/language/" -"eo/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: eo\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "Disponebla %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Tio ĉi estas la listo de disponeblaj %s. Vi povas forigi kelkajn elektante " -"ilin en la suba skatolo kaj tiam klakante la \"Elekti\" sagon inter la du " -"skatoloj." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "Entipu en ĉi-tiu skatolo por filtri la liston de haveblaj %s." - -msgid "Filter" -msgstr "Filtru" - -msgid "Choose all" -msgstr "Elekti ĉiuj" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Klaku por tuj elekti ĉiuj %s." - -msgid "Choose" -msgstr "Elekti" - -msgid "Remove" -msgstr "Forigu" - -#, javascript-format -msgid "Chosen %s" -msgstr "Elektita %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Tio ĉi estas la listo de elektitaj %s. Vi povas forigi kelkajn elektante " -"ilin en la suba skatolo kaj tiam klakante la \"Forigi\" sagon inter la du " -"skatoloj." - -msgid "Remove all" -msgstr "Forigu ĉiujn" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Klaku por tuj forigi ĉiujn %s elektitajn." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(sel)s de %(cnt)s elektita" -msgstr[1] "%(sel)s de %(cnt)s elektitaj" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Vi havas neŝirmitajn ŝanĝojn je unuopaj redakteblaj kampoj. Se vi faros " -"agon, viaj neŝirmitaj ŝanĝoj perdiĝos." - -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 "" -"Vi elektas agon, sed vi ne ŝirmis viajn ŝanĝojn al individuaj kampoj ĝis " -"nun. Bonvolu klaku BONA por ŝirmi. Vi devos ripeton la agon" - -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 "" -"Vi elektas agon, kaj vi ne faris ajnajn ŝanĝojn ĉe unuopaj kampoj. Vi " -"verŝajne serĉas la Iru-butonon prefere ol la Ŝirmu-butono." - -msgid "Now" -msgstr "Nun" - -msgid "Midnight" -msgstr "Noktomezo" - -msgid "6 a.m." -msgstr "6 a.t.m." - -msgid "Noon" -msgstr "Tagmezo" - -msgid "6 p.m." -msgstr "6 ptm" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Noto: Vi estas %s horo antaŭ la servila horo." -msgstr[1] "Noto: Vi estas %s horoj antaŭ la servila horo." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Noto: Vi estas %s horo post la servila horo." -msgstr[1] "Noto: Vi estas %s horoj post la servila horo." - -msgid "Choose a Time" -msgstr "Elektu horon" - -msgid "Choose a time" -msgstr "Elektu tempon" - -msgid "Cancel" -msgstr "Malmendu" - -msgid "Today" -msgstr "Hodiaŭ" - -msgid "Choose a Date" -msgstr "Elektu daton" - -msgid "Yesterday" -msgstr "Hieraŭ" - -msgid "Tomorrow" -msgstr "Morgaŭ" - -msgid "January" -msgstr "januaro" - -msgid "February" -msgstr "februaro" - -msgid "March" -msgstr "marto" - -msgid "April" -msgstr "aprilo" - -msgid "May" -msgstr "majo" - -msgid "June" -msgstr "junio" - -msgid "July" -msgstr "julio" - -msgid "August" -msgstr "aŭgusto" - -msgid "September" -msgstr "septembro" - -msgid "October" -msgstr "oktobro" - -msgid "November" -msgstr "novembro" - -msgid "December" -msgstr "decembro" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "d" - -msgctxt "one letter Monday" -msgid "M" -msgstr "l" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "m" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "m" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "ĵ" - -msgctxt "one letter Friday" -msgid "F" -msgstr "v" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "s" - -msgid "Show" -msgstr "Montru" - -msgid "Hide" -msgstr "Kaŝu" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es/LC_MESSAGES/django.mo deleted file mode 100644 index 3e5dbb4f..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es/LC_MESSAGES/django.po deleted file mode 100644 index 29311899..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es/LC_MESSAGES/django.po +++ /dev/null @@ -1,745 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# abraham.martin , 2014 -# Antoni Aloy , 2011-2014 -# Claude Paroz , 2014 -# Ernesto Avilés, 2015-2016 -# 8cb2d5a716c3c9a99b6d20472609a4d5_6d03802 , 2011 -# guillem , 2012 -# Ignacio José Lizarán Rus , 2019 -# Igor Támara , 2013 -# Jannis Leidel , 2011 -# Jorge Puente Sarrín , 2014-2015 -# José Luis , 2016 -# Josue Naaman Nistal Guerra , 2014 -# Luigy, 2019 -# Marc Garcia , 2011 -# Miguel Angel Tribaldos , 2017 -# Pablo, 2015 -# Uriel Medina , 2020 -# Veronicabh , 2015 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-14 19:53+0200\n" -"PO-Revision-Date: 2020-09-25 17:35+0000\n" -"Last-Translator: Uriel Medina \n" -"Language-Team: Spanish (http://www.transifex.com/django/django/language/" -"es/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "Eliminado/s %(count)d %(items)s satisfactoriamente." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "No se puede eliminar %(name)s" - -msgid "Are you sure?" -msgstr "¿Está seguro?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Eliminar %(verbose_name_plural)s seleccionado/s" - -msgid "Administration" -msgstr "Administración" - -msgid "All" -msgstr "Todo" - -msgid "Yes" -msgstr "Sí" - -msgid "No" -msgstr "No" - -msgid "Unknown" -msgstr "Desconocido" - -msgid "Any date" -msgstr "Cualquier fecha" - -msgid "Today" -msgstr "Hoy" - -msgid "Past 7 days" -msgstr "Últimos 7 días" - -msgid "This month" -msgstr "Este mes" - -msgid "This year" -msgstr "Este año" - -msgid "No date" -msgstr "Sin fecha" - -msgid "Has date" -msgstr "Tiene fecha" - -msgid "Empty" -msgstr "Vacío" - -msgid "Not empty" -msgstr "No vacío" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Por favor introduzca el %(username)s y la clave correctos para una cuenta de " -"personal. Observe que ambos campos pueden ser sensibles a mayúsculas." - -msgid "Action:" -msgstr "Acción:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Agregar %(verbose_name)s adicional." - -msgid "Remove" -msgstr "Eliminar" - -msgid "Addition" -msgstr "Añadido" - -msgid "Change" -msgstr "Modificar" - -msgid "Deletion" -msgstr "Borrado" - -msgid "action time" -msgstr "hora de la acción" - -msgid "user" -msgstr "usuario" - -msgid "content type" -msgstr "tipo de contenido" - -msgid "object id" -msgstr "id del objeto" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "repr del objeto" - -msgid "action flag" -msgstr "marca de acción" - -msgid "change message" -msgstr "mensaje de cambio" - -msgid "log entry" -msgstr "entrada de registro" - -msgid "log entries" -msgstr "entradas de registro" - -#, python-format -msgid "Added “%(object)s”." -msgstr "Agregado “%(object)s”." - -#, python-format -msgid "Changed “%(object)s” — %(changes)s" -msgstr "Modificado “%(object)s” — %(changes)s" - -#, python-format -msgid "Deleted “%(object)s.”" -msgstr "Eliminado “%(object)s.”" - -msgid "LogEntry Object" -msgstr "Objeto de registro de Log" - -#, python-brace-format -msgid "Added {name} “{object}”." -msgstr "Agregado {name} “{object}”." - -msgid "Added." -msgstr "Añadido." - -msgid "and" -msgstr "y" - -#, python-brace-format -msgid "Changed {fields} for {name} “{object}”." -msgstr "Cambios en {fields} para {name} “{object}”." - -#, python-brace-format -msgid "Changed {fields}." -msgstr "Modificado {fields}." - -#, python-brace-format -msgid "Deleted {name} “{object}”." -msgstr "Eliminado {name} “{object}”." - -msgid "No fields changed." -msgstr "No ha cambiado ningún campo." - -msgid "None" -msgstr "Ninguno" - -msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." -msgstr "" -"Mantenga presionado \"Control\" o \"Comando\" en una Mac, para seleccionar " -"más de uno." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully." -msgstr "El {name} “{obj}” fue agregado correctamente." - -msgid "You may edit it again below." -msgstr "Puede volverlo a editar otra vez a continuación." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was added successfully. You may add another {name} below." -msgstr "" -"El {name} “{obj}” se agregó correctamente. Puede agregar otro {name} a " -"continuación." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may edit it again below." -msgstr "" -"El {name} “{obj}” se cambió correctamente. Puede editarlo nuevamente a " -"continuación." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully. You may edit it again below." -msgstr "" -"El {name} “{obj}” se agregó correctamente. Puede editarlo nuevamente a " -"continuación." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may add another {name} " -"below." -msgstr "" -"El {name} “{obj}” se cambió correctamente. Puede agregar otro {name} a " -"continuación." - -#, python-brace-format -msgid "The {name} “{obj}” was changed successfully." -msgstr "El {name} “{obj}” se cambió correctamente." - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Se deben seleccionar elementos para poder realizar acciones sobre estos. No " -"se han modificado elementos." - -msgid "No action selected." -msgstr "No se seleccionó ninguna acción." - -#, python-format -msgid "The %(name)s “%(obj)s” was deleted successfully." -msgstr "El%(name)s “%(obj)s” fue eliminado con éxito." - -#, python-format -msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" -msgstr "%(name)s con el ID “%(key)s” no existe. ¿Quizás fue eliminado?" - -#, python-format -msgid "Add %s" -msgstr "Añadir %s" - -#, python-format -msgid "Change %s" -msgstr "Modificar %s" - -#, python-format -msgid "View %s" -msgstr "Vista %s" - -msgid "Database error" -msgstr "Error en la base de datos" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s fué modificado con éxito." -msgstr[1] "%(count)s %(name)s fueron modificados con éxito." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s seleccionado" -msgstr[1] "%(total_count)s seleccionados en total" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "seleccionados 0 de %(cnt)s" - -#, python-format -msgid "Change history: %s" -msgstr "Histórico de modificaciones: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"La eliminación de %(class_name)s %(instance)s requeriría eliminar los " -"siguientes objetos relacionados protegidos: %(related_objects)s" - -msgid "Django site admin" -msgstr "Sitio de administración de Django" - -msgid "Django administration" -msgstr "Administración de Django" - -msgid "Site administration" -msgstr "Sitio administrativo" - -msgid "Log in" -msgstr "Iniciar sesión" - -#, python-format -msgid "%(app)s administration" -msgstr "Administración de %(app)s " - -msgid "Page not found" -msgstr "Página no encontrada" - -msgid "We’re sorry, but the requested page could not be found." -msgstr "Lo sentimos, pero no se pudo encontrar la página solicitada." - -msgid "Home" -msgstr "Inicio" - -msgid "Server error" -msgstr "Error del servidor" - -msgid "Server error (500)" -msgstr "Error del servidor (500)" - -msgid "Server Error (500)" -msgstr "Error de servidor (500)" - -msgid "" -"There’s been an error. It’s been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"Hubo un error. Se ha informado a los administradores del sitio por correo " -"electrónico y debería solucionarse en breve. Gracias por su paciencia." - -msgid "Run the selected action" -msgstr "Ejecutar la acción seleccionada" - -msgid "Go" -msgstr "Ir" - -msgid "Click here to select the objects across all pages" -msgstr "Pulse aquí para seleccionar los objetos a través de todas las páginas" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Seleccionar todos los %(total_count)s %(module_name)s" - -msgid "Clear selection" -msgstr "Limpiar selección" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "Modelos en la aplicación %(name)s" - -msgid "Add" -msgstr "Añadir" - -msgid "View" -msgstr "Vista" - -msgid "You don’t have permission to view or edit anything." -msgstr "No cuenta con permiso para ver ni editar nada." - -msgid "" -"First, enter a username and password. Then, you’ll be able to edit more user " -"options." -msgstr "" -"Primero, ingrese un nombre de usuario y contraseña. Luego, podrá editar más " -"opciones del usuario." - -msgid "Enter a username and password." -msgstr "Introduzca un nombre de usuario y contraseña" - -msgid "Change password" -msgstr "Cambiar contraseña" - -msgid "Please correct the error below." -msgstr "Por favor corrija el siguiente error." - -msgid "Please correct the errors below." -msgstr "Por favor, corrija los siguientes errores." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "" -"Introduzca una nueva contraseña para el usuario %(username)s." - -msgid "Welcome," -msgstr "Bienvenidos," - -msgid "View site" -msgstr "Ver el sitio" - -msgid "Documentation" -msgstr "Documentación" - -msgid "Log out" -msgstr "Cerrar sesión" - -#, python-format -msgid "Add %(name)s" -msgstr "Añadir %(name)s" - -msgid "History" -msgstr "Histórico" - -msgid "View on site" -msgstr "Ver en el sitio" - -msgid "Filter" -msgstr "Filtro" - -msgid "Clear all filters" -msgstr "Borrar todos los filtros" - -msgid "Remove from sorting" -msgstr "Eliminar del ordenación" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Prioridad de la ordenación: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Activar la ordenación" - -msgid "Delete" -msgstr "Eliminar" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Eliminar el %(object_name)s '%(escaped_object)s' provocaría la eliminación " -"de objetos relacionados, pero su cuenta no tiene permiso para borrar los " -"siguientes tipos de objetos:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"La eliminación de %(object_name)s %(escaped_object)s requeriría eliminar los " -"siguientes objetos relacionados protegidos:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"¿Está seguro de que quiere borrar los %(object_name)s \"%(escaped_object)s" -"\"? Se borrarán los siguientes objetos relacionados:" - -msgid "Objects" -msgstr "Objetos" - -msgid "Yes, I’m sure" -msgstr "Si, estoy seguro" - -msgid "No, take me back" -msgstr "No, llévame atrás" - -msgid "Delete multiple objects" -msgstr "Eliminar múltiples objetos." - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"La eliminación del %(objects_name)s seleccionado resultaría en el borrado de " -"objetos relacionados, pero su cuenta no tiene permisos para borrar los " -"siguientes tipos de objetos:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"La eliminación de %(objects_name)s seleccionado requeriría el borrado de los " -"siguientes objetos protegidos relacionados:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"¿Está usted seguro que quiere eliminar el %(objects_name)s seleccionado? " -"Todos los siguientes objetos y sus elementos relacionados serán borrados:" - -msgid "Delete?" -msgstr "¿Eliminar?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " Por %(filter_title)s " - -msgid "Summary" -msgstr "Resumen" - -msgid "Recent actions" -msgstr "Acciones recientes" - -msgid "My actions" -msgstr "Mis acciones" - -msgid "None available" -msgstr "Ninguno disponible" - -msgid "Unknown content" -msgstr "Contenido desconocido" - -msgid "" -"Something’s wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Algo anda mal con la instalación de su base de datos. Asegúrese de que se " -"hayan creado las tablas de base de datos adecuadas y asegúrese de que el " -"usuario adecuado pueda leer la base de datos." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"Se ha autenticado como %(username)s, pero no está autorizado a acceder a " -"esta página. ¿Desea autenticarse con una cuenta diferente?" - -msgid "Forgotten your password or username?" -msgstr "¿Ha olvidado la contraseña o el nombre de usuario?" - -msgid "Toggle navigation" -msgstr "Activar navegación" - -msgid "Date/time" -msgstr "Fecha/hora" - -msgid "User" -msgstr "Usuario" - -msgid "Action" -msgstr "Acción" - -msgid "" -"This object doesn’t have a change history. It probably wasn’t added via this " -"admin site." -msgstr "" -"Este objeto no tiene un historial de cambios. Probablemente no se agregó a " -"través de este sitio de administración." - -msgid "Show all" -msgstr "Mostrar todo" - -msgid "Save" -msgstr "Guardar" - -msgid "Popup closing…" -msgstr "Cerrando ventana emergente..." - -msgid "Search" -msgstr "Buscar" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s resultado" -msgstr[1] "%(counter)s resultados" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s total" - -msgid "Save as new" -msgstr "Guardar como nuevo" - -msgid "Save and add another" -msgstr "Guardar y añadir otro" - -msgid "Save and continue editing" -msgstr "Guardar y continuar editando" - -msgid "Save and view" -msgstr "Guardar y ver" - -msgid "Close" -msgstr "Cerrar" - -#, python-format -msgid "Change selected %(model)s" -msgstr "Cambiar %(model)s seleccionados" - -#, python-format -msgid "Add another %(model)s" -msgstr "Añadir otro %(model)s" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Eliminar %(model)s seleccionada/o" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Gracias por el tiempo que ha dedicado hoy al sitio web." - -msgid "Log in again" -msgstr "Iniciar sesión de nuevo" - -msgid "Password change" -msgstr "Cambio de contraseña" - -msgid "Your password was changed." -msgstr "Su contraseña ha sido cambiada." - -msgid "" -"Please enter your old password, for security’s sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Ingrese su contraseña anterior, por razones de seguridad, y luego ingrese su " -"nueva contraseña dos veces para que podamos verificar que la ingresó " -"correctamente." - -msgid "Change my password" -msgstr "Cambiar mi contraseña" - -msgid "Password reset" -msgstr "Restablecer contraseña" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "" -"Su contraseña ha sido establecida. Ahora puede continuar e iniciar sesión." - -msgid "Password reset confirmation" -msgstr "Confirmación de restablecimiento de contraseña" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Por favor, introduzca su contraseña nueva dos veces para verificar que la ha " -"escrito correctamente." - -msgid "New password:" -msgstr "Contraseña nueva:" - -msgid "Confirm password:" -msgstr "Confirme contraseña:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"El enlace de restablecimiento de contraseña era inválido, seguramente porque " -"se haya usado antes. Por favor, solicite un nuevo restablecimiento de " -"contraseña." - -msgid "" -"We’ve emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Le enviamos instrucciones por correo electrónico para configurar su " -"contraseña, si existe una cuenta con el correo electrónico que ingresó. " -"Debería recibirlos en breve." - -msgid "" -"If you don’t receive an email, please make sure you’ve entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Si no recibe un correo electrónico, asegúrese de haber ingresado la " -"dirección con la que se registró y verifique su carpeta de correo no deseado." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"Ha recibido este correo electrónico porque ha solicitado restablecer la " -"contraseña para su cuenta en %(site_name)s." - -msgid "Please go to the following page and choose a new password:" -msgstr "Por favor, vaya a la página siguiente y escoja una nueva contraseña." - -msgid "Your username, in case you’ve forgotten:" -msgstr "Su nombre de usuario, en caso de que lo haya olvidado:" - -msgid "Thanks for using our site!" -msgstr "¡Gracias por usar nuestro sitio!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "El equipo de %(site_name)s" - -msgid "" -"Forgotten your password? Enter your email address below, and we’ll email " -"instructions for setting a new one." -msgstr "" -"¿Olvidaste tu contraseña? Ingrese su dirección de correo electrónico a " -"continuación y le enviaremos las instrucciones para configurar una nueva." - -msgid "Email address:" -msgstr "Correo electrónico:" - -msgid "Reset my password" -msgstr "Restablecer mi contraseña" - -msgid "All dates" -msgstr "Todas las fechas" - -#, python-format -msgid "Select %s" -msgstr "Seleccione %s" - -#, python-format -msgid "Select %s to change" -msgstr "Seleccione %s a modificar" - -#, python-format -msgid "Select %s to view" -msgstr "Seleccione %s para ver" - -msgid "Date:" -msgstr "Fecha:" - -msgid "Time:" -msgstr "Hora:" - -msgid "Lookup" -msgstr "Buscar" - -msgid "Currently:" -msgstr "Actualmente:" - -msgid "Change:" -msgstr "Cambiar:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 05cfcd99..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es/LC_MESSAGES/djangojs.po deleted file mode 100644 index 2f46f967..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,225 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Antoni Aloy , 2011-2012 -# Ernesto Avilés, 2015-2016 -# Jannis Leidel , 2011 -# Josue Naaman Nistal Guerra , 2014 -# Leonardo J. Caballero G. , 2011 -# Uriel Medina , 2020 -# Veronicabh , 2015 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-11 20:56+0200\n" -"PO-Revision-Date: 2020-09-25 17:52+0000\n" -"Last-Translator: Uriel Medina \n" -"Language-Team: Spanish (http://www.transifex.com/django/django/language/" -"es/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "%s Disponibles" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Esta es la lista de %s disponibles. Puede elegir algunos seleccionándolos en " -"la caja inferior y luego haciendo clic en la flecha \"Elegir\" que hay entre " -"las dos cajas." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "Escriba en este cuadro para filtrar la lista de %s disponibles" - -msgid "Filter" -msgstr "Filtro" - -msgid "Choose all" -msgstr "Selecciona todos" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Haga clic para seleccionar todos los %s de una vez" - -msgid "Choose" -msgstr "Elegir" - -msgid "Remove" -msgstr "Eliminar" - -#, javascript-format -msgid "Chosen %s" -msgstr "%s elegidos" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Esta es la lista de los %s elegidos. Puede elmininar algunos " -"seleccionándolos en la caja inferior y luego haciendo click en la flecha " -"\"Eliminar\" que hay entre las dos cajas." - -msgid "Remove all" -msgstr "Eliminar todos" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Haz clic para eliminar todos los %s elegidos" - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(sel)s de %(cnt)s seleccionado" -msgstr[1] "%(sel)s de %(cnt)s seleccionados" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Tiene cambios sin guardar en campos editables individuales. Si ejecuta una " -"acción, los cambios no guardados se perderán." - -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 "" -"Ha seleccionado una acción, pero aún no ha guardado los cambios en los " -"campos individuales. Haga clic en Aceptar para guardar. Deberá volver a " -"ejecutar la acción." - -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 "" -"Ha seleccionado una acción y no ha realizado ningún cambio en campos " -"individuales. Probablemente esté buscando el botón 'Ir' en lugar del botón " -"'Guardar'." - -msgid "Now" -msgstr "Ahora" - -msgid "Midnight" -msgstr "Medianoche" - -msgid "6 a.m." -msgstr "6 a.m." - -msgid "Noon" -msgstr "Mediodía" - -msgid "6 p.m." -msgstr "6 p.m." - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Nota: Usted esta a %s horas por delante de la hora del servidor." -msgstr[1] "Nota: Usted va %s horas por delante de la hora del servidor." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Nota: Usted esta a %s hora de retraso de tiempo de servidor." -msgstr[1] "Nota: Usted va %s horas por detrás de la hora del servidor." - -msgid "Choose a Time" -msgstr "Elija una Hora" - -msgid "Choose a time" -msgstr "Elija una hora" - -msgid "Cancel" -msgstr "Cancelar" - -msgid "Today" -msgstr "Hoy" - -msgid "Choose a Date" -msgstr "Elija una Fecha" - -msgid "Yesterday" -msgstr "Ayer" - -msgid "Tomorrow" -msgstr "Mañana" - -msgid "January" -msgstr "Enero" - -msgid "February" -msgstr "Febrero" - -msgid "March" -msgstr "Marzo" - -msgid "April" -msgstr "Abril" - -msgid "May" -msgstr "Mayo" - -msgid "June" -msgstr "Junio" - -msgid "July" -msgstr "Julio" - -msgid "August" -msgstr "Agosto" - -msgid "September" -msgstr "Septiembre" - -msgid "October" -msgstr "Octubre" - -msgid "November" -msgstr "Noviembre" - -msgid "December" -msgstr "Diciembre" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "D" - -msgctxt "one letter Monday" -msgid "M" -msgstr "L" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "M" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "M" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "J" - -msgctxt "one letter Friday" -msgid "F" -msgstr "V" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "S" - -msgid "Show" -msgstr "Mostrar" - -msgid "Hide" -msgstr "Ocultar" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es_AR/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es_AR/LC_MESSAGES/django.mo deleted file mode 100644 index 9fb1dcf5..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es_AR/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es_AR/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es_AR/LC_MESSAGES/django.po deleted file mode 100644 index 26b78790..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es_AR/LC_MESSAGES/django.po +++ /dev/null @@ -1,730 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Jannis Leidel , 2011 -# Leonardo José Guzmán , 2013 -# Ramiro Morales, 2013-2020 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-14 19:53+0200\n" -"PO-Revision-Date: 2020-07-14 22:38+0000\n" -"Last-Translator: Transifex Bot <>\n" -"Language-Team: Spanish (Argentina) (http://www.transifex.com/django/django/" -"language/es_AR/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: es_AR\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "Se eliminaron con éxito %(count)d %(items)s." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "No se puede eliminar %(name)s" - -msgid "Are you sure?" -msgstr "¿Está seguro?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Eliminar %(verbose_name_plural)s seleccionados/as" - -msgid "Administration" -msgstr "Administración" - -msgid "All" -msgstr "Todos/as" - -msgid "Yes" -msgstr "Sí" - -msgid "No" -msgstr "No" - -msgid "Unknown" -msgstr "Desconocido" - -msgid "Any date" -msgstr "Cualquier fecha" - -msgid "Today" -msgstr "Hoy" - -msgid "Past 7 days" -msgstr "Últimos 7 días" - -msgid "This month" -msgstr "Este mes" - -msgid "This year" -msgstr "Este año" - -msgid "No date" -msgstr "Sin fecha" - -msgid "Has date" -msgstr "Tiene fecha" - -msgid "Empty" -msgstr "Vacío/a" - -msgid "Not empty" -msgstr "No vacío/a" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Por favor introduza %(username)s y contraseña correctos de una cuenta de " -"staff. Note que puede que ambos campos sean estrictos en relación a " -"diferencias entre mayúsculas y minúsculas." - -msgid "Action:" -msgstr "Acción:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Agregar otro/a %(verbose_name)s" - -msgid "Remove" -msgstr "Eliminar" - -msgid "Addition" -msgstr "Agregado" - -msgid "Change" -msgstr "Modificar" - -msgid "Deletion" -msgstr "Borrado" - -msgid "action time" -msgstr "hora de la acción" - -msgid "user" -msgstr "usuario" - -msgid "content type" -msgstr "tipo de contenido" - -msgid "object id" -msgstr "id de objeto" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "repr de objeto" - -msgid "action flag" -msgstr "marca de acción" - -msgid "change message" -msgstr "mensaje de cambio" - -msgid "log entry" -msgstr "entrada de registro" - -msgid "log entries" -msgstr "entradas de registro" - -#, python-format -msgid "Added “%(object)s”." -msgstr "Se agrega \"%(object)s”." - -#, python-format -msgid "Changed “%(object)s” — %(changes)s" -msgstr "Se modifica \"%(object)s” — %(changes)s" - -#, python-format -msgid "Deleted “%(object)s.”" -msgstr "Se elimina \"%(object)s”." - -msgid "LogEntry Object" -msgstr "Objeto LogEntry" - -#, python-brace-format -msgid "Added {name} “{object}”." -msgstr "Se agrega {name} \"{object}”." - -msgid "Added." -msgstr "Agregado." - -msgid "and" -msgstr "y" - -#, python-brace-format -msgid "Changed {fields} for {name} “{object}”." -msgstr "Se modifican {fields} en {name} \"{object}”." - -#, python-brace-format -msgid "Changed {fields}." -msgstr "Modificación de {fields}." - -#, python-brace-format -msgid "Deleted {name} “{object}”." -msgstr "Se elimina {name} \"{object}”." - -msgid "No fields changed." -msgstr "No ha modificado ningún campo." - -msgid "None" -msgstr "Ninguno" - -msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." -msgstr "" -"Mantenga presionada \"Control” (\"Command” en una Mac) para seleccionar más " -"de uno." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully." -msgstr "Se agregó con éxito {name} \"{obj}”." - -msgid "You may edit it again below." -msgstr "Puede modificarlo/a nuevamente mas abajo." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was added successfully. You may add another {name} below." -msgstr "" -"Se agregó con éxito {name} \"{obj}”. Puede agregar otro/a {name} abajo." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may edit it again below." -msgstr "" -"Se modificó con éxito {name} \"{obj}”. Puede modificarlo/a nuevamente abajo." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully. You may edit it again below." -msgstr "Se agregó con éxito {name} \"{obj}”. Puede modificarlo/a abajo." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may add another {name} " -"below." -msgstr "" -"Se modificó con éxito {name} \"{obj}”. Puede agregar otro {name} abajo." - -#, python-brace-format -msgid "The {name} “{obj}” was changed successfully." -msgstr "Se modificó con éxito {name} \"{obj}”." - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Deben existir ítems seleccionados para poder realizar acciones sobre los " -"mismos. No se modificó ningún ítem." - -msgid "No action selected." -msgstr "No se ha seleccionado ninguna acción." - -#, python-format -msgid "The %(name)s “%(obj)s” was deleted successfully." -msgstr "Se eliminó con éxito %(name)s \"%(obj)s”." - -#, python-format -msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" -msgstr "No existe %(name)s con ID \"%(key)s”. ¿Quizá fue eliminado/a?" - -#, python-format -msgid "Add %s" -msgstr "Agregar %s" - -#, python-format -msgid "Change %s" -msgstr "Modificar %s" - -#, python-format -msgid "View %s" -msgstr "Ver %s" - -msgid "Database error" -msgstr "Error de base de datos" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "Se ha modificado con éxito %(count)s %(name)s." -msgstr[1] "Se han modificado con éxito %(count)s %(name)s." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s seleccionados/as" -msgstr[1] "Todos/as (%(total_count)s en total) han sido seleccionados/as" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "0 de %(cnt)s seleccionados/as" - -#, python-format -msgid "Change history: %s" -msgstr "Historia de modificaciones: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"La eliminación de %(class_name)s %(instance)s provocaría la eliminación de " -"los siguientes objetos relacionados protegidos: %(related_objects)s" - -msgid "Django site admin" -msgstr "Administración de sitio Django" - -msgid "Django administration" -msgstr "Administración de Django" - -msgid "Site administration" -msgstr "Administración de sitio" - -msgid "Log in" -msgstr "Identificarse" - -#, python-format -msgid "%(app)s administration" -msgstr "Administración de %(app)s" - -msgid "Page not found" -msgstr "Página no encontrada" - -msgid "We’re sorry, but the requested page could not be found." -msgstr "Lo lamentamos, no se encontró la página solicitada." - -msgid "Home" -msgstr "Inicio" - -msgid "Server error" -msgstr "Error del servidor" - -msgid "Server error (500)" -msgstr "Error del servidor (500)" - -msgid "Server Error (500)" -msgstr "Error de servidor (500)" - -msgid "" -"There’s been an error. It’s been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"Ha ocurrido un error. Se ha reportado el mismo a los administradores del " -"sitio vía email y debería ser solucionado en breve. Le agradecemos por su " -"paciencia." - -msgid "Run the selected action" -msgstr "Ejecutar la acción seleccionada" - -msgid "Go" -msgstr "Ejecutar" - -msgid "Click here to select the objects across all pages" -msgstr "Haga click aquí para seleccionar los objetos de todas las páginas" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Seleccionar lo(s)/a(s) %(total_count)s %(module_name)s existentes" - -msgid "Clear selection" -msgstr "Borrar selección" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "Modelos en la aplicación %(name)s" - -msgid "Add" -msgstr "Agregar" - -msgid "View" -msgstr "Ver" - -msgid "You don’t have permission to view or edit anything." -msgstr "No tiene permiso para ver o modificar nada." - -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á " -"configurar opciones adicionales para el usuario." - -msgid "Enter a username and password." -msgstr "Introduzca un nombre de usuario y una contraseña." - -msgid "Change password" -msgstr "Cambiar contraseña" - -msgid "Please correct the error below." -msgstr "Por favor, corrija el error detallado mas abajo." - -msgid "Please correct the errors below." -msgstr "Por favor corrija los errores detallados abajo." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "" -"Introduzca una nueva contraseña para el usuario %(username)s." - -msgid "Welcome," -msgstr "Bienvenido/a," - -msgid "View site" -msgstr "Ver sitio" - -msgid "Documentation" -msgstr "Documentación" - -msgid "Log out" -msgstr "Cerrar sesión" - -#, python-format -msgid "Add %(name)s" -msgstr "Agregar %(name)s" - -msgid "History" -msgstr "Historia" - -msgid "View on site" -msgstr "Ver en el sitio" - -msgid "Filter" -msgstr "Filtrar" - -msgid "Clear all filters" -msgstr "Limpiar todos los filtros" - -msgid "Remove from sorting" -msgstr "Remover de ordenamiento" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Prioridad de ordenamiento: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "(des)activar ordenamiento" - -msgid "Delete" -msgstr "Eliminar" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Eliminar el %(object_name)s '%(escaped_object)s' provocaría la eliminación " -"de objetos relacionados, pero su cuenta no tiene permiso para eliminar los " -"siguientes tipos de objetos:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"Eliminar los %(object_name)s '%(escaped_object)s' requeriría eliminar " -"también los siguientes objetos relacionados protegidos:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"¿Está seguro de que desea eliminar los %(object_name)s \"%(escaped_object)s" -"\"? Se eliminarán los siguientes objetos relacionados:" - -msgid "Objects" -msgstr "Objectos" - -msgid "Yes, I’m sure" -msgstr "Si, estoy seguro" - -msgid "No, take me back" -msgstr "No, volver" - -msgid "Delete multiple objects" -msgstr "Eliminar múltiples objetos" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Eliminar el/los objetos %(objects_name)s seleccionados provocaría la " -"eliminación de objetos relacionados a los mismos, pero su cuenta de usuario " -"no tiene los permisos necesarios para eliminar los siguientes tipos de " -"objetos:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Eliminar el/los objetos %(objects_name)s seleccionados requeriría eliminar " -"también los siguientes objetos relacionados protegidos:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"¿Está seguro de que desea eliminar el/los objetos %(objects_name)s?. Todos " -"los siguientes objetos e ítems relacionados a los mismos también serán " -"eliminados:" - -msgid "Delete?" -msgstr "¿Eliminar?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " Por %(filter_title)s " - -msgid "Summary" -msgstr "Resumen" - -msgid "Recent actions" -msgstr "Acciones recientes" - -msgid "My actions" -msgstr "Mis acciones" - -msgid "None available" -msgstr "Ninguna disponible" - -msgid "Unknown content" -msgstr "Contenido desconocido" - -msgid "" -"Something’s wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Hay algún problema con su instalación de base de datos. Asegúrese de que las " -"tablas de la misma hayan sido creadas, y asegúrese de que el usuario " -"apropiado tenga permisos de lectura en la base de datos." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"Ud. se halla autenticado como %(username)s, pero no está autorizado a " -"acceder a esta página ¿Desea autenticarse con una cuenta diferente?" - -msgid "Forgotten your password or username?" -msgstr "¿Olvidó su contraseña o nombre de usuario?" - -msgid "Toggle navigation" -msgstr "" - -msgid "Date/time" -msgstr "Fecha/hora" - -msgid "User" -msgstr "Usuario" - -msgid "Action" -msgstr "Acción" - -msgid "" -"This object doesn’t have a change history. It probably wasn’t added via this " -"admin site." -msgstr "" -"Este objeto no tiene historia de modificaciones. Probablemente no fue " -"añadido usando este sitio de administración." - -msgid "Show all" -msgstr "Mostrar todos/as" - -msgid "Save" -msgstr "Guardar" - -msgid "Popup closing…" -msgstr "Cerrando ventana amergente…" - -msgid "Search" -msgstr "Buscar" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s resultado" -msgstr[1] "%(counter)s resultados" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "total: %(full_result_count)s" - -msgid "Save as new" -msgstr "Guardar como nuevo" - -msgid "Save and add another" -msgstr "Guardar y agregar otro" - -msgid "Save and continue editing" -msgstr "Guardar y continuar editando" - -msgid "Save and view" -msgstr "Guardar y ver" - -msgid "Close" -msgstr "Cerrar" - -#, python-format -msgid "Change selected %(model)s" -msgstr "Modificar %(model)s seleccionados/as" - -#, python-format -msgid "Add another %(model)s" -msgstr "Agregar otro/a %(model)s" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Eliminar %(model)s seleccionados/as" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Gracias por el tiempo que ha dedicado al sitio web hoy." - -msgid "Log in again" -msgstr "Identificarse de nuevo" - -msgid "Password change" -msgstr "Cambio de contraseña" - -msgid "Your password was changed." -msgstr "Su contraseña ha sido cambiada." - -msgid "" -"Please enter your old password, for security’s sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Por favor, por razones de seguridad, introduzca primero su contraseña " -"antigua y luego introduzca la nueva contraseña dos veces para verificar que " -"la ha escrito correctamente." - -msgid "Change my password" -msgstr "Cambiar mi contraseña" - -msgid "Password reset" -msgstr "Recuperar contraseña" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Su contraseña ha sido cambiada. Ahora puede continuar e ingresar." - -msgid "Password reset confirmation" -msgstr "Confirmación de reincialización de contraseña" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Por favor introduzca su nueva contraseña dos veces de manera que podamos " -"verificar que la ha escrito correctamente." - -msgid "New password:" -msgstr "Contraseña nueva:" - -msgid "Confirm password:" -msgstr "Confirme contraseña:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"El enlace de reinicialización de contraseña es inválido, posiblemente debido " -"a que ya ha sido usado. Por favor solicite una nueva reinicialización de " -"contraseña." - -msgid "" -"We’ve emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Se le han enviado instrucciones sobre cómo establecer su contraseña. Si la " -"dirección de email que proveyó existe, debería recibir las mismas pronto." - -msgid "" -"If you don’t receive an email, please make sure you’ve entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Si no ha recibido un email, por favor asegúrese de que ha introducido la " -"dirección de correo con la que se había registrado y verifique su carpeta de " -"Correo no deseado." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"Le enviamos este email porque Ud. ha solicitado que se reestablezca la " -"contraseña para su cuenta de usuario en %(site_name)s." - -msgid "Please go to the following page and choose a new password:" -msgstr "" -"Por favor visite la página que se muestra a continuación y elija una nueva " -"contraseña:" - -msgid "Your username, in case you’ve forgotten:" -msgstr "Su nombre de usuario en caso de que lo haya olvidado:" - -msgid "Thanks for using our site!" -msgstr "¡Gracias por usar nuestro sitio!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "El equipo de %(site_name)s" - -msgid "" -"Forgotten your password? Enter your email address below, and we’ll email " -"instructions for setting a new one." -msgstr "" -"¿Olvidó su contraseña? Introduzca su dirección de email abajo y le " -"enviaremos instrucciones para establecer una nueva." - -msgid "Email address:" -msgstr "Dirección de email:" - -msgid "Reset my password" -msgstr "Recuperar mi contraseña" - -msgid "All dates" -msgstr "Todas las fechas" - -#, python-format -msgid "Select %s" -msgstr "Seleccione %s" - -#, python-format -msgid "Select %s to change" -msgstr "Seleccione %s a modificar" - -#, python-format -msgid "Select %s to view" -msgstr "Seleccione %s que desea ver" - -msgid "Date:" -msgstr "Fecha:" - -msgid "Time:" -msgstr "Hora:" - -msgid "Lookup" -msgstr "Buscar" - -msgid "Currently:" -msgstr "Actualmente:" - -msgid "Change:" -msgstr "Cambiar:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es_AR/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es_AR/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 507cfd38..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es_AR/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es_AR/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es_AR/LC_MESSAGES/djangojs.po deleted file mode 100644 index 993c2584..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es_AR/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,228 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Jannis Leidel , 2011 -# Ramiro Morales, 2014-2016,2020 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-11 20:56+0200\n" -"PO-Revision-Date: 2020-05-13 14:51+0000\n" -"Last-Translator: Ramiro Morales\n" -"Language-Team: Spanish (Argentina) (http://www.transifex.com/django/django/" -"language/es_AR/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: es_AR\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "%s disponibles" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Esta es la lista de %s disponibles. Puede elegir algunos/as seleccionándolos/" -"as en el cuadro de abajo y luego haciendo click en la flecha \"Seleccionar\" " -"ubicada entre las dos listas." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "Escriba en esta caja para filtrar la lista de %s disponibles." - -msgid "Filter" -msgstr "Filtro" - -msgid "Choose all" -msgstr "Seleccionar todos/as" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Haga click para seleccionar todos/as los/as %s." - -msgid "Choose" -msgstr "Seleccionar" - -msgid "Remove" -msgstr "Eliminar" - -#, javascript-format -msgid "Chosen %s" -msgstr "%s seleccionados/as" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Esta es la lista de %s seleccionados. Puede deseleccionar algunos de ellos " -"activándolos en la lista de abajo y luego haciendo click en la flecha " -"\"Eliminar\" ubicada entre las dos listas." - -msgid "Remove all" -msgstr "Eliminar todos/as" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Haga clic para deselecionar todos/as los/as %s." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(sel)s de %(cnt)s seleccionado/a" -msgstr[1] "%(sel)s de %(cnt)s seleccionados/as" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Tiene modificaciones sin guardar en campos modificables individuales. Si " -"ejecuta una acción las mismas se perderán." - -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 "" -"Ha seleccionado una acción pero todavía no ha grabado sus cambios en campos " -"individuales. Por favor haga click en Ok para grabarlos. Luego necesitará re-" -"ejecutar la acción." - -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 "" -"Ha seleccionado una acción y no ha realizado ninguna modificación de campos " -"individuales. Es probable que deba usar el botón 'Ir' y no el botón " -"'Grabar'." - -msgid "Now" -msgstr "Ahora" - -msgid "Midnight" -msgstr "Medianoche" - -msgid "6 a.m." -msgstr "6 AM" - -msgid "Noon" -msgstr "Mediodía" - -msgid "6 p.m." -msgstr "6 PM" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "" -"Nota: Ud. se encuentra en una zona horaria que está %s hora adelantada " -"respecto a la del servidor." -msgstr[1] "" -"Nota: Ud. se encuentra en una zona horaria que está %s horas adelantada " -"respecto a la del servidor." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "" -"Nota: Ud. se encuentra en una zona horaria que está %s hora atrasada " -"respecto a la del servidor." -msgstr[1] "" -"Nota: Ud. se encuentra en una zona horaria que está %s horas atrasada " -"respecto a la del servidor." - -msgid "Choose a Time" -msgstr "Seleccione una Hora" - -msgid "Choose a time" -msgstr "Elija una hora" - -msgid "Cancel" -msgstr "Cancelar" - -msgid "Today" -msgstr "Hoy" - -msgid "Choose a Date" -msgstr "Seleccione una Fecha" - -msgid "Yesterday" -msgstr "Ayer" - -msgid "Tomorrow" -msgstr "Mañana" - -msgid "January" -msgstr "Enero" - -msgid "February" -msgstr "Febrero" - -msgid "March" -msgstr "Marzo" - -msgid "April" -msgstr "Abril" - -msgid "May" -msgstr "Mayo" - -msgid "June" -msgstr "Junio" - -msgid "July" -msgstr "Julio" - -msgid "August" -msgstr "Agosto" - -msgid "September" -msgstr "Setiembre" - -msgid "October" -msgstr "Octubre" - -msgid "November" -msgstr "Noviembre" - -msgid "December" -msgstr "Diciembre" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "D" - -msgctxt "one letter Monday" -msgid "M" -msgstr "L" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "M" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "M" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "J" - -msgctxt "one letter Friday" -msgid "F" -msgstr "V" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "S" - -msgid "Show" -msgstr "Mostrar" - -msgid "Hide" -msgstr "Ocultar" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es_CO/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es_CO/LC_MESSAGES/django.mo deleted file mode 100644 index f8060743..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es_CO/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es_CO/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es_CO/LC_MESSAGES/django.po deleted file mode 100644 index 5831fbfa..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es_CO/LC_MESSAGES/django.po +++ /dev/null @@ -1,697 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# abraham.martin , 2014 -# Axel Díaz , 2015 -# Claude Paroz , 2014 -# Ernesto Avilés Vázquez , 2015 -# franchukelly , 2011 -# guillem , 2012 -# Igor Támara , 2013 -# Jannis Leidel , 2011 -# Josue Naaman Nistal Guerra , 2014 -# Marc Garcia , 2011 -# Pablo, 2015 -# Veronicabh , 2015 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-09-19 19:11+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Spanish (Colombia) (http://www.transifex.com/django/django/" -"language/es_CO/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: es_CO\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "Eliminado/s %(count)d %(items)s satisfactoriamente." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "No se puede eliminar %(name)s" - -msgid "Are you sure?" -msgstr "¿Está seguro?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Eliminar %(verbose_name_plural)s seleccionado/s" - -msgid "Administration" -msgstr "Administración" - -msgid "All" -msgstr "Todo" - -msgid "Yes" -msgstr "Sí" - -msgid "No" -msgstr "No" - -msgid "Unknown" -msgstr "Desconocido" - -msgid "Any date" -msgstr "Cualquier fecha" - -msgid "Today" -msgstr "Hoy" - -msgid "Past 7 days" -msgstr "Últimos 7 días" - -msgid "This month" -msgstr "Este mes" - -msgid "This year" -msgstr "Este año" - -msgid "No date" -msgstr "" - -msgid "Has date" -msgstr "" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Por favor ingrese el %(username)s y la clave correctos para obtener cuenta " -"de personal. Observe que ambos campos pueden ser sensibles a mayúsculas." - -msgid "Action:" -msgstr "Acción:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Agregar %(verbose_name)s adicional." - -msgid "Remove" -msgstr "Eliminar" - -msgid "action time" -msgstr "hora de la acción" - -msgid "user" -msgstr "usuario" - -msgid "content type" -msgstr "tipo de contenido" - -msgid "object id" -msgstr "id del objeto" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/3/library/functions.html#repr) -msgid "object repr" -msgstr "repr del objeto" - -msgid "action flag" -msgstr "marca de acción" - -msgid "change message" -msgstr "mensaje de cambio" - -msgid "log entry" -msgstr "entrada de registro" - -msgid "log entries" -msgstr "entradas de registro" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "Añadidos \"%(object)s\"." - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "Cambiados \"%(object)s\" - %(changes)s" - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "Eliminado/a \"%(object)s.\"" - -msgid "LogEntry Object" -msgstr "Objeto de registro de Log" - -#, python-brace-format -msgid "Added {name} \"{object}\"." -msgstr "" - -msgid "Added." -msgstr "Añadido." - -msgid "and" -msgstr "y" - -#, python-brace-format -msgid "Changed {fields} for {name} \"{object}\"." -msgstr "" - -#, python-brace-format -msgid "Changed {fields}." -msgstr "" - -#, python-brace-format -msgid "Deleted {name} \"{object}\"." -msgstr "" - -msgid "No fields changed." -msgstr "No ha cambiado ningún campo." - -msgid "None" -msgstr "Ninguno" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" -"Mantenga presionado \"Control\" o \"Command\" en un Mac, para seleccionar " -"más de una opción." - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was changed successfully." -msgstr "" - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Se deben seleccionar elementos para poder realizar acciones sobre estos. No " -"se han modificado elementos." - -msgid "No action selected." -msgstr "No se seleccionó ninguna acción." - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "Se eliminó con éxito el %(name)s \"%(obj)s\"." - -#, python-format -msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" -msgstr "" - -#, python-format -msgid "Add %s" -msgstr "Añadir %s" - -#, python-format -msgid "Change %s" -msgstr "Modificar %s" - -msgid "Database error" -msgstr "Error en la base de datos" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s fué modificado con éxito." -msgstr[1] "%(count)s %(name)s fueron modificados con éxito." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s seleccionado" -msgstr[1] "%(total_count)s seleccionados en total" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "seleccionados 0 de %(cnt)s" - -#, python-format -msgid "Change history: %s" -msgstr "Histórico de modificaciones: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"La eliminación de %(class_name)s %(instance)s requeriría eliminar los " -"siguientes objetos relacionados protegidos: %(related_objects)s" - -msgid "Django site admin" -msgstr "Sitio de administración de Django" - -msgid "Django administration" -msgstr "Administración de Django" - -msgid "Site administration" -msgstr "Sitio administrativo" - -msgid "Log in" -msgstr "Iniciar sesión" - -#, python-format -msgid "%(app)s administration" -msgstr "Administración de %(app)s " - -msgid "Page not found" -msgstr "Página no encontrada" - -msgid "We're sorry, but the requested page could not be found." -msgstr "Lo sentimos, pero no se encuentra la página solicitada." - -msgid "Home" -msgstr "Inicio" - -msgid "Server error" -msgstr "Error del servidor" - -msgid "Server error (500)" -msgstr "Error del servidor (500)" - -msgid "Server Error (500)" -msgstr "Error de servidor (500)" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"Ha habido un error. Ha sido comunicado al administrador del sitio por correo " -"electrónico y debería solucionarse a la mayor brevedad. Gracias por su " -"paciencia y comprensión." - -msgid "Run the selected action" -msgstr "Ejecutar la acción seleccionada" - -msgid "Go" -msgstr "Ir" - -msgid "Click here to select the objects across all pages" -msgstr "Pulse aquí para seleccionar los objetos a través de todas las páginas" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Seleccionar todos los %(total_count)s %(module_name)s" - -msgid "Clear selection" -msgstr "Limpiar selección" - -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á editar " -"el resto de opciones del usuario." - -msgid "Enter a username and password." -msgstr "Ingrese un nombre de usuario y contraseña" - -msgid "Change password" -msgstr "Cambiar contraseña" - -msgid "Please correct the error below." -msgstr "Por favor, corrija los siguientes errores." - -msgid "Please correct the errors below." -msgstr "Por favor, corrija los siguientes errores." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "" -"Ingrese una nueva contraseña para el usuario %(username)s." - -msgid "Welcome," -msgstr "Bienvenido/a," - -msgid "View site" -msgstr "Ver el sitio" - -msgid "Documentation" -msgstr "Documentación" - -msgid "Log out" -msgstr "Terminar sesión" - -#, python-format -msgid "Add %(name)s" -msgstr "Añadir %(name)s" - -msgid "History" -msgstr "Histórico" - -msgid "View on site" -msgstr "Ver en el sitio" - -msgid "Filter" -msgstr "Filtro" - -msgid "Remove from sorting" -msgstr "Elimina de la ordenación" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Prioridad de la ordenación: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Activar la ordenación" - -msgid "Delete" -msgstr "Eliminar" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Eliminar el %(object_name)s '%(escaped_object)s' provocaría la eliminación " -"de objetos relacionados, pero su cuenta no tiene permiso para borrar los " -"siguientes tipos de objetos:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"La eliminación de %(object_name)s %(escaped_object)s requeriría eliminar los " -"siguientes objetos relacionados protegidos:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"¿Está seguro de que quiere borrar los %(object_name)s \"%(escaped_object)s" -"\"? Se borrarán los siguientes objetos relacionados:" - -msgid "Objects" -msgstr "Objetos" - -msgid "Yes, I'm sure" -msgstr "Sí, estoy seguro" - -msgid "No, take me back" -msgstr "No, llévame atrás" - -msgid "Delete multiple objects" -msgstr "Eliminar múltiples objetos." - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"La eliminación del %(objects_name)s seleccionado resultaría en el borrado de " -"objetos relacionados, pero su cuenta no tiene permisos para borrar los " -"siguientes tipos de objetos:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"La eliminación de %(objects_name)s seleccionado requeriría el borrado de los " -"siguientes objetos protegidos relacionados:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"¿Está usted seguro que quiere eliminar el %(objects_name)s seleccionado? " -"Todos los siguientes objetos y sus elementos relacionados serán borrados:" - -msgid "Change" -msgstr "Modificar" - -msgid "Delete?" -msgstr "¿Eliminar?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " Por %(filter_title)s " - -msgid "Summary" -msgstr "Resumen" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "Modelos en la aplicación %(name)s" - -msgid "Add" -msgstr "Añadir" - -msgid "You don't have permission to edit anything." -msgstr "No tiene permiso para editar nada." - -msgid "Recent actions" -msgstr "" - -msgid "My actions" -msgstr "" - -msgid "None available" -msgstr "Ninguno disponible" - -msgid "Unknown content" -msgstr "Contenido desconocido" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Algo va mal con la instalación de la base de datos. Asegúrese de que las " -"tablas necesarias han sido creadas, y de que la base de datos puede ser " -"leída por el usuario apropiado." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"Se ha autenticado como %(username)s, pero no está autorizado a acceder a " -"esta página. ¿Desea autenticarse con una cuenta diferente?" - -msgid "Forgotten your password or username?" -msgstr "¿Ha olvidado la contraseña o el nombre de usuario?" - -msgid "Date/time" -msgstr "Fecha/hora" - -msgid "User" -msgstr "Usuario" - -msgid "Action" -msgstr "Acción" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" -"Este objeto no tiene histórico de cambios. Probablemente no fue añadido " -"usando este sitio de administración." - -msgid "Show all" -msgstr "Mostrar todo" - -msgid "Save" -msgstr "Grabar" - -msgid "Popup closing..." -msgstr "" - -#, python-format -msgid "Change selected %(model)s" -msgstr "Cambiar %(model)s seleccionado" - -#, python-format -msgid "Add another %(model)s" -msgstr "Añadir otro %(model)s" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Eliminar %(model)s seleccionada/o" - -msgid "Search" -msgstr "Buscar" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s resultado" -msgstr[1] "%(counter)s resultados" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s total" - -msgid "Save as new" -msgstr "Grabar como nuevo" - -msgid "Save and add another" -msgstr "Grabar y añadir otro" - -msgid "Save and continue editing" -msgstr "Grabar y continuar editando" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Gracias por el tiempo que ha dedicado hoy al sitio web." - -msgid "Log in again" -msgstr "Iniciar sesión de nuevo" - -msgid "Password change" -msgstr "Cambio de contraseña" - -msgid "Your password was changed." -msgstr "Su contraseña ha sido cambiada." - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Por favor, ingrese su contraseña antigua, por seguridad, y después " -"introduzca la nueva contraseña dos veces para verificar que la ha escrito " -"correctamente." - -msgid "Change my password" -msgstr "Cambiar mi contraseña" - -msgid "Password reset" -msgstr "Restablecer contraseña" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "" -"Su contraseña ha sido establecida. Ahora puede seguir adelante e iniciar " -"sesión." - -msgid "Password reset confirmation" -msgstr "Confirmación de restablecimiento de contraseña" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Por favor, ingrese su contraseña nueva dos veces para verificar que la ha " -"escrito correctamente." - -msgid "New password:" -msgstr "Contraseña nueva:" - -msgid "Confirm password:" -msgstr "Confirme contraseña:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"El enlace de restablecimiento de contraseña era inválido, seguramente porque " -"se haya usado antes. Por favor, solicite un nuevo restablecimiento de " -"contraseña." - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Le hemos enviado por email las instrucciones para restablecer la contraseña, " -"si es que existe una cuenta con la dirección electrónica que indicó. Debería " -"recibirlas en breve." - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Si no recibe un correo, por favor asegúrese de que ha introducido la " -"dirección de correo con la que se registró y verifique su carpeta de spam." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"Ha recibido este correo electrónico porque ha solicitado restablecer la " -"contraseña para su cuenta en %(site_name)s." - -msgid "Please go to the following page and choose a new password:" -msgstr "Por favor, vaya a la página siguiente y escoja una nueva contraseña." - -msgid "Your username, in case you've forgotten:" -msgstr "Su nombre de usuario, en caso de haberlo olvidado:" - -msgid "Thanks for using our site!" -msgstr "¡Gracias por usar nuestro sitio!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "El equipo de %(site_name)s" - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" -"¿Ha olvidado su clave? Ingrese su dirección de correo electrónico a " -"continuación y le enviaremos las instrucciones para establecer una nueva." - -msgid "Email address:" -msgstr "Correo electrónico:" - -msgid "Reset my password" -msgstr "Restablecer mi contraseña" - -msgid "All dates" -msgstr "Todas las fechas" - -#, python-format -msgid "Select %s" -msgstr "Escoja %s" - -#, python-format -msgid "Select %s to change" -msgstr "Escoja %s a modificar" - -msgid "Date:" -msgstr "Fecha:" - -msgid "Time:" -msgstr "Hora:" - -msgid "Lookup" -msgstr "Buscar" - -msgid "Currently:" -msgstr "Actualmente:" - -msgid "Change:" -msgstr "Cambiar:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es_CO/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es_CO/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 3d428a04..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es_CO/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es_CO/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es_CO/LC_MESSAGES/djangojs.po deleted file mode 100644 index 4bcc1ccc..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es_CO/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,223 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Ernesto Avilés Vázquez , 2015 -# Jannis Leidel , 2011 -# Josue Naaman Nistal Guerra , 2014 -# Leonardo J. Caballero G. , 2011 -# Veronicabh , 2015 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" -"PO-Revision-Date: 2017-09-20 03:01+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Spanish (Colombia) (http://www.transifex.com/django/django/" -"language/es_CO/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: es_CO\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "%s Disponibles" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Esta es la lista de %s disponibles. Puede elegir algunos seleccionándolos en " -"la caja inferior y luego haciendo clic en la flecha \"Elegir\" que hay entre " -"las dos cajas." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "Escriba en este cuadro para filtrar la lista de %s disponibles" - -msgid "Filter" -msgstr "Filtro" - -msgid "Choose all" -msgstr "Selecciona todos" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Haga clic para seleccionar todos los %s de una vez" - -msgid "Choose" -msgstr "Elegir" - -msgid "Remove" -msgstr "Eliminar" - -#, javascript-format -msgid "Chosen %s" -msgstr "%s elegidos" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Esta es la lista de los %s elegidos. Puede eliminar algunos seleccionándolos " -"en la caja inferior y luego haciendo click en la flecha \"Eliminar\" que hay " -"entre las dos cajas." - -msgid "Remove all" -msgstr "Eliminar todos" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Haz clic para eliminar todos los %s elegidos" - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(sel)s de %(cnt)s seleccionado" -msgstr[1] "%(sel)s de %(cnt)s seleccionados" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Tiene cambios sin guardar en campos editables individuales. Si ejecuta una " -"acción, los cambios no guardados se perderán." - -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 "" -"Ha seleccionado una acción, pero no ha guardado los cambios en los campos " -"individuales todavía. Pulse OK para guardar. Tendrá que volver a ejecutar la " -"acción." - -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 "" -"Ha seleccionado una acción y no ha hecho ningún cambio en campos " -"individuales. Probablemente esté buscando el botón Ejecutar en lugar del " -"botón Guardar." - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Nota: Usted esta a %s horas por delante de la hora del servidor." -msgstr[1] "Nota: Usted va %s horas por delante de la hora del servidor." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Nota: Usted esta a %s hora de retraso de tiempo de servidor." -msgstr[1] "Nota: Usted va %s horas por detrás de la hora del servidor." - -msgid "Now" -msgstr "Ahora" - -msgid "Choose a Time" -msgstr "Elija una hora" - -msgid "Choose a time" -msgstr "Elija una hora" - -msgid "Midnight" -msgstr "Medianoche" - -msgid "6 a.m." -msgstr "6 a.m." - -msgid "Noon" -msgstr "Mediodía" - -msgid "6 p.m." -msgstr "6 p.m." - -msgid "Cancel" -msgstr "Cancelar" - -msgid "Today" -msgstr "Hoy" - -msgid "Choose a Date" -msgstr "Elija una fecha" - -msgid "Yesterday" -msgstr "Ayer" - -msgid "Tomorrow" -msgstr "Mañana" - -msgid "January" -msgstr "" - -msgid "February" -msgstr "" - -msgid "March" -msgstr "" - -msgid "April" -msgstr "" - -msgid "May" -msgstr "" - -msgid "June" -msgstr "" - -msgid "July" -msgstr "" - -msgid "August" -msgstr "" - -msgid "September" -msgstr "" - -msgid "October" -msgstr "" - -msgid "November" -msgstr "" - -msgid "December" -msgstr "" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "" - -msgctxt "one letter Monday" -msgid "M" -msgstr "" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "" - -msgctxt "one letter Friday" -msgid "F" -msgstr "" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "" - -msgid "Show" -msgstr "Mostrar" - -msgid "Hide" -msgstr "Esconder" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es_MX/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es_MX/LC_MESSAGES/django.mo deleted file mode 100644 index f141d32b..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es_MX/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es_MX/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es_MX/LC_MESSAGES/django.po deleted file mode 100644 index fd4d403e..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es_MX/LC_MESSAGES/django.po +++ /dev/null @@ -1,702 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Abe Estrada, 2011-2013 -# Alex Dzul , 2015 -# Gustavo Jimenez , 2020 -# Jesús Bautista , 2020 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-14 19:53+0200\n" -"PO-Revision-Date: 2020-07-14 22:38+0000\n" -"Last-Translator: Transifex Bot <>\n" -"Language-Team: Spanish (Mexico) (http://www.transifex.com/django/django/" -"language/es_MX/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: es_MX\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "Se eliminaron con éxito %(count)d %(items)s." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "No se puede eliminar %(name)s " - -msgid "Are you sure?" -msgstr "¿Está seguro?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Eliminar %(verbose_name_plural)s seleccionados/as" - -msgid "Administration" -msgstr "Administración" - -msgid "All" -msgstr "Todos/as" - -msgid "Yes" -msgstr "Sí" - -msgid "No" -msgstr "No" - -msgid "Unknown" -msgstr "Desconocido" - -msgid "Any date" -msgstr "Cualquier fecha" - -msgid "Today" -msgstr "Hoy" - -msgid "Past 7 days" -msgstr "Últimos 7 días" - -msgid "This month" -msgstr "Este mes" - -msgid "This year" -msgstr "Este año" - -msgid "No date" -msgstr "Sin fecha" - -msgid "Has date" -msgstr "Tiene fecha" - -msgid "Empty" -msgstr "" - -msgid "Not empty" -msgstr "" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Por favor introduza %(username)s y contraseña correctos de una cuenta de " -"staff. Note que puede que ambos campos sean estrictos en relación a " -"diferencias entre mayúsculas y minúsculas." - -msgid "Action:" -msgstr "Acción:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Agregar otro/a %(verbose_name)s" - -msgid "Remove" -msgstr "Eliminar" - -msgid "Addition" -msgstr "Adición" - -msgid "Change" -msgstr "Modificar" - -msgid "Deletion" -msgstr "Eliminación" - -msgid "action time" -msgstr "hora de la acción" - -msgid "user" -msgstr "usuario" - -msgid "content type" -msgstr "tipo de contenido" - -msgid "object id" -msgstr "id de objeto" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "repr de objeto" - -msgid "action flag" -msgstr "marca de acción" - -msgid "change message" -msgstr "mensaje de cambio" - -msgid "log entry" -msgstr "entrada de registro" - -msgid "log entries" -msgstr "entradas de registro" - -#, python-format -msgid "Added “%(object)s”." -msgstr "" - -#, python-format -msgid "Changed “%(object)s” — %(changes)s" -msgstr "" - -#, python-format -msgid "Deleted “%(object)s.”" -msgstr "" - -msgid "LogEntry Object" -msgstr "Objeto de registro de Log" - -#, python-brace-format -msgid "Added {name} “{object}”." -msgstr "" - -msgid "Added." -msgstr "Agregado." - -msgid "and" -msgstr "y" - -#, python-brace-format -msgid "Changed {fields} for {name} “{object}”." -msgstr "" - -#, python-brace-format -msgid "Changed {fields}." -msgstr "" - -#, python-brace-format -msgid "Deleted {name} “{object}”." -msgstr "" - -msgid "No fields changed." -msgstr "No ha modificado ningún campo." - -msgid "None" -msgstr "Ninguno" - -msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." -msgstr "" - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully." -msgstr "El {name} \"{obj}\" se agregó correctamente." - -msgid "You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} “{obj}” was added successfully. You may add another {name} below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} “{obj}” was changed successfully." -msgstr "" - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Deben existir items seleccionados para poder realizar acciones sobre los " -"mismos. No se modificó ningún item." - -msgid "No action selected." -msgstr "No se ha seleccionado ninguna acción." - -#, python-format -msgid "The %(name)s “%(obj)s” was deleted successfully." -msgstr "" - -#, python-format -msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" -msgstr "" - -#, python-format -msgid "Add %s" -msgstr "Agregar %s" - -#, python-format -msgid "Change %s" -msgstr "Modificar %s" - -#, python-format -msgid "View %s" -msgstr "" - -msgid "Database error" -msgstr "Error en la base de datos" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "Se ha modificado con éxito %(count)s %(name)s." -msgstr[1] "Se han modificado con éxito %(count)s %(name)s." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s seleccionados/as" -msgstr[1] "Todos/as (%(total_count)s en total) han sido seleccionados/as" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "0 de %(cnt)s seleccionados/as" - -#, python-format -msgid "Change history: %s" -msgstr "Historia de modificaciones: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"La eliminación de %(class_name)s %(instance)s provocaría la eliminación de " -"los siguientes objetos relacionados protegidos: %(related_objects)s" - -msgid "Django site admin" -msgstr "Sitio de administración de Django" - -msgid "Django administration" -msgstr "Administración de Django" - -msgid "Site administration" -msgstr "Administración del sitio" - -msgid "Log in" -msgstr "Identificarse" - -#, python-format -msgid "%(app)s administration" -msgstr "Administración de %(app)s " - -msgid "Page not found" -msgstr "Página no encontrada" - -msgid "We’re sorry, but the requested page could not be found." -msgstr "" - -msgid "Home" -msgstr "Inicio" - -msgid "Server error" -msgstr "Error del servidor" - -msgid "Server error (500)" -msgstr "Error del servidor (500)" - -msgid "Server Error (500)" -msgstr "Error de servidor (500)" - -msgid "" -"There’s been an error. It’s been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" - -msgid "Run the selected action" -msgstr "Ejecutar la acción seleccionada" - -msgid "Go" -msgstr "Ejecutar" - -msgid "Click here to select the objects across all pages" -msgstr "Haga click aquí para seleccionar los objetos de todas las páginas" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Seleccionar lo(s)/a(s) %(total_count)s de %(module_name)s" - -msgid "Clear selection" -msgstr "Borrar selección" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "Modelos en la aplicación %(name)s" - -msgid "Add" -msgstr "Agregar" - -msgid "View" -msgstr "Vista" - -msgid "You don’t have permission to view or edit anything." -msgstr "" - -msgid "" -"First, enter a username and password. Then, you’ll be able to edit more user " -"options." -msgstr "" - -msgid "Enter a username and password." -msgstr "Introduzca un nombre de usuario y una contraseña." - -msgid "Change password" -msgstr "Cambiar contraseña" - -msgid "Please correct the error below." -msgstr "" - -msgid "Please correct the errors below." -msgstr "Por favor, corrija los siguientes errores." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "" -"Introduzca una nueva contraseña para el usuario %(username)s." - -msgid "Welcome," -msgstr "Bienvenido," - -msgid "View site" -msgstr "Ver sitio" - -msgid "Documentation" -msgstr "Documentación" - -msgid "Log out" -msgstr "Cerrar sesión" - -#, python-format -msgid "Add %(name)s" -msgstr "Agregar %(name)s" - -msgid "History" -msgstr "Historia" - -msgid "View on site" -msgstr "Ver en el sitio" - -msgid "Filter" -msgstr "Filtrar" - -msgid "Clear all filters" -msgstr "" - -msgid "Remove from sorting" -msgstr "Elimina de la clasificación" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Prioridad de la clasificación: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Activar la clasificación" - -msgid "Delete" -msgstr "Eliminar" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Eliminar el %(object_name)s '%(escaped_object)s' provocaría la eliminación " -"de objetos relacionados, pero su cuenta no tiene permiso para eliminar los " -"siguientes tipos de objetos:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"Para eliminar %(object_name)s '%(escaped_object)s' requiere eliminar los " -"siguientes objetos relacionados protegidos:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"¿Está seguro de que quiere eliminar los %(object_name)s \"%(escaped_object)s" -"\"? Se eliminarán los siguientes objetos relacionados:" - -msgid "Objects" -msgstr "Objetos" - -msgid "Yes, I’m sure" -msgstr "" - -msgid "No, take me back" -msgstr "" - -msgid "Delete multiple objects" -msgstr "Eliminar múltiples objetos" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Para eliminar %(objects_name)s requiere eliminar los objetos relacionado, " -"pero tu cuenta no tiene permisos para eliminar los siguientes tipos de " -"objetos:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Eliminar el seleccionado %(objects_name)s requiere eliminar los siguientes " -"objetos relacionados protegidas:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"¿Está seguro que desea eliminar el seleccionado %(objects_name)s ? Todos los " -"objetos siguientes y sus elementos asociados serán eliminados:" - -msgid "Delete?" -msgstr "Eliminar?" - -#, python-format -msgid " By %(filter_title)s " -msgstr "Por %(filter_title)s" - -msgid "Summary" -msgstr "Resúmen" - -msgid "Recent actions" -msgstr "" - -msgid "My actions" -msgstr "Mis acciones" - -msgid "None available" -msgstr "Ninguna disponible" - -msgid "Unknown content" -msgstr "Contenido desconocido" - -msgid "" -"Something’s wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" - -msgid "Forgotten your password or username?" -msgstr "¿Ha olvidado su contraseña o nombre de usuario?" - -msgid "Toggle navigation" -msgstr "" - -msgid "Date/time" -msgstr "Fecha/hora" - -msgid "User" -msgstr "Usuario" - -msgid "Action" -msgstr "Acción" - -msgid "" -"This object doesn’t have a change history. It probably wasn’t added via this " -"admin site." -msgstr "" - -msgid "Show all" -msgstr "Mostrar todos/as" - -msgid "Save" -msgstr "Guardar" - -msgid "Popup closing…" -msgstr "" - -msgid "Search" -msgstr "Buscar" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s results" -msgstr[1] "%(counter)s resultados" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "total: %(full_result_count)s" - -msgid "Save as new" -msgstr "Guardar como nuevo" - -msgid "Save and add another" -msgstr "Guardar y agregar otro" - -msgid "Save and continue editing" -msgstr "Guardar y continuar editando" - -msgid "Save and view" -msgstr "" - -msgid "Close" -msgstr "Cerrar" - -#, python-format -msgid "Change selected %(model)s" -msgstr "" - -#, python-format -msgid "Add another %(model)s" -msgstr "" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Gracias por el tiempo que ha dedicado al sitio web hoy." - -msgid "Log in again" -msgstr "Identificarse de nuevo" - -msgid "Password change" -msgstr "Cambio de contraseña" - -msgid "Your password was changed." -msgstr "Su contraseña ha sido cambiada." - -msgid "" -"Please enter your old password, for security’s sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" - -msgid "Change my password" -msgstr "Cambiar mi contraseña" - -msgid "Password reset" -msgstr "Recuperar contraseña" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Se le ha enviado su contraseña. Ahora puede continuar e ingresar." - -msgid "Password reset confirmation" -msgstr "Confirmación de reincialización de contraseña" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Por favor introduzca su nueva contraseña dos veces de manera que podamos " -"verificar que la ha escrito correctamente." - -msgid "New password:" -msgstr "Nueva contraseña:" - -msgid "Confirm password:" -msgstr "Confirme contraseña:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"El enlace de reinicialización de contraseña es inválido, posiblemente debido " -"a que ya ha sido usado. Por favor solicite una nueva reinicialización de " -"contraseña." - -msgid "" -"We’ve emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" - -msgid "" -"If you don’t receive an email, please make sure you’ve entered the address " -"you registered with, and check your spam folder." -msgstr "" - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"Usted está recibiendo este correo electrónico porque ha solicitado un " -"restablecimiento de contraseña para la cuenta de usuario en %(site_name)s." - -msgid "Please go to the following page and choose a new password:" -msgstr "" -"Por favor visite la página que se muestra a continuación y elija una nueva " -"contraseña:" - -msgid "Your username, in case you’ve forgotten:" -msgstr "" - -msgid "Thanks for using our site!" -msgstr "¡Gracias por usar nuestro sitio!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "El equipo de %(site_name)s" - -msgid "" -"Forgotten your password? Enter your email address below, and we’ll email " -"instructions for setting a new one." -msgstr "" - -msgid "Email address:" -msgstr "Correo electrónico:" - -msgid "Reset my password" -msgstr "Recuperar mi contraseña" - -msgid "All dates" -msgstr "Todas las fechas" - -#, python-format -msgid "Select %s" -msgstr "Seleccione %s" - -#, python-format -msgid "Select %s to change" -msgstr "Seleccione %s a modificar" - -#, python-format -msgid "Select %s to view" -msgstr "" - -msgid "Date:" -msgstr "Fecha:" - -msgid "Time:" -msgstr "Hora:" - -msgid "Lookup" -msgstr "Buscar" - -msgid "Currently:" -msgstr "Actualmente:" - -msgid "Change:" -msgstr "Modificar:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es_MX/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es_MX/LC_MESSAGES/djangojs.mo deleted file mode 100644 index fbd765ae..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es_MX/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es_MX/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es_MX/LC_MESSAGES/djangojs.po deleted file mode 100644 index 76af2f30..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es_MX/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,219 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Abraham Estrada, 2011-2012 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" -"PO-Revision-Date: 2017-09-19 16:41+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Spanish (Mexico) (http://www.transifex.com/django/django/" -"language/es_MX/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: es_MX\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "Disponible %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Esta es la lista de los %s disponibles. Usted puede elegir algunos " -"seleccionándolos en el cuadro de abajo y haciendo click en la flecha " -"\"Seleccionar\" entre las dos cajas." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "Escriba en esta casilla para filtrar la lista de %s disponibles." - -msgid "Filter" -msgstr "Filtro" - -msgid "Choose all" -msgstr "Seleccionar todos" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Da click para seleccionar todos los %s de una vez." - -msgid "Choose" -msgstr "Seleccionar" - -msgid "Remove" -msgstr "Quitar" - -#, javascript-format -msgid "Chosen %s" -msgstr "%s seleccionados" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Esta es la lista de los %s elegidos. Usted puede eliminar algunos " -"seleccionándolos en el cuadro de abajo y haciendo click en la flecha " -"\"Eliminar\" entre las dos cajas." - -msgid "Remove all" -msgstr "Eliminar todos" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Da click para eliminar todos los %s seleccionados de una vez." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(sel)s de %(cnt)s seleccionado/a" -msgstr[1] "%(sel)s de %(cnt)s seleccionados/as" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Tiene modificaciones sin guardar en campos modificables individuales. Si " -"ejecuta una acción las mismas se perderán." - -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 "" -"Ha seleccionado una acción, pero todavía no ha grabado las modificaciones " -"que ha realizado en campos individuales. Por favor haga click en Aceptar " -"para grabarlas. Necesitará ejecutar la acción nuevamente." - -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 "" -"Ha seleccionado una acción pero no ha realizado ninguna modificación en " -"campos individuales. Es probable que lo que necesite usar en realidad sea el " -"botón Ejecutar y no el botón Guardar." - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "" -msgstr[1] "" - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "" -msgstr[1] "" - -msgid "Now" -msgstr "Ahora" - -msgid "Choose a Time" -msgstr "" - -msgid "Choose a time" -msgstr "Elija una hora" - -msgid "Midnight" -msgstr "Medianoche" - -msgid "6 a.m." -msgstr "6 a.m." - -msgid "Noon" -msgstr "Mediodía" - -msgid "6 p.m." -msgstr "" - -msgid "Cancel" -msgstr "Cancelar" - -msgid "Today" -msgstr "Hoy" - -msgid "Choose a Date" -msgstr "" - -msgid "Yesterday" -msgstr "Ayer" - -msgid "Tomorrow" -msgstr "Mañana" - -msgid "January" -msgstr "" - -msgid "February" -msgstr "" - -msgid "March" -msgstr "" - -msgid "April" -msgstr "" - -msgid "May" -msgstr "" - -msgid "June" -msgstr "" - -msgid "July" -msgstr "" - -msgid "August" -msgstr "" - -msgid "September" -msgstr "" - -msgid "October" -msgstr "" - -msgid "November" -msgstr "" - -msgid "December" -msgstr "" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "" - -msgctxt "one letter Monday" -msgid "M" -msgstr "" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "" - -msgctxt "one letter Friday" -msgid "F" -msgstr "" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "" - -msgid "Show" -msgstr "Mostrar" - -msgid "Hide" -msgstr "Ocultar" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es_VE/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es_VE/LC_MESSAGES/django.mo deleted file mode 100644 index ab04e3f3..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es_VE/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es_VE/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es_VE/LC_MESSAGES/django.po deleted file mode 100644 index c9e1509b..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es_VE/LC_MESSAGES/django.po +++ /dev/null @@ -1,698 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Eduardo , 2017 -# Hotellook, 2014 -# Leonardo J. Caballero G. , 2016 -# Yoel Acevedo, 2017 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-09-19 19:11+0000\n" -"Last-Translator: Eduardo \n" -"Language-Team: Spanish (Venezuela) (http://www.transifex.com/django/django/" -"language/es_VE/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: es_VE\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "Eliminado %(count)d %(items)s satisfactoriamente." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "No se puede eliminar %(name)s" - -msgid "Are you sure?" -msgstr "¿Está seguro?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Eliminar %(verbose_name_plural)s seleccionado" - -msgid "Administration" -msgstr "Administración" - -msgid "All" -msgstr "Todo" - -msgid "Yes" -msgstr "Sí" - -msgid "No" -msgstr "No" - -msgid "Unknown" -msgstr "Desconocido" - -msgid "Any date" -msgstr "Cualquier fecha" - -msgid "Today" -msgstr "Hoy" - -msgid "Past 7 days" -msgstr "Últimos 7 días" - -msgid "This month" -msgstr "Este mes" - -msgid "This year" -msgstr "Este año" - -msgid "No date" -msgstr "Sin fecha" - -msgid "Has date" -msgstr "Tiene fecha" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Por favor, ingrese el %(username)s y la clave correctos para obtener cuenta " -"de personal. Observe que ambos campos pueden ser sensibles a mayúsculas." - -msgid "Action:" -msgstr "Acción:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Añadir otro %(verbose_name)s." - -msgid "Remove" -msgstr "Eliminar" - -msgid "action time" -msgstr "hora de la acción" - -msgid "user" -msgstr "usuario" - -msgid "content type" -msgstr "tipo de contenido" - -msgid "object id" -msgstr "id del objeto" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/3/library/functions.html#repr) -msgid "object repr" -msgstr "repr del objeto" - -msgid "action flag" -msgstr "marca de acción" - -msgid "change message" -msgstr "mensaje de cambio" - -msgid "log entry" -msgstr "entrada de registro" - -msgid "log entries" -msgstr "entradas de registro" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "Añadidos \"%(object)s\"." - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "Cambiados \"%(object)s\" - %(changes)s" - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "Eliminado \"%(object)s.\"" - -msgid "LogEntry Object" -msgstr "Objeto LogEntry" - -#, python-brace-format -msgid "Added {name} \"{object}\"." -msgstr "Agregado {name} \"{object}\"." - -msgid "Added." -msgstr "Añadido." - -msgid "and" -msgstr "y" - -#, python-brace-format -msgid "Changed {fields} for {name} \"{object}\"." -msgstr "Modificado {fields} por {name} \"{object}\"." - -#, python-brace-format -msgid "Changed {fields}." -msgstr "Modificado {fields}." - -#, python-brace-format -msgid "Deleted {name} \"{object}\"." -msgstr "Eliminado {name} \"{object}\"." - -msgid "No fields changed." -msgstr "No ha cambiado ningún campo." - -msgid "None" -msgstr "Ninguno" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" -"Mantenga presionado \"Control\" o \"Command\" en un Mac, para seleccionar " -"más de una opción." - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" -"El {name} \"{obj}\" fue agregado satisfactoriamente. Puede editarlo " -"nuevamente a continuación. " - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may add another {name} " -"below." -msgstr "" -"El {name} \"{obj}\" fue agregado satisfactoriamente. Puede agregar otro " -"{name} a continuación. " - -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "El {name} \"{obj}\" fue cambiado satisfactoriamente." - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." -msgstr "" -"El {name} \"{obj}\" fue cambiado satisfactoriamente. Puede editarlo " -"nuevamente a continuación. " - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may add another {name} " -"below." -msgstr "" -"El {name} \"{obj}\" fue cambiado satisfactoriamente. Puede agregar otro " -"{name} a continuación." - -#, python-brace-format -msgid "The {name} \"{obj}\" was changed successfully." -msgstr "El {name} \"{obj}\" fue cambiado satisfactoriamente." - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Se deben seleccionar elementos para poder realizar acciones sobre estos. No " -"se han modificado elementos." - -msgid "No action selected." -msgstr "No se seleccionó ninguna acción." - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "Se eliminó con éxito el %(name)s \"%(obj)s\"." - -#, python-format -msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" -msgstr "%(name)s con ID \"%(key)s\" no existe. ¿Tal vez fue eliminada?" - -#, python-format -msgid "Add %s" -msgstr "Añadir %s" - -#, python-format -msgid "Change %s" -msgstr "Modificar %s" - -msgid "Database error" -msgstr "Error en la base de datos" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s fué modificado con éxito." -msgstr[1] "%(count)s %(name)s fueron modificados con éxito." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s seleccionado" -msgstr[1] "%(total_count)s seleccionados en total" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "0 de %(cnt)s seleccionado" - -#, python-format -msgid "Change history: %s" -msgstr "Histórico de modificaciones: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"La eliminación de %(class_name)s %(instance)s requeriría eliminar los " -"siguientes objetos relacionados protegidos: %(related_objects)s" - -msgid "Django site admin" -msgstr "Sitio de administración de Django" - -msgid "Django administration" -msgstr "Administración de Django" - -msgid "Site administration" -msgstr "Sitio de administración" - -msgid "Log in" -msgstr "Iniciar sesión" - -#, python-format -msgid "%(app)s administration" -msgstr "Administración de %(app)s " - -msgid "Page not found" -msgstr "Página no encontrada" - -msgid "We're sorry, but the requested page could not be found." -msgstr "Lo sentimos, pero no se encuentra la página solicitada." - -msgid "Home" -msgstr "Inicio" - -msgid "Server error" -msgstr "Error del servidor" - -msgid "Server error (500)" -msgstr "Error del servidor (500)" - -msgid "Server Error (500)" -msgstr "Error de servidor (500)" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"Ha habido un error. Ha sido comunicado al administrador del sitio por correo " -"electrónico y debería solucionarse a la mayor brevedad. Gracias por su " -"paciencia y comprensión." - -msgid "Run the selected action" -msgstr "Ejecutar la acción seleccionada" - -msgid "Go" -msgstr "Ir" - -msgid "Click here to select the objects across all pages" -msgstr "Pulse aquí para seleccionar los objetos a través de todas las páginas" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Seleccionar todos los %(total_count)s %(module_name)s" - -msgid "Clear selection" -msgstr "Limpiar selección" - -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á editar " -"el resto de opciones del usuario." - -msgid "Enter a username and password." -msgstr "Ingrese un nombre de usuario y contraseña" - -msgid "Change password" -msgstr "Cambiar contraseña" - -msgid "Please correct the error below." -msgstr "Por favor, corrija el siguiente error." - -msgid "Please correct the errors below." -msgstr "Por favor, corrija los siguientes errores." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "" -"Ingrese una nueva contraseña para el usuario %(username)s." - -msgid "Welcome," -msgstr "Bienvenido," - -msgid "View site" -msgstr "Ver el sitio" - -msgid "Documentation" -msgstr "Documentación" - -msgid "Log out" -msgstr "Terminar sesión" - -#, python-format -msgid "Add %(name)s" -msgstr "Añadir %(name)s" - -msgid "History" -msgstr "Histórico" - -msgid "View on site" -msgstr "Ver en el sitio" - -msgid "Filter" -msgstr "Filtro" - -msgid "Remove from sorting" -msgstr "Elimina de la ordenación" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Prioridad de la ordenación: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Activar la ordenación" - -msgid "Delete" -msgstr "Eliminar" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Eliminar el %(object_name)s '%(escaped_object)s' provocaría la eliminación " -"de objetos relacionados, pero su cuenta no tiene permiso para borrar los " -"siguientes tipos de objetos:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"Eliminar el %(object_name)s %(escaped_object)s requeriría eliminar los " -"siguientes objetos relacionados protegidos:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"¿Está seguro de que quiere borrar los %(object_name)s \"%(escaped_object)s" -"\"? Se borrarán los siguientes objetos relacionados:" - -msgid "Objects" -msgstr "Objetos" - -msgid "Yes, I'm sure" -msgstr "Sí, Yo estoy seguro" - -msgid "No, take me back" -msgstr "No, llévame atrás" - -msgid "Delete multiple objects" -msgstr "Eliminar múltiples objetos" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Eliminar el %(objects_name)s seleccionado resultaría en el borrado de " -"objetos relacionados, pero su cuenta no tiene permisos para borrar los " -"siguientes tipos de objetos:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Eliminar el %(objects_name)s seleccionado requeriría el borrado de los " -"siguientes objetos protegidos relacionados:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"¿Está usted seguro que quiere eliminar el %(objects_name)s seleccionado? " -"Todos los siguientes objetos y sus elementos relacionados serán borrados:" - -msgid "Change" -msgstr "Modificar" - -msgid "Delete?" -msgstr "¿Eliminar?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " Por %(filter_title)s " - -msgid "Summary" -msgstr "Resumen" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "Modelos en la aplicación %(name)s" - -msgid "Add" -msgstr "Añadir" - -msgid "You don't have permission to edit anything." -msgstr "No tiene permiso para editar nada." - -msgid "Recent actions" -msgstr "Acciones recientes" - -msgid "My actions" -msgstr "Mis acciones" - -msgid "None available" -msgstr "Ninguno disponible" - -msgid "Unknown content" -msgstr "Contenido desconocido" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Algo va mal con la instalación de la base de datos. Asegúrese de que las " -"tablas necesarias han sido creadas, y de que la base de datos puede ser " -"leída por el usuario apropiado." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"Se ha autenticado como %(username)s, pero no está autorizado a acceder a " -"esta página. ¿Desea autenticarse con una cuenta diferente?" - -msgid "Forgotten your password or username?" -msgstr "¿Ha olvidado la contraseña o el nombre de usuario?" - -msgid "Date/time" -msgstr "Fecha/hora" - -msgid "User" -msgstr "Usuario" - -msgid "Action" -msgstr "Acción" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" -"Este objeto no tiene histórico de cambios. Probablemente no fue añadido " -"usando este sitio de administración." - -msgid "Show all" -msgstr "Mostrar todo" - -msgid "Save" -msgstr "Guardar" - -msgid "Popup closing..." -msgstr "Ventana emergente cerrando..." - -#, python-format -msgid "Change selected %(model)s" -msgstr "Cambiar %(model)s seleccionado" - -#, python-format -msgid "Add another %(model)s" -msgstr "Añadir otro %(model)s" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Eliminar %(model)s seleccionado" - -msgid "Search" -msgstr "Buscar" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s resultado" -msgstr[1] "%(counter)s resultados" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s total" - -msgid "Save as new" -msgstr "Guardar como nuevo" - -msgid "Save and add another" -msgstr "Guardar y añadir otro" - -msgid "Save and continue editing" -msgstr "Guardar y continuar editando" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Gracias por el tiempo que ha dedicado hoy al sitio web." - -msgid "Log in again" -msgstr "Iniciar sesión de nuevo" - -msgid "Password change" -msgstr "Cambio de contraseña" - -msgid "Your password was changed." -msgstr "Su contraseña ha sido cambiada." - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Por favor, ingrese su contraseña antigua, por seguridad, y después " -"introduzca la nueva contraseña dos veces para verificar que la ha escrito " -"correctamente." - -msgid "Change my password" -msgstr "Cambiar mi contraseña" - -msgid "Password reset" -msgstr "Restablecer contraseña" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "" -"Su contraseña ha sido establecida. Ahora puede seguir adelante e iniciar " -"sesión." - -msgid "Password reset confirmation" -msgstr "Confirmación de restablecimiento de contraseña" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Por favor, ingrese su contraseña nueva dos veces para verificar que la ha " -"escrito correctamente." - -msgid "New password:" -msgstr "Contraseña nueva:" - -msgid "Confirm password:" -msgstr "Confirme contraseña:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"El enlace de restablecimiento de contraseña era inválido, seguramente porque " -"se haya usado antes. Por favor, solicite un nuevo restablecimiento de " -"contraseña." - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Le hemos enviado por correo electrónico las instrucciones para restablecer " -"la contraseña, si es que existe una cuenta con la dirección electrónica que " -"indicó. Debería recibirlas en breve." - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Si no recibe un correo, por favor, asegúrese de que ha introducido la " -"dirección de correo con la que se registró y verifique su carpeta de correo " -"no deseado o spam." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"Ha recibido este correo electrónico porque ha solicitado restablecer la " -"contraseña para su cuenta en %(site_name)s." - -msgid "Please go to the following page and choose a new password:" -msgstr "Por favor, vaya a la página siguiente y escoja una nueva contraseña." - -msgid "Your username, in case you've forgotten:" -msgstr "Su nombre de usuario, en caso de haberlo olvidado:" - -msgid "Thanks for using our site!" -msgstr "¡Gracias por usar nuestro sitio!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "El equipo de %(site_name)s" - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" -"¿Ha olvidado su clave? Ingrese su dirección de correo electrónico a " -"continuación y le enviaremos las instrucciones para establecer una nueva." - -msgid "Email address:" -msgstr "Correo electrónico:" - -msgid "Reset my password" -msgstr "Restablecer mi contraseña" - -msgid "All dates" -msgstr "Todas las fechas" - -#, python-format -msgid "Select %s" -msgstr "Escoja %s" - -#, python-format -msgid "Select %s to change" -msgstr "Escoja %s a modificar" - -msgid "Date:" -msgstr "Fecha:" - -msgid "Time:" -msgstr "Hora:" - -msgid "Lookup" -msgstr "Buscar" - -msgid "Currently:" -msgstr "Actualmente:" - -msgid "Change:" -msgstr "Cambiar:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es_VE/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es_VE/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 6cc05198..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es_VE/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es_VE/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es_VE/LC_MESSAGES/djangojs.po deleted file mode 100644 index 1ab4dcd2..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/es_VE/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,222 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Eduardo , 2017 -# FIRST AUTHOR , 2012 -# Hotellook, 2014 -# Leonardo J. Caballero G. , 2016 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" -"PO-Revision-Date: 2017-09-20 03:01+0000\n" -"Last-Translator: Eduardo \n" -"Language-Team: Spanish (Venezuela) (http://www.transifex.com/django/django/" -"language/es_VE/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: es_VE\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "Disponibles %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Esta es la lista de %s disponibles. Puede elegir algunos seleccionándolos en " -"la caja inferior y luego haciendo clic en la flecha \"Elegir\" que hay entre " -"las dos cajas." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "Escriba en este cuadro para filtrar la lista de %s disponibles." - -msgid "Filter" -msgstr "Filtro" - -msgid "Choose all" -msgstr "Seleccione todos" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Haga clic para seleccionar todos los %s de una vez." - -msgid "Choose" -msgstr "Elegir" - -msgid "Remove" -msgstr "Eliminar" - -#, javascript-format -msgid "Chosen %s" -msgstr "Elegidos %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Esta es la lista de los %s elegidos. Puede eliminar algunos seleccionándolos " -"en la caja inferior y luego haciendo clic en la flecha \"Eliminar\" que hay " -"entre las dos cajas." - -msgid "Remove all" -msgstr "Eliminar todos" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Haga clic para eliminar todos los %s elegidos." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(sel)s de %(cnt)s seleccionado" -msgstr[1] "%(sel)s de %(cnt)s seleccionados" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Tiene cambios sin guardar en campos editables individuales. Si ejecuta una " -"acción, los cambios no guardados se perderán." - -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 "" -"Ha seleccionado una acción, pero no ha guardado los cambios en los campos " -"individuales todavía. Pulse OK para guardar. Tendrá que volver a ejecutar la " -"acción." - -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 "" -"Ha seleccionado una acción y no ha hecho ningún cambio en campos " -"individuales. Probablemente esté buscando el botón Ejecutar en lugar del " -"botón Guardar." - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Nota: Usted esta a %s hora por delante de la hora del servidor." -msgstr[1] "Nota: Usted esta a %s horas por delante de la hora del servidor." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Nota: Usted esta a %s hora de retraso de la hora de servidor." -msgstr[1] "Nota: Usted esta a %s horas por detrás de la hora del servidor." - -msgid "Now" -msgstr "Ahora" - -msgid "Choose a Time" -msgstr "Elija una Hora" - -msgid "Choose a time" -msgstr "Elija una hora" - -msgid "Midnight" -msgstr "Medianoche" - -msgid "6 a.m." -msgstr "6 a.m." - -msgid "Noon" -msgstr "Mediodía" - -msgid "6 p.m." -msgstr "6 p.m." - -msgid "Cancel" -msgstr "Cancelar" - -msgid "Today" -msgstr "Hoy" - -msgid "Choose a Date" -msgstr "Elija una fecha" - -msgid "Yesterday" -msgstr "Ayer" - -msgid "Tomorrow" -msgstr "Mañana" - -msgid "January" -msgstr "Enero" - -msgid "February" -msgstr "Febrero" - -msgid "March" -msgstr "Marzo" - -msgid "April" -msgstr "Abril" - -msgid "May" -msgstr "Mayo" - -msgid "June" -msgstr "Junio" - -msgid "July" -msgstr "Julio" - -msgid "August" -msgstr "Agosto" - -msgid "September" -msgstr "Septiembre" - -msgid "October" -msgstr "Octubre" - -msgid "November" -msgstr "Noviembre" - -msgid "December" -msgstr "Diciembre" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "D" - -msgctxt "one letter Monday" -msgid "M" -msgstr "L" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "M" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "M" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "J" - -msgctxt "one letter Friday" -msgid "F" -msgstr "V" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "S" - -msgid "Show" -msgstr "Mostrar" - -msgid "Hide" -msgstr "Esconder" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/et/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/et/LC_MESSAGES/django.mo deleted file mode 100644 index dbfc3b8c..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/et/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/et/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/et/LC_MESSAGES/django.po deleted file mode 100644 index 18a4e187..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/et/LC_MESSAGES/django.po +++ /dev/null @@ -1,720 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# eallik , 2011 -# Erlend Eelmets , 2020 -# Jannis Leidel , 2011 -# Janno Liivak , 2013-2015 -# Martin Pajuste , 2015 -# Martin Pajuste , 2016,2019-2020 -# Marti Raudsepp , 2016 -# Ragnar Rebase , 2019 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-14 19:53+0200\n" -"PO-Revision-Date: 2020-09-03 15:38+0000\n" -"Last-Translator: Erlend Eelmets \n" -"Language-Team: Estonian (http://www.transifex.com/django/django/language/" -"et/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: et\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "%(count)d %(items)s kustutamine õnnestus." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "Ei saa kustutada %(name)s" - -msgid "Are you sure?" -msgstr "Kas olete kindel?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Kustuta valitud %(verbose_name_plural)s" - -msgid "Administration" -msgstr "Administreerimine" - -msgid "All" -msgstr "Kõik" - -msgid "Yes" -msgstr "Jah" - -msgid "No" -msgstr "Ei" - -msgid "Unknown" -msgstr "Tundmatu" - -msgid "Any date" -msgstr "Suvaline kuupäev" - -msgid "Today" -msgstr "Täna" - -msgid "Past 7 days" -msgstr "Viimased 7 päeva" - -msgid "This month" -msgstr "Käesolev kuu" - -msgid "This year" -msgstr "Käesolev aasta" - -msgid "No date" -msgstr "Kuupäev puudub" - -msgid "Has date" -msgstr "Kuupäev olemas" - -msgid "Empty" -msgstr "Tühi" - -msgid "Not empty" -msgstr "Mitte tühi" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Palun sisestage personali kontole õige %(username)s ja parool. Teadke, et " -"mõlemad väljad võivad olla tõstutundlikud." - -msgid "Action:" -msgstr "Toiming:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Lisa veel üks %(verbose_name)s" - -msgid "Remove" -msgstr "Eemalda" - -msgid "Addition" -msgstr "Lisamine" - -msgid "Change" -msgstr "Muuda" - -msgid "Deletion" -msgstr "Kustutamine" - -msgid "action time" -msgstr "toimingu aeg" - -msgid "user" -msgstr "kasutaja" - -msgid "content type" -msgstr "sisutüüp" - -msgid "object id" -msgstr "objekti id" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "objekti esitus" - -msgid "action flag" -msgstr "toimingu lipp" - -msgid "change message" -msgstr "muudatuse tekst" - -msgid "log entry" -msgstr "logisissekanne" - -msgid "log entries" -msgstr "logisissekanded" - -#, python-format -msgid "Added “%(object)s”." -msgstr "Lisati “%(object)s”." - -#, python-format -msgid "Changed “%(object)s” — %(changes)s" -msgstr "Muudeti “%(object)s” — %(changes)s" - -#, python-format -msgid "Deleted “%(object)s.”" -msgstr "Kustutati “%(object)s.”" - -msgid "LogEntry Object" -msgstr "Objekt LogEntry" - -#, python-brace-format -msgid "Added {name} “{object}”." -msgstr "Lisati {name} “{object}”." - -msgid "Added." -msgstr "Lisatud." - -msgid "and" -msgstr "ja" - -#, python-brace-format -msgid "Changed {fields} for {name} “{object}”." -msgstr "Muudeti {fields} -> {name} “{object}”." - -#, python-brace-format -msgid "Changed {fields}." -msgstr "Muudetud {fields}." - -#, python-brace-format -msgid "Deleted {name} “{object}”." -msgstr "Kustutati {name} “{object}”." - -msgid "No fields changed." -msgstr "Ühtegi välja ei muudetud." - -msgid "None" -msgstr "Puudub" - -msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." -msgstr "Hoia all “Control” või “Command” Macil, et valida rohkem kui üks." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully." -msgstr "{name} “{obj}” lisamine õnnestus." - -msgid "You may edit it again below." -msgstr "Võite seda uuesti muuta." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was added successfully. You may add another {name} below." -msgstr "" -"{name} “{obj}” lisamine õnnestus. Allpool saate lisada järgmise {name}." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may edit it again below." -msgstr "{name} “{obj}” muutmine õnnestus. Allpool saate seda uuesti muuta." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully. You may edit it again below." -msgstr "{name} “{obj}” lisamine õnnestus. Allpool saate seda uuesti muuta." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may add another {name} " -"below." -msgstr "{name} ”{obj}” muutmine õnnestus. Allpool saate lisada uue {name}." - -#, python-brace-format -msgid "The {name} “{obj}” was changed successfully." -msgstr "{name} “{obj}” muutmine õnnestus." - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Palun märgistage elemendid, millega soovite toiminguid sooritada. Ühtegi " -"elementi ei muudetud." - -msgid "No action selected." -msgstr "Toiming valimata." - -#, python-format -msgid "The %(name)s “%(obj)s” was deleted successfully." -msgstr "%(name)s “%(obj)s” kustutamine õnnestus." - -#, python-format -msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" -msgstr "%(name)s ID-ga “%(key)s” ei eksisteeri. Võib-olla on see kustutatud?" - -#, python-format -msgid "Add %s" -msgstr "Lisa %s" - -#, python-format -msgid "Change %s" -msgstr "Muuda %s" - -#, python-format -msgid "View %s" -msgstr "Vaata %s" - -msgid "Database error" -msgstr "Andmebaasi viga" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s muutmine õnnestus." -msgstr[1] "%(count)s %(name)s muutmine õnnestus." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s valitud" -msgstr[1] "Kõik %(total_count)s valitud" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "valitud 0/%(cnt)s" - -#, python-format -msgid "Change history: %s" -msgstr "Muudatuste ajalugu: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"Et kustutada %(class_name)s %(instance)s, on vaja kustutada järgmised " -"kaitstud seotud objektid: %(related_objects)s" - -msgid "Django site admin" -msgstr "Django administreerimisliides" - -msgid "Django administration" -msgstr "Django administreerimisliides" - -msgid "Site administration" -msgstr "Saidi administreerimine" - -msgid "Log in" -msgstr "Sisene" - -#, python-format -msgid "%(app)s administration" -msgstr "%(app)s administreerimine" - -msgid "Page not found" -msgstr "Lehte ei leitud" - -msgid "We’re sorry, but the requested page could not be found." -msgstr "Vabandame, kuid soovitud lehte ei leitud." - -msgid "Home" -msgstr "Kodu" - -msgid "Server error" -msgstr "Serveri viga" - -msgid "Server error (500)" -msgstr "Serveri viga (500)" - -msgid "Server Error (500)" -msgstr "Serveri Viga (500)" - -msgid "" -"There’s been an error. It’s been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"Ilmnes viga. Sellest on e-posti teel teavitatud lehe administraatorit ja " -"viga parandatakse esimesel võimalusel. Täname kannatlikkuse eest." - -msgid "Run the selected action" -msgstr "Käivita valitud toiming" - -msgid "Go" -msgstr "Mine" - -msgid "Click here to select the objects across all pages" -msgstr "Kliki siin, et märgistada objektid üle kõigi lehekülgede" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Märgista kõik %(total_count)s %(module_name)s" - -msgid "Clear selection" -msgstr "Tühjenda valik" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "Rakenduse %(name)s moodulid" - -msgid "Add" -msgstr "Lisa" - -msgid "View" -msgstr "Vaata" - -msgid "You don’t have permission to view or edit anything." -msgstr "Teil pole õigust midagi vaadata ega muuta." - -msgid "" -"First, enter a username and password. Then, you’ll be able to edit more user " -"options." -msgstr "" -"Kõigepealt sisestage kasutajatunnus ja salasõna. Seejärel saate muuta " -"täiendavaid kasutajaandmeid." - -msgid "Enter a username and password." -msgstr "Sisestage kasutajanimi ja salasõna." - -msgid "Change password" -msgstr "Muuda salasõna" - -msgid "Please correct the error below." -msgstr "Palun parandage allolev viga." - -msgid "Please correct the errors below." -msgstr "Palun parandage allolevad vead." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "Sisestage uus salasõna kasutajale %(username)s" - -msgid "Welcome," -msgstr "Tere tulemast," - -msgid "View site" -msgstr "Vaata saiti" - -msgid "Documentation" -msgstr "Dokumentatsioon" - -msgid "Log out" -msgstr "Logi välja" - -#, python-format -msgid "Add %(name)s" -msgstr "Lisa %(name)s" - -msgid "History" -msgstr "Ajalugu" - -msgid "View on site" -msgstr "Näita lehel" - -msgid "Filter" -msgstr "Filtreeri" - -msgid "Clear all filters" -msgstr "Tühjenda kõik filtrid" - -msgid "Remove from sorting" -msgstr "Eemalda sorteerimisest" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Sorteerimisjärk: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Sorteerimine" - -msgid "Delete" -msgstr "Kustuta" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Selleks, et kustutada %(object_name)s '%(escaped_object)s', on vaja " -"kustutada lisaks ka kõik seotud objecktid, aga teil puudub õigus järgnevat " -"tüüpi objektide kustutamiseks:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"Et kustutada %(object_name)s '%(escaped_object)s', on vaja kustutada " -"järgmised kaitstud seotud objektid:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Kas olete kindel, et soovite kustutada objekti %(object_name)s " -"\"%(escaped_object)s\"? Kõik järgnevad seotud objektid kustutatakse koos " -"sellega:" - -msgid "Objects" -msgstr "Objektid" - -msgid "Yes, I’m sure" -msgstr "Jah, olen kindel" - -msgid "No, take me back" -msgstr "Ei, mine tagasi" - -msgid "Delete multiple objects" -msgstr "Kustuta mitu objekti" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Kui kustutada valitud %(objects_name)s, peaks kustutama ka seotud objektid, " -"aga sinu kasutajakontol pole õigusi järgmiste objektitüüpide kustutamiseks:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Et kustutada valitud %(objects_name)s, on vaja kustutada ka järgmised " -"kaitstud seotud objektid:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Kas oled kindel, et soovid kustutada valitud %(objects_name)s? Kõik " -"järgnevad objektid ja seotud objektid kustutatakse:" - -msgid "Delete?" -msgstr "Kustutan?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " %(filter_title)s " - -msgid "Summary" -msgstr "Kokkuvõte" - -msgid "Recent actions" -msgstr "Hiljutised toimingud" - -msgid "My actions" -msgstr "Minu toimingud" - -msgid "None available" -msgstr "Ei leitud ühtegi" - -msgid "Unknown content" -msgstr "Tundmatu sisu" - -msgid "" -"Something’s wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"On tekkinud viga seoses andmebaasiga. Veenduge, et kõik vajalikud " -"andmebaasitabelid on loodud ja andmebaas on loetav vastava kasutaja poolt." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"Olete sisse logitud kasutajana %(username)s, kuid teil puudub ligipääs " -"lehele. Kas te soovite teise kontoga sisse logida?" - -msgid "Forgotten your password or username?" -msgstr "Unustasite oma parooli või kasutajanime?" - -msgid "Toggle navigation" -msgstr "Lülita navigeerimine sisse" - -msgid "Date/time" -msgstr "Kuupäev/kellaaeg" - -msgid "User" -msgstr "Kasutaja" - -msgid "Action" -msgstr "Toiming" - -msgid "" -"This object doesn’t have a change history. It probably wasn’t added via this " -"admin site." -msgstr "" -"Sellel objektil puudub muudatuste ajalugu. Tõenäoliselt ei lisatud objekti " -"läbi selle administreerimisliidese." - -msgid "Show all" -msgstr "Näita kõiki" - -msgid "Save" -msgstr "Salvesta" - -msgid "Popup closing…" -msgstr "Hüpikaken sulgub…" - -msgid "Search" -msgstr "Otsing" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s tulemus" -msgstr[1] "%(counter)s tulemust" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "Kokku %(full_result_count)s" - -msgid "Save as new" -msgstr "Salvesta uuena" - -msgid "Save and add another" -msgstr "Salvesta ja lisa uus" - -msgid "Save and continue editing" -msgstr "Salvesta ja jätka muutmist" - -msgid "Save and view" -msgstr "Salvesta ja vaata" - -msgid "Close" -msgstr "Sulge" - -#, python-format -msgid "Change selected %(model)s" -msgstr "Muuda valitud %(model)s" - -#, python-format -msgid "Add another %(model)s" -msgstr "Lisa veel üks %(model)s" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Kustuta valitud %(model)s" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Tänan, et veetsite aega meie lehel." - -msgid "Log in again" -msgstr "Logi uuesti sisse" - -msgid "Password change" -msgstr "Salasõna muutmine" - -msgid "Your password was changed." -msgstr "Teie salasõna on vahetatud." - -msgid "" -"Please enter your old password, for security’s sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Turvalisuse tagamiseks palun sisestage oma praegune salasõna ja seejärel uus " -"salasõna. Veendumaks, et uue salasõna sisestamisel ei tekkinud vigu, palun " -"sisestage see kaks korda." - -msgid "Change my password" -msgstr "Muuda salasõna" - -msgid "Password reset" -msgstr "Uue parooli loomine" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Teie salasõna on määratud. Võite nüüd sisse logida." - -msgid "Password reset confirmation" -msgstr "Uue salasõna loomise kinnitamine" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Palun sisestage uus salasõna kaks korda, et saaksime veenduda, et " -"sisestamisel ei tekkinud vigu." - -msgid "New password:" -msgstr "Uus salasõna:" - -msgid "Confirm password:" -msgstr "Kinnita salasõna:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Uue salasõna loomise link ei olnud korrektne. Võimalik, et seda on varem " -"kasutatud. Esitage uue salasõna taotlus uuesti." - -msgid "" -"We’ve emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Saatsime teile meilile parooli muutmise juhendi. Kui teie poolt sisestatud e-" -"posti aadressiga konto on olemas, siis jõuab kiri peagi kohale." - -msgid "" -"If you don’t receive an email, please make sure you’ve entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Kui te ei saa kirja kätte siis veenduge, et sisestasite just selle e-posti " -"aadressi, millega registreerisite. Kontrollige ka oma rämpsposti kausta." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"Saite käesoleva kirja kuna soovisite muuta lehel %(site_name)s oma " -"kasutajakontoga seotud parooli." - -msgid "Please go to the following page and choose a new password:" -msgstr "Palun minge järmisele lehele ning sisestage uus salasõna" - -msgid "Your username, in case you’ve forgotten:" -msgstr "Teie kasutajatunnus juhuks, kui olete unustanud:" - -msgid "Thanks for using our site!" -msgstr "Täname meie lehte külastamast!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "%(site_name)s meeskond" - -msgid "" -"Forgotten your password? Enter your email address below, and we’ll email " -"instructions for setting a new one." -msgstr "" -"Unustasite oma salasõna? Sisestage oma e-posti aadress ja saadame meilile " -"juhised uue saamiseks." - -msgid "Email address:" -msgstr "E-posti aadress:" - -msgid "Reset my password" -msgstr "Reseti parool" - -msgid "All dates" -msgstr "Kõik kuupäevad" - -#, python-format -msgid "Select %s" -msgstr "Vali %s" - -#, python-format -msgid "Select %s to change" -msgstr "Vali %s mida muuta" - -#, python-format -msgid "Select %s to view" -msgstr "Vali %s vaatamiseks" - -msgid "Date:" -msgstr "Kuupäev:" - -msgid "Time:" -msgstr "Aeg:" - -msgid "Lookup" -msgstr "Otsi" - -msgid "Currently:" -msgstr "Hetkel:" - -msgid "Change:" -msgstr "Muuda:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/et/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/et/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 37b313e1..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/et/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/et/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/et/LC_MESSAGES/djangojs.po deleted file mode 100644 index 3cceae9c..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/et/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,221 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# eallik , 2011 -# Jannis Leidel , 2011 -# Janno Liivak , 2013-2015 -# Martin Pajuste , 2016,2020 -# Ragnar Rebase , 2019 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-11 20:56+0200\n" -"PO-Revision-Date: 2020-05-25 09:13+0000\n" -"Last-Translator: Martin Pajuste \n" -"Language-Team: Estonian (http://www.transifex.com/django/django/language/" -"et/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: et\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "Saadaval %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Nimekiri välja \"%s\" võimalikest väärtustest. Saad valida ühe või mitu " -"kirjet allolevast kastist ning vajutades noolt \"Vali\" liigutada neid ühest " -"kastist teise." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "Filtreeri selle kasti abil välja \"%s\" nimekirja." - -msgid "Filter" -msgstr "Filter" - -msgid "Choose all" -msgstr "Vali kõik" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Kliki, et valida kõik %s korraga." - -msgid "Choose" -msgstr "Vali" - -msgid "Remove" -msgstr "Eemalda" - -#, javascript-format -msgid "Chosen %s" -msgstr "Valitud %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Nimekiri välja \"%s\" valitud väärtustest. Saad valida ühe või mitu kirjet " -"allolevast kastist ning vajutades noolt \"Eemalda\" liigutada neid ühest " -"kastist teise." - -msgid "Remove all" -msgstr "Eemalda kõik" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Kliki, et eemaldada kõik valitud %s korraga." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(sel)s %(cnt)sst valitud" -msgstr[1] "%(sel)s %(cnt)sst valitud" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Muudetavates lahtrites on salvestamata muudatusi. Kui sooritate mõne " -"toimingu, lähevad salvestamata muudatused kaotsi." - -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 "" -"Valisite toimingu, kuid pole salvestanud muudatusi lahtrites. Salvestamiseks " -"palun vajutage OK. Peate toimingu uuesti käivitama." - -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 "" -"Valisite toimingu, kuid ei muutnud ühtegi lahtrit. Tõenäoliselt otsite Mine " -"mitte Salvesta nuppu." - -msgid "Now" -msgstr "Praegu" - -msgid "Midnight" -msgstr "Kesköö" - -msgid "6 a.m." -msgstr "6 hommikul" - -msgid "Noon" -msgstr "Keskpäev" - -msgid "6 p.m." -msgstr "6 õhtul" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Märkus: Olete %s tund serveri ajast ees." -msgstr[1] "Märkus: Olete %s tundi serveri ajast ees." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Märkus: Olete %s tund serveri ajast maas." -msgstr[1] "Märkus: Olete %s tundi serveri ajast maas." - -msgid "Choose a Time" -msgstr "Vali aeg" - -msgid "Choose a time" -msgstr "Vali aeg" - -msgid "Cancel" -msgstr "Tühista" - -msgid "Today" -msgstr "Täna" - -msgid "Choose a Date" -msgstr "Vali kuupäev" - -msgid "Yesterday" -msgstr "Eile" - -msgid "Tomorrow" -msgstr "Homme" - -msgid "January" -msgstr "jaanuar" - -msgid "February" -msgstr "veebruar" - -msgid "March" -msgstr "märts" - -msgid "April" -msgstr "aprill" - -msgid "May" -msgstr "mai" - -msgid "June" -msgstr "juuni" - -msgid "July" -msgstr "juuli" - -msgid "August" -msgstr "august" - -msgid "September" -msgstr "september" - -msgid "October" -msgstr "oktoober" - -msgid "November" -msgstr "november" - -msgid "December" -msgstr "detsember" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "P" - -msgctxt "one letter Monday" -msgid "M" -msgstr "E" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "T" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "K" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "N" - -msgctxt "one letter Friday" -msgid "F" -msgstr "R" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "L" - -msgid "Show" -msgstr "Näita" - -msgid "Hide" -msgstr "Varja" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/eu/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/eu/LC_MESSAGES/django.mo deleted file mode 100644 index e3c840f9..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/eu/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/eu/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/eu/LC_MESSAGES/django.po deleted file mode 100644 index 91763684..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/eu/LC_MESSAGES/django.po +++ /dev/null @@ -1,713 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Aitzol Naberan , 2013,2016 -# Eneko Illarramendi , 2017-2019 -# Jannis Leidel , 2011 -# julen, 2012-2013 -# julen, 2013 -# Urtzi Odriozola , 2017 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-01-16 20:42+0100\n" -"PO-Revision-Date: 2019-01-22 09:57+0000\n" -"Last-Translator: Eneko Illarramendi \n" -"Language-Team: Basque (http://www.transifex.com/django/django/language/eu/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: eu\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "%(count)d %(items)s elementu ezabatu dira." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "Ezin da %(name)s ezabatu" - -msgid "Are you sure?" -msgstr "Ziur al zaude?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Ezabatu aukeratutako %(verbose_name_plural)s" - -msgid "Administration" -msgstr "Kudeaketa" - -msgid "All" -msgstr "Dena" - -msgid "Yes" -msgstr "Bai" - -msgid "No" -msgstr "Ez" - -msgid "Unknown" -msgstr "Ezezaguna" - -msgid "Any date" -msgstr "Edozein data" - -msgid "Today" -msgstr "Gaur" - -msgid "Past 7 days" -msgstr "Aurreko 7 egunak" - -msgid "This month" -msgstr "Hilabete hau" - -msgid "This year" -msgstr "Urte hau" - -msgid "No date" -msgstr "Datarik ez" - -msgid "Has date" -msgstr "Data dauka" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Idatzi kudeaketa gunerako %(username)s eta pasahitz zuzena. Kontuan izan " -"biek maiuskula/minuskulak desberdintzen dituztela." - -msgid "Action:" -msgstr "Ekintza:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Gehitu beste %(verbose_name)s bat" - -msgid "Remove" -msgstr "Kendu" - -msgid "Addition" -msgstr "Gehitzea" - -msgid "Change" -msgstr "Aldatu" - -msgid "Deletion" -msgstr "Ezabatzea" - -msgid "action time" -msgstr "Ekintza hordua" - -msgid "user" -msgstr "erabiltzailea" - -msgid "content type" -msgstr "eduki mota" - -msgid "object id" -msgstr "objetuaren id-a" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "objeturaren adierazpena" - -msgid "action flag" -msgstr "Ekintza botoia" - -msgid "change message" -msgstr "Mezua aldatu" - -msgid "log entry" -msgstr "Log sarrera" - -msgid "log entries" -msgstr "log sarrerak" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "\"%(object)s\" gehituta." - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "\"%(object)s\" aldatuta - %(changes)s" - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "\"%(object)s\" ezabatuta." - -msgid "LogEntry Object" -msgstr "LogEntry objetua" - -#, python-brace-format -msgid "Added {name} \"{object}\"." -msgstr "{name} \"{object}\" gehitu." - -msgid "Added." -msgstr "Gehituta" - -msgid "and" -msgstr "eta" - -#, python-brace-format -msgid "Changed {fields} for {name} \"{object}\"." -msgstr "{fields}-(e)tik {name} \"{object}\" aldatatuta." - -#, python-brace-format -msgid "Changed {fields}." -msgstr "{fields} aldatuta." - -#, python-brace-format -msgid "Deleted {name} \"{object}\"." -msgstr "{name} \"{object}\" ezabatuta." - -msgid "No fields changed." -msgstr "Ez da eremurik aldatu." - -msgid "None" -msgstr "Bat ere ez" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" -"Bat baino gehiago hautatzeko, sakatu \"Kontrol\" tekla edo \"Command\" Mac " -"batean." - -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "{name} \"{obj}\" ondo gehitu da." - -msgid "You may edit it again below." -msgstr "Aldaketa gehiago egin ditzazkezu jarraian." - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may add another {name} " -"below." -msgstr "" -"{name} \"{obj}\" ondo gehitu da. Beste {name} bat gehitu dezakezu jarraian." - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." -msgstr "" -"{name} \"{obj}\" ondo aldatu da. Aldaketa gehiago egin ditzazkezu jarraian." - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" -"{name} \"{obj}\" ondo gehitu da. Aldaketa gehiago egin ditzazkezu jarraian." - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may add another {name} " -"below." -msgstr "" -"{name} \"{obj}\" ondo aldatu da. Beste {name} bat gehitu dezakezu jarraian." - -#, python-brace-format -msgid "The {name} \"{obj}\" was changed successfully." -msgstr "{name} \"{obj}\" ondo aldatu da." - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Elementuak aukeratu behar dira beraien gain ekintzak burutzeko. Ez da " -"elementurik aldatu." - -msgid "No action selected." -msgstr "Ez dago ekintzarik aukeratuta." - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "%(name)s \"%(obj)s\" ondo ezabatu da." - -#, python-format -msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" -msgstr "" -"\"%(key)s\" ID dun %(name)s ez dira existitzen. Agian ezabatua izan da?" - -#, python-format -msgid "Add %s" -msgstr "Gehitu %s" - -#, python-format -msgid "Change %s" -msgstr "Aldatu %s" - -#, python-format -msgid "View %s" -msgstr "%s ikusi" - -msgid "Database error" -msgstr "Errorea datu-basean" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(name)s %(count)s ondo aldatu da." -msgstr[1] "%(count)s %(name)s ondo aldatu dira." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "Guztira %(total_count)s aukeratuta" -msgstr[1] "Guztira %(total_count)s aukeratuta" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "Guztira %(cnt)s, 0 aukeratuta" - -#, python-format -msgid "Change history: %s" -msgstr "Aldaketen historia: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"%(class_name)s klaseko %(instance)s instantziak ezabatzeak erlazionatutako " -"objektu hauek ezabatzea eragingo du:\n" -"%(related_objects)s" - -msgid "Django site admin" -msgstr "Django kudeaketa gunea" - -msgid "Django administration" -msgstr "Django kudeaketa" - -msgid "Site administration" -msgstr "Webgunearen kudeaketa" - -msgid "Log in" -msgstr "Sartu" - -#, python-format -msgid "%(app)s administration" -msgstr "%(app)s kudeaketa" - -msgid "Page not found" -msgstr "Ez da orririk aurkitu" - -msgid "We're sorry, but the requested page could not be found." -msgstr "Barkatu, eskatutako orria ezin daiteke aurkitu" - -msgid "Home" -msgstr "Hasiera" - -msgid "Server error" -msgstr "Zerbitzariaren errorea" - -msgid "Server error (500)" -msgstr "Zerbitzariaren errorea (500)" - -msgid "Server Error (500)" -msgstr "Zerbitzariaren errorea (500)" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"Errore bat gertatu da. Errorea guneko kudeatzaileari jakinarazi zaio email " -"bidez eta laster egon beharko luke konponduta. Barkatu eragozpenak." - -msgid "Run the selected action" -msgstr "Burutu aukeratutako ekintza" - -msgid "Go" -msgstr "Joan" - -msgid "Click here to select the objects across all pages" -msgstr "Egin klik hemen orri guztietako objektuak aukeratzeko" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Hautatu %(total_count)s %(module_name)s guztiak" - -msgid "Clear selection" -msgstr "Garbitu hautapena" - -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" -"Lehenik idatzi erabiltzaile-izena eta pasahitza. Gero erabiltzaile-aukera " -"gehiago aldatu ahal izango dituzu." - -msgid "Enter a username and password." -msgstr "Sartu erabiltzaile izen eta pasahitz bat." - -msgid "Change password" -msgstr "Aldatu pasahitza" - -msgid "Please correct the error below." -msgstr "Mesedez zuzendu erroreak behean." - -msgid "Please correct the errors below." -msgstr "Mesedez zuzendu erroreak behean." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "" -"Idatzi pasahitz berria %(username)s erabiltzailearentzat." - -msgid "Welcome," -msgstr "Ongi etorri," - -msgid "View site" -msgstr "Webgunea ikusi" - -msgid "Documentation" -msgstr "Dokumentazioa" - -msgid "Log out" -msgstr "Irten" - -#, python-format -msgid "Add %(name)s" -msgstr "Gehitu %(name)s" - -msgid "History" -msgstr "Historia" - -msgid "View on site" -msgstr "Webgunean ikusi" - -msgid "Filter" -msgstr "Iragazkia" - -msgid "Remove from sorting" -msgstr "Kendu ordenaziotik" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Ordenatzeko lehentasuna: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Txandakatu ordenazioa" - -msgid "Delete" -msgstr "Ezabatu" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"%(object_name)s ezabatzean bere '%(escaped_object)s' ere ezabatzen dira, " -"baina zure kontuak ez dauka baimenik objetu mota hauek ezabatzeko:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"%(object_name)s '%(escaped_object)s' ezabatzeak erlazionatutako objektu " -"babestu hauek ezabatzea eskatzen du:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Ziur zaude %(object_name)s \"%(escaped_object)s\" ezabatu nahi dituzula? " -"Erlazionaturik dauden hurrengo elementuak ere ezabatuko dira:" - -msgid "Objects" -msgstr "Objetuak" - -msgid "Yes, I'm sure" -msgstr "Bai, ziur nago" - -msgid "No, take me back" -msgstr "Ez, itzuli atzera" - -msgid "Delete multiple objects" -msgstr "Ezabatu hainbat objektu" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Aukeratutako %(objects_name)s ezabatzeak erlazionatutako objektuak ezabatzea " -"eskatzen du baina zure kontuak ez dauka baimen nahikorik objektu mota hauek " -"ezabatzeko: " - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Aukeratutako %(objects_name)s ezabatzeak erlazionatutako objektu babestu " -"hauek ezabatzea eskatzen du:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Ziur zaude aukeratutako %(objects_name)s ezabatu nahi duzula? Objektu guzti " -"hauek eta erlazionatutako elementu guztiak ezabatuko dira:" - -msgid "View" -msgstr "Ikusi" - -msgid "Delete?" -msgstr "Ezabatu?" - -#, python-format -msgid " By %(filter_title)s " -msgstr "Irizpidea: %(filter_title)s" - -msgid "Summary" -msgstr "Laburpena" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "%(name)s aplikazioaren modeloak" - -msgid "Add" -msgstr "Gehitu" - -msgid "You don't have permission to view or edit anything." -msgstr "Ez duzu ezer ikusi edo ezabatzeko baimenik." - -msgid "Recent actions" -msgstr "Azken ekintzak" - -msgid "My actions" -msgstr "Nire ekintzak" - -msgid "None available" -msgstr "Ez dago ezer" - -msgid "Unknown content" -msgstr "Eduki ezezaguna" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Zerbait gaizki dago zure datu-basearen instalazioan. Ziurtatu datu-baseko " -"taulak sortu direla eta dagokion erabiltzaileak irakurtzeko baimena duela." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"%(username)s bezala autentikatu zara, baina ez daukazu orrialde honetara " -"sarbidea. Nahi al duzu kontu ezberdin batez sartu?" - -msgid "Forgotten your password or username?" -msgstr "Pasahitza edo erabiltzaile-izena ahaztu duzu?" - -msgid "Date/time" -msgstr "Data/ordua" - -msgid "User" -msgstr "Erabiltzailea" - -msgid "Action" -msgstr "Ekintza" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" -"Objektu honek ez dauka aldaketen historiarik. Ziurrenik kudeaketa gunetik " -"kanpo gehituko zen." - -msgid "Show all" -msgstr "Erakutsi dena" - -msgid "Save" -msgstr "Gorde" - -msgid "Popup closing…" -msgstr "Popup leihoa ixten..." - -msgid "Search" -msgstr "Bilatu" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "Emaitza %(counter)s " -msgstr[1] "%(counter)s emaitza" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s guztira" - -msgid "Save as new" -msgstr "Gorde berri gisa" - -msgid "Save and add another" -msgstr "Gorde eta beste bat gehitu" - -msgid "Save and continue editing" -msgstr "Gorde eta editatzen jarraitu" - -msgid "Save and view" -msgstr "Gorde eta ikusi" - -msgid "Close" -msgstr "Itxi" - -#, python-format -msgid "Change selected %(model)s" -msgstr "Aldatu aukeratutako %(model)s" - -#, python-format -msgid "Add another %(model)s" -msgstr "Gehitu beste %(model)s" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Ezabatu aukeratutako %(model)s" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Eskerrik asko webguneari zure probetxuzko denbora eskaintzeagatik." - -msgid "Log in again" -msgstr "Hasi saioa berriro" - -msgid "Password change" -msgstr "Aldatu pasahitza" - -msgid "Your password was changed." -msgstr "Zure pasahitza aldatu egin da." - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Idatzi pasahitz zaharra segurtasun arrazoiengatik eta gero pasahitz berria " -"bi aldiz, akatsik egiten ez duzula ziurta dezagun." - -msgid "Change my password" -msgstr "Nire pasahitza aldatu" - -msgid "Password reset" -msgstr "Berrezarri pasahitza" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Zure pasahitza ezarri da. Orain aurrera egin eta sartu zaitezke." - -msgid "Password reset confirmation" -msgstr "Pasahitza berrezartzeko berrespena" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "Idatzi pasahitz berria birritan ondo idatzita dagoela ziurta dezagun." - -msgid "New password:" -msgstr "Pasahitz berria:" - -msgid "Confirm password:" -msgstr "Berretsi pasahitza:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Pasahitza berrezartzeko loturak baliogabea dirudi. Baliteke lotura aurretik " -"erabilita egotea. Eskatu berriro pasahitza berrezartzea." - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Zure pasahitza ezartzeko jarraibideak bidali dizkizugu email bidez, sartu " -"duzun helbide elektronikoa kontu bati lotuta badago. Laster jaso beharko " -"zenituzke." - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Ez baduzu mezurik jasotzen, ziurtatu izena ematean erabilitako helbide " -"berdina idatzi duzula eta egiaztatu spam karpeta." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"Mezu hau %(site_name)s webgunean pasahitza berrezartzea eskatu duzulako jaso " -"duzu." - -msgid "Please go to the following page and choose a new password:" -msgstr "Zoaz hurrengo orrira eta aukeratu pasahitz berria:" - -msgid "Your username, in case you've forgotten:" -msgstr "Zure erabiltzaile-izena (ahaztu baduzu):" - -msgid "Thanks for using our site!" -msgstr "Mila esker gure webgunea erabiltzeagatik!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "%(site_name)s webguneko taldea" - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" -"Pasahitza ahaztu duzu? Idatzi zure helbide elektronikoa eta berri bat " -"ezartzeko jarraibideak bidaliko dizkizugu." - -msgid "Email address:" -msgstr "Helbide elektronikoa:" - -msgid "Reset my password" -msgstr "Berrezarri pasahitza" - -msgid "All dates" -msgstr "Data guztiak" - -#, python-format -msgid "Select %s" -msgstr "Aukeratu %s" - -#, python-format -msgid "Select %s to change" -msgstr "Aukeratu %s aldatzeko" - -#, python-format -msgid "Select %s to view" -msgstr "Aukeratu %s ikusteko" - -msgid "Date:" -msgstr "Data:" - -msgid "Time:" -msgstr "Ordua:" - -msgid "Lookup" -msgstr "Lookup" - -msgid "Currently:" -msgstr "Oraingoa:" - -msgid "Change:" -msgstr "Aldatu:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/eu/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/eu/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 6b9adaa9..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/eu/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/eu/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/eu/LC_MESSAGES/djangojs.po deleted file mode 100644 index 40d86fae..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/eu/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,218 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Aitzol Naberan , 2011 -# Eneko Illarramendi , 2017 -# Jannis Leidel , 2011 -# julen , 2012-2013 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" -"PO-Revision-Date: 2017-09-23 18:54+0000\n" -"Last-Translator: Eneko Illarramendi \n" -"Language-Team: Basque (http://www.transifex.com/django/django/language/eu/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: eu\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "%s erabilgarri" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Hau da aukeran dauden %s zerrenda. Hauetako zenbait aukera ditzakezu " -"azpiko \n" -"kaxan hautatu eta kutxen artean dagoen \"Aukeratu\" gezian klik eginez." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "Idatzi kutxa honetan erabilgarri dauden %s objektuak iragazteko." - -msgid "Filter" -msgstr "Filtroa" - -msgid "Choose all" -msgstr "Denak aukeratu" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Egin klik %s guztiak batera aukeratzeko." - -msgid "Choose" -msgstr "Aukeratu" - -msgid "Remove" -msgstr "Kendu" - -#, javascript-format -msgid "Chosen %s" -msgstr "%s aukeratuak" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Hau da aukeratutako %s zerrenda. Hauetako zenbait ezaba ditzakezu azpiko " -"kutxan hautatu eta bi kutxen artean dagoen \"Ezabatu\" gezian klik eginez." - -msgid "Remove all" -msgstr "Kendu guztiak" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Egin klik aukeratutako %s guztiak kentzeko." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(cnt)s-etik %(sel)s aukeratuta" -msgstr[1] "%(cnt)s-etik %(sel)s aukeratuta" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Gorde gabeko aldaketak dauzkazu eremuetan. Ekintza bat exekutatzen baduzu, " -"gorde gabeko aldaketak galduko dira." - -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 "" -"Ekintza bat hautatu duzu, baina oraindik ez duzu eremuetako aldaketak gorde. " -"Mesedez, sakatu OK gordetzeko. Ekintza berriro exekutatu beharko duzu." - -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 "" -"Ekintza bat hautatu duzu, baina ez duzu inongo aldaketarik egin eremuetan. " -"Litekeena da, Gorde botoia beharrean Aurrera botoiaren bila aritzea." - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Oharra: zerbitzariaren denborarekiko ordu %s aurrerago zaude" -msgstr[1] "Oharra: zerbitzariaren denborarekiko %s ordu aurrerago zaude" - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Oharra: zerbitzariaren denborarekiko ordu %s atzerago zaude. " -msgstr[1] "Oharra: zerbitzariaren denborarekiko %s ordu atzerago zaude. " - -msgid "Now" -msgstr "Orain" - -msgid "Choose a Time" -msgstr "Aukeratu ordu bat" - -msgid "Choose a time" -msgstr "Aukeratu ordu bat" - -msgid "Midnight" -msgstr "Gauerdia" - -msgid "6 a.m." -msgstr "6 a.m." - -msgid "Noon" -msgstr "Eguerdia" - -msgid "6 p.m." -msgstr "6 p.m." - -msgid "Cancel" -msgstr "Atzera" - -msgid "Today" -msgstr "Gaur" - -msgid "Choose a Date" -msgstr "Aukeratu data bat" - -msgid "Yesterday" -msgstr "Atzo" - -msgid "Tomorrow" -msgstr "Bihar" - -msgid "January" -msgstr "Urtarrila" - -msgid "February" -msgstr "Otsaila" - -msgid "March" -msgstr "Martxoa" - -msgid "April" -msgstr "Apirila" - -msgid "May" -msgstr "Maiatza" - -msgid "June" -msgstr "Ekaina" - -msgid "July" -msgstr "Uztaila" - -msgid "August" -msgstr "Abuztua" - -msgid "September" -msgstr "Iraila" - -msgid "October" -msgstr "Urria" - -msgid "November" -msgstr "Azaroa" - -msgid "December" -msgstr "Abendua" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "I" - -msgctxt "one letter Monday" -msgid "M" -msgstr "A" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "A" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "A" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "O" - -msgctxt "one letter Friday" -msgid "F" -msgstr "O" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "L" - -msgid "Show" -msgstr "Erakutsi" - -msgid "Hide" -msgstr "Izkutatu" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/fa/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/fa/LC_MESSAGES/django.mo deleted file mode 100644 index aafd3939..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/fa/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/fa/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/fa/LC_MESSAGES/django.po deleted file mode 100644 index 82f2fd3f..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/fa/LC_MESSAGES/django.po +++ /dev/null @@ -1,705 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Ahmad Hosseini , 2020 -# Ali Nikneshan , 2015 -# Ali Vakilzade , 2015 -# Arash Fazeli , 2012 -# Jannis Leidel , 2011 -# MJafar Mashhadi , 2018 -# Mohammad Hossein Mojtahedi , 2017,2019 -# Pouya Abbassi, 2016 -# Reza Mohammadi , 2013-2014 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-14 19:53+0200\n" -"PO-Revision-Date: 2020-08-20 15:46+0000\n" -"Last-Translator: Ahmad Hosseini \n" -"Language-Team: Persian (http://www.transifex.com/django/django/language/" -"fa/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fa\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "%(count)d تا %(items)s با موفقیت حذف شدند." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "امکان حذف %(name)s نیست." - -msgid "Are you sure?" -msgstr "آیا مطمئن هستید؟" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "حذف %(verbose_name_plural)s های انتخاب شده" - -msgid "Administration" -msgstr "مدیریت" - -msgid "All" -msgstr "همه" - -msgid "Yes" -msgstr "بله" - -msgid "No" -msgstr "خیر" - -msgid "Unknown" -msgstr "ناشناخته" - -msgid "Any date" -msgstr "هر تاریخی" - -msgid "Today" -msgstr "امروز" - -msgid "Past 7 days" -msgstr "۷ روز اخیر" - -msgid "This month" -msgstr "این ماه" - -msgid "This year" -msgstr "امسال" - -msgid "No date" -msgstr "بدون تاریخ" - -msgid "Has date" -msgstr "دارای تاریخ" - -msgid "Empty" -msgstr "" - -msgid "Not empty" -msgstr "" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"لطفا %(username)s و گذرواژه را برای یک حساب کارمند وارد کنید.\n" -"توجه داشته باشید که ممکن است هر دو به کوچکی و بزرگی حروف حساس باشند." - -msgid "Action:" -msgstr "اقدام:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "افزودن یک %(verbose_name)s دیگر" - -msgid "Remove" -msgstr "حذف" - -msgid "Addition" -msgstr "افزودن" - -msgid "Change" -msgstr "تغییر" - -msgid "Deletion" -msgstr "کاستن" - -msgid "action time" -msgstr "زمان اقدام" - -msgid "user" -msgstr "کاربر" - -msgid "content type" -msgstr "نوع محتوی" - -msgid "object id" -msgstr "شناسهٔ شیء" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "صورت شیء" - -msgid "action flag" -msgstr "نشانه عمل" - -msgid "change message" -msgstr "پیغام تغییر" - -msgid "log entry" -msgstr "مورد اتفاقات" - -msgid "log entries" -msgstr "موارد اتفاقات" - -#, python-format -msgid "Added “%(object)s”." -msgstr "" - -#, python-format -msgid "Changed “%(object)s” — %(changes)s" -msgstr "" - -#, python-format -msgid "Deleted “%(object)s.”" -msgstr "" - -msgid "LogEntry Object" -msgstr "شئ LogEntry" - -#, python-brace-format -msgid "Added {name} “{object}”." -msgstr "" - -msgid "Added." -msgstr "اضافه شد" - -msgid "and" -msgstr "و" - -#, python-brace-format -msgid "Changed {fields} for {name} “{object}”." -msgstr "" - -#, python-brace-format -msgid "Changed {fields}." -msgstr "{fields} تغییر یافتند." - -#, python-brace-format -msgid "Deleted {name} “{object}”." -msgstr "" - -msgid "No fields changed." -msgstr "فیلدی تغییر نیافته است." - -msgid "None" -msgstr "هیچ" - -msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." -msgstr "" - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully." -msgstr "" - -msgid "You may edit it again below." -msgstr "می‌توانید مجدداً ویرایش کنید." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was added successfully. You may add another {name} below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} “{obj}” was changed successfully." -msgstr "" - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"آیتم ها باید به منظور انجام عملیات بر روی آنها انتخاب شوند. هیچ آیتمی با " -"تغییر نیافته است." - -msgid "No action selected." -msgstr "فعالیتی انتخاب نشده" - -#, python-format -msgid "The %(name)s “%(obj)s” was deleted successfully." -msgstr "" - -#, python-format -msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" -msgstr "" - -#, python-format -msgid "Add %s" -msgstr "اضافه کردن %s" - -#, python-format -msgid "Change %s" -msgstr "تغییر %s" - -#, python-format -msgid "View %s" -msgstr "مشاهده %s" - -msgid "Database error" -msgstr "خطا در بانک اطلاعاتی" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s با موفقیت تغییر کرد." -msgstr[1] "%(count)s %(name)s با موفقیت تغییر کرد." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "همه موارد %(total_count)s انتخاب شده" -msgstr[1] "همه موارد %(total_count)s انتخاب شده" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "0 از %(cnt)s انتخاب شده‌اند" - -#, python-format -msgid "Change history: %s" -msgstr "تاریخچهٔ تغییر: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"برای حذف %(class_name)s %(instance)s لازم است اشیای حفاظت شدهٔ زیر هم حذف " -"شوند: %(related_objects)s" - -msgid "Django site admin" -msgstr "مدیریت وب‌گاه Django" - -msgid "Django administration" -msgstr "مدیریت Django" - -msgid "Site administration" -msgstr "مدیریت وب‌گاه" - -msgid "Log in" -msgstr "ورود" - -#, python-format -msgid "%(app)s administration" -msgstr "مدیریت ‎%(app)s‎" - -msgid "Page not found" -msgstr "صفحه یافت نشد" - -msgid "We’re sorry, but the requested page could not be found." -msgstr "" - -msgid "Home" -msgstr "شروع" - -msgid "Server error" -msgstr "خطای سرور" - -msgid "Server error (500)" -msgstr "خطای سرور (500)" - -msgid "Server Error (500)" -msgstr "خطای سرور (500)" - -msgid "" -"There’s been an error. It’s been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" - -msgid "Run the selected action" -msgstr "اجرای حرکت انتخاب شده" - -msgid "Go" -msgstr "برو" - -msgid "Click here to select the objects across all pages" -msgstr "برای انتخاب موجودیت‌ها در تمام صفحات اینجا را کلیک کنید" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "انتخاب تمامی %(total_count)s %(module_name)s" - -msgid "Clear selection" -msgstr "لغو انتخاب‌ها" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "مدلها در برنامه %(name)s " - -msgid "Add" -msgstr "اضافه کردن" - -msgid "View" -msgstr "مشاهده" - -msgid "You don’t have permission to view or edit anything." -msgstr "شما اجازهٔ مشاهده یا ویرایش چیزی را ندارید." - -msgid "" -"First, enter a username and password. Then, you’ll be able to edit more user " -"options." -msgstr "" -"ابتدا یک نام کاربری و گذرواژه وارد کنید. سپس می توانید مشخصات دیگر کاربر را " -"ویرایش کنید." - -msgid "Enter a username and password." -msgstr "یک نام کاربری و رمز عبور را وارد کنید." - -msgid "Change password" -msgstr "تغییر گذرواژه" - -msgid "Please correct the error below." -msgstr "لطفاً خطای زیر را تصحیح کنید." - -msgid "Please correct the errors below." -msgstr "لطفاً خطاهای زیر را تصحیح کنید." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "برای کابر %(username)s یک گذرنامهٔ جدید وارد کنید." - -msgid "Welcome," -msgstr "خوش آمدید،" - -msgid "View site" -msgstr "نمایش وبگاه" - -msgid "Documentation" -msgstr "مستندات" - -msgid "Log out" -msgstr "خروج" - -#, python-format -msgid "Add %(name)s" -msgstr "اضافه‌کردن %(name)s" - -msgid "History" -msgstr "تاریخچه" - -msgid "View on site" -msgstr "مشاهده در وب‌گاه" - -msgid "Filter" -msgstr "فیلتر" - -msgid "Clear all filters" -msgstr "پاک کردن همه فیلترها" - -msgid "Remove from sorting" -msgstr "حذف از مرتب سازی" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "اولویت مرتب‌سازی: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "تعویض مرتب سازی" - -msgid "Delete" -msgstr "حذف" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"حذف %(object_name)s·'%(escaped_object)s' می تواند باعث حذف اشیاء مرتبط شود. " -"اما حساب شما دسترسی لازم برای حذف اشیای از انواع زیر را ندارد:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"حذف %(object_name)s '%(escaped_object)s' نیاز به حذف موجودیت‌های مرتبط محافظت " -"شده ذیل دارد:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"آیا مطمئنید که می‌خواهید %(object_name)s·\"%(escaped_object)s\" را حذف کنید؟ " -"کلیهٔ اشیای مرتبط زیر حذف خواهند شد:" - -msgid "Objects" -msgstr "اشیاء" - -msgid "Yes, I’m sure" -msgstr "بله، مطمئن هستم." - -msgid "No, take me back" -msgstr "نه، من را برگردان" - -msgid "Delete multiple objects" -msgstr "حذف اشیاء متعدد" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"حذف %(objects_name)s انتخاب شده منجر به حذف موجودیت‌های مرتبط خواهد شد، ولی " -"شناسه شما اجازه حذف اینگونه از موجودیت‌های ذیل را ندارد:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"حذف %(objects_name)s انتخاب شده نیاز به حذف موجودیت‌های مرتبط محافظت شده ذیل " -"دارد:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"آیا در خصوص حذف %(objects_name)s انتخاب شده اطمینان دارید؟ تمام موجودیت‌های " -"ذیل به همراه موارد مرتبط با آنها حذف خواهند شد:" - -msgid "Delete?" -msgstr "حذف؟" - -#, python-format -msgid " By %(filter_title)s " -msgstr "براساس %(filter_title)s " - -msgid "Summary" -msgstr "خلاصه" - -msgid "Recent actions" -msgstr "فعالیتهای اخیر" - -msgid "My actions" -msgstr "فعالیتهای من" - -msgid "None available" -msgstr "چیزی در دسترس نیست" - -msgid "Unknown content" -msgstr "محتوا ناشناخته" - -msgid "" -"Something’s wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"شما به عنوان %(username)sوارد شده اید. ولی اجازه مشاهده صفحه فوق را نداریدو " -"آیا مایلید با کاربر دیگری وارد شوید؟" - -msgid "Forgotten your password or username?" -msgstr "گذرواژه یا نام کاربری خود را فراموش کرده‌اید؟" - -msgid "Toggle navigation" -msgstr "" - -msgid "Date/time" -msgstr "تاریخ/ساعت" - -msgid "User" -msgstr "کاربر" - -msgid "Action" -msgstr "عمل" - -msgid "" -"This object doesn’t have a change history. It probably wasn’t added via this " -"admin site." -msgstr "" - -msgid "Show all" -msgstr "نمایش همه" - -msgid "Save" -msgstr "ذخیره" - -msgid "Popup closing…" -msgstr "در حال بستن پنجره..." - -msgid "Search" -msgstr "جستجو" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s نتیجه" -msgstr[1] "%(counter)s نتیجه" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "در مجموع %(full_result_count)s تا" - -msgid "Save as new" -msgstr "ذخیره به عنوان جدید" - -msgid "Save and add another" -msgstr "ذخیره و ایجاد یکی دیگر" - -msgid "Save and continue editing" -msgstr "ذخیره و ادامهٔ ویرایش" - -msgid "Save and view" -msgstr "ذخیره و نمایش" - -msgid "Close" -msgstr "بستن" - -#, python-format -msgid "Change selected %(model)s" -msgstr "تغییر دادن %(model)s انتخاب شده" - -#, python-format -msgid "Add another %(model)s" -msgstr "افزدون %(model)s دیگر" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "حذف کردن %(model)s انتخاب شده" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "متشکر از اینکه مدتی از وقت خود را به ما اختصاص دادید." - -msgid "Log in again" -msgstr "ورود دوباره" - -msgid "Password change" -msgstr "تغییر گذرواژه" - -msgid "Your password was changed." -msgstr "گذرواژهٔ شما تغییر یافت." - -msgid "" -"Please enter your old password, for security’s sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"برای امنیت بیشتر٬ لطفا گذرواژه قدیمی خود را وارد کنید٬ سپس گذرواژه جدیدتان " -"را دوبار وارد کنید تا ما بتوانیم چک کنیم که به درستی تایپ کرده‌اید. " - -msgid "Change my password" -msgstr "تغییر گذرواژهٔ من" - -msgid "Password reset" -msgstr "ایجاد گذرواژهٔ جدید" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "گذرواژهٔ جدیدتان تنظیم شد. اکنون می‌توانید وارد وب‌گاه شوید." - -msgid "Password reset confirmation" -msgstr "تأیید گذرواژهٔ جدید" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"گذرواژهٔ جدیدتان را دوبار وارد کنید تا ما بتوانیم چک کنیم که به درستی تایپ " -"کرده‌اید." - -msgid "New password:" -msgstr "گذرواژهٔ جدید:" - -msgid "Confirm password:" -msgstr "تکرار گذرواژه:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"پیوند ایجاد گذرواژهٔ جدید نامعتبر بود، احتمالاً به این علت که قبلاً از آن " -"استفاده شده است. لطفاً برای یک گذرواژهٔ جدید درخواست دهید." - -msgid "" -"We’ve emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" - -msgid "" -"If you don’t receive an email, please make sure you’ve entered the address " -"you registered with, and check your spam folder." -msgstr "" - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"شما این ایمیل را بخاطر تقاضای تغییر رمز حساب در %(site_name)s. دریافت کرده " -"اید." - -msgid "Please go to the following page and choose a new password:" -msgstr "لطفاً به صفحهٔ زیر بروید و یک گذرواژهٔ جدید انتخاب کنید:" - -msgid "Your username, in case you’ve forgotten:" -msgstr "نام کاربری‌تان، چنانچه احیاناً یادتان رفته است:" - -msgid "Thanks for using our site!" -msgstr "ممنون از استفادهٔ شما از وب‌گاه ما" - -#, python-format -msgid "The %(site_name)s team" -msgstr "گروه %(site_name)s" - -msgid "" -"Forgotten your password? Enter your email address below, and we’ll email " -"instructions for setting a new one." -msgstr "" - -msgid "Email address:" -msgstr "آدرس ایمیل:" - -msgid "Reset my password" -msgstr "ایجاد گذرواژهٔ جدید" - -msgid "All dates" -msgstr "همهٔ تاریخ‌ها" - -#, python-format -msgid "Select %s" -msgstr "%s انتخاب کنید" - -#, python-format -msgid "Select %s to change" -msgstr "%s را برای تغییر انتخاب کنید" - -#, python-format -msgid "Select %s to view" -msgstr "%s را برای مشاهده انتخاب کنید" - -msgid "Date:" -msgstr "تاریخ:" - -msgid "Time:" -msgstr "زمان:" - -msgid "Lookup" -msgstr "جستجو" - -msgid "Currently:" -msgstr "در حال حاضر:" - -msgid "Change:" -msgstr "تغییر یافته:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/fa/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/fa/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 9fe5c5ca..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/fa/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/fa/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/fa/LC_MESSAGES/djangojs.po deleted file mode 100644 index 70774fee..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/fa/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,223 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Ali Nikneshan , 2011-2012 -# Alireza Savand , 2012 -# Ali Vakilzade , 2015 -# Jannis Leidel , 2011 -# Pouya Abbassi, 2016 -# rahim agh , 2020 -# Reza Mohammadi , 2014 -# Sina Cheraghi , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-11 20:56+0200\n" -"PO-Revision-Date: 2020-05-27 09:38+0000\n" -"Last-Translator: rahim agh \n" -"Language-Team: Persian (http://www.transifex.com/django/django/language/" -"fa/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fa\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "%sی موجود" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"این لیست%s های در دسترس است. شما ممکن است برخی از آنها را در محل زیرانتخاب " -"نمایید و سپس روی \"انتخاب\" بین دو جعبه کلیک کنید." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "برای غربال فهرست %sی موجود درون این جعبه تایپ کنید." - -msgid "Filter" -msgstr "غربال" - -msgid "Choose all" -msgstr "انتخاب همه" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "برای انتخاب یکجای همهٔ %s کلیک کنید." - -msgid "Choose" -msgstr "انتخاب" - -msgid "Remove" -msgstr "حذف" - -#, javascript-format -msgid "Chosen %s" -msgstr "%s انتخاب شده" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"این فهرست %s های انتخاب شده است. شما ممکن است برخی از انتخاب آنها را در محل " -"زیر وارد نمایید و سپس روی \"حذف\" جهت دار بین دو جعبه حذف شده است." - -msgid "Remove all" -msgstr "حذف همه" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "برای حذف یکجای همهٔ %sی انتخاب شده کلیک کنید." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] " %(sel)s از %(cnt)s انتخاب شده‌اند" -msgstr[1] " %(sel)s از %(cnt)s انتخاب شده‌اند" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"شما تغییراتی در بعضی فیلدهای قابل تغییر انجام داده اید. اگر کاری انجام " -"دهید، تغییرات از دست خواهند رفت" - -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 "" -"شما یک اقدام را انتخاب کرده‌اید، ولی تغییراتی که در فیلدهای شخصی وارد کرده‌اید " -"هنوز ذخیره نشده‌اند. لطفاً کلید OK را برای ذخیره کردن تغییرات بزنید. لازم است " -"که اقدام را دوباره اجرا کنید." - -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 "" -"شما یک اقدام را انتخاب کرده‌اید، ولی تغییراتی در فیلدهای شخصی وارد نکرده‌اید. " -"احتمالاً به جای کلید Save به دنبال کلید Go می‌گردید." - -msgid "Now" -msgstr "اکنون" - -msgid "Midnight" -msgstr "نیمه‌شب" - -msgid "6 a.m." -msgstr "۶ صبح" - -msgid "Noon" -msgstr "ظهر" - -msgid "6 p.m." -msgstr "۶ بعدازظهر" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "توجه: شما %s ساعت از زمان سرور جلو هستید." -msgstr[1] "توجه: شما %s ساعت از زمان سرور جلو هستید." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "توجه: شما %s ساعت از زمان سرور عقب هستید." -msgstr[1] "توجه: شما %s ساعت از زمان سرور عقب هستید." - -msgid "Choose a Time" -msgstr "یک زمان انتخاب کنید" - -msgid "Choose a time" -msgstr "یک زمان انتخاب کنید" - -msgid "Cancel" -msgstr "انصراف" - -msgid "Today" -msgstr "امروز" - -msgid "Choose a Date" -msgstr "یک تاریخ انتخاب کنید" - -msgid "Yesterday" -msgstr "دیروز" - -msgid "Tomorrow" -msgstr "فردا" - -msgid "January" -msgstr "ژانویه" - -msgid "February" -msgstr "فوریه" - -msgid "March" -msgstr "مارس" - -msgid "April" -msgstr "آوریل" - -msgid "May" -msgstr "می" - -msgid "June" -msgstr "ژوئن" - -msgid "July" -msgstr "جولای" - -msgid "August" -msgstr "آگوست" - -msgid "September" -msgstr "سپتامبر" - -msgid "October" -msgstr "اکتبر" - -msgid "November" -msgstr "نوامبر" - -msgid "December" -msgstr "دسامبر" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "ی" - -msgctxt "one letter Monday" -msgid "M" -msgstr "د" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "س" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "چ" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "پ" - -msgctxt "one letter Friday" -msgid "F" -msgstr "ج" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "ش" - -msgid "Show" -msgstr "نمایش" - -msgid "Hide" -msgstr "پنهان کردن" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/fi/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/fi/LC_MESSAGES/django.mo deleted file mode 100644 index 85f8cd57..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/fi/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/fi/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/fi/LC_MESSAGES/django.po deleted file mode 100644 index d7a8a6a8..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/fi/LC_MESSAGES/django.po +++ /dev/null @@ -1,699 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Aarni Koskela, 2015,2017,2020 -# Antti Kaihola , 2011 -# Jannis Leidel , 2011 -# Klaus Dahlén , 2012 -# Nikolay Korotkiy , 2018 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-14 19:53+0200\n" -"PO-Revision-Date: 2020-07-14 22:38+0000\n" -"Last-Translator: Transifex Bot <>\n" -"Language-Team: Finnish (http://www.transifex.com/django/django/language/" -"fi/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fi\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "%(count)d \"%(items)s\"-kohdetta poistettu." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "Ei voida poistaa: %(name)s" - -msgid "Are you sure?" -msgstr "Oletko varma?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Poista valitut \"%(verbose_name_plural)s\"-kohteet" - -msgid "Administration" -msgstr "Hallinta" - -msgid "All" -msgstr "Kaikki" - -msgid "Yes" -msgstr "Kyllä" - -msgid "No" -msgstr "Ei" - -msgid "Unknown" -msgstr "Tuntematon" - -msgid "Any date" -msgstr "Mikä tahansa päivä" - -msgid "Today" -msgstr "Tänään" - -msgid "Past 7 days" -msgstr "Viimeiset 7 päivää" - -msgid "This month" -msgstr "Tässä kuussa" - -msgid "This year" -msgstr "Tänä vuonna" - -msgid "No date" -msgstr "Ei päivämäärää" - -msgid "Has date" -msgstr "On päivämäärä" - -msgid "Empty" -msgstr "" - -msgid "Not empty" -msgstr "" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Ole hyvä ja syötä henkilökuntatilin %(username)s ja salasana. Huomaa että " -"kummassakin kentässä isoilla ja pienillä kirjaimilla saattaa olla merkitystä." - -msgid "Action:" -msgstr "Toiminto:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Lisää toinen %(verbose_name)s" - -msgid "Remove" -msgstr "Poista" - -msgid "Addition" -msgstr "Lisäys" - -msgid "Change" -msgstr "Muokkaa" - -msgid "Deletion" -msgstr "Poisto" - -msgid "action time" -msgstr "tapahtumahetki" - -msgid "user" -msgstr "käyttäjä" - -msgid "content type" -msgstr "sisältötyyppi" - -msgid "object id" -msgstr "kohteen tunniste" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "kohteen tiedot" - -msgid "action flag" -msgstr "tapahtumatyyppi" - -msgid "change message" -msgstr "selitys" - -msgid "log entry" -msgstr "lokimerkintä" - -msgid "log entries" -msgstr "lokimerkinnät" - -#, python-format -msgid "Added “%(object)s”." -msgstr "Lisätty \"%(object)s\"." - -#, python-format -msgid "Changed “%(object)s” — %(changes)s" -msgstr "Muokattu \"%(object)s\" - %(changes)s" - -#, python-format -msgid "Deleted “%(object)s.”" -msgstr "Poistettu \"%(object)s.\"" - -msgid "LogEntry Object" -msgstr "Lokimerkintätietue" - -#, python-brace-format -msgid "Added {name} “{object}”." -msgstr "" - -msgid "Added." -msgstr "Lisätty." - -msgid "and" -msgstr "ja" - -#, python-brace-format -msgid "Changed {fields} for {name} “{object}”." -msgstr "" - -#, python-brace-format -msgid "Changed {fields}." -msgstr "Muutettu {fields}." - -#, python-brace-format -msgid "Deleted {name} “{object}”." -msgstr "" - -msgid "No fields changed." -msgstr "Ei muutoksia kenttiin." - -msgid "None" -msgstr "Ei arvoa" - -msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." -msgstr "" - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully." -msgstr "" - -msgid "You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} “{obj}” was added successfully. You may add another {name} below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} “{obj}” was changed successfully." -msgstr "" - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Kohteiden täytyy olla valittuna, jotta niihin voi kohdistaa toimintoja. " -"Kohteita ei ole muutettu." - -msgid "No action selected." -msgstr "Ei toimintoa valittuna." - -#, python-format -msgid "The %(name)s “%(obj)s” was deleted successfully." -msgstr "" - -#, python-format -msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" -msgstr "" - -#, python-format -msgid "Add %s" -msgstr "Lisää %s" - -#, python-format -msgid "Change %s" -msgstr "Muokkaa %s" - -#, python-format -msgid "View %s" -msgstr "" - -msgid "Database error" -msgstr "Tietokantavirhe" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s on muokattu." -msgstr[1] "%(count)s \"%(name)s\"-kohdetta on muokattu." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s valittu" -msgstr[1] "Kaikki %(total_count)s valittu" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "0 valittuna %(cnt)s mahdollisesta" - -#, python-format -msgid "Change history: %s" -msgstr "Muokkaushistoria: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"%(class_name)s %(instance)s poistaminen vaatisi myös seuraavien suojattujen " -"liittyvien kohteiden poiston: %(related_objects)s" - -msgid "Django site admin" -msgstr "Django-sivuston ylläpito" - -msgid "Django administration" -msgstr "Djangon ylläpito" - -msgid "Site administration" -msgstr "Sivuston ylläpito" - -msgid "Log in" -msgstr "Kirjaudu sisään" - -#, python-format -msgid "%(app)s administration" -msgstr "%(app)s-ylläpito" - -msgid "Page not found" -msgstr "Sivua ei löydy" - -msgid "We’re sorry, but the requested page could not be found." -msgstr "" - -msgid "Home" -msgstr "Etusivu" - -msgid "Server error" -msgstr "Palvelinvirhe" - -msgid "Server error (500)" -msgstr "Palvelinvirhe (500)" - -msgid "Server Error (500)" -msgstr "Palvelinvirhe (500)" - -msgid "" -"There’s been an error. It’s been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" - -msgid "Run the selected action" -msgstr "Suorita valittu toiminto" - -msgid "Go" -msgstr "Suorita" - -msgid "Click here to select the objects across all pages" -msgstr "Klikkaa tästä valitaksesi kohteet kaikilta sivuilta" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Valitse kaikki %(total_count)s %(module_name)s" - -msgid "Clear selection" -msgstr "Tyhjennä valinta" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "%(name)s -applikaation mallit" - -msgid "Add" -msgstr "Lisää" - -msgid "View" -msgstr "" - -msgid "You don’t have permission to view or edit anything." -msgstr "" - -msgid "" -"First, enter a username and password. Then, you’ll be able to edit more user " -"options." -msgstr "" - -msgid "Enter a username and password." -msgstr "Syötä käyttäjätunnus ja salasana." - -msgid "Change password" -msgstr "Vaihda salasana" - -msgid "Please correct the error below." -msgstr "" - -msgid "Please correct the errors below." -msgstr "Korjaa allaolevat virheet." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "Syötä käyttäjän %(username)s uusi salasana." - -msgid "Welcome," -msgstr "Tervetuloa," - -msgid "View site" -msgstr "Näytä sivusto" - -msgid "Documentation" -msgstr "Ohjeita" - -msgid "Log out" -msgstr "Kirjaudu ulos" - -#, python-format -msgid "Add %(name)s" -msgstr "Lisää %(name)s" - -msgid "History" -msgstr "Muokkaushistoria" - -msgid "View on site" -msgstr "Näytä lopputulos" - -msgid "Filter" -msgstr "Suodatin" - -msgid "Clear all filters" -msgstr "" - -msgid "Remove from sorting" -msgstr "Poista järjestämisestä" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Järjestysprioriteetti: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Kytke järjestäminen" - -msgid "Delete" -msgstr "Poista" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Kohteen '%(escaped_object)s' (%(object_name)s) poisto poistaisi myös siihen " -"liittyviä kohteita, mutta sinulla ei ole oikeutta näiden kohteiden " -"poistamiseen:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"%(object_name)s '%(escaped_object)s': poistettaessa joudutaan poistamaan " -"myös seuraavat suojatut siihen liittyvät kohteet:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Haluatko varmasti poistaa kohteen \"%(escaped_object)s\" (%(object_name)s)? " -"Myös seuraavat kohteet poistettaisiin samalla:" - -msgid "Objects" -msgstr "Kohteet" - -msgid "Yes, I’m sure" -msgstr "" - -msgid "No, take me back" -msgstr "Ei, mennään takaisin" - -msgid "Delete multiple objects" -msgstr "Poista useita kohteita" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Jos valitut %(objects_name)s poistettaisiin, jouduttaisiin poistamaan niihin " -"liittyviä kohteita. Sinulla ei kuitenkaan ole oikeutta poistaa seuraavia " -"kohdetyyppejä:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Jos valitut %(objects_name)s poistetaan, pitää poistaa myös seuraavat " -"suojatut niihin liittyvät kohteet:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Haluatki varmasti poistaa valitut %(objects_name)s? Samalla poistetaan " -"kaikki alla mainitut ja niihin liittyvät kohteet:" - -msgid "Delete?" -msgstr "Poista?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " %(filter_title)s " - -msgid "Summary" -msgstr "Yhteenveto" - -msgid "Recent actions" -msgstr "Viimeisimmät tapahtumat" - -msgid "My actions" -msgstr "Omat tapahtumat" - -msgid "None available" -msgstr "Ei yhtään" - -msgid "Unknown content" -msgstr "Tuntematon sisältö" - -msgid "" -"Something’s wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"Olet kirjautunut käyttäjänä %(username)s, mutta sinulla ei ole pääsyä tälle " -"sivulle. Haluaisitko kirjautua eri tilille?" - -msgid "Forgotten your password or username?" -msgstr "Unohditko salasanasi tai käyttäjätunnuksesi?" - -msgid "Toggle navigation" -msgstr "" - -msgid "Date/time" -msgstr "Pvm/klo" - -msgid "User" -msgstr "Käyttäjä" - -msgid "Action" -msgstr "Tapahtuma" - -msgid "" -"This object doesn’t have a change history. It probably wasn’t added via this " -"admin site." -msgstr "" - -msgid "Show all" -msgstr "Näytä kaikki" - -msgid "Save" -msgstr "Tallenna ja poistu" - -msgid "Popup closing…" -msgstr "" - -msgid "Search" -msgstr "Haku" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s osuma" -msgstr[1] "%(counter)s osumaa" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "yhteensä %(full_result_count)s" - -msgid "Save as new" -msgstr "Tallenna uutena" - -msgid "Save and add another" -msgstr "Tallenna ja lisää toinen" - -msgid "Save and continue editing" -msgstr "Tallenna välillä ja jatka muokkaamista" - -msgid "Save and view" -msgstr "" - -msgid "Close" -msgstr "Sulje" - -#, python-format -msgid "Change selected %(model)s" -msgstr "Muuta valittuja %(model)s" - -#, python-format -msgid "Add another %(model)s" -msgstr "Lisää toinen %(model)s" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Poista valitut %(model)s" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Kiitos sivuillamme viettämästäsi ajasta." - -msgid "Log in again" -msgstr "Kirjaudu uudelleen sisään" - -msgid "Password change" -msgstr "Salasanan vaihtaminen" - -msgid "Your password was changed." -msgstr "Salasanasi on vaihdettu." - -msgid "" -"Please enter your old password, for security’s sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" - -msgid "Change my password" -msgstr "Vaihda salasana" - -msgid "Password reset" -msgstr "Salasanan nollaus" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Salasanasi on asetettu. Nyt voit kirjautua sisään." - -msgid "Password reset confirmation" -msgstr "Salasanan nollauksen vahvistus" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Syötä uusi salasanasi kaksi kertaa, jotta voimme varmistaa että syötit sen " -"oikein." - -msgid "New password:" -msgstr "Uusi salasana:" - -msgid "Confirm password:" -msgstr "Varmista uusi salasana:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Salasanan nollauslinkki oli virheellinen, mahdollisesti siksi että se on jo " -"käytetty. Ole hyvä ja pyydä uusi salasanan nollaus." - -msgid "" -"We’ve emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" - -msgid "" -"If you don’t receive an email, please make sure you’ve entered the address " -"you registered with, and check your spam folder." -msgstr "" - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"Tämä viesti on lähetetty sinulle, koska olet pyytänyt %(site_name)s -" -"sivustolla salasanan palautusta." - -msgid "Please go to the following page and choose a new password:" -msgstr "Määrittele uusi salasanasi oheisella sivulla:" - -msgid "Your username, in case you’ve forgotten:" -msgstr "" - -msgid "Thanks for using our site!" -msgstr "Kiitos vierailustasi sivuillamme!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "%(site_name)s -sivuston ylläpitäjät" - -msgid "" -"Forgotten your password? Enter your email address below, and we’ll email " -"instructions for setting a new one." -msgstr "" - -msgid "Email address:" -msgstr "Sähköpostiosoite:" - -msgid "Reset my password" -msgstr "Nollaa salasanani" - -msgid "All dates" -msgstr "Kaikki päivät" - -#, python-format -msgid "Select %s" -msgstr "Valitse %s" - -#, python-format -msgid "Select %s to change" -msgstr "Valitse muokattava %s" - -#, python-format -msgid "Select %s to view" -msgstr "" - -msgid "Date:" -msgstr "Pvm:" - -msgid "Time:" -msgstr "Klo:" - -msgid "Lookup" -msgstr "Etsi" - -msgid "Currently:" -msgstr "Tällä hetkellä:" - -msgid "Change:" -msgstr "Muokkaa:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/fi/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/fi/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 10d6422a..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/fi/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/fi/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/fi/LC_MESSAGES/djangojs.po deleted file mode 100644 index bf775c86..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/fi/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,220 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Aarni Koskela, 2015,2017 -# Antti Kaihola , 2011 -# Jannis Leidel , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" -"PO-Revision-Date: 2017-09-19 16:41+0000\n" -"Last-Translator: Aarni Koskela\n" -"Language-Team: Finnish (http://www.transifex.com/django/django/language/" -"fi/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fi\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "Mahdolliset %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Tämä on lista saatavillaolevista %s. Valitse allaolevasta laatikosta " -"haluamasi ja siirrä ne valittuihin klikkamalla \"Valitse\"-nuolta " -"laatikoiden välillä." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "Kirjoita tähän listaan suodattaaksesi %s-listaa." - -msgid "Filter" -msgstr "Suodatin" - -msgid "Choose all" -msgstr "Valitse kaikki" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Klikkaa valitaksesi kaikki %s kerralla." - -msgid "Choose" -msgstr "Valitse" - -msgid "Remove" -msgstr "Poista" - -#, javascript-format -msgid "Chosen %s" -msgstr "Valitut %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Tämä on lista valituista %s. Voit poistaa valintoja valitsemalla ne " -"allaolevasta laatikosta ja siirtämällä ne takaisin valitsemattomiin " -"klikkamalla \"Poista\"-nuolta laatikoiden välillä." - -msgid "Remove all" -msgstr "Poista kaikki" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Klikkaa poistaaksesi kaikki valitut %s kerralla." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(sel)s valittuna %(cnt)s mahdollisesta" -msgstr[1] "%(sel)s valittuna %(cnt)s mahdollisesta" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Sinulla on tallentamattomia muutoksia yksittäisissä muokattavissa kentissä. " -"Jos suoritat toiminnon, tallentamattomat muutoksesi katoavat." - -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 "" -"Olet valinnut toiminnon, mutta et ole vielä tallentanut muutoksiasi " -"yksittäisiin kenttiin. Paina OK tallentaaksesi. Sinun pitää suorittaa " -"toiminto uudelleen." - -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 "" -"Olet valinnut toiminnon etkä ole tehnyt yhtään muutosta yksittäisissä " -"kentissä. Etsit todennäköisesti Suorita-nappia Tallenna-napin sijaan." - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Huom: Olet %s tunnin palvelinaikaa edellä." -msgstr[1] "Huom: Olet %s tuntia palvelinaikaa edellä." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Huom: Olet %s tunnin palvelinaikaa jäljessä." -msgstr[1] "Huom: Olet %s tuntia palvelinaikaa jäljessä." - -msgid "Now" -msgstr "Nyt" - -msgid "Choose a Time" -msgstr "Valitse kellonaika" - -msgid "Choose a time" -msgstr "Valitse kellonaika" - -msgid "Midnight" -msgstr "24" - -msgid "6 a.m." -msgstr "06" - -msgid "Noon" -msgstr "12" - -msgid "6 p.m." -msgstr "18:00" - -msgid "Cancel" -msgstr "Peruuta" - -msgid "Today" -msgstr "Tänään" - -msgid "Choose a Date" -msgstr "Valitse päivämäärä" - -msgid "Yesterday" -msgstr "Eilen" - -msgid "Tomorrow" -msgstr "Huomenna" - -msgid "January" -msgstr "tammikuu" - -msgid "February" -msgstr "helmikuu" - -msgid "March" -msgstr "maaliskuu" - -msgid "April" -msgstr "huhtikuu" - -msgid "May" -msgstr "toukokuu" - -msgid "June" -msgstr "kesäkuu" - -msgid "July" -msgstr "heinäkuu" - -msgid "August" -msgstr "elokuu" - -msgid "September" -msgstr "syyskuu" - -msgid "October" -msgstr "lokakuu" - -msgid "November" -msgstr "marraskuu" - -msgid "December" -msgstr "joulukuu" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "Su" - -msgctxt "one letter Monday" -msgid "M" -msgstr "Ma" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "Ti" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "Ke" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "To" - -msgctxt "one letter Friday" -msgid "F" -msgstr "Pe" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "La" - -msgid "Show" -msgstr "Näytä" - -msgid "Hide" -msgstr "Piilota" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/fr/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/fr/LC_MESSAGES/django.mo deleted file mode 100644 index bbd53af0..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/fr/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/fr/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/fr/LC_MESSAGES/django.po deleted file mode 100644 index cd0ee3da..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/fr/LC_MESSAGES/django.po +++ /dev/null @@ -1,737 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Claude Paroz , 2013-2020 -# Claude Paroz , 2011,2013 -# Jannis Leidel , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-14 19:53+0200\n" -"PO-Revision-Date: 2020-07-15 08:40+0000\n" -"Last-Translator: Claude Paroz \n" -"Language-Team: French (http://www.transifex.com/django/django/language/fr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "La suppression de %(count)d %(items)s a réussi." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "Impossible de supprimer %(name)s" - -msgid "Are you sure?" -msgstr "Êtes-vous sûr ?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Supprimer les %(verbose_name_plural)s sélectionnés" - -msgid "Administration" -msgstr "Administration" - -msgid "All" -msgstr "Tout" - -msgid "Yes" -msgstr "Oui" - -msgid "No" -msgstr "Non" - -msgid "Unknown" -msgstr "Inconnu" - -msgid "Any date" -msgstr "Toutes les dates" - -msgid "Today" -msgstr "Aujourd’hui" - -msgid "Past 7 days" -msgstr "Les 7 derniers jours" - -msgid "This month" -msgstr "Ce mois-ci" - -msgid "This year" -msgstr "Cette année" - -msgid "No date" -msgstr "Aucune date" - -msgid "Has date" -msgstr "Possède une date" - -msgid "Empty" -msgstr "Vide" - -msgid "Not empty" -msgstr "Non vide" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Veuillez compléter correctement les champs « %(username)s » et « mot de " -"passe » d'un compte autorisé. Sachez que les deux champs peuvent être " -"sensibles à la casse." - -msgid "Action:" -msgstr "Action :" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Ajouter un objet %(verbose_name)s supplémentaire" - -msgid "Remove" -msgstr "Supprimer" - -msgid "Addition" -msgstr "Ajout" - -msgid "Change" -msgstr "Modifier" - -msgid "Deletion" -msgstr "Suppression" - -msgid "action time" -msgstr "heure de l’action" - -msgid "user" -msgstr "utilisateur" - -msgid "content type" -msgstr "type de contenu" - -msgid "object id" -msgstr "id de l’objet" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "représentation de l’objet" - -msgid "action flag" -msgstr "indicateur de l’action" - -msgid "change message" -msgstr "message de modification" - -msgid "log entry" -msgstr "entrée d’historique" - -msgid "log entries" -msgstr "entrées d’historique" - -#, python-format -msgid "Added “%(object)s”." -msgstr "Ajout de « %(object)s »." - -#, python-format -msgid "Changed “%(object)s” — %(changes)s" -msgstr "Modification de « %(object)s » — %(changes)s" - -#, python-format -msgid "Deleted “%(object)s.”" -msgstr "Suppression de « %(object)s »." - -msgid "LogEntry Object" -msgstr "Objet de journal" - -#, python-brace-format -msgid "Added {name} “{object}”." -msgstr "Ajout de {name} « {object} »." - -msgid "Added." -msgstr "Ajout." - -msgid "and" -msgstr "et" - -#, python-brace-format -msgid "Changed {fields} for {name} “{object}”." -msgstr "Modification de {fields} pour l'objet {name} « {object} »." - -#, python-brace-format -msgid "Changed {fields}." -msgstr "Modification de {fields}." - -#, python-brace-format -msgid "Deleted {name} “{object}”." -msgstr "Suppression de {name} « {object} »." - -msgid "No fields changed." -msgstr "Aucun champ modifié." - -msgid "None" -msgstr "Aucun(e)" - -msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." -msgstr "" -"Maintenez appuyé « Ctrl », ou « Commande (touche pomme) » sur un Mac, pour " -"en sélectionner plusieurs." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully." -msgstr "L'objet {name} « {obj} » a été ajouté avec succès." - -msgid "You may edit it again below." -msgstr "Vous pouvez l’éditer à nouveau ci-dessous." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was added successfully. You may add another {name} below." -msgstr "" -"L’objet {name} « {obj} » a été ajouté avec succès. Vous pouvez ajouter un " -"autre objet « {name} » ci-dessous." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may edit it again below." -msgstr "" -"L’objet {name} « {obj} » a été modifié avec succès. Vous pouvez continuer " -"l’édition ci-dessous." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully. You may edit it again below." -msgstr "" -"L’objet {name} « {obj} » a été ajouté avec succès. Vous pouvez continuer " -"l’édition ci-dessous." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may add another {name} " -"below." -msgstr "" -"L’objet {name} « {obj} » a été modifié avec succès. Vous pouvez ajouter un " -"autre objet {name} ci-dessous." - -#, python-brace-format -msgid "The {name} “{obj}” was changed successfully." -msgstr "L’objet {name} « {obj} » a été modifié avec succès." - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Des éléments doivent être sélectionnés afin d’appliquer les actions. Aucun " -"élément n’a été modifié." - -msgid "No action selected." -msgstr "Aucune action sélectionnée." - -#, python-format -msgid "The %(name)s “%(obj)s” was deleted successfully." -msgstr "L’objet %(name)s « %(obj)s » a été supprimé avec succès." - -#, python-format -msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" -msgstr "" -"%(name)s avec l’identifiant « %(key)s » n’existe pas. Peut-être a-t-il été " -"supprimé ?" - -#, python-format -msgid "Add %s" -msgstr "Ajout de %s" - -#, python-format -msgid "Change %s" -msgstr "Modification de %s" - -#, python-format -msgid "View %s" -msgstr "Affichage de %s" - -msgid "Database error" -msgstr "Erreur de base de données" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s objet %(name)s a été modifié avec succès." -msgstr[1] "%(count)s objets %(name)s ont été modifiés avec succès." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s sélectionné" -msgstr[1] "Tous les %(total_count)s sélectionnés" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "0 sur %(cnt)s sélectionné" - -#, python-format -msgid "Change history: %s" -msgstr "Historique des changements : %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"Supprimer l’objet %(class_name)s « %(instance)s » provoquerait la " -"suppression des objets liés et protégés suivants : %(related_objects)s" - -msgid "Django site admin" -msgstr "Site d’administration de Django" - -msgid "Django administration" -msgstr "Administration de Django" - -msgid "Site administration" -msgstr "Administration du site" - -msgid "Log in" -msgstr "Connexion" - -#, python-format -msgid "%(app)s administration" -msgstr "Administration de %(app)s" - -msgid "Page not found" -msgstr "Cette page n’a pas été trouvée" - -msgid "We’re sorry, but the requested page could not be found." -msgstr "Nous sommes désolés, mais la page demandée est introuvable." - -msgid "Home" -msgstr "Accueil" - -msgid "Server error" -msgstr "Erreur du serveur" - -msgid "Server error (500)" -msgstr "Erreur du serveur (500)" - -msgid "Server Error (500)" -msgstr "Erreur du serveur (500)" - -msgid "" -"There’s been an error. It’s been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"Une erreur est survenue. Elle a été transmise par courriel aux " -"administrateurs du site et sera corrigée dans les meilleurs délais. Merci " -"pour votre patience." - -msgid "Run the selected action" -msgstr "Exécuter l’action sélectionnée" - -msgid "Go" -msgstr "Envoyer" - -msgid "Click here to select the objects across all pages" -msgstr "Cliquez ici pour sélectionner tous les objets sur l’ensemble des pages" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Sélectionner tous les %(total_count)s %(module_name)s" - -msgid "Clear selection" -msgstr "Effacer la sélection" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "Modèles de l’application %(name)s" - -msgid "Add" -msgstr "Ajouter" - -msgid "View" -msgstr "Afficher" - -msgid "You don’t have permission to view or edit anything." -msgstr "Vous n’avez pas la permission de voir ou de modifier quoi que ce soit." - -msgid "" -"First, enter a username and password. Then, you’ll be able to edit more user " -"options." -msgstr "" -"Saisissez tout d’abord un nom d’utilisateur et un mot de passe. Vous pourrez " -"ensuite modifier plus d’options." - -msgid "Enter a username and password." -msgstr "Saisissez un nom d’utilisateur et un mot de passe." - -msgid "Change password" -msgstr "Modifier le mot de passe" - -msgid "Please correct the error below." -msgstr "Corrigez l’erreur ci-dessous." - -msgid "Please correct the errors below." -msgstr "Corrigez les erreurs ci-dessous." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "" -"Saisissez un nouveau mot de passe pour l’utilisateur %(username)s." - -msgid "Welcome," -msgstr "Bienvenue," - -msgid "View site" -msgstr "Voir le site" - -msgid "Documentation" -msgstr "Documentation" - -msgid "Log out" -msgstr "Déconnexion" - -#, python-format -msgid "Add %(name)s" -msgstr "Ajouter %(name)s" - -msgid "History" -msgstr "Historique" - -msgid "View on site" -msgstr "Voir sur le site" - -msgid "Filter" -msgstr "Filtre" - -msgid "Clear all filters" -msgstr "Effacer tous les filtres" - -msgid "Remove from sorting" -msgstr "Enlever du tri" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Priorité de tri : %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Inverser le tri" - -msgid "Delete" -msgstr "Supprimer" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Supprimer l’objet %(object_name)s « %(escaped_object)s » provoquerait la " -"suppression des objets qui lui sont liés, mais votre compte ne possède pas " -"la permission de supprimer les types d’objets suivants :" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"Supprimer l’objet %(object_name)s « %(escaped_object)s » provoquerait la " -"suppression des objets liés et protégés suivants :" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Voulez-vous vraiment supprimer l’objet %(object_name)s " -"« %(escaped_object)s » ? Les éléments suivants sont liés à celui-ci et " -"seront aussi supprimés :" - -msgid "Objects" -msgstr "Objets" - -msgid "Yes, I’m sure" -msgstr "Oui, je suis sûr" - -msgid "No, take me back" -msgstr "Non, revenir à la page précédente" - -msgid "Delete multiple objects" -msgstr "Supprimer plusieurs objets" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"La suppression des objets %(objects_name)s sélectionnés provoquerait la " -"suppression d’objets liés, mais votre compte n’est pas autorisé à supprimer " -"les types d’objet suivants :" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"La suppression des objets %(objects_name)s sélectionnés provoquerait la " -"suppression des objets liés et protégés suivants :" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Voulez-vous vraiment supprimer les objets %(objects_name)s sélectionnés ? " -"Tous les objets suivants et les éléments liés seront supprimés :" - -msgid "Delete?" -msgstr "Supprimer ?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " Par %(filter_title)s " - -msgid "Summary" -msgstr "Résumé" - -msgid "Recent actions" -msgstr "Actions récentes" - -msgid "My actions" -msgstr "Mes actions" - -msgid "None available" -msgstr "Aucun(e) disponible" - -msgid "Unknown content" -msgstr "Contenu inconnu" - -msgid "" -"Something’s wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"L’installation de votre base de données est incorrecte. Vérifiez que les " -"tables utiles ont été créées, et que la base est accessible par " -"l’utilisateur concerné." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"Vous êtes authentifié sous le nom %(username)s, mais vous n’êtes pas " -"autorisé à accéder à cette page. Souhaitez-vous vous connecter avec un autre " -"compte utilisateur ?" - -msgid "Forgotten your password or username?" -msgstr "Mot de passe ou nom d’utilisateur oublié ?" - -msgid "Toggle navigation" -msgstr "Basculer la navigation" - -msgid "Date/time" -msgstr "Date/heure" - -msgid "User" -msgstr "Utilisateur" - -msgid "Action" -msgstr "Action" - -msgid "" -"This object doesn’t have a change history. It probably wasn’t added via this " -"admin site." -msgstr "" -"Cet objet n’a pas d’historique de modification. Il n’a probablement pas été " -"ajouté au moyen de ce site d’administration." - -msgid "Show all" -msgstr "Tout afficher" - -msgid "Save" -msgstr "Enregistrer" - -msgid "Popup closing…" -msgstr "Fenêtre en cours de fermeture…" - -msgid "Search" -msgstr "Rechercher" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s résultat" -msgstr[1] "%(counter)s résultats" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s résultats" - -msgid "Save as new" -msgstr "Enregistrer en tant que nouveau" - -msgid "Save and add another" -msgstr "Enregistrer et ajouter un nouveau" - -msgid "Save and continue editing" -msgstr "Enregistrer et continuer les modifications" - -msgid "Save and view" -msgstr "Enregistrer et afficher" - -msgid "Close" -msgstr "Fermer" - -#, python-format -msgid "Change selected %(model)s" -msgstr "Modifier l’objet %(model)s sélectionné" - -#, python-format -msgid "Add another %(model)s" -msgstr "Ajouter un autre objet %(model)s" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Supprimer l’objet %(model)s sélectionné" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Merci pour le temps que vous avez accordé à ce site aujourd’hui." - -msgid "Log in again" -msgstr "Connectez-vous à nouveau" - -msgid "Password change" -msgstr "Modification du mot de passe" - -msgid "Your password was changed." -msgstr "Votre mot de passe a été modifié." - -msgid "" -"Please enter your old password, for security’s sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Pour des raisons de sécurité, saisissez votre ancien mot de passe puis votre " -"nouveau mot de passe à deux reprises afin de vérifier qu’il est correctement " -"saisi." - -msgid "Change my password" -msgstr "Modifier mon mot de passe" - -msgid "Password reset" -msgstr "Réinitialisation du mot de passe" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "" -"Votre mot de passe a été défini. Vous pouvez maintenant vous authentifier." - -msgid "Password reset confirmation" -msgstr "Confirmation de mise à jour du mot de passe" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Saisissez deux fois votre nouveau mot de passe afin de vérifier qu’il est " -"correctement saisi." - -msgid "New password:" -msgstr "Nouveau mot de passe :" - -msgid "Confirm password:" -msgstr "Confirmation du mot de passe :" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Le lien de mise à jour du mot de passe n’était pas valide, probablement en " -"raison de sa précédente utilisation. Veuillez renouveler votre demande de " -"mise à jour de mot de passe." - -msgid "" -"We’ve emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Nous vous avons envoyé par courriel les instructions pour changer de mot de " -"passe, pour autant qu’un compte existe avec l’adresse que vous avez " -"indiquée. Vous devriez recevoir rapidement ce message." - -msgid "" -"If you don’t receive an email, please make sure you’ve entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Si vous ne recevez pas de message, vérifiez que vous avez saisi l’adresse " -"avec laquelle vous vous êtes enregistré et contrôlez votre dossier de " -"pourriels." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"Vous recevez ce message en réponse à votre demande de réinitialisation du " -"mot de passe de votre compte sur %(site_name)s." - -msgid "Please go to the following page and choose a new password:" -msgstr "" -"Veuillez vous rendre sur cette page et choisir un nouveau mot de passe :" - -msgid "Your username, in case you’ve forgotten:" -msgstr "Votre nom d’utilisateur, en cas d’oubli :" - -msgid "Thanks for using our site!" -msgstr "Merci d’utiliser notre site !" - -#, python-format -msgid "The %(site_name)s team" -msgstr "L’équipe %(site_name)s" - -msgid "" -"Forgotten your password? Enter your email address below, and we’ll email " -"instructions for setting a new one." -msgstr "" -"Mot de passe perdu ? Saisissez votre adresse électronique ci-dessous et nous " -"vous enverrons les instructions pour en créer un nouveau." - -msgid "Email address:" -msgstr "Adresse électronique :" - -msgid "Reset my password" -msgstr "Réinitialiser mon mot de passe" - -msgid "All dates" -msgstr "Toutes les dates" - -#, python-format -msgid "Select %s" -msgstr "Sélectionnez %s" - -#, python-format -msgid "Select %s to change" -msgstr "Sélectionnez l’objet %s à changer" - -#, python-format -msgid "Select %s to view" -msgstr "Sélectionnez l’objet %s à afficher" - -msgid "Date:" -msgstr "Date :" - -msgid "Time:" -msgstr "Heure :" - -msgid "Lookup" -msgstr "Recherche" - -msgid "Currently:" -msgstr "Actuellement :" - -msgid "Change:" -msgstr "Modifier :" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/fr/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/fr/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 0373ffe4..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/fr/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/fr/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/fr/LC_MESSAGES/djangojs.po deleted file mode 100644 index 145c0d6d..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/fr/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,220 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Claude Paroz , 2014-2017,2020 -# Claude Paroz , 2011-2012 -# Jannis Leidel , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-11 20:56+0200\n" -"PO-Revision-Date: 2020-05-13 07:13+0000\n" -"Last-Translator: Claude Paroz \n" -"Language-Team: French (http://www.transifex.com/django/django/language/fr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "%s disponible(s)" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Ceci est une liste des « %s » disponibles. Vous pouvez en choisir en les " -"sélectionnant dans la zone ci-dessous, puis en cliquant sur la flèche " -"« Choisir » entre les deux zones." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "Écrivez dans cette zone pour filtrer la liste des « %s » disponibles." - -msgid "Filter" -msgstr "Filtrer" - -msgid "Choose all" -msgstr "Tout choisir" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Cliquez pour choisir tous les « %s » en une seule opération." - -msgid "Choose" -msgstr "Choisir" - -msgid "Remove" -msgstr "Enlever" - -#, javascript-format -msgid "Chosen %s" -msgstr "Choix des « %s »" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Ceci est la liste des « %s » choisi(e)s. Vous pouvez en enlever en les " -"sélectionnant dans la zone ci-dessous, puis en cliquant sur la flèche « " -"Enlever » entre les deux zones." - -msgid "Remove all" -msgstr "Tout enlever" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Cliquez pour enlever tous les « %s » en une seule opération." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(sel)s sur %(cnt)s sélectionné" -msgstr[1] "%(sel)s sur %(cnt)s sélectionnés" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Vous avez des modifications non sauvegardées sur certains champs éditables. " -"Si vous lancez une action, ces modifications vont être perdues." - -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 "" -"Vous avez sélectionné une action, mais vous n'avez pas encore enregistré " -"certains champs modifiés. Cliquez sur OK pour enregistrer. Vous devrez " -"réappliquer l'action." - -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 "" -"Vous avez sélectionné une action, et vous n'avez fait aucune modification " -"sur des champs. Vous cherchez probablement le bouton Envoyer et non le " -"bouton Enregistrer." - -msgid "Now" -msgstr "Maintenant" - -msgid "Midnight" -msgstr "Minuit" - -msgid "6 a.m." -msgstr "6:00" - -msgid "Noon" -msgstr "Midi" - -msgid "6 p.m." -msgstr "18:00" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Note : l'heure du serveur précède votre heure de %s heure." -msgstr[1] "Note : l'heure du serveur précède votre heure de %s heures." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Note : votre heure précède l'heure du serveur de %s heure." -msgstr[1] "Note : votre heure précède l'heure du serveur de %s heures." - -msgid "Choose a Time" -msgstr "Choisir une heure" - -msgid "Choose a time" -msgstr "Choisir une heure" - -msgid "Cancel" -msgstr "Annuler" - -msgid "Today" -msgstr "Aujourd'hui" - -msgid "Choose a Date" -msgstr "Choisir une date" - -msgid "Yesterday" -msgstr "Hier" - -msgid "Tomorrow" -msgstr "Demain" - -msgid "January" -msgstr "Janvier" - -msgid "February" -msgstr "Février" - -msgid "March" -msgstr "Mars" - -msgid "April" -msgstr "Avril" - -msgid "May" -msgstr "Mai" - -msgid "June" -msgstr "Juin" - -msgid "July" -msgstr "Juillet" - -msgid "August" -msgstr "Août" - -msgid "September" -msgstr "Septembre" - -msgid "October" -msgstr "Octobre" - -msgid "November" -msgstr "Novembre" - -msgid "December" -msgstr "Décembre" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "D" - -msgctxt "one letter Monday" -msgid "M" -msgstr "L" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "M" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "M" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "J" - -msgctxt "one letter Friday" -msgid "F" -msgstr "V" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "S" - -msgid "Show" -msgstr "Afficher" - -msgid "Hide" -msgstr "Masquer" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/fy/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/fy/LC_MESSAGES/django.mo deleted file mode 100644 index cdea1d8a..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/fy/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/fy/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/fy/LC_MESSAGES/django.po deleted file mode 100644 index 52310d3d..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/fy/LC_MESSAGES/django.po +++ /dev/null @@ -1,609 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-01-17 11:07+0100\n" -"PO-Revision-Date: 2015-01-18 08:31+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Western Frisian (http://www.transifex.com/projects/p/django/" -"language/fy/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fy\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "" - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "" - -msgid "Are you sure?" -msgstr "" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "" - -msgid "Administration" -msgstr "" - -msgid "All" -msgstr "" - -msgid "Yes" -msgstr "" - -msgid "No" -msgstr "" - -msgid "Unknown" -msgstr "" - -msgid "Any date" -msgstr "" - -msgid "Today" -msgstr "" - -msgid "Past 7 days" -msgstr "" - -msgid "This month" -msgstr "" - -msgid "This year" -msgstr "" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" - -msgid "Action:" -msgstr "" - -msgid "action time" -msgstr "" - -msgid "object id" -msgstr "" - -msgid "object repr" -msgstr "" - -msgid "action flag" -msgstr "" - -msgid "change message" -msgstr "" - -msgid "log entry" -msgstr "" - -msgid "log entries" -msgstr "" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "" - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "" - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "" - -msgid "LogEntry Object" -msgstr "" - -msgid "None" -msgstr "" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" - -#, python-format -msgid "Changed %s." -msgstr "" - -msgid "and" -msgstr "" - -#, python-format -msgid "Added %(name)s \"%(object)s\"." -msgstr "" - -#, python-format -msgid "Changed %(list)s for %(name)s \"%(object)s\"." -msgstr "" - -#, python-format -msgid "Deleted %(name)s \"%(object)s\"." -msgstr "" - -msgid "No fields changed." -msgstr "" - -#, python-format -msgid "" -"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." -msgstr "" - -#, python-format -msgid "" -"The %(name)s \"%(obj)s\" was added successfully. You may add another " -"%(name)s below." -msgstr "" - -#, python-format -msgid "The %(name)s \"%(obj)s\" was added successfully." -msgstr "" - -#, python-format -msgid "" -"The %(name)s \"%(obj)s\" was changed successfully. You may edit it again " -"below." -msgstr "" - -#, python-format -msgid "" -"The %(name)s \"%(obj)s\" was changed successfully. You may add another " -"%(name)s below." -msgstr "" - -#, python-format -msgid "The %(name)s \"%(obj)s\" was changed successfully." -msgstr "" - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" - -msgid "No action selected." -msgstr "" - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "" - -#, python-format -msgid "%(name)s object with primary key %(key)r does not exist." -msgstr "" - -#, python-format -msgid "Add %s" -msgstr "" - -#, python-format -msgid "Change %s" -msgstr "" - -msgid "Database error" -msgstr "" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "" - -#, python-format -msgid "Change history: %s" -msgstr "" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" - -msgid "Django site admin" -msgstr "" - -msgid "Django administration" -msgstr "" - -msgid "Site administration" -msgstr "" - -msgid "Log in" -msgstr "" - -#, python-format -msgid "%(app)s administration" -msgstr "" - -msgid "Page not found" -msgstr "" - -msgid "We're sorry, but the requested page could not be found." -msgstr "" - -msgid "Home" -msgstr "" - -msgid "Server error" -msgstr "" - -msgid "Server error (500)" -msgstr "" - -msgid "Server Error (500)" -msgstr "" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" - -msgid "Run the selected action" -msgstr "" - -msgid "Go" -msgstr "" - -msgid "Click here to select the objects across all pages" -msgstr "" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "" - -msgid "Clear selection" -msgstr "" - -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" - -msgid "Enter a username and password." -msgstr "" - -msgid "Change password" -msgstr "" - -msgid "Please correct the error below." -msgstr "" - -msgid "Please correct the errors below." -msgstr "" - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "" - -msgid "Welcome," -msgstr "" - -msgid "View site" -msgstr "" - -msgid "Documentation" -msgstr "" - -msgid "Log out" -msgstr "" - -msgid "Add" -msgstr "" - -msgid "History" -msgstr "" - -msgid "View on site" -msgstr "" - -#, python-format -msgid "Add %(name)s" -msgstr "" - -msgid "Filter" -msgstr "" - -msgid "Remove from sorting" -msgstr "" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "" - -msgid "Toggle sorting" -msgstr "" - -msgid "Delete" -msgstr "" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" - -msgid "Objects" -msgstr "" - -msgid "Yes, I'm sure" -msgstr "" - -msgid "No, take me back" -msgstr "" - -msgid "Delete multiple objects" -msgstr "" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" - -msgid "Change" -msgstr "" - -msgid "Remove" -msgstr "" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "" - -msgid "Delete?" -msgstr "" - -#, python-format -msgid " By %(filter_title)s " -msgstr "" - -msgid "Summary" -msgstr "" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "" - -msgid "You don't have permission to edit anything." -msgstr "" - -msgid "Recent Actions" -msgstr "" - -msgid "My Actions" -msgstr "" - -msgid "None available" -msgstr "" - -msgid "Unknown content" -msgstr "" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" - -msgid "Forgotten your password or username?" -msgstr "" - -msgid "Date/time" -msgstr "" - -msgid "User" -msgstr "" - -msgid "Action" -msgstr "" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" - -msgid "Show all" -msgstr "" - -msgid "Save" -msgstr "" - -#, python-format -msgid "Change selected %(model)s" -msgstr "" - -#, python-format -msgid "Add another %(model)s" -msgstr "" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "" - -msgid "Search" -msgstr "" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "" - -msgid "Save as new" -msgstr "" - -msgid "Save and add another" -msgstr "" - -msgid "Save and continue editing" -msgstr "" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "" - -msgid "Log in again" -msgstr "" - -msgid "Password change" -msgstr "" - -msgid "Your password was changed." -msgstr "" - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" - -msgid "Change my password" -msgstr "" - -msgid "Password reset" -msgstr "" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "" - -msgid "Password reset confirmation" -msgstr "" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" - -msgid "New password:" -msgstr "" - -msgid "Confirm password:" -msgstr "" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" - -msgid "Please go to the following page and choose a new password:" -msgstr "" - -msgid "Your username, in case you've forgotten:" -msgstr "" - -msgid "Thanks for using our site!" -msgstr "" - -#, python-format -msgid "The %(site_name)s team" -msgstr "" - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" - -msgid "Email address:" -msgstr "" - -msgid "Reset my password" -msgstr "" - -msgid "All dates" -msgstr "" - -msgid "(None)" -msgstr "" - -#, python-format -msgid "Select %s" -msgstr "" - -#, python-format -msgid "Select %s to change" -msgstr "" - -msgid "Date:" -msgstr "" - -msgid "Time:" -msgstr "" - -msgid "Lookup" -msgstr "" - -msgid "Currently:" -msgstr "" - -msgid "Change:" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/fy/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/fy/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 489bbab4..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/fy/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/fy/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/fy/LC_MESSAGES/djangojs.po deleted file mode 100644 index ba09badf..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/fy/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,145 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-01-17 11:07+0100\n" -"PO-Revision-Date: 2014-10-05 20:13+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Western Frisian (http://www.transifex.com/projects/p/django/" -"language/fy/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fy\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "" - -msgid "Filter" -msgstr "" - -msgid "Choose all" -msgstr "" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "" - -msgid "Choose" -msgstr "" - -msgid "Remove" -msgstr "" - -#, javascript-format -msgid "Chosen %s" -msgstr "" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" - -msgid "Remove all" -msgstr "" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "" - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "" -msgstr[1] "" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" - -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 "" - -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 "" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "" -msgstr[1] "" - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "" -msgstr[1] "" - -msgid "Now" -msgstr "" - -msgid "Clock" -msgstr "" - -msgid "Choose a time" -msgstr "" - -msgid "Midnight" -msgstr "" - -msgid "6 a.m." -msgstr "" - -msgid "Noon" -msgstr "" - -msgid "Cancel" -msgstr "" - -msgid "Today" -msgstr "" - -msgid "Calendar" -msgstr "" - -msgid "Yesterday" -msgstr "" - -msgid "Tomorrow" -msgstr "" - -msgid "" -"January February March April May June July August September October November " -"December" -msgstr "" - -msgid "S M T W T F S" -msgstr "" - -msgid "Show" -msgstr "" - -msgid "Hide" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ga/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ga/LC_MESSAGES/django.mo deleted file mode 100644 index 8c029af5..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ga/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ga/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ga/LC_MESSAGES/django.po deleted file mode 100644 index 252e50d0..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ga/LC_MESSAGES/django.po +++ /dev/null @@ -1,715 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Jannis Leidel , 2011 -# Luke Blaney , 2019 -# Michael Thornhill , 2011-2012,2015 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-01-16 20:42+0100\n" -"PO-Revision-Date: 2019-06-22 21:17+0000\n" -"Last-Translator: Luke Blaney \n" -"Language-Team: Irish (http://www.transifex.com/django/django/language/ga/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ga\n" -"Plural-Forms: nplurals=5; plural=(n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : " -"4);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "D'éirigh le scriosadh %(count)d %(items)s." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "Ní féidir scriosadh %(name)s " - -msgid "Are you sure?" -msgstr "An bhfuil tú cinnte?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Scrios %(verbose_name_plural) roghnaithe" - -msgid "Administration" -msgstr "Riarachán" - -msgid "All" -msgstr "Gach" - -msgid "Yes" -msgstr "Tá" - -msgid "No" -msgstr "Níl" - -msgid "Unknown" -msgstr "Gan aithne" - -msgid "Any date" -msgstr "Aon dáta" - -msgid "Today" -msgstr "Inniu" - -msgid "Past 7 days" -msgstr "7 lá a chuaigh thart" - -msgid "This month" -msgstr "Táim cinnte" - -msgid "This year" -msgstr "An blian seo" - -msgid "No date" -msgstr "Gan dáta" - -msgid "Has date" -msgstr "Le dáta" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Cuir isteach an %(username)s agus focal faire ceart le haghaidh cuntas " -"foirne. Tabhair faoi deara go bhféadfadh an dá réimsí a cás-íogair." - -msgid "Action:" -msgstr "Aicsean:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Cuir eile %(verbose_name)s" - -msgid "Remove" -msgstr "Tóg amach" - -msgid "Addition" -msgstr "" - -msgid "Change" -msgstr "Athraigh" - -msgid "Deletion" -msgstr "Scriosadh" - -msgid "action time" -msgstr "am aicsean" - -msgid "user" -msgstr "úsáideoir" - -msgid "content type" -msgstr "" - -msgid "object id" -msgstr "id oibiacht" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "repr oibiacht" - -msgid "action flag" -msgstr "brat an aicsean" - -msgid "change message" -msgstr "teachtaireacht athrú" - -msgid "log entry" -msgstr "loga iontráil" - -msgid "log entries" -msgstr "loga iontrálacha" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "\"%(object)s\" curtha isteach." - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "\"%(object)s\" - %(changes)s aithrithe" - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "\"%(object)s.\" scrioste" - -msgid "LogEntry Object" -msgstr "Oibiacht LogEntry" - -#, python-brace-format -msgid "Added {name} \"{object}\"." -msgstr "{name} curtha leis \"{object}\"." - -msgid "Added." -msgstr "Curtha leis." - -msgid "and" -msgstr "agus" - -#, python-brace-format -msgid "Changed {fields} for {name} \"{object}\"." -msgstr "{fields} athrithe don {name} \"{object}\"." - -#, python-brace-format -msgid "Changed {fields}." -msgstr "{fields} athrithe." - -#, python-brace-format -msgid "Deleted {name} \"{object}\"." -msgstr "{name} scrioste: \"{object}\"." - -msgid "No fields changed." -msgstr "Dada réimse aithraithe" - -msgid "None" -msgstr "Dada" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" -"Coinnigh síos \"Control\", nó \"Command\" ar Mac chun níos mó ná ceann " -"amháin a roghnú." - -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "Bhí {name} \"{obj}\" curtha leis go rathúil" - -msgid "You may edit it again below." -msgstr "Thig leat é a athrú arís faoi seo." - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." -msgstr "" -"D'athraigh {name} \"{obj}\" go rathúil.\n" -"Thig leat é a athrú arís faoi seo." - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may add another {name} " -"below." -msgstr "" -"D'athraigh {name} \"{obj}\" go rathúil.\n" -"Thig leat {name} eile a chuir leis." - -#, python-brace-format -msgid "The {name} \"{obj}\" was changed successfully." -msgstr "D'athraigh {name} \"{obj}\" go rathúil." - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Ní mór Míreanna a roghnú chun caingne a dhéanamh orthu. Níl aon mhíreanna a " -"athrú." - -msgid "No action selected." -msgstr "Uimh gníomh roghnaithe." - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "Bhí %(name)s \"%(obj)s\" scrioste go rathúil." - -#, python-format -msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" -msgstr "Níl%(name)s ann le aitheantais \"%(key)s\". B'fhéidir gur scriosadh é?" - -#, python-format -msgid "Add %s" -msgstr "Cuir %s le" - -#, python-format -msgid "Change %s" -msgstr "Aithrigh %s" - -#, python-format -msgid "View %s" -msgstr "Amharc ar %s" - -msgid "Database error" -msgstr "Botún bunachar sonraí" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s athraithe go rathúil" -msgstr[1] "%(count)s %(name)s athraithe go rathúil" -msgstr[2] "%(count)s %(name)s athraithe go rathúil" -msgstr[3] "%(count)s %(name)s athraithe go rathúil" -msgstr[4] "%(count)s %(name)s athraithe go rathúil" - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s roghnaithe" -msgstr[1] "Gach %(total_count)s roghnaithe" -msgstr[2] "Gach %(total_count)s roghnaithe" -msgstr[3] "Gach %(total_count)s roghnaithe" -msgstr[4] "Gach %(total_count)s roghnaithe" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "0 as %(cnt)s roghnaithe." - -#, python-format -msgid "Change history: %s" -msgstr "Athraigh stáir %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"Teastaíodh scriosadh %(class_name)s %(instance)s scriosadh na rudaí a " -"bhaineann leis: %(related_objects)s" - -msgid "Django site admin" -msgstr "Riarthóir suíomh Django" - -msgid "Django administration" -msgstr "Riarachán Django" - -msgid "Site administration" -msgstr "Riaracháin an suíomh" - -msgid "Log in" -msgstr "Logáil isteach" - -#, python-format -msgid "%(app)s administration" -msgstr "%(app)s riaracháin" - -msgid "Page not found" -msgstr "Ní bhfuarthas an leathanach" - -msgid "We're sorry, but the requested page could not be found." -msgstr "Tá brón orainn, ach ní bhfuarthas an leathanach iarraite." - -msgid "Home" -msgstr "Baile" - -msgid "Server error" -msgstr "Botún freastalaí" - -msgid "Server error (500)" -msgstr "Botún freastalaí (500)" - -msgid "Server Error (500)" -msgstr "Botún Freastalaí (500)" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"Tharla earráid. Tuairiscíodh don riarthóirí suíomh tríd an ríomhphost agus " -"ba chóir a shocrú go luath. Go raibh maith agat as do foighne." - -msgid "Run the selected action" -msgstr "Rith an gníomh roghnaithe" - -msgid "Go" -msgstr "Té" - -msgid "Click here to select the objects across all pages" -msgstr "" -"Cliceáil anseo chun na hobiacht go léir a roghnú ar fud gach leathanach" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Roghnaigh gach %(total_count)s %(module_name)s" - -msgid "Clear selection" -msgstr "Scroiseadh modhnóir" - -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" -"Ar dtús, iontráil ainm úsaideoir agus focal faire. Ansin, beidh tú in ann " -"cuir in eagar níos mó roghaí úsaideoira." - -msgid "Enter a username and password." -msgstr "Cuir isteach ainm úsáideora agus focal faire." - -msgid "Change password" -msgstr "Athraigh focal faire" - -msgid "Please correct the error below." -msgstr "Ceartaigh an botún thíos le do thoil." - -msgid "Please correct the errors below." -msgstr "Le do thoil cheartú earráidí thíos." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "" -"Iontráil focal faire nua le hadhaigh an úsaideor %(username)s." - -msgid "Welcome," -msgstr "Fáilte" - -msgid "View site" -msgstr "Breatnaigh ar an suíomh" - -msgid "Documentation" -msgstr "Doiciméadúchán" - -msgid "Log out" -msgstr "Logáil amach" - -#, python-format -msgid "Add %(name)s" -msgstr "Cuir %(name)s le" - -msgid "History" -msgstr "Stair" - -msgid "View on site" -msgstr "Breath ar suíomh" - -msgid "Filter" -msgstr "Scagaire" - -msgid "Remove from sorting" -msgstr "Bain as sórtáil" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Sórtáil tosaíocht: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Toggle sórtáil" - -msgid "Delete" -msgstr "Cealaigh" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Má scriossan tú %(object_name)s '%(escaped_object)s' scriosfaidh oibiachtí " -"gaolta. Ach níl cead ag do cuntas na oibiacht a leanúint a scriosadh:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"Bheadh Scriosadh an %(object_name)s '%(escaped_object)s' a cheangal ar an " -"méid seo a leanas a scriosadh nithe cosanta a bhaineann le:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"An bhfuil tú cinnte na %(object_name)s \"%(escaped_object)s\" a scroiseadh?" -"Beidh gach oibiacht a leanúint scroiste freisin:" - -msgid "Objects" -msgstr "Oibiachtaí" - -msgid "Yes, I'm sure" -msgstr "Táim cinnte" - -msgid "No, take me back" -msgstr "Ní hea, tóg ar ais mé" - -msgid "Delete multiple objects" -msgstr "Scrios na réadanna" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Scriosadh an roghnaithe %(objects_name)s a bheadh mar thoradh ar na nithe " -"gaolmhara a scriosadh, ach níl cead do chuntas a scriosadh na cineálacha seo " -"a leanas na cuspóirí:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Teastaíonn scriosadh na %(objects_name)s roghnaithe scriosadh na hoibiacht " -"gaolta cosainte a leanúint:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"An bhfuil tú cinnte gur mian leat a scriosadh %(objects_name)s roghnaithe? " -"Beidh gach ceann de na nithe seo a leanas agus a n-ítimí gaolta scroiste:" - -msgid "View" -msgstr "Amharc ar" - -msgid "Delete?" -msgstr "Cealaigh?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " Trí %(filter_title)s " - -msgid "Summary" -msgstr "Achoimre" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "Samhlacha ins an %(name)s iarratais" - -msgid "Add" -msgstr "Cuir le" - -msgid "You don't have permission to view or edit anything." -msgstr "" - -msgid "Recent actions" -msgstr "" - -msgid "My actions" -msgstr "" - -msgid "None available" -msgstr "Dada ar fáil" - -msgid "Unknown content" -msgstr "Inneachair anaithnid" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Tá rud éigin mícheart le suitéail do bunachar sonraí. Déan cinnte go bhfuil " -"boird an bunachar sonraI cruthaithe cheana, agus déan cinnte go bhfuil do " -"úsaideoir in ann an bunacchar sonraí a léamh." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" - -msgid "Forgotten your password or username?" -msgstr "Dearmad déanta ar do focal faire nó ainm úsaideora" - -msgid "Date/time" -msgstr "Dáta/am" - -msgid "User" -msgstr "Úsaideoir" - -msgid "Action" -msgstr "Aicsean" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" -"Níl stáir aitraithe ag an oibiacht seo agús is dócha ná cuir le tríd an an " -"suíomh riarachán." - -msgid "Show all" -msgstr "Taispéan gach rud" - -msgid "Save" -msgstr "Sábháil" - -msgid "Popup closing…" -msgstr "" - -msgid "Search" -msgstr "Cuardach" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s toradh" -msgstr[1] "%(counter)s torthaí" -msgstr[2] "%(counter)s torthaí" -msgstr[3] "%(counter)s torthaí" -msgstr[4] "%(counter)s torthaí" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s iomlán" - -msgid "Save as new" -msgstr "Sabháil mar nua" - -msgid "Save and add another" -msgstr "Sabháil agus cuir le ceann eile" - -msgid "Save and continue editing" -msgstr "Sábhail agus lean ag cuir in eagar" - -msgid "Save and view" -msgstr "Sabháil agus amharc ar" - -msgid "Close" -msgstr "Druid" - -#, python-format -msgid "Change selected %(model)s" -msgstr "Athraigh roghnaithe %(model)s" - -#, python-format -msgid "Add another %(model)s" -msgstr "Cuir le %(model)s" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Scrios roghnaithe %(model)s" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Go raibh maith agat le hadhaigh do cuairt ar an suíomh idirlínn inniú." - -msgid "Log in again" -msgstr "Logáil isteacj arís" - -msgid "Password change" -msgstr "Athrú focal faire" - -msgid "Your password was changed." -msgstr "Bhí do focal faire aithraithe." - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Le do thoil, iontráil do sean-focal faire, ar son slándáil, agus ansin " -"iontráil do focal faire dhá uaire cé go mbeimid in ann a seiceal go bhfuil " -"sé scríobhte isteach i gceart." - -msgid "Change my password" -msgstr "Athraigh mo focal faire" - -msgid "Password reset" -msgstr "Athsocraigh focal faire" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Tá do focal faire réidh. Is féidir leat logáil isteach anois." - -msgid "Password reset confirmation" -msgstr "Deimhniú athshocraigh focal faire" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Le do thoil, iontráil do focal faire dhá uaire cé go mbeimid in ann a " -"seiceal go bhfuil sé scríobhte isteach i gceart." - -msgid "New password:" -msgstr "Focal faire nua:" - -msgid "Confirm password:" -msgstr "Deimhnigh focal faire:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Bhí nasc athshocraigh an focal faire mícheart, b'fheidir mar go raibh sé " -"úsaidte cheana. Le do thoil, iarr ar athsocraigh focal faire nua." - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" - -msgid "Please go to the following page and choose a new password:" -msgstr "" -"Le do thoil té go dtí an leathanach a leanúint agus roghmaigh focal faire " -"nua:" - -msgid "Your username, in case you've forgotten:" -msgstr "Do ainm úsaideoir, má tá dearmad déanta agat." - -msgid "Thanks for using our site!" -msgstr "Go raibh maith agat le hadhaigh do cuairt!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "Foireann an %(site_name)s" - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" - -msgid "Email address:" -msgstr "Seoladh ríomhphoist:" - -msgid "Reset my password" -msgstr "Athsocraigh mo focal faire" - -msgid "All dates" -msgstr "Gach dáta" - -#, python-format -msgid "Select %s" -msgstr "Roghnaigh %s" - -#, python-format -msgid "Select %s to change" -msgstr "Roghnaigh %s a athrú" - -#, python-format -msgid "Select %s to view" -msgstr "" - -msgid "Date:" -msgstr "Dáta:" - -msgid "Time:" -msgstr "Am:" - -msgid "Lookup" -msgstr "Cuardach" - -msgid "Currently:" -msgstr "Faoi láthair:" - -msgid "Change:" -msgstr "Athraigh:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ga/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ga/LC_MESSAGES/djangojs.mo deleted file mode 100644 index ee000e27..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ga/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ga/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ga/LC_MESSAGES/djangojs.po deleted file mode 100644 index ce0a412d..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ga/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,234 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Jannis Leidel , 2011 -# Luke Blaney , 2019 -# Michael Thornhill , 2011-2012,2015 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-05-17 11:50+0200\n" -"PO-Revision-Date: 2019-06-22 21:36+0000\n" -"Last-Translator: Luke Blaney \n" -"Language-Team: Irish (http://www.transifex.com/django/django/language/ga/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ga\n" -"Plural-Forms: nplurals=5; plural=(n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : " -"4);\n" - -#, javascript-format -msgid "Available %s" -msgstr "%s ar fáil" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Is é seo an liosta %s ar fáil. Is féidir leat a roghnú roinnt ag roghnú acu " -"sa bhosca thíos agus ansin cliceáil ar an saighead \"Roghnaigh\" idir an dá " -"boscaí." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "" -"Scríobh isteach sa bhosca seo a scagadh síos ar an liosta de %s ar fáil." - -msgid "Filter" -msgstr "Scagaire" - -msgid "Choose all" -msgstr "Roghnaigh iomlán" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Cliceáil anseo chun %s go léir a roghnú." - -msgid "Choose" -msgstr "Roghnaigh" - -msgid "Remove" -msgstr "Bain amach" - -#, javascript-format -msgid "Chosen %s" -msgstr "Roghnófar %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Is é seo an liosta de %s roghnaithe. Is féidir leat iad a bhaint amach má " -"roghnaionn tú cuid acu sa bhosca thíos agus ansin cliceáil ar an saighead " -"\"Bain\" idir an dá boscaí." - -msgid "Remove all" -msgstr "Scrois gach ceann" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Cliceáil anseo chun %s go léir roghnaithe a scroiseadh." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(sel)s de %(cnt)s roghnaithe" -msgstr[1] "%(sel)s de %(cnt)s roghnaithe" -msgstr[2] "%(sel)s de %(cnt)s roghnaithe" -msgstr[3] "%(sel)s de %(cnt)s roghnaithe" -msgstr[4] "%(sel)s de %(cnt)s roghnaithe" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Tá aithrithe nach bhfuil sabhailte ar chuid do na réimse. Má ritheann tú " -"gníomh, caillfidh tú do chuid aithrithe." - -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 "" -"Tá gníomh roghnaithe agat, ach níl do aithrithe sabhailte ar cuid de na " -"réímse. Clic OK chun iad a sábháil. Caithfidh tú an gníomh a rith arís." - -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 "" -"Tá gníomh roghnaithe agat, ach níl do aithrithe sabhailte ar cuid de na " -"réímse. Is dócha go bhfuil tú ag iarraidh an cnaipe Té ná an cnaipe Sábháil." - -msgid "Now" -msgstr "Anois" - -msgid "Midnight" -msgstr "Meán oíche" - -msgid "6 a.m." -msgstr "6 a.m." - -msgid "Noon" -msgstr "Nóin" - -msgid "6 p.m." -msgstr "6in" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Tabhair faoi deara: Tá tú %s uair a chloig roimh am an friothálaí." -msgstr[1] "Tabhair faoi deara: Tá tú %s uair a chloig roimh am an friothálaí." -msgstr[2] "Tabhair faoi deara: Tá tú %s uair a chloig roimh am an friothálaí." -msgstr[3] "Tabhair faoi deara: Tá tú %s uair a chloig roimh am an friothálaí." -msgstr[4] "Tabhair faoi deara: Tá tú %s uair a chloig roimh am an friothálaí." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "" -"Tabhair faoi deara: Tá tú %s uair a chloig taobh thiar am an friothálaí." -msgstr[1] "" -"Tabhair faoi deara: Tá tú %s uair a chloig taobh thiar am an friothálaí." -msgstr[2] "" -"Tabhair faoi deara: Tá tú %s uair a chloig taobh thiar am an friothálaí." -msgstr[3] "" -"Tabhair faoi deara: Tá tú %s uair a chloig taobh thiar am an friothálaí." -msgstr[4] "" -"Tabhair faoi deara: Tá tú %s uair a chloig taobh thiar am an friothálaí." - -msgid "Choose a Time" -msgstr "Roghnaigh Am" - -msgid "Choose a time" -msgstr "Roghnaigh am" - -msgid "Cancel" -msgstr "Cealaigh" - -msgid "Today" -msgstr "Inniu" - -msgid "Choose a Date" -msgstr "Roghnaigh Dáta" - -msgid "Yesterday" -msgstr "Inné" - -msgid "Tomorrow" -msgstr "Amárach" - -msgid "January" -msgstr "Eanáir" - -msgid "February" -msgstr "Feabhra" - -msgid "March" -msgstr "Márta" - -msgid "April" -msgstr "Aibreán" - -msgid "May" -msgstr "Bealtaine" - -msgid "June" -msgstr "Meitheamh" - -msgid "July" -msgstr "Iúil" - -msgid "August" -msgstr "Lúnasa" - -msgid "September" -msgstr "Meán Fómhair" - -msgid "October" -msgstr "Deireadh Fómhair" - -msgid "November" -msgstr "Samhain" - -msgid "December" -msgstr "Nollaig" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "D" - -msgctxt "one letter Monday" -msgid "M" -msgstr "L" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "M" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "C" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "D" - -msgctxt "one letter Friday" -msgid "F" -msgstr "A" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "S" - -msgid "Show" -msgstr "Taispeán" - -msgid "Hide" -msgstr "Folaigh" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/gd/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/gd/LC_MESSAGES/django.mo deleted file mode 100644 index cc210211..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/gd/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/gd/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/gd/LC_MESSAGES/django.po deleted file mode 100644 index 9fd3338d..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/gd/LC_MESSAGES/django.po +++ /dev/null @@ -1,736 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# GunChleoc, 2015-2017 -# GunChleoc, 2015 -# GunChleoc, 2015 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-08 17:27+0200\n" -"PO-Revision-Date: 2019-12-13 12:51+0000\n" -"Last-Translator: GunChleoc\n" -"Language-Team: Gaelic, Scottish (http://www.transifex.com/django/django/" -"language/gd/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: gd\n" -"Plural-Forms: nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : " -"(n > 2 && n < 20) ? 2 : 3;\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "Chaidh %(count)d %(items)s a sguabadh às." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "Chan urrainn dhuinn %(name)s a sguabadh às" - -msgid "Are you sure?" -msgstr "A bheil thu cinnteach?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Sguab às na %(verbose_name_plural)s a chaidh a thaghadh" - -msgid "Administration" -msgstr "Rianachd" - -msgid "All" -msgstr "Na h-uile" - -msgid "Yes" -msgstr "Tha" - -msgid "No" -msgstr "Chan eil" - -msgid "Unknown" -msgstr "Chan eil fhios" - -msgid "Any date" -msgstr "Ceann-là sam bith" - -msgid "Today" -msgstr "An-diugh" - -msgid "Past 7 days" -msgstr "Na 7 làithean seo chaidh" - -msgid "This month" -msgstr "Am mìos seo" - -msgid "This year" -msgstr "Am bliadhna" - -msgid "No date" -msgstr "Gun cheann-là" - -msgid "Has date" -msgstr "Tha ceann-là aige" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Cuir a-steach %(username)s agus facal-faire ceart airson cunntas neach-" -"obrach. Thoir an aire gum bi aire do litrichean mòra ’s beaga air an dà " -"raon, ma dh’fhaoidte." - -msgid "Action:" -msgstr "Gnìomh:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Cuir %(verbose_name)s eile ris" - -msgid "Remove" -msgstr "Thoir air falbh" - -msgid "Addition" -msgstr "Cur ris" - -msgid "Change" -msgstr "Atharraich" - -msgid "Deletion" -msgstr "Sguabadh às" - -msgid "action time" -msgstr "àm a’ ghnìomha" - -msgid "user" -msgstr "cleachdaiche" - -msgid "content type" -msgstr "seòrsa susbainte" - -msgid "object id" -msgstr "id an oibceict" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "riochdachadh oibseict" - -msgid "action flag" -msgstr "bratach a’ ghnìomha" - -msgid "change message" -msgstr "teachdaireachd atharrachaidh" - -msgid "log entry" -msgstr "innteart loga" - -msgid "log entries" -msgstr "innteartan loga" - -#, python-format -msgid "Added “%(object)s”." -msgstr "Chaidh “%(object)s” a chur ris." - -#, python-format -msgid "Changed “%(object)s” — %(changes)s" -msgstr "Chaidh “%(object)s” atharrachadh – %(changes)s" - -#, python-format -msgid "Deleted “%(object)s.”" -msgstr "Chaidh “%(object)s” a sguabadh às." - -msgid "LogEntry Object" -msgstr "Oibseact innteart an loga" - -#, python-brace-format -msgid "Added {name} “{object}”." -msgstr "Chaidh {name} “{object}” a chur ris." - -msgid "Added." -msgstr "Chaidh a chur ris." - -msgid "and" -msgstr "agus" - -#, python-brace-format -msgid "Changed {fields} for {name} “{object}”." -msgstr "Chaidh {fields} atharrachadh airson {name} “{object}”." - -#, python-brace-format -msgid "Changed {fields}." -msgstr "Chaidh {fields} atharrachadh." - -#, python-brace-format -msgid "Deleted {name} “{object}”." -msgstr "Chaidh {name} “{object}” a sguabadh às." - -msgid "No fields changed." -msgstr "Cha deach raon atharrachadh." - -msgid "None" -msgstr "Chan eil gin" - -msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." -msgstr "Cum sìos “Control” no “Command” air Mac gus iomadh nì a thaghadh." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully." -msgstr "Chaidh {name} “{obj}” a chur ris." - -msgid "You may edit it again below." -msgstr "’S urrainn dhut a dheasachadh a-rithist gu h-ìosal." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was added successfully. You may add another {name} below." -msgstr "" -"Chaidh {name} “%{obj}” a chur ris. ’S urrainn dhut {name} eile a chur ris gu " -"h-ìosal." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may edit it again below." -msgstr "" -"Chaidh {name} “{obj}” atharrachadh. ’S urrainn dhut a dheasachadh a-rithist " -"gu h-ìosal." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully. You may edit it again below." -msgstr "" -"Chaidh {name} “{obj}” a chur ris. ’S urrainn dhut a dheasachadh a-rithist gu " -"h-ìosal." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may add another {name} " -"below." -msgstr "" -"Chaidh {name} “{obj}” atharrachadh. ’S urrainn dhut {name} eile a chur ris " -"gu h-ìosal." - -#, python-brace-format -msgid "The {name} “{obj}” was changed successfully." -msgstr "Chaidh {name} “{obj}” atharrachadh." - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Feumaidh tu nithean a thaghadh mus dèan thu gnìomh orra. Cha deach nì " -"atharrachadh." - -msgid "No action selected." -msgstr "Cha deach gnìomh a thaghadh." - -#, python-format -msgid "The %(name)s “%(obj)s” was deleted successfully." -msgstr "Chaidh %(name)s “%(obj)s” a sguabadh às." - -#, python-format -msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" -msgstr "" -"Chan eil %(name)s leis an ID \"%(key)s\" ann. 'S dòcha gun deach a sguabadh " -"às?" - -#, python-format -msgid "Add %s" -msgstr "Cuir %s ris" - -#, python-format -msgid "Change %s" -msgstr "Atharraich %s" - -#, python-format -msgid "View %s" -msgstr "Seall %s" - -msgid "Database error" -msgstr "Mearachd an stòir-dhàta" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "Chaidh %(count)s %(name)s atharrachadh." -msgstr[1] "Chaidh %(count)s %(name)s atharrachadh." -msgstr[2] "Chaidh %(count)s %(name)s atharrachadh." -msgstr[3] "Chaidh %(count)s %(name)s atharrachadh." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "Chaidh %(total_count)s a thaghadh" -msgstr[1] "Chaidh a h-uile %(total_count)s a thaghadh" -msgstr[2] "Chaidh a h-uile %(total_count)s a thaghadh" -msgstr[3] "Chaidh a h-uile %(total_count)s a thaghadh" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "Chaidh 0 à %(cnt)s a thaghadh" - -#, python-format -msgid "Change history: %s" -msgstr "Eachdraidh nan atharraichean: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"Gus %(class_name)s %(instance)s a sguabadh às, bhiodh againn ris na h-" -"oibseactan dàimheach dìonta seo a sguabadh às cuideachd: %(related_objects)s" - -msgid "Django site admin" -msgstr "Rianachd làraich Django" - -msgid "Django administration" -msgstr "Rianachd Django" - -msgid "Site administration" -msgstr "Rianachd na làraich" - -msgid "Log in" -msgstr "Clàraich a-steach" - -#, python-format -msgid "%(app)s administration" -msgstr "Rianachd %(app)s" - -msgid "Page not found" -msgstr "Cha deach an duilleag a lorg" - -msgid "We’re sorry, but the requested page could not be found." -msgstr "Tha sinn duilich ach cha do lorg sinn an duilleag a dh’iarr thu." - -msgid "Home" -msgstr "Dhachaigh" - -msgid "Server error" -msgstr "Mearachd an fhrithealaiche" - -msgid "Server error (500)" -msgstr "Mearachd an fhrithealaiche (500)" - -msgid "Server Error (500)" -msgstr "Mearachd an fhrithealaiche (500)" - -msgid "" -"There’s been an error. It’s been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"Chaidh rudeigin cearr. Fhuair rianairean na làraich aithris air a’ phost-d " -"agus tha sinn an dùil gun dèid a chàradh a dh’aithghearr. Mòran taing airson " -"d’ fhoighidinn." - -msgid "Run the selected action" -msgstr "Ruith an gnìomh a thagh thu" - -msgid "Go" -msgstr "Siuthad" - -msgid "Click here to select the objects across all pages" -msgstr "" -"Briog an-seo gus na h-oibseactan a thaghadh air feadh nan duilleagan uile" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Tagh a h-uile %(total_count)s %(module_name)s" - -msgid "Clear selection" -msgstr "Falamhaich an taghadh" - -msgid "" -"First, enter a username and password. Then, you’ll be able to edit more user " -"options." -msgstr "" -"Cuir ainm-cleachdaiche is facal-faire a-steach an toiseach. ’S urrainn dhut " -"barrachd roghainnean a’ chleachdaiche a dheasachadh an uairsin." - -msgid "Enter a username and password." -msgstr "Cuir ainm-cleachdaiche ’s facal-faire a-steach." - -msgid "Change password" -msgstr "Atharraich am facal-faire" - -msgid "Please correct the error below." -msgstr "Feuch an cuir thu a’ mhearachd gu h-ìosal gu ceart." - -msgid "Please correct the errors below." -msgstr "Feuch an cuir thu na mearachdan gu h-ìosal gu ceart." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "" -"Cuir a-steach facal-faire ùr airson a’ chleachdaiche %(username)s." - -msgid "Welcome," -msgstr "Fàilte," - -msgid "View site" -msgstr "Seall an làrach" - -msgid "Documentation" -msgstr "Docamaideadh" - -msgid "Log out" -msgstr "Clàraich a-mach" - -#, python-format -msgid "Add %(name)s" -msgstr "Cuir %(name)s ris" - -msgid "History" -msgstr "An eachdraidh" - -msgid "View on site" -msgstr "Seall e air an làrach" - -msgid "Filter" -msgstr "Criathraich" - -msgid "Remove from sorting" -msgstr "Thoir air falbh on t-seòrsachadh" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Prìomhachas an t-seòrsachaidh: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Toglaich an seòrsachadh" - -msgid "Delete" -msgstr "Sguab às" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Nan sguabadh tu às %(object_name)s “%(escaped_object)s”, rachadh oibseactan " -"dàimheach a sguabadh às cuideachd ach chan eil cead aig a’ chunntas agad gus " -"na seòrsaichean de dh’oibseact seo a sguabadh às:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"Nan sguabadh tu às %(object_name)s “%(escaped_object)s”, bhiodh againn ris " -"na h-oibseactan dàimheach dìonta seo a sguabadh às cuideachd:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"A bheil thu cinnteach gu bheil thu airson %(object_name)s " -"“%(escaped_object)s” a sguabadh às? Thèid a h-uile nì dàimheach a sguabadh " -"às cuideachd:" - -msgid "Objects" -msgstr "Oibseactan" - -msgid "Yes, I’m sure" -msgstr "Tha mi cinnteach" - -msgid "No, take me back" -msgstr "Chan eil, air ais leam" - -msgid "Delete multiple objects" -msgstr "Sguab às iomadh oibseact" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Nan sguabadh tu às a’ %(objects_name)s a thagh thu, rachadh oibseactan " -"dàimheach a sguabadh às cuideachd ach chan eil cead aig a’ chunntas agad gus " -"na seòrsaichean de dh’oibseact seo a sguabadh às:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Nan sguabadh tu às a’ %(objects_name)s a thagh thu, bhiodh againn ris na h-" -"oibseactan dàimheach dìonta seo a sguabadh às cuideachd:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"A bheil thu cinnteach gu bheil thu airson a’ %(objects_name)s a thagh thu a " -"sguabadh às? Thèid a h-uile oibseact seo ’s na nithean dàimheach aca a " -"sguabadh às:" - -msgid "View" -msgstr "Seall" - -msgid "Delete?" -msgstr "A bheil thu airson a sguabadh às?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " le %(filter_title)s " - -msgid "Summary" -msgstr "Gearr-chunntas" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "Modailean ann an aplacaid %(name)s" - -msgid "Add" -msgstr "Cuir ris" - -msgid "You don’t have permission to view or edit anything." -msgstr "Chan eil cead agad gus dad a shealltainn no a dheasachadh." - -msgid "Recent actions" -msgstr "Gnìomhan o chionn goirid" - -msgid "My actions" -msgstr "Na gnìomhan agam" - -msgid "None available" -msgstr "Chan eil gin ann" - -msgid "Unknown content" -msgstr "Susbaint nach aithne dhuinn" - -msgid "" -"Something’s wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Chaidh rudeigin cearr le stàladh an stòir-dhàta agad. Dèan cinnteach gun " -"deach na clàran stòir-dhàta iomchaidh a chruthachadh agus gur urrainn dhan " -"chleachdaiche iomchaidh an stòr-dàta a leughadh." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"Chaidh do dhearbhadh mar %(username)s ach chan eil ùghdarras agad gus an " -"duilleag seo inntrigeadh. Am bu toigh leat clàradh a-steach le cunntas eile?" - -msgid "Forgotten your password or username?" -msgstr "" -"An do dhìochuimhnich thu am facal-faire no an t-ainm-cleachdaiche agad?" - -msgid "Date/time" -msgstr "Ceann-là ’s àm" - -msgid "User" -msgstr "Cleachdaiche" - -msgid "Action" -msgstr "Gnìomh" - -msgid "" -"This object doesn’t have a change history. It probably wasn’t added via this " -"admin site." -msgstr "" -"Chan eil eachdraidh nan atharraichean aig an oibseact seo. Dh’fhaoidte nach " -"deach a chur ris leis an làrach rianachd seo." - -msgid "Show all" -msgstr "Seall na h-uile" - -msgid "Save" -msgstr "Sàbhail" - -msgid "Popup closing…" -msgstr "Tha a’ phriob-uinneag ’ga dùnadh…" - -msgid "Search" -msgstr "Lorg" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s toradh" -msgstr[1] "%(counter)s thoradh" -msgstr[2] "%(counter)s toraidhean" -msgstr[3] "%(counter)s toradh" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s gu h-iomlan" - -msgid "Save as new" -msgstr "Sàbhail mar fhear ùr" - -msgid "Save and add another" -msgstr "Sàbhail is cuir fear eile ris" - -msgid "Save and continue editing" -msgstr "Sàbhail is deasaich a-rithist" - -msgid "Save and view" -msgstr "Sàbhail is seall" - -msgid "Close" -msgstr "Dùin" - -#, python-format -msgid "Change selected %(model)s" -msgstr "Atharraich a’ %(model)s a thagh thu" - -#, python-format -msgid "Add another %(model)s" -msgstr "Cuir %(model)s eile ris" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Sguab às a’ %(model)s a thagh thu" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "" -"Mòran taing gun do chuir thu seachad deagh-àm air an làrach-lìn an-diugh." - -msgid "Log in again" -msgstr "Clàraich a-steach a-rithist" - -msgid "Password change" -msgstr "Atharrachadh an facail-fhaire" - -msgid "Your password was changed." -msgstr "Chaidh am facal-faire agad atharrachadh." - -msgid "" -"Please enter your old password, for security’s sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Cuir a-steach an seann fhacal-faire agad ri linn tèarainteachd agus cuir a-" -"steach am facal-faire ùr agad dà thuras an uairsin ach an dearbhaich sinn " -"nach do rinn thu mearachd sgrìobhaidh." - -msgid "Change my password" -msgstr "Atharraich am facal-faire agam" - -msgid "Password reset" -msgstr "Ath-shuidheachadh an fhacail-fhaire" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "" -"Chaidh am facal-faire agad a shuidheachadh. Faodaidh tu clàradh a-steach a-" -"nis." - -msgid "Password reset confirmation" -msgstr "Dearbhadh air ath-shuidheachadh an fhacail-fhaire" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Cuir a-steach am facal-faire ùr agad dà thuras ach an dearbhaich sinn nach " -"do rinn thu mearachd sgrìobhaidh." - -msgid "New password:" -msgstr "Am facal-faire ùr:" - -msgid "Confirm password:" -msgstr "Dearbhaich am facal-faire:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Bha an ceangal gus am facal-faire ath-suidheachadh mì-dhligheach; ’s dòcha " -"gun deach a chleachdadh mar-thà. Iarr ath-shuidheachadh an fhacail-fhaire às " -"ùr." - -msgid "" -"We’ve emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Chuir sinn stiùireadh thugad air mar a dh’ath-shuidhicheas tu am facal-faire " -"agad air a’ phost-d dhan chunntas puist-d a chuir thu a-steach. Bu chòir " -"dhut fhaighinn a dh’aithghearr." - -msgid "" -"If you don’t receive an email, please make sure you’ve entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Mura faigh thu post-d, dèan cinnteach gun do chuir thu a-steach an seòladh " -"puist-d leis an do chlàraich thu agus thoir sùil air pasgan an spama agad." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"Fhuair thu am post-d seo air sgàth ’s gun do dh’iarr thu ath-shuidheachadh " -"an fhacail-fhaire agad airson a’ chunntais cleachdaiche agad air " -"%(site_name)s." - -msgid "Please go to the following page and choose a new password:" -msgstr "Tadhail air an duilleag seo is tagh facal-faire ùr:" - -msgid "Your username, in case you’ve forgotten:" -msgstr "" -"Seo an t-ainm-cleachdaiche agad air eagal ’s gun do dhìochuimhnich thu e:" - -msgid "Thanks for using our site!" -msgstr "Mòran taing airson an làrach againn a chleachdadh!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "Sgioba %(site_name)s" - -msgid "" -"Forgotten your password? Enter your email address below, and we’ll email " -"instructions for setting a new one." -msgstr "" -"Na dhìochuimhnich thu am facal-faire agad? Cuir a-steach an seòladh puist-d " -"agad gu h-ìosal agus cuiridh sinn stiùireadh thugad gus fear ùr a " -"shuidheachadh air a’ phost-d." - -msgid "Email address:" -msgstr "Seòladh puist-d:" - -msgid "Reset my password" -msgstr "Ath-shuidhich am facal-faire agam" - -msgid "All dates" -msgstr "A h-uile ceann-là" - -#, python-format -msgid "Select %s" -msgstr "Tagh %s" - -#, python-format -msgid "Select %s to change" -msgstr "Tagh %s gus atharrachadh" - -#, python-format -msgid "Select %s to view" -msgstr "Tagh %s gus a shealltainn" - -msgid "Date:" -msgstr "Ceann-là:" - -msgid "Time:" -msgstr "Àm:" - -msgid "Lookup" -msgstr "Lorg" - -msgid "Currently:" -msgstr "An-dràsta:" - -msgid "Change:" -msgstr "Atharrachadh:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/gd/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/gd/LC_MESSAGES/djangojs.mo deleted file mode 100644 index e7c0103c..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/gd/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/gd/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/gd/LC_MESSAGES/djangojs.po deleted file mode 100644 index f198aa45..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/gd/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,237 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# GunChleoc, 2015-2016 -# GunChleoc, 2015 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-05-17 11:50+0200\n" -"PO-Revision-Date: 2017-09-22 17:29+0000\n" -"Last-Translator: GunChleoc\n" -"Language-Team: Gaelic, Scottish (http://www.transifex.com/django/django/" -"language/gd/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: gd\n" -"Plural-Forms: nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : " -"(n > 2 && n < 20) ? 2 : 3;\n" - -#, javascript-format -msgid "Available %s" -msgstr "%s ri am faighinn" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Seo liosta de %s a tha ri am faighinn. Gus feadhainn a thaghadh, tagh iad sa " -"bhogsa gu h-ìosal agus briog air an t-saighead “Tagh” eadar an dà bhogsa an " -"uair sin." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "" -"Sgrìobh sa bhogsa seo gus an liosta de %s ri am faighinn a chriathradh." - -msgid "Filter" -msgstr "Criathraich" - -msgid "Choose all" -msgstr "Tagh na h-uile" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Briog gus a h-uile %s a thaghadh aig an aon àm." - -msgid "Choose" -msgstr "Tagh" - -msgid "Remove" -msgstr "Thoir air falbh" - -#, javascript-format -msgid "Chosen %s" -msgstr "%s a chaidh a thaghadh" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Seo liosta de %s a chaidh a thaghadh. Gus feadhainn a thoirt air falbh, tagh " -"iad sa bhogsa gu h-ìosal agus briog air an t-saighead “Thoir air falbh” " -"eadar an dà bhogsa an uair sin." - -msgid "Remove all" -msgstr "Thoir air falbh na h-uile" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Briog gus a h-uile %s a chaidh a thaghadh a thoirt air falbh." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "Chaidh %(sel)s à %(cnt)s a thaghadh" -msgstr[1] "Chaidh %(sel)s à %(cnt)s a thaghadh" -msgstr[2] "Chaidh %(sel)s à %(cnt)s a thaghadh" -msgstr[3] "Chaidh %(sel)s à %(cnt)s a thaghadh" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Tha atharraichean gun sàbhaladh agad ann an raon no dhà fa leth a ghabhas " -"deasachadh. Ma ruitheas tu gnìomh, thèid na dh’atharraich thu gun a " -"shàbhaladh air chall." - -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 "" -"Thagh thu gnìomh ach cha do shàbhail thu na dh’atharraich thu ann an " -"raointean fa leth. Briog air “Ceart ma-thà” gus seo a shàbhaladh. Feumaidh " -"tu an gnìomh a ruith a-rithist." - -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 "" -"Thagh thu gnìomh agus cha do rinn thu atharrachadh air ran fa leth sam bith. " -"’S dòcha gu bheil thu airson am putan “Siuthad” a chleachdadh seach am putan " -"“Sàbhail”." - -msgid "Now" -msgstr "An-dràsta" - -msgid "Midnight" -msgstr "Meadhan-oidhche" - -msgid "6 a.m." -msgstr "6m" - -msgid "Noon" -msgstr "Meadhan-latha" - -msgid "6 p.m." -msgstr "6f" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "" -"An aire: Tha thu %s uair a thìde air thoiseach àm an fhrithealaiche." -msgstr[1] "" -"An aire: Tha thu %s uair a thìde air thoiseach àm an fhrithealaiche." -msgstr[2] "" -"An aire: Tha thu %s uairean a thìde air thoiseach àm an fhrithealaiche." -msgstr[3] "" -"An aire: Tha thu %s uair a thìde air thoiseach àm an fhrithealaiche." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "" -"An aire: Tha thu %s uair a thìde air dheireadh àm an fhrithealaiche." -msgstr[1] "" -"An aire: Tha thu %s uair a thìde air dheireadh àm an fhrithealaiche." -msgstr[2] "" -"An aire: Tha thu %s uairean a thìde air dheireadh àm an fhrithealaiche." -msgstr[3] "" -"An aire: Tha thu %s uair a thìde air dheireadh àm an fhrithealaiche." - -msgid "Choose a Time" -msgstr "Tagh àm" - -msgid "Choose a time" -msgstr "Tagh àm" - -msgid "Cancel" -msgstr "Sguir dheth" - -msgid "Today" -msgstr "An-diugh" - -msgid "Choose a Date" -msgstr "Tagh ceann-là" - -msgid "Yesterday" -msgstr "An-dè" - -msgid "Tomorrow" -msgstr "A-màireach" - -msgid "January" -msgstr "Am Faoilleach" - -msgid "February" -msgstr "An Gearran" - -msgid "March" -msgstr "Am Màrt" - -msgid "April" -msgstr "An Giblean" - -msgid "May" -msgstr "An Cèitean" - -msgid "June" -msgstr "An t-Ògmhios" - -msgid "July" -msgstr "An t-Iuchar" - -msgid "August" -msgstr "An Lùnastal" - -msgid "September" -msgstr "An t-Sultain" - -msgid "October" -msgstr "An Dàmhair" - -msgid "November" -msgstr "An t-Samhain" - -msgid "December" -msgstr "An Dùbhlachd" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "Dò" - -msgctxt "one letter Monday" -msgid "M" -msgstr "Lu" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "Mà" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "Ci" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "Da" - -msgctxt "one letter Friday" -msgid "F" -msgstr "hA" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "Sa" - -msgid "Show" -msgstr "Seall" - -msgid "Hide" -msgstr "Falaich" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/gl/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/gl/LC_MESSAGES/django.mo deleted file mode 100644 index 7cf4d84c..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/gl/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/gl/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/gl/LC_MESSAGES/django.po deleted file mode 100644 index 47f1115c..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/gl/LC_MESSAGES/django.po +++ /dev/null @@ -1,679 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# fasouto , 2011-2012 -# fonso , 2011,2013 -# fasouto , 2017 -# Jannis Leidel , 2011 -# Leandro Regueiro , 2013 -# Oscar Carballal , 2011-2012 -# Pablo, 2015 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-09-23 18:54+0000\n" -"Last-Translator: fasouto \n" -"Language-Team: Galician (http://www.transifex.com/django/django/language/" -"gl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: gl\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "Borrado exitosamente %(count)d %(items)s" - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "Non foi posíbel eliminar %(name)s" - -msgid "Are you sure?" -msgstr "¿Está seguro?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Borrar %(verbose_name_plural)s seleccionados." - -msgid "Administration" -msgstr "Administración" - -msgid "All" -msgstr "Todo" - -msgid "Yes" -msgstr "Si" - -msgid "No" -msgstr "Non" - -msgid "Unknown" -msgstr "Descoñecido" - -msgid "Any date" -msgstr "Calquera data" - -msgid "Today" -msgstr "Hoxe" - -msgid "Past 7 days" -msgstr "Últimos 7 días" - -msgid "This month" -msgstr "Este mes" - -msgid "This year" -msgstr "Este ano" - -msgid "No date" -msgstr "Sen data" - -msgid "Has date" -msgstr "Ten data" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Por favor, insira os %(username)s e contrasinal dunha conta de persoal. Teña " -"en conta que ambos os dous campos distingues maiúsculas e minúsculas." - -msgid "Action:" -msgstr "Acción:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Engadir outro %(verbose_name)s" - -msgid "Remove" -msgstr "Retirar" - -msgid "action time" -msgstr "hora da acción" - -msgid "user" -msgstr "usuario" - -msgid "content type" -msgstr "" - -msgid "object id" -msgstr "id do obxecto" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/3/library/functions.html#repr) -msgid "object repr" -msgstr "repr do obxecto" - -msgid "action flag" -msgstr "código do tipo de acción" - -msgid "change message" -msgstr "cambiar mensaxe" - -msgid "log entry" -msgstr "entrada de rexistro" - -msgid "log entries" -msgstr "entradas de rexistro" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "Engadido \"%(object)s\"." - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "Modificados \"%(object)s\" - %(changes)s" - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "Borrados \"%(object)s.\"" - -msgid "LogEntry Object" -msgstr "Obxecto LogEntry" - -#, python-brace-format -msgid "Added {name} \"{object}\"." -msgstr "" - -msgid "Added." -msgstr "Engadido" - -msgid "and" -msgstr "e" - -#, python-brace-format -msgid "Changed {fields} for {name} \"{object}\"." -msgstr "" - -#, python-brace-format -msgid "Changed {fields}." -msgstr "" - -#, python-brace-format -msgid "Deleted {name} \"{object}\"." -msgstr "" - -msgid "No fields changed." -msgstr "Non se modificou ningún campo." - -msgid "None" -msgstr "Ningún" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was changed successfully." -msgstr "" - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Deb seleccionar ítems para poder facer accións con eles. Ningún ítem foi " -"cambiado." - -msgid "No action selected." -msgstr "Non se elixiu ningunha acción." - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "Eliminouse correctamente o/a %(name)s \"%(obj)s\"." - -#, python-format -msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" -msgstr "" - -#, python-format -msgid "Add %s" -msgstr "Engadir %s" - -#, python-format -msgid "Change %s" -msgstr "Modificar %s" - -msgid "Database error" -msgstr "Erro da base de datos" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s foi cambiado satisfactoriamente." -msgstr[1] "%(count)s %(name)s foron cambiados satisfactoriamente." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s seleccionado." -msgstr[1] "Tódolos %(total_count)s seleccionados." - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "0 de %(cnt)s seleccionados." - -#, python-format -msgid "Change history: %s" -msgstr "Histórico de cambios: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" - -msgid "Django site admin" -msgstr "Administración de sitio Django" - -msgid "Django administration" -msgstr "Administración de Django" - -msgid "Site administration" -msgstr "Administración do sitio" - -msgid "Log in" -msgstr "Iniciar sesión" - -#, python-format -msgid "%(app)s administration" -msgstr "administración de %(app)s " - -msgid "Page not found" -msgstr "Páxina non atopada" - -msgid "We're sorry, but the requested page could not be found." -msgstr "Sentímolo, pero non se atopou a páxina solicitada." - -msgid "Home" -msgstr "Inicio" - -msgid "Server error" -msgstr "Erro no servidor" - -msgid "Server error (500)" -msgstr "Erro no servidor (500)" - -msgid "Server Error (500)" -msgstr "Erro no servidor (500)" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"Ocorreu un erro. Os administradores do sitio foron informados por email e " -"debería ser arranxado pronto. Grazas pola súa paciencia." - -msgid "Run the selected action" -msgstr "Executar a acción seleccionada" - -msgid "Go" -msgstr "Ir" - -msgid "Click here to select the objects across all pages" -msgstr "Fai clic aquí para seleccionar os obxectos en tódalas páxinas" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Seleccionar todos os %(total_count)s %(module_name)s" - -msgid "Clear selection" -msgstr "Limpar selección" - -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" -"Primeiro insira un nome de usuario e un contrasinal. Despois poderá editar " -"máis opcións de usuario." - -msgid "Enter a username and password." -msgstr "Introduza un nome de usuario e contrasinal." - -msgid "Change password" -msgstr "Cambiar contrasinal" - -msgid "Please correct the error below." -msgstr "Corrixa os erros de embaixo." - -msgid "Please correct the errors below." -msgstr "Por favor, corrixa os erros de embaixo" - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "" -"Insira un novo contrasinal para o usuario %(username)s." - -msgid "Welcome," -msgstr "Benvido," - -msgid "View site" -msgstr "Ver sitio" - -msgid "Documentation" -msgstr "Documentación" - -msgid "Log out" -msgstr "Rematar sesión" - -#, python-format -msgid "Add %(name)s" -msgstr "Engadir %(name)s" - -msgid "History" -msgstr "Historial" - -msgid "View on site" -msgstr "Ver no sitio" - -msgid "Filter" -msgstr "Filtro" - -msgid "Remove from sorting" -msgstr "Eliminar da clasificación" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Prioridade de clasificación: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Activar clasificación" - -msgid "Delete" -msgstr "Eliminar" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Borrar o %(object_name)s '%(escaped_object)s' resultaría na eliminación de " -"elementos relacionados, pero a súa conta non ten permiso para borrar os " -"seguintes tipos de elementos:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"Para borrar o obxecto %(object_name)s '%(escaped_object)s' requiriríase " -"borrar os seguintes obxectos protexidos relacionados:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Seguro que quere borrar o %(object_name)s \"%(escaped_object)s\"? " -"Eliminaranse os seguintes obxectos relacionados:" - -msgid "Objects" -msgstr "Obxectos" - -msgid "Yes, I'm sure" -msgstr "Si, estou seguro" - -msgid "No, take me back" -msgstr "" - -msgid "Delete multiple objects" -msgstr "Eliminar múltiples obxectos" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Borrar os obxectos %(objects_name)s seleccionados resultaría na eliminación " -"de obxectos relacionados, pero a súa conta non ten permiso para borrar os " -"seguintes tipos de obxecto:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Para borrar os obxectos %(objects_name)s relacionados requiriríase eliminar " -"os seguintes obxectos protexidos relacionados:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Está seguro de que quere borrar os obxectos %(objects_name)s seleccionados? " -"Serán eliminados todos os seguintes obxectos e elementos relacionados on " -"eles:" - -msgid "Change" -msgstr "Modificar" - -msgid "Delete?" -msgstr "¿Eliminar?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " Por %(filter_title)s " - -msgid "Summary" -msgstr "" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "Modelos na aplicación %(name)s" - -msgid "Add" -msgstr "Engadir" - -msgid "You don't have permission to edit anything." -msgstr "Non ten permiso para editar nada." - -msgid "Recent actions" -msgstr "Accións recentes" - -msgid "My actions" -msgstr "As miñas accións" - -msgid "None available" -msgstr "Ningunha dispoñíbel" - -msgid "Unknown content" -msgstr "Contido descoñecido" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Hai un problema coa súa instalación de base de datos. Asegúrese de que se " -"creasen as táboas axeitadas na base de datos, e de que o usuario apropiado " -"teña permisos para lela." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" - -msgid "Forgotten your password or username?" -msgstr "¿Olvidou o usuario ou contrasinal?" - -msgid "Date/time" -msgstr "Data/hora" - -msgid "User" -msgstr "Usuario" - -msgid "Action" -msgstr "Acción" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" -"Este obxecto non ten histórico de cambios. Posibelmente non se creou usando " -"este sitio de administración." - -msgid "Show all" -msgstr "Amosar todo" - -msgid "Save" -msgstr "Gardar" - -msgid "Popup closing..." -msgstr "" - -#, python-format -msgid "Change selected %(model)s" -msgstr "" - -#, python-format -msgid "Add another %(model)s" -msgstr "Engadir outro %(model)s" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "" - -msgid "Search" -msgstr "Busca" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s resultado. " -msgstr[1] "%(counter)s resultados." - -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s en total" - -msgid "Save as new" -msgstr "Gardar como novo" - -msgid "Save and add another" -msgstr "Gardar e engadir outro" - -msgid "Save and continue editing" -msgstr "Gardar e seguir modificando" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Grazas polo tempo que dedicou ao sitio web." - -msgid "Log in again" -msgstr "Entrar de novo" - -msgid "Password change" -msgstr "Cambiar o contrasinal" - -msgid "Your password was changed." -msgstr "Cambiouse o seu contrasinal." - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Por razóns de seguridade, introduza o contrasinal actual. Despois introduza " -"dúas veces o contrasinal para verificarmos que o escribiu correctamente." - -msgid "Change my password" -msgstr "Cambiar o contrasinal" - -msgid "Password reset" -msgstr "Recuperar o contrasinal" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "" -"A túa clave foi gardada.\n" -"Xa podes entrar." - -msgid "Password reset confirmation" -msgstr "Confirmación de reseteo da contrasinal" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Por favor insira a súa contrasinal dúas veces para que podamos verificar se " -"a escribiu correctamente." - -msgid "New password:" -msgstr "Contrasinal novo:" - -msgid "Confirm password:" -msgstr "Confirmar contrasinal:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"A ligazón de reseteo da contrasinal non é válida, posiblemente porque xa foi " -"usada. Por favor pida un novo reseteo da contrasinal." - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"Recibe este email porque solicitou restablecer o contrasinal para a súa " -"conta de usuario en %(site_name)s" - -msgid "Please go to the following page and choose a new password:" -msgstr "Por favor vaia á seguinte páxina e elixa una nova contrasinal:" - -msgid "Your username, in case you've forgotten:" -msgstr "No caso de que o esquecese, o seu nome de usuario é:" - -msgid "Thanks for using our site!" -msgstr "Grazas por usar o noso sitio web!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "O equipo de %(site_name)s" - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" -"Esqueceu o contrasinal? Insira o seu enderezo de email embaixo e " -"enviarémoslle as instrucións para configurar un novo." - -msgid "Email address:" -msgstr "Enderezo de correo electrónico:" - -msgid "Reset my password" -msgstr "Recuperar o meu contrasinal" - -msgid "All dates" -msgstr "Todas as datas" - -#, python-format -msgid "Select %s" -msgstr "Seleccione un/unha %s" - -#, python-format -msgid "Select %s to change" -msgstr "Seleccione %s que modificar" - -msgid "Date:" -msgstr "Data:" - -msgid "Time:" -msgstr "Hora:" - -msgid "Lookup" -msgstr "Procurar" - -msgid "Currently:" -msgstr "Actualmente:" - -msgid "Change:" -msgstr "Modificar:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/gl/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/gl/LC_MESSAGES/djangojs.mo deleted file mode 100644 index fefbe0d1..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/gl/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/gl/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/gl/LC_MESSAGES/djangojs.po deleted file mode 100644 index 2df9fa03..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/gl/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,221 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# fasouto , 2011 -# fonso , 2011,2013 -# Jannis Leidel , 2011 -# Leandro Regueiro , 2013 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" -"PO-Revision-Date: 2017-09-23 18:54+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Galician (http://www.transifex.com/django/django/language/" -"gl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: gl\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "%s dispoñíbeis" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Esta é unha lista de %s dispoñíbeis. Pode escoller algúns seleccionándoos na " -"caixa inferior e a continuación facendo clic na frecha \"Escoller\" situada " -"entre as dúas caixas." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "Escriba nesta caixa para filtrar a lista de %s dispoñíbeis." - -msgid "Filter" -msgstr "Filtro" - -msgid "Choose all" -msgstr "Escoller todo" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Prema para escoller todos/as os/as '%s' dunha vez." - -msgid "Choose" -msgstr "Escoller" - -msgid "Remove" -msgstr "Retirar" - -#, javascript-format -msgid "Chosen %s" -msgstr "%s escollido/a(s)" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Esta é a lista de %s escollidos/as. Pode eliminar algúns seleccionándoos na " -"caixa inferior e a continuación facendo clic na frecha \"Eliminar\" situada " -"entre as dúas caixas." - -msgid "Remove all" -msgstr "Retirar todos" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Faga clic para eliminar da lista todos/as os/as '%s' escollidos/as." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(sel)s de %(cnt)s escollido" -msgstr[1] "%(sel)s de %(cnt)s escollidos" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Tes cambios sen guardar en campos editables individuales. Se executas unha " -"acción, os cambios non gardados perderanse." - -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 "" -"Escolleu unha acción, pero aínda non gardou os cambios nos campos " -"individuais. Prema OK para gardar. Despois terá que volver executar a acción." - -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 "" -"Escolleu unha acción, pero aínda non gardou os cambios nos campos " -"individuais. Probabelmente estea buscando o botón Ir no canto do botón " -"Gardar." - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "" -msgstr[1] "" - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "" -msgstr[1] "" - -msgid "Now" -msgstr "Agora" - -msgid "Choose a Time" -msgstr "" - -msgid "Choose a time" -msgstr "Escolla unha hora" - -msgid "Midnight" -msgstr "Medianoite" - -msgid "6 a.m." -msgstr "6 da mañá" - -msgid "Noon" -msgstr "Mediodía" - -msgid "6 p.m." -msgstr "" - -msgid "Cancel" -msgstr "Cancelar" - -msgid "Today" -msgstr "Hoxe" - -msgid "Choose a Date" -msgstr "" - -msgid "Yesterday" -msgstr "Onte" - -msgid "Tomorrow" -msgstr "Mañá" - -msgid "January" -msgstr "" - -msgid "February" -msgstr "" - -msgid "March" -msgstr "" - -msgid "April" -msgstr "" - -msgid "May" -msgstr "" - -msgid "June" -msgstr "" - -msgid "July" -msgstr "" - -msgid "August" -msgstr "" - -msgid "September" -msgstr "" - -msgid "October" -msgstr "" - -msgid "November" -msgstr "" - -msgid "December" -msgstr "" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "" - -msgctxt "one letter Monday" -msgid "M" -msgstr "" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "" - -msgctxt "one letter Friday" -msgid "F" -msgstr "" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "" - -msgid "Show" -msgstr "Amosar" - -msgid "Hide" -msgstr "Esconder" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/he/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/he/LC_MESSAGES/django.mo deleted file mode 100644 index a180da91..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/he/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/he/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/he/LC_MESSAGES/django.po deleted file mode 100644 index e3775b4a..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/he/LC_MESSAGES/django.po +++ /dev/null @@ -1,709 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# 534b44a19bf18d20b71ecc4eb77c572f_db336e9 , 2011 -# Jannis Leidel , 2011 -# Meir Kriheli , 2011-2015,2017,2019-2020 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-14 19:53+0200\n" -"PO-Revision-Date: 2020-08-02 13:48+0000\n" -"Last-Translator: Meir Kriheli \n" -"Language-Team: Hebrew (http://www.transifex.com/django/django/language/he/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: he\n" -"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % " -"1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "%(count)d %(items)s נמחקו בהצלחה." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "לא ניתן למחוק %(name)s" - -msgid "Are you sure?" -msgstr "האם את/ה בטוח/ה ?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "מחק %(verbose_name_plural)s שנבחרו" - -msgid "Administration" -msgstr "ניהול" - -msgid "All" -msgstr "הכל" - -msgid "Yes" -msgstr "כן" - -msgid "No" -msgstr "לא" - -msgid "Unknown" -msgstr "לא ידוע" - -msgid "Any date" -msgstr "כל תאריך" - -msgid "Today" -msgstr "היום" - -msgid "Past 7 days" -msgstr "בשבוע האחרון" - -msgid "This month" -msgstr "החודש" - -msgid "This year" -msgstr "השנה" - -msgid "No date" -msgstr "ללא תאריך" - -msgid "Has date" -msgstr "עם תאריך" - -msgid "Empty" -msgstr "ריק" - -msgid "Not empty" -msgstr "לא ריק" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"נא להזין את %(username)s והסיסמה הנכונים לחשבון איש צוות. נא לשים לב כי שני " -"השדות רגישים לאותיות גדולות/קטנות." - -msgid "Action:" -msgstr "פעולה" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "הוספת %(verbose_name)s" - -msgid "Remove" -msgstr "להסיר" - -msgid "Addition" -msgstr "הוספה" - -msgid "Change" -msgstr "שינוי" - -msgid "Deletion" -msgstr "מחיקה" - -msgid "action time" -msgstr "זמן פעולה" - -msgid "user" -msgstr "משתמש" - -msgid "content type" -msgstr "סוג תוכן" - -msgid "object id" -msgstr "מזהה אובייקט" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "ייצוג אובייקט" - -msgid "action flag" -msgstr "דגל פעולה" - -msgid "change message" -msgstr "הערה לשינוי" - -msgid "log entry" -msgstr "רישום יומן" - -msgid "log entries" -msgstr "רישומי יומן" - -#, python-format -msgid "Added “%(object)s”." -msgstr "" - -#, python-format -msgid "Changed “%(object)s” — %(changes)s" -msgstr "" - -#, python-format -msgid "Deleted “%(object)s.”" -msgstr "" - -msgid "LogEntry Object" -msgstr "אובייקט LogEntry" - -#, python-brace-format -msgid "Added {name} “{object}”." -msgstr "" - -msgid "Added." -msgstr "נוסף." - -msgid "and" -msgstr "ו" - -#, python-brace-format -msgid "Changed {fields} for {name} “{object}”." -msgstr "" - -#, python-brace-format -msgid "Changed {fields}." -msgstr " {fields} שונו." - -#, python-brace-format -msgid "Deleted {name} “{object}”." -msgstr "" - -msgid "No fields changed." -msgstr "אף שדה לא השתנה." - -msgid "None" -msgstr "ללא" - -msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." -msgstr "יש להחזיק \"Control\" או \"Command\" במק, כדי לבחור יותר מאחד." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully." -msgstr "" - -msgid "You may edit it again below." -msgstr "ניתן לערוך שוב מתחת." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was added successfully. You may add another {name} below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} “{obj}” was changed successfully." -msgstr "" - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "יש לסמן פריטים כדי לבצע עליהם פעולות. לא שונו פריטים." - -msgid "No action selected." -msgstr "לא נבחרה פעולה." - -#, python-format -msgid "The %(name)s “%(obj)s” was deleted successfully." -msgstr "" - -#, python-format -msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" -msgstr "" - -#, python-format -msgid "Add %s" -msgstr "הוספת %s" - -#, python-format -msgid "Change %s" -msgstr "שינוי %s" - -#, python-format -msgid "View %s" -msgstr "צפיה ב%s" - -msgid "Database error" -msgstr "שגיאת בסיס נתונים" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "שינוי %(count)s %(name)s בוצע בהצלחה." -msgstr[1] "שינוי %(count)s %(name)s בוצע בהצלחה." -msgstr[2] "שינוי %(count)s %(name)s בוצע בהצלחה." -msgstr[3] "שינוי %(count)s %(name)s בוצע בהצלחה." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s נבחר" -msgstr[1] "כל ה־%(total_count)s נבחרו" -msgstr[2] "כל ה־%(total_count)s נבחרו" -msgstr[3] "כל ה־%(total_count)s נבחרו" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "0 מ %(cnt)s נבחרים" - -#, python-format -msgid "Change history: %s" -msgstr "היסטוריית שינוי: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"מחיקת %(class_name)s %(instance)s תדרוש מחיקת האובייקטים הקשורים והמוגנים " -"הבאים: %(related_objects)s" - -msgid "Django site admin" -msgstr "ניהול אתר Django" - -msgid "Django administration" -msgstr "ניהול Django" - -msgid "Site administration" -msgstr "ניהול אתר" - -msgid "Log in" -msgstr "כניסה" - -#, python-format -msgid "%(app)s administration" -msgstr "ניהול %(app)s" - -msgid "Page not found" -msgstr "דף לא קיים" - -msgid "We’re sorry, but the requested page could not be found." -msgstr "אנו מתנצלים, העמוד המבוקש אינו קיים." - -msgid "Home" -msgstr "דף הבית" - -msgid "Server error" -msgstr "שגיאת שרת" - -msgid "Server error (500)" -msgstr "שגיאת שרת (500)" - -msgid "Server Error (500)" -msgstr "שגיאת שרת (500)" - -msgid "" -"There’s been an error. It’s been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" - -msgid "Run the selected action" -msgstr "הפעל את הפעולה שבחרת בה." - -msgid "Go" -msgstr "בצע" - -msgid "Click here to select the objects across all pages" -msgstr "לחיצה כאן תבחר את האובייקטים בכל העמודים" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "בחירת כל %(total_count)s ה־%(module_name)s" - -msgid "Clear selection" -msgstr "איפוס בחירה" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "מודלים ביישום %(name)s" - -msgid "Add" -msgstr "הוספה" - -msgid "View" -msgstr "צפיה" - -msgid "You don’t have permission to view or edit anything." -msgstr "אין לך כלל הרשאות צפיה או עריכה." - -msgid "" -"First, enter a username and password. Then, you’ll be able to edit more user " -"options." -msgstr "" -"ראשית יש להזין שם משתמש וססמה. לאחר מכן ניתן יהיה לערוך אפשרויות משתמש " -"נוספות." - -msgid "Enter a username and password." -msgstr "נא לשים שם משתמש וסיסמה." - -msgid "Change password" -msgstr "שינוי סיסמה" - -msgid "Please correct the error below." -msgstr "נא לתקן את השגיאה מתחת." - -msgid "Please correct the errors below." -msgstr "נא לתקן את השגיאות מתחת." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "יש להזין סיסמה חדשה עבור המשתמש %(username)s." - -msgid "Welcome," -msgstr "שלום," - -msgid "View site" -msgstr "צפיה באתר" - -msgid "Documentation" -msgstr "תיעוד" - -msgid "Log out" -msgstr "יציאה" - -#, python-format -msgid "Add %(name)s" -msgstr "הוספת %(name)s" - -msgid "History" -msgstr "היסטוריה" - -msgid "View on site" -msgstr "צפיה באתר" - -msgid "Filter" -msgstr "סינון" - -msgid "Clear all filters" -msgstr "ניקוי כל הסינונים" - -msgid "Remove from sorting" -msgstr "הסרה ממיון" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "עדיפות מיון: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "החלף כיוון מיון" - -msgid "Delete" -msgstr "מחיקה" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"מחיקת %(object_name)s '%(escaped_object)s' מצריכה מחיקת אובייקטים מקושרים, " -"אך לחשבון שלך אין הרשאות למחיקת סוגי האובייקטים הבאים:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"מחיקת ה%(object_name)s '%(escaped_object)s' תדרוש מחיקת האובייקטים הקשורים " -"והמוגנים הבאים:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"האם ברצונך למחוק את %(object_name)s \"%(escaped_object)s\"? כל הפריטים " -"הקשורים הבאים יימחקו:" - -msgid "Objects" -msgstr "אובייקטים" - -msgid "Yes, I’m sure" -msgstr "" - -msgid "No, take me back" -msgstr "לא, קח אותי חזרה." - -msgid "Delete multiple objects" -msgstr "מחק כמה פריטים" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"מחיקת ב%(objects_name)s הנבחרת תביא במחיקת אובייקטים קשורים, אבל החשבון שלך " -"אינו הרשאה למחוק את הסוגים הבאים של אובייקטים:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"מחיקת ה%(objects_name)s אשר סימנת תדרוש מחיקת האובייקטים הקשורים והמוגנים " -"הבאים:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"האם אתה בטוח שאתה רוצה למחוק את ה%(objects_name)s הנבחר? כל האובייקטים הבאים " -"ופריטים הקשורים להם יימחקו:" - -msgid "Delete?" -msgstr "מחיקה ?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " לפי %(filter_title)s " - -msgid "Summary" -msgstr "סיכום" - -msgid "Recent actions" -msgstr "פעולות אחרונות" - -msgid "My actions" -msgstr "הפעולות שלי" - -msgid "None available" -msgstr "לא נמצאו" - -msgid "Unknown content" -msgstr "תוכן לא ידוע" - -msgid "" -"Something’s wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"משהו שגוי בהתקנת בסיס הנתונים שלך. יש לוודא יצירת הטבלאות המתאימות וקיום " -"הרשאות קריאה על בסיס הנתונים עבור המשתמש המתאים." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"התחברת בתור %(username)s, אך אין לך הרשאות גישה לעמוד זה. האם ברצונך להתחבר " -"בתור משתמש אחר?" - -msgid "Forgotten your password or username?" -msgstr "שכחת את שם המשתמש והסיסמה שלך ?" - -msgid "Toggle navigation" -msgstr "" - -msgid "Date/time" -msgstr "תאריך/שעה" - -msgid "User" -msgstr "משתמש" - -msgid "Action" -msgstr "פעולה" - -msgid "" -"This object doesn’t have a change history. It probably wasn’t added via this " -"admin site." -msgstr "לאובייקט זה אין היסטוריית שינויים. כנראה לא נוסף דרך ממשק הניהול." - -msgid "Show all" -msgstr "הצג הכל" - -msgid "Save" -msgstr "שמירה" - -msgid "Popup closing…" -msgstr "חלון צץ נסגר..." - -msgid "Search" -msgstr "חיפוש" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "תוצאה %(counter)s" -msgstr[1] "%(counter)s תוצאות" -msgstr[2] "%(counter)s תוצאות" -msgstr[3] "%(counter)s תוצאות" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s סה\"כ" - -msgid "Save as new" -msgstr "שמירה כחדש" - -msgid "Save and add another" -msgstr "שמירה והוספת אחר" - -msgid "Save and continue editing" -msgstr "שמירה והמשך עריכה" - -msgid "Save and view" -msgstr "שמירה וצפיה" - -msgid "Close" -msgstr "סגירה" - -#, python-format -msgid "Change selected %(model)s" -msgstr "שינוי %(model)s הנבחר." - -#, python-format -msgid "Add another %(model)s" -msgstr "הוספת %(model)s נוסף." - -#, python-format -msgid "Delete selected %(model)s" -msgstr "מחיקת %(model)s הנבחר." - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "תודה על בילוי זמן איכות עם האתר." - -msgid "Log in again" -msgstr "התחבר/י שוב" - -msgid "Password change" -msgstr "שינוי סיסמה" - -msgid "Your password was changed." -msgstr "סיסמתך שונתה." - -msgid "" -"Please enter your old password, for security’s sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"נא להזין את הססמה הישנה שלך, למען האבטחה, ולאחר מכן את הססמה החדשה שלך " -"פעמיים כדי שנוכל לוודא שהקלדת אותה נכון." - -msgid "Change my password" -msgstr "שנה את סיסמתי" - -msgid "Password reset" -msgstr "איפוס סיסמה" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "ססמתך נשמרה. כעת ניתן להתחבר." - -msgid "Password reset confirmation" -msgstr "אימות איפוס סיסמה" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "נא להזין את סיסמתך החדשה פעמיים כדי שנוכל לוודא שהקלדת אותה כראוי." - -msgid "New password:" -msgstr "סיסמה חדשה:" - -msgid "Confirm password:" -msgstr "אימות סיסמה:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"הקישור לאיפוס הסיסמה אינו חוקי. ייתכן והשתמשו בו כבר. נא לבקש איפוס סיסמה " -"חדש." - -msgid "" -"We’ve emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"שלחנו לך הוראות לקביעת הססמה, בהנחה שקיים חשבון עם כתובת הדואר האלקטרוני " -"שהזנת. ההוראות אמורות להתקבל בקרוב." - -msgid "" -"If you don’t receive an email, please make sure you’ve entered the address " -"you registered with, and check your spam folder." -msgstr "" -"אם לא קיבלת דואר אלקטרוני, נא לוודא שהזנת את הכתובת שנרשמת עימה ושההודעה לא " -"נחתה בתיקיית דואר הזבל." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"הודעה זו נשלחה אליך עקב בקשתך לאיפוס הסיסמה עבור המשתמש שלך באתר " -"%(site_name)s." - -msgid "Please go to the following page and choose a new password:" -msgstr "נא להגיע לעמוד הבא ולבחור סיסמה חדשה:" - -msgid "Your username, in case you’ve forgotten:" -msgstr "שם המשתמש שלך במקרה ושכחת:" - -msgid "Thanks for using our site!" -msgstr "תודה על השימוש באתר שלנו!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "צוות %(site_name)s" - -msgid "" -"Forgotten your password? Enter your email address below, and we’ll email " -"instructions for setting a new one." -msgstr "" -"שכחת את הססמה שלך? נא להזין את כתובת הדואר האלקטרוני מתחת ואנו נשלח הוראות " -"לקביעת ססמה חדשה." - -msgid "Email address:" -msgstr "כתובת דוא\"ל:" - -msgid "Reset my password" -msgstr "אפס את סיסמתי" - -msgid "All dates" -msgstr "כל התאריכים" - -#, python-format -msgid "Select %s" -msgstr "בחירת %s" - -#, python-format -msgid "Select %s to change" -msgstr "בחירת %s לשינוי" - -#, python-format -msgid "Select %s to view" -msgstr "בחירת %s לצפיה" - -msgid "Date:" -msgstr "תאריך:" - -msgid "Time:" -msgstr "שעה:" - -msgid "Lookup" -msgstr "חפש" - -msgid "Currently:" -msgstr "נוכחי:" - -msgid "Change:" -msgstr "שינוי:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/he/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/he/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 56ec2380..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/he/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/he/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/he/LC_MESSAGES/djangojs.po deleted file mode 100644 index 3d94448d..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/he/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,223 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# 534b44a19bf18d20b71ecc4eb77c572f_db336e9 , 2012 -# Jannis Leidel , 2011 -# Meir Kriheli , 2011-2012,2014-2015,2017,2020 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-11 20:56+0200\n" -"PO-Revision-Date: 2020-08-01 18:00+0000\n" -"Last-Translator: Meir Kriheli \n" -"Language-Team: Hebrew (http://www.transifex.com/django/django/language/he/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: he\n" -"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % " -"1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\n" - -#, javascript-format -msgid "Available %s" -msgstr "אפשרויות %s זמינות" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"זו רשימת %s הזמינים לבחירה. ניתן לבחור חלק ע\"י סימון בתיבה מתחת ולחיצה על " -"חץ \"בחר\" בין שתי התיבות." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "ניתן להקליד בתיבה זו כדי לסנן %s." - -msgid "Filter" -msgstr "סינון" - -msgid "Choose all" -msgstr "בחירת הכל" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "בחירת כל ה%s בבת אחת." - -msgid "Choose" -msgstr "בחר" - -msgid "Remove" -msgstr "הסרה" - -#, javascript-format -msgid "Chosen %s" -msgstr "%s אשר נבחרו" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"זו רשימת %s אשר נבחרו. ניתן להסיר חלק ע\"י בחירה בתיבה מתחת ולחיצה על חץ " -"\"הסרה\" בין שתי התיבות." - -msgid "Remove all" -msgstr "הסרת הכל" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "הסרת כל %s אשר נבחרו בבת אחת." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(sel)s מ %(cnt)s נבחרות" -msgstr[1] "%(sel)s מ %(cnt)s נבחרות" -msgstr[2] "%(sel)s מ %(cnt)s נבחרות" -msgstr[3] "%(sel)s מ %(cnt)s נבחרות" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"יש לך שינויים שלא נשמרו על שדות יחידות. אם אתה מפעיל פעולה, שינויים שלא " -"נשמרו יאבדו." - -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 "" -"בחרת פעולה, אך לא שמרת עדיין את השינויים לשדות בודדים. נא ללחוץ על אישור כדי " -"לשמור. יהיה עליך להפעיל את הפעולה עוד פעם." - -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 "" -"בחרת פעולה, אך לא ביצעת שינויים בשדות. כנראה חיפשת את כפתור בצע במקום כפתור " -"שמירה." - -msgid "Now" -msgstr "כעת" - -msgid "Midnight" -msgstr "חצות" - -msgid "6 a.m." -msgstr "6 בבוקר" - -msgid "Noon" -msgstr "12 בצהריים" - -msgid "6 p.m." -msgstr "6 אחר הצהריים" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "הערה: את/ה %s שעה לפני זמן השרת." -msgstr[1] "הערה: את/ה %s שעות לפני זמן השרת." -msgstr[2] "הערה: את/ה %s שעות לפני זמן השרת." -msgstr[3] "הערה: את/ה %s שעות לפני זמן השרת." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "הערה: את/ה %s שעה אחרי זמן השרת." -msgstr[1] "הערה: את/ה %s שעות אחרי זמן השרת." -msgstr[2] "הערה: את/ה %s שעות אחרי זמן השרת." -msgstr[3] "הערה: את/ה %s שעות אחרי זמן השרת." - -msgid "Choose a Time" -msgstr "בחירת שעה" - -msgid "Choose a time" -msgstr "בחירת שעה" - -msgid "Cancel" -msgstr "ביטול" - -msgid "Today" -msgstr "היום" - -msgid "Choose a Date" -msgstr "בחירת תאריך" - -msgid "Yesterday" -msgstr "אתמול" - -msgid "Tomorrow" -msgstr "מחר" - -msgid "January" -msgstr "ינואר" - -msgid "February" -msgstr "פברואר" - -msgid "March" -msgstr "מרץ" - -msgid "April" -msgstr "אפריל" - -msgid "May" -msgstr "מאי" - -msgid "June" -msgstr "יוני" - -msgid "July" -msgstr "יולי" - -msgid "August" -msgstr "אוגוסט" - -msgid "September" -msgstr "ספטמבר" - -msgid "October" -msgstr "אוקטובר" - -msgid "November" -msgstr "נובמבר" - -msgid "December" -msgstr "דצמבר" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "ר" - -msgctxt "one letter Monday" -msgid "M" -msgstr "ש" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "ש" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "ר" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "ח" - -msgctxt "one letter Friday" -msgid "F" -msgstr "ש" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "ש" - -msgid "Show" -msgstr "הצג" - -msgid "Hide" -msgstr "הסתר" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hi/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hi/LC_MESSAGES/django.mo deleted file mode 100644 index b8c97bb4..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hi/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hi/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hi/LC_MESSAGES/django.po deleted file mode 100644 index 8ed2fb96..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hi/LC_MESSAGES/django.po +++ /dev/null @@ -1,666 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# alkuma , 2013 -# Chandan kumar , 2012 -# Jannis Leidel , 2011 -# Pratik , 2013 -# Sandeep Satavlekar , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-09-19 16:40+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Hindi (http://www.transifex.com/django/django/language/hi/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hi\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "%(count)d %(items)s सफलतापूर्वक हटा दिया गया है| |" - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "%(name)s नहीं हटा सकते" - -msgid "Are you sure?" -msgstr "क्या आप निश्चित हैं?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "चुने हुए %(verbose_name_plural)s हटा दीजिये " - -msgid "Administration" -msgstr "" - -msgid "All" -msgstr "सभी" - -msgid "Yes" -msgstr "हाँ" - -msgid "No" -msgstr "नहीं" - -msgid "Unknown" -msgstr "अनजान" - -msgid "Any date" -msgstr "कोई भी तारीख" - -msgid "Today" -msgstr "आज" - -msgid "Past 7 days" -msgstr "पिछले 7 दिन" - -msgid "This month" -msgstr "इस महीने" - -msgid "This year" -msgstr "इस साल" - -msgid "No date" -msgstr "" - -msgid "Has date" -msgstr "" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"कृपया कर्मचारी खाते का सही %(username)s व कूटशब्द भरें। भरते समय दीर्घाक्षर और लघु अक्षर " -"का खयाल रखें।" - -msgid "Action:" -msgstr " क्रिया:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "एक और %(verbose_name)s जोड़ें " - -msgid "Remove" -msgstr "निकालें" - -msgid "action time" -msgstr "कार्य समय" - -msgid "user" -msgstr "" - -msgid "content type" -msgstr "" - -msgid "object id" -msgstr "वस्तु आई डी " - -#. Translators: 'repr' means representation -#. (https://docs.python.org/3/library/functions.html#repr) -msgid "object repr" -msgstr "वस्तु प्रतिनिधित्व" - -msgid "action flag" -msgstr "कार्य ध्वज" - -msgid "change message" -msgstr "परिवर्तन सन्देश" - -msgid "log entry" -msgstr "लॉग प्रविष्टि" - -msgid "log entries" -msgstr "लॉग प्रविष्टियाँ" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "\"%(object)s\" को जोड़ा गया." - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "परिवर्तित \"%(object)s\" - %(changes)s " - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "\"%(object)s\" को नष्ट कर दिया है." - -msgid "LogEntry Object" -msgstr "LogEntry ऑब्जेक्ट" - -#, python-brace-format -msgid "Added {name} \"{object}\"." -msgstr "" - -msgid "Added." -msgstr "" - -msgid "and" -msgstr "और" - -#, python-brace-format -msgid "Changed {fields} for {name} \"{object}\"." -msgstr "" - -#, python-brace-format -msgid "Changed {fields}." -msgstr "" - -#, python-brace-format -msgid "Deleted {name} \"{object}\"." -msgstr "" - -msgid "No fields changed." -msgstr "कोई क्षेत्र नहीं बदला" - -msgid "None" -msgstr "कोई नहीं" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was changed successfully." -msgstr "" - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "कार्रवाई हेतु आयटम सही अनुक्रम में चुने जाने चाहिए | कोई आइटम नहीं बदले गये हैं." - -msgid "No action selected." -msgstr "कोई कार्रवाई नहीं चुनी है |" - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "%(name)s \"%(obj)s\" को कामयाबी से निकाला गया है" - -#, python-format -msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" -msgstr "" - -#, python-format -msgid "Add %s" -msgstr "%s बढाएं" - -#, python-format -msgid "Change %s" -msgstr "%s बदलो" - -msgid "Database error" -msgstr "डेटाबेस त्रुटि" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s का परिवर्तन कामयाब हुआ |" -msgstr[1] "%(count)s %(name)s का परिवर्तन कामयाब हुआ |" - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s चुने" -msgstr[1] "सभी %(total_count)s चुने " - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "%(cnt)s में से 0 चुने" - -#, python-format -msgid "Change history: %s" -msgstr "इतिहास बदलो: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" - -msgid "Django site admin" -msgstr "ज्याँगो साइट प्रशासन" - -msgid "Django administration" -msgstr "ज्याँगो प्रशासन" - -msgid "Site administration" -msgstr "साइट प्रशासन" - -msgid "Log in" -msgstr "लॉगिन" - -#, python-format -msgid "%(app)s administration" -msgstr "" - -msgid "Page not found" -msgstr "पृष्ठ लापता" - -msgid "We're sorry, but the requested page could not be found." -msgstr "क्षमा कीजिए पर निवेदित पृष्ठ लापता है ।" - -msgid "Home" -msgstr "गृह" - -msgid "Server error" -msgstr "सर्वर त्रुटि" - -msgid "Server error (500)" -msgstr "सर्वर त्रुटि (500)" - -msgid "Server Error (500)" -msgstr "सर्वर त्रुटि (500)" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"एक त्रुटि मिली है। इसकी जानकारी स्थल के संचालकों को डाक द्वारा दे दी गई है, और यह जल्द " -"ठीक हो जानी चाहिए। धीरज रखने के लिए शुक्रिया।" - -msgid "Run the selected action" -msgstr "चयनित कार्रवाई चलाइये" - -msgid "Go" -msgstr "आगे बढ़े" - -msgid "Click here to select the objects across all pages" -msgstr "सभी पृष्ठों पर मौजूद वस्तुओं को चुनने के लिए यहाँ क्लिक करें " - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "तमाम %(total_count)s %(module_name)s चुनें" - -msgid "Clear selection" -msgstr "चयन खालिज किया जाये " - -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" -"पहले प्रदवोक्ता नाम और कूटशब्द दर्ज करें । उसके पश्चात ही आप अधिक प्रवोक्ता विकल्प बदल " -"सकते हैं ।" - -msgid "Enter a username and password." -msgstr "उपयोगकर्ता का नाम और कूटशब्द दर्ज करें." - -msgid "Change password" -msgstr "कूटशब्द बदलें" - -msgid "Please correct the error below." -msgstr "कृपया नीचे पायी गयी गलतियाँ ठीक करें ।" - -msgid "Please correct the errors below." -msgstr "" - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "%(username)s प्रवोक्ता के लिए नयी कूटशब्द दर्ज करें ।" - -msgid "Welcome," -msgstr "आपका स्वागत है," - -msgid "View site" -msgstr "" - -msgid "Documentation" -msgstr "दस्तावेज़ीकरण" - -msgid "Log out" -msgstr "लॉग आउट" - -#, python-format -msgid "Add %(name)s" -msgstr "%(name)s बढाएं" - -msgid "History" -msgstr "इतिहास" - -msgid "View on site" -msgstr "साइट पे देखें" - -msgid "Filter" -msgstr "छन्नी" - -msgid "Remove from sorting" -msgstr "श्रेणीकरण से हटाये " - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "श्रेणीकरण प्राथमिकता : %(priority_number)s" - -msgid "Toggle sorting" -msgstr "टॉगल श्रेणीकरण" - -msgid "Delete" -msgstr "मिटाएँ" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"%(object_name)s '%(escaped_object)s' को मिटाने पर सम्बंधित वस्तुएँ भी मिटा दी " -"जाएगी, परन्तु आप के खाते में निम्नलिखित प्रकार की वस्तुओं को मिटाने की अनुमति नहीं हैं |" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"%(object_name)s '%(escaped_object)s' को हटाने के लिए उनसे संबंधित निम्नलिखित " -"संरक्षित वस्तुओं को हटाने की आवश्यकता होगी:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"क्या आप %(object_name)s \"%(escaped_object)s\" हटाना चाहते हैं? निम्नलिखित सभी " -"संबंधित वस्तुएँ नष्ट की जाएगी" - -msgid "Objects" -msgstr "" - -msgid "Yes, I'm sure" -msgstr "हाँ, मैंने पक्का तय किया हैं " - -msgid "No, take me back" -msgstr "" - -msgid "Delete multiple objects" -msgstr "अनेक वस्तुएं हटाएँ" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"चयनित %(objects_name)s हटाने पर उस से सम्बंधित वस्तुएं भी हट जाएगी, परन्तु आपके खाते में " -"वस्तुओं के निम्नलिखित प्रकार हटाने की अनुमति नहीं है:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"चयनित %(objects_name)s को हटाने के पश्चात् निम्नलिखित संरक्षित संबंधित वस्तुओं को हटाने " -"की आवश्यकता होगी |" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"क्या आप ने पक्का तय किया हैं की चयनित %(objects_name)s को नष्ट किया जाये ? " -"निम्नलिखित सभी वस्तुएं और उनसे सम्बंधित वस्तुए भी नष्ट की जाएगी:" - -msgid "Change" -msgstr "बदलें" - -msgid "Delete?" -msgstr "मिटाएँ ?" - -#, python-format -msgid " By %(filter_title)s " -msgstr "%(filter_title)s द्वारा" - -msgid "Summary" -msgstr "" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "%(name)s अनुप्रयोग के प्रतिरूप" - -msgid "Add" -msgstr "बढाएं" - -msgid "You don't have permission to edit anything." -msgstr "आपके पास कुछ भी संपादन करने के लिये अनुमति नहीं है ।" - -msgid "Recent actions" -msgstr "" - -msgid "My actions" -msgstr "" - -msgid "None available" -msgstr " कोई भी उपलब्ध नहीं" - -msgid "Unknown content" -msgstr "अज्ञात सामग्री" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"अपने डेटाबेस स्थापना के साथ कुछ गलत तो है | सुनिश्चित करें कि उचित डेटाबेस तालिका बनायीं " -"गयी है, और सुनिश्चित करें कि डेटाबेस उपयुक्त उपयोक्ता के द्वारा पठनीय है |" - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" - -msgid "Forgotten your password or username?" -msgstr "अपना पासवर्ड या उपयोगकर्ता नाम भूल गये हैं?" - -msgid "Date/time" -msgstr "तिथि / समय" - -msgid "User" -msgstr "उपभोक्ता" - -msgid "Action" -msgstr "कार्य" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" -"इस वस्तु का बदलाव इतिहास नहीं है. शायद वह इस साइट व्यवस्थापक के माध्यम से नहीं जोड़ा " -"गया है." - -msgid "Show all" -msgstr "सभी दिखाएँ" - -msgid "Save" -msgstr "सुरक्षित कीजिये" - -msgid "Popup closing..." -msgstr "" - -#, python-format -msgid "Change selected %(model)s" -msgstr "" - -#, python-format -msgid "Add another %(model)s" -msgstr "" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "" - -msgid "Search" -msgstr "खोज" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s परिणाम" -msgstr[1] "%(counter)s परिणाम" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s कुल परिणाम" - -msgid "Save as new" -msgstr "नये सा सहेजें" - -msgid "Save and add another" -msgstr "सहेजें और एक और जोडें" - -msgid "Save and continue editing" -msgstr "सहेजें और संपादन करें" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "आज हमारे वेब साइट पर आने के लिए धन्यवाद ।" - -msgid "Log in again" -msgstr "फिर से लॉगिन कीजिए" - -msgid "Password change" -msgstr "कूटशब्द बदलें" - -msgid "Your password was changed." -msgstr "आपके कूटशब्द को बदला गया है" - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"सुरक्षा कारणों के लिए कृपया पुराना कूटशब्द दर्ज करें । उसके पश्चात नए कूटशब्द को दो बार दर्ज " -"करें ताकि हम उसे सत्यापित कर सकें ।" - -msgid "Change my password" -msgstr "कूटशब्द बदलें" - -msgid "Password reset" -msgstr "कूटशब्द पुनस्थाप" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "आपके कूटशब्द को स्थापित किया गया है । अब आप लॉगिन कर सकते है ।" - -msgid "Password reset confirmation" -msgstr "कूटशब्द पुष्टि" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "कृपया आपके नये कूटशब्द को दो बार दर्ज करें ताकि हम उसकी सत्याप्ती कर सकते है ।" - -msgid "New password:" -msgstr "नया कूटशब्द " - -msgid "Confirm password:" -msgstr "कूटशब्द पुष्टि कीजिए" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"कूटशब्द पुनस्थाप संपर्क अमान्य है, संभावना है कि उसे उपयोग किया गया है। कृपया फिर से कूटशब्द " -"पुनस्थाप की आवेदन करें ।" - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" -"अगर आपको कोई ईमेल प्राप्त नई होता है,यह ध्यान रखे की आपने सही पता रजिस्ट्रीकृत किया है " -"और आपने स्पॅम फोल्डर को जाचे|" - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"आपको यह डाक इसलिए आई है क्योंकि आप ने %(site_name)s पर अपने खाते का कूटशब्द बदलने का " -"अनुरोध किया था |" - -msgid "Please go to the following page and choose a new password:" -msgstr "कृपया निम्नलिखित पृष्ठ पर नया कूटशब्द चुनिये :" - -msgid "Your username, in case you've forgotten:" -msgstr "आपका प्रवोक्ता नाम, यदि भूल गये हों :" - -msgid "Thanks for using our site!" -msgstr "हमारे साइट को उपयोग करने के लिए धन्यवाद ।" - -#, python-format -msgid "The %(site_name)s team" -msgstr "%(site_name)s दल" - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" -"कूटशब्द भूल गए? नीचे अपना डाक पता भरें, वहाँ पर हम आपको नया कूटशब्द रखने के निर्देश भेजेंगे।" - -msgid "Email address:" -msgstr "डाक पता -" - -msgid "Reset my password" -msgstr " मेरे कूटशब्द की पुनःस्थापना" - -msgid "All dates" -msgstr "सभी तिथियों" - -#, python-format -msgid "Select %s" -msgstr "%s चुनें" - -#, python-format -msgid "Select %s to change" -msgstr "%s के बदली के लिए चयन करें" - -msgid "Date:" -msgstr "तिथि:" - -msgid "Time:" -msgstr "समय:" - -msgid "Lookup" -msgstr "लुक अप" - -msgid "Currently:" -msgstr "फ़िलहाल - " - -msgid "Change:" -msgstr "बदलाव -" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hi/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hi/LC_MESSAGES/djangojs.mo deleted file mode 100644 index bb755ad1..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hi/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hi/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hi/LC_MESSAGES/djangojs.po deleted file mode 100644 index 78b49e7d..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hi/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,217 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Chandan kumar , 2012 -# Jannis Leidel , 2011 -# Sandeep Satavlekar , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" -"PO-Revision-Date: 2017-09-19 16:41+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Hindi (http://www.transifex.com/django/django/language/hi/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hi\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "उपलब्ध %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"यह उपलब्ध %s की सूची है. आप उन्हें नीचे दिए गए बॉक्स में से चयन करके कुछ को चुन सकते हैं और " -"उसके बाद दो बॉक्स के बीच \"चुनें\" तीर पर क्लिक करें." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "इस बॉक्स में टाइप करने के लिए नीचे उपलब्ध %s की सूची को फ़िल्टर करें." - -msgid "Filter" -msgstr "छानना" - -msgid "Choose all" -msgstr "सभी चुनें" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "एक ही बार में सभी %s को चुनने के लिए क्लिक करें." - -msgid "Choose" -msgstr "चुनें" - -msgid "Remove" -msgstr "हटाना" - -#, javascript-format -msgid "Chosen %s" -msgstr "चुनें %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"यह उपलब्ध %s की सूची है. आप उन्हें नीचे दिए गए बॉक्स में से चयन करके कुछ को हटा सकते हैं और " -"उसके बाद दो बॉक्स के बीच \"हटायें\" तीर पर क्लिक करें." - -msgid "Remove all" -msgstr "सभी को हटाएँ" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "एक ही बार में सभी %s को हटाने के लिए क्लिक करें." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(cnt)s में से %(sel)s चुना गया हैं" -msgstr[1] "%(cnt)s में से %(sel)s चुने गए हैं" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"स्वतंत्र सम्पादनक्षम क्षेत्र/स्तम्भ में किये हुए बदल अभी रक्षित नहीं हैं | अगर आप कुछ कार्रवाई " -"करते हो तो वे खो जायेंगे |" - -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 "" -"आप ने कार्रवाई तो चुनी हैं, पर स्वतंत्र सम्पादनक्षम क्षेत्र/स्तम्भ में किये हुए बदल अभी सुरक्षित " -"नहीं किये हैं| उन्हें सुरक्षित करने के लिए कृपया 'ओके' क्लिक करे | आप को चुनी हुई कार्रवाई " -"दोबारा चलानी होगी |" - -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 "" -"आप ने कार्रवाई चुनी हैं, और आप ने स्वतंत्र सम्पादनक्षम क्षेत्र/स्तम्भ में बदल नहीं किये हैं| " -"संभवतः 'सेव' बटन के बजाय आप 'गो' बटन ढून्ढ रहे हो |" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "" -msgstr[1] "" - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "" -msgstr[1] "" - -msgid "Now" -msgstr "अब" - -msgid "Choose a Time" -msgstr "" - -msgid "Choose a time" -msgstr "एक समय चुनें" - -msgid "Midnight" -msgstr "मध्यरात्री" - -msgid "6 a.m." -msgstr "सुबह 6 बजे" - -msgid "Noon" -msgstr "दोपहर" - -msgid "6 p.m." -msgstr "" - -msgid "Cancel" -msgstr "रद्द करें" - -msgid "Today" -msgstr "आज" - -msgid "Choose a Date" -msgstr "" - -msgid "Yesterday" -msgstr "कल (बीता)" - -msgid "Tomorrow" -msgstr "कल" - -msgid "January" -msgstr "" - -msgid "February" -msgstr "" - -msgid "March" -msgstr "" - -msgid "April" -msgstr "" - -msgid "May" -msgstr "" - -msgid "June" -msgstr "" - -msgid "July" -msgstr "" - -msgid "August" -msgstr "" - -msgid "September" -msgstr "" - -msgid "October" -msgstr "" - -msgid "November" -msgstr "" - -msgid "December" -msgstr "" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "" - -msgctxt "one letter Monday" -msgid "M" -msgstr "" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "" - -msgctxt "one letter Friday" -msgid "F" -msgstr "" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "" - -msgid "Show" -msgstr "दिखाओ" - -msgid "Hide" -msgstr " छिपाओ" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hr/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hr/LC_MESSAGES/django.mo deleted file mode 100644 index eb87cd14..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hr/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hr/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hr/LC_MESSAGES/django.po deleted file mode 100644 index b9192865..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hr/LC_MESSAGES/django.po +++ /dev/null @@ -1,716 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# aljosa , 2011,2013 -# Bojan Mihelač , 2012 -# Filip Cuk , 2016 -# Goran Zugelj , 2018 -# Jannis Leidel , 2011 -# Mislav Cimperšak , 2013,2015-2016 -# Ylodi , 2015 -# Vedran Linić , 2019 -# Ylodi , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-01-16 20:42+0100\n" -"PO-Revision-Date: 2019-02-19 06:44+0000\n" -"Last-Translator: Vedran Linić \n" -"Language-Team: Croatian (http://www.transifex.com/django/django/language/" -"hr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hr\n" -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "Uspješno izbrisano %(count)d %(items)s." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "Nije moguće izbrisati %(name)s" - -msgid "Are you sure?" -msgstr "Jeste li sigurni?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Izbrišite odabrane %(verbose_name_plural)s" - -msgid "Administration" -msgstr "Administracija" - -msgid "All" -msgstr "Svi" - -msgid "Yes" -msgstr "Da" - -msgid "No" -msgstr "Ne" - -msgid "Unknown" -msgstr "Nepoznat pojam" - -msgid "Any date" -msgstr "Bilo koji datum" - -msgid "Today" -msgstr "Danas" - -msgid "Past 7 days" -msgstr "Prošlih 7 dana" - -msgid "This month" -msgstr "Ovaj mjesec" - -msgid "This year" -msgstr "Ova godina" - -msgid "No date" -msgstr "Nema datuma" - -msgid "Has date" -msgstr "Ima datum" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Molimo unesite ispravno %(username)s i lozinku za pristup. Imajte na umu da " -"oba polja mogu biti velika i mala slova." - -msgid "Action:" -msgstr "Akcija:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Dodaj još jedan %(verbose_name)s" - -msgid "Remove" -msgstr "Ukloni" - -msgid "Addition" -msgstr "" - -msgid "Change" -msgstr "Promijeni" - -msgid "Deletion" -msgstr "" - -msgid "action time" -msgstr "vrijeme akcije" - -msgid "user" -msgstr "korisnik" - -msgid "content type" -msgstr "tip sadržaja" - -msgid "object id" -msgstr "id objekta" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "repr objekta" - -msgid "action flag" -msgstr "oznaka akcije" - -msgid "change message" -msgstr "promijeni poruku" - -msgid "log entry" -msgstr "zapis" - -msgid "log entries" -msgstr "zapisi" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "Dodano \"%(object)s\"." - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "Promijenjeno \"%(object)s\" - %(changes)s" - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "Obrisano \"%(object)s.\"" - -msgid "LogEntry Object" -msgstr "Log zapis" - -#, python-brace-format -msgid "Added {name} \"{object}\"." -msgstr "" - -msgid "Added." -msgstr "Dodano." - -msgid "and" -msgstr "i" - -#, python-brace-format -msgid "Changed {fields} for {name} \"{object}\"." -msgstr "" - -#, python-brace-format -msgid "Changed {fields}." -msgstr "" - -#, python-brace-format -msgid "Deleted {name} \"{object}\"." -msgstr "" - -msgid "No fields changed." -msgstr "Nije bilo promjena polja." - -msgid "None" -msgstr "Nijedan" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" -"Držite \"Control\" ili \"Command\" na Mac-u kako bi odabrali više od jednog " -"objekta. " - -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "" - -msgid "You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was changed successfully." -msgstr "" - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Unosi moraju biti odabrani da bi se nad njima mogle izvršiti akcije. Nijedan " -"unos nije promijenjen." - -msgid "No action selected." -msgstr "Nije odabrana akcija." - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "%(name)s \"%(obj)s\" uspješno izbrisan." - -#, python-format -msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" -msgstr "" - -#, python-format -msgid "Add %s" -msgstr "Novi unos (%s)" - -#, python-format -msgid "Change %s" -msgstr "Promijeni %s" - -#, python-format -msgid "View %s" -msgstr "" - -msgid "Database error" -msgstr "Pogreška u bazi" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s uspješno promijenjen." -msgstr[1] "%(count)s %(name)s uspješno promijenjeno." -msgstr[2] "%(count)s %(name)s uspješno promijenjeno." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s odabrano" -msgstr[1] "Svih %(total_count)s odabrano" -msgstr[2] "Svih %(total_count)s odabrano" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "0 od %(cnt)s odabrano" - -#, python-format -msgid "Change history: %s" -msgstr "Promijeni povijest: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"Brisanje %(class_name)s %(instance)s bi zahtjevalo i brisanje sljedećih " -"zaštićenih povezanih objekata: %(related_objects)s" - -msgid "Django site admin" -msgstr "Django administracija stranica" - -msgid "Django administration" -msgstr "Django administracija" - -msgid "Site administration" -msgstr "Administracija stranica" - -msgid "Log in" -msgstr "Prijavi se" - -#, python-format -msgid "%(app)s administration" -msgstr "%(app)s administracija" - -msgid "Page not found" -msgstr "Stranica nije pronađena" - -msgid "We're sorry, but the requested page could not be found." -msgstr "Ispričavamo se, ali tražena stranica nije pronađena." - -msgid "Home" -msgstr "Početna" - -msgid "Server error" -msgstr "Greška na serveru" - -msgid "Server error (500)" -msgstr "Greška na serveru (500)" - -msgid "Server Error (500)" -msgstr "Greška na serveru (500)" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"Dogodila se greška. Administratori su obaviješteni putem elektroničke pošte " -"te bi greška uskoro trebala biti ispravljena. Hvala na strpljenju." - -msgid "Run the selected action" -msgstr "Izvrši odabranu akciju" - -msgid "Go" -msgstr "Idi" - -msgid "Click here to select the objects across all pages" -msgstr "Klikni ovdje da bi odabrao unose kroz sve stranice" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Odaberi svih %(total_count)s %(module_name)s" - -msgid "Clear selection" -msgstr "Očisti odabir" - -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" -"Prvo, unesite korisničko ime i lozinku. Onda možete promijeniti više " -"postavki korisnika." - -msgid "Enter a username and password." -msgstr "Unesite korisničko ime i lozinku." - -msgid "Change password" -msgstr "Promijeni lozinku" - -msgid "Please correct the error below." -msgstr "" - -msgid "Please correct the errors below." -msgstr "Molimo ispravite navedene greške." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "Unesite novu lozinku za korisnika %(username)s." - -msgid "Welcome," -msgstr "Dobrodošli," - -msgid "View site" -msgstr "Pogledaj stranicu" - -msgid "Documentation" -msgstr "Dokumentacija" - -msgid "Log out" -msgstr "Odjava" - -#, python-format -msgid "Add %(name)s" -msgstr "Novi unos - %(name)s" - -msgid "History" -msgstr "Povijest" - -msgid "View on site" -msgstr "Pogledaj na stranicama" - -msgid "Filter" -msgstr "Filter" - -msgid "Remove from sorting" -msgstr "Odstrani iz sortiranja" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Prioritet sortiranja: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Preklopi sortiranje" - -msgid "Delete" -msgstr "Izbriši" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Brisanje %(object_name)s '%(escaped_object)s' rezultiralo bi brisanjem " -"povezanih objekta, ali vi nemate privilegije za brisanje navedenih objekta: " - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"Brisanje %(object_name)s '%(escaped_object)s' bi zahtijevalo i brisanje " -"sljedećih zaštićenih povezanih objekata:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Jeste li sigurni da želite izbrisati %(object_name)s \"%(escaped_object)s\"? " -"Svi navedeni objekti biti će izbrisani:" - -msgid "Objects" -msgstr "Objekti" - -msgid "Yes, I'm sure" -msgstr "Da, siguran sam" - -msgid "No, take me back" -msgstr "Ne, vrati me natrag" - -msgid "Delete multiple objects" -msgstr "Izbriši više unosa." - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Brisanje odabranog %(objects_name)s rezultiralo bi brisanjem povezanih " -"objekta, ali vaš korisnički račun nema dozvolu za brisanje sljedeće vrste " -"objekata:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Brisanje odabranog %(objects_name)s će zahtijevati brisanje sljedećih " -"zaštićenih povezanih objekata:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Jeste li sigurni da želite izbrisati odabrane %(objects_name)s ? Svi " -"sljedeći objekti i povezane stavke će biti izbrisani:" - -msgid "View" -msgstr "Prikaz" - -msgid "Delete?" -msgstr "Izbriši?" - -#, python-format -msgid " By %(filter_title)s " -msgstr "Po %(filter_title)s " - -msgid "Summary" -msgstr "Sažetak" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "Modeli u aplikaciji %(name)s" - -msgid "Add" -msgstr "Novi unos" - -msgid "You don't have permission to view or edit anything." -msgstr "Nemate dozvole za pregled ili izmjenu." - -msgid "Recent actions" -msgstr "Nedavne promjene" - -msgid "My actions" -msgstr "Moje promjene" - -msgid "None available" -msgstr "Nije dostupno" - -msgid "Unknown content" -msgstr "Sadržaj nepoznat" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Nešto nije uredu sa instalacijom/postavkama baze. Provjerite jesu li " -"potrebne tablice u bazi kreirane i provjerite je li baza dostupna korisniku." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"Prijavljeni ste kao %(username)s, ali nemate dopuštenje za pristup traženoj " -"stranici. Želite li se prijaviti drugim korisničkim računom?" - -msgid "Forgotten your password or username?" -msgstr "Zaboravili ste lozinku ili korisničko ime?" - -msgid "Date/time" -msgstr "Datum/vrijeme" - -msgid "User" -msgstr "Korisnik" - -msgid "Action" -msgstr "Akcija" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" -"Ovaj objekt nema povijest promjena. Moguće je da nije dodan korištenjem ove " -"administracije." - -msgid "Show all" -msgstr "Prikaži sve" - -msgid "Save" -msgstr "Spremi" - -msgid "Popup closing…" -msgstr "" - -msgid "Search" -msgstr "Traži" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s rezultat" -msgstr[1] "%(counter)s rezultata" -msgstr[2] "%(counter)s rezultata" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s ukupno" - -msgid "Save as new" -msgstr "Spremi kao novi unos" - -msgid "Save and add another" -msgstr "Spremi i unesi novi unos" - -msgid "Save and continue editing" -msgstr "Spremi i nastavi uređivati" - -msgid "Save and view" -msgstr "" - -msgid "Close" -msgstr "Zatvori" - -#, python-format -msgid "Change selected %(model)s" -msgstr "Promijeni označene %(model)s" - -#, python-format -msgid "Add another %(model)s" -msgstr "Dodaj još jedan %(model)s" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Obriši odabrane %(model)s" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Hvala što ste proveli malo kvalitetnog vremena na stranicama danas." - -msgid "Log in again" -msgstr "Prijavite se ponovo" - -msgid "Password change" -msgstr "Promjena lozinke" - -msgid "Your password was changed." -msgstr "Vaša lozinka je promijenjena." - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Molim unesite staru lozinku, zbog sigurnosti, i onda unesite novu lozinku " -"dvaput da bi mogli provjeriti jeste li je ispravno unijeli." - -msgid "Change my password" -msgstr "Promijeni moju lozinku" - -msgid "Password reset" -msgstr "Resetiranje lozinke" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Vaša lozinka je postavljena. Sada se možete prijaviti." - -msgid "Password reset confirmation" -msgstr "Potvrda promjene lozinke" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Molimo vas da unesete novu lozinku dvaput da bi mogli provjeriti jeste li je " -"ispravno unijeli." - -msgid "New password:" -msgstr "Nova lozinka:" - -msgid "Confirm password:" -msgstr "Potvrdi lozinku:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Link za resetiranje lozinke je neispravan, vjerojatno jer je već korišten. " -"Molimo zatražite novo resetiranje lozinke." - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Elektroničkom poštom smo vam poslali upute za postavljanje Vaše zaporke, ako " -"postoji korisnički račun s e-mail adresom koju ste unijeli. Uskoro bi ih " -"trebali primiti. " - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Ako niste primili e-mail provjerite da li ste ispravno unijeli adresu s " -"kojom ste se registrirali i provjerite spam sandučić." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"Primili ste ovu poruku jer ste zatražili postavljanje nove lozinke za svoj " -"korisnički račun na %(site_name)s." - -msgid "Please go to the following page and choose a new password:" -msgstr "Molimo otiđite do sljedeće stranice i odaberite novu lozinku:" - -msgid "Your username, in case you've forgotten:" -msgstr "Vaše korisničko ime, u slučaju da ste zaboravili:" - -msgid "Thanks for using our site!" -msgstr "Hvala šta koristite naše stranice!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "%(site_name)s tim" - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" -"Zaboravili ste lozinku? Unesite vašu e-mail adresu ispod i poslati ćemo vam " -"upute kako postaviti novu." - -msgid "Email address:" -msgstr "E-mail adresa:" - -msgid "Reset my password" -msgstr "Resetiraj moju lozinku" - -msgid "All dates" -msgstr "Svi datumi" - -#, python-format -msgid "Select %s" -msgstr "Odaberi %s" - -#, python-format -msgid "Select %s to change" -msgstr "Odaberi za promjenu - %s" - -#, python-format -msgid "Select %s to view" -msgstr "" - -msgid "Date:" -msgstr "Datum:" - -msgid "Time:" -msgstr "Vrijeme:" - -msgid "Lookup" -msgstr "Potraži" - -msgid "Currently:" -msgstr "Trenutno:" - -msgid "Change:" -msgstr "Promijeni:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hr/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hr/LC_MESSAGES/djangojs.mo deleted file mode 100644 index e8231f69..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hr/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hr/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hr/LC_MESSAGES/djangojs.po deleted file mode 100644 index 0878d8ab..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hr/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,223 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# aljosa , 2011 -# Bojan Mihelač , 2012 -# Davor Lučić , 2011 -# Jannis Leidel , 2011 -# Mislav Cimperšak , 2015 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-05-17 11:50+0200\n" -"PO-Revision-Date: 2017-09-19 16:41+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Croatian (http://www.transifex.com/django/django/language/" -"hr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hr\n" -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" - -#, javascript-format -msgid "Available %s" -msgstr "Dostupno %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Ovo je popis dostupnih %s. Možete dodati pojedine na način da ih izaberete u " -"polju ispod i kliknete \"Izaberi\" strelicu između dva polja. " - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "Tipkajte u ovo polje da filtrirate listu dostupnih %s." - -msgid "Filter" -msgstr "Filter" - -msgid "Choose all" -msgstr "Odaberi sve" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Kliknite da odabrete sve %s odjednom." - -msgid "Choose" -msgstr "Izaberi" - -msgid "Remove" -msgstr "Ukloni" - -#, javascript-format -msgid "Chosen %s" -msgstr "Odabrano %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Ovo je popis odabranih %s. Možete ukloniti pojedine na način da ih izaberete " -"u polju ispod i kliknete \"Ukloni\" strelicu između dva polja. " - -msgid "Remove all" -msgstr "Ukloni sve" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Kliknite da uklonite sve izabrane %s odjednom." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "odabrano %(sel)s od %(cnt)s" -msgstr[1] "odabrano %(sel)s od %(cnt)s" -msgstr[2] "odabrano %(sel)s od %(cnt)s" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Neke promjene nisu spremljene na pojedinim polja za uređivanje. Ako " -"pokrenete akciju, nespremljene promjene će biti izgubljene." - -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 "" -"Odabrali ste akciju, ali niste još spremili promjene na pojedinim polja. " -"Molimo kliknite OK za spremanje. Morat ćete ponovno pokrenuti akciju." - -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 "" -"Odabrali ste akciju, a niste napravili nikakve izmjene na pojedinim poljima. " -"Vjerojatno tražite gumb Idi umjesto gumb Spremi." - -msgid "Now" -msgstr "Sada" - -msgid "Midnight" -msgstr "Ponoć" - -msgid "6 a.m." -msgstr "6 ujutro" - -msgid "Noon" -msgstr "Podne" - -msgid "6 p.m." -msgstr "6 popodne" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" - -msgid "Choose a Time" -msgstr "Izaberite vrijeme" - -msgid "Choose a time" -msgstr "Izaberite vrijeme" - -msgid "Cancel" -msgstr "Odustani" - -msgid "Today" -msgstr "Danas" - -msgid "Choose a Date" -msgstr "Odaberite datum" - -msgid "Yesterday" -msgstr "Jučer" - -msgid "Tomorrow" -msgstr "Sutra" - -msgid "January" -msgstr "" - -msgid "February" -msgstr "" - -msgid "March" -msgstr "" - -msgid "April" -msgstr "" - -msgid "May" -msgstr "" - -msgid "June" -msgstr "" - -msgid "July" -msgstr "" - -msgid "August" -msgstr "" - -msgid "September" -msgstr "" - -msgid "October" -msgstr "" - -msgid "November" -msgstr "" - -msgid "December" -msgstr "" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "" - -msgctxt "one letter Monday" -msgid "M" -msgstr "" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "" - -msgctxt "one letter Friday" -msgid "F" -msgstr "" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "" - -msgid "Show" -msgstr "Prikaži" - -msgid "Hide" -msgstr "Sakri" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hsb/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hsb/LC_MESSAGES/django.mo deleted file mode 100644 index 3cb66b60..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hsb/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hsb/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hsb/LC_MESSAGES/django.po deleted file mode 100644 index 31c4a763..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hsb/LC_MESSAGES/django.po +++ /dev/null @@ -1,720 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Michael Wolf , 2016-2020 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-14 19:53+0200\n" -"PO-Revision-Date: 2020-07-21 12:57+0000\n" -"Last-Translator: Michael Wolf \n" -"Language-Team: Upper Sorbian (http://www.transifex.com/django/django/" -"language/hsb/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hsb\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" -"%100==4 ? 2 : 3);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "%(count)d %(items)s je so wuspěšnje zhašało." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "%(name)s njeda so zhašeć." - -msgid "Are you sure?" -msgstr "Sće wěsty?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Wubrane %(verbose_name_plural)s zhašeć" - -msgid "Administration" -msgstr "Administracija" - -msgid "All" -msgstr "Wšě" - -msgid "Yes" -msgstr "Haj" - -msgid "No" -msgstr "Ně" - -msgid "Unknown" -msgstr "Njeznaty" - -msgid "Any date" -msgstr "Někajki datum" - -msgid "Today" -msgstr "Dźensa" - -msgid "Past 7 days" -msgstr "Zańdźene 7 dnjow" - -msgid "This month" -msgstr "Tutón měsac" - -msgid "This year" -msgstr "Lětsa" - -msgid "No date" -msgstr "Žadyn datum" - -msgid "Has date" -msgstr "Ma datum" - -msgid "Empty" -msgstr "Prózdny" - -msgid "Not empty" -msgstr "Njeprózdny" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Prošu zapodajće korektne %(username)s a hesło za personalne konto. Dźiwajće " -"na to, zo wobě poli móžetej mjez wulko- a małopisanjom rozeznawać." - -msgid "Action:" -msgstr "Akcija:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Přidajće nowe %(verbose_name)s" - -msgid "Remove" -msgstr "Wotstronić" - -msgid "Addition" -msgstr "Přidaće" - -msgid "Change" -msgstr "Změnić" - -msgid "Deletion" -msgstr "Zhašenje" - -msgid "action time" -msgstr "akciski čas" - -msgid "user" -msgstr "wužiwar" - -msgid "content type" -msgstr "wobsahowy typ" - -msgid "object id" -msgstr "objektowy id" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "objektowa reprezentacija" - -msgid "action flag" -msgstr "akciske markěrowanje" - -msgid "change message" -msgstr "změnowa powěsć" - -msgid "log entry" -msgstr "protokolowy zapisk" - -msgid "log entries" -msgstr "protokolowe zapiski" - -#, python-format -msgid "Added “%(object)s”." -msgstr "Je so „%(object)s“ přidał." - -#, python-format -msgid "Changed “%(object)s” — %(changes)s" -msgstr "Je so „%(object)s“ změnił - %(changes)s" - -#, python-format -msgid "Deleted “%(object)s.”" -msgstr "Je so „%(object)s“ zhašał." - -msgid "LogEntry Object" -msgstr "Objekt LogEntry" - -#, python-brace-format -msgid "Added {name} “{object}”." -msgstr "Je so {name} „{object}“ přidał." - -msgid "Added." -msgstr "Přidaty." - -msgid "and" -msgstr "a" - -#, python-brace-format -msgid "Changed {fields} for {name} “{object}”." -msgstr "Je so {fields} za {name} „{object}“ změnił." - -#, python-brace-format -msgid "Changed {fields}." -msgstr "{fields} změnjene." - -#, python-brace-format -msgid "Deleted {name} “{object}”." -msgstr "Je so {name} „{object}“ zhašał." - -msgid "No fields changed." -msgstr "Žane pola změnjene." - -msgid "None" -msgstr "Žadyn" - -msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." -msgstr "" -"Dźeržće „ctrl“ abo „cmd“ na Mac stłóčeny, zo byšće wjace hač jedyn wubrał." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully." -msgstr "{name} „{obj}“ je so wuspěšnje přidał." - -msgid "You may edit it again below." -msgstr "Móžeće deleka unowa wobdźěłać." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was added successfully. You may add another {name} below." -msgstr "" -"{name} „{obj}“ je so wuspěšnje přidał. Móžeće deleka dalši {name} přidać." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may edit it again below." -msgstr "{name} „{obj}“ je so wuspěšnje změnił. Móžeće jón deleka wobdźěłować." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully. You may edit it again below." -msgstr "{name} „{obj}“ je so wuspěšnje přidał. Móžeće jón deleka wobdźěłować." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may add another {name} " -"below." -msgstr "" -"{name} „{obj}“ je so wuspěšnje změnił. Móžeće deleka dalši {name} přidać." - -#, python-brace-format -msgid "The {name} “{obj}” was changed successfully." -msgstr "{name} „{obj}“ je so wuspěšnje změnił." - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Dyrbiće zapiski wubrać, zo byšće akcije z nimi wuwjesć. Zapiski njejsu so " -"změnili." - -msgid "No action selected." -msgstr "žana akcija wubrana." - -#, python-format -msgid "The %(name)s “%(obj)s” was deleted successfully." -msgstr "%(name)s „%(obj)s“ je so wuspěšnje zhašał." - -#, python-format -msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" -msgstr "%(name)s z ID „%(key)s“ njeeksistuje. Je so snano zhašało?" - -#, python-format -msgid "Add %s" -msgstr "%s přidać" - -#, python-format -msgid "Change %s" -msgstr "%s změnić" - -#, python-format -msgid "View %s" -msgstr "%s pokazać" - -msgid "Database error" -msgstr "Zmylk datoweje banki" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s je so wuspěšnje změnił." -msgstr[1] "%(count)s %(name)s stej so wuspěšnje změniłoj." -msgstr[2] "%(count)s %(name)s su so wuspěšnje změnili." -msgstr[3] "%(count)s %(name)s je so wuspěšnje změniło." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s wubrany" -msgstr[1] "%(total_count)s wubranej" -msgstr[2] "%(total_count)s wubrane" -msgstr[3] "%(total_count)s wubranych" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "0 z %(cnt)s wubranych" - -#, python-format -msgid "Change history: %s" -msgstr "Změnowa historija: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"Zo bychu so %(class_name)s %(instance)s zhašeli, dyrbja so slědowace škitane " -"přisłušne objekty zhašeć: %(related_objects)s" - -msgid "Django site admin" -msgstr "Administrator sydła Django" - -msgid "Django administration" -msgstr "Administracija Django" - -msgid "Site administration" -msgstr "Sydłowa administracija" - -msgid "Log in" -msgstr "Přizjewić" - -#, python-format -msgid "%(app)s administration" -msgstr "Administracija %(app)s" - -msgid "Page not found" -msgstr "Strona njeje so namakała" - -msgid "We’re sorry, but the requested page could not be found." -msgstr "Je nam žel, ale požadana strona njeda so namakać." - -msgid "Home" -msgstr "Startowa strona" - -msgid "Server error" -msgstr "Serwerowy zmylk" - -msgid "Server error (500)" -msgstr "Serwerowy zmylk (500)" - -msgid "Server Error (500)" -msgstr "Serwerowy zmylk (500)" - -msgid "" -"There’s been an error. It’s been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"Zmylk je wustupił. Je so sydłowym administratoram přez e-mejl zdźělił a " -"dyrbjał so bórze wotstronić. Dźakujemy so za wašu sćerpliwosć." - -msgid "Run the selected action" -msgstr "Wubranu akciju wuwjesć" - -msgid "Go" -msgstr "Start" - -msgid "Click here to select the objects across all pages" -msgstr "Klikńće tu, zo byšće objekty wšěch stronow wubrać" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Wubjerće wšě %(total_count)s %(module_name)s" - -msgid "Clear selection" -msgstr "Wuběr wotstronić" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "Modele w nałoženju %(name)s" - -msgid "Add" -msgstr "Přidać" - -msgid "View" -msgstr "Pokazać" - -msgid "You don’t have permission to view or edit anything." -msgstr "Nimaće prawo něšto pokazać abo wobdźěłać." - -msgid "" -"First, enter a username and password. Then, you’ll be able to edit more user " -"options." -msgstr "" -"Zapodajće najprjedy wužiwarske mjeno a hesło. Potom móžeće dalše wužiwarske " -"nastajenja wobdźěłować." - -msgid "Enter a username and password." -msgstr "Zapodajće wužiwarske mjeno a hesło." - -msgid "Change password" -msgstr "Hesło změnić" - -msgid "Please correct the error below." -msgstr "Prošu porjedźće slědowacy zmylk." - -msgid "Please correct the errors below." -msgstr "Prošu porjedźće slědowace zmylki." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "Zapodajće nowe hesło za %(username)s." - -msgid "Welcome," -msgstr "Witajće," - -msgid "View site" -msgstr "Sydło pokazać" - -msgid "Documentation" -msgstr "Dokumentacija" - -msgid "Log out" -msgstr "Wotzjewić" - -#, python-format -msgid "Add %(name)s" -msgstr "%(name)s přidać" - -msgid "History" -msgstr "Historija" - -msgid "View on site" -msgstr "Na sydle pokazać" - -msgid "Filter" -msgstr "Filtrować" - -msgid "Clear all filters" -msgstr "Wšě filtry zhašeć" - -msgid "Remove from sorting" -msgstr "Ze sortěrowanja wotstronić" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Sortěrowanski porjad: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Sortěrowanje přepinać" - -msgid "Delete" -msgstr "Zhašeć" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Hdyž so %(object_name)s '%(escaped_object)s' zhašeja, so tež přisłušne " -"objekty zhašeja, ale waše konto nima prawo slědowace typy objektow zhašeć:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"Zo by so %(object_name)s '%(escaped_object)s' zhašało, dyrbja so slědowace " -"přisłušne objekty zhašeć:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Chceće woprawdźe %(object_name)s \"%(escaped_object)s\" zhašeć? Wšě " -"slědowace přisłušne zapiski so zhašeja:" - -msgid "Objects" -msgstr "Objekty" - -msgid "Yes, I’m sure" -msgstr "Haj, sym sej wěsty" - -msgid "No, take me back" -msgstr "Ně, prošu wróćo" - -msgid "Delete multiple objects" -msgstr "Wjacore objekty zhašeć" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Hdyž so wubrany %(objects_name)s zhaša, so přisłušne objekty zhašeja, ale " -"waše konto nima prawo slědowace typy objektow zhašeć: " - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Hdyž so wubrany %(objects_name)s zhaša, so slědowace škitane přisłušne " -"objekty zhašeja:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Chceće woprawdźe wubrane %(objects_name)s zhašeć? Wšě slědowace objekty a " -"jich přisłušne zapiski so zhašeja:" - -msgid "Delete?" -msgstr "Zhašeć?" - -#, python-format -msgid " By %(filter_title)s " -msgstr "Po %(filter_title)s " - -msgid "Summary" -msgstr "Zjeće" - -msgid "Recent actions" -msgstr "Najnowše akcije" - -msgid "My actions" -msgstr "Moje akcije" - -msgid "None available" -msgstr "Žadyn k dispoziciji" - -msgid "Unknown content" -msgstr "Njeznaty wobsah" - -msgid "" -"Something’s wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Něšto je so z instalaciju datoweje banki nimokuliło. Zawěsćće, zo wotpowědne " -"tabele datoweje banki su so wutworili, a, zo datowa banka da so wot " -"wotpowědneho wužiwarja čitać." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"Sće jako %(username)s awtentifikowany, ale nimaće přistup na tutu stronu. " -"Chceće so pola druheho konta přizjewić?" - -msgid "Forgotten your password or username?" -msgstr "Sće swoje hesło abo wužiwarske mjeno zabył?" - -msgid "Toggle navigation" -msgstr "Nawigaciju přepinać" - -msgid "Date/time" -msgstr "Datum/čas" - -msgid "User" -msgstr "Wužiwar" - -msgid "Action" -msgstr "Akcija" - -msgid "" -"This object doesn’t have a change history. It probably wasn’t added via this " -"admin site." -msgstr "" -"Tutón objekt nima změnowu historiju. Njeje so najskerje přez tute " -"administratorowe sydło přidał." - -msgid "Show all" -msgstr "Wšě pokazać" - -msgid "Save" -msgstr "Składować" - -msgid "Popup closing…" -msgstr "Wuskakowace wokno so začinja…" - -msgid "Search" -msgstr "Pytać" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s wuslědk" -msgstr[1] "%(counter)s wuslědkaj" -msgstr[2] "%(counter)s wuslědki" -msgstr[3] "%(counter)s wuslědkow" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s dohromady" - -msgid "Save as new" -msgstr "Jako nowy składować" - -msgid "Save and add another" -msgstr "Skłaodwac a druhi přidać" - -msgid "Save and continue editing" -msgstr "Składować a dale wobdźěłować" - -msgid "Save and view" -msgstr "Składować a pokazać" - -msgid "Close" -msgstr "Začinić" - -#, python-format -msgid "Change selected %(model)s" -msgstr "Wubrane %(model)s změnić" - -#, python-format -msgid "Add another %(model)s" -msgstr "Druhi %(model)s přidać" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Wubrane %(model)s zhašeć" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Wulki dźak, zo sće dźensa rjane chwile z websydłom přebywali." - -msgid "Log in again" -msgstr "Znowa přizjewić" - -msgid "Password change" -msgstr "Hesło změnić" - -msgid "Your password was changed." -msgstr "Waše hesło je so změniło." - -msgid "" -"Please enter your old password, for security’s sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Prošu zapodajće swoje stare hesło k swojemu škitej a potom swoje nowe hesło " -"dwójce, zo bychmy móhli přepruwować, hač sće jo korektnje zapodał." - -msgid "Change my password" -msgstr "Moje hesło změnić" - -msgid "Password reset" -msgstr "Hesło wróćo stajić" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Waše hesło je so nastajiło. Móžeće pokročować a so nětko přizjewić." - -msgid "Password reset confirmation" -msgstr "Wobkrućenje wróćostajenja hesła" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Prošu zapodajće swoje hesło dwójce, zo bychmy móhli přepruwować, hač sće jo " -"korektnje zapodał." - -msgid "New password:" -msgstr "Nowe hesło:" - -msgid "Confirm password:" -msgstr "Hesło wobkrućić:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Wotkaz za wróćostajenje hesła bě njepłaćiwy, snano dokelž je so hižo wužił. " -"Prošu prošće wo nowe wróćostajenje hesła." - -msgid "" -"We’ve emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Smy wam e-mejlku z instrukcijemi wo nastajenju wašeho hesła pósłali, jeli " -"konto ze zapodatej e-mejlowej adresu eksistuje. Wy dyrbjał ju bórze dóstać." - -msgid "" -"If you don’t receive an email, please make sure you’ve entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Jeli e-mejlku njedóstawaće, přepruwujće prošu adresu, z kotrejž sće so " -"zregistrował a hladajće do swojeho spamoweho rjadowaka." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"Dóstawaće tutu e-mejlku, dokelž sće wo wróćostajenje hesła za swoje " -"wužiwarske konto na at %(site_name)s prosył." - -msgid "Please go to the following page and choose a new password:" -msgstr "Prošu dźiće k slědowacej stronje a wubjerće nowe hesło:" - -msgid "Your username, in case you’ve forgotten:" -msgstr "Waše wužiwarske mjeno, jeli sće jo zabył:" - -msgid "Thanks for using our site!" -msgstr "Wulki dźak za wužiwanje našeho sydła!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "Team %(site_name)s" - -msgid "" -"Forgotten your password? Enter your email address below, and we’ll email " -"instructions for setting a new one." -msgstr "" -"Sće swoje hesło zabył? Zapodajće deleka swoju e-mejlowu adresu a pósćelemy " -"wam instrukcije za postajenje noweho hesła přez e-mejl." - -msgid "Email address:" -msgstr "E-mejlowa adresa:" - -msgid "Reset my password" -msgstr "Moje hesło wróćo stajić" - -msgid "All dates" -msgstr "Wšě daty" - -#, python-format -msgid "Select %s" -msgstr "%s wubrać" - -#, python-format -msgid "Select %s to change" -msgstr "%s wubrać, zo by so změniło" - -#, python-format -msgid "Select %s to view" -msgstr "%s wubrać, kotryž ma so pokazać" - -msgid "Date:" -msgstr "Datum:" - -msgid "Time:" -msgstr "Čas:" - -msgid "Lookup" -msgstr "Pytanje" - -msgid "Currently:" -msgstr "Tuchylu:" - -msgid "Change:" -msgstr "Změnić:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hsb/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hsb/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 9750adc0..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hsb/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hsb/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hsb/LC_MESSAGES/djangojs.po deleted file mode 100644 index 81f9aebd..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hsb/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,226 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Michael Wolf , 2016,2020 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-11 20:56+0200\n" -"PO-Revision-Date: 2020-05-28 19:59+0000\n" -"Last-Translator: Michael Wolf \n" -"Language-Team: Upper Sorbian (http://www.transifex.com/django/django/" -"language/hsb/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hsb\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" -"%100==4 ? 2 : 3);\n" - -#, javascript-format -msgid "Available %s" -msgstr "%s k dispoziciji" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"To je lisćina k dispoziciji stejacych %s. Móžeće někotre z nich w slědowacym " -"kašćiku wubrać a potom na šipk „Wubrać“ mjez kašćikomaj kliknyć." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "" -"Zapisajće do tutoho kašćika, zo byšće někotre z lisćiny k dispoziciji " -"stejacych %s wufiltrował." - -msgid "Filter" -msgstr "Filtrować" - -msgid "Choose all" -msgstr "Wšě wubrać" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Klikńće, zo byšće wšě %s naraz wubrał." - -msgid "Choose" -msgstr "Wubrać" - -msgid "Remove" -msgstr "Wotstronić" - -#, javascript-format -msgid "Chosen %s" -msgstr "Wubrane %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"To je lisćina wubranych %s. Móžeće někotre z nich wotstronić, hdyž je w " -"slědowacym kašćiku wuběraće a potom na šipk „Wotstronić“ mjez kašćikomaj " -"kliknjeće." - -msgid "Remove all" -msgstr "Wšě wotstronić" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Klikńće, zo byšće wšě wubrane %s naraz wotstronił." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(sel)s z %(cnt)s wubrany" -msgstr[1] "%(sel)s z %(cnt)s wubranej" -msgstr[2] "%(sel)s z %(cnt)s wubrane" -msgstr[3] "%(sel)s z %(cnt)s wubranych" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Maće njeskładowane změny za jednotliwe wobdźěłujomne pola. Jeli akciju " -"wuwjedźeće, so waše njeskładowane změny zhubja." - -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 "" -"Sće akciju wubrał, ale njejsće hišće swoje změny na jednoliwych polach " -"składował. Prošu klikńće na „W porjadku, zo byšće składował. Dyrbiće akciju " -"znowa wuwjesć." - -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 "" -"Sće akciju wubrał, a njejsće žane změny na jednotliwych polach přewjedł. " -"Pytajće najskerje za tłóčatkom „Pósłać“ město tłóčatka „Składować“." - -msgid "Now" -msgstr "Nětko" - -msgid "Midnight" -msgstr "Połnóc" - -msgid "6 a.m." -msgstr "6:00 hodź. dopołdnja" - -msgid "Noon" -msgstr "připołdnjo" - -msgid "6 p.m." -msgstr "6 hodź. popołdnju" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Kedźbu: Waš čas je wo %s hodźinu před serwerowym časom." -msgstr[1] "Kedźbu: Waš čas je wo %s hodźin před serwerowym časom." -msgstr[2] "Kedźbu: Waš čas je wo %s hodźiny před serwerowym časom." -msgstr[3] "Kedźbu: Waš čas je wo %s hodźin před serwerowym časom." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Kedźbu: Waš čas je wo %s hodźinu za serwerowym časom." -msgstr[1] "Kedźbu: Waš čas je wo %s hodźinje za serwerowym časom." -msgstr[2] "Kedźbu: Waš čas je wo %s hodźiny za serwerowym časom." -msgstr[3] "Kedźbu: Waš čas je wo %s hodźin za serwerowym časom." - -msgid "Choose a Time" -msgstr "Wubjerće čas" - -msgid "Choose a time" -msgstr "Wubjerće čas" - -msgid "Cancel" -msgstr "Přetorhnyć" - -msgid "Today" -msgstr "Dźensa" - -msgid "Choose a Date" -msgstr "Wubjerće datum" - -msgid "Yesterday" -msgstr "Wčera" - -msgid "Tomorrow" -msgstr "Jutře" - -msgid "January" -msgstr "Januar" - -msgid "February" -msgstr "Februar" - -msgid "March" -msgstr "Měrc" - -msgid "April" -msgstr "Apryl" - -msgid "May" -msgstr "Meja" - -msgid "June" -msgstr "Junij" - -msgid "July" -msgstr "Julij" - -msgid "August" -msgstr "Awgust" - -msgid "September" -msgstr "September" - -msgid "October" -msgstr "Oktober" - -msgid "November" -msgstr "Nowember" - -msgid "December" -msgstr "December" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "Nj" - -msgctxt "one letter Monday" -msgid "M" -msgstr "Pó" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "Wu" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "Sr" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "Št" - -msgctxt "one letter Friday" -msgid "F" -msgstr "Pj" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "So" - -msgid "Show" -msgstr "Pokazać" - -msgid "Hide" -msgstr "Schować" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hu/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hu/LC_MESSAGES/django.mo deleted file mode 100644 index 972ab3de..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hu/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hu/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hu/LC_MESSAGES/django.po deleted file mode 100644 index 16495647..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hu/LC_MESSAGES/django.po +++ /dev/null @@ -1,731 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Ádám Krizsány , 2015 -# Akos Zsolt Hochrein , 2018 -# András Veres-Szentkirályi, 2016,2018-2020 -# Istvan Farkas , 2019 -# Jannis Leidel , 2011 -# János R, 2017 -# János R, 2014 -# Kristóf Gruber <>, 2012 -# slink , 2011 -# Szilveszter Farkas , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-14 19:53+0200\n" -"PO-Revision-Date: 2020-07-20 07:29+0000\n" -"Last-Translator: András Veres-Szentkirályi\n" -"Language-Team: Hungarian (http://www.transifex.com/django/django/language/" -"hu/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hu\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "%(count)d %(items)s sikeresen törölve lett." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "%(name)s törlése nem sikerült" - -msgid "Are you sure?" -msgstr "Biztos benne?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Kiválasztott %(verbose_name_plural)s törlése" - -msgid "Administration" -msgstr "Adminisztráció" - -msgid "All" -msgstr "Mind" - -msgid "Yes" -msgstr "Igen" - -msgid "No" -msgstr "Nem" - -msgid "Unknown" -msgstr "Ismeretlen" - -msgid "Any date" -msgstr "Bármely dátum" - -msgid "Today" -msgstr "Ma" - -msgid "Past 7 days" -msgstr "Utolsó 7 nap" - -msgid "This month" -msgstr "Ez a hónap" - -msgid "This year" -msgstr "Ez az év" - -msgid "No date" -msgstr "Nincs dátuma" - -msgid "Has date" -msgstr "Van dátuma" - -msgid "Empty" -msgstr "Üres" - -msgid "Not empty" -msgstr "Nem üres" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Adja meg egy adminisztrációra jogosult %(username)s és jelszavát. Vegye " -"figyelembe, hogy mindkét mező megkülönböztetheti a kis- és nagybetűket." - -msgid "Action:" -msgstr "Művelet:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Újabb %(verbose_name)s hozzáadása" - -msgid "Remove" -msgstr "Törlés" - -msgid "Addition" -msgstr "Hozzáadás" - -msgid "Change" -msgstr "Módosítás" - -msgid "Deletion" -msgstr "Törlés" - -msgid "action time" -msgstr "művelet időpontja" - -msgid "user" -msgstr "felhasználó" - -msgid "content type" -msgstr "tartalom típusa" - -msgid "object id" -msgstr "objektum id" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "objektum repr" - -msgid "action flag" -msgstr "művelet jelölés" - -msgid "change message" -msgstr "üzenet módosítása" - -msgid "log entry" -msgstr "naplóbejegyzés" - -msgid "log entries" -msgstr "naplóbejegyzések" - -#, python-format -msgid "Added “%(object)s”." -msgstr "\"%(object)s\" hozzáadva." - -#, python-format -msgid "Changed “%(object)s” — %(changes)s" -msgstr "\"%(object)s\" módosítva — %(changes)s" - -#, python-format -msgid "Deleted “%(object)s.”" -msgstr "\"%(object)s\" törölve." - -msgid "LogEntry Object" -msgstr "Naplóbejegyzés objektum" - -#, python-brace-format -msgid "Added {name} “{object}”." -msgstr "\"{object}\" {name} hozzáadva." - -msgid "Added." -msgstr "Hozzáadva." - -msgid "and" -msgstr "és" - -#, python-brace-format -msgid "Changed {fields} for {name} “{object}”." -msgstr "\"{object}\" {name} {fields} módosítva." - -#, python-brace-format -msgid "Changed {fields}." -msgstr "{fields} módosítva." - -#, python-brace-format -msgid "Deleted {name} “{object}”." -msgstr "\"{object}\" {name} törölve." - -msgid "No fields changed." -msgstr "Egy mező sem változott." - -msgid "None" -msgstr "Egyik sem" - -msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." -msgstr "" -"Több elem kiválasztásához tartsa nyomva a \"Control\" gombot, vagy Mac " -"gépeken a \"Command\" gombot." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully." -msgstr "A(z) \"{obj}\" {name} sikeresen hozzáadva." - -msgid "You may edit it again below." -msgstr "Alább ismét szerkesztheti." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was added successfully. You may add another {name} below." -msgstr "" -"A(z) \"{obj}\" {name} sikeresen hozzáadva. Alább hozzadhat egy új {name} " -"rekordot." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may edit it again below." -msgstr "A(z) \"{obj}\" {name} sikeresen módosítva. Alább újra szerkesztheti." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully. You may edit it again below." -msgstr "A(z) \"{obj}\" {name} sikeresen hozzáadva. Alább újra szerkesztheti." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may add another {name} " -"below." -msgstr "" -"A(z) \"{obj}\" {name} sikeresen módosítva. Alább hozzáadhat egy új {name} " -"rekordot." - -#, python-brace-format -msgid "The {name} “{obj}” was changed successfully." -msgstr "A(z) \"{obj}\" {name} sikeresen módosítva." - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"A műveletek végrehajtásához ki kell választani legalább egy elemet. Semmi " -"sem lett módosítva." - -msgid "No action selected." -msgstr "Nem választott ki műveletet." - -#, python-format -msgid "The %(name)s “%(obj)s” was deleted successfully." -msgstr "A(z) \"%(obj)s\" %(name)s törölve lett." - -#, python-format -msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" -msgstr "" -"A(z) \"%(key)s\" azonosítójú %(name)s nem létezik. Esetleg törölve lett?" - -#, python-format -msgid "Add %s" -msgstr "Új %s" - -#, python-format -msgid "Change %s" -msgstr "%s módosítása" - -#, python-format -msgid "View %s" -msgstr "%s megtekintése" - -msgid "Database error" -msgstr "Adatbázishiba" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s sikeresen módosítva lett." -msgstr[1] "%(count)s %(name)s sikeresen módosítva lett." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s kiválasztva" -msgstr[1] "%(total_count)s kiválasztva" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "0 kiválasztva ennyiből: %(cnt)s" - -#, python-format -msgid "Change history: %s" -msgstr "Változások története: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"%(instance)s %(class_name)s törlése az alábbi kapcsolódó védett objektumok " -"törlését is magával vonná: %(related_objects)s" - -msgid "Django site admin" -msgstr "Django honlapadminisztráció" - -msgid "Django administration" -msgstr "Django adminisztráció" - -msgid "Site administration" -msgstr "Honlap karbantartása" - -msgid "Log in" -msgstr "Bejelentkezés" - -#, python-format -msgid "%(app)s administration" -msgstr "%(app)s adminisztráció" - -msgid "Page not found" -msgstr "Nincs ilyen oldal" - -msgid "We’re sorry, but the requested page could not be found." -msgstr "Sajnáljuk, de a keresett oldal nem található." - -msgid "Home" -msgstr "Kezdőlap" - -msgid "Server error" -msgstr "Szerverhiba" - -msgid "Server error (500)" -msgstr "Szerverhiba (500)" - -msgid "Server Error (500)" -msgstr "Szerverhiba (500)" - -msgid "" -"There’s been an error. It’s been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"Hiba történt. Az oldal kezelőjét e-mailben értesítettük, a hiba rövidesen " -"javítva lesz. Köszönjük a türelmet." - -msgid "Run the selected action" -msgstr "Kiválasztott művelet futtatása" - -msgid "Go" -msgstr "Mehet" - -msgid "Click here to select the objects across all pages" -msgstr "Kattintson ide több oldalnyi objektum kiválasztásához" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Az összes %(module_name)s kiválasztása, összesen %(total_count)s db" - -msgid "Clear selection" -msgstr "Kiválasztás törlése" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "%(name)s alkalmazásban elérhető modellek." - -msgid "Add" -msgstr "Új" - -msgid "View" -msgstr "Megtekintés" - -msgid "You don’t have permission to view or edit anything." -msgstr "Jelenleg nincs jogosultsága bármit megtekinteni vagy szerkeszteni." - -msgid "" -"First, enter a username and password. Then, you’ll be able to edit more user " -"options." -msgstr "" -"Először adjon meg egy felhasználónevet és jelszót. A mentés után a többi " -"felhasználói adat is szerkeszthető lesz." - -msgid "Enter a username and password." -msgstr "Írjon be egy felhasználónevet és jelszót." - -msgid "Change password" -msgstr "Jelszó megváltoztatása" - -msgid "Please correct the error below." -msgstr "Kérem javítsa a hibát alább." - -msgid "Please correct the errors below." -msgstr "Kérem javítsa ki a lenti hibákat." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "" -"Adjon meg egy új jelszót %(username)s nevű felhasználónak." - -msgid "Welcome," -msgstr "Üdvözlöm," - -msgid "View site" -msgstr "Honlap megtekintése" - -msgid "Documentation" -msgstr "Dokumentáció" - -msgid "Log out" -msgstr "Kijelentkezés" - -#, python-format -msgid "Add %(name)s" -msgstr "Új %(name)s" - -msgid "History" -msgstr "Történet" - -msgid "View on site" -msgstr "Megtekintés a honlapon" - -msgid "Filter" -msgstr "Szűrő" - -msgid "Clear all filters" -msgstr "Összes szűrő törlése" - -msgid "Remove from sorting" -msgstr "Eltávolítás a rendezésből" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Prioritás rendezésnél: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Rendezés megfordítása" - -msgid "Delete" -msgstr "Törlés" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"\"%(escaped_object)s\" %(object_name)s törlése a kapcsolódó objektumok " -"törlését is eredményezi, de a hozzáférése nem engedi a következő típusú " -"objektumok törlését:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"\"%(escaped_object)s\" %(object_name)s törlése az alábbi kapcsolódó " -"objektumok törlését is maga után vonja:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Biztos hogy törli a következőt: \"%(escaped_object)s\" (típus: " -"%(object_name)s)? A összes további kapcsolódó elem is törlődik:" - -msgid "Objects" -msgstr "Objektumok" - -msgid "Yes, I’m sure" -msgstr "Igen, biztos vagyok benne" - -msgid "No, take me back" -msgstr "Nem, forduljunk vissza" - -msgid "Delete multiple objects" -msgstr "Több elem törlése" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"A kiválasztott %(objects_name)s törlése kapcsolódó objektumok törlését vonja " -"maga után, de az alábbi objektumtípusok törléséhez nincs megfelelő " -"jogosultsága:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"A kiválasztott %(objects_name)s törlése az alábbi védett kapcsolódó " -"objektumok törlését is maga után vonja:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Biztosan törölni akarja a kiválasztott %(objects_name)s objektumokat? Minden " -"alábbi objektum, és a hozzájuk kapcsolódóak is törlésre kerülnek:" - -msgid "Delete?" -msgstr "Törli?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " %(filter_title)s szerint " - -msgid "Summary" -msgstr "Összegzés" - -msgid "Recent actions" -msgstr "Legutóbbi műveletek" - -msgid "My actions" -msgstr "Az én műveleteim" - -msgid "None available" -msgstr "Nincs elérhető" - -msgid "Unknown content" -msgstr "Ismeretlen tartalom" - -msgid "" -"Something’s wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Valami probléma van az adatbázissal. Kérjük győződjön meg róla, hogy a " -"megfelelő táblák létre lettek hozva, és hogy a megfelelő felhasználónak van " -"rájuk olvasási joga." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"Jelenleg be vagy lépve mint %(username)s, de nincs jogod elérni ezt az " -"oldalt. Szeretnél belépni egy másik fiókkal?" - -msgid "Forgotten your password or username?" -msgstr "Elfelejtette jelszavát vagy felhasználónevét?" - -msgid "Toggle navigation" -msgstr "Navigáció megjelenítése/elrejtése" - -msgid "Date/time" -msgstr "Dátum/idő" - -msgid "User" -msgstr "Felhasználó" - -msgid "Action" -msgstr "Művelet" - -msgid "" -"This object doesn’t have a change history. It probably wasn’t added via this " -"admin site." -msgstr "" -"Ennek az objektumnak nincs változás naplója. Valószínűleg nem az admin " -"felületen keresztül lett rögzítve." - -msgid "Show all" -msgstr "Mutassa mindet" - -msgid "Save" -msgstr "Mentés" - -msgid "Popup closing…" -msgstr "A popup bezáródik…" - -msgid "Search" -msgstr "Keresés" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s találat" -msgstr[1] "%(counter)s találat" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s összesen" - -msgid "Save as new" -msgstr "Mentés újként" - -msgid "Save and add another" -msgstr "Mentés és másik hozzáadása" - -msgid "Save and continue editing" -msgstr "Mentés és a szerkesztés folytatása" - -msgid "Save and view" -msgstr "Mentés és megtekintés" - -msgid "Close" -msgstr "Bezárás" - -#, python-format -msgid "Change selected %(model)s" -msgstr "Kiválasztott %(model)s szerkesztése" - -#, python-format -msgid "Add another %(model)s" -msgstr "Újabb %(model)s hozzáadása" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Kiválasztott %(model)s törlése" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Köszönjük hogy egy kis időt eltöltött ma a honlapunkon." - -msgid "Log in again" -msgstr "Jelentkezzen be újra" - -msgid "Password change" -msgstr "Jelszó megváltoztatása" - -msgid "Your password was changed." -msgstr "Megváltozott a jelszava." - -msgid "" -"Please enter your old password, for security’s sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Kérjük a biztoság kedvéért adja meg a jelenlegi jelszavát, majd az újat, " -"kétszer, hogy biztosak lehessünk abban, hogy megfelelően gépelte be." - -msgid "Change my password" -msgstr "Jelszavam megváltoztatása" - -msgid "Password reset" -msgstr "Jelszó beállítása" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Jelszava beállításra került. Most már bejelentkezhet." - -msgid "Password reset confirmation" -msgstr "Jelszó beállítás megerősítése" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Írja be az új jelszavát kétszer, hogy megbizonyosodhassunk annak " -"helyességéről." - -msgid "New password:" -msgstr "Új jelszó:" - -msgid "Confirm password:" -msgstr "Jelszó megerősítése:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"A jelszóbeállító link érvénytelen. Ennek egyik oka az lehet, hogy már " -"felhasználták. Kérem indítson új jelszóbeállítást." - -msgid "" -"We’ve emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Amennyiben a megadott e-mail címhez tartozik fiók, elküldtük e-mailben a " -"leírást, hogy hogyan tudja megváltoztatni a jelszavát. Hamarosan meg kell " -"érkeznie." - -msgid "" -"If you don’t receive an email, please make sure you’ve entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Ha nem kapja meg a levelet, kérjük ellenőrizze, hogy a megfelelő e-mail " -"címet adta-e meg, illetve nézze meg a levélszemét mappában is." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"Azért kapja ezt az e-mailt, mert jelszavának visszaállítását kérte ezen a " -"weboldalon: %(site_name)s." - -msgid "Please go to the following page and choose a new password:" -msgstr "Kérjük látogassa meg a következő oldalt, és válasszon egy új jelszót:" - -msgid "Your username, in case you’ve forgotten:" -msgstr "A felhasználóneve, amennyiben nem emlékezne rá:" - -msgid "Thanks for using our site!" -msgstr "Köszönjük, hogy használta honlapunkat!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "%(site_name)s csapat" - -msgid "" -"Forgotten your password? Enter your email address below, and we’ll email " -"instructions for setting a new one." -msgstr "" -"Elfelejtette jelszavát? Adja meg az e-mail-címet, amellyel regisztrált " -"oldalunkon, és e-mailben elküldjük a leírását, hogy hogyan tud újat " -"beállítani." - -msgid "Email address:" -msgstr "E-mail cím:" - -msgid "Reset my password" -msgstr "Jelszavam törlése" - -msgid "All dates" -msgstr "Minden dátum" - -#, python-format -msgid "Select %s" -msgstr "%s kiválasztása" - -#, python-format -msgid "Select %s to change" -msgstr "Válasszon ki egyet a módosításhoz (%s)" - -#, python-format -msgid "Select %s to view" -msgstr "Válasszon ki egyet a megtekintéshez (%s)" - -msgid "Date:" -msgstr "Dátum:" - -msgid "Time:" -msgstr "Idő:" - -msgid "Lookup" -msgstr "Keresés" - -msgid "Currently:" -msgstr "Jelenleg:" - -msgid "Change:" -msgstr "Módosítás:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hu/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hu/LC_MESSAGES/djangojs.mo deleted file mode 100644 index bbac5b7e..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hu/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hu/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hu/LC_MESSAGES/djangojs.po deleted file mode 100644 index e7da2b41..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hu/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,221 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# András Veres-Szentkirályi, 2016,2020 -# Attila Nagy <>, 2012 -# Jannis Leidel , 2011 -# János R, 2011 -# Máté Őry , 2012 -# Szilveszter Farkas , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-11 20:56+0200\n" -"PO-Revision-Date: 2020-07-20 07:33+0000\n" -"Last-Translator: András Veres-Szentkirályi\n" -"Language-Team: Hungarian (http://www.transifex.com/django/django/language/" -"hu/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hu\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "Elérhető %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Ez az elérhető %s listája. Úgy választhat közülük, hogy rákattint az alábbi " -"dobozban, és megnyomja a dobozok közti \"Választás\" nyilat." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "Írjon a mezőbe az elérhető %s szűréséhez." - -msgid "Filter" -msgstr "Szűrő" - -msgid "Choose all" -msgstr "Mindet kijelölni" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Kattintson az összes %s kiválasztásához." - -msgid "Choose" -msgstr "Választás" - -msgid "Remove" -msgstr "Eltávolítás" - -#, javascript-format -msgid "Chosen %s" -msgstr "%s kiválasztva" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Ez a kiválasztott %s listája. Eltávolíthat közülük, ha rákattint, majd a két " -"doboz közti \"Eltávolítás\" nyílra kattint." - -msgid "Remove all" -msgstr "Összes törlése" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Kattintson az összes %s eltávolításához." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(sel)s/%(cnt)s kijelölve" -msgstr[1] "%(sel)s/%(cnt)s kijelölve" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Még el nem mentett módosításai vannak egyes szerkeszthető mezőkön. Ha most " -"futtat egy műveletet, akkor a módosítások elvesznek." - -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 "" -"Kiválasztott egy műveletet, de nem mentette az egyes mezőkhöz kapcsolódó " -"módosításait. Kattintson az OK gombra a mentéshez. Újra kell futtatnia az " -"műveletet." - -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 "" -"Kiválasztott egy műveletet, és nem módosított egyetlen mezőt sem. " -"Feltehetően a Mehet gombot keresi a Mentés helyett." - -msgid "Now" -msgstr "Most" - -msgid "Midnight" -msgstr "Éjfél" - -msgid "6 a.m." -msgstr "Reggel 6 óra" - -msgid "Noon" -msgstr "Dél" - -msgid "6 p.m." -msgstr "Este 6 óra" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Megjegyzés: %s órával a szerveridő előtt jársz" -msgstr[1] "Megjegyzés: %s órával a szerveridő előtt jársz" - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Megjegyzés: %s órával a szerveridő mögött jársz" -msgstr[1] "Megjegyzés: %s órával a szerveridő mögött jársz" - -msgid "Choose a Time" -msgstr "Válassza ki az időt" - -msgid "Choose a time" -msgstr "Válassza ki az időt" - -msgid "Cancel" -msgstr "Mégsem" - -msgid "Today" -msgstr "Ma" - -msgid "Choose a Date" -msgstr "Válassza ki a dátumot" - -msgid "Yesterday" -msgstr "Tegnap" - -msgid "Tomorrow" -msgstr "Holnap" - -msgid "January" -msgstr "január" - -msgid "February" -msgstr "február" - -msgid "March" -msgstr "március" - -msgid "April" -msgstr "április" - -msgid "May" -msgstr "május" - -msgid "June" -msgstr "június" - -msgid "July" -msgstr "július" - -msgid "August" -msgstr "augusztus" - -msgid "September" -msgstr "szeptember" - -msgid "October" -msgstr "október" - -msgid "November" -msgstr "november" - -msgid "December" -msgstr "december" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "V" - -msgctxt "one letter Monday" -msgid "M" -msgstr "H" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "K" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "S" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "C" - -msgctxt "one letter Friday" -msgid "F" -msgstr "P" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "S" - -msgid "Show" -msgstr "Mutat" - -msgid "Hide" -msgstr "Elrejt" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hy/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hy/LC_MESSAGES/django.mo deleted file mode 100644 index 1627b2d5..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hy/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hy/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hy/LC_MESSAGES/django.po deleted file mode 100644 index b39e1a72..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hy/LC_MESSAGES/django.po +++ /dev/null @@ -1,708 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Սմբատ Պետրոսյան , 2014 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-05-21 14:16-0300\n" -"PO-Revision-Date: 2018-11-01 20:23+0000\n" -"Last-Translator: Ruben Harutyunov \n" -"Language-Team: Armenian (http://www.transifex.com/django/django/language/" -"hy/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hy\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "Հաջողությամբ հեռացվել է %(count)d %(items)s։" - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "Հնարավոր չէ հեռացնել %(name)s" - -msgid "Are you sure?" -msgstr "Համոզված ե՞ք" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Հեռացնել նշված %(verbose_name_plural)sը" - -msgid "Administration" -msgstr "Ադմինիստրավորում" - -msgid "All" -msgstr "Բոլորը" - -msgid "Yes" -msgstr "Այո" - -msgid "No" -msgstr "Ոչ" - -msgid "Unknown" -msgstr "Անհայտ" - -msgid "Any date" -msgstr "Ցանկացած ամսաթիվ" - -msgid "Today" -msgstr "Այսօր" - -msgid "Past 7 days" -msgstr "Անցած 7 օրերին" - -msgid "This month" -msgstr "Այս ամիս" - -msgid "This year" -msgstr "Այս տարի" - -msgid "No date" -msgstr "" - -msgid "Has date" -msgstr "" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "Մուտքագրեք անձնակազմի պրոֆիլի ճիշտ %(username)s և գաղտնաբառ։" - -msgid "Action:" -msgstr "Գործողություն" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Ավելացնել այլ %(verbose_name)s" - -msgid "Remove" -msgstr "Հեռացնել" - -msgid "Addition" -msgstr "" - -msgid "Change" -msgstr "Փոփոխել" - -msgid "Deletion" -msgstr "" - -msgid "action time" -msgstr "գործողության ժամանակ" - -msgid "user" -msgstr "օգտագործող" - -msgid "content type" -msgstr "կոնտենտի տիպ" - -msgid "object id" -msgstr "օբյեկտի id" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/3/library/functions.html#repr) -msgid "object repr" -msgstr "օբյեկտի repr" - -msgid "action flag" -msgstr "գործողության դրոշ" - -msgid "change message" -msgstr "փոփոխել հաղորդագրությունը" - -msgid "log entry" -msgstr "log գրառում" - -msgid "log entries" -msgstr "log գրառումներ" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "%(object)s֊ը ավելացվեց " - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "%(object)s֊ը փոփոխվեց ֊ %(changes)s" - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "%(object)s-ը հեռացվեց" - -msgid "LogEntry Object" -msgstr "LogEntry օբյեկտ" - -#, python-brace-format -msgid "Added {name} \"{object}\"." -msgstr "" - -msgid "Added." -msgstr "Ավելացվեց։" - -msgid "and" -msgstr "և" - -#, python-brace-format -msgid "Changed {fields} for {name} \"{object}\"." -msgstr "" - -#, python-brace-format -msgid "Changed {fields}." -msgstr "" - -#, python-brace-format -msgid "Deleted {name} \"{object}\"." -msgstr "" - -msgid "No fields changed." -msgstr "Ոչ մի դաշտ չփոփոխվեց։" - -msgid "None" -msgstr "Ոչինչ" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" -"Սեղմեք \"Control\", կամ \"Command\" Mac֊ի մրա, մեկից ավելին ընտրելու համար։" - -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "" - -msgid "You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was changed successfully." -msgstr "" - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Օբյեկտների հետ գործողություն կատարելու համար նրանք պետք է ընտրվեն․ Ոչ մի " -"օբյեկտ չի փոփոխվել։" - -msgid "No action selected." -msgstr "Գործողությունը ընտրված չէ։" - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "%(name)s %(obj)s֊ը հաջողությամբ հեռացվեց։" - -#, python-format -msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" -msgstr "" - -#, python-format -msgid "Add %s" -msgstr "Ավելացնել %s" - -#, python-format -msgid "Change %s" -msgstr "Փոփոխել %s" - -#, python-format -msgid "View %s" -msgstr "" - -msgid "Database error" -msgstr "Տվյալների բազաի սխալ" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s հաջողությամբ փոփոխվեց։" -msgstr[1] "%(count)s %(name)s հաջողությամբ փոփոխվեցին։" - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "Ընտրված են %(total_count)s" -msgstr[1] "Բոլոր %(total_count)s֊ը ընտրված են " - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "%(cnt)s֊ից 0֊ն ընտրված է" - -#, python-format -msgid "Change history: %s" -msgstr "Փոփոխությունների պատմություն %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(instance)s %(class_name)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"%(instance)s %(class_name)s֊ը հեռացնելու համար անհրաժեշտ է հեռացնել նրա հետ " -"կապված պաշտպանված օբյեկտները՝ %(related_objects)s" - -msgid "Django site admin" -msgstr "Django կայքի ադմինիստրավորման էջ" - -msgid "Django administration" -msgstr "Django ադմինիստրավորում" - -msgid "Site administration" -msgstr "Կայքի ադմինիստրավորում" - -msgid "Log in" -msgstr "Մուտք" - -#, python-format -msgid "%(app)s administration" -msgstr "%(app)s ադմինիստրավորում" - -msgid "Page not found" -msgstr "Էջը գտնված չէ" - -msgid "We're sorry, but the requested page could not be found." -msgstr "Ներողություն ենք հայցում, բայց հարցվող Էջը գտնված չէ" - -msgid "Home" -msgstr "Գլխավոր" - -msgid "Server error" -msgstr "Սերվերի սխալ" - -msgid "Server error (500)" -msgstr "Սերվերի սխալ (500)" - -msgid "Server Error (500)" -msgstr "Սերվերի սխալ (500)" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"Առաջացել է սխալ։ Ադմինիստրատորները տեղեկացվել են դրա մասին էլեկտրոնային " -"փոստի միջոցով և այն կուղղվի կարճ ժամանակահատվածի ընդացքում․ Շնորհակալ ենք " -"ձեր համբերության համար։" - -msgid "Run the selected action" -msgstr "Կատարել ընտրված գործողությունը" - -msgid "Go" -msgstr "Կատարել" - -msgid "Click here to select the objects across all pages" -msgstr "Սեղմեք այստեղ բոլոր էջերից օբյեկտներ ընտրելու համար" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Ընտրել բոլոր %(total_count)s %(module_name)s" - -msgid "Clear selection" -msgstr "Չեղարկել ընտրությունը" - -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" -"Սկզբում մուտքագրեք օգտագործողի անունը և գաղտնաբառը․ Հետո դուք " -"հնարավորություն կունենաք խմբագրել ավելին։" - -msgid "Enter a username and password." -msgstr "Մուտքագրեք օգտագործողի անունը և գաղտնաբառը։" - -msgid "Change password" -msgstr "Փոխել գաղտնաբառը" - -msgid "Please correct the error below." -msgstr "Ուղղեք ստորև նշված սխալը։" - -msgid "Please correct the errors below." -msgstr "Ուղղեք ստորև նշված սխալները․" - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "" -"Մուտքագրեք նոր գաղտնաբառ %(username)s օգտագործողի համար։" - -msgid "Welcome," -msgstr "Բարի գալուստ, " - -msgid "View site" -msgstr "Դիտել կայքը" - -msgid "Documentation" -msgstr "Դոկումենտացիա" - -msgid "Log out" -msgstr "Դուրս գալ" - -#, python-format -msgid "Add %(name)s" -msgstr "Ավելացնել %(name)s" - -msgid "History" -msgstr "Պատմություն" - -msgid "View on site" -msgstr "Դիտել կայքում" - -msgid "Filter" -msgstr "Ֆիլտրել" - -msgid "Remove from sorting" -msgstr "Հեռացնել դասակարգումից" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Դասակարգման առաջնություն՝ %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Toggle sorting" - -msgid "Delete" -msgstr "Հեռացնել" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"%(object_name)s '%(escaped_object)s'֊ի հեռացումը կարող է հանգեցնել նրա հետ " -"կապված օբյեկտների հեռացմանը, բայց դուք չունեք իրավունք հեռացնել այդ տիպի " -"օբյեկտներ․" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"%(object_name)s '%(escaped_object)s'֊ը հեռացնելու համար կարող է անհրաժեշտ " -"լինել հեռացնել նրա հետ կապված պաշտպանված օբյեկտները։" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Համոզված ե՞ք, որ ուզում եք հեռացնել %(object_name)s \"%(escaped_object)s\"֊" -"ը։ նրա հետ կապված այս բոլոր օբյեկտները կհեռացվեն․" - -msgid "Objects" -msgstr "Օբյեկտներ" - -msgid "Yes, I'm sure" -msgstr "Այո, ես համոզված եմ" - -msgid "No, take me back" -msgstr "Ոչ, տարեք ենձ ետ" - -msgid "Delete multiple objects" -msgstr "Հեռացնել մի քանի օբյեկտ" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"%(objects_name)s֊ների հեռացումը կարող է հանգեցնել նրա հետ կապված օբյեկտների " -"հեռացմանը, բայց դուք չունեք իրավունք հեռացնել այդ տիպի օբյեկտներ․" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"%(objects_name)s֊ը հեռացնելու համար կարող է անհրաժեշտ լինել հեռացնել նրա հետ " -"կապված պաշտպանված օբյեկտները։" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Համոզված ե՞ք, որ ուզում եք հեռացնել նշված %(objects_name)s֊ները։ Այս բոլոր " -"օբյեկտները, ինչպես նաև նրանց հետ կապված օբյեկտները կհեռացվեն․" - -msgid "View" -msgstr "" - -msgid "Delete?" -msgstr "Հեռացնե՞լ" - -#, python-format -msgid " By %(filter_title)s " -msgstr "%(filter_title)s " - -msgid "Summary" -msgstr "Ամփոփում" - -#, python-format -msgid "Models in the %(name)s application" -msgstr " %(name)s հավելվածի մոդել" - -msgid "Add" -msgstr "Ավելացնել" - -msgid "You don't have permission to view or edit anything." -msgstr "" - -msgid "Recent actions" -msgstr "" - -msgid "My actions" -msgstr "" - -msgid "None available" -msgstr "Ոչինք չկա" - -msgid "Unknown content" -msgstr "Անհայտ կոնտենտ" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Ինչ֊որ բան այն չէ ձեր տվյալների բազայի հետ։ Համոզվեք, որ համապատասխան " -"աղյուսակները ստեղծվել են և համոզվեք, որ համապատասխան օգտագործողը կարող է " -"կարդալ բազան։" - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"Դուք մուտք եք գործել որպես %(username)s, բայց իրավունք չունեք դիտելու այս " -"էջը։ Ցանկանում ե՞ք մուտք գործել որպես այլ օգտագործող" - -msgid "Forgotten your password or username?" -msgstr "Մոռացել ե՞ք օգտագործողի անունը կամ գաղտնաբառը" - -msgid "Date/time" -msgstr "Ամսաթիվ/Ժամանակ" - -msgid "User" -msgstr "Օգտագործող" - -msgid "Action" -msgstr "Գործողություն" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" -"Այս օբյեկտը չունի փոփոխման պատմություն։ Այն հավանաբար ավելացված չէ " -"ադմինիստրավորման էջից։" - -msgid "Show all" -msgstr "Ցույց տալ բոլորը" - -msgid "Save" -msgstr "Պահպանել" - -msgid "Popup closing..." -msgstr "Ելնող պատուհանը փակվում է" - -#, python-format -msgid "Change selected %(model)s" -msgstr "Փոփոխել ընտրված %(model)s տիպի օբյեկտը" - -#, python-format -msgid "View selected %(model)s" -msgstr "" - -#, python-format -msgid "Add another %(model)s" -msgstr "Ավելացնել այլ %(model)s տիպի օբյեկտ" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Հեռացնել ընտրված %(model)s տիպի օբյեկտը" - -msgid "Search" -msgstr "Փնտրել" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s արդյունք" -msgstr[1] "%(counter)s արդյունքներ" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s ընդհանուր" - -msgid "Save as new" -msgstr "Պահպանել որպես նոր" - -msgid "Save and add another" -msgstr "Պահպանել և ավելացնել նորը" - -msgid "Save and continue editing" -msgstr "Պահպանել և շարունակել խմբագրել" - -msgid "Save and view" -msgstr "" - -msgid "Close" -msgstr "" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Շնորհակալություն մեր կայքում ինչ֊որ ժամանակ ծախսելու համար։" - -msgid "Log in again" -msgstr "Մուտք գործել նորից" - -msgid "Password change" -msgstr "Փոխել գաղտնաբառը" - -msgid "Your password was changed." -msgstr "Ձեր գաղտնաբառը փոխվել է" - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Մուտքագրեք ձեր հին գաղտնաբառը։ Անվտանգության նկատառումներով մուտքագրեք ձեր " -"նոր գաղտնաբառը երկու անգամ, որպեսզի մենք համոզված լինենք, որ այն ճիշտ է " -"հավաքված։" - -msgid "Change my password" -msgstr "Փոխել իմ գաղտնաբառը" - -msgid "Password reset" -msgstr "Գաղտնաբառի փոփոխում" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Ձեր գաղտնաբառը պահպանված է․ Կարող եք մուտք գործել։" - -msgid "Password reset confirmation" -msgstr "Գաղտնաբառի փոփոխման հաստատում" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Մուտքագրեք ձեր նոր գաղտնաբառը երկու անգամ, որպեսզի մենք համոզված լինենք, որ " -"այն ճիշտ է հավաքված։" - -msgid "New password:" -msgstr "Նոր գաղտնաբառ․" - -msgid "Confirm password:" -msgstr "Նոր գաղտնաբառը նորից․" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Գաղտնաբառի փոփոխման հղում է սխալ է, հավանաբար այն արդեն օգտագործվել է․ Դուք " -"կարող եք ստանալ նոր հղում։" - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Մենք ուղարկեցինք ձեր էլեկտրոնային փոստի հասցեին գաղտնաբառը փոփոխելու " -"հրահանգներ․ Դուք շուտով կստանաք դրանք։" - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Եթե դուք չեք ստացել էլեկտրոնային նամակ, համոզվեք, որ հավաքել եք այն հասցեն, " -"որով գրանցվել եք և ստուգեք ձեր սպամի թղթապանակը։" - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"Դուք ստացել եք այս նամակը, քանի որ ցանկացել եք փոխել ձեր գաղտնաբառը " -"%(site_name)s կայքում։" - -msgid "Please go to the following page and choose a new password:" -msgstr "Բացեք հետևյալ էջը և ընտրեք նոր գաղտնաբառ։" - -msgid "Your username, in case you've forgotten:" -msgstr "Եթե դուք մոռացել եք ձեր օգտագործողի անունը․" - -msgid "Thanks for using our site!" -msgstr "Շնորհակալություն մեր կայքից օգտվելու համար։" - -#, python-format -msgid "The %(site_name)s team" -msgstr "%(site_name)s կայքի թիմ" - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" -"Մոռացել ե՞ք ձեր գաղտնաբառը Մուտքագրեք ձեր էլեկտրոնային փոստի հասցեն և մենք " -"կուղարկենք ձեզ հրահանգներ նորը ստանալու համար։" - -msgid "Email address:" -msgstr "Email հասցե․" - -msgid "Reset my password" -msgstr "Փոխել գաղտնաբառը" - -msgid "All dates" -msgstr "Բոլոր ամսաթվերը" - -#, python-format -msgid "Select %s" -msgstr "Ընտրեք %s" - -#, python-format -msgid "Select %s to change" -msgstr "Ընտրեք %s փոխելու համար" - -#, python-format -msgid "Select %s to view" -msgstr "" - -msgid "Date:" -msgstr "Ամսաթիվ․" - -msgid "Time:" -msgstr "Ժամանակ․" - -msgid "Lookup" -msgstr "Որոնում" - -msgid "Currently:" -msgstr "Հիմա․" - -msgid "Change:" -msgstr "Փոփոխել" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hy/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hy/LC_MESSAGES/djangojs.mo deleted file mode 100644 index b9a8fa2c..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hy/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hy/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hy/LC_MESSAGES/djangojs.po deleted file mode 100644 index e209f542..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/hy/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,219 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Ruben Harutyunov , 2018 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-05-17 11:50+0200\n" -"PO-Revision-Date: 2019-01-15 10:40+0100\n" -"Last-Translator: Ruben Harutyunov \n" -"Language-Team: Armenian (http://www.transifex.com/django/django/language/" -"hy/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hy\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "Հասանելի %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Սա հասանելի %s ցուցակ է։ Դուք կարող եք ընտրել նրանցից որոշները ընտրելով " -"դրանք ստորև գտնվող վանդակում և սեղմելով երկու վանդակների միջև գտնվող \"Ընտրել" -"\" սլաքը։" - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "Մուտքագրեք այս դաշտում հասանելի %s ցուցակը ֆիլտրելու համար։" - -msgid "Filter" -msgstr "Ֆիլտրել" - -msgid "Choose all" -msgstr "Ընտրել բոլորը" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Սեղմեք բոլոր %sը ընտրելու համար։" - -msgid "Choose" -msgstr "Ընտրել" - -msgid "Remove" -msgstr "Հեռացնել" - -#, javascript-format -msgid "Chosen %s" -msgstr "Ընտրված %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Սա հասանելի %sի ցուցակ է։ Դուք կարող եք հեռացնել նրանցից որոշները ընտրելով " -"դրանք ստորև գտնվող վանդակում և սեղմելով երկու վանդակների միջև գտնվող " -"\"Հեռացնել\" սլաքը։" - -msgid "Remove all" -msgstr "Հեռացնել բոլորը" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Սեղմեք բոլոր %sը հեռացնելու համար։" - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "Ընտրված է %(cnt)s-ից %(sel)s-ը" -msgstr[1] "Ընտրված է %(cnt)s-ից %(sel)s-ը" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Դուք ունեք չպահպանված անհատական խմբագրելի դաշտեր։ Եթե դուք կատարեք " -"գործողությունը, ձեր չպահպանված փոփոխությունները կկորեն։" - -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 "" -"Դուք ընտրել եք գործողություն, բայց դեռ չեք պահպանել անհատական խմբագրելի " -"դաշտերի փոփոխությունները Սեղմեք OK պահպանելու համար։ Անհրաժեշտ կլինի " -"վերագործարկել գործողությունը" - -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 "" -"Դուք ընտրել եք գործողություն, բայց դեռ չեք կատարել որևէ անհատական խմբագրելի " -"դաշտերի փոփոխություն Ձեզ հավանաբար պետք է Կատարել կոճակը, Պահպանել կոճակի " -"փոխարեն" - -msgid "Now" -msgstr "Հիմա" - -msgid "Midnight" -msgstr "Կեսգիշեր" - -msgid "6 a.m." -msgstr "6 a.m." - -msgid "Noon" -msgstr "Կեսօր" - -msgid "6 p.m." -msgstr "6 p.m." - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Ձեր ժամը առաջ է սերվերի ժամանակից %s ժամով" -msgstr[1] "Ձեր ժամը առաջ է սերվերի ժամանակից %s ժամով" - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Ձեր ժամը հետ է սերվերի ժամանակից %s ժամով" -msgstr[1] "Ձեր ժամը հետ է սերվերի ժամանակից %s ժամով" - -msgid "Choose a Time" -msgstr "Ընտրեք ժամանակ" - -msgid "Choose a time" -msgstr "Ընտրեք ժամանակ" - -msgid "Cancel" -msgstr "Չեղարկել" - -msgid "Today" -msgstr "Այսօր" - -msgid "Choose a Date" -msgstr "Ընտրեք ամսաթիվ" - -msgid "Yesterday" -msgstr "Երեկ" - -msgid "Tomorrow" -msgstr "Վաղը" - -msgid "January" -msgstr "Հունվար" - -msgid "February" -msgstr "Փետրվար" - -msgid "March" -msgstr "Մարտ" - -msgid "April" -msgstr "Ապրիլ" - -msgid "May" -msgstr "Մայիս" - -msgid "June" -msgstr "Հունիս" - -msgid "July" -msgstr "Հուլիս" - -msgid "August" -msgstr "Օգոստոս" - -msgid "September" -msgstr "Սեպտեմբեր" - -msgid "October" -msgstr "Հոկտեմբեր" - -msgid "November" -msgstr "Նոյեմբեր" - -msgid "December" -msgstr "Դեկտեմբեր" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "Կ" - -msgctxt "one letter Monday" -msgid "M" -msgstr "Ե" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "Ե" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "Չ" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "Հ" - -msgctxt "one letter Friday" -msgid "F" -msgstr "ՈՒ" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "Շ" - -msgid "Show" -msgstr "Ցույց տալ" - -msgid "Hide" -msgstr "Թաքցնել" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ia/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ia/LC_MESSAGES/django.mo deleted file mode 100644 index 06ddd422..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ia/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ia/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ia/LC_MESSAGES/django.po deleted file mode 100644 index f7986c9b..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ia/LC_MESSAGES/django.po +++ /dev/null @@ -1,664 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Martijn Dekker , 2012 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-09-19 16:41+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Interlingua (http://www.transifex.com/django/django/language/" -"ia/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ia\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "%(count)d %(items)s delite con successo." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "Non pote deler %(name)s" - -msgid "Are you sure?" -msgstr "Es tu secur?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Deler le %(verbose_name_plural)s seligite" - -msgid "Administration" -msgstr "" - -msgid "All" -msgstr "Totes" - -msgid "Yes" -msgstr "Si" - -msgid "No" -msgstr "No" - -msgid "Unknown" -msgstr "Incognite" - -msgid "Any date" -msgstr "Omne data" - -msgid "Today" -msgstr "Hodie" - -msgid "Past 7 days" -msgstr "Ultime 7 dies" - -msgid "This month" -msgstr "Iste mense" - -msgid "This year" -msgstr "Iste anno" - -msgid "No date" -msgstr "" - -msgid "Has date" -msgstr "" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" - -msgid "Action:" -msgstr "Action:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Adder un altere %(verbose_name)s" - -msgid "Remove" -msgstr "Remover" - -msgid "action time" -msgstr "hora de action" - -msgid "user" -msgstr "" - -msgid "content type" -msgstr "" - -msgid "object id" -msgstr "id de objecto" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/3/library/functions.html#repr) -msgid "object repr" -msgstr "repr de objecto" - -msgid "action flag" -msgstr "marca de action" - -msgid "change message" -msgstr "message de cambio" - -msgid "log entry" -msgstr "entrata de registro" - -msgid "log entries" -msgstr "entratas de registro" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "\"%(object)s\" addite." - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "\"%(object)s\" cambiate - %(changes)s" - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "\"%(object)s\" delite." - -msgid "LogEntry Object" -msgstr "Objecto LogEntry" - -#, python-brace-format -msgid "Added {name} \"{object}\"." -msgstr "" - -msgid "Added." -msgstr "" - -msgid "and" -msgstr "e" - -#, python-brace-format -msgid "Changed {fields} for {name} \"{object}\"." -msgstr "" - -#, python-brace-format -msgid "Changed {fields}." -msgstr "" - -#, python-brace-format -msgid "Deleted {name} \"{object}\"." -msgstr "" - -msgid "No fields changed." -msgstr "Nulle campo cambiate." - -msgid "None" -msgstr "Nulle" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was changed successfully." -msgstr "" - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Es necessari seliger elementos pro poter exequer actiones. Nulle elemento ha " -"essite cambiate." - -msgid "No action selected." -msgstr "Nulle action seligite." - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "Le %(name)s \"%(obj)s\" ha essite delite con successo." - -#, python-format -msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" -msgstr "" - -#, python-format -msgid "Add %s" -msgstr "Adder %s" - -#, python-format -msgid "Change %s" -msgstr "Cambiar %s" - -msgid "Database error" -msgstr "Error in le base de datos" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s cambiate con successo." -msgstr[1] "%(count)s %(name)s cambiate con successo." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s seligite" -msgstr[1] "Tote le %(total_count)s seligite" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "0 de %(cnt)s seligite" - -#, python-format -msgid "Change history: %s" -msgstr "Historia de cambiamentos: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" - -msgid "Django site admin" -msgstr "Administration del sito Django" - -msgid "Django administration" -msgstr "Administration de Django" - -msgid "Site administration" -msgstr "Administration del sito" - -msgid "Log in" -msgstr "Aperir session" - -#, python-format -msgid "%(app)s administration" -msgstr "" - -msgid "Page not found" -msgstr "Pagina non trovate" - -msgid "We're sorry, but the requested page could not be found." -msgstr "Regrettabilemente, le pagina requestate non poteva esser trovate." - -msgid "Home" -msgstr "Initio" - -msgid "Server error" -msgstr "Error del servitor" - -msgid "Server error (500)" -msgstr "Error del servitor (500)" - -msgid "Server Error (500)" -msgstr "Error del servitor (500)" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" - -msgid "Run the selected action" -msgstr "Exequer le action seligite" - -msgid "Go" -msgstr "Va" - -msgid "Click here to select the objects across all pages" -msgstr "Clicca hic pro seliger le objectos in tote le paginas" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Seliger tote le %(total_count)s %(module_name)s" - -msgid "Clear selection" -msgstr "Rader selection" - -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" -"Primo, specifica un nomine de usator e un contrasigno. Postea, tu potera " -"modificar plus optiones de usator." - -msgid "Enter a username and password." -msgstr "Specifica un nomine de usator e un contrasigno." - -msgid "Change password" -msgstr "Cambiar contrasigno" - -msgid "Please correct the error below." -msgstr "Per favor corrige le errores sequente." - -msgid "Please correct the errors below." -msgstr "" - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "" -"Specifica un nove contrasigno pro le usator %(username)s." - -msgid "Welcome," -msgstr "Benvenite," - -msgid "View site" -msgstr "" - -msgid "Documentation" -msgstr "Documentation" - -msgid "Log out" -msgstr "Clauder session" - -#, python-format -msgid "Add %(name)s" -msgstr "Adder %(name)s" - -msgid "History" -msgstr "Historia" - -msgid "View on site" -msgstr "Vider in sito" - -msgid "Filter" -msgstr "Filtro" - -msgid "Remove from sorting" -msgstr "Remover del ordination" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Prioritate de ordination: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Alternar le ordination" - -msgid "Delete" -msgstr "Deler" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Deler le %(object_name)s '%(escaped_object)s' resultarea in le deletion de " -"objectos associate, me tu conto non ha le permission de deler objectos del " -"sequente typos:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"Deler le %(object_name)s '%(escaped_object)s' necessitarea le deletion del " -"sequente objectos associate protegite:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Es tu secur de voler deler le %(object_name)s \"%(escaped_object)s\"? Tote " -"le sequente objectos associate essera delite:" - -msgid "Objects" -msgstr "" - -msgid "Yes, I'm sure" -msgstr "Si, io es secur" - -msgid "No, take me back" -msgstr "" - -msgid "Delete multiple objects" -msgstr "Deler plure objectos" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Deler le %(objects_name)s seligite resultarea in le deletion de objectos " -"associate, ma tu conto non ha le permission de deler objectos del sequente " -"typos:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Deler le %(objects_name)s seligite necessitarea le deletion del sequente " -"objectos associate protegite:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Es tu secur de voler deler le %(objects_name)s seligite? Tote le sequente " -"objectos e le objectos associate a illo essera delite:" - -msgid "Change" -msgstr "Cambiar" - -msgid "Delete?" -msgstr "Deler?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " Per %(filter_title)s " - -msgid "Summary" -msgstr "" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "" - -msgid "Add" -msgstr "Adder" - -msgid "You don't have permission to edit anything." -msgstr "Tu non ha le permission de modificar alcun cosa." - -msgid "Recent actions" -msgstr "" - -msgid "My actions" -msgstr "" - -msgid "None available" -msgstr "Nihil disponibile" - -msgid "Unknown content" -msgstr "Contento incognite" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Il ha un problema con le installation del base de datos. Assecura te que le " -"tabellas correcte ha essite create, e que le base de datos es legibile pro " -"le usator appropriate." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" - -msgid "Forgotten your password or username?" -msgstr "Contrasigno o nomine de usator oblidate?" - -msgid "Date/time" -msgstr "Data/hora" - -msgid "User" -msgstr "Usator" - -msgid "Action" -msgstr "Action" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" -"Iste objecto non ha un historia de cambiamentos. Illo probabilemente non " -"esseva addite per medio de iste sito administrative." - -msgid "Show all" -msgstr "Monstrar toto" - -msgid "Save" -msgstr "Salveguardar" - -msgid "Popup closing..." -msgstr "" - -#, python-format -msgid "Change selected %(model)s" -msgstr "" - -#, python-format -msgid "Add another %(model)s" -msgstr "" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "" - -msgid "Search" -msgstr "Cercar" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s resultato" -msgstr[1] "%(counter)s resultatos" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s in total" - -msgid "Save as new" -msgstr "Salveguardar como nove" - -msgid "Save and add another" -msgstr "Salveguardar e adder un altere" - -msgid "Save and continue editing" -msgstr "Salveguardar e continuar le modification" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Gratias pro haber passate un tempore agradabile con iste sito web." - -msgid "Log in again" -msgstr "Aperir session de novo" - -msgid "Password change" -msgstr "Cambio de contrasigno" - -msgid "Your password was changed." -msgstr "Tu contrasigno ha essite cambiate." - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Per favor specifica tu ancian contrasigno, pro securitate, e postea " -"specifica tu nove contrasigno duo vices pro verificar que illo es scribite " -"correctemente." - -msgid "Change my password" -msgstr "Cambiar mi contrasigno" - -msgid "Password reset" -msgstr "Reinitialisar contrasigno" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Tu contrasigno ha essite reinitialisate. Ora tu pote aperir session." - -msgid "Password reset confirmation" -msgstr "Confirmation de reinitialisation de contrasigno" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Per favor scribe le nove contrasigno duo vices pro verificar que illo es " -"scribite correctemente." - -msgid "New password:" -msgstr "Nove contrasigno:" - -msgid "Confirm password:" -msgstr "Confirma contrasigno:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Le ligamine pro le reinitialisation del contrasigno esseva invalide, forsan " -"perque illo ha jam essite usate. Per favor submitte un nove demanda de " -"reinitialisation del contrasigno." - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" - -msgid "Please go to the following page and choose a new password:" -msgstr "Per favor va al sequente pagina pro eliger un nove contrasigno:" - -msgid "Your username, in case you've forgotten:" -msgstr "Tu nomine de usator, in caso que tu lo ha oblidate:" - -msgid "Thanks for using our site!" -msgstr "Gratias pro usar nostre sito!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "Le equipa de %(site_name)s" - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" - -msgid "Email address:" -msgstr "" - -msgid "Reset my password" -msgstr "Reinitialisar mi contrasigno" - -msgid "All dates" -msgstr "Tote le datas" - -#, python-format -msgid "Select %s" -msgstr "Selige %s" - -#, python-format -msgid "Select %s to change" -msgstr "Selige %s a modificar" - -msgid "Date:" -msgstr "Data:" - -msgid "Time:" -msgstr "Hora:" - -msgid "Lookup" -msgstr "Recerca" - -msgid "Currently:" -msgstr "" - -msgid "Change:" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ia/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ia/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 4c9eccce..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ia/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ia/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ia/LC_MESSAGES/djangojs.po deleted file mode 100644 index 82850978..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ia/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,216 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Martijn Dekker , 2012 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" -"PO-Revision-Date: 2017-09-19 16:41+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Interlingua (http://www.transifex.com/django/django/language/" -"ia/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ia\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "%s disponibile" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Ecce le lista de %s disponibile. Tu pote seliger alcunes in le quadro " -"sequente; postea clicca le flecha \"Seliger\" inter le duo quadros." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "Scribe in iste quadro pro filtrar le lista de %s disponibile." - -msgid "Filter" -msgstr "Filtrar" - -msgid "Choose all" -msgstr "Seliger totes" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Clicca pro seliger tote le %s immediatemente." - -msgid "Choose" -msgstr "Seliger" - -msgid "Remove" -msgstr "Remover" - -#, javascript-format -msgid "Chosen %s" -msgstr "Le %s seligite" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Ecce le lista de %s seligite. Tu pote remover alcunes per seliger los in le " -"quadro sequente e cliccar le flecha \"Remover\" inter le duo quadros." - -msgid "Remove all" -msgstr "Remover totes" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Clicca pro remover tote le %s seligite immediatemente." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(sel)s de %(cnt)s seligite" -msgstr[1] "%(sel)s de %(cnt)s seligite" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Il ha cambiamentos non salveguardate in certe campos modificabile. Si tu " -"exeque un action, iste cambiamentos essera perdite." - -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 "" -"Tu ha seligite un action, ma tu non ha salveguardate le cambiamentos in " -"certe campos. Per favor clicca OK pro salveguardar los. Tu debera re-exequer " -"le action." - -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 "" -"Tu ha seligite un action, e tu non ha facite cambiamentos in alcun campo. Tu " -"probabilemente cerca le button Va e non le button Salveguardar." - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "" -msgstr[1] "" - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "" -msgstr[1] "" - -msgid "Now" -msgstr "Ora" - -msgid "Choose a Time" -msgstr "" - -msgid "Choose a time" -msgstr "Selige un hora" - -msgid "Midnight" -msgstr "Medienocte" - -msgid "6 a.m." -msgstr "6 a.m." - -msgid "Noon" -msgstr "Mediedie" - -msgid "6 p.m." -msgstr "" - -msgid "Cancel" -msgstr "Cancellar" - -msgid "Today" -msgstr "Hodie" - -msgid "Choose a Date" -msgstr "" - -msgid "Yesterday" -msgstr "Heri" - -msgid "Tomorrow" -msgstr "Deman" - -msgid "January" -msgstr "" - -msgid "February" -msgstr "" - -msgid "March" -msgstr "" - -msgid "April" -msgstr "" - -msgid "May" -msgstr "" - -msgid "June" -msgstr "" - -msgid "July" -msgstr "" - -msgid "August" -msgstr "" - -msgid "September" -msgstr "" - -msgid "October" -msgstr "" - -msgid "November" -msgstr "" - -msgid "December" -msgstr "" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "" - -msgctxt "one letter Monday" -msgid "M" -msgstr "" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "" - -msgctxt "one letter Friday" -msgid "F" -msgstr "" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "" - -msgid "Show" -msgstr "Monstrar" - -msgid "Hide" -msgstr "Celar" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/id/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/id/LC_MESSAGES/django.mo deleted file mode 100644 index 8b739391..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/id/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/id/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/id/LC_MESSAGES/django.po deleted file mode 100644 index 984e0a34..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/id/LC_MESSAGES/django.po +++ /dev/null @@ -1,711 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Claude Paroz , 2014 -# Fery Setiawan , 2015-2019 -# Jannis Leidel , 2011 -# M Asep Indrayana , 2015 -# oon arfiandwi , 2016 -# rodin , 2011-2013 -# rodin , 2013-2017 -# sage , 2019 -# Sutrisno Efendi , 2015 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-08 17:27+0200\n" -"PO-Revision-Date: 2019-11-18 13:06+0000\n" -"Last-Translator: sage \n" -"Language-Team: Indonesian (http://www.transifex.com/django/django/language/" -"id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "Sukses menghapus %(count)d %(items)s." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "Tidak dapat menghapus %(name)s" - -msgid "Are you sure?" -msgstr "Yakin?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Hapus %(verbose_name_plural)s yang dipilih" - -msgid "Administration" -msgstr "Administrasi" - -msgid "All" -msgstr "Semua" - -msgid "Yes" -msgstr "Ya" - -msgid "No" -msgstr "Tidak" - -msgid "Unknown" -msgstr "Tidak diketahui" - -msgid "Any date" -msgstr "Kapanpun" - -msgid "Today" -msgstr "Hari ini" - -msgid "Past 7 days" -msgstr "Tujuh hari terakhir" - -msgid "This month" -msgstr "Bulan ini" - -msgid "This year" -msgstr "Tahun ini" - -msgid "No date" -msgstr "Tidak ada tanggal" - -msgid "Has date" -msgstr "Ada tanggal" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Masukkan nama pengguna %(username)s dan sandi yang benar untuk akun staf. " -"Huruf besar/kecil pada bidang ini berpengaruh." - -msgid "Action:" -msgstr "Aksi:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Tambahkan %(verbose_name)s lagi" - -msgid "Remove" -msgstr "Hapus" - -msgid "Addition" -msgstr "Tambahan" - -msgid "Change" -msgstr "Ubah" - -msgid "Deletion" -msgstr "Penghapusan" - -msgid "action time" -msgstr "waktu aksi" - -msgid "user" -msgstr "pengguna" - -msgid "content type" -msgstr "jenis isi" - -msgid "object id" -msgstr "id objek" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "representasi objek" - -msgid "action flag" -msgstr "jenis aksi" - -msgid "change message" -msgstr "ganti pesan" - -msgid "log entry" -msgstr "entri pencatatan" - -msgid "log entries" -msgstr "entri pencatatan" - -#, python-format -msgid "Added “%(object)s”." -msgstr "“%(object)s” ditambahkan." - -#, python-format -msgid "Changed “%(object)s” — %(changes)s" -msgstr "“%(object)s” diubah — %(changes)s" - -#, python-format -msgid "Deleted “%(object)s.”" -msgstr "“%(object)s” dihapus." - -msgid "LogEntry Object" -msgstr "Objek LogEntry" - -#, python-brace-format -msgid "Added {name} “{object}”." -msgstr "{name} “{object}” ditambahkan." - -msgid "Added." -msgstr "Ditambahkan." - -msgid "and" -msgstr "dan" - -#, python-brace-format -msgid "Changed {fields} for {name} “{object}”." -msgstr "{fields} diubah untuk {name} “{object}”." - -#, python-brace-format -msgid "Changed {fields}." -msgstr "{fields} berubah." - -#, python-brace-format -msgid "Deleted {name} “{object}”." -msgstr "{name} “{object}” dihapus." - -msgid "No fields changed." -msgstr "Tidak ada bidang yang berubah." - -msgid "None" -msgstr "None" - -msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." -msgstr "" -"Tekan “Control”, atau “Command” pada Mac, untuk memilih lebih dari satu." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully." -msgstr "{name} “{obj}” berhasil ditambahkan." - -msgid "You may edit it again below." -msgstr "Anda dapat menyunting itu kembali di bawah." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was added successfully. You may add another {name} below." -msgstr "" -"{name} “{obj}” berhasil ditambahkan. Anda dapat menambahkan {name} lain di " -"bawah." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may edit it again below." -msgstr "" -"{name} “{obj}” berhasil diubah. Anda dapat mengeditnya kembali di bawah." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully. You may edit it again below." -msgstr "" -"{name} “{obj}” berhasil ditambahkan. Anda dapat mengeditnya kembali di bawah." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may add another {name} " -"below." -msgstr "" -"{name} “{obj}” berhasil diubah. Anda dapat menambahkan {name} lain di bawah." - -#, python-brace-format -msgid "The {name} “{obj}” was changed successfully." -msgstr "{name} “{obj}” berhasil diubah." - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Objek harus dipilih sebelum dimanipulasi. Tidak ada objek yang berubah." - -msgid "No action selected." -msgstr "Tidak ada aksi yang dipilih." - -#, python-format -msgid "The %(name)s “%(obj)s” was deleted successfully." -msgstr "%(name)s “%(obj)s” berhasil dihapus." - -#, python-format -msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" -msgstr "%(name)s dengan ID “%(key)s” tidak ada. Mungkin telah dihapus?" - -#, python-format -msgid "Add %s" -msgstr "Tambahkan %s" - -#, python-format -msgid "Change %s" -msgstr "Ubah %s" - -#, python-format -msgid "View %s" -msgstr "Lihat %s" - -msgid "Database error" -msgstr "Galat basis data" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s berhasil diubah." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s dipilih" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "0 dari %(cnt)s dipilih" - -#, python-format -msgid "Change history: %s" -msgstr "Ubah riwayat: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"Menghapus %(class_name)s %(instance)s memerlukan penghapusanobjek " -"terlindungi yang terkait sebagai berikut: %(related_objects)s" - -msgid "Django site admin" -msgstr "Admin situs Django" - -msgid "Django administration" -msgstr "Administrasi Django" - -msgid "Site administration" -msgstr "Administrasi situs" - -msgid "Log in" -msgstr "Masuk" - -#, python-format -msgid "%(app)s administration" -msgstr "Administrasi %(app)s" - -msgid "Page not found" -msgstr "Laman tidak ditemukan" - -msgid "We’re sorry, but the requested page could not be found." -msgstr "Maaf, laman yang Anda minta tidak ditemukan." - -msgid "Home" -msgstr "Beranda" - -msgid "Server error" -msgstr "Galat server" - -msgid "Server error (500)" -msgstr "Galat server (500)" - -msgid "Server Error (500)" -msgstr "Galat Server (500)" - -msgid "" -"There’s been an error. It’s been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"Terjadi sebuah galat dan telah dilaporkan ke administrator situs melalui " -"surel untuk diperbaiki. Terima kasih atas pengertian Anda." - -msgid "Run the selected action" -msgstr "Jalankan aksi terpilih" - -msgid "Go" -msgstr "Buka" - -msgid "Click here to select the objects across all pages" -msgstr "Klik di sini untuk memilih semua objek pada semua laman" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Pilih seluruh %(total_count)s %(module_name)s" - -msgid "Clear selection" -msgstr "Bersihkan pilihan" - -msgid "" -"First, enter a username and password. Then, you’ll be able to edit more user " -"options." -msgstr "" -"Pertama-tama, masukkan nama pengguna dan sandi. Anda akan dapat mengubah " -"opsi pengguna lebih lengkap setelah itu." - -msgid "Enter a username and password." -msgstr "Masukkan nama pengguna dan sandi." - -msgid "Change password" -msgstr "Ganti sandi" - -msgid "Please correct the error below." -msgstr "Mohon perbaiki kesalahan di bawah ini." - -msgid "Please correct the errors below." -msgstr "Perbaiki galat di bawah ini." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "Masukkan sandi baru untuk pengguna %(username)s." - -msgid "Welcome," -msgstr "Selamat datang," - -msgid "View site" -msgstr "Lihat situs" - -msgid "Documentation" -msgstr "Dokumentasi" - -msgid "Log out" -msgstr "Keluar" - -#, python-format -msgid "Add %(name)s" -msgstr "Tambahkan %(name)s" - -msgid "History" -msgstr "Riwayat" - -msgid "View on site" -msgstr "Lihat di situs" - -msgid "Filter" -msgstr "Filter" - -msgid "Remove from sorting" -msgstr "Dihapus dari pengurutan" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Prioritas pengurutan: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Ubah pengurutan" - -msgid "Delete" -msgstr "Hapus" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Menghapus %(object_name)s '%(escaped_object)s' akan menghapus objek lain " -"yang terkait, tetapi akun Anda tidak memiliki izin untuk menghapus objek " -"dengan tipe berikut:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"Menghapus %(object_name)s '%(escaped_object)s' memerlukan penghapusan objek " -"terlindungi yang terkait sebagai berikut:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Yakin ingin menghapus %(object_name)s \"%(escaped_object)s\"? Semua objek " -"lain yang terkait juga akan dihapus:" - -msgid "Objects" -msgstr "Objek" - -msgid "Yes, I’m sure" -msgstr "Ya, saya yakin" - -msgid "No, take me back" -msgstr "Tidak, bawa saya kembali" - -msgid "Delete multiple objects" -msgstr "Hapus beberapa objek sekaligus" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Menghapus %(objects_name)s terpilih akan menghapus objek yang terkait, " -"tetapi akun Anda tidak memiliki izin untuk menghapus objek dengan tipe " -"berikut:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Menghapus %(objects_name)s terpilih memerlukan penghapusan objek terlindungi " -"yang terkait sebagai berikut:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Yakin akan menghapus %(objects_name)s terpilih? Semua objek berikut beserta " -"objek terkait juga akan dihapus:" - -msgid "View" -msgstr "Lihat" - -msgid "Delete?" -msgstr "Hapus?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " Berdasarkan %(filter_title)s " - -msgid "Summary" -msgstr "Ringkasan" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "Model pada aplikasi %(name)s" - -msgid "Add" -msgstr "Tambah" - -msgid "You don’t have permission to view or edit anything." -msgstr "Anda tidak memiliki izin untuk melihat atau mengedit apa pun." - -msgid "Recent actions" -msgstr "Tindakan terbaru" - -msgid "My actions" -msgstr "Tindakan saya" - -msgid "None available" -msgstr "Tidak ada yang tersedia" - -msgid "Unknown content" -msgstr "Konten tidak diketahui" - -msgid "" -"Something’s wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Ada masalah dengan instalasi basis data Anda. Pastikan tabel yang sesuai " -"pada basis data telah dibuat dan dapat dibaca oleh pengguna yang sesuai." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"Anda diautentikasi sebagai %(username)s, tapi tidak diperbolehkan untuk " -"mengakses halaman ini. Ingin mencoba mengakses menggunakan akun yang lain?" - -msgid "Forgotten your password or username?" -msgstr "Lupa nama pengguna atau sandi?" - -msgid "Date/time" -msgstr "Tanggal/waktu" - -msgid "User" -msgstr "Pengguna" - -msgid "Action" -msgstr "Aksi" - -msgid "" -"This object doesn’t have a change history. It probably wasn’t added via this " -"admin site." -msgstr "" -"Objek ini tidak memiliki riwayat perubahan. Mungkin objek ini tidak " -"ditambahkan melalui situs administrasi ini." - -msgid "Show all" -msgstr "Tampilkan semua" - -msgid "Save" -msgstr "Simpan" - -msgid "Popup closing…" -msgstr "Menutup jendela sembulan..." - -msgid "Search" -msgstr "Cari" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s buah" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s total" - -msgid "Save as new" -msgstr "Simpan sebagai baru" - -msgid "Save and add another" -msgstr "Simpan dan tambahkan lagi" - -msgid "Save and continue editing" -msgstr "Simpan dan terus mengedit" - -msgid "Save and view" -msgstr "Simpan dan tampilkan" - -msgid "Close" -msgstr "Tutup" - -#, python-format -msgid "Change selected %(model)s" -msgstr "Ubah %(model)s yang dipilih" - -#, python-format -msgid "Add another %(model)s" -msgstr "Tambahkan %(model)s yang lain" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Hapus %(model)s yang dipilih" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Terima kasih telah menggunakan situs ini hari ini." - -msgid "Log in again" -msgstr "Masuk kembali" - -msgid "Password change" -msgstr "Ubah sandi" - -msgid "Your password was changed." -msgstr "Sandi Anda telah diubah." - -msgid "" -"Please enter your old password, for security’s sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Masukkan sandi lama Anda, demi alasan keamanan, dan masukkan sandi baru Anda " -"dua kali untuk memastikan Anda tidak salah mengetikkannya." - -msgid "Change my password" -msgstr "Ubah sandi saya" - -msgid "Password reset" -msgstr "Setel ulang sandi" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Sandi Anda telah diperbarui. Silakan masuk." - -msgid "Password reset confirmation" -msgstr "Konfirmasi penyetelan ulang sandi" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Masukkan sandi baru dua kali untuk memastikan Anda tidak salah " -"mengetikkannya." - -msgid "New password:" -msgstr "Sandi baru:" - -msgid "Confirm password:" -msgstr "Konfirmasi sandi:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Tautan penyetelan ulang sandi tidak valid. Kemungkinan karena tautan " -"tersebut telah dipakai sebelumnya. Ajukan permintaan penyetelan sandi sekali " -"lagi." - -msgid "" -"We’ve emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Kami telah mengirimi Anda surel berisi petunjuk untuk mengatur sandi Anda, " -"jika ada akun dengan alamat surel yang sesuai. Anda seharusnya menerima " -"surel tersebut sesaat lagi." - -msgid "" -"If you don’t receive an email, please make sure you’ve entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Jika Anda tidak menerima surel, pastikan Anda telah memasukkan alamat yang " -"digunakan saat pendaftaran serta periksa folder spam Anda." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"Anda menerima email ini karena Anda meminta penyetelan ulang sandi untuk " -"akun pengguna di %(site_name)s." - -msgid "Please go to the following page and choose a new password:" -msgstr "Kunjungi laman di bawah ini dan ketikkan sandi baru:" - -msgid "Your username, in case you’ve forgotten:" -msgstr "Nama pengguna Anda, jika lupa:" - -msgid "Thanks for using our site!" -msgstr "Terima kasih telah menggunakan situs kami!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "Tim %(site_name)s" - -msgid "" -"Forgotten your password? Enter your email address below, and we’ll email " -"instructions for setting a new one." -msgstr "" -"Lupa sandi Anda? Masukkan alamat surel Anda di bawah ini dan kami akan " -"mengirimkan petunjuk untuk mengatur sandi baru Anda." - -msgid "Email address:" -msgstr "Alamat email:" - -msgid "Reset my password" -msgstr "Setel ulang sandi saya" - -msgid "All dates" -msgstr "Semua tanggal" - -#, python-format -msgid "Select %s" -msgstr "Pilih %s" - -#, python-format -msgid "Select %s to change" -msgstr "Pilih %s untuk diubah" - -#, python-format -msgid "Select %s to view" -msgstr "Pilih %s untuk melihat" - -msgid "Date:" -msgstr "Tanggal:" - -msgid "Time:" -msgstr "Waktu:" - -msgid "Lookup" -msgstr "Cari" - -msgid "Currently:" -msgstr "Saat ini:" - -msgid "Change:" -msgstr "Ubah:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/id/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/id/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 6b7bff39..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/id/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/id/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/id/LC_MESSAGES/djangojs.po deleted file mode 100644 index aa096df9..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/id/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,218 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Fery Setiawan , 2015-2016 -# Jannis Leidel , 2011 -# rodin , 2011-2012 -# rodin , 2014,2016 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-05-17 11:50+0200\n" -"PO-Revision-Date: 2017-09-23 18:54+0000\n" -"Last-Translator: rodin \n" -"Language-Team: Indonesian (http://www.transifex.com/django/django/language/" -"id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#, javascript-format -msgid "Available %s" -msgstr "%s yang tersedia" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Berikut adalah daftar %s yang tersedia. Anda dapat memilih satu atau lebih " -"dengan memilihnya pada kotak di bawah, lalu mengeklik tanda panah \"Pilih\" " -"di antara kedua kotak." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "Ketik pada kotak ini untuk menyaring daftar %s yang tersedia." - -msgid "Filter" -msgstr "Filter" - -msgid "Choose all" -msgstr "Pilih semua" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Pilih untuk memilih seluruh %s sekaligus." - -msgid "Choose" -msgstr "Pilih" - -msgid "Remove" -msgstr "Hapus" - -#, javascript-format -msgid "Chosen %s" -msgstr "%s terpilih" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Berikut adalah daftar %s yang terpilih. Anda dapat menghapus satu atau lebih " -"dengan memilihnya pada kotak di bawah, lalu mengeklik tanda panah \"Hapus\" " -"di antara kedua kotak." - -msgid "Remove all" -msgstr "Hapus semua" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Klik untuk menghapus semua pilihan %s sekaligus." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(sel)s dari %(cnt)s terpilih" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Beberapa perubahan bidang yang Anda lakukan belum tersimpan. Perubahan yang " -"telah dilakukan akan hilang." - -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 "" -"Anda telah memilih sebuah aksi, tetapi belum menyimpan perubahan ke bidang " -"yang ada. Klik OK untuk menyimpan perubahan ini. Anda akan perlu mengulangi " -"aksi tersebut kembali." - -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 "" -"Anda telah memilih sebuah aksi, tetapi belum mengubah bidang apapun. " -"Kemungkinan Anda mencari tombol Buka dan bukan tombol Simpan." - -msgid "Now" -msgstr "Sekarang" - -msgid "Midnight" -msgstr "Tengah malam" - -msgid "6 a.m." -msgstr "6 pagi" - -msgid "Noon" -msgstr "Siang" - -msgid "6 p.m." -msgstr "18.00" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Catatan: Waktu Anda lebih cepat %s jam dibandingkan waktu server." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Catatan: Waktu Anda lebih lambat %s jam dibandingkan waktu server." - -msgid "Choose a Time" -msgstr "Pilih Waktu" - -msgid "Choose a time" -msgstr "Pilih waktu" - -msgid "Cancel" -msgstr "Batal" - -msgid "Today" -msgstr "Hari ini" - -msgid "Choose a Date" -msgstr "Pilih Tanggal" - -msgid "Yesterday" -msgstr "Kemarin" - -msgid "Tomorrow" -msgstr "Besok" - -msgid "January" -msgstr "Januari" - -msgid "February" -msgstr "Februari" - -msgid "March" -msgstr "Maret" - -msgid "April" -msgstr "April" - -msgid "May" -msgstr "Mei" - -msgid "June" -msgstr "Juni" - -msgid "July" -msgstr "Juli" - -msgid "August" -msgstr "Agustus" - -msgid "September" -msgstr "September" - -msgid "October" -msgstr "Oktober" - -msgid "November" -msgstr "November" - -msgid "December" -msgstr "Desember" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "M" - -msgctxt "one letter Monday" -msgid "M" -msgstr "S" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "S" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "R" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "K" - -msgctxt "one letter Friday" -msgid "F" -msgstr "J" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "S" - -msgid "Show" -msgstr "Bentangkan" - -msgid "Hide" -msgstr "Ciutkan" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/io/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/io/LC_MESSAGES/django.mo deleted file mode 100644 index abe5bb50..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/io/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/io/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/io/LC_MESSAGES/django.po deleted file mode 100644 index ddf09c2f..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/io/LC_MESSAGES/django.po +++ /dev/null @@ -1,668 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Viko Bartero , 2014 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-09-20 01:58+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Ido (http://www.transifex.com/django/django/language/io/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: io\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "%(count)d %(items)s eliminesis sucesoze." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "Onu ne povas eliminar %(name)s" - -msgid "Are you sure?" -msgstr "Ka vu esas certa?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Eliminar selektita %(verbose_name_plural)s" - -msgid "Administration" -msgstr "" - -msgid "All" -msgstr "Omni" - -msgid "Yes" -msgstr "Yes" - -msgid "No" -msgstr "No" - -msgid "Unknown" -msgstr "Nekonocato" - -msgid "Any date" -msgstr "Irga dato" - -msgid "Today" -msgstr "Hodie" - -msgid "Past 7 days" -msgstr "7 antea dii" - -msgid "This month" -msgstr "Ca monato" - -msgid "This year" -msgstr "Ca yaro" - -msgid "No date" -msgstr "" - -msgid "Has date" -msgstr "" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Skribez la korekta %(username)s e pasvorto di kelka staff account. Remarkez " -"ke both feldi darfas rikonocar miniskulo e mayuskulo." - -msgid "Action:" -msgstr "Ago:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Agregar altra %(verbose_name)s" - -msgid "Remove" -msgstr "Eliminar" - -msgid "action time" -msgstr "horo dil ago" - -msgid "user" -msgstr "" - -msgid "content type" -msgstr "" - -msgid "object id" -msgstr "id dil objekto" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/3/library/functions.html#repr) -msgid "object repr" -msgstr "repr dil objekto" - -msgid "action flag" -msgstr "flago dil ago" - -msgid "change message" -msgstr "chanjar mesajo" - -msgid "log entry" -msgstr "logo informo" - -msgid "log entries" -msgstr "logo informi" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "\"%(object)s\" agregesis." - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "\"%(object)s\" chanjesis - %(changes)s" - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "\"%(object)s\" eliminesis." - -msgid "LogEntry Object" -msgstr "LogEntry Objekto" - -#, python-brace-format -msgid "Added {name} \"{object}\"." -msgstr "" - -msgid "Added." -msgstr "" - -msgid "and" -msgstr "e" - -#, python-brace-format -msgid "Changed {fields} for {name} \"{object}\"." -msgstr "" - -#, python-brace-format -msgid "Changed {fields}." -msgstr "" - -#, python-brace-format -msgid "Deleted {name} \"{object}\"." -msgstr "" - -msgid "No fields changed." -msgstr "Nula feldo chanjesis." - -msgid "None" -msgstr "Nula" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was changed successfully." -msgstr "" - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Onu devas selektar la objekti por aplikar oli irga ago. Nula objekto " -"chanjesis." - -msgid "No action selected." -msgstr "Nula ago selektesis." - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "La %(name)s \"%(obj)s\" eliminesis sucesoze." - -#, python-format -msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" -msgstr "" - -#, python-format -msgid "Add %s" -msgstr "Agregar %s" - -#, python-format -msgid "Change %s" -msgstr "Chanjar %s" - -msgid "Database error" -msgstr "Eroro del datumaro" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s chanjesis sucesoze." -msgstr[1] "%(count)s %(name)s chanjesis sucesoze." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s selektita" -msgstr[1] "La %(total_count)s selektita" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "Selektita 0 di %(cnt)s" - -#, python-format -msgid "Change history: %s" -msgstr "Modifikuro historio: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"Por eliminar %(class_name)s %(instance)s on mustas eliminar la sequanta " -"protektita objekti relatita: %(related_objects)s" - -msgid "Django site admin" -msgstr "Django situo admin" - -msgid "Django administration" -msgstr "Django administreyo" - -msgid "Site administration" -msgstr "Administrayo dil ret-situo" - -msgid "Log in" -msgstr "Startar sesiono" - -#, python-format -msgid "%(app)s administration" -msgstr "" - -msgid "Page not found" -msgstr "La pagino ne renkontresis" - -msgid "We're sorry, but the requested page could not be found." -msgstr "Pardonez, ma la demandita pagino ne renkontresis." - -msgid "Home" -msgstr "Hemo" - -msgid "Server error" -msgstr "Eroro del servilo" - -msgid "Server error (500)" -msgstr "Eroro del servilo (500)" - -msgid "Server Error (500)" -msgstr "Eroro del servilo (500)" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"Eroro eventis. Ico informesis per e-posto a la administranti dil ret-situo e " -"la eroro esos korektigata balde. Danko pro vua pacienteso." - -msgid "Run the selected action" -msgstr "Exekutar la selektita ago" - -msgid "Go" -msgstr "Irar" - -msgid "Click here to select the objects across all pages" -msgstr "Kliktez hike por selektar la objekti di omna pagini" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Selektar omna %(total_count)s %(module_name)s" - -msgid "Clear selection" -msgstr "Desfacar selekto" - -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" -"Unesme, skribez uzer-nomo ed pasvorto. Pos, vu povos modifikar altra uzer-" -"selekto." - -msgid "Enter a username and password." -msgstr "Skribez uzer-nomo ed pasvorto." - -msgid "Change password" -msgstr "Chanjar pasvorto" - -msgid "Please correct the error below." -msgstr "Korektigez la eroro infre." - -msgid "Please correct the errors below." -msgstr "Korektigez la erori infre." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "Skribez nova pasvorto por la uzero %(username)s." - -msgid "Welcome," -msgstr "Bonvenez," - -msgid "View site" -msgstr "" - -msgid "Documentation" -msgstr "Dokumento" - -msgid "Log out" -msgstr "Klozar sesiono" - -#, python-format -msgid "Add %(name)s" -msgstr "Agregar %(name)s" - -msgid "History" -msgstr "Historio" - -msgid "View on site" -msgstr "Vidar en la ret-situo" - -msgid "Filter" -msgstr "Filtrar" - -msgid "Remove from sorting" -msgstr "Eskartar de klasifiko" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Precedo dil klasifiko: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Aktivar/desaktivar klasifiko" - -msgid "Delete" -msgstr "Eliminar" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Eliminar la %(object_name)s '%(escaped_object)s' eliminos relatita objekti, " -"ma vua account ne havas permiso por eliminar la sequanta objekti:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"Eliminar la %(object_name)s '%(escaped_object)s' eliminus la sequanta " -"protektita objekti relatita:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Ka vu volas eliminar la %(object_name)s \"%(escaped_object)s\"? Omna " -"sequanta objekti relatita eliminesos:" - -msgid "Objects" -msgstr "" - -msgid "Yes, I'm sure" -msgstr "Yes, me esas certa" - -msgid "No, take me back" -msgstr "" - -msgid "Delete multiple objects" -msgstr "Eliminar multopla objekti" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Eliminar la selektita %(objects_name)s eliminos relatita objekti, ma vua " -"account ne havas permiso por eliminar la sequanta objekti:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Eliminar la selektita %(objects_name)s eliminos la sequanta protektita " -"objekti relatita:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Ka vu volas eliminar la selektita %(objects_name)s? Omna sequanta objekti ed " -"olia relatita objekti eliminesos:" - -msgid "Change" -msgstr "Modifikar" - -msgid "Delete?" -msgstr "Ka eliminar?" - -#, python-format -msgid " By %(filter_title)s " -msgstr "Per %(filter_title)s " - -msgid "Summary" -msgstr "" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "Modeli en la %(name)s apliko" - -msgid "Add" -msgstr "Agregar" - -msgid "You don't have permission to edit anything." -msgstr "Vu ne havas permiso por facar modifiki." - -msgid "Recent actions" -msgstr "" - -msgid "My actions" -msgstr "" - -msgid "None available" -msgstr "Nulo disponebla" - -msgid "Unknown content" -msgstr "Nekonocata kontenajo" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Vua datumaro instaluro esas defektiva. Verifikez ke la datumaro tabeli " -"kreadesis e ke la uzero havas permiso por lektar la datumaro." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" - -msgid "Forgotten your password or username?" -msgstr "Ka vu obliviis vua pasvorto od uzer-nomo?" - -msgid "Date/time" -msgstr "Dato/horo" - -msgid "User" -msgstr "Uzero" - -msgid "Action" -msgstr "Ago" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" -"Ica objekto ne havas chanjo-historio. Olu forsan ne agregesis per ica " -"administrala ret-situo." - -msgid "Show all" -msgstr "Montrar omni" - -msgid "Save" -msgstr "Salvar" - -msgid "Popup closing..." -msgstr "" - -#, python-format -msgid "Change selected %(model)s" -msgstr "" - -#, python-format -msgid "Add another %(model)s" -msgstr "" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "" - -msgid "Search" -msgstr "Serchar" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s resulto" -msgstr[1] "%(counter)s resulti" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s totala" - -msgid "Save as new" -msgstr "Salvar kom nova" - -msgid "Save and add another" -msgstr "Salvar ed agregar altra" - -msgid "Save and continue editing" -msgstr "Salvar e durar la modifiko" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Danko pro vua spensita tempo en la ret-situo hodie." - -msgid "Log in again" -msgstr "Ristartar sesiono" - -msgid "Password change" -msgstr "Pasvorto chanjo" - -msgid "Your password was changed." -msgstr "Vua pasvorto chanjesis." - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Por kauciono, skribez vua anta pasvorto e pos skribez vua nova pasvorto " -"dufoye por verifikar ke olu skribesis korekte." - -msgid "Change my password" -msgstr "Modifikar mea pasvorto" - -msgid "Password reset" -msgstr "Pasvorto chanjo" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Vua pasvorto chanjesis. Vu darfas startar sesiono nun." - -msgid "Password reset confirmation" -msgstr "Pasvorto chanjo konfirmo" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Skribez vua nova pasvorto dufoye por verifikar ke olu skribesis korekte." - -msgid "New password:" -msgstr "Nova pasvorto:" - -msgid "Confirm password:" -msgstr "Konfirmez pasvorto:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"La link por chanjar pasvorto ne esis valida, forsan pro ke olu ja uzesis. " -"Demandez nova pasvorto chanjo." - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Se vu ne recevas mesajo, verifikez ke vu skribis la sama e-posto adreso " -"uzita por vua registro e lektez vua spam mesaji." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"Vu esas recevanta ica mesajo pro ke vu demandis pasvorto chanjo por vua " -"uzero account che %(site_name)s." - -msgid "Please go to the following page and choose a new password:" -msgstr "Irez al sequanta pagino e selektez nova pasvorto:" - -msgid "Your username, in case you've forgotten:" -msgstr "Vua uzernomo, se vu obliviis olu:" - -msgid "Thanks for using our site!" -msgstr "Danko pro uzar nia ret-situo!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "La equipo di %(site_name)s" - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" -"Ka vu obliviis vua pasvorto? Skribez vua e-posto adreso infre e ni sendos " -"instrucioni por kreadar nova pasvorto." - -msgid "Email address:" -msgstr "E-postala adreso:" - -msgid "Reset my password" -msgstr "Chanjar mea pasvorto" - -msgid "All dates" -msgstr "Omna dati" - -#, python-format -msgid "Select %s" -msgstr "Selektar %s" - -#, python-format -msgid "Select %s to change" -msgstr "Selektar %s por chanjar" - -msgid "Date:" -msgstr "Dato:" - -msgid "Time:" -msgstr "Horo:" - -msgid "Lookup" -msgstr "Serchado" - -msgid "Currently:" -msgstr "Aktuale" - -msgid "Change:" -msgstr "Chanjo:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/io/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/io/LC_MESSAGES/djangojs.mo deleted file mode 100644 index fba64da8..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/io/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/io/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/io/LC_MESSAGES/djangojs.po deleted file mode 100644 index d7be82ec..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/io/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,145 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-01-17 11:07+0100\n" -"PO-Revision-Date: 2014-10-05 20:11+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Ido (http://www.transifex.com/projects/p/django/language/" -"io/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: io\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "" - -msgid "Filter" -msgstr "" - -msgid "Choose all" -msgstr "" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "" - -msgid "Choose" -msgstr "" - -msgid "Remove" -msgstr "" - -#, javascript-format -msgid "Chosen %s" -msgstr "" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" - -msgid "Remove all" -msgstr "" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "" - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "" -msgstr[1] "" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" - -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 "" - -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 "" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "" -msgstr[1] "" - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "" -msgstr[1] "" - -msgid "Now" -msgstr "" - -msgid "Clock" -msgstr "" - -msgid "Choose a time" -msgstr "" - -msgid "Midnight" -msgstr "" - -msgid "6 a.m." -msgstr "" - -msgid "Noon" -msgstr "" - -msgid "Cancel" -msgstr "" - -msgid "Today" -msgstr "" - -msgid "Calendar" -msgstr "" - -msgid "Yesterday" -msgstr "" - -msgid "Tomorrow" -msgstr "" - -msgid "" -"January February March April May June July August September October November " -"December" -msgstr "" - -msgid "S M T W T F S" -msgstr "" - -msgid "Show" -msgstr "" - -msgid "Hide" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/is/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/is/LC_MESSAGES/django.mo deleted file mode 100644 index 55329686..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/is/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/is/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/is/LC_MESSAGES/django.po deleted file mode 100644 index 868a4528..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/is/LC_MESSAGES/django.po +++ /dev/null @@ -1,720 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Dagur Ammendrup , 2019 -# Hafsteinn Einarsson , 2011-2012 -# Jannis Leidel , 2011 -# 479d446b5da12875beba10cac54e9faf_a7ca1e7 , 2013 -# Thordur Sigurdsson , 2016-2020 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-14 19:53+0200\n" -"PO-Revision-Date: 2020-07-14 22:38+0000\n" -"Last-Translator: Transifex Bot <>\n" -"Language-Team: Icelandic (http://www.transifex.com/django/django/language/" -"is/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: is\n" -"Plural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "Eyddi %(count)d %(items)s." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "Get ekki eytt %(name)s" - -msgid "Are you sure?" -msgstr "Ertu viss?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Eyða völdum %(verbose_name_plural)s" - -msgid "Administration" -msgstr "Vefstjórn" - -msgid "All" -msgstr "Allt" - -msgid "Yes" -msgstr "Já" - -msgid "No" -msgstr "Nei" - -msgid "Unknown" -msgstr "Óþekkt" - -msgid "Any date" -msgstr "Allar dagsetningar" - -msgid "Today" -msgstr "Dagurinn í dag" - -msgid "Past 7 days" -msgstr "Síðustu 7 dagar" - -msgid "This month" -msgstr "Þessi mánuður" - -msgid "This year" -msgstr "Þetta ár" - -msgid "No date" -msgstr "Engin dagsetning" - -msgid "Has date" -msgstr "Hefur dagsetningu" - -msgid "Empty" -msgstr "Tómt" - -msgid "Not empty" -msgstr "Ekki tómt" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Vinsamlegast sláðu inn rétt %(username)s og lykilorð fyrir starfsmanna " -"aðgang. Takið eftir að í báðum reitum skipta há- og lágstafir máli." - -msgid "Action:" -msgstr "Aðgerð:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Bæta við öðrum %(verbose_name)s" - -msgid "Remove" -msgstr "Fjarlægja" - -msgid "Addition" -msgstr "Viðbót" - -msgid "Change" -msgstr "Breyta" - -msgid "Deletion" -msgstr "Eyðing" - -msgid "action time" -msgstr "tími aðgerðar" - -msgid "user" -msgstr "notandi" - -msgid "content type" -msgstr "efnistag" - -msgid "object id" -msgstr "kenni hlutar" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "framsetning hlutar" - -msgid "action flag" -msgstr "aðgerðarveifa" - -msgid "change message" -msgstr "breyta skilaboði" - -msgid "log entry" -msgstr "kladdafærsla" - -msgid "log entries" -msgstr "kladdafærslur" - -#, python-format -msgid "Added “%(object)s”." -msgstr "Bætti við „%(object)s“." - -#, python-format -msgid "Changed “%(object)s” — %(changes)s" -msgstr "Breytti „%(object)s“ — %(changes)s" - -#, python-format -msgid "Deleted “%(object)s.”" -msgstr "Eyddi „%(object)s.“" - -msgid "LogEntry Object" -msgstr "LogEntry hlutur" - -#, python-brace-format -msgid "Added {name} “{object}”." -msgstr "Bætti við {name} „{object}“." - -msgid "Added." -msgstr "Bætti við." - -msgid "and" -msgstr "og" - -#, python-brace-format -msgid "Changed {fields} for {name} “{object}”." -msgstr "Breytti {fields} fyrir {name} „{object}“." - -#, python-brace-format -msgid "Changed {fields}." -msgstr "Breytti {fields}." - -#, python-brace-format -msgid "Deleted {name} “{object}”." -msgstr "Eyddi {name} „{object}“." - -msgid "No fields changed." -msgstr "Engum reitum breytt." - -msgid "None" -msgstr "Ekkert" - -msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." -msgstr "" -"Haltu inni „Control“, eða „Command“ á Mac til þess að velja fleira en eitt." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully." -msgstr "{name} „{obj}“ var bætt við." - -msgid "You may edit it again below." -msgstr "Þú mátt breyta þessu aftur hér að neðan." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was added successfully. You may add another {name} below." -msgstr "" -"{name} „{obj}“ hefur verið bætt við. Þú getur bætt við öðru {name} að neðan." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may edit it again below." -msgstr "{name} „{obj}“ hefur verið breytt. Þú getur breytt því aftur að neðan." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully. You may edit it again below." -msgstr "" -"{name} „{obj}“ hefur verið bætt við. Þú getur breytt því aftur að neðan." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may add another {name} " -"below." -msgstr "" -"{name} \"{obj}\" hefur verið breytt. Þú getur bætt við öðru {name} að neðan." - -#, python-brace-format -msgid "The {name} “{obj}” was changed successfully." -msgstr "{name} „{obj}“ hefur verið breytt." - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Hlutir verða að vera valdir til að framkvæma aðgerðir á þeim. Engu hefur " -"verið breytt." - -msgid "No action selected." -msgstr "Engin aðgerð valin." - -#, python-format -msgid "The %(name)s “%(obj)s” was deleted successfully." -msgstr "%(name)s „%(obj)s“ var eytt." - -#, python-format -msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" -msgstr "%(name)s með ID \"%(key)s\" er ekki til. Var því mögulega eytt?" - -#, python-format -msgid "Add %s" -msgstr "Bæta við %s" - -#, python-format -msgid "Change %s" -msgstr "Breyta %s" - -#, python-format -msgid "View %s" -msgstr "Skoða %s" - -msgid "Database error" -msgstr "Gagnagrunnsvilla" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s var breytt." -msgstr[1] "%(count)s %(name)s var breytt." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "Allir %(total_count)s valdir" -msgstr[1] "Allir %(total_count)s valdir" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "0 af %(cnt)s valin" - -#, python-format -msgid "Change history: %s" -msgstr "Breytingarsaga: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"Að eyða %(class_name)s %(instance)s þyrfti að eyða eftirfarandi tengdum " -"hlutum: %(related_objects)s" - -msgid "Django site admin" -msgstr "Django vefstjóri" - -msgid "Django administration" -msgstr "Django vefstjórn" - -msgid "Site administration" -msgstr "Vefstjóri" - -msgid "Log in" -msgstr "Skrá inn" - -#, python-format -msgid "%(app)s administration" -msgstr "%(app)s vefstjórn" - -msgid "Page not found" -msgstr "Síða fannst ekki" - -msgid "We’re sorry, but the requested page could not be found." -msgstr "Því miður fannst umbeðin síða ekki." - -msgid "Home" -msgstr "Heim" - -msgid "Server error" -msgstr "Kerfisvilla" - -msgid "Server error (500)" -msgstr "Kerfisvilla (500)" - -msgid "Server Error (500)" -msgstr "Kerfisvilla (500)" - -msgid "" -"There’s been an error. It’s been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"Villa kom upp. Hún hefur verið tilkynnt til vefstjóra með tölvupósti og ætti " -"að lagast fljótlega. Þökkum þolinmæðina." - -msgid "Run the selected action" -msgstr "Keyra valda aðgerð" - -msgid "Go" -msgstr "Áfram" - -msgid "Click here to select the objects across all pages" -msgstr "Smelltu hér til að velja alla hluti" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Velja alla %(total_count)s %(module_name)s" - -msgid "Clear selection" -msgstr "Hreinsa val" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "Módel í appinu %(name)s" - -msgid "Add" -msgstr "Bæta við" - -msgid "View" -msgstr "Skoða" - -msgid "You don’t have permission to view or edit anything." -msgstr "Þú hefur ekki réttindi til að skoða eða breyta neinu." - -msgid "" -"First, enter a username and password. Then, you’ll be able to edit more user " -"options." -msgstr "" -"Fyrst, settu inn notendanafn og lykilorð. Svo geturðu breytt öðrum " -"notendamöguleikum." - -msgid "Enter a username and password." -msgstr "Sláðu inn notandanafn og lykilorð." - -msgid "Change password" -msgstr "Breyta lykilorði" - -msgid "Please correct the error below." -msgstr "Vinsamlegast lagfærðu villuna fyrir neðan." - -msgid "Please correct the errors below." -msgstr "Vinsamlegast leiðréttu villurnar hér að neðan." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "Settu inn nýtt lykilorð fyrir notandann %(username)s." - -msgid "Welcome," -msgstr "Velkomin(n)," - -msgid "View site" -msgstr "Skoða vef" - -msgid "Documentation" -msgstr "Skjölun" - -msgid "Log out" -msgstr "Skrá út" - -#, python-format -msgid "Add %(name)s" -msgstr "Bæta við %(name)s" - -msgid "History" -msgstr "Saga" - -msgid "View on site" -msgstr "Skoða á vef" - -msgid "Filter" -msgstr "Sía" - -msgid "Clear all filters" -msgstr "Hreinsa allar síur" - -msgid "Remove from sorting" -msgstr "Taka úr röðun" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Forgangur röðunar: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Röðun af/á" - -msgid "Delete" -msgstr "Eyða" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Eyðing á %(object_name)s „%(escaped_object)s“ hefði í för með sér eyðingu á " -"tengdum hlutum en þú hefur ekki réttindi til að eyða eftirfarandi hlutum:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"Að eyða %(object_name)s „%(escaped_object)s“ þyrfti að eyða eftirfarandi " -"tengdum hlutum:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Ertu viss um að þú viljir eyða %(object_name)s „%(escaped_object)s“? Öllu " -"eftirfarandi verður eytt:" - -msgid "Objects" -msgstr "Hlutir" - -msgid "Yes, I’m sure" -msgstr "Já ég er viss." - -msgid "No, take me back" -msgstr "Nei, fara til baka" - -msgid "Delete multiple objects" -msgstr "Eyða mörgum hlutum." - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Að eyða völdu %(objects_name)s leiðir til þess að skyldum hlutum er eytt, en " -"þinn aðgangur hefur ekki réttindi til að eyða eftirtöldum hlutum:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Að eyða völdum %(objects_name)s myndi leiða til þess að eftirtöldum skyldum " -"hlutum yrði eytt:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Ertu viss um að þú viljir eyða völdum %(objects_name)s? Öllum eftirtöldum " -"hlutum og skyldum hlutum verður eytt:" - -msgid "Delete?" -msgstr "Eyða?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " Eftir %(filter_title)s " - -msgid "Summary" -msgstr "Samantekt" - -msgid "Recent actions" -msgstr "Nýlegar aðgerðir" - -msgid "My actions" -msgstr "Mínar aðgerðir" - -msgid "None available" -msgstr "Engin fáanleg" - -msgid "Unknown content" -msgstr "Óþekkt innihald" - -msgid "" -"Something’s wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Eitthvað er að gagnagrunnsuppsetningu. Gakktu úr skugga um að allar töflur " -"séu til staðar og að notandinn hafi aðgang að grunninum." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"Þú ert skráður inn sem %(username)s, en ert ekki með réttindi að þessari " -"síðu. Viltu skrá þig inn sem annar notandi?" - -msgid "Forgotten your password or username?" -msgstr "Gleymt notandanafn eða lykilorð?" - -msgid "Toggle navigation" -msgstr "" - -msgid "Date/time" -msgstr "Dagsetning/tími" - -msgid "User" -msgstr "Notandi" - -msgid "Action" -msgstr "Aðgerð" - -msgid "" -"This object doesn’t have a change history. It probably wasn’t added via this " -"admin site." -msgstr "" -"Þessi hlutur hefur enga breytingasögu. Hann var líklega ekki búinn til á " -"þessu stjórnunarsvæði." - -msgid "Show all" -msgstr "Sýna allt" - -msgid "Save" -msgstr "Vista" - -msgid "Popup closing…" -msgstr "Sprettigluggi lokast..." - -msgid "Search" -msgstr "Leita" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s niðurstaða" -msgstr[1] "%(counter)s niðurstöður" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s í heildina" - -msgid "Save as new" -msgstr "Vista sem nýtt" - -msgid "Save and add another" -msgstr "Vista og búa til nýtt" - -msgid "Save and continue editing" -msgstr "Vista og halda áfram að breyta" - -msgid "Save and view" -msgstr "Vista og skoða" - -msgid "Close" -msgstr "Loka" - -#, python-format -msgid "Change selected %(model)s" -msgstr "Breyta völdu %(model)s" - -#, python-format -msgid "Add another %(model)s" -msgstr "Bæta við %(model)s" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Eyða völdu %(model)s" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Takk fyrir að verja tíma í vefsíðuna í dag." - -msgid "Log in again" -msgstr "Skráðu þig inn aftur" - -msgid "Password change" -msgstr "Breyta lykilorði" - -msgid "Your password was changed." -msgstr "Lykilorði þínu var breytt" - -msgid "" -"Please enter your old password, for security’s sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Vinsamlegast skrifaðu gamla lykilorðið þitt til öryggis. Sláðu svo nýja " -"lykilorðið tvisvar inn svo að hægt sé að ganga úr skugga um að þú hafir ekki " -"gert innsláttarvillu." - -msgid "Change my password" -msgstr "Breyta lykilorðinu mínu" - -msgid "Password reset" -msgstr "Endurstilla lykilorð" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Lykilorðið var endurstillt. Þú getur núna skráð þig inn á vefsvæðið." - -msgid "Password reset confirmation" -msgstr "Staðfesting endurstillingar lykilorðs" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Vinsamlegast settu inn nýja lykilorðið tvisvar til að forðast " -"innsláttarvillur." - -msgid "New password:" -msgstr "Nýtt lykilorð:" - -msgid "Confirm password:" -msgstr "Staðfestu lykilorð:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Endurstilling lykilorðs tókst ekki. Slóðin var ógild. Hugsanlega hefur hún " -"nú þegar verið notuð. Vinsamlegast biddu um nýja endurstillingu." - -msgid "" -"We’ve emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Við höfum sent þér tölvupóst með leiðbeiningum til að endurstilla lykilorðið " -"þitt, sé aðgangur til með netfanginu sem þú slóst inn. Þú ættir að fá " -"leiðbeiningarnar fljótlega. " - -msgid "" -"If you don’t receive an email, please make sure you’ve entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Ef þú færð ekki tölvupóstinn, gakktu úr skugga um að netfangið sem þú slóst " -"inn sé það sama og þú notaðir til að stofna aðganginn og að það hafi ekki " -"lent í spamsíu." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"Þú ert að fá þennan tölvupóst því þú baðst um endurstillingu á lykilorði " -"fyrir aðganginn þinn á %(site_name)s." - -msgid "Please go to the following page and choose a new password:" -msgstr "Vinsamlegast farðu á eftirfarandi síðu og veldu nýtt lykilorð:" - -msgid "Your username, in case you’ve forgotten:" -msgstr "Notandanafnið þitt ef þú skyldir hafa gleymt því:" - -msgid "Thanks for using our site!" -msgstr "Takk fyrir að nota vefinn okkar!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "%(site_name)s hópurinn" - -msgid "" -"Forgotten your password? Enter your email address below, and we’ll email " -"instructions for setting a new one." -msgstr "" -"Hefurðu gleymt lykilorðinu þínu? Sláðu inn netfangið þitt hér að neðan og " -"við sendum þér tölvupóst með leiðbeiningum til að setja nýtt lykilorð. " - -msgid "Email address:" -msgstr "Netfang:" - -msgid "Reset my password" -msgstr "Endursstilla lykilorðið mitt" - -msgid "All dates" -msgstr "Allar dagsetningar" - -#, python-format -msgid "Select %s" -msgstr "Veldu %s" - -#, python-format -msgid "Select %s to change" -msgstr "Veldu %s til að breyta" - -#, python-format -msgid "Select %s to view" -msgstr "Veldu %s til að skoða" - -msgid "Date:" -msgstr "Dagsetning:" - -msgid "Time:" -msgstr "Tími:" - -msgid "Lookup" -msgstr "Fletta upp" - -msgid "Currently:" -msgstr "Eins og er:" - -msgid "Change:" -msgstr "Breyta:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/is/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/is/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 5b06183e..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/is/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/is/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/is/LC_MESSAGES/djangojs.po deleted file mode 100644 index 480c5509..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/is/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,219 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# gudbergur , 2012 -# Hafsteinn Einarsson , 2011-2012 -# Jannis Leidel , 2011 -# Matt R, 2018 -# Thordur Sigurdsson , 2016-2017,2020 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-11 20:56+0200\n" -"PO-Revision-Date: 2020-07-07 22:53+0000\n" -"Last-Translator: Thordur Sigurdsson \n" -"Language-Team: Icelandic (http://www.transifex.com/django/django/language/" -"is/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: is\n" -"Plural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n" - -#, javascript-format -msgid "Available %s" -msgstr "Fáanleg %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Þetta er listi af því %s sem er í boði. Þú getur ákveðið hluti með því að " -"velja þá í boxinu að neðan og ýta svo á \"Velja\" örina milli boxana tveggja." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "Skrifaðu í boxið til að sía listann af því %s sem er í boði." - -msgid "Filter" -msgstr "Sía" - -msgid "Choose all" -msgstr "Velja öll" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Smelltu til að velja allt %s í einu." - -msgid "Choose" -msgstr "Veldu" - -msgid "Remove" -msgstr "Fjarlægja" - -#, javascript-format -msgid "Chosen %s" -msgstr "Valin %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Þetta er listinn af völdu %s. Þú getur fjarlægt hluti með því að velja þá í " -"boxinu að neðan og ýta svo á \"Eyða\" örina á milli boxana tveggja." - -msgid "Remove all" -msgstr "Eyða öllum" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Smelltu til að fjarlægja allt valið %s í einu." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] " %(sel)s í %(cnt)s valin" -msgstr[1] " %(sel)s í %(cnt)s valin" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Enn eru óvistaðar breytingar í reitum. Ef þú keyrir aðgerð munu breytingar " -"ekki verða vistaðar." - -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 "" -"Þú hefur valið aðgerð en hefur ekki vistað breytingar á reitum. Vinsamlegast " -"veldu 'Í lagi' til að vista. Þú þarft að endurkeyra aðgerðina." - -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 "" -"Þú hefur valið aðgerð en hefur ekki gert breytingar á reitum. Þú ert líklega " -"að leita að 'Fara' hnappnum frekar en 'Vista' hnappnum." - -msgid "Now" -msgstr "Núna" - -msgid "Midnight" -msgstr "Miðnætti" - -msgid "6 a.m." -msgstr "6 f.h." - -msgid "Noon" -msgstr "Hádegi" - -msgid "6 p.m." -msgstr "6 e.h." - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Athugaðu að þú ert %s klukkustund á undan tíma vefþjóns." -msgstr[1] "Athugaðu að þú ert %s klukkustundum á undan tíma vefþjóns." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Athugaðu að þú ert %s klukkustund á eftir tíma vefþjóns." -msgstr[1] "Athugaðu að þú ert %s klukkustundum á eftir tíma vefþjóns." - -msgid "Choose a Time" -msgstr "Veldu tíma" - -msgid "Choose a time" -msgstr "Veldu tíma" - -msgid "Cancel" -msgstr "Hætta við" - -msgid "Today" -msgstr "Í dag" - -msgid "Choose a Date" -msgstr "Veldu dagsetningu" - -msgid "Yesterday" -msgstr "Í gær" - -msgid "Tomorrow" -msgstr "Á morgun" - -msgid "January" -msgstr "janúar" - -msgid "February" -msgstr "febrúar" - -msgid "March" -msgstr "mars" - -msgid "April" -msgstr "apríl" - -msgid "May" -msgstr "maí" - -msgid "June" -msgstr "júní" - -msgid "July" -msgstr "júlí" - -msgid "August" -msgstr "ágúst" - -msgid "September" -msgstr "september" - -msgid "October" -msgstr "október" - -msgid "November" -msgstr "nóvember" - -msgid "December" -msgstr "desember" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "S" - -msgctxt "one letter Monday" -msgid "M" -msgstr "M" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "Þ" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "M" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "F" - -msgctxt "one letter Friday" -msgid "F" -msgstr "F" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "L" - -msgid "Show" -msgstr "Sýna" - -msgid "Hide" -msgstr "Fela" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/it/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/it/LC_MESSAGES/django.mo deleted file mode 100644 index 90db4d0d..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/it/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/it/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/it/LC_MESSAGES/django.po deleted file mode 100644 index fed9b27b..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/it/LC_MESSAGES/django.po +++ /dev/null @@ -1,737 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# 0d21a39e384d88c2313b89b5042c04cb, 2017 -# Carlo Miron , 2018-2019 -# Denis Darii , 2011 -# Flavio Curella , 2013 -# Jannis Leidel , 2011 -# Luciano De Falco Alfano, 2016 -# Marco Bonetti, 2014 -# Mirco Grillo , 2018,2020 -# Nicola Larosa , 2013 -# palmux , 2014-2015 -# Mattia Procopio , 2015 -# Stefano Brentegani , 2015 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-14 19:53+0200\n" -"PO-Revision-Date: 2020-07-23 08:39+0000\n" -"Last-Translator: Mirco Grillo \n" -"Language-Team: Italian (http://www.transifex.com/django/django/language/" -"it/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: it\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "Cancellati/e con successo %(count)d %(items)s." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "Impossibile cancellare %(name)s " - -msgid "Are you sure?" -msgstr "Confermi?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Cancella %(verbose_name_plural)s selezionati" - -msgid "Administration" -msgstr "Amministrazione" - -msgid "All" -msgstr "Tutti" - -msgid "Yes" -msgstr "Sì" - -msgid "No" -msgstr "No" - -msgid "Unknown" -msgstr "Sconosciuto" - -msgid "Any date" -msgstr "Qualsiasi data" - -msgid "Today" -msgstr "Oggi" - -msgid "Past 7 days" -msgstr "Ultimi 7 giorni" - -msgid "This month" -msgstr "Questo mese" - -msgid "This year" -msgstr "Quest'anno" - -msgid "No date" -msgstr "Senza data" - -msgid "Has date" -msgstr "Ha la data" - -msgid "Empty" -msgstr "Vuoto" - -msgid "Not empty" -msgstr "Non vuoto" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Inserisci %(username)s e password corretti per un account di staff. Nota che " -"entrambi i campi distinguono maiuscole e minuscole." - -msgid "Action:" -msgstr "Azione:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Aggiungi un altro %(verbose_name)s." - -msgid "Remove" -msgstr "Elimina" - -msgid "Addition" -msgstr "Aggiunta " - -msgid "Change" -msgstr "Modifica" - -msgid "Deletion" -msgstr "Eliminazione" - -msgid "action time" -msgstr "momento dell'azione" - -msgid "user" -msgstr "utente" - -msgid "content type" -msgstr "content type" - -msgid "object id" -msgstr "id dell'oggetto" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "rappr. dell'oggetto" - -msgid "action flag" -msgstr "flag di azione" - -msgid "change message" -msgstr "messaggio di modifica" - -msgid "log entry" -msgstr "voce di log" - -msgid "log entries" -msgstr "voci di log" - -#, python-format -msgid "Added “%(object)s”." -msgstr "%(object)s aggiunto." - -#, python-format -msgid "Changed “%(object)s” — %(changes)s" -msgstr "%(object)s%(changes)s modificati" - -#, python-format -msgid "Deleted “%(object)s.”" -msgstr "Cancellato \"%(object)s .\"" - -msgid "LogEntry Object" -msgstr "Oggetto LogEntry" - -#, python-brace-format -msgid "Added {name} “{object}”." -msgstr "Aggiunto {name} \"{object}\"." - -msgid "Added." -msgstr "Aggiunto." - -msgid "and" -msgstr "e" - -#, python-brace-format -msgid "Changed {fields} for {name} “{object}”." -msgstr "Modificati {fields} per {name} \"{object}\"." - -#, python-brace-format -msgid "Changed {fields}." -msgstr "Modificati {fields}." - -#, python-brace-format -msgid "Deleted {name} “{object}”." -msgstr "Eliminato {name} \"{object}\"." - -msgid "No fields changed." -msgstr "Nessun campo modificato." - -msgid "None" -msgstr "Nessuno" - -msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." -msgstr "" -"Tieni premuto \"Control\", o \"Command\" su Mac, per selezionarne più di uno." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully." -msgstr "Il {name} \"{obj}\" è stato aggiunto con successo." - -msgid "You may edit it again below." -msgstr "Puoi modificarlo di nuovo qui sotto." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was added successfully. You may add another {name} below." -msgstr "" -"Il {name} \"{obj}\" è stato aggiunto con successo. Puoi aggiungere un altro " -"{name} qui sotto." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may edit it again below." -msgstr "" -"Il {name} \"{obj}\" è stato modificato con successo. Puoi modificarlo " -"nuovamente qui sotto." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully. You may edit it again below." -msgstr "" -"Il {name} \"{obj}\" è stato aggiunto con successo. Puoi modificarlo " -"nuovamente qui sotto." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may add another {name} " -"below." -msgstr "" -"Il {name} \"{obj}\" è stato modificato con successo. Puoi aggiungere un " -"altro {name} qui sotto." - -#, python-brace-format -msgid "The {name} “{obj}” was changed successfully." -msgstr "Il {name} \"{obj}\" è stato modificato con successo." - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Occorre selezionare degli oggetti per potervi eseguire azioni. Nessun " -"oggetto è stato cambiato." - -msgid "No action selected." -msgstr "Nessuna azione selezionata." - -#, python-format -msgid "The %(name)s “%(obj)s” was deleted successfully." -msgstr "%(name)s \"%(obj)s\" cancellato correttamente." - -#, python-format -msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" -msgstr "" -"%(name)s con ID \"%(key)s\" non esiste. Probabilmente è stato stato " -"cancellato?" - -#, python-format -msgid "Add %s" -msgstr "Aggiungi %s" - -#, python-format -msgid "Change %s" -msgstr "Modifica %s" - -#, python-format -msgid "View %s" -msgstr "Vista %s" - -msgid "Database error" -msgstr "Errore del database" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s modificato correttamente." -msgstr[1] "%(count)s %(name)s modificati correttamente." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s selezionato" -msgstr[1] "Tutti i %(total_count)s selezionati" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "0 di %(cnt)s selezionati" - -#, python-format -msgid "Change history: %s" -msgstr "Tracciato delle modifiche: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"La cancellazione di %(class_name)s %(instance)s richiederebbe l'eliminazione " -"dei seguenti oggetti protetti correlati: %(related_objects)s" - -msgid "Django site admin" -msgstr "Amministrazione sito Django" - -msgid "Django administration" -msgstr "Amministrazione Django" - -msgid "Site administration" -msgstr "Amministrazione sito" - -msgid "Log in" -msgstr "Accedi" - -#, python-format -msgid "%(app)s administration" -msgstr "Amministrazione %(app)s" - -msgid "Page not found" -msgstr "Pagina non trovata" - -msgid "We’re sorry, but the requested page could not be found." -msgstr "Spiacenti, ma la pagina richiesta non è stata trovata." - -msgid "Home" -msgstr "Pagina iniziale" - -msgid "Server error" -msgstr "Errore del server" - -msgid "Server error (500)" -msgstr "Errore del server (500)" - -msgid "Server Error (500)" -msgstr "Errore del server (500)" - -msgid "" -"There’s been an error. It’s been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"Si è verificato un errore. Gli amministratori del sito ne sono stati " -"informati per email, e vi porranno rimedio a breve. Grazie per la vostra " -"pazienza." - -msgid "Run the selected action" -msgstr "Esegui l'azione selezionata" - -msgid "Go" -msgstr "Vai" - -msgid "Click here to select the objects across all pages" -msgstr "Clicca qui per selezionare gli oggetti da tutte le pagine." - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Seleziona tutti %(total_count)s %(module_name)s" - -msgid "Clear selection" -msgstr "Annulla la selezione" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "Modelli nell'applicazione %(name)s" - -msgid "Add" -msgstr "Aggiungi" - -msgid "View" -msgstr "Vista" - -msgid "You don’t have permission to view or edit anything." -msgstr "Non hai i permessi per visualizzare o modificare nulla" - -msgid "" -"First, enter a username and password. Then, you’ll be able to edit more user " -"options." -msgstr "" -"Prima di tutto inserisci nome utente e password. Poi potrai modificare le " -"altre impostazioni utente." - -msgid "Enter a username and password." -msgstr "Inserisci nome utente e password." - -msgid "Change password" -msgstr "Modifica password" - -msgid "Please correct the error below." -msgstr "Per favore, correggi l'errore sottostante" - -msgid "Please correct the errors below." -msgstr "Correggi gli errori qui sotto." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "" -"Inserisci una nuova password per l'utente %(username)s." - -msgid "Welcome," -msgstr "Benvenuto," - -msgid "View site" -msgstr "Visualizza il sito" - -msgid "Documentation" -msgstr "Documentazione" - -msgid "Log out" -msgstr "Annulla l'accesso" - -#, python-format -msgid "Add %(name)s" -msgstr "Aggiungi %(name)s" - -msgid "History" -msgstr "Storia" - -msgid "View on site" -msgstr "Vedi sul sito" - -msgid "Filter" -msgstr "Filtra" - -msgid "Clear all filters" -msgstr "Disattiva tutti i filtri" - -msgid "Remove from sorting" -msgstr "Elimina dall'ordinamento" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Priorità d'ordinamento: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Abilita/disabilita ordinamento" - -msgid "Delete" -msgstr "Cancella" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"La cancellazione di %(object_name)s '%(escaped_object)s' causerebbe la " -"cancellazione di oggetti collegati, ma questo account non ha i permessi per " -"cancellare i seguenti tipi di oggetti:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"La cancellazione di %(object_name)s '%(escaped_object)s' richiederebbe " -"l'eliminazione dei seguenti oggetti protetti correlati:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Sicuro di voler cancellare %(object_name)s \"%(escaped_object)s\"? Tutti i " -"seguenti oggetti collegati verranno cancellati:" - -msgid "Objects" -msgstr "Oggetti" - -msgid "Yes, I’m sure" -msgstr "Sì, sono sicuro" - -msgid "No, take me back" -msgstr "No, torna indietro" - -msgid "Delete multiple objects" -msgstr "Cancella più oggetti" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Per eliminare l'elemento %(objects_name)s selezionato è necessario rimuovere " -"anche gli oggetti correlati, ma il tuo account non dispone " -"dell'autorizzazione a eliminare i seguenti tipi di oggetti:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"L'eliminazione dell'elemento %(objects_name)s selezionato richiederebbe la " -"rimozione dei seguenti oggetti protetti correlati:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Confermi la cancellazione dell'elemento %(objects_name)s selezionato? " -"Saranno rimossi tutti i seguenti oggetti e le loro voci correlate:" - -msgid "Delete?" -msgstr "Cancellare?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " Per %(filter_title)s " - -msgid "Summary" -msgstr "Riepilogo" - -msgid "Recent actions" -msgstr "Azioni recenti" - -msgid "My actions" -msgstr "Le mie azioni" - -msgid "None available" -msgstr "Nulla disponibile" - -msgid "Unknown content" -msgstr "Contenuto sconosciuto" - -msgid "" -"Something’s wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Ci sono problemi nell'installazione del database. Assicurati che le tabelle " -"del database siano state create, e che il database sia leggibile dall'utente " -"corretto." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"Ti sei autenticato come %(username)s, ma non sei autorizzato ad accedere a " -"questa pagina. Vorresti autenticarti con un altro account?" - -msgid "Forgotten your password or username?" -msgstr "Hai dimenticato la password o lo username?" - -msgid "Toggle navigation" -msgstr "Abilita/disabilita navigazione" - -msgid "Date/time" -msgstr "Data/ora" - -msgid "User" -msgstr "Utente" - -msgid "Action" -msgstr "Azione" - -msgid "" -"This object doesn’t have a change history. It probably wasn’t added via this " -"admin site." -msgstr "" -"Questo oggetto non ha cambiamenti registrati. Probabilmente non è stato " -"creato con questo sito di amministrazione." - -msgid "Show all" -msgstr "Mostra tutto" - -msgid "Save" -msgstr "Salva" - -msgid "Popup closing…" -msgstr "Chiusura popup..." - -msgid "Search" -msgstr "Cerca" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s risultato" -msgstr[1] "%(counter)s risultati" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s in tutto" - -msgid "Save as new" -msgstr "Salva come nuovo" - -msgid "Save and add another" -msgstr "Salva e aggiungi un altro" - -msgid "Save and continue editing" -msgstr "Salva e continua le modifiche" - -msgid "Save and view" -msgstr "Salva e visualizza" - -msgid "Close" -msgstr "Chiudi" - -#, python-format -msgid "Change selected %(model)s" -msgstr "Modifica la selezione %(model)s" - -#, python-format -msgid "Add another %(model)s" -msgstr "Aggiungi un altro %(model)s" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Elimina la selezione %(model)s" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Grazie per aver speso il tuo tempo prezioso su questo sito oggi." - -msgid "Log in again" -msgstr "Accedi di nuovo" - -msgid "Password change" -msgstr "Cambio password" - -msgid "Your password was changed." -msgstr "La tua password è stata cambiata." - -msgid "" -"Please enter your old password, for security’s sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Inserisci la password attuale, per ragioni di sicurezza, e poi la nuova " -"password due volte, per verificare di averla scritta correttamente." - -msgid "Change my password" -msgstr "Modifica la mia password" - -msgid "Password reset" -msgstr "Reimposta la password" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "La tua password è stata impostata. Ora puoi effettuare l'accesso." - -msgid "Password reset confirmation" -msgstr "Conferma reimpostazione password" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Inserisci la nuova password due volte, per verificare di averla scritta " -"correttamente." - -msgid "New password:" -msgstr "Nuova password:" - -msgid "Confirm password:" -msgstr "Conferma la password:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Il link per la reimpostazione della password non era valido, forse perché " -"era già stato usato. Richiedi una nuova reimpostazione della password." - -msgid "" -"We’ve emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Abbiamo inviato istruzioni per impostare la password all'indirizzo email che " -"hai indicato. Dovresti riceverle a breve a patto che l'indirizzo che hai " -"inserito sia valido." - -msgid "" -"If you don’t receive an email, please make sure you’ve entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Se non ricevi un messaggio email, accertati di aver inserito l'indirizzo con " -"cui ti sei registrato, e controlla la cartella dello spam." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"Ricevi questa mail perché hai richiesto di reimpostare la password del tuo " -"account utente presso %(site_name)s." - -msgid "Please go to the following page and choose a new password:" -msgstr "Vai alla pagina seguente e scegli una nuova password:" - -msgid "Your username, in case you’ve forgotten:" -msgstr "Il tuo nome utente, in caso tu l'abbia dimenticato:" - -msgid "Thanks for using our site!" -msgstr "Grazie per aver usato il nostro sito!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "Il team di %(site_name)s" - -msgid "" -"Forgotten your password? Enter your email address below, and we’ll email " -"instructions for setting a new one." -msgstr "" -"Password dimenticata? Inserisci il tuo indirizzo email qui sotto, e ti " -"invieremo istruzioni per impostarne una nuova." - -msgid "Email address:" -msgstr "Indirizzo email:" - -msgid "Reset my password" -msgstr "Reimposta la mia password" - -msgid "All dates" -msgstr "Tutte le date" - -#, python-format -msgid "Select %s" -msgstr "Scegli %s" - -#, python-format -msgid "Select %s to change" -msgstr "Scegli %s da modificare" - -#, python-format -msgid "Select %s to view" -msgstr "Seleziona %s per visualizzarlo" - -msgid "Date:" -msgstr "Data:" - -msgid "Time:" -msgstr "Ora:" - -msgid "Lookup" -msgstr "Consultazione" - -msgid "Currently:" -msgstr "Attualmente:" - -msgid "Change:" -msgstr "Modifica:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/it/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/it/LC_MESSAGES/djangojs.mo deleted file mode 100644 index f1607f56..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/it/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/it/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/it/LC_MESSAGES/djangojs.po deleted file mode 100644 index 06110738..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/it/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,224 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Denis Darii , 2011 -# Jannis Leidel , 2011 -# Luciano De Falco Alfano, 2016 -# Marco Bonetti, 2014 -# Mirco Grillo , 2020 -# Nicola Larosa , 2011-2012 -# palmux , 2015 -# Stefano Brentegani , 2015 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-11 20:56+0200\n" -"PO-Revision-Date: 2020-07-23 08:40+0000\n" -"Last-Translator: Mirco Grillo \n" -"Language-Team: Italian (http://www.transifex.com/django/django/language/" -"it/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: it\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "%s disponibili" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Questa è la lista dei %s disponibili. Puoi sceglierne alcuni selezionandoli " -"nella casella qui sotto e poi facendo clic sulla freccia \"Scegli\" tra le " -"due caselle." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "Scrivi in questa casella per filtrare l'elenco dei %s disponibili." - -msgid "Filter" -msgstr "Filtro" - -msgid "Choose all" -msgstr "Scegli tutto" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Fai clic per scegliere tutti i %s in una volta." - -msgid "Choose" -msgstr "Scegli" - -msgid "Remove" -msgstr "Elimina" - -#, javascript-format -msgid "Chosen %s" -msgstr "%s scelti" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Questa è la lista dei %s scelti. Puoi eliminarne alcuni selezionandoli nella " -"casella qui sotto e poi facendo clic sulla freccia \"Elimina\" tra le due " -"caselle." - -msgid "Remove all" -msgstr "Elimina tutti" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Fai clic per eliminare tutti i %s in una volta." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(sel)s di %(cnt)s selezionato" -msgstr[1] "%(sel)s di %(cnt)s selezionati" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Ci sono aggiornamenti non salvati su singoli campi modificabili. Se esegui " -"un'azione, le modifiche non salvate andranno perse." - -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 "" -"Hai selezionato un'azione, ma non hai ancora salvato le modifiche apportate " -"a campi singoli. Fai clic su OK per salvare. Poi dovrai ri-eseguire l'azione." - -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 "" -"Hai selezionato un'azione, e non hai ancora apportato alcuna modifica a " -"campi singoli. Probabilmente stai cercando il pulsante Vai, invece di Salva." - -msgid "Now" -msgstr "Adesso" - -msgid "Midnight" -msgstr "Mezzanotte" - -msgid "6 a.m." -msgstr "6 del mattino" - -msgid "Noon" -msgstr "Mezzogiorno" - -msgid "6 p.m." -msgstr "6 del pomeriggio" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Nota: Sei %s ora in anticipo rispetto al server." -msgstr[1] "Nota: Sei %s ore in anticipo rispetto al server." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Nota: Sei %s ora in ritardo rispetto al server." -msgstr[1] "Nota: Sei %s ore in ritardo rispetto al server." - -msgid "Choose a Time" -msgstr "Scegli un orario" - -msgid "Choose a time" -msgstr "Scegli un orario" - -msgid "Cancel" -msgstr "Annulla" - -msgid "Today" -msgstr "Oggi" - -msgid "Choose a Date" -msgstr "Scegli una data" - -msgid "Yesterday" -msgstr "Ieri" - -msgid "Tomorrow" -msgstr "Domani" - -msgid "January" -msgstr "Gennaio" - -msgid "February" -msgstr "Febbraio" - -msgid "March" -msgstr "Marzo" - -msgid "April" -msgstr "Aprile" - -msgid "May" -msgstr "Maggio" - -msgid "June" -msgstr "Giugno" - -msgid "July" -msgstr "Luglio" - -msgid "August" -msgstr "Agosto" - -msgid "September" -msgstr "Settembre" - -msgid "October" -msgstr "Ottobre" - -msgid "November" -msgstr "Novembre" - -msgid "December" -msgstr "Dicembre" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "D" - -msgctxt "one letter Monday" -msgid "M" -msgstr "L" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "Ma" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "Me" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "G" - -msgctxt "one letter Friday" -msgid "F" -msgstr "V" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "S" - -msgid "Show" -msgstr "Mostra" - -msgid "Hide" -msgstr "Nascondi" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ja/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ja/LC_MESSAGES/django.mo deleted file mode 100644 index 648ee5b6..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ja/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ja/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ja/LC_MESSAGES/django.po deleted file mode 100644 index 044e9a43..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ja/LC_MESSAGES/django.po +++ /dev/null @@ -1,716 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# akiyoko , 2020 -# Claude Paroz , 2016 -# GOTO Hayato , 2019 -# Jannis Leidel , 2011 -# Shinichi Katsumata , 2019 -# Shinya Okano , 2012-2018 -# Takuya N , 2020 -# Tetsuya Morimoto , 2011 -# 上田慶祐 , 2015 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-14 19:53+0200\n" -"PO-Revision-Date: 2020-08-18 04:06+0000\n" -"Last-Translator: akiyoko \n" -"Language-Team: Japanese (http://www.transifex.com/django/django/language/" -"ja/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ja\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "%(count)d 個の %(items)s を削除しました。" - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "%(name)s が削除できません" - -msgid "Are you sure?" -msgstr "よろしいですか?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "選択された %(verbose_name_plural)s の削除" - -msgid "Administration" -msgstr "管理" - -msgid "All" -msgstr "全て" - -msgid "Yes" -msgstr "はい" - -msgid "No" -msgstr "いいえ" - -msgid "Unknown" -msgstr "不明" - -msgid "Any date" -msgstr "いつでも" - -msgid "Today" -msgstr "今日" - -msgid "Past 7 days" -msgstr "過去 7 日間" - -msgid "This month" -msgstr "今月" - -msgid "This year" -msgstr "今年" - -msgid "No date" -msgstr "日付なし" - -msgid "Has date" -msgstr "日付あり" - -msgid "Empty" -msgstr "空" - -msgid "Not empty" -msgstr "空でない" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"スタッフアカウントの正しい%(username)sとパスワードを入力してください。どちら" -"のフィールドも大文字と小文字は区別されます。" - -msgid "Action:" -msgstr "操作:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "%(verbose_name)s の追加" - -msgid "Remove" -msgstr "削除" - -msgid "Addition" -msgstr "追加" - -msgid "Change" -msgstr "変更" - -msgid "Deletion" -msgstr "削除" - -msgid "action time" -msgstr "操作時刻" - -msgid "user" -msgstr "ユーザー" - -msgid "content type" -msgstr "コンテンツタイプ" - -msgid "object id" -msgstr "オブジェクト ID" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "オブジェクトの文字列表現" - -msgid "action flag" -msgstr "操作種別" - -msgid "change message" -msgstr "変更メッセージ" - -msgid "log entry" -msgstr "ログエントリー" - -msgid "log entries" -msgstr "ログエントリー" - -#, python-format -msgid "Added “%(object)s”." -msgstr "“%(object)s” を追加しました。" - -#, python-format -msgid "Changed “%(object)s” — %(changes)s" -msgstr "“%(object)s” を変更しました — %(changes)s" - -#, python-format -msgid "Deleted “%(object)s.”" -msgstr "“%(object)s” を削除しました。" - -msgid "LogEntry Object" -msgstr "ログエントリー オブジェクト" - -#, python-brace-format -msgid "Added {name} “{object}”." -msgstr "{name} “{object}” を追加しました。" - -msgid "Added." -msgstr "追加されました。" - -msgid "and" -msgstr "と" - -#, python-brace-format -msgid "Changed {fields} for {name} “{object}”." -msgstr "{name} “{object}” の {fields} を変更しました。" - -#, python-brace-format -msgid "Changed {fields}." -msgstr "{fields} を変更しました。" - -#, python-brace-format -msgid "Deleted {name} “{object}”." -msgstr "{name} “{object}” を削除しました。" - -msgid "No fields changed." -msgstr "変更はありませんでした。" - -msgid "None" -msgstr "None" - -msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." -msgstr "" -"複数選択するときには Control キーを押したまま選択してください。Mac は " -"Command キーを使ってください" - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully." -msgstr "{name} “{obj}” を追加しました。" - -msgid "You may edit it again below." -msgstr "以下で再度編集できます。" - -#, python-brace-format -msgid "" -"The {name} “{obj}” was added successfully. You may add another {name} below." -msgstr "{name} “{obj}” を追加しました。別の {name} を以下から追加できます。" - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may edit it again below." -msgstr "{name} “{obj}” を変更しました。以下から再度編集できます。" - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully. You may edit it again below." -msgstr "{name} “{obj}” を追加しました。続けて編集できます。" - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may add another {name} " -"below." -msgstr "{name} “{obj}” を変更しました。 別の {name} を以下から追加できます。" - -#, python-brace-format -msgid "The {name} “{obj}” was changed successfully." -msgstr "{name} “{obj}” を変更しました。" - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"操作を実行するには、対象を選択する必要があります。何も変更されませんでした。" - -msgid "No action selected." -msgstr "操作が選択されていません。" - -#, python-format -msgid "The %(name)s “%(obj)s” was deleted successfully." -msgstr "%(name)s “%(obj)s” を削除しました。" - -#, python-format -msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" -msgstr "" -"ID “%(key)s” の%(name)sは見つかりませんでした。削除された可能性があります。" - -#, python-format -msgid "Add %s" -msgstr "%s を追加" - -#, python-format -msgid "Change %s" -msgstr "%s を変更" - -#, python-format -msgid "View %s" -msgstr "%sを表示" - -msgid "Database error" -msgstr "データベースエラー" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s 個の %(name)s を変更しました。" - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s 個選択されました" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "%(cnt)s個の内ひとつも選択されていません" - -#, python-format -msgid "Change history: %s" -msgstr "変更履歴: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"%(class_name)s %(instance)s を削除するには以下の保護された関連オブジェクトを" -"削除することになります: %(related_objects)s" - -msgid "Django site admin" -msgstr "Django サイト管理" - -msgid "Django administration" -msgstr "Django 管理サイト" - -msgid "Site administration" -msgstr "サイト管理" - -msgid "Log in" -msgstr "ログイン" - -#, python-format -msgid "%(app)s administration" -msgstr "%(app)s 管理" - -msgid "Page not found" -msgstr "ページが見つかりません" - -msgid "We’re sorry, but the requested page could not be found." -msgstr "申し訳ありませんが、お探しのページは見つかりませんでした。" - -msgid "Home" -msgstr "ホーム" - -msgid "Server error" -msgstr "サーバーエラー" - -msgid "Server error (500)" -msgstr "サーバーエラー (500)" - -msgid "Server Error (500)" -msgstr "サーバーエラー (500)" - -msgid "" -"There’s been an error. It’s been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"エラーが発生しました。サイト管理者にメールで報告されたので、修正されるまでし" -"ばらくお待ちください。" - -msgid "Run the selected action" -msgstr "選択された操作を実行" - -msgid "Go" -msgstr "実行" - -msgid "Click here to select the objects across all pages" -msgstr "全ページの項目を選択するにはここをクリック" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "%(total_count)s個ある%(module_name)s を全て選択" - -msgid "Clear selection" -msgstr "選択を解除" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "%(name)s アプリケーション内のモデル" - -msgid "Add" -msgstr "追加" - -msgid "View" -msgstr "表示" - -msgid "You don’t have permission to view or edit anything." -msgstr "表示または変更のためのパーミッションがありません。" - -msgid "" -"First, enter a username and password. Then, you’ll be able to edit more user " -"options." -msgstr "" -"まずユーザー名とパスワードを登録してください。その後詳細情報が編集可能になり" -"ます。" - -msgid "Enter a username and password." -msgstr "ユーザー名とパスワードを入力してください。" - -msgid "Change password" -msgstr "パスワードの変更" - -msgid "Please correct the error below." -msgstr "下記のエラーを修正してください。" - -msgid "Please correct the errors below." -msgstr "下記のエラーを修正してください。" - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "" -"%(username)sさんの新しいパスワードを入力してください。" - -msgid "Welcome," -msgstr "ようこそ" - -msgid "View site" -msgstr "サイトを表示" - -msgid "Documentation" -msgstr "ドキュメント" - -msgid "Log out" -msgstr "ログアウト" - -#, python-format -msgid "Add %(name)s" -msgstr "%(name)s を追加" - -msgid "History" -msgstr "履歴" - -msgid "View on site" -msgstr "サイト上で表示" - -msgid "Filter" -msgstr "フィルター" - -msgid "Clear all filters" -msgstr "全てのフィルターを解除" - -msgid "Remove from sorting" -msgstr "ソート条件から外します" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "ソート優先順位: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "昇順降順を切り替えます" - -msgid "Delete" -msgstr "削除" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"%(object_name)s '%(escaped_object)s' の削除時に関連づけられたオブジェクトも削" -"除しようとしましたが、あなたのアカウントには以下のタイプのオブジェクトを削除" -"するパーミッションがありません:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"%(object_name)s '%(escaped_object)s' を削除するには以下の保護された関連オブ" -"ジェクトを削除することになります:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"%(object_name)s \"%(escaped_object)s\"を削除しますか? 関連づけられている以下" -"のオブジェクトも全て削除されます:" - -msgid "Objects" -msgstr "オブジェクト" - -msgid "Yes, I’m sure" -msgstr "はい、大丈夫です" - -msgid "No, take me back" -msgstr "戻る" - -msgid "Delete multiple objects" -msgstr "複数のオブジェクトを削除します" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"選択した %(objects_name)s を削除すると関連するオブジェクトも削除しますが、あ" -"なたのアカウントは以下のオブジェクト型を削除する権限がありません:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"選択した %(objects_name)s を削除すると以下の保護された関連オブジェクトを削除" -"することになります:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"本当に選択した %(objects_name)s を削除しますか? 以下の全てのオブジェクトと関" -"連する要素が削除されます:" - -msgid "Delete?" -msgstr "削除しますか?" - -#, python-format -msgid " By %(filter_title)s " -msgstr "%(filter_title)s で絞り込む" - -msgid "Summary" -msgstr "概要" - -msgid "Recent actions" -msgstr "最近行った操作" - -msgid "My actions" -msgstr "自分の操作" - -msgid "None available" -msgstr "利用不可" - -msgid "Unknown content" -msgstr "不明なコンテント" - -msgid "" -"Something’s wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"データベースのインストールに問題があります。適切なデータベーステーブルが作ら" -"れているか、適切なユーザーがデータベースを読み込み可能かを確認してください。" - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"あなたは %(username)s として認証されましたが、このページへのアクセス許可があ" -"りません。他のアカウントでログインしますか?" - -msgid "Forgotten your password or username?" -msgstr "パスワードまたはユーザー名を忘れましたか?" - -msgid "Toggle navigation" -msgstr "" - -msgid "Date/time" -msgstr "日付/時刻" - -msgid "User" -msgstr "ユーザー" - -msgid "Action" -msgstr "操作" - -msgid "" -"This object doesn’t have a change history. It probably wasn’t added via this " -"admin site." -msgstr "" -"このオブジェクトには変更履歴がありません。おそらくこの管理サイトで追加したも" -"のではありません。" - -msgid "Show all" -msgstr "全件表示" - -msgid "Save" -msgstr "保存" - -msgid "Popup closing…" -msgstr "ポップアップを閉じています..." - -msgid "Search" -msgstr "検索" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "結果 %(counter)s" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "全 %(full_result_count)s 件" - -msgid "Save as new" -msgstr "新規保存" - -msgid "Save and add another" -msgstr "保存してもう一つ追加" - -msgid "Save and continue editing" -msgstr "保存して編集を続ける" - -msgid "Save and view" -msgstr "保存して表示" - -msgid "Close" -msgstr "閉じる" - -#, python-format -msgid "Change selected %(model)s" -msgstr "選択された %(model)s の変更" - -#, python-format -msgid "Add another %(model)s" -msgstr "%(model)s の追加" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "選択された %(model)s を削除" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "ご利用ありがとうございました。" - -msgid "Log in again" -msgstr "もう一度ログイン" - -msgid "Password change" -msgstr "パスワードの変更" - -msgid "Your password was changed." -msgstr "あなたのパスワードは変更されました" - -msgid "" -"Please enter your old password, for security’s sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"セキュリティ上の理由から元のパスワードの入力が必要です。新しいパスワードは正" -"しく入力したか確認できるように二度入力してください。" - -msgid "Change my password" -msgstr "パスワードの変更" - -msgid "Password reset" -msgstr "パスワードをリセット" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "パスワードがセットされました。ログインしてください。" - -msgid "Password reset confirmation" -msgstr "パスワードリセットの確認" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "確認のために、新しいパスワードを二回入力してください。" - -msgid "New password:" -msgstr "新しいパスワード:" - -msgid "Confirm password:" -msgstr "新しいパスワード (確認用) :" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"パスワードリセットのリンクが不正です。おそらくこのリンクは既に使われていま" -"す。もう一度パスワードリセットしてください。" - -msgid "" -"We’ve emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"入力されたメールアドレスを持つアカウントが存在する場合、パスワードを設定する" -"ためのメールを送信しました。すぐに届くはずです。" - -msgid "" -"If you don’t receive an email, please make sure you’ve entered the address " -"you registered with, and check your spam folder." -msgstr "" -"メールが届かない場合は、登録したメールアドレスを入力したか確認し、スパムフォ" -"ルダに入っていないか確認してください。" - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"このメールは %(site_name)s で、あなたのアカウントのパスワードリセットが要求さ" -"れたため、送信されました。" - -msgid "Please go to the following page and choose a new password:" -msgstr "次のページで新しいパスワードを選んでください:" - -msgid "Your username, in case you’ve forgotten:" -msgstr "あなたのユーザー名 (もし忘れていたら):" - -msgid "Thanks for using our site!" -msgstr "ご利用ありがとうございました!" - -#, python-format -msgid "The %(site_name)s team" -msgstr " %(site_name)s チーム" - -msgid "" -"Forgotten your password? Enter your email address below, and we’ll email " -"instructions for setting a new one." -msgstr "" -"パスワードを忘れましたか? メールアドレスを以下に入力すると、新しいパスワード" -"の設定方法をお知らせします。" - -msgid "Email address:" -msgstr "メールアドレス:" - -msgid "Reset my password" -msgstr "パスワードをリセット" - -msgid "All dates" -msgstr "いつでも" - -#, python-format -msgid "Select %s" -msgstr "%s を選択" - -#, python-format -msgid "Select %s to change" -msgstr "変更する %s を選択" - -#, python-format -msgid "Select %s to view" -msgstr "表示する%sを選択" - -msgid "Date:" -msgstr "日付:" - -msgid "Time:" -msgstr "時刻:" - -msgid "Lookup" -msgstr "検索" - -msgid "Currently:" -msgstr "現在の値:" - -msgid "Change:" -msgstr "変更後:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ja/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ja/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 24824f82..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ja/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ja/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ja/LC_MESSAGES/djangojs.po deleted file mode 100644 index 3768547c..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ja/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,213 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Jannis Leidel , 2011 -# Shinya Okano , 2012,2014-2016 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-05-17 11:50+0200\n" -"PO-Revision-Date: 2017-09-19 16:41+0000\n" -"Last-Translator: Shinya Okano \n" -"Language-Team: Japanese (http://www.transifex.com/django/django/language/" -"ja/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ja\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#, javascript-format -msgid "Available %s" -msgstr "利用可能 %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"これが使用可能な %s のリストです。下のボックスで項目を選択し、2つのボックス間" -"の \"選択\"の矢印をクリックして、いくつかを選択することができます。" - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "使用可能な %s のリストを絞り込むには、このボックスに入力します。" - -msgid "Filter" -msgstr "フィルター" - -msgid "Choose all" -msgstr "全て選択" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "クリックするとすべての %s を選択します。" - -msgid "Choose" -msgstr "選択" - -msgid "Remove" -msgstr "削除" - -#, javascript-format -msgid "Chosen %s" -msgstr "選択された %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"これが選択された %s のリストです。下のボックスで選択し、2つのボックス間の " -"\"削除\"矢印をクリックして一部を削除することができます。" - -msgid "Remove all" -msgstr "すべて削除" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "クリックするとすべての %s を選択から削除します。" - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(cnt)s個中%(sel)s個選択" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"フィールドに未保存の変更があります。操作を実行すると未保存の変更は失われま" -"す。" - -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 "" -"操作を選択しましたが、フィールドに未保存の変更があります。OKをクリックして保" -"存してください。その後、操作を再度実行する必要があります。" - -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 "" -"操作を選択しましたが、フィールドに変更はありませんでした。もしかして保存ボタ" -"ンではなくて実行ボタンをお探しですか。" - -msgid "Now" -msgstr "現在" - -msgid "Midnight" -msgstr "0時" - -msgid "6 a.m." -msgstr "午前 6 時" - -msgid "Noon" -msgstr "12時" - -msgid "6 p.m." -msgstr "午後 6 時" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "ノート: あなたの環境はサーバー時間より、%s時間進んでいます。" - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "ノート: あなたの環境はサーバー時間より、%s時間遅れています。" - -msgid "Choose a Time" -msgstr "時間を選択" - -msgid "Choose a time" -msgstr "時間を選択" - -msgid "Cancel" -msgstr "キャンセル" - -msgid "Today" -msgstr "今日" - -msgid "Choose a Date" -msgstr "日付を選択" - -msgid "Yesterday" -msgstr "昨日" - -msgid "Tomorrow" -msgstr "明日" - -msgid "January" -msgstr "1月" - -msgid "February" -msgstr "2月" - -msgid "March" -msgstr "3月" - -msgid "April" -msgstr "4月" - -msgid "May" -msgstr "5月" - -msgid "June" -msgstr "6月" - -msgid "July" -msgstr "7月" - -msgid "August" -msgstr "8月" - -msgid "September" -msgstr "9月" - -msgid "October" -msgstr "10月" - -msgid "November" -msgstr "11月" - -msgid "December" -msgstr "12月" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "日" - -msgctxt "one letter Monday" -msgid "M" -msgstr "月" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "火" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "水" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "木" - -msgctxt "one letter Friday" -msgid "F" -msgstr "金" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "土" - -msgid "Show" -msgstr "表示" - -msgid "Hide" -msgstr "非表示" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ka/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ka/LC_MESSAGES/django.mo deleted file mode 100644 index ed45180d..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ka/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ka/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ka/LC_MESSAGES/django.po deleted file mode 100644 index 75aee9c5..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ka/LC_MESSAGES/django.po +++ /dev/null @@ -1,699 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# André Bouatchidzé , 2013-2015 -# David A. , 2011 -# Jannis Leidel , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-01-16 20:42+0100\n" -"PO-Revision-Date: 2019-01-18 00:36+0000\n" -"Last-Translator: Ramiro Morales\n" -"Language-Team: Georgian (http://www.transifex.com/django/django/language/" -"ka/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ka\n" -"Plural-Forms: nplurals=2; plural=(n!=1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "%(count)d %(items)s წარმატებით წაიშალა." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "%(name)s ვერ იშლება" - -msgid "Are you sure?" -msgstr "დარწმუნებული ხართ?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "არჩეული %(verbose_name_plural)s-ის წაშლა" - -msgid "Administration" -msgstr "ადმინისტრირება" - -msgid "All" -msgstr "ყველა" - -msgid "Yes" -msgstr "კი" - -msgid "No" -msgstr "არა" - -msgid "Unknown" -msgstr "გაურკვეველი" - -msgid "Any date" -msgstr "ნებისმიერი თარიღი" - -msgid "Today" -msgstr "დღეს" - -msgid "Past 7 days" -msgstr "ბოლო 7 დღე" - -msgid "This month" -msgstr "მიმდინარე თვე" - -msgid "This year" -msgstr "მიმდინარე წელი" - -msgid "No date" -msgstr "" - -msgid "Has date" -msgstr "" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"გთხოვთ, შეიყვანოთ სწორი %(username)s და პაროლი პერსონალის ანგარიშისთვის. " -"იქონიეთ მხედველობაში, რომ ორივე ველი ითვალისწინებს მთავრულს." - -msgid "Action:" -msgstr "მოქმედება:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "კიდევ ერთი %(verbose_name)s-ის დამატება" - -msgid "Remove" -msgstr "წაშლა" - -msgid "Addition" -msgstr "" - -msgid "Change" -msgstr "შეცვლა" - -msgid "Deletion" -msgstr "" - -msgid "action time" -msgstr "მოქმედების დრო" - -msgid "user" -msgstr "" - -msgid "content type" -msgstr "" - -msgid "object id" -msgstr "ობიექტის id" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "ობიექტის წარმ." - -msgid "action flag" -msgstr "მოქმედების დროშა" - -msgid "change message" -msgstr "შეცვლის შეტყობინება" - -msgid "log entry" -msgstr "ლოგის ერთეული" - -msgid "log entries" -msgstr "ლოგის ერთეულები" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "დამატებულია \"%(object)s\"." - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "შეცვლილია \"%(object)s\" - %(changes)s" - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "წაშლილია \"%(object)s.\"" - -msgid "LogEntry Object" -msgstr "ჟურნალის ჩანაწერის ობიექტი" - -#, python-brace-format -msgid "Added {name} \"{object}\"." -msgstr "" - -msgid "Added." -msgstr "" - -msgid "and" -msgstr "და" - -#, python-brace-format -msgid "Changed {fields} for {name} \"{object}\"." -msgstr "" - -#, python-brace-format -msgid "Changed {fields}." -msgstr "" - -#, python-brace-format -msgid "Deleted {name} \"{object}\"." -msgstr "" - -msgid "No fields changed." -msgstr "არცერთი ველი არ შეცვლილა." - -msgid "None" -msgstr "არცერთი" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "" - -msgid "You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was changed successfully." -msgstr "" - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"ობიექტებზე მოქმედებების შესასრულებლად ისინი არჩეული უნდა იყოს. არცერთი " -"ობიექტი არჩეული არ არის." - -msgid "No action selected." -msgstr "მოქმედება არჩეული არ არის." - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "%(name)s \"%(obj)s\" წარმატებით წაიშალა." - -#, python-format -msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" -msgstr "" - -#, python-format -msgid "Add %s" -msgstr "დავამატოთ %s" - -#, python-format -msgid "Change %s" -msgstr "შევცვალოთ %s" - -#, python-format -msgid "View %s" -msgstr "" - -msgid "Database error" -msgstr "მონაცემთა ბაზის შეცდომა" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s წარმატებით შეიცვალა." -msgstr[1] "%(count)s %(name)s წარმატებით შეიცვალა." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s-ია არჩეული" -msgstr[1] "%(total_count)s-ია არჩეული" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "%(cnt)s-დან არცერთი არჩეული არ არის" - -#, python-format -msgid "Change history: %s" -msgstr "ცვლილებების ისტორია: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" - -msgid "Django site admin" -msgstr "Django-ს ადმინისტრირების საიტი" - -msgid "Django administration" -msgstr "Django-ს ადმინისტრირება" - -msgid "Site administration" -msgstr "საიტის ადმინისტრირება" - -msgid "Log in" -msgstr "შესვლა" - -#, python-format -msgid "%(app)s administration" -msgstr "%(app)s ადმინისტრირება" - -msgid "Page not found" -msgstr "გვერდი ვერ მოიძებნა" - -msgid "We're sorry, but the requested page could not be found." -msgstr "უკაცრავად, მოთხოვნილი გვერდი ვერ მოიძებნა." - -msgid "Home" -msgstr "საწყისი გვერდი" - -msgid "Server error" -msgstr "სერვერის შეცდომა" - -msgid "Server error (500)" -msgstr "სერვერის შეცდომა (500)" - -msgid "Server Error (500)" -msgstr "სერვერის შეცდომა (500)" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"მოხდა შეცდომა. ინფორმაცია მასზე გადაეცა საიტის ადმინისტრატორებს ელ. ფოსტით " -"და ის უნდა შესწორდეს უმოკლეს ვადებში. გმადლობთ მოთმინებისთვის." - -msgid "Run the selected action" -msgstr "არჩეული მოქმედების შესრულება" - -msgid "Go" -msgstr "გადასვლა" - -msgid "Click here to select the objects across all pages" -msgstr "ყველა გვერდზე არსებული ობიექტის მოსანიშნად დააწკაპეთ აქ" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "ყველა %(total_count)s %(module_name)s-ის მონიშვნა" - -msgid "Clear selection" -msgstr "მონიშვნის გასუფთავება" - -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" -"ჯერ შეიყვანეთ მომხმარებლის სახელი და პაროლი. ამის შემდეგ თქვენ გექნებათ " -"მომხმარებლის სხვა ოპციების რედაქტირების შესაძლებლობა." - -msgid "Enter a username and password." -msgstr "შეიყვანეთ მომხმარებლის სახელი და პაროლი" - -msgid "Change password" -msgstr "პაროლის შეცვლა" - -msgid "Please correct the error below." -msgstr "" - -msgid "Please correct the errors below." -msgstr "გთხოვთ, შეასწოროთ ქვემოთმოყვანილი შეცდომები." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "" -"შეიყვანეთ ახალი პაროლი მომხმარებლისათვის %(username)s." - -msgid "Welcome," -msgstr "კეთილი იყოს თქვენი მობრძანება," - -msgid "View site" -msgstr "საიტის ნახვა" - -msgid "Documentation" -msgstr "დოკუმენტაცია" - -msgid "Log out" -msgstr "გამოსვლა" - -#, python-format -msgid "Add %(name)s" -msgstr "დავამატოთ %(name)s" - -msgid "History" -msgstr "ისტორია" - -msgid "View on site" -msgstr "წარმოდგენა საიტზე" - -msgid "Filter" -msgstr "ფილტრი" - -msgid "Remove from sorting" -msgstr "დალაგებიდან მოშორება" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "დალაგების პრიორიტეტი: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "დალაგების გადართვა" - -msgid "Delete" -msgstr "წავშალოთ" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"ობიექტების წაშლა: %(object_name)s '%(escaped_object)s' გამოიწვევს " -"დაკავშირებული ობიექტების წაშლას, მაგრამ თქვენ არა გაქვთ შემდეგი ტიპების " -"ობიექტების წაშლის უფლება:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"%(object_name)s ტიპის '%(escaped_object)s' ობიექტის წაშლა მოითხოვს ასევე " -"შემდეგი დაკავშირებული ობიექტების წაშლას:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"ნამდვილად გსურთ, წაშალოთ %(object_name)s \"%(escaped_object)s\"? ყველა " -"ქვემოთ მოყვანილი დაკავშირებული ობიექტი წაშლილი იქნება:" - -msgid "Objects" -msgstr "ობიექტები" - -msgid "Yes, I'm sure" -msgstr "კი, ნამდვილად" - -msgid "No, take me back" -msgstr "არა, დამაბრუნეთ უკან" - -msgid "Delete multiple objects" -msgstr "რამდენიმე ობიექტის წაშლა" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"%(objects_name)s ტიპის ობიექტის წაშლა ითხოვს ასევე შემდეგი ობიექტების " -"წაშლას, მაგრამ თქვენ არ გაქვთ ამის ნებართვა:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"არჩეული %(objects_name)s ობიექტის წაშლა მოითხოვს ასევე შემდეგი დაცული " -"დაკავშირეული ობიექტების წაშლას:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"დარწმუნებული ხართ, რომ გსურთ %(objects_name)s ობიექტის წაშლა? ყველა შემდეგი " -"ობიექტი, და მათზე დამოკიდებული ჩანაწერები წაშლილი იქნება:" - -msgid "View" -msgstr "" - -msgid "Delete?" -msgstr "წავშალოთ?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " %(filter_title)s მიხედვით " - -msgid "Summary" -msgstr "შეჯამება" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "მოდელები %(name)s აპლიკაციაში" - -msgid "Add" -msgstr "დამატება" - -msgid "You don't have permission to view or edit anything." -msgstr "" - -msgid "Recent actions" -msgstr "" - -msgid "My actions" -msgstr "" - -msgid "None available" -msgstr "არ არის მისაწვდომი" - -msgid "Unknown content" -msgstr "უცნობი შიგთავსი" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"თქვენი მონაცემთა ბაზის ინსტალაცია არაკორექტულია. დარწმუნდით, რომ მონაცემთა " -"ბაზის შესაბამისი ცხრილები შექმნილია, და მონაცემთა ბაზის წაკითხვა შეუძლია " -"შესაბამის მომხმარებელს." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" - -msgid "Forgotten your password or username?" -msgstr "დაგავიწყდათ თქვენი პაროლი ან მომხმარებლის სახელი?" - -msgid "Date/time" -msgstr "თარიღი/დრო" - -msgid "User" -msgstr "მომხმარებელი" - -msgid "Action" -msgstr "მოქმედება" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" -"ამ ობიექტს ცვლილებების ისტორია არა აქვს. როგორც ჩანს, იგი არ იყო დამატებული " -"ადმინისტრირების საიტის მეშვეობით." - -msgid "Show all" -msgstr "ვაჩვენოთ ყველა" - -msgid "Save" -msgstr "შევინახოთ" - -msgid "Popup closing…" -msgstr "" - -msgid "Search" -msgstr "ძებნა" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s შედეგი" -msgstr[1] "%(counter)s შედეგი" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "სულ %(full_result_count)s" - -msgid "Save as new" -msgstr "შევინახოთ, როგორც ახალი" - -msgid "Save and add another" -msgstr "შევინახოთ და დავამატოთ ახალი" - -msgid "Save and continue editing" -msgstr "შევინახოთ და გავაგრძელოთ რედაქტირება" - -msgid "Save and view" -msgstr "" - -msgid "Close" -msgstr "" - -#, python-format -msgid "Change selected %(model)s" -msgstr "მონიშნული %(model)s-ის შეცვლა" - -#, python-format -msgid "Add another %(model)s" -msgstr "" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "მონიშნული %(model)s-ის წაშლა" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "გმადლობთ, რომ დღეს ამ საიტთან მუშაობას დაუთმეთ დრო." - -msgid "Log in again" -msgstr "ხელახლა შესვლა" - -msgid "Password change" -msgstr "პაროლის შეცვლა" - -msgid "Your password was changed." -msgstr "თქვენი პაროლი შეიცვალა." - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"გთხოვთ, უსაფრთხოების დაცვის მიზნით, შეიყვანოთ თქვენი ძველი პაროლი, შემდეგ კი " -"ახალი პაროლი ორჯერ, რათა დარწმუნდეთ, რომ იგი შეყვანილია სწორად." - -msgid "Change my password" -msgstr "შევცვალოთ ჩემი პაროლი" - -msgid "Password reset" -msgstr "პაროლის აღდგენა" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "" -"თქვენი პაროლი დაყენებულია. ახლა შეგიძლიათ გადახვიდეთ შემდეგ გვერდზე და " -"შეხვიდეთ სისტემაში." - -msgid "Password reset confirmation" -msgstr "პაროლი შეცვლის დამოწმება" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"გთხოვთ, შეიყვანეთ თქვენი ახალი პაროლი ორჯერ, რათა დავრწმუნდეთ, რომ იგი " -"სწორად ჩაბეჭდეთ." - -msgid "New password:" -msgstr "ახალი პაროლი:" - -msgid "Confirm password:" -msgstr "პაროლის დამოწმება:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"პაროლის აღდგენის ბმული არასწორი იყო, შესაძლოა იმის გამო, რომ იგი უკვე ყოფილა " -"გამოყენებული. გთხოვთ, კიდევ ერთხელ სცადოთ პაროლის აღდგენა." - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"თქვენ მიიღეთ ეს წერილი იმიტომ, რომ გააკეთეთ პაროლის თავიდან დაყენების " -"მოთხოვნა თქვენი მომხმარებლის ანგარიშისთვის %(site_name)s-ზე." - -msgid "Please go to the following page and choose a new password:" -msgstr "გთხოვთ, გადახვიდეთ შემდეგ გვერდზე და აირჩიოთ ახალი პაროლი:" - -msgid "Your username, in case you've forgotten:" -msgstr "თქვენი მომხმარებლის სახელი (თუ დაგავიწყდათ):" - -msgid "Thanks for using our site!" -msgstr "გმადლობთ, რომ იყენებთ ჩვენს საიტს!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "%(site_name)s საიტის გუნდი" - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" -"დაგავიწყდათ თქვენი პაროლი? შეიყვანეთ თქვენი ელ. ფოსტის მისამართი ქვემოთ და " -"ჩვენ გამოგიგზავნით მითითებებს ახალი პაროლის დასაყენებლად." - -msgid "Email address:" -msgstr "ელ. ფოსტის მისამართი:" - -msgid "Reset my password" -msgstr "აღვადგინოთ ჩემი პაროლი" - -msgid "All dates" -msgstr "ყველა თარიღი" - -#, python-format -msgid "Select %s" -msgstr "ავირჩიოთ %s" - -#, python-format -msgid "Select %s to change" -msgstr "აირჩიეთ %s შესაცვლელად" - -#, python-format -msgid "Select %s to view" -msgstr "" - -msgid "Date:" -msgstr "თარიღი;" - -msgid "Time:" -msgstr "დრო:" - -msgid "Lookup" -msgstr "ძიება" - -msgid "Currently:" -msgstr "ამჟამად:" - -msgid "Change:" -msgstr "შეცვლა:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ka/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ka/LC_MESSAGES/djangojs.mo deleted file mode 100644 index a66299c8..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ka/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ka/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ka/LC_MESSAGES/djangojs.po deleted file mode 100644 index 65ee60f0..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ka/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,218 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# André Bouatchidzé , 2013,2015 -# David A. , 2011 -# Jannis Leidel , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-05-17 11:50+0200\n" -"PO-Revision-Date: 2017-09-19 16:41+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Georgian (http://www.transifex.com/django/django/language/" -"ka/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ka\n" -"Plural-Forms: nplurals=2; plural=(n!=1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "მისაწვდომი %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"ეს არის მისაწვდომი %s-ის სია. ზოგიერთი მათგანის ასარჩევად, მონიშვნით ისინი " -"ქვედა სარკმელში და დააწკაპუნეთ ორ სარკმელს შორის მდებარე ისარზე \"არჩევა\" ." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "აკრიფეთ ამ სარკმელში მისაწვდომი %s-ის სიის გასაფილტრად." - -msgid "Filter" -msgstr "ფილტრი" - -msgid "Choose all" -msgstr "ავირჩიოთ ყველა" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "დააწკაპუნეთ ერთდროულად ყველა %s-ის ასარჩევად." - -msgid "Choose" -msgstr "არჩევა" - -msgid "Remove" -msgstr "წავშალოთ" - -#, javascript-format -msgid "Chosen %s" -msgstr "არჩეული %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"ეს არის არჩეული %s-ის სია. ზოგიერთი მათგანის მოსაშორებლად, მონიშვნით ისინი " -"ქვედა სარკმელში და დააწკაპუნეთ ორ სარკმელს შორის მდებარე ისარზე \"მოშორება" -"\" ." - -msgid "Remove all" -msgstr "ყველას მოშორება" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "დააწკაპუნეთ ყველა არჩეული %s-ის ერთდროულად მოსაშორებლად." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(cnt)s-დან არჩეულია %(sel)s" -msgstr[1] "%(cnt)s-დან არჩეულია %(sel)s" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"ცალკეულ ველებში შეუნახავი ცვლილებები გაქვთ! თუ მოქმედებას შეასრულებთ, " -"შეუნახავი ცვლილებები დაიკარაგება." - -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 "" -"აგირჩევიათ მოქმედება, მაგრამ ცალკეული ველები ჯერ არ შეგინახიათ! გთხოვთ, " -"შენახვისთვის დააჭიროთ OK. მოქმედების ხელახლა გაშვება მოგიწევთ." - -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 "" -"აგირჩევიათ მოქმედება, მაგრამ ცალკეულ ველებში ცვლილებები არ გაგიკეთებიათ! " -"სავარაუდოდ, ეძებთ ღილაკს \"Go\", და არა \"შენახვა\"" - -msgid "Now" -msgstr "ახლა" - -msgid "Midnight" -msgstr "შუაღამე" - -msgid "6 a.m." -msgstr "დილის 6 სთ" - -msgid "Noon" -msgstr "შუადღე" - -msgid "6 p.m." -msgstr "" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "შენიშვნა: თქვენ ხართ %s საათით წინ სერვერის დროზე." -msgstr[1] "შენიშვნა: თქვენ ხართ %s საათით წინ სერვერის დროზე." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "შენიშვნა: თქვენ ხართ %s საათით უკან სერვერის დროზე." -msgstr[1] "შენიშვნა: თქვენ ხართ %s საათით უკან სერვერის დროზე." - -msgid "Choose a Time" -msgstr "" - -msgid "Choose a time" -msgstr "ავირჩიოთ დრო" - -msgid "Cancel" -msgstr "უარი" - -msgid "Today" -msgstr "დღეს" - -msgid "Choose a Date" -msgstr "" - -msgid "Yesterday" -msgstr "გუშინ" - -msgid "Tomorrow" -msgstr "ხვალ" - -msgid "January" -msgstr "" - -msgid "February" -msgstr "" - -msgid "March" -msgstr "" - -msgid "April" -msgstr "" - -msgid "May" -msgstr "" - -msgid "June" -msgstr "" - -msgid "July" -msgstr "" - -msgid "August" -msgstr "" - -msgid "September" -msgstr "" - -msgid "October" -msgstr "" - -msgid "November" -msgstr "" - -msgid "December" -msgstr "" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "" - -msgctxt "one letter Monday" -msgid "M" -msgstr "" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "" - -msgctxt "one letter Friday" -msgid "F" -msgstr "" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "" - -msgid "Show" -msgstr "ვაჩვენოთ" - -msgid "Hide" -msgstr "დავმალოთ" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/kab/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/kab/LC_MESSAGES/django.mo deleted file mode 100644 index d095721b..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/kab/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/kab/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/kab/LC_MESSAGES/django.po deleted file mode 100644 index b3d89582..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/kab/LC_MESSAGES/django.po +++ /dev/null @@ -1,631 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-10-06 11:59+0000\n" -"Last-Translator: Muḥend Belqasem \n" -"Language-Team: Kabyle (http://www.transifex.com/django/django/language/" -"kab/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: kab\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "" - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "" - -msgid "Are you sure?" -msgstr "Tebɣiḍ?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "" - -msgid "Administration" -msgstr "Tadbelt" - -msgid "All" -msgstr "Akkw" - -msgid "Yes" -msgstr "Ih" - -msgid "No" -msgstr "Uhu" - -msgid "Unknown" -msgstr "Arussin" - -msgid "Any date" -msgstr "Yal azemz" - -msgid "Today" -msgstr "Ass-a" - -msgid "Past 7 days" -msgstr "Di 7 n wussan ineggura" - -msgid "This month" -msgstr "Aggur-agi" - -msgid "This year" -msgstr "Aseggass-agi" - -msgid "No date" -msgstr "Ulac azemz" - -msgid "Has date" -msgstr "Ɣur-s azemz" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" - -msgid "Action:" -msgstr "Tigawt:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "" - -msgid "Remove" -msgstr "Kkes" - -msgid "action time" -msgstr "akud n tigawt" - -msgid "user" -msgstr "aseqdac" - -msgid "content type" -msgstr "anaw n ugbur" - -msgid "object id" -msgstr "asulay n tɣawsa" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/3/library/functions.html#repr) -msgid "object repr" -msgstr "" - -msgid "action flag" -msgstr "anay n tigawt" - -msgid "change message" -msgstr "" - -msgid "log entry" -msgstr "anekcum n uɣmis" - -msgid "log entries" -msgstr "inekcam n uɣmis" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "" - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "" - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "" - -msgid "LogEntry Object" -msgstr "" - -#, python-brace-format -msgid "Added {name} \"{object}\"." -msgstr "" - -msgid "Added." -msgstr "yettwarna." - -msgid "and" -msgstr "akked" - -#, python-brace-format -msgid "Changed {fields} for {name} \"{object}\"." -msgstr "" - -#, python-brace-format -msgid "Changed {fields}." -msgstr "" - -#, python-brace-format -msgid "Deleted {name} \"{object}\"." -msgstr "" - -msgid "No fields changed." -msgstr "" - -msgid "None" -msgstr "Ula yiwen" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was changed successfully." -msgstr "" - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" - -msgid "No action selected." -msgstr "" - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "" - -#, python-format -msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" -msgstr "" - -#, python-format -msgid "Add %s" -msgstr "Rnu %s" - -#, python-format -msgid "Change %s" -msgstr "" - -msgid "Database error" -msgstr "Agul n database" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "" - -#, python-format -msgid "Change history: %s" -msgstr "" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" - -msgid "Django site admin" -msgstr "" - -msgid "Django administration" -msgstr "" - -msgid "Site administration" -msgstr "Asmel n tedbelt" - -msgid "Log in" -msgstr "Kcem" - -#, python-format -msgid "%(app)s administration" -msgstr "" - -msgid "Page not found" -msgstr "Asebtar ulac-it" - -msgid "We're sorry, but the requested page could not be found." -msgstr "Ad nesḥissef imi asebter i d-sutreḍ ulac-it." - -msgid "Home" -msgstr "Agejdan" - -msgid "Server error" -msgstr "Tuccḍa n uqeddac" - -msgid "Server error (500)" -msgstr "" - -msgid "Server Error (500)" -msgstr "" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" - -msgid "Run the selected action" -msgstr "" - -msgid "Go" -msgstr "Ẓer" - -msgid "Click here to select the objects across all pages" -msgstr "" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "" - -msgid "Clear selection" -msgstr "" - -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" - -msgid "Enter a username and password." -msgstr "" - -msgid "Change password" -msgstr "Beddel awal n tbaḍnit" - -msgid "Please correct the error below." -msgstr "" - -msgid "Please correct the errors below." -msgstr "" - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "" - -msgid "Welcome," -msgstr "Anṣuf," - -msgid "View site" -msgstr "Wali asmel" - -msgid "Documentation" -msgstr "Tasemlit" - -msgid "Log out" -msgstr "Asenser" - -#, python-format -msgid "Add %(name)s" -msgstr "" - -msgid "History" -msgstr "Amazray" - -msgid "View on site" -msgstr "Wali deg usmel" - -msgid "Filter" -msgstr "Tastayt" - -msgid "Remove from sorting" -msgstr "" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "" - -msgid "Toggle sorting" -msgstr "" - -msgid "Delete" -msgstr "Mḥu" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" - -msgid "Objects" -msgstr "Tiɣawsiwin" - -msgid "Yes, I'm sure" -msgstr "" - -msgid "No, take me back" -msgstr "" - -msgid "Delete multiple objects" -msgstr "" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" - -msgid "Change" -msgstr "Beddel" - -msgid "Delete?" -msgstr "Kkes?" - -#, python-format -msgid " By %(filter_title)s " -msgstr "" - -msgid "Summary" -msgstr "Agzul" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "" - -msgid "Add" -msgstr "Rnu" - -msgid "You don't have permission to edit anything." -msgstr "" - -msgid "Recent actions" -msgstr "" - -msgid "My actions" -msgstr "Tigawin-iw" - -msgid "None available" -msgstr "" - -msgid "Unknown content" -msgstr "" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" - -msgid "Forgotten your password or username?" -msgstr "" - -msgid "Date/time" -msgstr "Azemz/asrag" - -msgid "User" -msgstr "Amseqdac" - -msgid "Action" -msgstr "Tigawt" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" - -msgid "Show all" -msgstr "Sken akk" - -msgid "Save" -msgstr "Sekles" - -msgid "Popup closing..." -msgstr "" - -#, python-format -msgid "Change selected %(model)s" -msgstr "" - -#, python-format -msgid "Add another %(model)s" -msgstr "" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "" - -msgid "Search" -msgstr "Anadi" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "" - -msgid "Save as new" -msgstr "Sekles d amaynut:" - -msgid "Save and add another" -msgstr "" - -msgid "Save and continue editing" -msgstr "" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "" - -msgid "Log in again" -msgstr "" - -msgid "Password change" -msgstr "Abeddel n wawal uffir" - -msgid "Your password was changed." -msgstr "" - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" - -msgid "Change my password" -msgstr "" - -msgid "Password reset" -msgstr "Awennez n wawal uffir" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "" - -msgid "Password reset confirmation" -msgstr "Asentem n uwennez n wawal uffir" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" - -msgid "New password:" -msgstr "Awal n tbaḍnit amaynut:" - -msgid "Confirm password:" -msgstr "Sentem awal uffir" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" - -msgid "Please go to the following page and choose a new password:" -msgstr "" - -msgid "Your username, in case you've forgotten:" -msgstr "" - -msgid "Thanks for using our site!" -msgstr "" - -#, python-format -msgid "The %(site_name)s team" -msgstr "" - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" - -msgid "Email address:" -msgstr "Tansa e-mail :" - -msgid "Reset my password" -msgstr "Wennez awal-iw uffir" - -msgid "All dates" -msgstr "Izemzen merra" - -#, python-format -msgid "Select %s" -msgstr "Fren %s" - -#, python-format -msgid "Select %s to change" -msgstr "" - -msgid "Date:" -msgstr "Azemz:" - -msgid "Time:" -msgstr "Akud:" - -msgid "Lookup" -msgstr "Anadi" - -msgid "Currently:" -msgstr "Tura:" - -msgid "Change:" -msgstr "Beddel:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/kab/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/kab/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 755849a2..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/kab/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/kab/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/kab/LC_MESSAGES/djangojs.po deleted file mode 100644 index 57f70c99..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/kab/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,204 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" -"PO-Revision-Date: 2017-10-06 08:10+0000\n" -"Last-Translator: Muḥend Belqasem \n" -"Language-Team: Kabyle (http://www.transifex.com/django/django/language/" -"kab/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: kab\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "Yella %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "" - -msgid "Filter" -msgstr "Tastayt" - -msgid "Choose all" -msgstr "Fren akk" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "" - -msgid "Choose" -msgstr "Fren" - -msgid "Remove" -msgstr "kkes" - -#, javascript-format -msgid "Chosen %s" -msgstr "Ifren %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" - -msgid "Remove all" -msgstr "Kkes akk" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "" - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(sel)s si %(cnt)s yettwafren" -msgstr[1] "%(sel)s si %(cnt)s ttwafernen" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" - -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 "" - -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 "" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "" -msgstr[1] "" - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "" -msgstr[1] "" - -msgid "Now" -msgstr "Tura" - -msgid "Choose a Time" -msgstr "Fren akud:" - -msgid "Choose a time" -msgstr "Fren akud" - -msgid "Midnight" -msgstr "Ttnaṣfa n yiḍ" - -msgid "6 a.m." -msgstr "6 f.t." - -msgid "Noon" -msgstr "Ttnaṣfa n uzal" - -msgid "6 p.m." -msgstr "6 m.d." - -msgid "Cancel" -msgstr "Sefsex" - -msgid "Today" -msgstr "Ass-a" - -msgid "Choose a Date" -msgstr "Fren azemz" - -msgid "Yesterday" -msgstr "Iḍelli" - -msgid "Tomorrow" -msgstr "Azekka" - -msgid "January" -msgstr "Yennayer" - -msgid "February" -msgstr "Fuṛaṛ" - -msgid "March" -msgstr "Meɣres" - -msgid "April" -msgstr "Yebrir" - -msgid "May" -msgstr "Mayyu" - -msgid "June" -msgstr "Yunyu" - -msgid "July" -msgstr "Yulyu" - -msgid "August" -msgstr "Ɣuct" - -msgid "September" -msgstr "Ctamber" - -msgid "October" -msgstr "Tuber" - -msgid "November" -msgstr "Wamber" - -msgid "December" -msgstr "Dujamber" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "" - -msgctxt "one letter Monday" -msgid "M" -msgstr "" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "" - -msgctxt "one letter Friday" -msgid "F" -msgstr "" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "" - -msgid "Show" -msgstr "Sken" - -msgid "Hide" -msgstr "Ffer" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/kk/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/kk/LC_MESSAGES/django.mo deleted file mode 100644 index abc3c54e..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/kk/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/kk/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/kk/LC_MESSAGES/django.po deleted file mode 100644 index 6d9625af..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/kk/LC_MESSAGES/django.po +++ /dev/null @@ -1,695 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Baurzhan Muftakhidinov , 2015 -# Leo Trubach , 2017 -# Nurlan Rakhimzhanov , 2011 -# yun_man_ger , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-01-16 20:42+0100\n" -"PO-Revision-Date: 2019-01-18 00:36+0000\n" -"Last-Translator: Ramiro Morales\n" -"Language-Team: Kazakh (http://www.transifex.com/django/django/language/kk/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: kk\n" -"Plural-Forms: nplurals=2; plural=(n!=1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "Таңдалған %(count)d %(items)s элемент өшірілді." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "%(name)s өшіру мүмкін емес" - -msgid "Are you sure?" -msgstr "Осыған сенімдісіз бе?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Таңдалған %(verbose_name_plural)s өшірілді" - -msgid "Administration" -msgstr "" - -msgid "All" -msgstr "Барлығы" - -msgid "Yes" -msgstr "Иә" - -msgid "No" -msgstr "Жоқ" - -msgid "Unknown" -msgstr "Белгісіз" - -msgid "Any date" -msgstr "Кез келген күн" - -msgid "Today" -msgstr "Бүгін" - -msgid "Past 7 days" -msgstr "Өткен 7 күн" - -msgid "This month" -msgstr "Осы ай" - -msgid "This year" -msgstr "Осы жыл" - -msgid "No date" -msgstr "Күні жоқ" - -msgid "Has date" -msgstr "Күні бар" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" - -msgid "Action:" -msgstr "Әрекет:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Тағы басқа %(verbose_name)s кос" - -msgid "Remove" -msgstr "Өшіру" - -msgid "Addition" -msgstr "" - -msgid "Change" -msgstr "Өзгетру" - -msgid "Deletion" -msgstr "" - -msgid "action time" -msgstr "әрекет уақыты" - -msgid "user" -msgstr "" - -msgid "content type" -msgstr "" - -msgid "object id" -msgstr "объекттің id-i" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "объекттің repr-i" - -msgid "action flag" -msgstr "әрекет белгісі" - -msgid "change message" -msgstr "хабарламаны өзгерту" - -msgid "log entry" -msgstr "Жорнал жазуы" - -msgid "log entries" -msgstr "Жорнал жазулары" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "" - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "" - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "" - -msgid "LogEntry Object" -msgstr "" - -#, python-brace-format -msgid "Added {name} \"{object}\"." -msgstr "" - -msgid "Added." -msgstr "" - -msgid "and" -msgstr "және" - -#, python-brace-format -msgid "Changed {fields} for {name} \"{object}\"." -msgstr "" - -#, python-brace-format -msgid "Changed {fields}." -msgstr "" - -#, python-brace-format -msgid "Deleted {name} \"{object}\"." -msgstr "" - -msgid "No fields changed." -msgstr "Ешқандай толтырма өзгермеді." - -msgid "None" -msgstr "Ешнәрсе" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "" - -msgid "You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was changed successfully." -msgstr "" - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Бірнәрсені өзгерту үшін бірінші оларды таңдау керек. Ешнәрсе өзгертілмеді." - -msgid "No action selected." -msgstr "Ешқандай әрекет таңдалмады." - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "%(name)s \"%(obj)s\" сәтті өшірілді." - -#, python-format -msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" -msgstr "" - -#, python-format -msgid "Add %s" -msgstr "%s қосу" - -#, python-format -msgid "Change %s" -msgstr "%s өзгету" - -#, python-format -msgid "View %s" -msgstr "" - -msgid "Database error" -msgstr "Мәліметтер базасының қатесі" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "" -"one: %(count)s %(name)s өзгертілді.\n" -"\n" -"other: %(count)s %(name)s таңдалғандарының барі өзгертілді." -msgstr[1] "" -"one: %(count)s %(name)s өзгертілді.\n" -"\n" -"other: %(count)s %(name)s таңдалғандарының барі өзгертілді." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "" -"one: %(total_count)s таңдалды\n" -"\n" -"other: Барлығы %(total_count)s таңдалды" -msgstr[1] "" -"one: %(total_count)s таңдалды\n" -"\n" -"other: Барлығы %(total_count)s таңдалды" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "0 of %(cnt)s-ден 0 таңдалды" - -#, python-format -msgid "Change history: %s" -msgstr "Өзгерес тарихы: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" - -msgid "Django site admin" -msgstr "Даңғо сайтының әкімі" - -msgid "Django administration" -msgstr "Даңғо әкімшілігі" - -msgid "Site administration" -msgstr "Сайт әкімшілігі" - -msgid "Log in" -msgstr "Кіру" - -#, python-format -msgid "%(app)s administration" -msgstr "" - -msgid "Page not found" -msgstr "Бет табылмады" - -msgid "We're sorry, but the requested page could not be found." -msgstr "Кешірім сұраймыз, сіздің сұраған бетіңіз табылмады." - -msgid "Home" -msgstr "Негізгі" - -msgid "Server error" -msgstr "Сервердің қатесі" - -msgid "Server error (500)" -msgstr "Сервердің қатесі (500)" - -msgid "Server Error (500)" -msgstr "Сервердің қатесі (500)" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" - -msgid "Run the selected action" -msgstr "Таңдалған әрәкетті іске қосу" - -msgid "Go" -msgstr "Алға" - -msgid "Click here to select the objects across all pages" -msgstr "Осы беттегі барлық объекттерді таңдау үшін осы жерді шертіңіз" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Осылардың %(total_count)s %(module_name)s барлығын таңдау" - -msgid "Clear selection" -msgstr "Белгілерді өшіру" - -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" -"Алдымен, пайдаланушының атын және құпия сөзді енгізіңіз. Содан соң, тағы " -"басқа пайдаланушы параметрлерін енгізе аласыз." - -msgid "Enter a username and password." -msgstr "Пайдаланушының атын және құпия сөзді енгізіңіз." - -msgid "Change password" -msgstr "Құпия сөзді өзгерту" - -msgid "Please correct the error below." -msgstr "" - -msgid "Please correct the errors below." -msgstr "" - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "" -"%(username)s пайдаланушы үшін жаңа құпия сөзді енгізіңіз." - -msgid "Welcome," -msgstr "Қош келдіңіз," - -msgid "View site" -msgstr "" - -msgid "Documentation" -msgstr "Құжаттама" - -msgid "Log out" -msgstr "Шығу" - -#, python-format -msgid "Add %(name)s" -msgstr "%(name)s қосу" - -msgid "History" -msgstr "Тарих" - -msgid "View on site" -msgstr "Сайтта көру" - -msgid "Filter" -msgstr "Сүзгіз" - -msgid "Remove from sorting" -msgstr "" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "" - -msgid "Toggle sorting" -msgstr "" - -msgid "Delete" -msgstr "Өшіру" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"%(object_name)s '%(escaped_object)s' объектты өшіруы байланысты объекттерін " -"өшіруді қажет етеді, бырақ сізде осындай объектерді өшіру рұқсаты жоқ:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"%(object_name)s '%(escaped_object)s' объектті өшіру осындай байлансты " -"объекттерды өшіруді қажет етеді:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"%(object_name)s \"%(escaped_object)s\" объекттерді өшіруге сенімдісіз бе? " -"Бұл байланысты элементтер де өшіріледі:" - -msgid "Objects" -msgstr "" - -msgid "Yes, I'm sure" -msgstr "Иә, сенімдімін" - -msgid "No, take me back" -msgstr "" - -msgid "Delete multiple objects" -msgstr "Бірнеше объекттерді өшіру" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"%(objects_name)s объектты өшіруы байланысты объекттерін өшіруді қажет етеді, " -"бырақ сізде осындай объектерді өшіру рұқсаты жоқ:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Таңдалған %(objects_name)s-ді(ы) өшіру, онымен байланыстағы қорғалған " -"объектілердің барлығын жояды:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Таңдаған %(objects_name)s объектіңізді өшіруге сенімдісіз бе? Себебі, " -"таңдағын объектіліріңіз және онымен байланыстағы барлық элементтер жойылады:" - -msgid "View" -msgstr "" - -msgid "Delete?" -msgstr "Өшіру?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " %(filter_title)s " - -msgid "Summary" -msgstr "" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "" - -msgid "Add" -msgstr "Қосу" - -msgid "You don't have permission to view or edit anything." -msgstr "" - -msgid "Recent actions" -msgstr "" - -msgid "My actions" -msgstr "" - -msgid "None available" -msgstr "Қол жетімдісі жоқ" - -msgid "Unknown content" -msgstr "Белгісіз мазмұн" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Дерекқор орнатуыңызда бір қате бар. Дерекқор кестелері дұрыс құрылғаның және " -"дерекқор көрсетілген дерекқор пайдаланушыда оқұ рұқсаты бар." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" - -msgid "Forgotten your password or username?" -msgstr "" - -msgid "Date/time" -msgstr "Өшіру/Уақыт" - -msgid "User" -msgstr "Қолданушы" - -msgid "Action" -msgstr "Әрекет" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" -"Бұл объекттың өзгерту тарихы жоқ. Мүмкін ол бұл сайт арқылы енгізілген жоқ." - -msgid "Show all" -msgstr "Барлығын көрсету" - -msgid "Save" -msgstr "Сақтау" - -msgid "Popup closing…" -msgstr "" - -msgid "Search" -msgstr "Іздеу" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s нәтиже" -msgstr[1] "%(counter)s нәтиже" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "Барлығы %(full_result_count)s" - -msgid "Save as new" -msgstr "Жаңадан сақтау" - -msgid "Save and add another" -msgstr "Сақта және жаңасын қос" - -msgid "Save and continue editing" -msgstr "Сақта және өзгертуді жалғастыр" - -msgid "Save and view" -msgstr "" - -msgid "Close" -msgstr "" - -#, python-format -msgid "Change selected %(model)s" -msgstr "" - -#, python-format -msgid "Add another %(model)s" -msgstr "" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Бүгін Веб-торапқа уақыт бөлгеніңіз үшін рахмет." - -msgid "Log in again" -msgstr "Қайтадан кіріңіз" - -msgid "Password change" -msgstr "Құпия сөзді өзгерту" - -msgid "Your password was changed." -msgstr "Құпия сөзіңіз өзгертілді." - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Ескі құпия сөзіңізді енгізіңіз, содан сон сенімді болу үшін жаңа құпия " -"сөзіңізді екі рет енгізіңіз." - -msgid "Change my password" -msgstr "Құпия сөзімді өзгерту" - -msgid "Password reset" -msgstr "Құпия сөзді өзгерту" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Сіздің құпия сөзіңіз енгізілді. Жүйеге кіруіңізге болады." - -msgid "Password reset confirmation" -msgstr "Құпия сөзді өзгерту растау" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "Сенімді болу үшін жаңа құпия сөзіңізді екі рет енгізіңіз." - -msgid "New password:" -msgstr "Жаңа құпия сөз:" - -msgid "Confirm password:" -msgstr "Құпия сөз (растау):" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Құпия сөзді өзгерту байланыс дұрыс емес, мүмкін ол осыған дейін " -"пайдаланылды. Жаңа құпия сөзді өзгерту сұрау жіберіңіз." - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" - -msgid "Please go to the following page and choose a new password:" -msgstr "Жаңа құпия сөзді тандау үшін мынау бетке кіріңіз:" - -msgid "Your username, in case you've forgotten:" -msgstr "Егер ұмытып қалған болсаңыз, пайдалануш атыңыз:" - -msgid "Thanks for using our site!" -msgstr "Біздің веб-торабын қолданғаныңыз үшін рахмет!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "%(site_name)s тобы" - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" - -msgid "Email address:" -msgstr "" - -msgid "Reset my password" -msgstr "Құпия сөзді жаңала" - -msgid "All dates" -msgstr "Барлық мерзімдер" - -#, python-format -msgid "Select %s" -msgstr "%s таңда" - -#, python-format -msgid "Select %s to change" -msgstr "%s өзгерту үщін таңда" - -#, python-format -msgid "Select %s to view" -msgstr "" - -msgid "Date:" -msgstr "Күнтізбелік күн:" - -msgid "Time:" -msgstr "Уақыт:" - -msgid "Lookup" -msgstr "Іздеу" - -msgid "Currently:" -msgstr "" - -msgid "Change:" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/kk/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/kk/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 0b651513..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/kk/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/kk/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/kk/LC_MESSAGES/djangojs.po deleted file mode 100644 index 9c51f35b..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/kk/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,210 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Nurlan Rakhimzhanov , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-05-17 11:50+0200\n" -"PO-Revision-Date: 2017-09-19 16:41+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Kazakh (http://www.transifex.com/django/django/language/kk/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: kk\n" -"Plural-Forms: nplurals=2; plural=(n!=1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "%s бар" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "" - -msgid "Filter" -msgstr "Сүзгіш" - -msgid "Choose all" -msgstr "" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "" - -msgid "Choose" -msgstr "" - -msgid "Remove" -msgstr "Өшіру(жою)" - -#, javascript-format -msgid "Chosen %s" -msgstr "" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" - -msgid "Remove all" -msgstr "" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "" - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(cnt)s-ң %(sel)s-ы(і) таңдалды" -msgstr[1] "%(cnt)s-ң %(sel)s-ы(і) таңдалды" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Сіздің төмендегі өзгермелі алаңдарда(fields) өзгерістеріңіз бар. Егер артық " -"әрекет жасасаңызб сіз өзгерістеріңізді жоғалтасыз." - -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 "" -"Сіз өз өзгерістеріңізді сақтамай, әрекет жасадыңыз. Өтініш, сақтау үшін ОК " -"батырмасын басыңыз және өз әрекетіңізді қайта жасап көріңіз. " - -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 "" -"Сіз Сақтау батырмасына қарағанда, Go(Алға) батырмасын іздеп отырған " -"боларсыз, себебі ешқандай өзгеріс жасамай, әрекет жасадыңыз." - -msgid "Now" -msgstr "Қазір" - -msgid "Midnight" -msgstr "Түн жарым" - -msgid "6 a.m." -msgstr "06" - -msgid "Noon" -msgstr "Талтүс" - -msgid "6 p.m." -msgstr "" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "" -msgstr[1] "" - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "" -msgstr[1] "" - -msgid "Choose a Time" -msgstr "" - -msgid "Choose a time" -msgstr "Уақытты таңда" - -msgid "Cancel" -msgstr "Болдырмау" - -msgid "Today" -msgstr "Бүгін" - -msgid "Choose a Date" -msgstr "" - -msgid "Yesterday" -msgstr "Кеше" - -msgid "Tomorrow" -msgstr "Ертең" - -msgid "January" -msgstr "" - -msgid "February" -msgstr "" - -msgid "March" -msgstr "" - -msgid "April" -msgstr "" - -msgid "May" -msgstr "" - -msgid "June" -msgstr "" - -msgid "July" -msgstr "" - -msgid "August" -msgstr "" - -msgid "September" -msgstr "" - -msgid "October" -msgstr "" - -msgid "November" -msgstr "" - -msgid "December" -msgstr "" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "" - -msgctxt "one letter Monday" -msgid "M" -msgstr "" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "" - -msgctxt "one letter Friday" -msgid "F" -msgstr "" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "" - -msgid "Show" -msgstr "Көрсету" - -msgid "Hide" -msgstr "Жасыру" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/km/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/km/LC_MESSAGES/django.mo deleted file mode 100644 index a50821c2..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/km/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/km/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/km/LC_MESSAGES/django.po deleted file mode 100644 index 8b16d1fc..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/km/LC_MESSAGES/django.po +++ /dev/null @@ -1,636 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Jannis Leidel , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-09-19 16:41+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Khmer (http://www.transifex.com/django/django/language/km/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: km\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "" - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "" - -msgid "Are you sure?" -msgstr "តើលោកអ្នកប្រាកដទេ?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "" - -msgid "Administration" -msgstr "" - -msgid "All" -msgstr "ទាំងអស់" - -msgid "Yes" -msgstr "យល់ព្រម" - -msgid "No" -msgstr "មិនយល់ព្រម" - -msgid "Unknown" -msgstr "មិន​ដឹង" - -msgid "Any date" -msgstr "កាល​បរិច្ឆេទណាមួយ" - -msgid "Today" -msgstr "ថ្ងៃនេះ" - -msgid "Past 7 days" -msgstr "៧​ថ្ងៃ​កន្លង​មក" - -msgid "This month" -msgstr "ខែ​នេះ" - -msgid "This year" -msgstr "ឆ្នាំ​នេះ" - -msgid "No date" -msgstr "" - -msgid "Has date" -msgstr "" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" - -msgid "Action:" -msgstr "" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "" - -msgid "Remove" -msgstr "លប់ចេញ" - -msgid "action time" -msgstr "ពេលវេលាប្រតិបត្តិការ" - -msgid "user" -msgstr "" - -msgid "content type" -msgstr "" - -msgid "object id" -msgstr "លេខ​សំគាល់​កម្មវិធី (object id)" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/3/library/functions.html#repr) -msgid "object repr" -msgstr "object repr" - -msgid "action flag" -msgstr "សកម្មភាព" - -msgid "change message" -msgstr "ផ្លាស់ប្តូរ" - -msgid "log entry" -msgstr "កំណត់ហេតុ" - -msgid "log entries" -msgstr "កំណត់ហេតុ" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "" - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "" - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "" - -msgid "LogEntry Object" -msgstr "" - -#, python-brace-format -msgid "Added {name} \"{object}\"." -msgstr "" - -msgid "Added." -msgstr "" - -msgid "and" -msgstr "និង" - -#, python-brace-format -msgid "Changed {fields} for {name} \"{object}\"." -msgstr "" - -#, python-brace-format -msgid "Changed {fields}." -msgstr "" - -#, python-brace-format -msgid "Deleted {name} \"{object}\"." -msgstr "" - -msgid "No fields changed." -msgstr "ពុំមានទិន្នន័យត្រូវបានផ្លាស់ប្តូរ។" - -msgid "None" -msgstr "" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was changed successfully." -msgstr "" - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" - -msgid "No action selected." -msgstr "" - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "ឈ្មោះកម្មវិធី %(name)s \"%(obj)s\" ត្រូវបានលប់ដោយជោគជ័យ។" - -#, python-format -msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" -msgstr "" - -#, python-format -msgid "Add %s" -msgstr "បន្ថែម %s" - -#, python-format -msgid "Change %s" -msgstr "ផ្លាស់ប្តូរ %s" - -msgid "Database error" -msgstr "ទិន្នន័យមូលដ្ឋានមានបញ្ហា" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "" - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "" - -#, python-format -msgid "Change history: %s" -msgstr "សកម្មភាពផ្លាស់ប្តូរកន្លងមក : %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" - -msgid "Django site admin" -msgstr "ទំព័រគ្រប់គ្រងរបស់ Django" - -msgid "Django administration" -msgstr "ការ​គ្រប់គ្រង​របស់ ​Django" - -msgid "Site administration" -msgstr "ទំព័រគ្រប់គ្រង" - -msgid "Log in" -msgstr "ពិនិត្យចូល" - -#, python-format -msgid "%(app)s administration" -msgstr "" - -msgid "Page not found" -msgstr "ទំព័រ​ដែល​លោកអ្នកចង់​រក​នេះពុំមាន​នៅក្នុងម៉ាស៊ីនរបស់យើងខ្ញុំទេ" - -msgid "We're sorry, but the requested page could not be found." -msgstr "សួមអភ័យទោស ទំព័រ​ដែល​លោកអ្នកចង់​រក​នេះពុំមាន​នឹងក្នុងម៉ាស៊ីនរបស់យើងខ្ញុំទេ" - -msgid "Home" -msgstr "គេហទំព័រ" - -msgid "Server error" -msgstr "ម៉ាស៊ីនផ្តល់សេវាកម្ម​ មានបញ្ហា" - -msgid "Server error (500)" -msgstr "ម៉ាស៊ីនផ្តល់សេវាកម្ម​ មានបញ្ហា (៥០០)" - -msgid "Server Error (500)" -msgstr "ម៉ាស៊ីនផ្តល់សេវាកម្ម​ មានបញ្ហា  (៥០០)" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" - -msgid "Run the selected action" -msgstr "" - -msgid "Go" -msgstr "ស្វែងរក" - -msgid "Click here to select the objects across all pages" -msgstr "" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "" - -msgid "Clear selection" -msgstr "" - -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" -"តំបូងសូមបំពេញ ឈ្មោះជាសមាជិក និង ពាក្យសំងាត់​។ បន្ទាប់មកលោកអ្នកអាចបំពេញបន្ថែមជំរើសផ្សេងៗទៀតបាន។ " - -msgid "Enter a username and password." -msgstr "" - -msgid "Change password" -msgstr "ផ្លាស់ប្តូរពាក្យសំងាត់" - -msgid "Please correct the error below." -msgstr "" - -msgid "Please correct the errors below." -msgstr "" - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "" - -msgid "Welcome," -msgstr "សូមស្វាគមន៏" - -msgid "View site" -msgstr "" - -msgid "Documentation" -msgstr "ឯកសារ" - -msgid "Log out" -msgstr "ចាកចេញ" - -#, python-format -msgid "Add %(name)s" -msgstr "បន្ថែម %(name)s" - -msgid "History" -msgstr "សកម្មភាព​កន្លង​មក" - -msgid "View on site" -msgstr "មើលនៅលើគេហទំព័រដោយផ្ទាល់" - -msgid "Filter" -msgstr "ស្វែងរកជាមួយ" - -msgid "Remove from sorting" -msgstr "" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "" - -msgid "Toggle sorting" -msgstr "" - -msgid "Delete" -msgstr "លប់" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"ការលប់ %(object_name)s '%(escaped_object)s' អាចធ្វើអោយ​កម្មវិធីដែលពាក់​ព័ន្ធបាត់បង់ ។" -" ក៏ប៉ន្តែលោកអ្នក​ពុំមាន​សិទ្ធិលប់​កម្មវិធី​ប្រភេទនេះទេ។" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"តើលោកអ្នកប្រាកដជាចង់លប់ %(object_name)s \"%(escaped_object)s" -"\"? ការលប់ %(object_name)s '%(escaped_object)s' អាចធ្វើអោយ​កម្មវិធីដែលពាក់​ព័ន្ធបាត់បង់។" - -msgid "Objects" -msgstr "" - -msgid "Yes, I'm sure" -msgstr "ខ្ញុំច្បាស់​ជាចង់លប់" - -msgid "No, take me back" -msgstr "" - -msgid "Delete multiple objects" -msgstr "" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" - -msgid "Change" -msgstr "ផ្លាស់ប្តូរ" - -msgid "Delete?" -msgstr "" - -#, python-format -msgid " By %(filter_title)s " -msgstr "ដោយ​  %(filter_title)s " - -msgid "Summary" -msgstr "" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "" - -msgid "Add" -msgstr "បន្ថែម" - -msgid "You don't have permission to edit anything." -msgstr "លោកអ្នកពុំមានសិទ្ធិ ផ្លាស់​ប្តូរ ទេ។" - -msgid "Recent actions" -msgstr "" - -msgid "My actions" -msgstr "" - -msgid "None available" -msgstr "គ្មាន" - -msgid "Unknown content" -msgstr "" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"មូលដ្ឋាន​ទិន្នន័យ​​​ របស់លោកអ្នក មានបញ្ហា។ តើ លោកអ្នកបាន បង្កើត តារាង​ របស់មូលដ្ឋានទិន្នន័យ​" -" ហើយឬនៅ? តើ​ លោកអ្នកប្រាកដថាសមាជិកអាចអានមូលដ្ឋានទិន្នន័យនេះ​​បានឬទេ? " - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" - -msgid "Forgotten your password or username?" -msgstr "" - -msgid "Date/time" -msgstr "Date/time" - -msgid "User" -msgstr "សមាជិក" - -msgid "Action" -msgstr "សកម្មភាព" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" -"កម្មវិធីនេះមិនមានសកម្មភាព​កន្លងមកទេ។ ប្រហែលជាសកម្មភាពទាំងនេះមិនបានធ្វើនៅទំព័រគ្រប់គ្រងនេះ។" - -msgid "Show all" -msgstr "បង្ហាញទាំងអស់" - -msgid "Save" -msgstr "រក្សាទុក" - -msgid "Popup closing..." -msgstr "" - -#, python-format -msgid "Change selected %(model)s" -msgstr "" - -#, python-format -msgid "Add another %(model)s" -msgstr "" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "" - -msgid "Search" -msgstr "" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "សរុបទាំងអស់ %(full_result_count)s" - -msgid "Save as new" -msgstr "រក្សាទុក" - -msgid "Save and add another" -msgstr "រក្សាទុក ហើយ បន្ថែម​ថ្មី" - -msgid "Save and continue editing" -msgstr "រក្សាទុក ហើយ កែឯកសារដដែល" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "សូមថ្លែងអំណរគុណ ដែលបានចំណាយ ពេលវេលាដ៏មានតំលៃ របស់លោកអ្នកមកទស្សនាគេហទំព័ររបស់យើងខ្ញុំ" - -msgid "Log in again" -msgstr "ពិនិត្យចូលម្តងទៀត" - -msgid "Password change" -msgstr "ផ្លាស់ប្តូរពាក្យសំងាត់" - -msgid "Your password was changed." -msgstr "ពាក្យសំងាត់របស់លោកអ្នកបានផ្លាស់ប្តូរហើយ" - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "សូមបំពេញពាក្យសំងាត់ចាស់របស់លោកអ្នក។ ដើម្បីសុវត្ថភាព សូមបំពេញពាក្យសំងាត់ថ្មីខាងក្រោមពីរដង។" - -msgid "Change my password" -msgstr "ផ្លាស់ប្តូរពាក្យសំងាត់" - -msgid "Password reset" -msgstr "ពាក្យសំងាត់បានកំណត់សារជាថ្មី" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "" - -msgid "Password reset confirmation" -msgstr "" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" - -msgid "New password:" -msgstr "ពាក្យសំងាត់ថ្មី" - -msgid "Confirm password:" -msgstr "បំពេញពាក្យសំងាត់ថ្មីម្តងទៀត" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" - -msgid "Please go to the following page and choose a new password:" -msgstr "" - -msgid "Your username, in case you've forgotten:" -msgstr "ឈ្មោះជាសមាជិកក្នុងករណីភ្លេច:" - -msgid "Thanks for using our site!" -msgstr "សូមអរគុណដែលបានប្រើប្រាស់សេវាកម្មរបស់យើងខ្ញុំ" - -#, python-format -msgid "The %(site_name)s team" -msgstr "ក្រុមរបស់គេហទំព័រ %(site_name)s" - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" - -msgid "Email address:" -msgstr "" - -msgid "Reset my password" -msgstr "កំណត់ពាក្យសំងាត់សារជាថ្មី" - -msgid "All dates" -msgstr "កាលបរិច្ឆេទទាំងអស់" - -#, python-format -msgid "Select %s" -msgstr "ជ្រើសរើស %s" - -#, python-format -msgid "Select %s to change" -msgstr "ជ្រើសរើស %s ដើម្បីផ្លាស់ប្តូរ" - -msgid "Date:" -msgstr "កាលបរិច្ឆេទ" - -msgid "Time:" -msgstr "ម៉ោង" - -msgid "Lookup" -msgstr "" - -msgid "Currently:" -msgstr "" - -msgid "Change:" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/km/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/km/LC_MESSAGES/djangojs.mo deleted file mode 100644 index c0b94c12..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/km/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/km/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/km/LC_MESSAGES/djangojs.po deleted file mode 100644 index fbe0ae15..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/km/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,201 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Jannis Leidel , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" -"PO-Revision-Date: 2017-09-19 16:41+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Khmer (http://www.transifex.com/django/django/language/km/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: km\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#, javascript-format -msgid "Available %s" -msgstr "%s ដែលអាច​ជ្រើសរើសបាន" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "" - -msgid "Filter" -msgstr "ស្វែងរកជាមួយ" - -msgid "Choose all" -msgstr "ជ្រើសរើសទាំងអស់" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "" - -msgid "Choose" -msgstr "" - -msgid "Remove" -msgstr "លប់ចេញ" - -#, javascript-format -msgid "Chosen %s" -msgstr "%s ដែលបានជ្រើសរើស" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" - -msgid "Remove all" -msgstr "" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "" - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" - -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 "" - -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 "" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "" - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "" - -msgid "Now" -msgstr "ឥឡូវនេះ" - -msgid "Choose a Time" -msgstr "" - -msgid "Choose a time" -msgstr "ជ្រើសរើសម៉ោង" - -msgid "Midnight" -msgstr "អធ្រាត្រ" - -msgid "6 a.m." -msgstr "ម៉ោង ៦ ព្រឹក" - -msgid "Noon" -msgstr "ពេលថ្ងែត្រង់" - -msgid "6 p.m." -msgstr "" - -msgid "Cancel" -msgstr "លប់ចោល" - -msgid "Today" -msgstr "ថ្ងៃនេះ" - -msgid "Choose a Date" -msgstr "" - -msgid "Yesterday" -msgstr "ម្សិលមិញ" - -msgid "Tomorrow" -msgstr "ថ្ងៃស្អែក" - -msgid "January" -msgstr "" - -msgid "February" -msgstr "" - -msgid "March" -msgstr "" - -msgid "April" -msgstr "" - -msgid "May" -msgstr "" - -msgid "June" -msgstr "" - -msgid "July" -msgstr "" - -msgid "August" -msgstr "" - -msgid "September" -msgstr "" - -msgid "October" -msgstr "" - -msgid "November" -msgstr "" - -msgid "December" -msgstr "" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "" - -msgctxt "one letter Monday" -msgid "M" -msgstr "" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "" - -msgctxt "one letter Friday" -msgid "F" -msgstr "" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "" - -msgid "Show" -msgstr "" - -msgid "Hide" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/kn/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/kn/LC_MESSAGES/django.mo deleted file mode 100644 index 3740da20..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/kn/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/kn/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/kn/LC_MESSAGES/django.po deleted file mode 100644 index 3ae96cfa..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/kn/LC_MESSAGES/django.po +++ /dev/null @@ -1,639 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Jannis Leidel , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-09-19 16:41+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Kannada (http://www.transifex.com/django/django/language/" -"kn/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: kn\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "" - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "" - -msgid "Are you sure?" -msgstr "ಖಚಿತಪಡಿಸುವಿರಾ? " - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "" - -msgid "Administration" -msgstr "" - -msgid "All" -msgstr "ಎಲ್ಲಾ" - -msgid "Yes" -msgstr "ಹೌದು" - -msgid "No" -msgstr "ಇಲ್ಲ" - -msgid "Unknown" -msgstr "ಗೊತ್ತಿಲ್ಲ(ದ/ದ್ದು)" - -msgid "Any date" -msgstr "ಯಾವುದೇ ದಿನಾಂಕ" - -msgid "Today" -msgstr "ಈದಿನ" - -msgid "Past 7 days" -msgstr "ಕಳೆದ ೭ ದಿನಗಳು" - -msgid "This month" -msgstr "ಈ ತಿಂಗಳು" - -msgid "This year" -msgstr "ಈ ವರ್ಷ" - -msgid "No date" -msgstr "" - -msgid "Has date" -msgstr "" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" - -msgid "Action:" -msgstr "" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "" - -msgid "Remove" -msgstr "ತೆಗೆದು ಹಾಕಿ" - -msgid "action time" -msgstr "ಕ್ರಮದ(ಕ್ರಿಯೆಯ) ಸಮಯ" - -msgid "user" -msgstr "" - -msgid "content type" -msgstr "" - -msgid "object id" -msgstr "ವಸ್ತುವಿನ ಐಡಿ" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/3/library/functions.html#repr) -msgid "object repr" -msgstr "ವಸ್ತು ಪ್ರಾತಿನಿಧ್ಯ" - -msgid "action flag" -msgstr "ಕ್ರಮದ(ಕ್ರಿಯೆಯ) ಪತಾಕೆ" - -msgid "change message" -msgstr "ಬದಲಾವಣೆಯ ಸಂದೇಶ/ಸಂದೇಶ ಬದಲಿಸಿ" - -msgid "log entry" -msgstr "ಲಾಗ್ ದಾಖಲೆ" - -msgid "log entries" -msgstr "ಲಾಗ್ ದಾಖಲೆಗಳು" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "" - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "" - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "" - -msgid "LogEntry Object" -msgstr "" - -#, python-brace-format -msgid "Added {name} \"{object}\"." -msgstr "" - -msgid "Added." -msgstr "" - -msgid "and" -msgstr "ಮತ್ತು" - -#, python-brace-format -msgid "Changed {fields} for {name} \"{object}\"." -msgstr "" - -#, python-brace-format -msgid "Changed {fields}." -msgstr "" - -#, python-brace-format -msgid "Deleted {name} \"{object}\"." -msgstr "" - -msgid "No fields changed." -msgstr "ಯಾವುದೇ ಅಂಶಗಳು ಬದಲಾಗಲಿಲ್ಲ." - -msgid "None" -msgstr "" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was changed successfully." -msgstr "" - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" - -msgid "No action selected." -msgstr "" - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "%(name)s \"%(obj)s\" ಯಶಸ್ವಿಯಾಗಿ ಅಳಿಸಲಾಯಿತು." - -#, python-format -msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" -msgstr "" - -#, python-format -msgid "Add %s" -msgstr "%s ಸೇರಿಸಿ" - -#, python-format -msgid "Change %s" -msgstr "%s ಅನ್ನು ಬದಲಿಸು" - -msgid "Database error" -msgstr "ದತ್ತಸಂಚಯದ ದೋಷ" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "" - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "" - -#, python-format -msgid "Change history: %s" -msgstr "ಬದಲಾವಣೆಗಳ ಇತಿಹಾಸ: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" - -msgid "Django site admin" -msgstr "ಜಾಂಗೋ ತಾಣದ ಆಡಳಿತಗಾರರು" - -msgid "Django administration" -msgstr "ಜಾಂಗೋ ಆಡಳಿತ" - -msgid "Site administration" -msgstr "ತಾಣ ನಿರ್ವಹಣೆ" - -msgid "Log in" -msgstr "ಒಳಗೆ ಬನ್ನಿ" - -#, python-format -msgid "%(app)s administration" -msgstr "" - -msgid "Page not found" -msgstr "ಪುಟ ಸಿಗಲಿಲ್ಲ" - -msgid "We're sorry, but the requested page could not be found." -msgstr "ಕ್ಷಮಿಸಿ, ನೀವು ಕೇಳಿದ ಪುಟ ಸಿಗಲಿಲ್ಲ" - -msgid "Home" -msgstr "ಪ್ರಾರಂಭಸ್ಥಳ(ಮನೆ)" - -msgid "Server error" -msgstr "ಸರ್ವರ್ ದೋಷ" - -msgid "Server error (500)" -msgstr "ಸರ್ವರ್ ದೋಷ(೫೦೦)" - -msgid "Server Error (500)" -msgstr "ಸರ್ವರ್ ದೋಷ(೫೦೦)" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" - -msgid "Run the selected action" -msgstr "" - -msgid "Go" -msgstr "ಹೋಗಿ" - -msgid "Click here to select the objects across all pages" -msgstr "" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "" - -msgid "Clear selection" -msgstr "" - -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" -"ಮೊದಲು ಬಳಕೆದಾರ-ಹೆಸರು ಮತ್ತು ಪ್ರವೇಶಪದವನ್ನು ಕೊಡಿರಿ. ನಂತರ, ನೀವು ಇನ್ನಷ್ಟು ಆಯ್ಕೆಗಳನ್ನು " -"ಬದಲಿಸಬಹುದಾಗಿದೆ." - -msgid "Enter a username and password." -msgstr "" - -msgid "Change password" -msgstr "ಪ್ರವೇಶಪದ ಬದಲಿಸಿ" - -msgid "Please correct the error below." -msgstr "" - -msgid "Please correct the errors below." -msgstr "" - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "" - -msgid "Welcome," -msgstr "ಸುಸ್ವಾಗತ." - -msgid "View site" -msgstr "" - -msgid "Documentation" -msgstr "ವಿವರಮಾಹಿತಿ" - -msgid "Log out" -msgstr "ಹೊರಕ್ಕೆ ಹೋಗಿ" - -#, python-format -msgid "Add %(name)s" -msgstr "%(name)s ಸೇರಿಸಿ" - -msgid "History" -msgstr "ಚರಿತ್ರೆ" - -msgid "View on site" -msgstr "ತಾಣದಲ್ಲಿ ನೋಡಿ" - -msgid "Filter" -msgstr "ಸೋಸಕ" - -msgid "Remove from sorting" -msgstr "" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "" - -msgid "Toggle sorting" -msgstr "" - -msgid "Delete" -msgstr "ಅಳಿಸಿಹಾಕಿ" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"'%(escaped_object)s' %(object_name)s ಅನ್ನು ತೆಗೆದುಹಾಕುವುದರಿಂದ ಸಂಬಂಧಿತ ವಸ್ತುಗಳೂ " -"ಕಳೆದುಹೋಗುತ್ತವೆ. ಆದರೆ ನಿಮ್ಮ ಖಾತೆಗೆ ಕೆಳಕಂಡ ಬಗೆಗಳ ವಸ್ತುಗಳನ್ನು ತೆಗೆದುಹಾಕಲು " -"ಅನುಮತಿಯಿಲ್ಲ." - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" - -msgid "Objects" -msgstr "" - -msgid "Yes, I'm sure" -msgstr "ಹೌದು,ನನಗೆ ಖಚಿತವಿದೆ" - -msgid "No, take me back" -msgstr "" - -msgid "Delete multiple objects" -msgstr "" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" - -msgid "Change" -msgstr "ಬದಲಿಸಿ/ಬದಲಾವಣೆ" - -msgid "Delete?" -msgstr "" - -#, python-format -msgid " By %(filter_title)s " -msgstr "%(filter_title)s ಇಂದ" - -msgid "Summary" -msgstr "" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "" - -msgid "Add" -msgstr "ಸೇರಿಸಿ" - -msgid "You don't have permission to edit anything." -msgstr "ಯಾವುದನ್ನೂ ತಿದ್ದಲು ನಿಮಗೆ ಅನುಮತಿ ಇಲ್ಲ ." - -msgid "Recent actions" -msgstr "" - -msgid "My actions" -msgstr "" - -msgid "None available" -msgstr "ಯಾವುದೂ ಲಭ್ಯವಿಲ್ಲ" - -msgid "Unknown content" -msgstr "" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"ಡಾಟಾಬೇಸನ್ನು ಇನ್ಸ್ಟಾಲ್ ಮಾಡುವಾಗ ಏನೋ ತಪ್ಪಾಗಿದೆ. ಸೂಕ್ತ ಡಾಟಾಬೇಸ್ ಕೋಷ್ಟಕಗಳು ರಚನೆಯಾಗಿ ಅರ್ಹ " -"ಬಳಕೆದಾರರು ಅವುಗಳನ್ನು ಓದಬಹುದಾಗಿದೆಯೇ ಎಂಬುದನ್ನು ಖಾತರಿ ಪಡಿಸಿಕೊಳ್ಳಿ." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" - -msgid "Forgotten your password or username?" -msgstr "" - -msgid "Date/time" -msgstr "ದಿನಾಂಕ/ಸಮಯ" - -msgid "User" -msgstr "ಬಳಕೆದಾರ" - -msgid "Action" -msgstr "ಕ್ರಮ(ಕ್ರಿಯೆ)" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" -"ಈ ವಸ್ತುವಿಗೆ ಬದಲಾವಣೆಯ ಇತಿಹಾಸವಿಲ್ಲ. ಅದು ಬಹುಶಃ ಈ ಆಡಳಿತತಾಣದ ಮೂಲಕ ಸೇರಿಸಲ್ಪಟ್ಟಿಲ್ಲ." - -msgid "Show all" -msgstr "ಎಲ್ಲವನ್ನೂ ತೋರಿಸು" - -msgid "Save" -msgstr "ಉಳಿಸಿ" - -msgid "Popup closing..." -msgstr "" - -#, python-format -msgid "Change selected %(model)s" -msgstr "" - -#, python-format -msgid "Add another %(model)s" -msgstr "" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "" - -msgid "Search" -msgstr "" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "ಒಟ್ಟು %(full_result_count)s" - -msgid "Save as new" -msgstr "ಹೊಸದರಂತೆ ಉಳಿಸಿ" - -msgid "Save and add another" -msgstr "ಉಳಿಸಿ ಮತ್ತು ಇನ್ನೊಂದನ್ನು ಸೇರಿಸಿ" - -msgid "Save and continue editing" -msgstr "ಉಳಿಸಿ ಮತ್ತು ತಿದ್ದುವುದನ್ನು ಮುಂದುವರಿಸಿರಿ." - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "ಈದಿನ ತಮ್ಮ ಅತ್ಯಮೂಲ್ಯವಾದ ಸಮಯವನ್ನು ನಮ್ಮ ತಾಣದಲ್ಲಿ ಕಳೆದುದಕ್ಕಾಗಿ ಧನ್ಯವಾದಗಳು." - -msgid "Log in again" -msgstr "ಮತ್ತೆ ಒಳಬನ್ನಿ" - -msgid "Password change" -msgstr "ಪ್ರವೇಶಪದ ಬದಲಾವಣೆ" - -msgid "Your password was changed." -msgstr "ನಿಮ್ಮ ಪ್ರವೇಶಪದ ಬದಲಾಯಿಸಲಾಗಿದೆ" - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"ಭದ್ರತೆಯ ದೃಷ್ಟಿಯಿಂದ ದಯವಿಟ್ಟು ನಿಮ್ಮ ಹಳೆಯ ಪ್ರವೇಶಪದವನ್ನು ಸೂಚಿಸಿರಿ. ಆನಂತರ ನೀವು ಸರಿಯಾಗಿ " -"ಬರೆದಿದ್ದೀರೆಂದು ನಾವು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಹೊಸ ಪ್ರವೇಶಪದವನ್ನು ಎರಡು ಬಾರಿ ಬರೆಯಿರಿ." - -msgid "Change my password" -msgstr "ನನ್ನ ಪ್ರವೇಶಪದ ಬದಲಿಸಿ" - -msgid "Password reset" -msgstr "ಪ್ರವೇಶಪದವನ್ನು ಬದಲಿಸುವಿಕೆ" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "" - -msgid "Password reset confirmation" -msgstr "" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" - -msgid "New password:" -msgstr "ಹೊಸ ಪ್ರವೇಶಪದ:" - -msgid "Confirm password:" -msgstr "ಪ್ರವೇಶಪದವನ್ನು ಖಚಿತಪಡಿಸಿ:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" - -msgid "Please go to the following page and choose a new password:" -msgstr "" - -msgid "Your username, in case you've forgotten:" -msgstr "ನೀವು ಮರೆತಿದ್ದಲ್ಲಿ , ನಿಮ್ಮ ಬಳಕೆದಾರ-ಹೆಸರು" - -msgid "Thanks for using our site!" -msgstr "ನಮ್ಮ ತಾಣವನ್ನು ಬಳಸಿದ್ದಕ್ದಾಗಿ ಧನ್ಯವಾದಗಳು!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "%(site_name)s ತಂಡ" - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" - -msgid "Email address:" -msgstr "" - -msgid "Reset my password" -msgstr "ನನ್ನ ಪ್ರವೇಶಪದವನ್ನು ಮತ್ತೆ ನಿರ್ಧರಿಸಿ " - -msgid "All dates" -msgstr "ಎಲ್ಲಾ ದಿನಾಂಕಗಳು" - -#, python-format -msgid "Select %s" -msgstr "%s ಆಯ್ದುಕೊಳ್ಳಿ" - -#, python-format -msgid "Select %s to change" -msgstr "ಬದಲಾಯಿಸಲು %s ಆಯ್ದುಕೊಳ್ಳಿ" - -msgid "Date:" -msgstr "ದಿನಾಂಕ:" - -msgid "Time:" -msgstr "ಸಮಯ:" - -msgid "Lookup" -msgstr "" - -msgid "Currently:" -msgstr "" - -msgid "Change:" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/kn/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/kn/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 988728ce..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/kn/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/kn/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/kn/LC_MESSAGES/djangojs.po deleted file mode 100644 index 90363b7a..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/kn/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,205 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Jannis Leidel , 2011 -# karthikbgl , 2011-2012 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" -"PO-Revision-Date: 2017-09-19 16:41+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Kannada (http://www.transifex.com/django/django/language/" -"kn/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: kn\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#, javascript-format -msgid "Available %s" -msgstr "ಲಭ್ಯ %s " - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "" - -msgid "Filter" -msgstr "ಶೋಧಕ" - -msgid "Choose all" -msgstr "ಎಲ್ಲವನ್ನೂ ಆಯ್ದುಕೊಳ್ಳಿ" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "" - -msgid "Choose" -msgstr "" - -msgid "Remove" -msgstr "ತೆಗೆದು ಹಾಕಿ" - -#, javascript-format -msgid "Chosen %s" -msgstr "%s ಆಯ್ದುಕೊಳ್ಳಲಾಗಿದೆ" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" - -msgid "Remove all" -msgstr "ಎಲ್ಲಾ ತೆಗೆದುಹಾಕಿ" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "" - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"ನೀವು ಪ್ರತ್ಯೇಕ ತಿದ್ದಬಲ್ಲ ಕ್ಷೇತ್ರಗಳಲ್ಲಿ ಬದಲಾವಣೆ ಉಳಿಸಿಲ್ಲ. ನಿಮ್ಮ ಉಳಿಸದ ಬದಲಾವಣೆಗಳು " -"ನಾಶವಾಗುತ್ತವೆ" - -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 "" - -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 "" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "" - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "" - -msgid "Now" -msgstr "ಈಗ" - -msgid "Choose a Time" -msgstr "" - -msgid "Choose a time" -msgstr "ಸಮಯವೊಂದನ್ನು ಆರಿಸಿ" - -msgid "Midnight" -msgstr "ಮಧ್ಯರಾತ್ರಿ" - -msgid "6 a.m." -msgstr "ಬೆಳಗಿನ ೬ ಗಂಟೆ " - -msgid "Noon" -msgstr "ಮಧ್ಯಾಹ್ನ" - -msgid "6 p.m." -msgstr "" - -msgid "Cancel" -msgstr "ರದ್ದುಗೊಳಿಸಿ" - -msgid "Today" -msgstr "ಈ ದಿನ" - -msgid "Choose a Date" -msgstr "" - -msgid "Yesterday" -msgstr "ನಿನ್ನೆ" - -msgid "Tomorrow" -msgstr "ನಾಳೆ" - -msgid "January" -msgstr "" - -msgid "February" -msgstr "" - -msgid "March" -msgstr "" - -msgid "April" -msgstr "" - -msgid "May" -msgstr "" - -msgid "June" -msgstr "" - -msgid "July" -msgstr "" - -msgid "August" -msgstr "" - -msgid "September" -msgstr "" - -msgid "October" -msgstr "" - -msgid "November" -msgstr "" - -msgid "December" -msgstr "" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "" - -msgctxt "one letter Monday" -msgid "M" -msgstr "" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "" - -msgctxt "one letter Friday" -msgid "F" -msgstr "" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "" - -msgid "Show" -msgstr "ಪ್ರದರ್ಶನ" - -msgid "Hide" -msgstr "ಮರೆಮಾಡಲು" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ko/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ko/LC_MESSAGES/django.mo deleted file mode 100644 index bbfe573e..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ko/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ko/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ko/LC_MESSAGES/django.po deleted file mode 100644 index c968af1c..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ko/LC_MESSAGES/django.po +++ /dev/null @@ -1,733 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Jiyoon, Ha , 2016 -# DONGHO JEONG , 2020 -# Geonho Kim / Leo Kim , 2019 -# Gihun Ham , 2018 -# Hang Park , 2019 -# Hoseok Lee , 2016 -# Ian Y. Choi , 2015,2019 -# Jaehong Kim , 2011 -# Jannis Leidel , 2011 -# Jay Oh , 2020 -# Le Tartuffe , 2014,2016 -# Seho Noh , 2018 -# Seacbyul Lee , 2017 -# Taesik Yoon , 2015 -# Yang Chan Woo , 2019 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-14 19:53+0200\n" -"PO-Revision-Date: 2020-09-05 05:57+0000\n" -"Last-Translator: DONGHO JEONG \n" -"Language-Team: Korean (http://www.transifex.com/django/django/language/ko/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ko\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "%(count)d개의 %(items)s 을/를 성공적으로 삭제하였습니다." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "%(name)s를 삭제할 수 없습니다." - -msgid "Are you sure?" -msgstr "확실합니까?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "선택된 %(verbose_name_plural)s 을/를 삭제합니다." - -msgid "Administration" -msgstr "관리" - -msgid "All" -msgstr "모두" - -msgid "Yes" -msgstr "예" - -msgid "No" -msgstr "아니오" - -msgid "Unknown" -msgstr "알 수 없습니다." - -msgid "Any date" -msgstr "언제나" - -msgid "Today" -msgstr "오늘" - -msgid "Past 7 days" -msgstr "지난 7일" - -msgid "This month" -msgstr "이번 달" - -msgid "This year" -msgstr "이번 해" - -msgid "No date" -msgstr "날짜 없음" - -msgid "Has date" -msgstr "날짜 있음" - -msgid "Empty" -msgstr "비어 있음" - -msgid "Not empty" -msgstr "비어 있지 않음" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"관리자 계정의 %(username)s 와 비밀번호를 입력해주세요. 대소문자를 구분해서 입" -"력해주세요." - -msgid "Action:" -msgstr "액션:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "%(verbose_name)s 더 추가하기" - -msgid "Remove" -msgstr "삭제하기" - -msgid "Addition" -msgstr "추가" - -msgid "Change" -msgstr "변경" - -msgid "Deletion" -msgstr "삭제" - -msgid "action time" -msgstr "액션 타임" - -msgid "user" -msgstr "사용자" - -msgid "content type" -msgstr "콘텐츠 타입" - -msgid "object id" -msgstr "오브젝트 아이디" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "오브젝트 표현" - -msgid "action flag" -msgstr "액션 플래그" - -msgid "change message" -msgstr "메시지 변경" - -msgid "log entry" -msgstr "로그 엔트리" - -msgid "log entries" -msgstr "로그 엔트리" - -#, python-format -msgid "Added “%(object)s”." -msgstr "\"%(object)s\"이/가 추가되었습니다." - -#, python-format -msgid "Changed “%(object)s” — %(changes)s" -msgstr "\"%(object)s\"이/가 \"%(changes)s\"(으)로 변경되었습니다." - -#, python-format -msgid "Deleted “%(object)s.”" -msgstr "%(object)s를 삭제했습니다." - -msgid "LogEntry Object" -msgstr "로그 엔트리 객체" - -#, python-brace-format -msgid "Added {name} “{object}”." -msgstr "{name} “{object}개체”를 추가했습니다." - -msgid "Added." -msgstr "추가되었습니다." - -msgid "and" -msgstr "또한" - -#, python-brace-format -msgid "Changed {fields} for {name} “{object}”." -msgstr "{name} “{object}개체”의 {fields}필드를 변경했습니다." - -#, python-brace-format -msgid "Changed {fields}." -msgstr "{fields}가 변경되었습니다." - -#, python-brace-format -msgid "Deleted {name} “{object}”." -msgstr "{name} “{object}개체”를 삭제했습니다." - -msgid "No fields changed." -msgstr "변경된 필드가 없습니다." - -msgid "None" -msgstr "없음" - -msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." -msgstr "" -"하나 이상을 선택하려면 \"Control\" 키를 누른 채로 선택해주세요. Mac의 경우에" -"는 \"Command\" 키를 눌러주세요." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully." -msgstr "{name} \"{obj}\"가 성공적으로 추가되었습니다." - -msgid "You may edit it again below." -msgstr "아래 내용을 수정해야 합니다." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was added successfully. You may add another {name} below." -msgstr "" -"{name} \"{obj}\"가 성공적으로 추가되었습니다. 아래에서 다른 {name}을 추가할 " -"수 있습니다." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may edit it again below." -msgstr "" -"{name} \"{obj}\"가 성공적으로 변경되었습니다. 아래에서 다시 수정할 수 있습니" -"다." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully. You may edit it again below." -msgstr "" -"{name} \"{obj}\"가 성공적으로 추가되었습니다. 아래에서 다시 수정할 수 있습니" -"다." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may add another {name} " -"below." -msgstr "" -"{name} \"{obj}\"가 성공적으로 변경되었습니다. 아래에서 다른 {name}을 추가할 " -"수 있습니다." - -#, python-brace-format -msgid "The {name} “{obj}” was changed successfully." -msgstr "{name} \"{obj}\"가 성공적으로 변경되었습니다." - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"항목들에 액션을 적용하기 위해선 먼저 항목들이 선택되어 있어야 합니다. 아무 항" -"목도 변경되지 않았습니다." - -msgid "No action selected." -msgstr "액션이 선택되지 않았습니다." - -#, python-format -msgid "The %(name)s “%(obj)s” was deleted successfully." -msgstr "%(name)s \"%(obj)s\"이/가 성공적으로 삭제되었습니다." - -#, python-format -msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" -msgstr "" -"ID \"%(key)s\"을/를 지닌%(name)s이/가 존재하지 않습니다. 삭제된 값이 아닌지 " -"확인해주세요." - -#, python-format -msgid "Add %s" -msgstr "%s 추가" - -#, python-format -msgid "Change %s" -msgstr "%s 변경" - -#, python-format -msgid "View %s" -msgstr "뷰 %s" - -msgid "Database error" -msgstr "데이터베이스 오류" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s개의 %(name)s이/가 변경되었습니다." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "총 %(total_count)s개가 선택되었습니다." - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "%(cnt)s 중 아무것도 선택되지 않았습니다." - -#, python-format -msgid "Change history: %s" -msgstr "변경 히스토리: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"%(class_name)s %(instance)s 을/를 삭제하려면 다음 보호상태의 연관된 오브젝트" -"들을 삭제해야 합니다: %(related_objects)s" - -msgid "Django site admin" -msgstr "Django 사이트 관리" - -msgid "Django administration" -msgstr "Django 관리" - -msgid "Site administration" -msgstr "사이트 관리" - -msgid "Log in" -msgstr "로그인" - -#, python-format -msgid "%(app)s administration" -msgstr "%(app)s 관리" - -msgid "Page not found" -msgstr "페이지를 찾을 수 없습니다." - -msgid "We’re sorry, but the requested page could not be found." -msgstr "죄송합니다, 요청한 페이지를 찾을 수 없습니다." - -msgid "Home" -msgstr "홈" - -msgid "Server error" -msgstr "서버 오류" - -msgid "Server error (500)" -msgstr "서버 오류 (500)" - -msgid "Server Error (500)" -msgstr "서버 오류 (500)" - -msgid "" -"There’s been an error. It’s been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"오류가 발생했습니다. 사이트 관리자들에게 이메일로 보고되었고 단시일 내에 수정" -"될 것입니다. 기다려주셔서 감사합니다." - -msgid "Run the selected action" -msgstr "선택한 액션을 실행합니다." - -msgid "Go" -msgstr "실행" - -msgid "Click here to select the objects across all pages" -msgstr "모든 페이지의 항목들을 선택하려면 여기를 클릭하세요." - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "%(total_count)s개의 %(module_name)s 모두를 선택합니다." - -msgid "Clear selection" -msgstr "선택 해제" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "%(name)s 애플리케이션의 모델" - -msgid "Add" -msgstr "추가" - -msgid "View" -msgstr "보기" - -msgid "You don’t have permission to view or edit anything." -msgstr "독자는 뷰 및 수정 권한이 없습니다." - -msgid "" -"First, enter a username and password. Then, you’ll be able to edit more user " -"options." -msgstr "" -"첫 번째로, 사용자명과 비밀번호를 입력하세요. 그 후, 독자는 더 많은 사용자 옵" -"션을 수정할 수 있습니다. " - -msgid "Enter a username and password." -msgstr "사용자 이름과 비밀번호를 입력하세요." - -msgid "Change password" -msgstr "비밀번호 변경" - -msgid "Please correct the error below." -msgstr "아래 오류를 해결해주세요." - -msgid "Please correct the errors below." -msgstr "아래의 오류들을 수정하십시오." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "%(username)s 새로운 비밀번호를 입력하세요." - -msgid "Welcome," -msgstr "환영합니다," - -msgid "View site" -msgstr "사이트 보기" - -msgid "Documentation" -msgstr "문서" - -msgid "Log out" -msgstr "로그아웃" - -#, python-format -msgid "Add %(name)s" -msgstr "%(name)s 추가" - -msgid "History" -msgstr "히스토리" - -msgid "View on site" -msgstr "사이트에서 보기" - -msgid "Filter" -msgstr "필터" - -msgid "Clear all filters" -msgstr "모든 필터 삭제" - -msgid "Remove from sorting" -msgstr "정렬에서 " - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "정렬 조건 : %(priority_number)s" - -msgid "Toggle sorting" -msgstr "정렬 " - -msgid "Delete" -msgstr "삭제" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"%(object_name)s \"%(escaped_object)s\" 을/를 삭제하면서관련 오브젝트를 제거하" -"고자 했으나, 지금 사용하시는 계정은 다음 타입의 오브젝트를 제거할 권한이 없습" -"니다. :" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"%(object_name)s '%(escaped_object)s'를 삭제하려면 다음 보호상태의 연관된 오브" -"젝트들을 삭제해야 합니다." - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"정말로 %(object_name)s \"%(escaped_object)s\"을/를 삭제하시겠습니까? 다음의 " -"관련 항목들이 모두 삭제됩니다. :" - -msgid "Objects" -msgstr "오브젝트" - -msgid "Yes, I’m sure" -msgstr "네, 확신합니다. " - -msgid "No, take me back" -msgstr "아뇨, 돌려주세요." - -msgid "Delete multiple objects" -msgstr "여러 개의 오브젝트 삭제" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"연관 오브젝트 삭제로 선택한 %(objects_name)s의 삭제 중, 그러나 당신의 계정은 " -"다음 오브젝트의 삭제 권한이 없습니다. " - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"%(objects_name)s를 삭제하려면 다음 보호상태의 연관된 오브젝트들을 삭제해야 합" -"니다." - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"선택한 %(objects_name)s를 정말 삭제하시겠습니까? 다음의 오브젝트와 연관 아이" -"템들이 모두 삭제됩니다:" - -msgid "Delete?" -msgstr "삭제" - -#, python-format -msgid " By %(filter_title)s " -msgstr "%(filter_title)s (으)로" - -msgid "Summary" -msgstr "개요" - -msgid "Recent actions" -msgstr "최근 활동" - -msgid "My actions" -msgstr "나의 활동" - -msgid "None available" -msgstr "이용할 수 없습니다." - -msgid "Unknown content" -msgstr "알 수 없는 형식입니다." - -msgid "" -"Something’s wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"당신의 데이터베이스 설치, 설치본에 오류가 있습니다. \n" -"적합한 데이터베이스 테이블이 생성되었는지 확인하고, 데이터베이스가 적합한 사" -"용자가 열람할 수 있는 지 확인하십시오. " - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"%(username)s 로 인증되어 있지만, 이 페이지에 접근 가능한 권한이 없습니다. 다" -"른 계정으로 로그인하시겠습니까?" - -msgid "Forgotten your password or username?" -msgstr "아이디 또는 비밀번호를 분실하였습니까?" - -msgid "Toggle navigation" -msgstr "토글 메뉴" - -msgid "Date/time" -msgstr "날짜/시간" - -msgid "User" -msgstr "사용자" - -msgid "Action" -msgstr "액션" - -msgid "" -"This object doesn’t have a change history. It probably wasn’t added via this " -"admin site." -msgstr "" -"이 개체는 변경 기록이 없습니다. 아마도 이 관리자 사이트를 통해 추가되지 않았" -"을 것입니다. " - -msgid "Show all" -msgstr "모두 표시" - -msgid "Save" -msgstr "저장" - -msgid "Popup closing…" -msgstr "팝업 닫는중..." - -msgid "Search" -msgstr "검색" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "결과 %(counter)s개 나옴" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "총 %(full_result_count)s건" - -msgid "Save as new" -msgstr "새로 저장" - -msgid "Save and add another" -msgstr "저장 및 다른 이름으로 추가" - -msgid "Save and continue editing" -msgstr "저장 및 편집 계속" - -msgid "Save and view" -msgstr "저장하고 조회하기" - -msgid "Close" -msgstr "닫기" - -#, python-format -msgid "Change selected %(model)s" -msgstr "선택된 %(model)s 변경" - -#, python-format -msgid "Add another %(model)s" -msgstr "%(model)s 추가" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "선택된 %(model)s 제거" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "사이트를 이용해 주셔서 고맙습니다." - -msgid "Log in again" -msgstr "다시 로그인하기" - -msgid "Password change" -msgstr "비밀번호 변경" - -msgid "Your password was changed." -msgstr "비밀번호가 변경되었습니다." - -msgid "" -"Please enter your old password, for security’s sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"독자의 과거 비밀번호를 입력한 후, 보안을 위해 새로운 비밀번호을 두 번 입력하" -"여 옳은 입력인 지 확인할 수 있도록 하십시오." - -msgid "Change my password" -msgstr "비밀번호 변경" - -msgid "Password reset" -msgstr "비밀번호 초기화" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "비밀번호가 설정되었습니다. 이제 로그인하세요." - -msgid "Password reset confirmation" -msgstr "비밀번호 초기화 확인" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"새로운 비밀번호를 정확히 입력했는지 확인할 수 있도록 두 번 입력하시기 바랍니" -"다." - -msgid "New password:" -msgstr "새로운 비밀번호:" - -msgid "Confirm password:" -msgstr "새로운 비밀번호 (확인):" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"비밀번호 초기화 링크가 이미 사용되어 올바르지 않습니다. 비밀번호 초기화를 다" -"시 해주세요." - -msgid "" -"We’ve emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"계정이 존재한다면, 독자가 입력한 이메일로 비밀번호 설정 안내문을 발송했습니" -"다. 곧 수신할 수 있을 것입니다. " - -msgid "" -"If you don’t receive an email, please make sure you’ve entered the address " -"you registered with, and check your spam folder." -msgstr "" -"만약 이메일을 받지 못하였다면, 등록하신 이메일을 다시 확인하시거나 스팸 메일" -"함을 확인해주세요." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"%(site_name)s의 계정 비밀번호를 초기화하기 위한 요청으로 이 이메일이 전송되었" -"습니다." - -msgid "Please go to the following page and choose a new password:" -msgstr "다음 페이지에서 새 비밀번호를 선택하세요." - -msgid "Your username, in case you’ve forgotten:" -msgstr "사용자명:" - -msgid "Thanks for using our site!" -msgstr "사이트를 이용해 주셔서 고맙습니다." - -#, python-format -msgid "The %(site_name)s team" -msgstr "%(site_name)s 팀" - -msgid "" -"Forgotten your password? Enter your email address below, and we’ll email " -"instructions for setting a new one." -msgstr "" -"비밀번호를 잊어버렸나요? 이메일 주소를 아래에 입력하시면 새로운 비밀번호를 설" -"정하는 절차를 이메일로 보내드리겠습니다." - -msgid "Email address:" -msgstr "이메일 주소:" - -msgid "Reset my password" -msgstr "비밀번호 초기화" - -msgid "All dates" -msgstr "언제나" - -#, python-format -msgid "Select %s" -msgstr "%s 선택" - -#, python-format -msgid "Select %s to change" -msgstr "변경할 %s 선택" - -#, python-format -msgid "Select %s to view" -msgstr "보기위한 1%s 를(을) 선택" - -msgid "Date:" -msgstr "날짜:" - -msgid "Time:" -msgstr "시각:" - -msgid "Lookup" -msgstr "찾아보기" - -msgid "Currently:" -msgstr "현재:" - -msgid "Change:" -msgstr "변경:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ko/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ko/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 9d8de15a..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ko/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ko/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ko/LC_MESSAGES/djangojs.po deleted file mode 100644 index 9bfafc88..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ko/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,217 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# DaHae Sung , 2016 -# Hoseok Lee , 2016 -# Jaehong Kim , 2011 -# Jannis Leidel , 2011 -# Jay Oh , 2020 -# Le Tartuffe , 2014 -# minsung kang, 2015 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-11 20:56+0200\n" -"PO-Revision-Date: 2020-07-04 14:16+0000\n" -"Last-Translator: Jay Oh \n" -"Language-Team: Korean (http://www.transifex.com/django/django/language/ko/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ko\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#, javascript-format -msgid "Available %s" -msgstr "이용 가능한 %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"사용 가능한 %s 의 리스트 입니다. 아래의 상자에서 선택하고 두 상자 사이의 " -"\"선택\" 화살표를 클릭하여 몇 가지를 선택할 수 있습니다." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "사용 가능한 %s 리스트를 필터링하려면 이 상자에 입력하세요." - -msgid "Filter" -msgstr "필터" - -msgid "Choose all" -msgstr "모두 선택" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "한번에 모든 %s 를 선택하려면 클릭하세요." - -msgid "Choose" -msgstr "선택" - -msgid "Remove" -msgstr "삭제" - -#, javascript-format -msgid "Chosen %s" -msgstr "선택된 %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"선택된 %s 리스트 입니다. 아래의 상자에서 선택하고 두 상자 사이의 \"제거\" 화" -"살표를 클릭하여 일부를 제거 할 수 있습니다." - -msgid "Remove all" -msgstr "모두 제거" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "한번에 선택된 모든 %s 를 제거하려면 클릭하세요." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(sel)s개가 %(cnt)s개 중에 선택됨." - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"개별 편집 가능한 필드에 저장되지 않은 값이 있습니다. 액션을 수행하면 저장되" -"지 않은 값들을 잃어버리게 됩니다." - -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 "" -"개별 필드의 값들을 저장하지 않고 액션을 선택했습니다. OK를 누르면 저장되며, " -"액션을 한 번 더 실행해야 합니다." - -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 "" -"개별 필드에 아무런 변경이 없는 상태로 액션을 선택했습니다. 저장 버튼이 아니" -"라 진행 버튼을 찾아보세요." - -msgid "Now" -msgstr "현재" - -msgid "Midnight" -msgstr "자정" - -msgid "6 a.m." -msgstr "오전 6시" - -msgid "Noon" -msgstr "정오" - -msgid "6 p.m." -msgstr "오후 6시" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Note: 서버 시간보다 %s 시간 빠릅니다." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Note: 서버 시간보다 %s 시간 늦은 시간입니다." - -msgid "Choose a Time" -msgstr "시간 선택" - -msgid "Choose a time" -msgstr "시간 선택" - -msgid "Cancel" -msgstr "취소" - -msgid "Today" -msgstr "오늘" - -msgid "Choose a Date" -msgstr "시간 선택" - -msgid "Yesterday" -msgstr "어제" - -msgid "Tomorrow" -msgstr "내일" - -msgid "January" -msgstr "1월" - -msgid "February" -msgstr "2월" - -msgid "March" -msgstr "3월" - -msgid "April" -msgstr "4월" - -msgid "May" -msgstr "5월" - -msgid "June" -msgstr "6월" - -msgid "July" -msgstr "7월" - -msgid "August" -msgstr "8월" - -msgid "September" -msgstr "9월" - -msgid "October" -msgstr "10월" - -msgid "November" -msgstr "11월" - -msgid "December" -msgstr "12월" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "일" - -msgctxt "one letter Monday" -msgid "M" -msgstr "월" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "화" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "수" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "목" - -msgctxt "one letter Friday" -msgid "F" -msgstr "금" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "토" - -msgid "Show" -msgstr "보기" - -msgid "Hide" -msgstr "감추기" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ky/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ky/LC_MESSAGES/django.mo deleted file mode 100644 index 7d98a09e..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ky/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ky/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ky/LC_MESSAGES/django.po deleted file mode 100644 index 51703eac..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ky/LC_MESSAGES/django.po +++ /dev/null @@ -1,705 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Belek , 2016 -# Chyngyz Monokbaev , 2016 -# Soyuzbek Orozbek uulu , 2020 -# Soyuzbek Orozbek uulu , 2020 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-14 19:53+0200\n" -"PO-Revision-Date: 2020-07-20 07:42+0000\n" -"Last-Translator: Soyuzbek Orozbek uulu \n" -"Language-Team: Kyrgyz (http://www.transifex.com/django/django/language/ky/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ky\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "%(count)d %(items)s ийгиликтүү өчүрүлдү." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "%(name)s өчүрүү мүмкүн эмес" - -msgid "Are you sure?" -msgstr "Чечимиңиз аныкпы?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Тандалган %(verbose_name_plural)s элементтерин өчүрүү" - -msgid "Administration" -msgstr "Башкаруу" - -msgid "All" -msgstr "Баары" - -msgid "Yes" -msgstr "Ооба" - -msgid "No" -msgstr "Жок" - -msgid "Unknown" -msgstr "Такталбаган" - -msgid "Any date" -msgstr "Кааалаган бир күн" - -msgid "Today" -msgstr "Бүгүн" - -msgid "Past 7 days" -msgstr "Өткөн 7 күн" - -msgid "This month" -msgstr "Бул айда" - -msgid "This year" -msgstr "Бул жылда" - -msgid "No date" -msgstr "Күн белгиленген эмес" - -msgid "Has date" -msgstr "Күн белгиленген" - -msgid "Empty" -msgstr "Бош" - -msgid "Not empty" -msgstr "Бош эмес" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Сураныч кызматкердин %(username)s жана сыр сөзүн туура жазыңыз. Эки " -"талаага тең баш тамга же кичүү тамга менен жазганыңыз маанилүү экенин эске " -"тутуңуз." - -msgid "Action:" -msgstr "Аракет" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Дагы %(verbose_name)s кошуу" - -msgid "Remove" -msgstr "Алып таштоо" - -msgid "Addition" -msgstr "Кошумча" - -msgid "Change" -msgstr "Өзгөртүү" - -msgid "Deletion" -msgstr "Өчүрүү" - -msgid "action time" -msgstr "аракет убактысы" - -msgid "user" -msgstr "колдонуучу" - -msgid "content type" -msgstr "Контент тиби" - -msgid "object id" -msgstr "объекттин id-си" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "объекттин repr-и" - -msgid "action flag" -msgstr "аракет белгиси" - -msgid "change message" -msgstr "билдирүүнү өзгөртүү" - -msgid "log entry" -msgstr "Жазуу журналы" - -msgid "log entries" -msgstr "Жазуу журналдары" - -#, python-format -msgid "Added “%(object)s”." -msgstr "“%(object)s” кошулду" - -#, python-format -msgid "Changed “%(object)s” — %(changes)s" -msgstr "“%(object)s” — %(changes)s өзгөрдү" - -#, python-format -msgid "Deleted “%(object)s.”" -msgstr "“%(object)s.” өчүрүлдү" - -msgid "LogEntry Object" -msgstr "LogEntry обектиси" - -#, python-brace-format -msgid "Added {name} “{object}”." -msgstr "{name} “{object}” кошулду" - -msgid "Added." -msgstr "Кошулду." - -msgid "and" -msgstr "жана" - -#, python-brace-format -msgid "Changed {fields} for {name} “{object}”." -msgstr "{name} “{object}” үчүн {fields} өзгөртүлдү." - -#, python-brace-format -msgid "Changed {fields}." -msgstr "{fields} өзгөртүлдү." - -#, python-brace-format -msgid "Deleted {name} “{object}”." -msgstr "{name} “{object}” өчүрүлдү." - -msgid "No fields changed." -msgstr "Эч бир талаа өзгөртүлгөн жок" - -msgid "None" -msgstr "Эчбир" - -msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." -msgstr "Көбүрөөк тандоо үчүн “CTRL”, же макбук үчүн “Cmd” кармап туруңуз." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully." -msgstr "{name} \"{obj}\" ийгиликтүү кошулду." - -msgid "You may edit it again below." -msgstr "Сиз муну төмөндө кайра өзгөртүшүңүз мүмкүн." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was added successfully. You may add another {name} below." -msgstr "{name} \"{obj}\" ийгиликтүү кошулду. Сиз башка {name} кошо аласыз." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may edit it again below." -msgstr "{name} “{obj}” ийгиликтүү өзгөрдү. Сиз аны төмөндө өзгөртө аласыз." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully. You may edit it again below." -msgstr "{name} “{obj}” ийгиликтүү кошулду. Сиз аны төмөндө өзгөртө аласыз." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may add another {name} " -"below." -msgstr "" -"{name} “{obj}” ийгиликтүү өзгөрдү. Төмөндө башка {name} кошсоңуз болот." - -#, python-brace-format -msgid "The {name} “{obj}” was changed successfully." -msgstr "{name} \"{obj}\" ийгиликтүү өзгөрдү." - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Нерселердин үстүнөн аракет кылуудан мурда алар тандалуусу керек. Эч " -"нерсеөзгөргөн жок." - -msgid "No action selected." -msgstr "Аракет тандалган жок." - -#, python-format -msgid "The %(name)s “%(obj)s” was deleted successfully." -msgstr "%(name)s \"%(obj)s\" ийгиликтүү өчүрүлдү" - -#, python-format -msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" -msgstr "" -"ID си %(key)s\" болгон %(name)s табылган жок. Ал өчүрүлгөн болуп жүрбөсүн?" - -#, python-format -msgid "Add %s" -msgstr "%s кошуу" - -#, python-format -msgid "Change %s" -msgstr "%s өзгөртүү" - -#, python-format -msgid "View %s" -msgstr "%s көрүү" - -msgid "Database error" -msgstr "Берилиштер базасында ката" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s%(name)sийгиликтүү өзгөртүлдү." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "Бүт %(total_count)sтандалды" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "%(cnt)s нерседен эчтемке тандалган жок" - -#, python-format -msgid "Change history: %s" -msgstr "%s тарыхын өзгөртүү" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"%(class_name)s %(instance)s өчүрүлүүсү үчүн %(related_objects)s да " -"өчүрүлүүсү талап кылынат." - -msgid "Django site admin" -msgstr "Жанго башкарма сайты" - -msgid "Django administration" -msgstr "Жанго башкармасы" - -msgid "Site administration" -msgstr "Сайт башкармасы" - -msgid "Log in" -msgstr "Кирүү" - -#, python-format -msgid "%(app)s administration" -msgstr "%(app)s башкармасы" - -msgid "Page not found" -msgstr "Барак табылган жок" - -msgid "We’re sorry, but the requested page could not be found." -msgstr "Кечирим сурайбыз, сиз сураган барак табылбады." - -msgid "Home" -msgstr "Башкы" - -msgid "Server error" -msgstr "Сервер катасы" - -msgid "Server error (500)" -msgstr "Сервер (500) катасы" - -msgid "Server Error (500)" -msgstr "Сервер (500) катасы" - -msgid "" -"There’s been an error. It’s been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"Ката кетти. Сайт башкармасына экат менен кайрылсаңыз тез арада маселе " -"чечилиши мүмкүн. Түшүнгөнүңүз үчүн рахмат." - -msgid "Run the selected action" -msgstr "Тандалган аракетти иштетиңиз" - -msgid "Go" -msgstr "Жөнө" - -msgid "Click here to select the objects across all pages" -msgstr "Барак боюнча бүт обекттерди тандоо үчүн чыкылдатыңыз" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Бүт %(total_count)s %(module_name)s тандаңыз" - -msgid "Clear selection" -msgstr "Тандоону бошотуу" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "%(name)s колдонмосундагы моделдер" - -msgid "Add" -msgstr "Кошуу" - -msgid "View" -msgstr "Көрүү" - -msgid "You don’t have permission to view or edit anything." -msgstr "Сиз эчнерсени көрүүгө же өзгөртүүгө жеткиңиз жок." - -msgid "" -"First, enter a username and password. Then, you’ll be able to edit more user " -"options." -msgstr "" -"Оболу колдонуучу атыңызды жана сырсөздү териңиз. Ошондо гана башка " -"маалыматтарын өзгөртө аласыз." - -msgid "Enter a username and password." -msgstr "колдонуучу атыңызды жана сырсөз киргизиңиз." - -msgid "Change password" -msgstr "Сырсөз өзгөртүү" - -msgid "Please correct the error below." -msgstr "Төмөнкү катаны оңдоңуз." - -msgid "Please correct the errors below." -msgstr "Төмөнкү каталарды оңдоңуз" - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "%(username)s үчүн жаңы сырсөз териңиз." - -msgid "Welcome," -msgstr "Кош келиңиз," - -msgid "View site" -msgstr "Сайтты ачуу" - -msgid "Documentation" -msgstr "Түшүндүрмө" - -msgid "Log out" -msgstr "Чыгуу" - -#, python-format -msgid "Add %(name)s" -msgstr "%(name)s кошуу" - -msgid "History" -msgstr "Тарых" - -msgid "View on site" -msgstr "Сайтта көрүү" - -msgid "Filter" -msgstr "Чыпкалоо" - -msgid "Clear all filters" -msgstr "Бүт чыпкаларды алып салуу" - -msgid "Remove from sorting" -msgstr "Ирээттөөдөн алып салуу" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Ирээттөө абзелдүүлүгү: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Ирээтти алмаштыруу" - -msgid "Delete" -msgstr "Өчүрүү" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"%(object_name)s '%(escaped_object)s өчүрүү үчүн башка байланышкан " -"обекттерди өчүрүү да талап кылынат. Бирок сиздин буга жеткиңиз жок:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"%(object_name)s '%(escaped_object)s өчүрүү үчүн башка байланышкан " -"обекттерди өчүрүү да талап кылат:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Сиз чындап эле %(object_name)s \"%(escaped_object)s\" өчүрүүнү каалайсызбы? " -"Бүт байланышкан нерселер өчүрүлөт:" - -msgid "Objects" -msgstr "Обекттер" - -msgid "Yes, I’m sure" -msgstr "Ооба, мен чындап эле" - -msgid "No, take me back" -msgstr "Жок, мени аркага кайтар" - -msgid "Delete multiple objects" -msgstr "обекттерди өчүр" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"%(objects_name)s өчүрүү үчүн башка байланышкан обекттерди өчүрүү да талап " -"кылат. Бирок сиздин буга жеткиңиз жок:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"%(objects_name)s өчүрүү үчүн башка байланышкан обекттерди өчүрүү да талап " -"кылат:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"чындап эле %(objects_name)s өчүрүүнү каалайсызбы? Бүт байланышкан нерселер " -"өчүрүлөт:" - -msgid "Delete?" -msgstr "Өчүрөлүбү?" - -#, python-format -msgid " By %(filter_title)s " -msgstr "%(filter_title)s карап" - -msgid "Summary" -msgstr "Жалпысынан" - -msgid "Recent actions" -msgstr "Акыркы аракеттер" - -msgid "My actions" -msgstr "Менин аракеттерим" - -msgid "None available" -msgstr "Мүмкүн эмес" - -msgid "Unknown content" -msgstr "Белгисиз мазмун" - -msgid "" -"Something’s wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Сиздин базаңызды орнотуу боюнча ката кетти. Керектүү база жадыбалдары " -"түзүлгөндүгүн жана тиешелүү колдонуучунун жеткиси барлыгын текшериңиз." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"Сиз %(username)s катары киргенсиз, бирок сиздин бул баракка жеткиңиз жок. " -"Сиз башка колдонуучу катары киресизби?" - -msgid "Forgotten your password or username?" -msgstr "Колдонуучу атыңыз же сырсөздү унутуп калдыңызбы?" - -msgid "Toggle navigation" -msgstr "Навигацияны алмаштыруу" - -msgid "Date/time" -msgstr "Күн/убакыт" - -msgid "User" -msgstr "Колдонуучу" - -msgid "Action" -msgstr "Аракет" - -msgid "" -"This object doesn’t have a change history. It probably wasn’t added via this " -"admin site." -msgstr "Бул обекттин өзгөрүү тарыхы жок." - -msgid "Show all" -msgstr "Баарын көрсөтүү" - -msgid "Save" -msgstr "Сактоо" - -msgid "Popup closing…" -msgstr "Жалтаң жабылуу..." - -msgid "Search" -msgstr "Издөө" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "жыйынтыгы:%(counter)s" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "жалпысынан %(full_result_count)s" - -msgid "Save as new" -msgstr "Жаңы катары сактоо" - -msgid "Save and add another" -msgstr "Сакта жана башкасын кош" - -msgid "Save and continue editing" -msgstr "Сакта жана өзгөртүүнү улант" - -msgid "Save and view" -msgstr "Сактап туруп көрүү" - -msgid "Close" -msgstr "Жабуу" - -#, python-format -msgid "Change selected %(model)s" -msgstr "Тандалган %(model)s өзгөртүү" - -#, python-format -msgid "Add another %(model)s" -msgstr "Башка %(model)s кошуу" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Тандалган %(model)s обеттерин өчүрүү" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Бүгүнкү баалуу убактыңызды Сайт үчүн бөлгөнүңүзгө рахмат." - -msgid "Log in again" -msgstr "Кайрадан кирүү" - -msgid "Password change" -msgstr "Сырсөз өзгөрт" - -msgid "Your password was changed." -msgstr "Сиздин сырсөз өзгөрдү." - -msgid "" -"Please enter your old password, for security’s sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Коопсуздуктан улам эски сырсөздү териңиз, жана биз коошкондугун текшерүү " -"үчүн жаңы сырсөздү эки жолу териңиз." - -msgid "Change my password" -msgstr "Сырсөздү өзгөрт" - -msgid "Password reset" -msgstr "Сырсөздү кыйратуу" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "" -"Сиздин сырсөз орнотулду. Эми сиз алдыга карай жылып, кирүү аткарсаңыз болот." - -msgid "Password reset confirmation" -msgstr "Сырсөздү кыйратуу тастыктамасы" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Тууралыгын жана коошкондугун текшере алышыбыз үчүн сырсөздү эки жолу териңиз." - -msgid "New password:" -msgstr "Жаңы сырсөз" - -msgid "Confirm password:" -msgstr "Сырсөз тастыктоосу:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Сырсөз кыйратуу шилтемеси жараксыз, мурдатан эле колдонулган болушу мүмкүн. " -"Башка шилтеме сурап көрүңүз." - -msgid "" -"We’ve emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Сырсөз тууралуу сизге кат жөнөттүк. Эгер мындай аккаунт бар болсо аны тез " -"арада ала аласыз." - -msgid "" -"If you don’t receive an email, please make sure you’ve entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Эгер сиз екат албасаңыз даректин тууралыган текшериңиз жана спам папкасын " -"текшериңиз." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "Сиз %(site_name)s боюнча сырсөз сураган үчүн бул экат келди." - -msgid "Please go to the following page and choose a new password:" -msgstr "Төмөнкү баракка кириңиз да жаңы сырсөз тандаңыз." - -msgid "Your username, in case you’ve forgotten:" -msgstr "Сиздин колдонуучу атыңыз, унутуп калсаңыз керек болот." - -msgid "Thanks for using our site!" -msgstr "Биздин сайтты колдонгонуңуз үчүн рахмат!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "%(site_name)s жамааты" - -msgid "" -"Forgotten your password? Enter your email address below, and we’ll email " -"instructions for setting a new one." -msgstr "Сырсөз унуттуңузбу? едарек териңиз сизге сырсөз боюнча экат жөнөтөбүз." - -msgid "Email address:" -msgstr "едарек:" - -msgid "Reset my password" -msgstr "Сырсөзүмдү кыйрат" - -msgid "All dates" -msgstr "Бүт күндөр" - -#, python-format -msgid "Select %s" -msgstr "%s тандоо" - -#, python-format -msgid "Select %s to change" -msgstr "%s обекттерин өзгөртүү үчүн тандоо" - -#, python-format -msgid "Select %s to view" -msgstr "%s обекттерин көрүү үчүн тандоо" - -msgid "Date:" -msgstr "Күн:" - -msgid "Time:" -msgstr "Убак:" - -msgid "Lookup" -msgstr "Көз чаптыруу" - -msgid "Currently:" -msgstr "Азыркы:" - -msgid "Change:" -msgstr "Өзгөртүү:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ky/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ky/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 1389c646..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ky/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ky/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ky/LC_MESSAGES/djangojs.po deleted file mode 100644 index 99a0d951..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ky/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,212 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Soyuzbek Orozbek uulu , 2020 -# Soyuzbek Orozbek uulu , 2020 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-11 20:56+0200\n" -"PO-Revision-Date: 2020-05-23 06:13+0000\n" -"Last-Translator: Soyuzbek Orozbek uulu \n" -"Language-Team: Kyrgyz (http://www.transifex.com/django/django/language/ky/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ky\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#, javascript-format -msgid "Available %s" -msgstr "%s даана жеткиликтүү" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Бул жеткиликтүү тизмеси %s даана . Сиз төмөндө кутудан кээ бирлерин \"Тандоо" -"\" баскычын басуу менен тандап алсаңыз болот." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "Жеткиликтүү %s даана тизмесин чыпкалоо үчүн төмөнкү кутуга жазыңыз." - -msgid "Filter" -msgstr "Чыпкалоо" - -msgid "Choose all" -msgstr "Баарын тандоо" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Бүт %s даананы заматта тандоо үчүн чыкылдатыңыз." - -msgid "Choose" -msgstr "Тандоо" - -msgid "Remove" -msgstr "Алып таштоо" - -#, javascript-format -msgid "Chosen %s" -msgstr "%s даана тандалды" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Бул тандалган %s даана. Сиз алардын каалаганын төмөндө кутудан \"Өчүр\" " -"баскычын басуу менен өчүрө аласыз." - -msgid "Remove all" -msgstr "Баарын алып ташта" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Тандалган %s даананын баарын өчүрүү үчүн басыңыз" - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(cnt)sнерседен %(sel)sтандалды" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Сиз өзүнчө аймактарда сакталбаган өзгөртүүлөргө ээсиз. Эгер сиз бул аракетти " -"жасасаңыз сакталбаган өзгөрүүлөр текке кетет." - -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 "" -"Сиз аракетти тандадыңыз бирок өзүнчө аймактарды сактай элексиз. Сактоо үчүн " -"ОК ту басыңыз. Сиз аракетти кайталашыңыз керек." - -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 "" -"Сиз аракетти тандадыңыз жана өзүнчө аймактарда өзгөртүү киргизген жоксуз. " -"Сиз Сактоонун ордуна Жөнө баскычын басууңуз керек." - -msgid "Now" -msgstr "Азыр" - -msgid "Midnight" -msgstr "Түнүчү" - -msgid "6 a.m." -msgstr "саарлап саат 6" - -msgid "Noon" -msgstr "Түш" - -msgid "6 p.m." -msgstr "Кэч саат 6" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Эскертүү: Сиз серверден %s саат алдыда жүрөсүз." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Эскертүү: Сиз серверден %s саат аркада жүрөсүз." - -msgid "Choose a Time" -msgstr "Толук убак танда" - -msgid "Choose a time" -msgstr "Кыска убак танда" - -msgid "Cancel" -msgstr "Жокко чыгар" - -msgid "Today" -msgstr "Бүгүн" - -msgid "Choose a Date" -msgstr "Күн танда" - -msgid "Yesterday" -msgstr "Кечээ" - -msgid "Tomorrow" -msgstr "Эртең" - -msgid "January" -msgstr "Январь" - -msgid "February" -msgstr "Февраль" - -msgid "March" -msgstr "Март" - -msgid "April" -msgstr "Апрель" - -msgid "May" -msgstr "Май" - -msgid "June" -msgstr "Июнь" - -msgid "July" -msgstr "Июль" - -msgid "August" -msgstr "Август" - -msgid "September" -msgstr "Сентябрь" - -msgid "October" -msgstr "Октябрь" - -msgid "November" -msgstr "Ноябрь" - -msgid "December" -msgstr "Декабрь" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "Жек" - -msgctxt "one letter Monday" -msgid "M" -msgstr "Дүй" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "Шей" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "Шар" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "Бей" - -msgctxt "one letter Friday" -msgid "F" -msgstr "Жума" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "Ише" - -msgid "Show" -msgstr "Көрсөт" - -msgid "Hide" -msgstr "Жашыр" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/lb/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/lb/LC_MESSAGES/django.mo deleted file mode 100644 index f989aedb..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/lb/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/lb/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/lb/LC_MESSAGES/django.po deleted file mode 100644 index 5e2e7945..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/lb/LC_MESSAGES/django.po +++ /dev/null @@ -1,632 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# sim0n , 2013 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-09-19 16:40+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Luxembourgish (http://www.transifex.com/django/django/" -"language/lb/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: lb\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "" - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "" - -msgid "Are you sure?" -msgstr "" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "" - -msgid "Administration" -msgstr "" - -msgid "All" -msgstr "All" - -msgid "Yes" -msgstr "Jo" - -msgid "No" -msgstr "Nee" - -msgid "Unknown" -msgstr "Onbekannt" - -msgid "Any date" -msgstr "Iergendeen Datum" - -msgid "Today" -msgstr "Haut" - -msgid "Past 7 days" -msgstr "Läscht 7 Deeg" - -msgid "This month" -msgstr "Dëse Mount" - -msgid "This year" -msgstr "Dëst Joer" - -msgid "No date" -msgstr "" - -msgid "Has date" -msgstr "" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" - -msgid "Action:" -msgstr "Aktioun:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "" - -msgid "Remove" -msgstr "" - -msgid "action time" -msgstr "" - -msgid "user" -msgstr "" - -msgid "content type" -msgstr "" - -msgid "object id" -msgstr "" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/3/library/functions.html#repr) -msgid "object repr" -msgstr "" - -msgid "action flag" -msgstr "" - -msgid "change message" -msgstr "" - -msgid "log entry" -msgstr "" - -msgid "log entries" -msgstr "" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "" - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "" - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "" - -msgid "LogEntry Object" -msgstr "" - -#, python-brace-format -msgid "Added {name} \"{object}\"." -msgstr "" - -msgid "Added." -msgstr "" - -msgid "and" -msgstr "" - -#, python-brace-format -msgid "Changed {fields} for {name} \"{object}\"." -msgstr "" - -#, python-brace-format -msgid "Changed {fields}." -msgstr "" - -#, python-brace-format -msgid "Deleted {name} \"{object}\"." -msgstr "" - -msgid "No fields changed." -msgstr "" - -msgid "None" -msgstr "" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was changed successfully." -msgstr "" - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" - -msgid "No action selected." -msgstr "" - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "" - -#, python-format -msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" -msgstr "" - -#, python-format -msgid "Add %s" -msgstr "" - -#, python-format -msgid "Change %s" -msgstr "" - -msgid "Database error" -msgstr "" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "" - -#, python-format -msgid "Change history: %s" -msgstr "" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" - -msgid "Django site admin" -msgstr "" - -msgid "Django administration" -msgstr "" - -msgid "Site administration" -msgstr "" - -msgid "Log in" -msgstr "" - -#, python-format -msgid "%(app)s administration" -msgstr "" - -msgid "Page not found" -msgstr "" - -msgid "We're sorry, but the requested page could not be found." -msgstr "" - -msgid "Home" -msgstr "" - -msgid "Server error" -msgstr "" - -msgid "Server error (500)" -msgstr "" - -msgid "Server Error (500)" -msgstr "" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" - -msgid "Run the selected action" -msgstr "" - -msgid "Go" -msgstr "" - -msgid "Click here to select the objects across all pages" -msgstr "" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "" - -msgid "Clear selection" -msgstr "" - -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" - -msgid "Enter a username and password." -msgstr "" - -msgid "Change password" -msgstr "" - -msgid "Please correct the error below." -msgstr "" - -msgid "Please correct the errors below." -msgstr "" - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "" - -msgid "Welcome," -msgstr "" - -msgid "View site" -msgstr "" - -msgid "Documentation" -msgstr "" - -msgid "Log out" -msgstr "" - -#, python-format -msgid "Add %(name)s" -msgstr "" - -msgid "History" -msgstr "" - -msgid "View on site" -msgstr "" - -msgid "Filter" -msgstr "" - -msgid "Remove from sorting" -msgstr "" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "" - -msgid "Toggle sorting" -msgstr "" - -msgid "Delete" -msgstr "Läschen" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" - -msgid "Objects" -msgstr "" - -msgid "Yes, I'm sure" -msgstr "" - -msgid "No, take me back" -msgstr "" - -msgid "Delete multiple objects" -msgstr "" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" - -msgid "Change" -msgstr "Änner" - -msgid "Delete?" -msgstr "" - -#, python-format -msgid " By %(filter_title)s " -msgstr "" - -msgid "Summary" -msgstr "" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "" - -msgid "Add" -msgstr "" - -msgid "You don't have permission to edit anything." -msgstr "" - -msgid "Recent actions" -msgstr "" - -msgid "My actions" -msgstr "" - -msgid "None available" -msgstr "" - -msgid "Unknown content" -msgstr "" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" - -msgid "Forgotten your password or username?" -msgstr "" - -msgid "Date/time" -msgstr "" - -msgid "User" -msgstr "" - -msgid "Action" -msgstr "" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" - -msgid "Show all" -msgstr "" - -msgid "Save" -msgstr "" - -msgid "Popup closing..." -msgstr "" - -#, python-format -msgid "Change selected %(model)s" -msgstr "" - -#, python-format -msgid "Add another %(model)s" -msgstr "" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "" - -msgid "Search" -msgstr "" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "" - -msgid "Save as new" -msgstr "" - -msgid "Save and add another" -msgstr "" - -msgid "Save and continue editing" -msgstr "" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "" - -msgid "Log in again" -msgstr "" - -msgid "Password change" -msgstr "" - -msgid "Your password was changed." -msgstr "" - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" - -msgid "Change my password" -msgstr "" - -msgid "Password reset" -msgstr "" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "" - -msgid "Password reset confirmation" -msgstr "" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" - -msgid "New password:" -msgstr "" - -msgid "Confirm password:" -msgstr "" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" - -msgid "Please go to the following page and choose a new password:" -msgstr "" - -msgid "Your username, in case you've forgotten:" -msgstr "" - -msgid "Thanks for using our site!" -msgstr "" - -#, python-format -msgid "The %(site_name)s team" -msgstr "" - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" - -msgid "Email address:" -msgstr "" - -msgid "Reset my password" -msgstr "" - -msgid "All dates" -msgstr "" - -#, python-format -msgid "Select %s" -msgstr "" - -#, python-format -msgid "Select %s to change" -msgstr "" - -msgid "Date:" -msgstr "" - -msgid "Time:" -msgstr "" - -msgid "Lookup" -msgstr "" - -msgid "Currently:" -msgstr "" - -msgid "Change:" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/lb/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/lb/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 5b7937f6..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/lb/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/lb/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/lb/LC_MESSAGES/djangojs.po deleted file mode 100644 index e1c4a6ab..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/lb/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,145 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-01-17 11:07+0100\n" -"PO-Revision-Date: 2014-10-05 20:12+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Luxembourgish (http://www.transifex.com/projects/p/django/" -"language/lb/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: lb\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "" - -msgid "Filter" -msgstr "" - -msgid "Choose all" -msgstr "" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "" - -msgid "Choose" -msgstr "" - -msgid "Remove" -msgstr "" - -#, javascript-format -msgid "Chosen %s" -msgstr "" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" - -msgid "Remove all" -msgstr "" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "" - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "" -msgstr[1] "" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" - -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 "" - -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 "" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "" -msgstr[1] "" - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "" -msgstr[1] "" - -msgid "Now" -msgstr "" - -msgid "Clock" -msgstr "" - -msgid "Choose a time" -msgstr "" - -msgid "Midnight" -msgstr "" - -msgid "6 a.m." -msgstr "" - -msgid "Noon" -msgstr "" - -msgid "Cancel" -msgstr "" - -msgid "Today" -msgstr "" - -msgid "Calendar" -msgstr "" - -msgid "Yesterday" -msgstr "" - -msgid "Tomorrow" -msgstr "" - -msgid "" -"January February March April May June July August September October November " -"December" -msgstr "" - -msgid "S M T W T F S" -msgstr "" - -msgid "Show" -msgstr "" - -msgid "Hide" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/lt/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/lt/LC_MESSAGES/django.mo deleted file mode 100644 index b225f663..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/lt/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/lt/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/lt/LC_MESSAGES/django.po deleted file mode 100644 index 0c93418a..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/lt/LC_MESSAGES/django.po +++ /dev/null @@ -1,720 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Jannis Leidel , 2011 -# lauris , 2011 -# Matas Dailyda , 2015-2019 -# Nikolajus Krauklis , 2013 -# Simonas Kazlauskas , 2012-2013 -# sirex , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-01-16 20:42+0100\n" -"PO-Revision-Date: 2019-01-18 10:32+0000\n" -"Last-Translator: Matas Dailyda \n" -"Language-Team: Lithuanian (http://www.transifex.com/django/django/language/" -"lt/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: lt\n" -"Plural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < " -"11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? " -"1 : n % 1 != 0 ? 2: 3);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "Sėkmingai ištrinta %(count)d %(items)s." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "Ištrinti %(name)s negalima" - -msgid "Are you sure?" -msgstr "Ar esate tikras?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Ištrinti pasirinktus %(verbose_name_plural)s " - -msgid "Administration" -msgstr "Administravimas" - -msgid "All" -msgstr "Visi" - -msgid "Yes" -msgstr "Taip" - -msgid "No" -msgstr "Ne" - -msgid "Unknown" -msgstr "Nežinomas" - -msgid "Any date" -msgstr "Betkokia data" - -msgid "Today" -msgstr "Šiandien" - -msgid "Past 7 days" -msgstr "Paskutinės 7 dienos" - -msgid "This month" -msgstr "Šį mėnesį" - -msgid "This year" -msgstr "Šiais metais" - -msgid "No date" -msgstr "Nėra datos" - -msgid "Has date" -msgstr "Turi datą" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Prašome įvesti tinkamą personalo paskyros %(username)s ir slaptažodį. " -"Atminkite, kad abu laukeliai yra jautrūs raidžių dydžiui." - -msgid "Action:" -msgstr "Veiksmas:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Pridėti dar viena %(verbose_name)s" - -msgid "Remove" -msgstr "Pašalinti" - -msgid "Addition" -msgstr "Pridėjimas" - -msgid "Change" -msgstr "Pakeisti" - -msgid "Deletion" -msgstr "Pašalinimas" - -msgid "action time" -msgstr "veiksmo laikas" - -msgid "user" -msgstr "vartotojas" - -msgid "content type" -msgstr "turinio tipas" - -msgid "object id" -msgstr "objekto id" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "objekto repr" - -msgid "action flag" -msgstr "veiksmo žymė" - -msgid "change message" -msgstr "pakeisti žinutę" - -msgid "log entry" -msgstr "log įrašas" - -msgid "log entries" -msgstr "log įrašai" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "„%(object)s“ pridėti." - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "Pakeisti „%(object)s“ - %(changes)s" - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "„%(object)s“ ištrinti." - -msgid "LogEntry Object" -msgstr "LogEntry objektas" - -#, python-brace-format -msgid "Added {name} \"{object}\"." -msgstr "Pridėtas {name} \"{object}\"." - -msgid "Added." -msgstr "Pridėta." - -msgid "and" -msgstr "ir" - -#, python-brace-format -msgid "Changed {fields} for {name} \"{object}\"." -msgstr "Pakeisti {fields} arba {name} \"{object}\"." - -#, python-brace-format -msgid "Changed {fields}." -msgstr "Pakeisti {fields}." - -#, python-brace-format -msgid "Deleted {name} \"{object}\"." -msgstr "Pašalintas {name} \"{object}\"." - -msgid "No fields changed." -msgstr "Nei vienas laukas nepakeistas" - -msgid "None" -msgstr "None" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" -"Nuspauskite \"Control\", arba \"Command\" Mac kompiuteriuose, kad pasirinkti " -"daugiau nei vieną." - -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "{name} \"{obj}\" buvo sėkmingai pridėtas." - -msgid "You may edit it again below." -msgstr "Galite tai dar kartą redaguoti žemiau." - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may add another {name} " -"below." -msgstr "" -"{name} \"{obj}\" buvo sėkmingai pridėtas. Galite pridėti kitą {name} žemiau." - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." -msgstr "{name} \"{obj}\" buvo sėkmingai pakeistas. Galite jį koreguoti žemiau." - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" -"{name} \"{obj}\" buvo sėkmingai pridėtas. Galite jį vėl redaguoti žemiau." - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may add another {name} " -"below." -msgstr "" -"{name} \"{obj}\" buvo sėkmingai pakeistas. Galite pridėti kitą {name} žemiau." - -#, python-brace-format -msgid "The {name} \"{obj}\" was changed successfully." -msgstr "{name} \"{obj}\" buvo sėkmingai pakeistas." - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Įrašai turi būti pasirinkti, kad būtų galima atlikti veiksmus. Įrašai " -"pakeisti nebuvo." - -msgid "No action selected." -msgstr "Veiksmai atlikti nebuvo." - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "%(name)s \"%(obj)s\" sėkmingai ištrintas." - -#, python-format -msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" -msgstr "%(name)s su ID \"%(key)s\" neegzistuoja. Gal tai buvo ištrinta?" - -#, python-format -msgid "Add %s" -msgstr "Pridėti %s" - -#, python-format -msgid "Change %s" -msgstr "Pakeisti %s" - -#, python-format -msgid "View %s" -msgstr "Peržiūrėti %s" - -msgid "Database error" -msgstr "Duomenų bazės klaida" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s sėkmingai pakeistas." -msgstr[1] "%(count)s %(name)s sėkmingai pakeisti." -msgstr[2] "%(count)s %(name)s " -msgstr[3] "%(count)s %(name)s " - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s pasirinktas" -msgstr[1] "%(total_count)s pasirinkti" -msgstr[2] "Visi %(total_count)s pasirinkti" -msgstr[3] "Visi %(total_count)s pasirinkti" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "0 iš %(cnt)s pasirinkta" - -#, python-format -msgid "Change history: %s" -msgstr "Pakeitimų istorija: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"%(class_name)s %(instance)s šalinimas reikalautų pašalinti apsaugotus " -"susijusius objektus: %(related_objects)s" - -msgid "Django site admin" -msgstr "Django tinklalapio administravimas" - -msgid "Django administration" -msgstr "Django administravimas" - -msgid "Site administration" -msgstr "Tinklalapio administravimas" - -msgid "Log in" -msgstr "Prisijungti" - -#, python-format -msgid "%(app)s administration" -msgstr "%(app)s administravimas" - -msgid "Page not found" -msgstr "Puslapis nerastas" - -msgid "We're sorry, but the requested page could not be found." -msgstr "Atsiprašome, bet prašytas puslapis nerastas." - -msgid "Home" -msgstr "Pradinis" - -msgid "Server error" -msgstr "Serverio klaida" - -msgid "Server error (500)" -msgstr "Serverio klaida (500)" - -msgid "Server Error (500)" -msgstr "Serverio klaida (500)" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"Netikėta klaida. Apie ją buvo pranešta administratoriams el. paštu ir ji " -"turėtų būti greitai sutvarkyta. Dėkui už kantrybę." - -msgid "Run the selected action" -msgstr "Vykdyti pasirinktus veiksmus" - -msgid "Go" -msgstr "Vykdyti" - -msgid "Click here to select the objects across all pages" -msgstr "Spauskite čia norėdami pasirinkti visus įrašus" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Pasirinkti visus %(total_count)s %(module_name)s" - -msgid "Clear selection" -msgstr "Atstatyti į pradinę būseną" - -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" -"Pirmiausia įveskite naudotojo vardą ir slaptažodį. Tada galėsite keisti " -"daugiau naudotojo nustatymų." - -msgid "Enter a username and password." -msgstr "Įveskite naudotojo vardą ir slaptažodį." - -msgid "Change password" -msgstr "Keisti slaptažodį" - -msgid "Please correct the error below." -msgstr "Prašome ištaisyti žemiau esančią klaidą." - -msgid "Please correct the errors below." -msgstr "Ištaisykite žemiau esančias klaidas." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "Įveskite naują slaptažodį naudotojui %(username)s." - -msgid "Welcome," -msgstr "Sveiki," - -msgid "View site" -msgstr "Peržiūrėti tinklalapį" - -msgid "Documentation" -msgstr "Dokumentacija" - -msgid "Log out" -msgstr "Atsijungti" - -#, python-format -msgid "Add %(name)s" -msgstr "Naujas %(name)s" - -msgid "History" -msgstr "Istorija" - -msgid "View on site" -msgstr "Matyti tinklalapyje" - -msgid "Filter" -msgstr "Filtras" - -msgid "Remove from sorting" -msgstr "Pašalinti iš rikiavimo" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Rikiavimo prioritetas: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Perjungti rikiavimą" - -msgid "Delete" -msgstr "Ištrinti" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Trinant %(object_name)s '%(escaped_object)s' turi būti ištrinti ir susiję " -"objektai, bet tavo vartotojas neturi teisių ištrinti šių objektų:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"Ištrinant %(object_name)s '%(escaped_object)s' būtų ištrinti šie apsaugoti " -"ir susiję objektai:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Ar este tikri, kad norite ištrinti %(object_name)s \"%(escaped_object)s\"? " -"Visi susiję objektai bus ištrinti:" - -msgid "Objects" -msgstr "Objektai" - -msgid "Yes, I'm sure" -msgstr "Taip, esu tikras" - -msgid "No, take me back" -msgstr "Ne, grįžti atgal" - -msgid "Delete multiple objects" -msgstr "Ištrinti kelis objektus" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Ištrinant pasirinktą %(objects_name)s būtų ištrinti susiję objektai, tačiau " -"jūsų vartotojas neturi reikalingų teisių ištrinti šiuos objektų tipus:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Ištrinant pasirinktus %(objects_name)s būtų ištrinti šie apsaugoti ir susiję " -"objektai:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Ar esate tikri, kad norite ištrinti pasirinktus %(objects_name)s? Sekantys " -"pasirinkti bei susiję objektai bus ištrinti:" - -msgid "View" -msgstr "Peržiūrėti" - -msgid "Delete?" -msgstr "Ištrinti?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " Pagal %(filter_title)s " - -msgid "Summary" -msgstr "Santrauka" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "%(name)s aplikacijos modeliai" - -msgid "Add" -msgstr "Pridėti" - -msgid "You don't have permission to view or edit anything." -msgstr "Jūs neturite teisių peržiūrai ir redagavimui." - -msgid "Recent actions" -msgstr "Paskutiniai veiksmai" - -msgid "My actions" -msgstr "Mano veiksmai" - -msgid "None available" -msgstr "Nėra prieinamų" - -msgid "Unknown content" -msgstr "Nežinomas turinys" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Kažkas yra negerai su jūsų duomenų bazės instaliacija. Įsitikink, kad visos " -"reikalingos lentelės sukurtos ir vartotojas turi teises skaityti duomenų " -"bazę." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"Jūs esate prisijungęs kaip %(username)s, bet neturite teisių patekti į šį " -"puslapį. Ar norėtumete prisijungti su kitu vartotoju?" - -msgid "Forgotten your password or username?" -msgstr "Pamiršote slaptažodį ar vartotojo vardą?" - -msgid "Date/time" -msgstr "Data/laikas" - -msgid "User" -msgstr "Naudotojas" - -msgid "Action" -msgstr "Veiksmas" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" -"Šis objektas neturi pakeitimų istorijos. Tikriausiai jis buvo pridėtas ne " -"per administravimo puslapį." - -msgid "Show all" -msgstr "Rodyti visus" - -msgid "Save" -msgstr "Išsaugoti" - -msgid "Popup closing…" -msgstr "Iškylantysis langas užsidaro..." - -msgid "Search" -msgstr "Ieškoti" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s rezultatas" -msgstr[1] "%(counter)s rezultatai" -msgstr[2] "%(counter)s rezultatai" -msgstr[3] "%(counter)s rezultatai" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s iš viso" - -msgid "Save as new" -msgstr "Išsaugoti kaip naują" - -msgid "Save and add another" -msgstr "Išsaugoti ir pridėti naują" - -msgid "Save and continue editing" -msgstr "Išsaugoti ir tęsti redagavimą" - -msgid "Save and view" -msgstr "Išsaugoti ir peržiūrėti" - -msgid "Close" -msgstr "Uždaryti" - -#, python-format -msgid "Change selected %(model)s" -msgstr "Keisti pasirinktus %(model)s" - -#, python-format -msgid "Add another %(model)s" -msgstr "Pridėti dar vieną %(model)s" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Pašalinti pasirinktus %(model)s" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Dėkui už šiandien tinklalapyje turiningai praleistą laiką." - -msgid "Log in again" -msgstr "Prisijungti dar kartą" - -msgid "Password change" -msgstr "Slaptažodžio keitimas" - -msgid "Your password was changed." -msgstr "Jūsų slaptažodis buvo pakeistas." - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Saugumo sumetimais įveskite seną slaptažodį ir tada du kartus naują, kad " -"įsitikinti, jog nesuklydote rašydamas" - -msgid "Change my password" -msgstr "Keisti mano slaptažodį" - -msgid "Password reset" -msgstr "Slaptažodžio atstatymas" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Jūsų slaptažodis buvo išsaugotas. Dabas galite prisijungti." - -msgid "Password reset confirmation" -msgstr "Slaptažodžio atstatymo patvirtinimas" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Įveskite naująjį slaptažodį du kartus, taip užtikrinant, jog nesuklydote " -"rašydami." - -msgid "New password:" -msgstr "Naujasis slaptažodis:" - -msgid "Confirm password:" -msgstr "Slaptažodžio patvirtinimas:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Slaptažodžio atstatymo nuoroda buvo negaliojanti, nes ji tikriausiai jau " -"buvo panaudota. Prašykite naujo slaptažodžio pakeitimo." - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Jei egzistuoja vartotojas su jūsų įvestu elektroninio pašto adresu, " -"išsiųsime jums slaptažodžio nustatymo instrukcijas . Instrukcijas turėtumėte " -"gauti netrukus." - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Jei el. laiško negavote, prašome įsitikinti ar įvedėte tą el. pašto adresą " -"kuriuo registravotės ir patikrinkite savo šlamšto aplanką." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"Jūs gaunate šį laišką nes prašėte paskyros slaptažodžio atkūrimo " -"%(site_name)s svetainėje." - -msgid "Please go to the following page and choose a new password:" -msgstr "Prašome eiti į šį puslapį ir pasirinkti naują slaptažodį:" - -msgid "Your username, in case you've forgotten:" -msgstr "Jūsų naudotojo vardas, jei netyčia jį užmiršote:" - -msgid "Thanks for using our site!" -msgstr "Dėkui, kad naudojatės mūsų tinklalapiu!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "%(site_name)s komanda" - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" -"Pamiršote slaptažodį? Įveskite savo el. pašto adresą ir mes išsiųsime laišką " -"su instrukcijomis kaip nustatyti naują slaptažodį." - -msgid "Email address:" -msgstr "El. pašto adresas:" - -msgid "Reset my password" -msgstr "Atstatyti slaptažodį" - -msgid "All dates" -msgstr "Visos datos" - -#, python-format -msgid "Select %s" -msgstr "Pasirinkti %s" - -#, python-format -msgid "Select %s to change" -msgstr "Pasirinkite %s kurį norite keisti" - -#, python-format -msgid "Select %s to view" -msgstr "Pasirinkti %s peržiūrai" - -msgid "Date:" -msgstr "Data:" - -msgid "Time:" -msgstr "Laikas:" - -msgid "Lookup" -msgstr "Paieška" - -msgid "Currently:" -msgstr "Šiuo metu:" - -msgid "Change:" -msgstr "Pakeisti:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/lt/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/lt/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 77922d36..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/lt/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/lt/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/lt/LC_MESSAGES/djangojs.po deleted file mode 100644 index a922bd63..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/lt/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,236 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Jannis Leidel , 2011 -# Kostas , 2011 -# Matas Dailyda , 2015-2016 -# Povilas Balzaravičius , 2011 -# Simonas Kazlauskas , 2012 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-05-17 11:50+0200\n" -"PO-Revision-Date: 2017-09-19 16:41+0000\n" -"Last-Translator: Matas Dailyda \n" -"Language-Team: Lithuanian (http://www.transifex.com/django/django/language/" -"lt/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: lt\n" -"Plural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < " -"11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? " -"1 : n % 1 != 0 ? 2: 3);\n" - -#, javascript-format -msgid "Available %s" -msgstr "Galimi %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Tai yra sąrašas prieinamų %s. Dėžutėje žemiau pažymėdami keletą iš jų ir " -"paspausdami „Pasirinkti“ rodyklę tarp dviejų dėžučių jūs galite pasirinkti " -"keletą iš jų." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "Rašykite į šią dėžutę, kad išfiltruotumėte prieinamų %s sąrašą." - -msgid "Filter" -msgstr "Filtras" - -msgid "Choose all" -msgstr "Pasirinkti visus" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Spustelėkite, kad iš karto pasirinktumėte visus %s." - -msgid "Choose" -msgstr "Pasirinkti" - -msgid "Remove" -msgstr "Pašalinti" - -#, javascript-format -msgid "Chosen %s" -msgstr "Pasirinktas %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Tai yra sąrašas pasirinktų %s. Dėžutėje žemiau pažymėdami keletą iš jų ir " -"paspausdami „Pašalinti“ rodyklę tarp dviejų dėžučių jūs galite pašalinti " -"keletą iš jų." - -msgid "Remove all" -msgstr "Pašalinti visus" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Spustelėkite, kad iš karto pašalintumėte visus pasirinktus %s." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "pasirinktas %(sel)s iš %(cnt)s" -msgstr[1] "pasirinkti %(sel)s iš %(cnt)s" -msgstr[2] "pasirinkti %(sel)s iš %(cnt)s" -msgstr[3] "pasirinkti %(sel)s iš %(cnt)s" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Turite neišsaugotų pakeitimų. Jeigu tęsite, Jūsų pakeitimai bus prarasti." - -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 "" -"Pasirinkote veiksmą, bet dar neesate išsaugoję pakeitimų. Nuspauskite Gerai " -"norėdami išsaugoti. Jus reikės iš naujo paleisti veiksmą." - -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 "" -"Pasirinkote veiksmą, bet neesate pakeitę laukų reikšmių. Jūs greičiausiai " -"ieškote mygtuko Vykdyti, o ne mygtuko Saugoti." - -msgid "Now" -msgstr "Dabar" - -msgid "Midnight" -msgstr "Vidurnaktis" - -msgid "6 a.m." -msgstr "6 a.m." - -msgid "Noon" -msgstr "Vidurdienis" - -msgid "6 p.m." -msgstr "18:00" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "" -"Pastaba: Jūsų laikrodis rodo %s valanda daugiau nei serverio laikrodis." -msgstr[1] "" -"Pastaba: Jūsų laikrodis rodo %s valandomis daugiau nei serverio laikrodis." -msgstr[2] "" -"Pastaba: Jūsų laikrodis rodo %s valandų daugiau nei serverio laikrodis." -msgstr[3] "" -"Pastaba: Jūsų laikrodis rodo %s valandų daugiau nei serverio laikrodis." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "" -"Pastaba: Jūsų laikrodis rodo %s valanda mažiau nei serverio laikrodis." -msgstr[1] "" -"Pastaba: Jūsų laikrodis rodo %s valandomis mažiau nei serverio laikrodis." -msgstr[2] "" -"Pastaba: Jūsų laikrodis rodo %s valandų mažiau nei serverio laikrodis." -msgstr[3] "" -"Pastaba: Jūsų laikrodis rodo %s valandų mažiau nei serverio laikrodis." - -msgid "Choose a Time" -msgstr "Pasirinkite laiką" - -msgid "Choose a time" -msgstr "Pasirinkite laiką" - -msgid "Cancel" -msgstr "Atšaukti" - -msgid "Today" -msgstr "Šiandien" - -msgid "Choose a Date" -msgstr "Pasirinkite datą" - -msgid "Yesterday" -msgstr "Vakar" - -msgid "Tomorrow" -msgstr "Rytoj" - -msgid "January" -msgstr "Sausis" - -msgid "February" -msgstr "Vasaris" - -msgid "March" -msgstr "Kovas" - -msgid "April" -msgstr "Balandis" - -msgid "May" -msgstr "Gegužė" - -msgid "June" -msgstr "Birželis" - -msgid "July" -msgstr "Liepa" - -msgid "August" -msgstr "Rugpjūtis" - -msgid "September" -msgstr "Rugsėjis" - -msgid "October" -msgstr "Spalis" - -msgid "November" -msgstr "Lapkritis" - -msgid "December" -msgstr "Gruodis" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "S" - -msgctxt "one letter Monday" -msgid "M" -msgstr "P" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "A" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "T" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "K" - -msgctxt "one letter Friday" -msgid "F" -msgstr "Pn" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "Š" - -msgid "Show" -msgstr "Parodyti" - -msgid "Hide" -msgstr "Slėpti" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/lv/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/lv/LC_MESSAGES/django.mo deleted file mode 100644 index bc907fcd..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/lv/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/lv/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/lv/LC_MESSAGES/django.po deleted file mode 100644 index e865dd10..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/lv/LC_MESSAGES/django.po +++ /dev/null @@ -1,720 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# edgars , 2011 -# NullIsNot0 , 2017 -# NullIsNot0 , 2018 -# Jannis Leidel , 2011 -# Māris Nartišs , 2016 -# NullIsNot0 , 2019-2020 -# peterisb , 2016 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-14 19:53+0200\n" -"PO-Revision-Date: 2020-07-22 17:27+0000\n" -"Last-Translator: NullIsNot0 \n" -"Language-Team: Latvian (http://www.transifex.com/django/django/language/" -"lv/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: lv\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " -"2);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "Veiksmīgi izdzēsti %(count)d %(items)s." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "Nevar izdzēst %(name)s" - -msgid "Are you sure?" -msgstr "Vai esat pārliecināts?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Izdzēst izvēlēto %(verbose_name_plural)s" - -msgid "Administration" -msgstr "Administrācija" - -msgid "All" -msgstr "Visi" - -msgid "Yes" -msgstr "Jā" - -msgid "No" -msgstr "Nē" - -msgid "Unknown" -msgstr "Nezināms" - -msgid "Any date" -msgstr "Jebkurš datums" - -msgid "Today" -msgstr "Šodien" - -msgid "Past 7 days" -msgstr "Pēdējās 7 dienas" - -msgid "This month" -msgstr "Šomēnes" - -msgid "This year" -msgstr "Šogad" - -msgid "No date" -msgstr "Nav datums" - -msgid "Has date" -msgstr "Ir datums" - -msgid "Empty" -msgstr "Tukšs" - -msgid "Not empty" -msgstr "Nav tukšs" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Lūdzu ievadi korektu %(username)s un paroli personāla kontam. Ņem vērā, ka " -"abi ievades lauki ir reģistr jūtīgi." - -msgid "Action:" -msgstr "Darbība:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Pievienot vēl %(verbose_name)s" - -msgid "Remove" -msgstr "Dzēst" - -msgid "Addition" -msgstr "Pievienošana" - -msgid "Change" -msgstr "Izmainīt" - -msgid "Deletion" -msgstr "Dzēšana" - -msgid "action time" -msgstr "darbības laiks" - -msgid "user" -msgstr "lietotājs" - -msgid "content type" -msgstr "satura tips" - -msgid "object id" -msgstr "objekta id" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "objekta attēlojums" - -msgid "action flag" -msgstr "darbības atzīme" - -msgid "change message" -msgstr "izmaiņas teksts" - -msgid "log entry" -msgstr "žurnāla ieraksts" - -msgid "log entries" -msgstr "žurnāla ieraksti" - -#, python-format -msgid "Added “%(object)s”." -msgstr "Pievienots “%(object)s”." - -#, python-format -msgid "Changed “%(object)s” — %(changes)s" -msgstr "Labots “%(object)s” — %(changes)s" - -#, python-format -msgid "Deleted “%(object)s.”" -msgstr "Dzēsts “%(object)s.”" - -msgid "LogEntry Object" -msgstr "LogEntry Objekts" - -#, python-brace-format -msgid "Added {name} “{object}”." -msgstr "Pievienots {name} “{object}”." - -msgid "Added." -msgstr "Pievienots." - -msgid "and" -msgstr "un" - -#, python-brace-format -msgid "Changed {fields} for {name} “{object}”." -msgstr "Laboti {fields} {name} “{object}”." - -#, python-brace-format -msgid "Changed {fields}." -msgstr "Mainīts {fields}." - -#, python-brace-format -msgid "Deleted {name} “{object}”." -msgstr "Dzēsts {name} “{object}”." - -msgid "No fields changed." -msgstr "Lauki nav izmainīti" - -msgid "None" -msgstr "nekas" - -msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." -msgstr "" -"Turiet nospiestu “Control”, vai “Command” uz Mac, lai iezīmētu vairāk par " -"vienu." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully." -msgstr "{name} “{obj}” veiksmīgi pievienots." - -msgid "You may edit it again below." -msgstr "Jūs varat to atkal labot zemāk. " - -#, python-brace-format -msgid "" -"The {name} “{obj}” was added successfully. You may add another {name} below." -msgstr "{name} “{obj}” veiksmīgi pievienots. Zemāk varat pievienot vēl {name}." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may edit it again below." -msgstr "{name} “{obj}” veiksmīgi labots. Zemāk to varat atkal labot." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully. You may edit it again below." -msgstr "{name} “{obj}” veiksmīgi pievienots. Zemāk to varat atkal labot." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may add another {name} " -"below." -msgstr "{name} “{obj}” veiksmīgi labots. Zemāk varat pievienot vēl {name}." - -#, python-brace-format -msgid "The {name} “{obj}” was changed successfully." -msgstr "{name} “{obj}” veiksmīgi labots." - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "Lai veiktu darbību, jāizvēlas rindas. Rindas nav izmainītas." - -msgid "No action selected." -msgstr "Nav izvēlēta darbība." - -#, python-format -msgid "The %(name)s “%(obj)s” was deleted successfully." -msgstr "%(name)s “%(obj)s” veiksmīgi dzēsts." - -#, python-format -msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" -msgstr "%(name)s ar ID “%(key)s” neeksistē. Varbūt tas ir dzēsts?" - -#, python-format -msgid "Add %s" -msgstr "Pievienot %s" - -#, python-format -msgid "Change %s" -msgstr "Labot %s" - -#, python-format -msgid "View %s" -msgstr "Apskatīt %s" - -msgid "Database error" -msgstr "Datubāzes kļūda" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s ir laboti sekmīgi" -msgstr[1] "%(count)s %(name)s ir sekmīgi rediģēts" -msgstr[2] "%(count)s %(name)s ir sekmīgi rediģēti." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s izvēlēti" -msgstr[1] "%(total_count)s izvēlēts" -msgstr[2] "%(total_count)s izvēlēti" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "0 no %(cnt)s izvēlēti" - -#, python-format -msgid "Change history: %s" -msgstr "Izmaiņu vēsture: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"%(class_name)s %(instance)s dzēšanai ir nepieciešams izdzēst sekojošus " -"aizsargātus saistītos objektus: %(related_objects)s" - -msgid "Django site admin" -msgstr "Django administrācijas lapa" - -msgid "Django administration" -msgstr "Django administrācija" - -msgid "Site administration" -msgstr "Lapas administrācija" - -msgid "Log in" -msgstr "Pieslēgties" - -#, python-format -msgid "%(app)s administration" -msgstr "%(app)s administrācija" - -msgid "Page not found" -msgstr "Lapa nav atrasta" - -msgid "We’re sorry, but the requested page could not be found." -msgstr "Atvainojiet, pieprasītā lapa neeksistē." - -msgid "Home" -msgstr "Sākums" - -msgid "Server error" -msgstr "Servera kļūda" - -msgid "Server error (500)" -msgstr "Servera kļūda (500)" - -msgid "Server Error (500)" -msgstr "Servera kļūda (500)" - -msgid "" -"There’s been an error. It’s been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"Notika kļūda. Lapas administratoriem ir nosūtīts e-pasts un kļūda tuvākajā " -"laikā tiks novērsta. Paldies par pacietību." - -msgid "Run the selected action" -msgstr "Izpildīt izvēlēto darbību" - -msgid "Go" -msgstr "Aiziet!" - -msgid "Click here to select the objects across all pages" -msgstr "Spiest šeit, lai iezīmētu objektus no visām lapām" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Izvēlēties visus %(total_count)s %(module_name)s" - -msgid "Clear selection" -msgstr "Atcelt iezīmēto" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "Modeļi %(name)s lietotnē" - -msgid "Add" -msgstr "Pievienot" - -msgid "View" -msgstr "Apskatīt" - -msgid "You don’t have permission to view or edit anything." -msgstr "Jums nav tiesību neko skatīt vai labot." - -msgid "" -"First, enter a username and password. Then, you’ll be able to edit more user " -"options." -msgstr "" -"Vispirms ievadiet lietotāja vārdu un paroli. Tad varēsiet labot pārējos " -"lietotāja uzstādījumus." - -msgid "Enter a username and password." -msgstr "Ievadi lietotājvārdu un paroli." - -msgid "Change password" -msgstr "Paroles maiņa" - -msgid "Please correct the error below." -msgstr "Lūdzu izlabojiet zemāk redzamo kļūdu." - -msgid "Please correct the errors below." -msgstr "Lūdzu labo kļūdas zemāk." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "Ievadiet jaunu paroli lietotājam %(username)s." - -msgid "Welcome," -msgstr "Sveicināti," - -msgid "View site" -msgstr "Apskatīt lapu" - -msgid "Documentation" -msgstr "Dokumentācija" - -msgid "Log out" -msgstr "Atslēgties" - -#, python-format -msgid "Add %(name)s" -msgstr "Pievienot %(name)s" - -msgid "History" -msgstr "Vēsture" - -msgid "View on site" -msgstr "Apskatīt lapā" - -msgid "Filter" -msgstr "Filtrs" - -msgid "Clear all filters" -msgstr "Notīrīt visus filtrus" - -msgid "Remove from sorting" -msgstr "Izņemt no kārtošanas" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Kārtošanas prioritāte: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Pārslēgt kārtošanu" - -msgid "Delete" -msgstr "Dzēst" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Izdzēšot objektu %(object_name)s '%(escaped_object)s', tiks dzēsti visi " -"saistītie objekti, bet jums nav tiesību dzēst sekojošus objektu tipus:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"%(object_name)s '%(escaped_object)s' dzēšanai ir nepieciešams izdzēst " -"sekojošus aizsargātus saistītos objektus:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Vai esat pārliecināts, ka vēlaties dzēst %(object_name)s \"%(escaped_object)s" -"\"? Tiks dzēsti arī sekojoši saistītie objekti:" - -msgid "Objects" -msgstr "Objekti" - -msgid "Yes, I’m sure" -msgstr "Jā, esmu pārliecināts" - -msgid "No, take me back" -msgstr "Nē, ved mani atpakaļ" - -msgid "Delete multiple objects" -msgstr "Dzēst vairākus objektus" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Izdzēšot izvēlēto %(objects_name)s, tiks dzēsti visi saistītie objekti, bet " -"jums nav tiesību dzēst sekojošus objektu tipus:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Izvēlēto %(objects_name)s objektu dzēšanai ir nepieciešams izdzēst sekojošus " -"aizsargātus saistītos objektus:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Vai esat pārliecināts, ka vēlaties dzēst izvēlētos %(objects_name)s " -"objektus? Visi sekojošie objekti un tiem piesaistītie objekti tiks izdzēsti:" - -msgid "Delete?" -msgstr "Dzēst?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " Pēc %(filter_title)s " - -msgid "Summary" -msgstr "Kopsavilkums" - -msgid "Recent actions" -msgstr "Nesenās darbības" - -msgid "My actions" -msgstr "Manas darbības" - -msgid "None available" -msgstr "Nav pieejams" - -msgid "Unknown content" -msgstr "Nezināms saturs" - -msgid "" -"Something’s wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Problēma ar datubāzes instalāciju. Pārliecinieties, ka attiecīgās tabulas ir " -"izveidotas un attiecīgajam lietotājam ir tiesības tai piekļūt." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"Jūs esat autentificējies kā %(username)s, bet jums nav tiesību piekļūt šai " -"lapai. Vai vēlaties pieteikties citā kontā?" - -msgid "Forgotten your password or username?" -msgstr "Aizmirsi paroli vai lietotājvārdu?" - -msgid "Toggle navigation" -msgstr "Pārslēgt navigāciju" - -msgid "Date/time" -msgstr "Datums/laiks" - -msgid "User" -msgstr "Lietotājs" - -msgid "Action" -msgstr "Darbība" - -msgid "" -"This object doesn’t have a change history. It probably wasn’t added via this " -"admin site." -msgstr "" -"Objektam nav izmaiņu vēstures. Tas visdrīzāk netika pievienots, izmantojot " -"šo administrācijas rīku." - -msgid "Show all" -msgstr "Rādīt visu" - -msgid "Save" -msgstr "Saglabāt" - -msgid "Popup closing…" -msgstr "Logs aizveras..." - -msgid "Search" -msgstr "Meklēt" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s rezultāti" -msgstr[1] "%(counter)s rezultāts" -msgstr[2] "%(counter)s rezultāti" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "kopā - %(full_result_count)s" - -msgid "Save as new" -msgstr "Saglabāt kā jaunu" - -msgid "Save and add another" -msgstr "Saglabāt un pievienot vēl vienu" - -msgid "Save and continue editing" -msgstr "Saglabāt un turpināt labošanu" - -msgid "Save and view" -msgstr "Saglabāt un apskatīt" - -msgid "Close" -msgstr "Aizvērt" - -#, python-format -msgid "Change selected %(model)s" -msgstr "Mainīt izvēlēto %(model)s" - -#, python-format -msgid "Add another %(model)s" -msgstr "Pievienot citu %(model)s" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Dzēst izvēlēto %(model)s" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Paldies par pavadīto laiku mājas lapā." - -msgid "Log in again" -msgstr "Pieslēgties vēlreiz" - -msgid "Password change" -msgstr "Paroles maiņa" - -msgid "Your password was changed." -msgstr "Jūsu parole tika nomainīta." - -msgid "" -"Please enter your old password, for security’s sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Drošības nolūkos ievadiet veco paroli un pēc tam divreiz jauno paroli, lai " -"mēs varētu pārbaudīt, ka tā ir ievadīta pareizi." - -msgid "Change my password" -msgstr "Nomainīt manu paroli" - -msgid "Password reset" -msgstr "Paroles pārstatīšana(reset)" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Jūsu parole ir uzstādīta. Varat pieslēgties." - -msgid "Password reset confirmation" -msgstr "Paroles pārstatīšanas apstiprinājums" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Lūdzu ievadiet jauno paroli divreiz, lai varētu pārbaudīt, ka tā ir " -"uzrakstīta pareizi." - -msgid "New password:" -msgstr "Jaunā parole:" - -msgid "Confirm password:" -msgstr "Apstiprināt paroli:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Paroles pārstatīšanas saite bija nekorekta, iespējams, tā jau ir izmantota. " -"Lūdzu pieprasiet paroles pārstatīšanu vēlreiz." - -msgid "" -"We’ve emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Ja sistēmā ir konts ar jūsu e-pasta adresi, tad mēs jums tikko nosūtījām e-" -"pasta ziņojumu ar paroles iestatīšanas instrukciju. Jums to tūlīt vajadzētu " -"saņemt." - -msgid "" -"If you don’t receive an email, please make sure you’ve entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Ja nesaņemat e-pastu, lūdzu, pārliecinieties, vai esat ievadījis reģistrētu " -"adresi un pārbaudiet savu mēstuļu mapi." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"Jūs saņemat šo e-pasta ziņojumu, jo pieprasījāt atiestatīt lietotāja konta " -"paroli vietnē %(site_name)s." - -msgid "Please go to the following page and choose a new password:" -msgstr "Lūdzu apmeklējiet sekojošo lapu un ievadiet jaunu paroli:" - -msgid "Your username, in case you’ve forgotten:" -msgstr "Jūsu lietotājvārds, gadījumā ja tas ir aizmirsts:" - -msgid "Thanks for using our site!" -msgstr "Paldies par mūsu lapas lietošanu!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "%(site_name)s komanda" - -msgid "" -"Forgotten your password? Enter your email address below, and we’ll email " -"instructions for setting a new one." -msgstr "" -"Aizmirsāt savu paroli? Ievadiet jūsu e-pasta adresi un jums tiks nosūtīta " -"instrukcija, kā iestatīt jaunu paroli." - -msgid "Email address:" -msgstr "E-pasta adrese:" - -msgid "Reset my password" -msgstr "Paroles pārstatīšana" - -msgid "All dates" -msgstr "Visi datumi" - -#, python-format -msgid "Select %s" -msgstr "Izvēlēties %s" - -#, python-format -msgid "Select %s to change" -msgstr "Izvēlēties %s, lai izmainītu" - -#, python-format -msgid "Select %s to view" -msgstr "Izvēlēties %s, lai apskatītu" - -msgid "Date:" -msgstr "Datums:" - -msgid "Time:" -msgstr "Laiks:" - -msgid "Lookup" -msgstr "Pārlūkot" - -msgid "Currently:" -msgstr "Valūta:" - -msgid "Change:" -msgstr "Izmaiņa:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/lv/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/lv/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 0ba9e8d9..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/lv/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/lv/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/lv/LC_MESSAGES/djangojs.po deleted file mode 100644 index 74047f63..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/lv/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,225 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# NullIsNot0 , 2017 -# Jannis Leidel , 2011 -# NullIsNot0 , 2020 -# peterisb , 2016 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-11 20:56+0200\n" -"PO-Revision-Date: 2020-05-20 05:18+0000\n" -"Last-Translator: NullIsNot0 \n" -"Language-Team: Latvian (http://www.transifex.com/django/django/language/" -"lv/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: lv\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " -"2);\n" - -#, javascript-format -msgid "Available %s" -msgstr "Pieejams %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Šis ir saraksts ar pieejamajiem %s. Tev ir jāizvēlas atbilstošās vērtības " -"atzīmējot izvēlēs zemāk esošajā sarakstā un pēc tam spiežot pogu \"Izvēlēties" -"\", lai pārvietotu starp izvēļu sarakstiem." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "" -"Raksti šajā logā, lai filtrētu zemāk esošo sarakstu ar pieejamajiem %s." - -msgid "Filter" -msgstr "Filtrs" - -msgid "Choose all" -msgstr "Izvēlēties visu" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Izvēlies, lai pievienotu visas %s izvēles vienā reizē." - -msgid "Choose" -msgstr "Izvēlies" - -msgid "Remove" -msgstr "Izņemt" - -#, javascript-format -msgid "Chosen %s" -msgstr "Izvēlies %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Šis ir saraksts ar izvēlētajiem %s. Tev ir jāizvēlas atbilstošās vērtības " -"atzīmējot izvēlēs zemāk esošajā sarakstā un pēc tam spiežot pogu \"Izņemt\", " -"lai izņemtu no izvēlēto ierakstu saraksta." - -msgid "Remove all" -msgstr "Izņemt visu" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Izvēlies, lai izņemtu visas %s izvēles vienā reizē." - -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" - -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." - -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 esiet izvēlējies veikt darbību, bet neesiet saglabājis veiktās izmaiņas. " -"Lūdzu nospiediet OK, lai saglabātu. Šo darbību jums nāksies izpildīt vēlreiz." - -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 esiet izvēlējies veikt darbību un neesiet mainījis nevienu lauku. Jūs " -"droši vien meklējiet pogu 'Aiziet' nevis 'Saglabāt'." - -msgid "Now" -msgstr "Tagad" - -msgid "Midnight" -msgstr "Pusnakts" - -msgid "6 a.m." -msgstr "06.00" - -msgid "Noon" -msgstr "Pusdienas laiks" - -msgid "6 p.m." -msgstr "6:00" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Piezīme: Tavs laiks ir %s stundas pirms servera laika." -msgstr[1] "Piezīme: Tavs laiks ir %s stundu pirms servera laika." -msgstr[2] "Piezīme: Tavs laiks ir %s stundas pirms servera laika." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Piezīme: Tavs laiks ir %s stundas pēc servera laika." -msgstr[1] "Piezīme: Tavs laiks ir %s stundu pēc servera laika." -msgstr[2] "Piezīme: Tavs laiks ir %s stundas pēc servera laika." - -msgid "Choose a Time" -msgstr "Izvēlies laiku" - -msgid "Choose a time" -msgstr "Izvēlieties laiku" - -msgid "Cancel" -msgstr "Atcelt" - -msgid "Today" -msgstr "Šodien" - -msgid "Choose a Date" -msgstr "Izvēlies datumu" - -msgid "Yesterday" -msgstr "Vakar" - -msgid "Tomorrow" -msgstr "Rīt" - -msgid "January" -msgstr "janvāris" - -msgid "February" -msgstr "februāris" - -msgid "March" -msgstr "marts" - -msgid "April" -msgstr "aprīlis" - -msgid "May" -msgstr "maijs" - -msgid "June" -msgstr "jūnijs" - -msgid "July" -msgstr "jūlijs" - -msgid "August" -msgstr "augusts" - -msgid "September" -msgstr "septembris" - -msgid "October" -msgstr "oktobris" - -msgid "November" -msgstr "novembris" - -msgid "December" -msgstr "decembris" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "Sv" - -msgctxt "one letter Monday" -msgid "M" -msgstr "Pr" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "O" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "T" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "C" - -msgctxt "one letter Friday" -msgid "F" -msgstr "Pk" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "Se" - -msgid "Show" -msgstr "Parādīt" - -msgid "Hide" -msgstr "Slēpt" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/mk/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/mk/LC_MESSAGES/django.mo deleted file mode 100644 index 5674f69b..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/mk/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/mk/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/mk/LC_MESSAGES/django.po deleted file mode 100644 index 09d8dd19..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/mk/LC_MESSAGES/django.po +++ /dev/null @@ -1,687 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# dekomote , 2015 -# Jannis Leidel , 2011 -# Vasil Vangelovski , 2016-2017,2019 -# Vasil Vangelovski , 2013-2015 -# Vasil Vangelovski , 2011-2013 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-08 17:27+0200\n" -"PO-Revision-Date: 2019-09-17 01:31+0000\n" -"Last-Translator: Ramiro Morales\n" -"Language-Team: Macedonian (http://www.transifex.com/django/django/language/" -"mk/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: mk\n" -"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "Успешно беа избришани %(count)d %(items)s." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "Не може да се избрише %(name)s" - -msgid "Are you sure?" -msgstr "Сигурни сте?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Избриши ги избраните %(verbose_name_plural)s" - -msgid "Administration" -msgstr "Администрација" - -msgid "All" -msgstr "Сите" - -msgid "Yes" -msgstr "Да" - -msgid "No" -msgstr "Не" - -msgid "Unknown" -msgstr "Непознато" - -msgid "Any date" -msgstr "Било кој датум" - -msgid "Today" -msgstr "Денеска" - -msgid "Past 7 days" -msgstr "Последните 7 дена" - -msgid "This month" -msgstr "Овој месец" - -msgid "This year" -msgstr "Оваа година" - -msgid "No date" -msgstr "Нема датум" - -msgid "Has date" -msgstr "Има датум" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Ве молиме внесете ги точните %(username)s и лозинка за член на сајтот. " -"Внимавајте, двете полиња се осетливи на големи и мали букви." - -msgid "Action:" -msgstr "Акција:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Додади уште %(verbose_name)s" - -msgid "Remove" -msgstr "Отстрани" - -msgid "Addition" -msgstr "Додавање" - -msgid "Change" -msgstr "Измени" - -msgid "Deletion" -msgstr "Бришење" - -msgid "action time" -msgstr "време на акција" - -msgid "user" -msgstr "корисник" - -msgid "content type" -msgstr "тип на содржина" - -msgid "object id" -msgstr "идентификационен број на објект" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "репрезентација на објект" - -msgid "action flag" -msgstr "знакче за акција" - -msgid "change message" -msgstr "измени ја пораката" - -msgid "log entry" -msgstr "ставка во записникот" - -msgid "log entries" -msgstr "ставки во записникот" - -#, python-format -msgid "Added “%(object)s”." -msgstr "" - -#, python-format -msgid "Changed “%(object)s” — %(changes)s" -msgstr "" - -#, python-format -msgid "Deleted “%(object)s.”" -msgstr "" - -msgid "LogEntry Object" -msgstr "Запис во дневник" - -#, python-brace-format -msgid "Added {name} “{object}”." -msgstr "" - -msgid "Added." -msgstr "Додадено." - -msgid "and" -msgstr "и" - -#, python-brace-format -msgid "Changed {fields} for {name} “{object}”." -msgstr "" - -#, python-brace-format -msgid "Changed {fields}." -msgstr "Изменето {fields}." - -#, python-brace-format -msgid "Deleted {name} “{object}”." -msgstr "" - -msgid "No fields changed." -msgstr "Не е изменето ниедно поле." - -msgid "None" -msgstr "Ништо" - -msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." -msgstr "" - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully." -msgstr "" - -msgid "You may edit it again below." -msgstr "Можете повторно да го промените подолу." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was added successfully. You may add another {name} below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} “{obj}” was changed successfully." -msgstr "" - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Мора да се одберат предмети за да се изврши акција врз нив. Ниеден предмет " -"не беше променет." - -msgid "No action selected." -msgstr "Ниедна акција не е одбрана." - -#, python-format -msgid "The %(name)s “%(obj)s” was deleted successfully." -msgstr "" - -#, python-format -msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" -msgstr "" - -#, python-format -msgid "Add %s" -msgstr "Додади %s" - -#, python-format -msgid "Change %s" -msgstr "Измени %s" - -#, python-format -msgid "View %s" -msgstr "Погледни %s" - -msgid "Database error" -msgstr "Грешка во базата на податоци" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s ставка %(name)s беше успешно изменета." -msgstr[1] "%(count)s ставки %(name)s беа успешно изменети." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s одбран" -msgstr[1] "Сите %(total_count)s одбрани" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "0 од %(cnt)s избрани" - -#, python-format -msgid "Change history: %s" -msgstr "Историја на измени: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"Бришењето на %(class_name)s %(instance)s бара бришење на следните заштитени " -"поврзани објекти: %(related_objects)s" - -msgid "Django site admin" -msgstr "Администрација на Џанго сајт" - -msgid "Django administration" -msgstr "Џанго администрација" - -msgid "Site administration" -msgstr "Администрација на сајт" - -msgid "Log in" -msgstr "Најава" - -#, python-format -msgid "%(app)s administration" -msgstr "Администрација на %(app)s" - -msgid "Page not found" -msgstr "Страницата не е најдена" - -msgid "We’re sorry, but the requested page could not be found." -msgstr "" - -msgid "Home" -msgstr "Дома" - -msgid "Server error" -msgstr "Грешка со серверот" - -msgid "Server error (500)" -msgstr "Грешка со серверот (500)" - -msgid "Server Error (500)" -msgstr "Грешка со серверот (500)" - -msgid "" -"There’s been an error. It’s been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" - -msgid "Run the selected action" -msgstr "Изврши ја избраната акција" - -msgid "Go" -msgstr "Оди" - -msgid "Click here to select the objects across all pages" -msgstr "Кликнете тука за да изберете објекти низ сите страници" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Избери ги сите %(total_count)s %(module_name)s" - -msgid "Clear selection" -msgstr "Откажи го изборот" - -msgid "" -"First, enter a username and password. Then, you’ll be able to edit more user " -"options." -msgstr "" - -msgid "Enter a username and password." -msgstr "Внесете корисничко име и лозинка." - -msgid "Change password" -msgstr "Промени лозинка" - -msgid "Please correct the error below." -msgstr "Ве молиме поправете ја грешката подолу." - -msgid "Please correct the errors below." -msgstr "Ве молам поправете ги грешките подолу." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "Внесете нова лозинка за корисникот %(username)s." - -msgid "Welcome," -msgstr "Добредојдовте," - -msgid "View site" -msgstr "Посети го сајтот" - -msgid "Documentation" -msgstr "Документација" - -msgid "Log out" -msgstr "Одјава" - -#, python-format -msgid "Add %(name)s" -msgstr "Додади %(name)s" - -msgid "History" -msgstr "Историја" - -msgid "View on site" -msgstr "Погледни на сајтот" - -msgid "Filter" -msgstr "Филтер" - -msgid "Remove from sorting" -msgstr "Отстрани од сортирање" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Приоритет на сортирање: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Вклучи/исклучи сортирање" - -msgid "Delete" -msgstr "Избриши" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Бришење на %(object_name)s '%(escaped_object)s' ќе резултира со бришење на " -"поврзаните објекти, но со вашата сметка немате доволно привилегии да ги " -"бришете следните типови на објекти:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"Бришење на %(object_name)s '%(escaped_object)s' ќе резултира со бришење на " -"следниве заштитени објекти:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Сигурне сте дека сакате да ги бришете %(object_name)s „%(escaped_object)s“? " -"Сите овие ставки ќе бидат избришани:" - -msgid "Objects" -msgstr "Предмети" - -msgid "Yes, I’m sure" -msgstr "" - -msgid "No, take me back" -msgstr "Не, врати ме назад" - -msgid "Delete multiple objects" -msgstr "Избриши повеќе ставки" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Бришење на избраните %(objects_name)s ќе резултира со бришење на поврзани " -"објекти, но немате одобрување да ги избришете следниве типови објекти:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Бришење на избраните %(objects_name)s бара бришење на следните поврзани " -"објекти кои се заштитени:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Дали сте сигурни дека сакате да го избришете избраниот %(objects_name)s? " -"Сите овие објекти и оние поврзани со нив ќе бидат избришани:" - -msgid "View" -msgstr "Погледни" - -msgid "Delete?" -msgstr "Избриши?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " Според %(filter_title)s " - -msgid "Summary" -msgstr "Резиме" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "Модели во %(name)s апликација" - -msgid "Add" -msgstr "Додади" - -msgid "You don’t have permission to view or edit anything." -msgstr "" - -msgid "Recent actions" -msgstr "Последни акции" - -msgid "My actions" -msgstr "Мои акции" - -msgid "None available" -msgstr "Ништо не е достапно" - -msgid "Unknown content" -msgstr "Непозната содржина" - -msgid "" -"Something’s wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"Најавени сте како %(username)s, но не сте авторизирани да пристапите до " -"оваа страна. Сакате ли да се најавите како друг корисник?" - -msgid "Forgotten your password or username?" -msgstr "Ја заборавивте вашата лозинка или корисничко име?" - -msgid "Date/time" -msgstr "Датум/час" - -msgid "User" -msgstr "Корисник" - -msgid "Action" -msgstr "Акција" - -msgid "" -"This object doesn’t have a change history. It probably wasn’t added via this " -"admin site." -msgstr "" - -msgid "Show all" -msgstr "Прикажи ги сите" - -msgid "Save" -msgstr "Сними" - -msgid "Popup closing…" -msgstr "Попапот се затвара..." - -msgid "Search" -msgstr "Барај" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s резултат" -msgstr[1] "%(counter)s резултати" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "вкупно %(full_result_count)s" - -msgid "Save as new" -msgstr "Сними како нова" - -msgid "Save and add another" -msgstr "Сними и додади уште" - -msgid "Save and continue editing" -msgstr "Сними и продолжи со уредување" - -msgid "Save and view" -msgstr "Сними и прегледај" - -msgid "Close" -msgstr "Затвори" - -#, python-format -msgid "Change selected %(model)s" -msgstr "Промени ги избраните %(model)s" - -#, python-format -msgid "Add another %(model)s" -msgstr "Додади уште %(model)s" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Избриши ги избраните %(model)s" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "" -"Ви благодариме што денеска поминавте квалитетно време со интернет страницава." - -msgid "Log in again" -msgstr "Најавете се повторно" - -msgid "Password change" -msgstr "Измена на лозинка" - -msgid "Your password was changed." -msgstr "Вашата лозинка беше сменета." - -msgid "" -"Please enter your old password, for security’s sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" - -msgid "Change my password" -msgstr "Промени ја мојата лозинка" - -msgid "Password reset" -msgstr "Ресетирање на лозинка" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Вашата лозинка беше поставена. Сега можете да се најавите." - -msgid "Password reset confirmation" -msgstr "Одобрување за ресетирање на лозинка" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Ве молам внесете ја вашата нова лозинка двапати за да може да бидете сигурни " -"дека правилно сте ја внеле." - -msgid "New password:" -msgstr "Нова лозинка:" - -msgid "Confirm password:" -msgstr "Потврди лозинка:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Врската за ресетирање на лозинката беше невалидна, најверојатно бидејќи веќе " -"била искористена. Ве молам повторно побарајте ресетирање на вашата лозинката." - -msgid "" -"We’ve emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" - -msgid "" -"If you don’t receive an email, please make sure you’ve entered the address " -"you registered with, and check your spam folder." -msgstr "" - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"Го примате овој email бидејќи побаравте ресетирање на лозинка како корисник " -"на %(site_name)s." - -msgid "Please go to the following page and choose a new password:" -msgstr "Ве молам одете на следната страница и внесете нова лозинка:" - -msgid "Your username, in case you’ve forgotten:" -msgstr "" - -msgid "Thanks for using our site!" -msgstr "Ви благодариме што го користите овој сајт!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "Тимот на %(site_name)s" - -msgid "" -"Forgotten your password? Enter your email address below, and we’ll email " -"instructions for setting a new one." -msgstr "" - -msgid "Email address:" -msgstr "Email адреса:" - -msgid "Reset my password" -msgstr "Ресетирај ја мојата лозинка" - -msgid "All dates" -msgstr "Сите датуми" - -#, python-format -msgid "Select %s" -msgstr "Изберете %s" - -#, python-format -msgid "Select %s to change" -msgstr "Изберете %s за измена" - -#, python-format -msgid "Select %s to view" -msgstr "Изберете %s за прегледување" - -msgid "Date:" -msgstr "Датум:" - -msgid "Time:" -msgstr "Време:" - -msgid "Lookup" -msgstr "Побарај" - -msgid "Currently:" -msgstr "Моментално:" - -msgid "Change:" -msgstr "Измени:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/mk/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/mk/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 5b11c786..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/mk/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/mk/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/mk/LC_MESSAGES/djangojs.po deleted file mode 100644 index 04e9dcbb..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/mk/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,219 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Jannis Leidel , 2011 -# Vasil Vangelovski , 2016 -# Vasil Vangelovski , 2014 -# Vasil Vangelovski , 2011-2012 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" -"PO-Revision-Date: 2017-09-23 18:54+0000\n" -"Last-Translator: Vasil Vangelovski \n" -"Language-Team: Macedonian (http://www.transifex.com/django/django/language/" -"mk/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: mk\n" -"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" - -#, javascript-format -msgid "Available %s" -msgstr "Достапно %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Ова е листа на достапни %s. Можете да изберете неколку кликајќи на нив во " -"полето подолу и со кликање на стрелката \"Одбери\" помеѓу двете полиња." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "Пишувајте во ова поле за да ја филтрирате листата на достапни %s." - -msgid "Filter" -msgstr "Филтер" - -msgid "Choose all" -msgstr "Одбери ги сите ги сите" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Кликнете за да ги одберете сите %s од еднаш." - -msgid "Choose" -msgstr "Одбери" - -msgid "Remove" -msgstr "Отстрани" - -#, javascript-format -msgid "Chosen %s" -msgstr "Одбрано %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Ова е листа на избрани %s. Можете да отстраните неколку кликајќи на нив во " -"полето подолу и со кликање на стрелката \"Отстрани\" помеѓу двете полиња." - -msgid "Remove all" -msgstr "Отстрани ги сите" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Кликнете за да ги отстраните сите одбрани %s одеднаш." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "избрано %(sel)s од %(cnt)s" -msgstr[1] "одбрани %(sel)s од %(cnt)s" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Имате незачувани промени на поединечни полиња. Ако извршите акција вашите " -"незачувани промени ќе бидат изгубени." - -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 "" -"Избравте акција, но сеуште ги немате зачувано вашите промени на поединечни " -"полиња. Кликнете ОК за да ги зачувате. Ќе треба повторно да ја извршите " -"акцијата." - -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 "" -"Избравте акција и немате направено промени на поединечни полиња. Веројатно " -"го барате копчето Оди наместо Зачувај." - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Забелешка: Вие сте %s час понапред од времето на серверот." -msgstr[1] "Забелешка: Вие сте %s часа понапред од времето на серверот." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Забелешка: Вие сте %s час поназад од времето на серверот." -msgstr[1] "Забелешка: Вие сте %s часа поназад од времето на серверот." - -msgid "Now" -msgstr "Сега" - -msgid "Choose a Time" -msgstr "Одбери време" - -msgid "Choose a time" -msgstr "Одбери време" - -msgid "Midnight" -msgstr "Полноќ" - -msgid "6 a.m." -msgstr "6 наутро" - -msgid "Noon" -msgstr "Пладне" - -msgid "6 p.m." -msgstr "6 попладне" - -msgid "Cancel" -msgstr "Откажи" - -msgid "Today" -msgstr "Денеска" - -msgid "Choose a Date" -msgstr "Одбери датум" - -msgid "Yesterday" -msgstr "Вчера" - -msgid "Tomorrow" -msgstr "Утре" - -msgid "January" -msgstr "Јануари" - -msgid "February" -msgstr "Февруари" - -msgid "March" -msgstr "Март" - -msgid "April" -msgstr "Април" - -msgid "May" -msgstr "Мај" - -msgid "June" -msgstr "Јуни" - -msgid "July" -msgstr "Јули" - -msgid "August" -msgstr "Август" - -msgid "September" -msgstr "Септември" - -msgid "October" -msgstr "Октомври" - -msgid "November" -msgstr "Ноември" - -msgid "December" -msgstr "Декември" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "Н" - -msgctxt "one letter Monday" -msgid "M" -msgstr "П" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "В" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "С" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "Ч" - -msgctxt "one letter Friday" -msgid "F" -msgstr "П" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "С" - -msgid "Show" -msgstr "Прикажи" - -msgid "Hide" -msgstr "Сокриј" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ml/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ml/LC_MESSAGES/django.mo deleted file mode 100644 index f75d3d6a..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ml/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ml/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ml/LC_MESSAGES/django.po deleted file mode 100644 index d96aab9b..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ml/LC_MESSAGES/django.po +++ /dev/null @@ -1,700 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Aby Thomas , 2014 -# Hrishikesh , 2019-2020 -# Jannis Leidel , 2011 -# JOMON THOMAS LOBO , 2019 -# Junaid , 2012 -# MUHAMMED RAMEEZ , 2019 -# Rajeesh Nair , 2011-2013 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-14 19:53+0200\n" -"PO-Revision-Date: 2020-07-14 22:38+0000\n" -"Last-Translator: Transifex Bot <>\n" -"Language-Team: Malayalam (http://www.transifex.com/django/django/language/" -"ml/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ml\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "%(count)d %(items)sവിജയകയരമായി നീക്കം ചെയ്തു." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "%(name)s നീക്കം ചെയ്യാന്‍ കഴിയില്ല." - -msgid "Are you sure?" -msgstr "തീര്‍ച്ചയാണോ?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "തെരഞ്ഞെടുത്ത %(verbose_name_plural)s നീക്കം ചെയ്യുക." - -msgid "Administration" -msgstr "കാര്യനിർവഹണം" - -msgid "All" -msgstr "മുഴുവനും" - -msgid "Yes" -msgstr "അതെ" - -msgid "No" -msgstr "അല്ല" - -msgid "Unknown" -msgstr "അറിയില്ല" - -msgid "Any date" -msgstr "ഏതെങ്കിലും തീയ്യതി" - -msgid "Today" -msgstr "ഇന്ന്" - -msgid "Past 7 days" -msgstr "കഴിഞ്ഞ 7 ദിവസങ്ങൾ" - -msgid "This month" -msgstr "ഈ മാസം" - -msgid "This year" -msgstr "ഈ വര്‍ഷം" - -msgid "No date" -msgstr "തിയ്യതിയില്ല " - -msgid "Has date" -msgstr "തിയ്യതിയുണ്ട്" - -msgid "Empty" -msgstr "കാലി" - -msgid "Not empty" -msgstr "കാലിയല്ല" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"ദയവായി സ്റ്റാഫ് അക്കൗണ്ടിനുവേണ്ടിയുള്ള ശരിയായ %(username)s പാസ്‌വേഡ് എന്നിവ നൽകുക. രണ്ടു " -"കള്ളികളിലും അക്ഷരങ്ങള്‍ വലിയക്ഷരമോ ചെറിയക്ഷരമോ എന്നത് പ്രധാനമാണെന്നത് ശ്രദ്ധിയ്ക്കുക." - -msgid "Action:" -msgstr "ആക്ഷന്‍" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "മറ്റൊരു %(verbose_name)s കൂടി ചേര്‍ക്കുക" - -msgid "Remove" -msgstr "കളയുക" - -msgid "Addition" -msgstr "ചേർക്കുക" - -msgid "Change" -msgstr "മാറ്റുക" - -msgid "Deletion" -msgstr "കളയുക" - -msgid "action time" -msgstr "നടന്ന സമയം" - -msgid "user" -msgstr "ഉപയോക്താവ്" - -msgid "content type" -msgstr "കണ്ടന്റ് ടൈപ്പ്" - -msgid "object id" -msgstr "ഒബ്ജക്റ്റിന്റെ ഐഡി" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "ഒബ്ജെക്ട് റെപ്രസന്റേഷൻ" - -msgid "action flag" -msgstr "ആക്ഷന്‍ ഫ്ളാഗ്" - -msgid "change message" -msgstr "സന്ദേശം മാറ്റുക" - -msgid "log entry" -msgstr "ലോഗ് എൻട്രി" - -msgid "log entries" -msgstr "ലോഗ് എൻട്രികള്‍" - -#, python-format -msgid "Added “%(object)s”." -msgstr "“%(object)s” ചേർത്തു." - -#, python-format -msgid "Changed “%(object)s” — %(changes)s" -msgstr "“%(object)s” മാറ്റം വരുത്തി — %(changes)s" - -#, python-format -msgid "Deleted “%(object)s.”" -msgstr "" - -msgid "LogEntry Object" -msgstr "ലോഗ്‌എന്‍ട്രി ഒബ്ജെക്റ്റ്" - -#, python-brace-format -msgid "Added {name} “{object}”." -msgstr "" - -msgid "Added." -msgstr "ചേര്‍ത്തു." - -msgid "and" -msgstr "കൂടാതെ" - -#, python-brace-format -msgid "Changed {fields} for {name} “{object}”." -msgstr "" - -#, python-brace-format -msgid "Changed {fields}." -msgstr "" - -#, python-brace-format -msgid "Deleted {name} “{object}”." -msgstr "" - -msgid "No fields changed." -msgstr "ഒരു മാറ്റവുമില്ല." - -msgid "None" -msgstr "ഒന്നുമില്ല" - -msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." -msgstr "" - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully." -msgstr "" - -msgid "You may edit it again below." -msgstr "താഴെ നിങ്ങൾക്കിത് വീണ്ടും എഡിറ്റുചെയ്യാം" - -#, python-brace-format -msgid "" -"The {name} “{obj}” was added successfully. You may add another {name} below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} “{obj}” was changed successfully." -msgstr "" - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "ആക്ഷന്‍ നടപ്പിലാക്കേണ്ട വകകള്‍ തെരഞ്ഞെടുക്കണം. ഒന്നിലും മാറ്റങ്ങൾ വരുത്തിയിട്ടില്ല." - -msgid "No action selected." -msgstr "ആക്ഷനൊന്നും തെരഞ്ഞെടുത്തിട്ടില്ല." - -#, python-format -msgid "The %(name)s “%(obj)s” was deleted successfully." -msgstr "" - -#, python-format -msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" -msgstr "" - -#, python-format -msgid "Add %s" -msgstr "%s ചേര്‍ക്കുക" - -#, python-format -msgid "Change %s" -msgstr "%s മാറ്റാം" - -#, python-format -msgid "View %s" -msgstr "%s കാണുക" - -msgid "Database error" -msgstr "ഡേറ്റാബേസ് എറർ." - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s ല്‍ മാറ്റം വരുത്തി." -msgstr[1] "%(count)s %(name)s വിജയകരമായി മാറ്റി" - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s തെരഞ്ഞെടുത്തു." -msgstr[1] "%(total_count)sമൊത്തമായി തെരഞ്ഞെടുത്തു." - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "%(cnt)s ല്‍ 0 തിരഞ്ഞെടുത്തിരിക്കുന്നു" - -#, python-format -msgid "Change history: %s" -msgstr "%s ലെ മാറ്റങ്ങള്‍." - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -" %(class_name)s %(instance)s നീക്കം ചെയ്യണമെങ്കിൽ അതിനോട് ബന്ധപ്പെട്ടതായ താഴെപ്പറയുന്ന " -"എല്ലാ വസ്തുക്കളും നീക്കം ചെയ്യുന്നതാണ്: %(related_objects)s" - -msgid "Django site admin" -msgstr "ജാംഗോ സൈറ്റ് അഡ്മിന്‍" - -msgid "Django administration" -msgstr "ജാംഗോ കാര്യനിർവഹണം" - -msgid "Site administration" -msgstr "സൈറ്റ് കാര്യനിർവഹണം" - -msgid "Log in" -msgstr "ലോഗിൻ" - -#, python-format -msgid "%(app)s administration" -msgstr "%(app)s കാര്യനിർവഹണം" - -msgid "Page not found" -msgstr "പേജ് കണ്ടെത്താനായില്ല" - -msgid "We’re sorry, but the requested page could not be found." -msgstr "ക്ഷമിക്കണം, ആവശ്യപ്പെട്ട പേജ് കണ്ടെത്താന്‍ കഴിഞ്ഞില്ല." - -msgid "Home" -msgstr "പൂമുഖം" - -msgid "Server error" -msgstr "സെര്‍വറിൽ എന്തോ പ്രശ്നം" - -msgid "Server error (500)" -msgstr "സെര്‍വറിൽ എന്തോ പ്രശ്നം (500)" - -msgid "Server Error (500)" -msgstr "സെര്‍വറിൽ എന്തോ പ്രശ്നം (500)" - -msgid "" -"There’s been an error. It’s been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" - -msgid "Run the selected action" -msgstr "തെരഞ്ഞെടുത്ത ആക്ഷന്‍ നടപ്പിലാക്കുക" - -msgid "Go" -msgstr "തുടരുക" - -msgid "Click here to select the objects across all pages" -msgstr "എല്ലാ പേജിലേയും ഒബ്ജക്റ്റുകൾ തെരഞ്ഞെടുക്കാന്‍ ഇവിടെ ക്ലിക് ചെയ്യുക." - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "മുഴുവന്‍ %(total_count)s %(module_name)s ഉം തെരഞ്ഞെടുക്കുക" - -msgid "Clear selection" -msgstr "തെരഞ്ഞെടുത്തത് റദ്ദാക്കുക." - -#, python-format -msgid "Models in the %(name)s application" -msgstr "%(name)s മാതൃകയിലുള്ള" - -msgid "Add" -msgstr "ചേര്‍ക്കുക" - -msgid "View" -msgstr "കാണുക" - -msgid "You don’t have permission to view or edit anything." -msgstr "നിങ്ങൾക്ക് ഒന്നും കാണാനോ തിരുത്താനോ ഉള്ള അനുമതിയില്ല." - -msgid "" -"First, enter a username and password. Then, you’ll be able to edit more user " -"options." -msgstr "" -"ആദ്യമായി ഒരു യൂസർനെയിമും പാസ്‌‌വേഡും നൽകുക. തുടർന്ന്, നിങ്ങൾക്ക് കൂടുതൽ കാര്യങ്ങളിൽ മാറ്റം " -"വരുത്താവുന്നതാണ്" - -msgid "Enter a username and password." -msgstr "Enter a username and password." - -msgid "Change password" -msgstr "പാസ് വേര്‍ഡ് മാറ്റുക." - -msgid "Please correct the error below." -msgstr "താഴെ പറയുന്ന തെറ്റുകൾ തിരുത്തുക " - -msgid "Please correct the errors below." -msgstr "ദയവായി താഴെയുള്ള തെറ്റുകള്‍ പരിഹരിക്കുക." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "%(username)s ന് പുതിയ പാസ് വേര്‍ഡ് നല്കുക." - -msgid "Welcome," -msgstr "സ്വാഗതം, " - -msgid "View site" -msgstr "സൈറ്റ് കാണുക " - -msgid "Documentation" -msgstr "സഹായക്കുറിപ്പുകള്‍" - -msgid "Log out" -msgstr "പുറത്ത് കടക്കുക." - -#, python-format -msgid "Add %(name)s" -msgstr "%(name)s ചേര്‍ക്കുക" - -msgid "History" -msgstr "ചരിത്രം" - -msgid "View on site" -msgstr "View on site" - -msgid "Filter" -msgstr "അരിപ്പ" - -msgid "Clear all filters" -msgstr "എല്ലാ ഫിൽറ്ററുകളും ഒഴിവാക്കുക" - -msgid "Remove from sorting" -msgstr "ക്രമീകരണത്തില്‍ നിന്നും ഒഴിവാക്കുക" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "ക്രമീകരണത്തിനുള്ള മുന്‍ഗണന: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "ക്രമീകരണം വിപരീത ദിശയിലാക്കുക." - -msgid "Delete" -msgstr "നീക്കം ചെയ്യുക" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"%(object_name)s '%(escaped_object)s ഡിലീറ്റ് ചെയ്യുമ്പോള്‍ അതുമായി ബന്ധമുള്ള " -"വസ്തുക്കളുംഡിലീറ്റ് ആവും. പക്ഷേ നിങ്ങള്‍ക്ക് താഴെ പറഞ്ഞ തരം വസ്തുക്കള്‍ ഡിലീറ്റ് ചെയ്യാനുള്ള അനുമതി " -"ഇല്ല:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"തിരഞ്ഞെടുക്കപ്പെട്ട %(object_name)s '%(escaped_object)s' നീക്കം ചെയ്യണമെങ്കിൽ അതിനോട് " -"ബന്ധപ്പെട്ടതായ താഴെപ്പറയുന്ന എല്ലാ വസ്തുക്കളും നീക്കം ചെയ്യുന്നതാണ്:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"%(object_name)s \"%(escaped_object)s\" നീക്കം ചെയ്യണമെന്ന് ഉറപ്പാണോ?അതുമായി ബന്ധമുള്ള " -"താഴെപ്പറയുന്ന വസ്തുക്കളെല്ലാം നീക്കം ചെയ്യുന്നതാണ്:" - -msgid "Objects" -msgstr "വസ്തുക്കൾ" - -msgid "Yes, I’m sure" -msgstr "അതെ, എനിക്കുറപ്പാണ്" - -msgid "No, take me back" -msgstr "ഇല്ല, എന്നെ തിരിച്ചെടുക്കൂ" - -msgid "Delete multiple objects" -msgstr "ഒന്നിലേറെ വസ്തുക്കള്‍ നീക്കം ചെയ്യുക" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"തിരഞ്ഞെടുക്കപ്പെട്ട %(objects_name)s നീക്കം ചെയ്താൽ അതിനോട് ബന്ധപ്പെട്ടതായ താഴെപ്പറയുന്ന " -"എല്ലാ വസ്തുക്കളും നീക്കം ചെയ്യുന്നതാണ്, പക്ഷെ അതിനുളള അവകാശം അക്കൗണ്ടിനില്ല:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"തിരഞ്ഞെടുക്കപ്പെട്ട %(objects_name)s നീക്കം ചെയ്യണമെങ്കിൽ അതിനോട് ബന്ധപ്പെട്ടതായ " -"താഴെപ്പറയുന്ന എല്ലാ വസ്തുക്കളും നീക്കം ചെയ്യുന്നതാണ്:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"തിരഞ്ഞെടുക്കപ്പെട്ട %(objects_name)s നീക്കം ചെയ്യണമെന്നു ഉറപ്പാണോ ? തിരഞ്ഞെടുക്കപ്പെട്ടതും " -"അതിനോട് ബന്ധപ്പെട്ടതും ആയ എല്ലാ താഴെപ്പറയുന്ന വസ്തുക്കളും നീക്കം ചെയ്യുന്നതാണ്:" - -msgid "Delete?" -msgstr "ഡിലീറ്റ് ചെയ്യട്ടെ?" - -#, python-format -msgid " By %(filter_title)s " -msgstr "%(filter_title)s ആൽ" - -msgid "Summary" -msgstr "ചുരുക്കം" - -msgid "Recent actions" -msgstr "സമീപകാല പ്രവൃത്തികൾ" - -msgid "My actions" -msgstr "എന്റെ പ്രവർത്തനം" - -msgid "None available" -msgstr "ഒന്നും ലഭ്യമല്ല" - -msgid "Unknown content" -msgstr "ഉള്ളടക്കം അറിയില്ല." - -msgid "" -"Something’s wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"താങ്കൾ ലോഗിൻ ചെയ്തിരിക്കുന്ന %(username)s, നു ഈ പേജ് കാണാൻ അനുവാദം ഇല്ല . താങ്കൾ " -"മറ്റൊരു അക്കൗണ്ടിൽ ലോഗിൻ ചെയ്യാന് ആഗ്രഹിക്കുന്നുവോ ?" - -msgid "Forgotten your password or username?" -msgstr "രഹസ്യവാക്കോ ഉപയോക്തൃനാമമോ മറന്നുപോയോ?" - -msgid "Toggle navigation" -msgstr "" - -msgid "Date/time" -msgstr "തീയതി/സമയം" - -msgid "User" -msgstr "ഉപയോക്താവ്" - -msgid "Action" -msgstr "പ്രവർത്തി" - -msgid "" -"This object doesn’t have a change history. It probably wasn’t added via this " -"admin site." -msgstr "" - -msgid "Show all" -msgstr "എല്ലാം കാണട്ടെ" - -msgid "Save" -msgstr "സേവ് ചെയ്യണം" - -msgid "Popup closing…" -msgstr "പോപ്പ് അപ്പ് അടക്കുക " - -msgid "Search" -msgstr "പരതുക" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s results" -msgstr[1] "%(counter)s ഫലം" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "ആകെ %(full_result_count)s" - -msgid "Save as new" -msgstr "പുതിയതായി സേവ് ചെയ്യണം" - -msgid "Save and add another" -msgstr "സേവ് ചെയ്ത ശേഷം വേറെ ചേര്‍ക്കണം" - -msgid "Save and continue editing" -msgstr "സേവ് ചെയ്ത ശേഷം മാറ്റം വരുത്താം" - -msgid "Save and view" -msgstr "സേവ് ചെയ്‌തതിന്‌ ശേഷം കാണുക " - -msgid "Close" -msgstr "അടയ്ക്കുക" - -#, python-format -msgid "Change selected %(model)s" -msgstr "" - -#, python-format -msgid "Add another %(model)s" -msgstr "" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "തിരഞ്ഞെടുത്തത് ഇല്ലാതാക്കുക%(model)s" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "ഈ വെബ് സൈറ്റില്‍ കുറെ നല്ല സമയം ചെലവഴിച്ചതിനു നന്ദി." - -msgid "Log in again" -msgstr "വീണ്ടും ലോഗ്-ഇന്‍ ചെയ്യുക." - -msgid "Password change" -msgstr "പാസ് വേര്‍ഡ് മാറ്റം" - -msgid "Your password was changed." -msgstr "നിങ്ങളുടെ പാസ് വേര്‍ഡ് മാറ്റിക്കഴിഞ്ഞു." - -msgid "" -"Please enter your old password, for security’s sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" - -msgid "Change my password" -msgstr "എന്റെ പാസ് വേര്‍ഡ് മാറ്റണം" - -msgid "Password reset" -msgstr "പാസ് വേര്‍ഡ് പുനസ്ഥാപിക്കല്‍" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "നിങ്ങളുടെ പാസ് വേര്‍ഡ് തയ്യാര്‍. ഇനി ലോഗ്-ഇന്‍ ചെയ്യാം." - -msgid "Password reset confirmation" -msgstr "പാസ് വേര്‍ഡ് പുനസ്ഥാപിക്കല്‍ ഉറപ്പാക്കല്‍" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"ദയവായി നിങ്ങളുടെ പുതിയ പാസ് വേര്‍ഡ് രണ്ടു തവണ നല്കണം. ശരിയായാണ് ടൈപ്പു ചെയ്തത് എന്നു " -"ഉറപ്പിക്കാനാണ്." - -msgid "New password:" -msgstr "പുതിയ പാസ് വേര്‍ഡ്:" - -msgid "Confirm password:" -msgstr "പാസ് വേര്‍ഡ് ഉറപ്പാക്കൂ:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"പാസ് വേര്‍ഡ് പുനസ്ഥാപിക്കാന്‍ നല്കിയ ലിങ്ക് യോഗ്യമല്ല. ഒരു പക്ഷേ, അതു മുന്പ് തന്നെ ഉപയോഗിച്ചു " -"കഴിഞ്ഞതാവാം. പുതിയ ഒരു ലിങ്കിന് അപേക്ഷിക്കൂ." - -msgid "" -"We’ve emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" - -msgid "" -"If you don’t receive an email, please make sure you’ve entered the address " -"you registered with, and check your spam folder." -msgstr "" - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"നിങ്ങളുൾ പാസ് വേർഡ്‌ മാറ്റാനുള്ള നിർദേശങ്ങൾ %(site_name)s ഇൽ ആവശ്യപ്പെട്ടതുകൊണ്ടാണ് ഈ " -"ഇമെയിൽ സന്ദേശം ലഭിച്ചദ്." - -msgid "Please go to the following page and choose a new password:" -msgstr "ദയവായി താഴെ പറയുന്ന പേജ് സന്ദര്‍ശിച്ച് പുതിയ പാസ് വേര്‍ഡ് തെരഞ്ഞെടുക്കുക:" - -msgid "Your username, in case you’ve forgotten:" -msgstr "" - -msgid "Thanks for using our site!" -msgstr "ഞങ്ങളുടെ സൈറ്റ് ഉപയോഗിച്ചതിന് നന്ദി!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "%(site_name)s പക്ഷം" - -msgid "" -"Forgotten your password? Enter your email address below, and we’ll email " -"instructions for setting a new one." -msgstr "" - -msgid "Email address:" -msgstr "ഇമെയിൽ വിലാസം:" - -msgid "Reset my password" -msgstr "എന്റെ പാസ് വേര്‍ഡ് പുനസ്ഥാപിക്കൂ" - -msgid "All dates" -msgstr "എല്ലാ തീയതികളും" - -#, python-format -msgid "Select %s" -msgstr "%s തെരഞ്ഞെടുക്കൂ" - -#, python-format -msgid "Select %s to change" -msgstr "മാറ്റാനുള്ള %s തെരഞ്ഞെടുക്കൂ" - -#, python-format -msgid "Select %s to view" -msgstr "%s കാണാൻ തിരഞ്ഞെടുക്കുക" - -msgid "Date:" -msgstr "തിയ്യതി:" - -msgid "Time:" -msgstr "സമയം:" - -msgid "Lookup" -msgstr "തിരയുക" - -msgid "Currently:" -msgstr "നിലവിൽ:" - -msgid "Change:" -msgstr "മാറ്റം:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ml/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ml/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 0abc5e79..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ml/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ml/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ml/LC_MESSAGES/djangojs.po deleted file mode 100644 index 964d3557..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ml/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,214 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Aby Thomas , 2014 -# Jannis Leidel , 2011 -# MUHAMMED RAMEEZ , 2019 -# Rajeesh Nair , 2012 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-11 20:56+0200\n" -"PO-Revision-Date: 2020-05-13 00:53+0000\n" -"Last-Translator: Transifex Bot <>\n" -"Language-Team: Malayalam (http://www.transifex.com/django/django/language/" -"ml/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ml\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "ലഭ്യമായ %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"ഇതാണ് ലഭ്യമായ %s പട്ടിക. അതില്‍ ചിലത് തിരഞ്ഞെടുക്കാന്‍ താഴെ കളത്തില്‍ നിന്നും ഉചിതമായവ സെലക്ട് " -"ചെയ്ത ശേഷം രണ്ടു കളങ്ങള്‍ക്കുമിടയിലെ \"തെരഞ്ഞെടുക്കൂ\" അടയാളത്തില്‍ ക്ലിക് ചെയ്യുക." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "ലഭ്യമായ %s പട്ടികയെ ഫില്‍ട്ടര്‍ ചെയ്തെടുക്കാന്‍ ഈ ബോക്സില്‍ ടൈപ്പ് ചെയ്യുക." - -msgid "Filter" -msgstr "Filter" - -msgid "Choose all" -msgstr "എല്ലാം തെരഞ്ഞെടുക്കുക" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "%s എല്ലാം ഒന്നിച്ച് തെരഞ്ഞെടുക്കാന്‍ ക്ലിക് ചെയ്യുക." - -msgid "Choose" -msgstr "തെരഞ്ഞെടുക്കൂ" - -msgid "Remove" -msgstr "നീക്കം ചെയ്യൂ" - -#, javascript-format -msgid "Chosen %s" -msgstr "തെരഞ്ഞെടുത്ത %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"തെരഞ്ഞെടുക്കപ്പെട്ട %s പട്ടികയാണിത്. അവയില്‍ ചിലത് ഒഴിവാക്കണമെന്നുണ്ടെങ്കില്‍ താഴെ കളത്തില്‍ " -"നിന്നും അവ സെലക്ട് ചെയ്ത് കളങ്ങള്‍ക്കിടയിലുള്ള \"നീക്കം ചെയ്യൂ\" എന്ന അടയാളത്തില്‍ ക്ലിക് ചെയ്യുക." - -msgid "Remove all" -msgstr "എല്ലാം നീക്കം ചെയ്യുക" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "തെരഞ്ഞെടുക്കപ്പെട്ട %s എല്ലാം ഒരുമിച്ച് നീക്കം ചെയ്യാന്‍ ക്ലിക് ചെയ്യുക." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(cnt)sല്‍ %(sel)s തെരഞ്ഞെടുത്തു" -msgstr[1] "%(cnt)sല്‍ %(sel)s എണ്ണം തെരഞ്ഞെടുത്തു" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"വരുത്തിയ മാറ്റങ്ങള്‍ സേവ് ചെയ്തിട്ടില്ല. ഒരു ആക്ഷന്‍ പ്രയോഗിച്ചാല്‍ സേവ് ചെയ്യാത്ത മാറ്റങ്ങളെല്ലാം " -"നഷ്ടപ്പെടും." - -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 "" - -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 "" - -msgid "Now" -msgstr "ഇപ്പോള്‍" - -msgid "Midnight" -msgstr "അര്‍ധരാത്രി" - -msgid "6 a.m." -msgstr "6 a.m." - -msgid "Noon" -msgstr "ഉച്ച" - -msgid "6 p.m." -msgstr "6 p.m" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "ഒർക്കുക: സെർവർ സമയത്തിനെക്കാളും നിങ്ങൾ %s സമയം മുൻപിലാണ്." -msgstr[1] "ഒർക്കുക: സെർവർ സമയത്തിനെക്കാളും നിങ്ങൾ %s സമയം മുൻപിലാണ്." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "ഒർക്കുക: സെർവർ സമയത്തിനെക്കാളും നിങ്ങൾ %s സമയം പിന്നിലാണ്." -msgstr[1] "ഒർക്കുക: സെർവർ സമയത്തിനെക്കാളും നിങ്ങൾ %s സമയം പിന്നിലാണ്." - -msgid "Choose a Time" -msgstr "സമയം തിരഞ്ഞെടുക്കുക" - -msgid "Choose a time" -msgstr "സമയം തെരഞ്ഞെടുക്കൂ" - -msgid "Cancel" -msgstr "റദ്ദാക്കൂ" - -msgid "Today" -msgstr "ഇന്ന്" - -msgid "Choose a Date" -msgstr "ഒരു തീയതി തിരഞ്ഞെടുക്കുക" - -msgid "Yesterday" -msgstr "ഇന്നലെ" - -msgid "Tomorrow" -msgstr "നാളെ" - -msgid "January" -msgstr "ജനുവരി" - -msgid "February" -msgstr "ഫെബ്രുവരി" - -msgid "March" -msgstr "മാർച്ച്" - -msgid "April" -msgstr "ഏപ്രിൽ" - -msgid "May" -msgstr "മെയ്" - -msgid "June" -msgstr "ജൂൺ" - -msgid "July" -msgstr "ജൂലൈ" - -msgid "August" -msgstr "ആഗസ്റ്റ്" - -msgid "September" -msgstr "സെപ്റ്റംബർ" - -msgid "October" -msgstr "ഒക്ടോബർ" - -msgid "November" -msgstr "നവംബർ" - -msgid "December" -msgstr "ഡിസംബര്" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "ഞ്ഞ‍" - -msgctxt "one letter Monday" -msgid "M" -msgstr "തി" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "ചൊ" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "ബു" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "വ്യാ" - -msgctxt "one letter Friday" -msgid "F" -msgstr "വെ" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "ശ" - -msgid "Show" -msgstr "കാണട്ടെ" - -msgid "Hide" -msgstr "മറയട്ടെ" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/mn/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/mn/LC_MESSAGES/django.mo deleted file mode 100644 index 57a9d75e..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/mn/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/mn/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/mn/LC_MESSAGES/django.po deleted file mode 100644 index 81371035..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/mn/LC_MESSAGES/django.po +++ /dev/null @@ -1,712 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Ankhbayar , 2013 -# Jannis Leidel , 2011 -# jargalan , 2011 -# Zorig, 2016 -# Анхбаяр Анхаа , 2013-2016,2018-2019 -# Баясгалан Цэвлээ , 2011,2017 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-01-16 20:42+0100\n" -"PO-Revision-Date: 2019-02-13 09:17+0000\n" -"Last-Translator: Анхбаяр Анхаа \n" -"Language-Team: Mongolian (http://www.transifex.com/django/django/language/" -"mn/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: mn\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "%(items)s ээс %(count)d-ийг амжилттай устгалаа." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "%(name)s устгаж чадахгүй." - -msgid "Are you sure?" -msgstr "Итгэлтэй байна уу?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Сонгосон %(verbose_name_plural)s-ийг устга" - -msgid "Administration" -msgstr "Удирдлага" - -msgid "All" -msgstr "Бүгд " - -msgid "Yes" -msgstr "Тийм" - -msgid "No" -msgstr "Үгүй" - -msgid "Unknown" -msgstr "Тодорхойгүй" - -msgid "Any date" -msgstr "Бүх өдөр" - -msgid "Today" -msgstr "Өнөөдөр" - -msgid "Past 7 days" -msgstr "Өнгөрсөн долоо хоног" - -msgid "This month" -msgstr "Энэ сар" - -msgid "This year" -msgstr "Энэ жил" - -msgid "No date" -msgstr "Огноогүй" - -msgid "Has date" -msgstr "Огноотой" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Ажилтан хэрэглэгчийн %(username)s ба нууц үгийг зөв оруулна уу. Хоёр талбарт " -"том жижигээр үсгээр бичих ялгаатай." - -msgid "Action:" -msgstr "Үйлдэл:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Өөр %(verbose_name)s нэмэх " - -msgid "Remove" -msgstr "Хасах" - -msgid "Addition" -msgstr "Нэмэгдсэн" - -msgid "Change" -msgstr "Өөрчлөх" - -msgid "Deletion" -msgstr "Устгагдсан" - -msgid "action time" -msgstr "үйлдлийн хугацаа" - -msgid "user" -msgstr "хэрэглэгч" - -msgid "content type" -msgstr "агуулгын төрөл" - -msgid "object id" -msgstr "обектийн id" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "обектийн хамаарал" - -msgid "action flag" -msgstr "үйлдэлийн тэмдэг" - -msgid "change message" -msgstr "өөрчлөлтийн мэдээлэл" - -msgid "log entry" -msgstr "лог өгөгдөл" - -msgid "log entries" -msgstr "лог өгөгдөлүүд" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "\"%(object)s\" нэмсэн." - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "\"%(object)s\"-ийг %(changes)s өөрчилсөн." - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "\"%(object)s\" устгасан." - -msgid "LogEntry Object" -msgstr "Лог бүртгэлийн обект" - -#, python-brace-format -msgid "Added {name} \"{object}\"." -msgstr "Нэмэгдсэн {name} \"{object}\"." - -msgid "Added." -msgstr "Нэмэгдсэн." - -msgid "and" -msgstr "ба" - -#, python-brace-format -msgid "Changed {fields} for {name} \"{object}\"." -msgstr "{name} \"{object}\"-ны {fields} өөрчилөгдсөн." - -#, python-brace-format -msgid "Changed {fields}." -msgstr "Өөрчлөгдсөн {fields}." - -#, python-brace-format -msgid "Deleted {name} \"{object}\"." -msgstr "Устгасан {name} \"{object}\"." - -msgid "No fields changed." -msgstr "Өөрчилсөн талбар алга байна." - -msgid "None" -msgstr "Хоосон" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" -"Олон утга сонгохын тулд \"Control\", эсвэл Mac дээр \"Command\" товчыг дарж " -"байгаад сонгоно." - -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr " {name} \"{obj}\" амжилттай нэмэгдлээ." - -msgid "You may edit it again below." -msgstr "Та дараахийг дахин засах боломжтой" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may add another {name} " -"below." -msgstr "" -"{name} \"{obj}\" амжилттай нэмэгдлээ. Доорх хэсгээс {name} өөрийн нэмэх " -"боломжтой." - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." -msgstr "{name} \"{obj}\" амжилттай өөрчилөгдлөө. Та дахин засах боломжтой." - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "{name} \"{obj}\" амжилттай нэмэгдлээ. Та дахин засах боломжтой." - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may add another {name} " -"below." -msgstr "" -"{name} \"{obj}\" амжилттай өөрчилөгдлөө. Доорх хэсгээс {name} өөрийн нэмэх " -"боломжтой." - -#, python-brace-format -msgid "The {name} \"{obj}\" was changed successfully." -msgstr "{name} \"{obj}\" амжилттай засагдлаа." - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Үйлдэл хийхийн тулд Та ядаж 1-ийг сонгох хэрэгтэй. Өөрчилөлт хийгдсэнгүй." - -msgid "No action selected." -msgstr "Үйлдэл сонгоогүй." - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr " %(name)s \"%(obj)s\" амжилттай устгагдлаа." - -#, python-format -msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" -msgstr "" -"\"%(key)s\" дугаартай %(name)s байхгүй байна. Устсан байсан юм болов уу?" - -#, python-format -msgid "Add %s" -msgstr "%s-ийг нэмэх" - -#, python-format -msgid "Change %s" -msgstr "%s-ийг өөрчлөх" - -#, python-format -msgid "View %s" -msgstr "%s харах " - -msgid "Database error" -msgstr "Өгөгдлийн сангийн алдаа" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s-ийг амжилттай өөрчиллөө." -msgstr[1] "%(count)s %(name)s-ийг амжилттай өөрчиллөө." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "Бүгд %(total_count)s сонгогдсон" -msgstr[1] "Бүгд %(total_count)s сонгогдсон" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "%(cnt)s оос 0 сонгосон" - -#, python-format -msgid "Change history: %s" -msgstr "Өөрчлөлтийн түүх: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(instance)s %(class_name)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -" %(class_name)s төрлийн %(instance)s-ийг устгах гэж байна. Эхлээд дараах " -"холбоотой хамгаалагдсан обектуудыг устгах шаардлагатай: %(related_objects)s" - -msgid "Django site admin" -msgstr "Сайтын удирдлага" - -msgid "Django administration" -msgstr "Удирдлага" - -msgid "Site administration" -msgstr "Сайтын удирдлага" - -msgid "Log in" -msgstr "Нэвтрэх" - -#, python-format -msgid "%(app)s administration" -msgstr "%(app)s удирдлага" - -msgid "Page not found" -msgstr "Хуудас олдсонгүй." - -msgid "We're sorry, but the requested page could not be found." -msgstr "Уучлаарай, хандахыг хүссэн хуудас тань олдсонгүй." - -msgid "Home" -msgstr "Нүүр" - -msgid "Server error" -msgstr "Серверийн алдаа" - -msgid "Server error (500)" -msgstr "Серверийн алдаа (500)" - -msgid "Server Error (500)" -msgstr "Серверийн алдаа (500)" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"Алдаа гарсан байна. Энэ алдааг сайт хариуцагчид имэйлээр мэдэгдсэн бөгөөд " -"тэд нэн даруй засах хэрэгтэй. Хүлээцтэй хандсанд баярлалаа." - -msgid "Run the selected action" -msgstr "Сонгосон үйлдэлийг ажилуулах" - -msgid "Go" -msgstr "Гүйцэтгэх" - -msgid "Click here to select the objects across all pages" -msgstr "Бүх хуудаснууд дээрх объектуудыг сонгох" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Бүгдийг сонгох %(total_count)s %(module_name)s" - -msgid "Clear selection" -msgstr "Сонгосонг цэвэрлэх" - -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" -"Эхлээд хэрэглэгчийн нэр нууц үгээ оруулна уу. Ингэснээр та хэрэглэгчийн " -"сонголтыг нэмж засварлах боломжтой болно. " - -msgid "Enter a username and password." -msgstr "Хэрэглэгчийн нэр ба нууц үгээ оруулна." - -msgid "Change password" -msgstr "Нууц үг өөрчлөх" - -msgid "Please correct the error below." -msgstr "Доорх алдааг засна уу" - -msgid "Please correct the errors below." -msgstr "Доор гарсан алдаануудыг засна уу." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "%(username)s.хэрэглэгчид шинэ нууц үг оруулна уу." - -msgid "Welcome," -msgstr "Тавтай морилно уу" - -msgid "View site" -msgstr "Сайтаас харах" - -msgid "Documentation" -msgstr "Баримтжуулалт" - -msgid "Log out" -msgstr "Гарах" - -#, python-format -msgid "Add %(name)s" -msgstr "%(name)s нэмэх" - -msgid "History" -msgstr "Түүх" - -msgid "View on site" -msgstr "Сайтаас харах" - -msgid "Filter" -msgstr "Шүүлтүүр" - -msgid "Remove from sorting" -msgstr "Эрэмблэлтээс хасах" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Эрэмблэх урьтамж: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Эрэмбэлэлтийг харуул" - -msgid "Delete" -msgstr "Устгах" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"%(object_name)s '%(escaped_object)s'-ийг устгавал холбогдох объект нь устах " -"ч бүртгэл тань дараах төрлийн объектуудийг устгах зөвшөөрөлгүй байна:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -" %(object_name)s обектийг устгаж байна. '%(escaped_object)s' холбоотой " -"хамгаалагдсан обектуудыг заавал утсгах хэрэгтэй :" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Та %(object_name)s \"%(escaped_object)s\"-ийг устгахдаа итгэлтэй байна уу? " -"Үүнийг устгавал дараах холбогдох зүйлс нь бүгд устана:" - -msgid "Objects" -msgstr "Бичлэгүүд" - -msgid "Yes, I'm sure" -msgstr "Тийм, итгэлтэй байна." - -msgid "No, take me back" -msgstr "Үгүй, намайг буцаа" - -msgid "Delete multiple objects" -msgstr "Олон обектууд устгах" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Сонгосон %(objects_name)s обектуудыг устгасанаар хамаатай бүх обкетууд устах " -"болно. Гэхдээ таньд эрх эдгээр төрлийн обектуудыг утсгах эрх байхгүй байна: " - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"%(objects_name)s обектуудыг утсгаж байна дараах холбоотой хамгаалагдсан " -"обектуудыг устгах шаардлагатай:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Та %(objects_name)s ийг устгах гэж байна итгэлтэй байна? Дараах обектууд " -"болон холбоотой зүйлс хамт устагдах болно:" - -msgid "View" -msgstr "Харах" - -msgid "Delete?" -msgstr "Устгах уу?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " %(filter_title)s -ээр" - -msgid "Summary" -msgstr "Нийт" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "%(name)s хэрэглүүр дэх моделууд." - -msgid "Add" -msgstr "Нэмэх" - -msgid "You don't have permission to view or edit anything." -msgstr "Танд харах болон засах эрх алга." - -msgid "Recent actions" -msgstr "Сүүлд хийсэн үйлдлүүд" - -msgid "My actions" -msgstr "Миний үйлдлүүд" - -msgid "None available" -msgstr "Үйлдэл алга" - -msgid "Unknown content" -msgstr "Тодорхойгүй агуулга" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Өгөгдлийн сангийн ямар нэг зүйл буруу суугдсан байна. Өгөгдлийн сангийн " -"зохих хүснэгт үүсгэгдсэн эсэх, өгөгдлийн санг зохих хэрэглэгч унших " -"боломжтой байгаа эсэхийг шалгаарай." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"Та %(username)s нэрээр нэвтэрсэн байна гэвч энэ хуудасхуу хандах эрх " -"байхгүй байна. Та өөр эрхээр логин хийх үү?" - -msgid "Forgotten your password or username?" -msgstr "Таны мартсан нууц үг эсвэл нэрвтэр нэр?" - -msgid "Date/time" -msgstr "Огноо/цаг" - -msgid "User" -msgstr "Хэрэглэгч" - -msgid "Action" -msgstr "Үйлдэл" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" -"Уг объектэд өөрчлөлтийн түүх байхгүй байна. Магадгүй үүнийг уг удирдлагын " -"сайтаар дамжуулан нэмээгүй байх." - -msgid "Show all" -msgstr "Бүгдийг харуулах" - -msgid "Save" -msgstr "Хадгалах" - -msgid "Popup closing…" -msgstr "Хааж байна..." - -msgid "Search" -msgstr "Хайлт" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s үр дүн" -msgstr[1] "%(counter)s үр дүн" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "Нийт %(full_result_count)s" - -msgid "Save as new" -msgstr "Шинээр хадгалах" - -msgid "Save and add another" -msgstr "Хадгалаад өөрийг нэмэх" - -msgid "Save and continue editing" -msgstr "Хадгалаад нэмж засах" - -msgid "Save and view" -msgstr "Хадгалаад харах." - -msgid "Close" -msgstr "Хаах" - -#, python-format -msgid "Change selected %(model)s" -msgstr "Сонгосон %(model)s-ийг өөрчлөх" - -#, python-format -msgid "Add another %(model)s" -msgstr "Өөр %(model)s нэмэх" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Сонгосон %(model)s устгах" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Манай вэб сайтыг ашигласанд баярлалаа." - -msgid "Log in again" -msgstr "Ахин нэвтрэх " - -msgid "Password change" -msgstr "Нууц үгийн өөрчлөлт" - -msgid "Your password was changed." -msgstr "Нууц үг тань өөрчлөгдлөө." - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Аюулгүй байдлын үүднээс хуучин нууц үгээ оруулаад шинэ нууц үгээ хоёр удаа " -"хийнэ үү. Ингэснээр нууц үгээ зөв бичиж байгаа эсэхийг тань шалгах юм." - -msgid "Change my password" -msgstr "Нууц үгээ солих" - -msgid "Password reset" -msgstr "Нууц үг шинэчилэх" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Та нууц үгтэй боллоо. Одоо бүртгэлд нэвтрэх боломжтой." - -msgid "Password reset confirmation" -msgstr "Нууц үг шинэчилэхийг баталгаажуулах" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Шинэ нууц үгээ хоёр удаа оруулна уу. Ингэснээр нууц үгээ зөв бичиж байгаа " -"эсэхийг тань шалгах юм. " - -msgid "New password:" -msgstr "Шинэ нууц үг:" - -msgid "Confirm password:" -msgstr "Нууц үгээ батлах:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Нууц үг авах холбоос болохгүй байна. Үүнийг аль хэдийнэ хэрэглэснээс болсон " -"байж болзошгүй. Шинэ нууц үг авахаар хүсэлт гаргана уу. " - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Таны оруулсан имайл хаяг бүртгэлтэй бол таны имайл хаягруу нууц үг " -"тохируулах зааварыг удахгүй очих болно. Та удахгүй имайл хүлээж авах болно. " - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Хэрвээ та имайл хүлээж аваагүй бол оруулсан имайл хаягаараа бүртгүүлсэн " -"эсхээ шалгаад мөн имайлийнхаа Spam фолдер ийг шалгана уу." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"%(site_name)s сайтанд бүртгүүлсэн эрхийн нууц үгийг сэргээх хүсэлт гаргасан " -"учир энэ имэйл ийг та хүлээн авсан болно. " - -msgid "Please go to the following page and choose a new password:" -msgstr "Дараах хуудас руу орон шинэ нууц үг сонгоно уу:" - -msgid "Your username, in case you've forgotten:" -msgstr "Хэрэглэгчийн нэрээ мартсан бол :" - -msgid "Thanks for using our site!" -msgstr "Манай сайтыг хэрэглэсэнд баярлалаа!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "%(site_name)s баг" - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" -"Нууц үгээ мартсан уу? Доорх хэсэгт имайл хаягаа оруулвал бид хаягаар тань " -"нууц үг сэргэх зааварчилгаа явуулах болно." - -msgid "Email address:" -msgstr "Имэйл хаяг:" - -msgid "Reset my password" -msgstr "Нууц үгээ шинэчлэх" - -msgid "All dates" -msgstr "Бүх огноо" - -#, python-format -msgid "Select %s" -msgstr "%s-г сонго" - -#, python-format -msgid "Select %s to change" -msgstr "Өөрчлөх %s-г сонгоно уу" - -#, python-format -msgid "Select %s to view" -msgstr "Харахын тулд %s сонгоно уу" - -msgid "Date:" -msgstr "Огноо:" - -msgid "Time:" -msgstr "Цаг:" - -msgid "Lookup" -msgstr "Хайх" - -msgid "Currently:" -msgstr "Одоогийнх:" - -msgid "Change:" -msgstr "Өөрчилөлт:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/mn/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/mn/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 9f58362d..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/mn/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/mn/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/mn/LC_MESSAGES/djangojs.po deleted file mode 100644 index 5fda2975..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/mn/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,218 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Tsolmon , 2012 -# Zorig, 2014,2018 -# Анхбаяр Анхаа , 2011-2012,2015,2019 -# Ганзориг БП , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-05-17 11:50+0200\n" -"PO-Revision-Date: 2019-02-13 09:19+0000\n" -"Last-Translator: Анхбаяр Анхаа \n" -"Language-Team: Mongolian (http://www.transifex.com/django/django/language/" -"mn/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: mn\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "Боломжтой %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Энэ %s жагсаалт нь боломжит утгын жагсаалт. Та аль нэгийг нь сонгоод \"Сонгох" -"\" дээр дарж нөгөө хэсэгт оруулах боломжтой." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "Энэ нүдэнд бичээд дараах %s жагсаалтаас шүүнэ үү. " - -msgid "Filter" -msgstr "Шүүлтүүр" - -msgid "Choose all" -msgstr "Бүгдийг нь сонгох" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Бүгдийг сонгох бол %s дарна уу" - -msgid "Choose" -msgstr "Сонгох" - -msgid "Remove" -msgstr "Хас" - -#, javascript-format -msgid "Chosen %s" -msgstr "Сонгогдсон %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Энэ %s сонгогдсон утгуудыг жагсаалт. Та аль нэгийг нь хасахыг хүсвэл сонгоох " -"\"Хас\" дээр дарна уу." - -msgid "Remove all" -msgstr "Бүгдийг арилгах" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "%s ийн сонгоод бүгдийг нь арилгана" - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(sel)s ээс %(cnt)s сонгосон" -msgstr[1] "%(sel)s ээс %(cnt)s сонгосон" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Хадгалаагүй өөрчлөлтүүд байна. Энэ үйлдэлийг хийвэл өөрчлөлтүүд устах болно." - -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 "" -"Та 1 үйлдлийг сонгосон байна, гэвч та өөрийн өөрчлөлтүүдээ тодорхой " -"талбаруудад нь оруулагүй байна. OK дарж сануулна уу. Энэ үйлдлийг та дахин " -"хийх шаардлагатай." - -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 "" -"Та 1 үйлдлийг сонгосон байна бас та ямарваа өөрчлөлт оруулсангүй. Та Save " -"товчлуур биш Go товчлуурыг хайж байгаа бололтой." - -msgid "Now" -msgstr "Одоо" - -msgid "Midnight" -msgstr "Шөнө дунд" - -msgid "6 a.m." -msgstr "06 цаг" - -msgid "Noon" -msgstr "Үд дунд" - -msgid "6 p.m." -msgstr "18 цаг" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Та серверийн цагаас %s цагийн түрүүнд явж байна" -msgstr[1] "Та серверийн цагаас %s цагийн түрүүнд явж байна" - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Та серверийн цагаас %s цагаар хоцорч байна" -msgstr[1] "Та серверийн цагаас %s цагаар хоцорч байна" - -msgid "Choose a Time" -msgstr "Цаг сонгох" - -msgid "Choose a time" -msgstr "Цаг сонгох" - -msgid "Cancel" -msgstr "Болих" - -msgid "Today" -msgstr "Өнөөдөр" - -msgid "Choose a Date" -msgstr "Өдөр сонгох" - -msgid "Yesterday" -msgstr "Өчигдөр" - -msgid "Tomorrow" -msgstr "Маргааш" - -msgid "January" -msgstr "1-р сар" - -msgid "February" -msgstr "2-р сар" - -msgid "March" -msgstr "3-р сар" - -msgid "April" -msgstr "4-р сар" - -msgid "May" -msgstr "5-р сар" - -msgid "June" -msgstr "6-р сар" - -msgid "July" -msgstr "7-р сар" - -msgid "August" -msgstr "8-р сар" - -msgid "September" -msgstr "9-р сар" - -msgid "October" -msgstr "10-р сар" - -msgid "November" -msgstr "11-р сар" - -msgid "December" -msgstr "12-р сар" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "Н" - -msgctxt "one letter Monday" -msgid "M" -msgstr "Д" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "М" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "Л" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "П" - -msgctxt "one letter Friday" -msgid "F" -msgstr "Ба" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "Бя" - -msgid "Show" -msgstr "Үзэх" - -msgid "Hide" -msgstr "Нуух" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/mr/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/mr/LC_MESSAGES/django.mo deleted file mode 100644 index d847b48a..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/mr/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/mr/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/mr/LC_MESSAGES/django.po deleted file mode 100644 index c02c72b1..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/mr/LC_MESSAGES/django.po +++ /dev/null @@ -1,609 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-01-17 11:07+0100\n" -"PO-Revision-Date: 2015-01-18 08:31+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Marathi (http://www.transifex.com/projects/p/django/language/" -"mr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: mr\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "" - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "" - -msgid "Are you sure?" -msgstr "" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "" - -msgid "Administration" -msgstr "" - -msgid "All" -msgstr "" - -msgid "Yes" -msgstr "" - -msgid "No" -msgstr "" - -msgid "Unknown" -msgstr "" - -msgid "Any date" -msgstr "" - -msgid "Today" -msgstr "" - -msgid "Past 7 days" -msgstr "" - -msgid "This month" -msgstr "" - -msgid "This year" -msgstr "" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" - -msgid "Action:" -msgstr "" - -msgid "action time" -msgstr "" - -msgid "object id" -msgstr "" - -msgid "object repr" -msgstr "" - -msgid "action flag" -msgstr "" - -msgid "change message" -msgstr "" - -msgid "log entry" -msgstr "" - -msgid "log entries" -msgstr "" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "" - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "" - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "" - -msgid "LogEntry Object" -msgstr "" - -msgid "None" -msgstr "" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" - -#, python-format -msgid "Changed %s." -msgstr "" - -msgid "and" -msgstr "" - -#, python-format -msgid "Added %(name)s \"%(object)s\"." -msgstr "" - -#, python-format -msgid "Changed %(list)s for %(name)s \"%(object)s\"." -msgstr "" - -#, python-format -msgid "Deleted %(name)s \"%(object)s\"." -msgstr "" - -msgid "No fields changed." -msgstr "" - -#, python-format -msgid "" -"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." -msgstr "" - -#, python-format -msgid "" -"The %(name)s \"%(obj)s\" was added successfully. You may add another " -"%(name)s below." -msgstr "" - -#, python-format -msgid "The %(name)s \"%(obj)s\" was added successfully." -msgstr "" - -#, python-format -msgid "" -"The %(name)s \"%(obj)s\" was changed successfully. You may edit it again " -"below." -msgstr "" - -#, python-format -msgid "" -"The %(name)s \"%(obj)s\" was changed successfully. You may add another " -"%(name)s below." -msgstr "" - -#, python-format -msgid "The %(name)s \"%(obj)s\" was changed successfully." -msgstr "" - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" - -msgid "No action selected." -msgstr "" - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "" - -#, python-format -msgid "%(name)s object with primary key %(key)r does not exist." -msgstr "" - -#, python-format -msgid "Add %s" -msgstr "" - -#, python-format -msgid "Change %s" -msgstr "" - -msgid "Database error" -msgstr "" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "" - -#, python-format -msgid "Change history: %s" -msgstr "" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" - -msgid "Django site admin" -msgstr "" - -msgid "Django administration" -msgstr "" - -msgid "Site administration" -msgstr "" - -msgid "Log in" -msgstr "" - -#, python-format -msgid "%(app)s administration" -msgstr "" - -msgid "Page not found" -msgstr "" - -msgid "We're sorry, but the requested page could not be found." -msgstr "" - -msgid "Home" -msgstr "" - -msgid "Server error" -msgstr "" - -msgid "Server error (500)" -msgstr "" - -msgid "Server Error (500)" -msgstr "" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" - -msgid "Run the selected action" -msgstr "" - -msgid "Go" -msgstr "" - -msgid "Click here to select the objects across all pages" -msgstr "" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "" - -msgid "Clear selection" -msgstr "" - -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" - -msgid "Enter a username and password." -msgstr "" - -msgid "Change password" -msgstr "" - -msgid "Please correct the error below." -msgstr "" - -msgid "Please correct the errors below." -msgstr "" - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "" - -msgid "Welcome," -msgstr "" - -msgid "View site" -msgstr "" - -msgid "Documentation" -msgstr "" - -msgid "Log out" -msgstr "" - -msgid "Add" -msgstr "" - -msgid "History" -msgstr "" - -msgid "View on site" -msgstr "" - -#, python-format -msgid "Add %(name)s" -msgstr "" - -msgid "Filter" -msgstr "" - -msgid "Remove from sorting" -msgstr "" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "" - -msgid "Toggle sorting" -msgstr "" - -msgid "Delete" -msgstr "" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" - -msgid "Objects" -msgstr "" - -msgid "Yes, I'm sure" -msgstr "" - -msgid "No, take me back" -msgstr "" - -msgid "Delete multiple objects" -msgstr "" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" - -msgid "Change" -msgstr "" - -msgid "Remove" -msgstr "" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "" - -msgid "Delete?" -msgstr "" - -#, python-format -msgid " By %(filter_title)s " -msgstr "" - -msgid "Summary" -msgstr "" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "" - -msgid "You don't have permission to edit anything." -msgstr "" - -msgid "Recent Actions" -msgstr "" - -msgid "My Actions" -msgstr "" - -msgid "None available" -msgstr "" - -msgid "Unknown content" -msgstr "" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" - -msgid "Forgotten your password or username?" -msgstr "" - -msgid "Date/time" -msgstr "" - -msgid "User" -msgstr "" - -msgid "Action" -msgstr "" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" - -msgid "Show all" -msgstr "" - -msgid "Save" -msgstr "" - -#, python-format -msgid "Change selected %(model)s" -msgstr "" - -#, python-format -msgid "Add another %(model)s" -msgstr "" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "" - -msgid "Search" -msgstr "" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "" - -msgid "Save as new" -msgstr "" - -msgid "Save and add another" -msgstr "" - -msgid "Save and continue editing" -msgstr "" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "" - -msgid "Log in again" -msgstr "" - -msgid "Password change" -msgstr "" - -msgid "Your password was changed." -msgstr "" - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" - -msgid "Change my password" -msgstr "" - -msgid "Password reset" -msgstr "" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "" - -msgid "Password reset confirmation" -msgstr "" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" - -msgid "New password:" -msgstr "" - -msgid "Confirm password:" -msgstr "" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" - -msgid "Please go to the following page and choose a new password:" -msgstr "" - -msgid "Your username, in case you've forgotten:" -msgstr "" - -msgid "Thanks for using our site!" -msgstr "" - -#, python-format -msgid "The %(site_name)s team" -msgstr "" - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" - -msgid "Email address:" -msgstr "" - -msgid "Reset my password" -msgstr "" - -msgid "All dates" -msgstr "" - -msgid "(None)" -msgstr "" - -#, python-format -msgid "Select %s" -msgstr "" - -#, python-format -msgid "Select %s to change" -msgstr "" - -msgid "Date:" -msgstr "" - -msgid "Time:" -msgstr "" - -msgid "Lookup" -msgstr "" - -msgid "Currently:" -msgstr "" - -msgid "Change:" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/mr/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/mr/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 183b3d14..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/mr/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/mr/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/mr/LC_MESSAGES/djangojs.po deleted file mode 100644 index 2026d168..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/mr/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,145 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-01-17 11:07+0100\n" -"PO-Revision-Date: 2014-10-05 20:12+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Marathi (http://www.transifex.com/projects/p/django/language/" -"mr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: mr\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "" - -msgid "Filter" -msgstr "" - -msgid "Choose all" -msgstr "" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "" - -msgid "Choose" -msgstr "" - -msgid "Remove" -msgstr "" - -#, javascript-format -msgid "Chosen %s" -msgstr "" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" - -msgid "Remove all" -msgstr "" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "" - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "" -msgstr[1] "" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" - -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 "" - -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 "" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "" -msgstr[1] "" - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "" -msgstr[1] "" - -msgid "Now" -msgstr "" - -msgid "Clock" -msgstr "" - -msgid "Choose a time" -msgstr "" - -msgid "Midnight" -msgstr "" - -msgid "6 a.m." -msgstr "" - -msgid "Noon" -msgstr "" - -msgid "Cancel" -msgstr "" - -msgid "Today" -msgstr "" - -msgid "Calendar" -msgstr "" - -msgid "Yesterday" -msgstr "" - -msgid "Tomorrow" -msgstr "" - -msgid "" -"January February March April May June July August September October November " -"December" -msgstr "" - -msgid "S M T W T F S" -msgstr "" - -msgid "Show" -msgstr "" - -msgid "Hide" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/my/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/my/LC_MESSAGES/django.mo deleted file mode 100644 index c22fe6cd..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/my/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/my/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/my/LC_MESSAGES/django.po deleted file mode 100644 index 34054ded..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/my/LC_MESSAGES/django.po +++ /dev/null @@ -1,629 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Yhal Htet Aung , 2013-2015 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-09-19 16:40+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Burmese (http://www.transifex.com/django/django/language/" -"my/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: my\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "" - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "" - -msgid "Are you sure?" -msgstr "" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "" - -msgid "Administration" -msgstr "စီမံခန့်ခွဲမှု" - -msgid "All" -msgstr "အားလုံး" - -msgid "Yes" -msgstr "ဟုတ်" - -msgid "No" -msgstr "မဟုတ်" - -msgid "Unknown" -msgstr "အမည်မသိ" - -msgid "Any date" -msgstr "နှစ်သက်ရာရက်စွဲ" - -msgid "Today" -msgstr "ယနေ့" - -msgid "Past 7 days" -msgstr "" - -msgid "This month" -msgstr "ယခုလ" - -msgid "This year" -msgstr "ယခုနှစ်" - -msgid "No date" -msgstr "" - -msgid "Has date" -msgstr "" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" - -msgid "Action:" -msgstr "လုပ်ဆောင်ချက်:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "" - -msgid "Remove" -msgstr "ဖယ်ရှား" - -msgid "action time" -msgstr "" - -msgid "user" -msgstr "" - -msgid "content type" -msgstr "" - -msgid "object id" -msgstr "" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/3/library/functions.html#repr) -msgid "object repr" -msgstr "" - -msgid "action flag" -msgstr "" - -msgid "change message" -msgstr "" - -msgid "log entry" -msgstr "" - -msgid "log entries" -msgstr "" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "" - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "" - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "" - -msgid "LogEntry Object" -msgstr "" - -#, python-brace-format -msgid "Added {name} \"{object}\"." -msgstr "" - -msgid "Added." -msgstr "" - -msgid "and" -msgstr "နှင့်" - -#, python-brace-format -msgid "Changed {fields} for {name} \"{object}\"." -msgstr "" - -#, python-brace-format -msgid "Changed {fields}." -msgstr "" - -#, python-brace-format -msgid "Deleted {name} \"{object}\"." -msgstr "" - -msgid "No fields changed." -msgstr "" - -msgid "None" -msgstr "တစ်ခုမှမဟုတ်" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was changed successfully." -msgstr "" - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" - -msgid "No action selected." -msgstr "" - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "" - -#, python-format -msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" -msgstr "" - -#, python-format -msgid "Add %s" -msgstr "ထည့်သွင်း %s" - -#, python-format -msgid "Change %s" -msgstr "ပြောင်းလဲ %s" - -msgid "Database error" -msgstr "အချက်အလက်အစုအမှား" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "" - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "" - -#, python-format -msgid "Change history: %s" -msgstr "မှတ်တမ်းပြောင်းလဲ: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" - -msgid "Django site admin" -msgstr "" - -msgid "Django administration" -msgstr "ဒီဂျန်ဂိုစီမံခန့်ခွဲမှု" - -msgid "Site administration" -msgstr "ဆိုက်စီမံခန့်ခွဲမှု" - -msgid "Log in" -msgstr "ဖွင့်ဝင်" - -#, python-format -msgid "%(app)s administration" -msgstr "" - -msgid "Page not found" -msgstr "" - -msgid "We're sorry, but the requested page could not be found." -msgstr "" - -msgid "Home" -msgstr "ပင်မ" - -msgid "Server error" -msgstr "ဆာဗာအမှားပြ" - -msgid "Server error (500)" -msgstr "ဆာဗာအမှားပြ (၅၀၀)" - -msgid "Server Error (500)" -msgstr "ဆာဗာအမှားပြ (၅၀၀)" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" - -msgid "Run the selected action" -msgstr "" - -msgid "Go" -msgstr "သွား" - -msgid "Click here to select the objects across all pages" -msgstr "" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "" - -msgid "Clear selection" -msgstr "" - -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" - -msgid "Enter a username and password." -msgstr "" - -msgid "Change password" -msgstr "စကားဝှက်ပြောင်း" - -msgid "Please correct the error below." -msgstr "" - -msgid "Please correct the errors below." -msgstr "" - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "" - -msgid "Welcome," -msgstr "ကြိုဆို၊ " - -msgid "View site" -msgstr "" - -msgid "Documentation" -msgstr "စာရွက်စာတမ်း" - -msgid "Log out" -msgstr "ဖွင့်ထွက်" - -#, python-format -msgid "Add %(name)s" -msgstr "" - -msgid "History" -msgstr "မှတ်တမ်း" - -msgid "View on site" -msgstr "" - -msgid "Filter" -msgstr "စီစစ်မှု" - -msgid "Remove from sorting" -msgstr "" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "" - -msgid "Toggle sorting" -msgstr "" - -msgid "Delete" -msgstr "ပယ်ဖျက်" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" - -msgid "Objects" -msgstr "" - -msgid "Yes, I'm sure" -msgstr "" - -msgid "No, take me back" -msgstr "" - -msgid "Delete multiple objects" -msgstr "" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" - -msgid "Change" -msgstr "ပြောင်းလဲ" - -msgid "Delete?" -msgstr "ပယ်ဖျက်?" - -#, python-format -msgid " By %(filter_title)s " -msgstr "" - -msgid "Summary" -msgstr "အကျဉ်းချုပ်" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "" - -msgid "Add" -msgstr "ထည့်သွင်း" - -msgid "You don't have permission to edit anything." -msgstr "" - -msgid "Recent actions" -msgstr "" - -msgid "My actions" -msgstr "" - -msgid "None available" -msgstr "" - -msgid "Unknown content" -msgstr "" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" - -msgid "Forgotten your password or username?" -msgstr "" - -msgid "Date/time" -msgstr "ရက်စွဲ/အချိန်" - -msgid "User" -msgstr "အသုံးပြုသူ" - -msgid "Action" -msgstr "လုပ်ဆောင်ချက်" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" - -msgid "Show all" -msgstr "" - -msgid "Save" -msgstr "သိမ်းဆည်း" - -msgid "Popup closing..." -msgstr "" - -#, python-format -msgid "Change selected %(model)s" -msgstr "" - -#, python-format -msgid "Add another %(model)s" -msgstr "" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "" - -msgid "Search" -msgstr "ရှာဖွေ" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "" - -msgid "Save as new" -msgstr "" - -msgid "Save and add another" -msgstr "" - -msgid "Save and continue editing" -msgstr "" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "" - -msgid "Log in again" -msgstr "" - -msgid "Password change" -msgstr "" - -msgid "Your password was changed." -msgstr "" - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" - -msgid "Change my password" -msgstr "စကားဝှက်ပြောင်း" - -msgid "Password reset" -msgstr "" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "" - -msgid "Password reset confirmation" -msgstr "" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" - -msgid "New password:" -msgstr "" - -msgid "Confirm password:" -msgstr "" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" - -msgid "Please go to the following page and choose a new password:" -msgstr "" - -msgid "Your username, in case you've forgotten:" -msgstr "" - -msgid "Thanks for using our site!" -msgstr "" - -#, python-format -msgid "The %(site_name)s team" -msgstr "" - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" - -msgid "Email address:" -msgstr "အီးမေးလ်လိပ်စာ:" - -msgid "Reset my password" -msgstr "" - -msgid "All dates" -msgstr "ရက်စွဲအားလုံး" - -#, python-format -msgid "Select %s" -msgstr "ရွေးချယ် %s" - -#, python-format -msgid "Select %s to change" -msgstr "ပြောင်းလဲရန် %s ရွေးချယ်" - -msgid "Date:" -msgstr "ရက်စွဲ:" - -msgid "Time:" -msgstr "အချိန်:" - -msgid "Lookup" -msgstr "ပြန်ကြည့်" - -msgid "Currently:" -msgstr "လက်ရှိ:" - -msgid "Change:" -msgstr "ပြောင်းလဲ:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/my/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/my/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 000b8bcb..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/my/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/my/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/my/LC_MESSAGES/djangojs.po deleted file mode 100644 index 06b49fc3..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/my/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,206 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Yhal Htet Aung , 2013 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" -"PO-Revision-Date: 2017-09-19 16:41+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Burmese (http://www.transifex.com/django/django/language/" -"my/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: my\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#, javascript-format -msgid "Available %s" -msgstr "%s ကိုရယူနိုင်" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"%s သည်ရယူနိုင်သောစာရင်းဖြစ်။ အောက်ဖော်ပြပါဘူးများတွင်အချို့ကိုရွေးချယ်နိုင်ပြီးဘူးနှစ်ခုကြားရှိ\"ရွေး" -"\"များကိုကလစ်နှိပ်။" - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "ယခုဘူးထဲတွင်စာသားရိုက်ထည့်ပြီး %s ရယူနိုင်သောစာရင်းကိုစိစစ်နိုင်။" - -msgid "Filter" -msgstr "စီစစ်မှု" - -msgid "Choose all" -msgstr "အားလံုးရွေး" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "%s အားလံုးကိုတစ်ကြိမ်တည်းဖြင့်ရွေးချယ်ရန်ကလစ်နှိပ်။" - -msgid "Choose" -msgstr "ရွေး" - -msgid "Remove" -msgstr "ဖယ်ရှား" - -#, javascript-format -msgid "Chosen %s" -msgstr "%s ရွေးပြီး" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"%s သည်ရယူနိုင်သောစာရင်းဖြစ်။ အောက်ဖော်ပြပါဘူးများတွင်အချို့ကိုဖယ်ရှားနိုင်ပြီးဘူးနှစ်ခုကြားရှိ\"ဖယ်ရှား" -"\"ကိုကလစ်နှိပ်။" - -msgid "Remove all" -msgstr "အားလံုးဖယ်ရှား" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "%s အားလံုးကိုတစ်ကြိမ်တည်းဖြင့်ဖယ်ရှားရန်ကလစ်နှိပ်။" - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(cnt)s မှ %(sel)s ရွေးချယ်ပြီး" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" - -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 "" - -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 "" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "" - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "" - -msgid "Now" -msgstr "ယခု" - -msgid "Choose a Time" -msgstr "" - -msgid "Choose a time" -msgstr "အချိန်ရွေးပါ" - -msgid "Midnight" -msgstr "သန်းခေါင်" - -msgid "6 a.m." -msgstr "မနက်၆နာရီ" - -msgid "Noon" -msgstr "မွန်းတည့်" - -msgid "6 p.m." -msgstr "" - -msgid "Cancel" -msgstr "ပယ်ဖျက်" - -msgid "Today" -msgstr "ယနေ့" - -msgid "Choose a Date" -msgstr "" - -msgid "Yesterday" -msgstr "မနေ့" - -msgid "Tomorrow" -msgstr "မနက်ဖြန်" - -msgid "January" -msgstr "" - -msgid "February" -msgstr "" - -msgid "March" -msgstr "" - -msgid "April" -msgstr "" - -msgid "May" -msgstr "" - -msgid "June" -msgstr "" - -msgid "July" -msgstr "" - -msgid "August" -msgstr "" - -msgid "September" -msgstr "" - -msgid "October" -msgstr "" - -msgid "November" -msgstr "" - -msgid "December" -msgstr "" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "" - -msgctxt "one letter Monday" -msgid "M" -msgstr "" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "" - -msgctxt "one letter Friday" -msgid "F" -msgstr "" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "" - -msgid "Show" -msgstr "ပြသ" - -msgid "Hide" -msgstr "ဖုံးကွယ်" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/nb/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/nb/LC_MESSAGES/django.mo deleted file mode 100644 index ea77ddde..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/nb/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/nb/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/nb/LC_MESSAGES/django.po deleted file mode 100644 index 3f6445ee..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/nb/LC_MESSAGES/django.po +++ /dev/null @@ -1,720 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Jannis Leidel , 2011 -# jensadne , 2013-2014 -# Jon , 2015-2016 -# Jon , 2017-2020 -# Jon , 2013 -# Jon , 2011,2013 -# Sigurd Gartmann , 2012 -# Tommy Strand , 2013 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-14 19:53+0200\n" -"PO-Revision-Date: 2020-09-04 13:37+0000\n" -"Last-Translator: Jon \n" -"Language-Team: Norwegian Bokmål (http://www.transifex.com/django/django/" -"language/nb/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nb\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "Slettet %(count)d %(items)s." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "Kan ikke slette %(name)s" - -msgid "Are you sure?" -msgstr "Er du sikker?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Slett valgte %(verbose_name_plural)s" - -msgid "Administration" -msgstr "Administrasjon" - -msgid "All" -msgstr "Alle" - -msgid "Yes" -msgstr "Ja" - -msgid "No" -msgstr "Nei" - -msgid "Unknown" -msgstr "Ukjent" - -msgid "Any date" -msgstr "Når som helst" - -msgid "Today" -msgstr "I dag" - -msgid "Past 7 days" -msgstr "Siste syv dager" - -msgid "This month" -msgstr "Denne måneden" - -msgid "This year" -msgstr "I år" - -msgid "No date" -msgstr "Ingen dato" - -msgid "Has date" -msgstr "Har dato" - -msgid "Empty" -msgstr "Tom" - -msgid "Not empty" -msgstr "Ikke tom" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Vennligst oppgi gyldig %(username)s og passord til en " -"administrasjonsbrukerkonto. Merk at det er forskjell på små og store " -"bokstaver." - -msgid "Action:" -msgstr "Handling:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Legg til ny %(verbose_name)s" - -msgid "Remove" -msgstr "Fjern" - -msgid "Addition" -msgstr "Tillegg" - -msgid "Change" -msgstr "Endre" - -msgid "Deletion" -msgstr "Sletting" - -msgid "action time" -msgstr "tid for handling" - -msgid "user" -msgstr "bruker" - -msgid "content type" -msgstr "innholdstype" - -msgid "object id" -msgstr "objekt-ID" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "objekt-repr" - -msgid "action flag" -msgstr "handlingsflagg" - -msgid "change message" -msgstr "endre melding" - -msgid "log entry" -msgstr "logginnlegg" - -msgid "log entries" -msgstr "logginnlegg" - -#, python-format -msgid "Added “%(object)s”." -msgstr "La til \"%(object)s\"." - -#, python-format -msgid "Changed “%(object)s” — %(changes)s" -msgstr "Endret \"%(object)s\" — %(changes)s" - -#, python-format -msgid "Deleted “%(object)s.”" -msgstr "Slettet \"%(object)s\"." - -msgid "LogEntry Object" -msgstr "LogEntry-objekt" - -#, python-brace-format -msgid "Added {name} “{object}”." -msgstr "La til {name} \"{object}\"." - -msgid "Added." -msgstr "Lagt til." - -msgid "and" -msgstr "og" - -#, python-brace-format -msgid "Changed {fields} for {name} “{object}”." -msgstr "Endret {fields} for {name} \"{object}\"." - -#, python-brace-format -msgid "Changed {fields}." -msgstr "Endret {fields}." - -#, python-brace-format -msgid "Deleted {name} “{object}”." -msgstr "Slettet {name} \"{object}\"." - -msgid "No fields changed." -msgstr "Ingen felt endret." - -msgid "None" -msgstr "Ingen" - -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 mer enn én." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully." -msgstr "{name} \"{obj}\" ble lagt til." - -msgid "You may edit it again below." -msgstr "Du kan endre det igjen nedenfor." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was added successfully. You may add another {name} below." -msgstr "{name} \"{obj}\" ble lagt til. Du kan legge til en ny {name} nedenfor." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may edit it again below." -msgstr "{name} \"{obj}\" ble endret. Du kan redigere videre nedenfor." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully. You may edit it again below." -msgstr "{name} \"{obj}\" ble lagt til. Du kan redigere videre nedenfor." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may add another {name} " -"below." -msgstr "{name} \"{obj}\" ble endret. Du kan legge til en ny {name} nedenfor." - -#, python-brace-format -msgid "The {name} “{obj}” was changed successfully." -msgstr "{name} \"{obj}\" ble endret." - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Du må velge objekter for å utføre handlinger på dem. Ingen objekter har " -"blitt endret." - -msgid "No action selected." -msgstr "Ingen handling valgt." - -#, python-format -msgid "The %(name)s “%(obj)s” was deleted successfully." -msgstr "%(name)s \"%(obj)s\" ble slettet." - -#, python-format -msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" -msgstr "%(name)s med ID \"%(key)s\" eksisterer ikke. Kanskje det ble slettet?" - -#, python-format -msgid "Add %s" -msgstr "Legg til ny %s" - -#, python-format -msgid "Change %s" -msgstr "Endre %s" - -#, python-format -msgid "View %s" -msgstr "Se %s" - -msgid "Database error" -msgstr "Databasefeil" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s ble endret." -msgstr[1] "%(count)s %(name)s ble endret." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s valgt" -msgstr[1] "Alle %(total_count)s valgt" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "0 av %(cnt)s valgt" - -#, python-format -msgid "Change history: %s" -msgstr "Endringshistorikk: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"Sletting av %(class_name)s «%(instance)s» krever sletting av følgende " -"beskyttede relaterte objekter: %(related_objects)s" - -msgid "Django site admin" -msgstr "Django administrasjonsside" - -msgid "Django administration" -msgstr "Django-administrasjon" - -msgid "Site administration" -msgstr "Nettstedsadministrasjon" - -msgid "Log in" -msgstr "Logg inn" - -#, python-format -msgid "%(app)s administration" -msgstr "%(app)s-administrasjon" - -msgid "Page not found" -msgstr "Fant ikke siden" - -msgid "We’re sorry, but the requested page could not be found." -msgstr "Beklager, men siden du spør etter finnes ikke." - -msgid "Home" -msgstr "Hjem" - -msgid "Server error" -msgstr "Tjenerfeil" - -msgid "Server error (500)" -msgstr "Tjenerfeil (500)" - -msgid "Server Error (500)" -msgstr "Tjenerfeil (500)" - -msgid "" -"There’s been an error. It’s been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"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." - -msgid "Run the selected action" -msgstr "Utfør den valgte handlingen" - -msgid "Go" -msgstr "Gå" - -msgid "Click here to select the objects across all pages" -msgstr "Trykk her for å velge samtlige objekter fra alle sider" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Velg alle %(total_count)s %(module_name)s" - -msgid "Clear selection" -msgstr "Nullstill valg" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "Modeller i %(name)s-applikasjonen" - -msgid "Add" -msgstr "Legg til" - -msgid "View" -msgstr "Se" - -msgid "You don’t have permission to view or edit anything." -msgstr "Du har ikke tillatelse til å vise eller endre noe." - -msgid "" -"First, enter a username and password. Then, you’ll be able to edit more user " -"options." -msgstr "" -"Skriv først inn brukernavn og passord. Deretter vil du få mulighet til å " -"endre flere brukerinnstillinger." - -msgid "Enter a username and password." -msgstr "Skriv inn brukernavn og passord." - -msgid "Change password" -msgstr "Endre passord" - -msgid "Please correct the error below." -msgstr "Vennligst korriger feilen under." - -msgid "Please correct the errors below." -msgstr "Vennligst korriger feilene under." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "Skriv inn et nytt passord for brukeren %(username)s." - -msgid "Welcome," -msgstr "Velkommen," - -msgid "View site" -msgstr "Vis nettsted" - -msgid "Documentation" -msgstr "Dokumentasjon" - -msgid "Log out" -msgstr "Logg ut" - -#, python-format -msgid "Add %(name)s" -msgstr "Legg til ny %(name)s" - -msgid "History" -msgstr "Historikk" - -msgid "View on site" -msgstr "Vis på nettsted" - -msgid "Filter" -msgstr "Filtrering" - -msgid "Clear all filters" -msgstr "Fjern alle filtre" - -msgid "Remove from sorting" -msgstr "Fjern fra sortering" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Sorteringsprioritet: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Slå av og på sortering" - -msgid "Delete" -msgstr "Slett" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Om du sletter %(object_name)s «%(escaped_object)s», vil også relaterte " -"objekter slettes, men du har ikke tillatelse til å slette følgende " -"objekttyper:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"Sletting av %(object_name)s «%(escaped_object)s» krever sletting av følgende " -"beskyttede relaterte objekter:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Er du sikker på at du vil slette %(object_name)s «%(escaped_object)s»? Alle " -"de følgende relaterte objektene vil bli slettet:" - -msgid "Objects" -msgstr "Objekter" - -msgid "Yes, I’m sure" -msgstr "Ja, jeg er sikker" - -msgid "No, take me back" -msgstr "Nei, ta meg tilbake" - -msgid "Delete multiple objects" -msgstr "Slett flere objekter" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Sletting av det valgte %(objects_name)s ville resultere i sletting av " -"relaterte objekter, men kontoen din har ikke tillatelse til å slette " -"følgende objekttyper:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Sletting av det valgte %(objects_name)s ville kreve sletting av følgende " -"beskyttede relaterte objekter:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Er du sikker på vil slette det valgte %(objects_name)s? De følgende " -"objektene og deres relaterte objekter vil bli slettet:" - -msgid "Delete?" -msgstr "Slette?" - -#, python-format -msgid " By %(filter_title)s " -msgstr "Etter %(filter_title)s " - -msgid "Summary" -msgstr "Oppsummering" - -msgid "Recent actions" -msgstr "Siste handlinger" - -msgid "My actions" -msgstr "Mine handlinger" - -msgid "None available" -msgstr "Ingen tilgjengelige" - -msgid "Unknown content" -msgstr "Ukjent innhold" - -msgid "" -"Something’s wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Noe er galt med databaseinstallasjonen din. Sørg for at databasetabellene er " -"opprettet og at brukeren har de nødvendige rettighetene." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"Du er logget inn som %(username)s, men er ikke autorisert til å få tilgang " -"til denne siden. Ønsker du å logge inn med en annen konto?" - -msgid "Forgotten your password or username?" -msgstr "Glemt brukernavnet eller passordet ditt?" - -msgid "Toggle navigation" -msgstr "Veksle navigasjon" - -msgid "Date/time" -msgstr "Dato/tid" - -msgid "User" -msgstr "Bruker" - -msgid "Action" -msgstr "Handling" - -msgid "" -"This object doesn’t have a change history. It probably wasn’t added via this " -"admin site." -msgstr "" -"Dette objektet har ingen endringshistorikk. Det ble sannsynligvis ikke lagt " -"til på denne administrasjonssiden." - -msgid "Show all" -msgstr "Vis alle" - -msgid "Save" -msgstr "Lagre" - -msgid "Popup closing…" -msgstr "Lukker popup..." - -msgid "Search" -msgstr "Søk" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s resultat" -msgstr[1] "%(counter)s resultater" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s totalt" - -msgid "Save as new" -msgstr "Lagre som ny" - -msgid "Save and add another" -msgstr "Lagre og legg til ny" - -msgid "Save and continue editing" -msgstr "Lagre og fortsett å redigere" - -msgid "Save and view" -msgstr "Lagre og se" - -msgid "Close" -msgstr "Lukk" - -#, python-format -msgid "Change selected %(model)s" -msgstr "Endre valgt %(model)s" - -#, python-format -msgid "Add another %(model)s" -msgstr "Legg til ny %(model)s" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Slett valgte %(model)s" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Takk for i dag." - -msgid "Log in again" -msgstr "Logg inn igjen" - -msgid "Password change" -msgstr "Endre passord" - -msgid "Your password was changed." -msgstr "Ditt passord ble endret." - -msgid "" -"Please enter your old password, for security’s sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Av sikkerhetsgrunner må du oppgi ditt gamle passord. Deretter oppgir du det " -"nye passordet ditt to ganger, slik at vi kan kontrollere at det er korrekt." - -msgid "Change my password" -msgstr "Endre passord" - -msgid "Password reset" -msgstr "Nullstill passord" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Passordet ditt er satt. Du kan nå logge inn." - -msgid "Password reset confirmation" -msgstr "Bekreftelse på nullstilt passord" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Oppgi det nye passordet to ganger, for å sikre at det er skrevet korrekt." - -msgid "New password:" -msgstr "Nytt passord:" - -msgid "Confirm password:" -msgstr "Gjenta nytt passord:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Nullstillingslenken er ugyldig, kanskje fordi den allerede har vært brukt. " -"Vennligst nullstill passordet ditt på nytt." - -msgid "" -"We’ve emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Vi har sendt deg en e-post med instruksjoner for nullstilling av passord, " -"hvis en konto finnes på den e-postadressen du oppga. Du bør motta den om " -"kort tid." - -msgid "" -"If you don’t receive an email, please make sure you’ve entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Hvis du ikke mottar en e-post, sjekk igjen at du har oppgitt den adressen du " -"er registrert med og sjekk spam-mappen din." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"Du mottar denne e-posten fordi du har bedt om nullstilling av passordet ditt " -"på %(site_name)s." - -msgid "Please go to the following page and choose a new password:" -msgstr "Vennligst gå til følgende side og velg et nytt passord:" - -msgid "Your username, in case you’ve forgotten:" -msgstr "Brukernavnet ditt, i tilfelle du har glemt det:" - -msgid "Thanks for using our site!" -msgstr "Takk for at du bruker siden vår!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "Hilsen %(site_name)s" - -msgid "" -"Forgotten your password? Enter your email address below, and we’ll email " -"instructions for setting a new one." -msgstr "" -"Glemt passordet ditt? Oppgi e-postadressen din under, så sender vi deg en e-" -"post med instruksjoner for nullstilling av passord." - -msgid "Email address:" -msgstr "E-postadresse:" - -msgid "Reset my password" -msgstr "Nullstill mitt passord" - -msgid "All dates" -msgstr "Alle datoer" - -#, python-format -msgid "Select %s" -msgstr "Velg %s" - -#, python-format -msgid "Select %s to change" -msgstr "Velg %s du ønsker å endre" - -#, python-format -msgid "Select %s to view" -msgstr "Velg %s å se" - -msgid "Date:" -msgstr "Dato:" - -msgid "Time:" -msgstr "Tid:" - -msgid "Lookup" -msgstr "Oppslag" - -msgid "Currently:" -msgstr "Nåværende:" - -msgid "Change:" -msgstr "Endre:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/nb/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/nb/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 6fad781f..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/nb/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/nb/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/nb/LC_MESSAGES/djangojs.po deleted file mode 100644 index 7cad5d1c..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/nb/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,221 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Eirik Krogstad , 2014 -# Jannis Leidel , 2011 -# Jon , 2015-2016 -# Jon , 2014 -# Jon , 2020 -# Jon , 2011-2012 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-11 20:56+0200\n" -"PO-Revision-Date: 2020-09-04 13:39+0000\n" -"Last-Translator: Jon \n" -"Language-Team: Norwegian Bokmål (http://www.transifex.com/django/django/" -"language/nb/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nb\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "Tilgjengelige %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Dette er listen over tilgjengelige %s. Du kan velge noen ved å markere de i " -"boksen under og så klikke på \"Velg\"-pilen mellom de to boksene." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "Skriv i dette feltet for å filtrere ned listen av tilgjengelige %s." - -msgid "Filter" -msgstr "Filter" - -msgid "Choose all" -msgstr "Velg alle" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Klikk for å velge alle %s samtidig" - -msgid "Choose" -msgstr "Velg" - -msgid "Remove" -msgstr "Slett" - -#, javascript-format -msgid "Chosen %s" -msgstr "Valgte %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Dette er listen over valgte %s. Du kan fjerne noen ved å markere de i boksen " -"under og så klikke på \"Fjern\"-pilen mellom de to boksene." - -msgid "Remove all" -msgstr "Fjern alle" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Klikk for å fjerne alle valgte %s samtidig" - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(sel)s av %(cnt)s valgt" -msgstr[1] "%(sel)s av %(cnt)s valgt" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Du har ulagrede endringer i individuelle felter. Hvis du utfører en " -"handling, vil dine ulagrede endringer gå tapt." - -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 "" -"Du har valgt en handling, men du har ikke lagret endringene dine i " -"individuelle felter enda. Vennligst trykk OK for å lagre. Du må utføre " -"handlingen på nytt." - -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 "" -"Du har valgt en handling, og har ikke gjort noen endringer i individuelle " -"felter. Du ser mest sannsynlig etter Gå-knappen, ikke Lagre-knappen." - -msgid "Now" -msgstr "Nå" - -msgid "Midnight" -msgstr "Midnatt" - -msgid "6 a.m." -msgstr "06:00" - -msgid "Noon" -msgstr "12:00" - -msgid "6 p.m." -msgstr "18:00" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Merk: Du er %s time foran server-tid." -msgstr[1] "Merk: Du er %s timer foran server-tid." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Merk: Du er %s time bak server-tid." -msgstr[1] "Merk: Du er %s timer bak server-tid." - -msgid "Choose a Time" -msgstr "Velg et klokkeslett" - -msgid "Choose a time" -msgstr "Velg et klokkeslett" - -msgid "Cancel" -msgstr "Avbryt" - -msgid "Today" -msgstr "I dag" - -msgid "Choose a Date" -msgstr "Velg en dato" - -msgid "Yesterday" -msgstr "I går" - -msgid "Tomorrow" -msgstr "I morgen" - -msgid "January" -msgstr "Januar" - -msgid "February" -msgstr "Februar" - -msgid "March" -msgstr "Mars" - -msgid "April" -msgstr "April" - -msgid "May" -msgstr "Mai" - -msgid "June" -msgstr "Juni" - -msgid "July" -msgstr "Juli" - -msgid "August" -msgstr "August" - -msgid "September" -msgstr "September" - -msgid "October" -msgstr "Oktober" - -msgid "November" -msgstr "November" - -msgid "December" -msgstr "Desember" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "S" - -msgctxt "one letter Monday" -msgid "M" -msgstr "M" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "T" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "O" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "T" - -msgctxt "one letter Friday" -msgid "F" -msgstr "F" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "L" - -msgid "Show" -msgstr "Vis" - -msgid "Hide" -msgstr "Skjul" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ne/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ne/LC_MESSAGES/django.mo deleted file mode 100644 index 903f979f..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ne/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ne/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ne/LC_MESSAGES/django.po deleted file mode 100644 index a3281138..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ne/LC_MESSAGES/django.po +++ /dev/null @@ -1,669 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Sagar Chalise , 2011 -# Santosh Purbey , 2020 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-08 17:27+0200\n" -"PO-Revision-Date: 2020-01-21 09:52+0000\n" -"Last-Translator: Santosh Purbey \n" -"Language-Team: Nepali (http://www.transifex.com/django/django/language/ne/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ne\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "सफलतापूर्वक मेटियो %(count)d %(items)s ।" - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "%(name)s मेट्न सकिएन " - -msgid "Are you sure?" -msgstr "के तपाई पक्का हुनुहुन्छ ?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "%(verbose_name_plural)s छानिएको मेट्नुहोस" - -msgid "Administration" -msgstr "प्रशासन " - -msgid "All" -msgstr "सबै" - -msgid "Yes" -msgstr "हो" - -msgid "No" -msgstr "होइन" - -msgid "Unknown" -msgstr "अज्ञात" - -msgid "Any date" -msgstr "कुनै मिति" - -msgid "Today" -msgstr "आज" - -msgid "Past 7 days" -msgstr "पूर्व ७ दिन" - -msgid "This month" -msgstr "यो महिना" - -msgid "This year" -msgstr "यो साल" - -msgid "No date" -msgstr "मिति छैन" - -msgid "Has date" -msgstr "मिति छ" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"कृपया स्टाफ खाताको लागि सही %(username)s र पासवर्ड राख्नु होस । दुवै खाली ठाउँ केस " -"सेन्सिटिव हुन सक्छन् ।" - -msgid "Action:" -msgstr "कार्य:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "अर्को %(verbose_name)s थप्नुहोस ।" - -msgid "Remove" -msgstr "हटाउनुहोस" - -msgid "Addition" -msgstr "थप" - -msgid "Change" -msgstr "फेर्नुहोस" - -msgid "Deletion" -msgstr "हटाइयो" - -msgid "action time" -msgstr "कार्य समय" - -msgid "user" -msgstr "प्रयोग कर्ता" - -msgid "content type" -msgstr "" - -msgid "object id" -msgstr "वस्तु परिचय" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "" - -msgid "action flag" -msgstr "एक्सन फ्ल्याग" - -msgid "change message" -msgstr "सन्देश परिवर्तन गर्नुहोस" - -msgid "log entry" -msgstr "लग" - -msgid "log entries" -msgstr "लगहरु" - -#, python-format -msgid "Added “%(object)s”." -msgstr "थपियो “%(object)s”." - -#, python-format -msgid "Changed “%(object)s” — %(changes)s" -msgstr "बदलियो “%(object)s” — %(changes)s" - -#, python-format -msgid "Deleted “%(object)s.”" -msgstr "हटाईयो “%(object)s.”" - -msgid "LogEntry Object" -msgstr "लग ईन्ट्री वस्तु" - -#, python-brace-format -msgid "Added {name} “{object}”." -msgstr "थपियो  {name} “{object}”." - -msgid "Added." -msgstr "थपिएको छ ।" - -msgid "and" -msgstr "र" - -#, python-brace-format -msgid "Changed {fields} for {name} “{object}”." -msgstr "" - -#, python-brace-format -msgid "Changed {fields}." -msgstr "" - -#, python-brace-format -msgid "Deleted {name} “{object}”." -msgstr "" - -msgid "No fields changed." -msgstr "कुनै फाँट फेरिएन ।" - -msgid "None" -msgstr "शुन्य" - -msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." -msgstr "" - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully." -msgstr "" - -msgid "You may edit it again below." -msgstr "तपाईं तल फेरि सम्पादन गर्न सक्नुहुन्छ।" - -#, python-brace-format -msgid "" -"The {name} “{obj}” was added successfully. You may add another {name} below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} “{obj}” was changed successfully." -msgstr "" - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "कार्य गर्नका निम्ति वस्तु छान्नु पर्दछ । कुनैपनि छस्तु छानिएको छैन । " - -msgid "No action selected." -msgstr "कार्य छानिएको छैन ।" - -#, python-format -msgid "The %(name)s “%(obj)s” was deleted successfully." -msgstr "" - -#, python-format -msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" -msgstr "" - -#, python-format -msgid "Add %s" -msgstr "%s थप्नुहोस" - -#, python-format -msgid "Change %s" -msgstr "%s परिवर्तित ।" - -#, python-format -msgid "View %s" -msgstr "" - -msgid "Database error" -msgstr "डाटाबेस त्रुटि" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s सफलतापूर्वक परिवर्तन भयो ।" -msgstr[1] "%(count)s %(name)sहरु सफलतापूर्वक परिवर्तन भयो ।" - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s चयन भयो" -msgstr[1] "सबै %(total_count)s चयन भयो" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "%(cnt)s को ० चयन गरियो" - -#, python-format -msgid "Change history: %s" -msgstr "इतिहास फेर्नुहोस : %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" - -msgid "Django site admin" -msgstr "ज्याङ्गो साइट प्रशासन" - -msgid "Django administration" -msgstr "ज्याङ्गो प्रशासन" - -msgid "Site administration" -msgstr "साइट प्रशासन" - -msgid "Log in" -msgstr "लगिन" - -#, python-format -msgid "%(app)s administration" -msgstr "" - -msgid "Page not found" -msgstr "पृष्ठ भेटिएन" - -msgid "We’re sorry, but the requested page could not be found." -msgstr "हामी क्षमाप्रार्थी छौं, तर अनुरोध गरिएको पृष्ठ फेला पार्न सकिएन।" - -msgid "Home" -msgstr "गृह" - -msgid "Server error" -msgstr "सर्भर त्रुटि" - -msgid "Server error (500)" -msgstr "सर्भर त्रुटि (५००)" - -msgid "Server Error (500)" -msgstr "सर्भर त्रुटि (५००)" - -msgid "" -"There’s been an error. It’s been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"त्यहाँ त्रुटि रहेको छ। यो ईमेल मार्फत साइट प्रशासकहरूलाई सूचित गरिएको छ र तुरुन्तै ठिक " -"गर्नुपर्नेछ। तपाईको धैर्यताको लागि धन्यबाद।" - -msgid "Run the selected action" -msgstr "छानिएको कार्य गर्नुहोस ।" - -msgid "Go" -msgstr "बढ्नुहोस" - -msgid "Click here to select the objects across all pages" -msgstr "सबै पृष्ठभरमा वस्तु छान्न यहाँ थिच्नुहोस ।" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "%(total_count)s %(module_name)s सबै छान्नुहोस " - -msgid "Clear selection" -msgstr "चुनेको कुरा हटाउनुहोस ।" - -msgid "" -"First, enter a username and password. Then, you’ll be able to edit more user " -"options." -msgstr "" -"पहिले, प्रयोगकर्ता नाम र पासवर्ड प्रविष्ट गर्नुहोस्। त्यसो भए, तपाई बढि उपयोगकर्ता " -"विकल्पहरू सम्पादन गर्न सक्षम हुनुहुनेछ।" - -msgid "Enter a username and password." -msgstr "प्रयोगकर्ता नाम र पासवर्ड राख्नुहोस।" - -msgid "Change password" -msgstr "पासवर्ड फेर्नुहोस " - -msgid "Please correct the error below." -msgstr "कृपया तल त्रुटि सुधार गर्नुहोस्।" - -msgid "Please correct the errors below." -msgstr "कृपया तलका त्रुटी सुधार्नु होस ।" - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "प्रयोगकर्ता %(username)s को लागि नयाँ पासवर्ड राख्नुहोस ।" - -msgid "Welcome," -msgstr "स्वागतम्" - -msgid "View site" -msgstr "साइट हेर्नु होस ।" - -msgid "Documentation" -msgstr "विस्तृत विवरण" - -msgid "Log out" -msgstr "लग आउट" - -#, python-format -msgid "Add %(name)s" -msgstr "%(name)s थप्नुहोस" - -msgid "History" -msgstr "इतिहास" - -msgid "View on site" -msgstr "साइटमा हेर्नुहोस" - -msgid "Filter" -msgstr "छान्नुहोस" - -msgid "Remove from sorting" -msgstr "" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "" - -msgid "Toggle sorting" -msgstr "" - -msgid "Delete" -msgstr "मेट्नुहोस" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" - -msgid "Objects" -msgstr "" - -msgid "Yes, I’m sure" -msgstr "" - -msgid "No, take me back" -msgstr "" - -msgid "Delete multiple objects" -msgstr "वहु वस्तुहरु मेट्नुहोस ।" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "%(objects_name)s " - -msgid "View" -msgstr "" - -msgid "Delete?" -msgstr "मेट्नुहुन्छ ?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " %(filter_title)s द्वारा" - -msgid "Summary" -msgstr "" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "%(name)s एप्लिकेसनमा भएको मोडेलहरु" - -msgid "Add" -msgstr "थप्नुहोस " - -msgid "You don’t have permission to view or edit anything." -msgstr "तपाईंसँग केहि पनि हेर्न वा सम्पादन गर्न अनुमति छैन।" - -msgid "Recent actions" -msgstr "भर्खरका कार्यहरू" - -msgid "My actions" -msgstr "मेरो कार्यहरू" - -msgid "None available" -msgstr "कुनै पनि उपलब्ध छैन ।" - -msgid "Unknown content" -msgstr "अज्ञात सामग्री" - -msgid "" -"Something’s wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"तपाईंको डाटाबेस स्थापनामा केहि गलत छ। निश्चित गर्नुहोस् कि उपयुक्त डाटाबेस टेबलहरू सिर्जना " -"गरिएको छ, र यो सुनिश्चित गर्नुहोस् कि उपयुक्त डाटाबेस उपयुक्त प्रयोगकर्ताद्वारा पढ्न योग्य " -"छ।" - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"तपाईं यस %(username)s रूपमा प्रमाणिकरण हुनुहुन्छ, तर यस पृष्ठ पहुँच गर्न अधिकृत हुनुहुन्न। के " -"तपाइँ बिभिन्न खातामा लगईन गर्न चाहानुहुन्छ?" - -msgid "Forgotten your password or username?" -msgstr "पासवर्ड अथवा प्रयोगकर्ता नाम भुल्नुभयो ।" - -msgid "Date/time" -msgstr "मिति/समय" - -msgid "User" -msgstr "प्रयोगकर्ता" - -msgid "Action" -msgstr "कार्य:" - -msgid "" -"This object doesn’t have a change history. It probably wasn’t added via this " -"admin site." -msgstr "" - -msgid "Show all" -msgstr "सबै देखाउनुहोस" - -msgid "Save" -msgstr "बचत गर्नुहोस" - -msgid "Popup closing…" -msgstr "" - -msgid "Search" -msgstr "खोज्नुहोस" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s नतिजा" -msgstr[1] "%(counter)s नतिजाहरु" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "जम्मा %(full_result_count)s" - -msgid "Save as new" -msgstr "नयाँ रुपमा बचत गर्नुहोस" - -msgid "Save and add another" -msgstr "बचत गरेर अर्को थप्नुहोस" - -msgid "Save and continue editing" -msgstr "बचत गरेर संशोधन जारी राख्नुहोस" - -msgid "Save and view" -msgstr "" - -msgid "Close" -msgstr "" - -#, python-format -msgid "Change selected %(model)s" -msgstr "" - -#, python-format -msgid "Add another %(model)s" -msgstr "" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "वेब साइटमा समय बिताउनु भएकोमा धन्यवाद ।" - -msgid "Log in again" -msgstr "पुन: लगिन गर्नुहोस" - -msgid "Password change" -msgstr "पासवर्ड फेरबदल" - -msgid "Your password was changed." -msgstr "तपाइको पासवर्ड फेरिएको छ ।" - -msgid "" -"Please enter your old password, for security’s sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" - -msgid "Change my password" -msgstr "मेरो पासवर्ड फेर्नुहोस " - -msgid "Password reset" -msgstr "पासवर्डपून: राख्नुहोस । " - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "तपाइको पासवर्ड राखियो । कृपया लगिन गर्नुहोस ।" - -msgid "Password reset confirmation" -msgstr "पासवर्ड पुनर्स्थापना पुष्टि" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "ठीक तरिकाले राखिएको पुष्टि गर्न कृपया नयाँ पासवर्ड दोहोर्याएर राख्नुहोस ।" - -msgid "New password:" -msgstr "नयाँ पासवर्ड :" - -msgid "Confirm password:" -msgstr "पासवर्ड पुष्टि:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "पासवर्ड पुनर्स्थापना प्रयोग भइसकेको छ । कृपया नयाँ पासवर्ड रिसेट माग्नुहोस ।" - -msgid "" -"We’ve emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" - -msgid "" -"If you don’t receive an email, please make sure you’ve entered the address " -"you registered with, and check your spam folder." -msgstr "" - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -" %(site_name)s को लागि तपाइले पासवर्ड पुन: राख्न आग्रह गरेको हुनाले ई-मेल पाउनुहुदैंछ । " - -msgid "Please go to the following page and choose a new password:" -msgstr "कृपया उक्त पृष्ठमा जानुहोस र नयाँ पासवर्ड राख्नुहोस :" - -msgid "Your username, in case you’ve forgotten:" -msgstr "तपाईंको प्रयोगकर्ता नाम, यदि तपाईंले बिर्सनुभयो भने:" - -msgid "Thanks for using our site!" -msgstr "हाम्रो साइट प्रयोग गरेकोमा धन्यवाद" - -#, python-format -msgid "The %(site_name)s team" -msgstr "%(site_name)s टोली" - -msgid "" -"Forgotten your password? Enter your email address below, and we’ll email " -"instructions for setting a new one." -msgstr "" -"तपाईँको पासवर्ड बिर्सनुभयो? तल तपाईंको ईमेल ठेगाना राख्नुहोस् र हामी नयाँ सेट गर्न ईमेल " -"निर्देशनहरू दिनेछौं।" - -msgid "Email address:" -msgstr "ई-मेल ठेगाना :" - -msgid "Reset my password" -msgstr "मेरो पासवर्ड पुन: राख्नुहोस ।" - -msgid "All dates" -msgstr "सबै मिति" - -#, python-format -msgid "Select %s" -msgstr "%s छान्नुहोस" - -#, python-format -msgid "Select %s to change" -msgstr "%s परिवर्तन गर्न छान्नुहोस ।" - -#, python-format -msgid "Select %s to view" -msgstr "" - -msgid "Date:" -msgstr "मिति:" - -msgid "Time:" -msgstr "समय:" - -msgid "Lookup" -msgstr "खोज तलास" - -msgid "Currently:" -msgstr "अहिले :" - -msgid "Change:" -msgstr "फेर्नु होस :" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ne/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ne/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 82088572..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ne/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ne/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ne/LC_MESSAGES/djangojs.po deleted file mode 100644 index d55bd9fb..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ne/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,213 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Paras Nath Chaudhary , 2012 -# Sagar Chalise , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" -"PO-Revision-Date: 2017-10-07 02:46+0000\n" -"Last-Translator: Sagar Chalise \n" -"Language-Team: Nepali (http://www.transifex.com/django/django/language/ne/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ne\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "उपलब्ध %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"यो उपलब्ध %s को सुची हो। तपाईंले यी मध्य केही बक्सबाट चयन गरी बक्स बीच्को \"छान्नुहोस " -"\" तीरमा क्लिक गरी छान्नसक्नुहुन्छ । " - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr " उपलब्ध %s को सुचिबाट छान्न यो बक्समा टाइप गर्नुहोस " - -msgid "Filter" -msgstr "छान्नुहोस" - -msgid "Choose all" -msgstr "सबै छान्नुहोस " - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "एकै क्लिकमा सबै %s छान्नुहोस " - -msgid "Choose" -msgstr "छान्नुहोस " - -msgid "Remove" -msgstr "हटाउनुहोस" - -#, javascript-format -msgid "Chosen %s" -msgstr "छानिएको %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"यो छानिएका %s को सुची हो । तपाईंले यी मध्य केही बक्सबाट चयन गरी बक्स बीच्को " -"\"हटाउनुहोस\" तीरमा क्लिक गरी हटाउन सक्नुहुन्छ । " - -msgid "Remove all" -msgstr "सबै हटाउनुहोस " - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "एकै क्लिकमा सबै छानिएका %s हटाउनुहोस ।" - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(cnt)s को %(sel)s चयन गरियो" -msgstr[1] "%(cnt)s को %(sel)s चयन गरियो" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "तपाइको फेरबदल बचत भएको छैन । कार्य भएमा बचत नभएका फेरबदल हराउने छन् ।" - -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 "" -"तपाइले कार्य छाने पनि फेरबदलहरु बचत गर्नु भएको छैन । कृपया बचत गर्न हुन्छ थिच्नुहोस । कार्य " -"पुन: सञ्चालन गर्नुपर्नेछ ।" - -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 "" -"तपाइले कार्य छाने पनि फाँटहरुमा फेरबदलहरु गर्नु भएको छैन । बचत गर्नु भन्दा पनि अघि बढ्नुहोस " -"।" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "सूचना: तपाईँ सर्भर समय भन्दा %s घण्टा अगाडि हुनुहुन्छ ।" -msgstr[1] "सूचना: तपाईँ सर्भर समय भन्दा %s घण्टा अगाडि हुनुहुन्छ ।" - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "सूचना: तपाईँ सर्भर समय भन्दा %s घण्टा पछाडि हुनुहुन्छ ।" -msgstr[1] "सूचना: तपाईँ सर्भर समय भन्दा %s घण्टा पछाडि हुनुहुन्छ ।" - -msgid "Now" -msgstr "यतिखेर" - -msgid "Choose a Time" -msgstr "समय छान्नु होस ।" - -msgid "Choose a time" -msgstr "समय चयन गर्नुहोस" - -msgid "Midnight" -msgstr "मध्यरात" - -msgid "6 a.m." -msgstr "बिहान ६ बजे" - -msgid "Noon" -msgstr "मध्यान्ह" - -msgid "6 p.m." -msgstr "बेलुकी ६ बजे" - -msgid "Cancel" -msgstr "रद्द गर्नुहोस " - -msgid "Today" -msgstr "आज" - -msgid "Choose a Date" -msgstr "मिति छान्नु होस ।" - -msgid "Yesterday" -msgstr "हिजो" - -msgid "Tomorrow" -msgstr "भोलि" - -msgid "January" -msgstr "" - -msgid "February" -msgstr "" - -msgid "March" -msgstr "" - -msgid "April" -msgstr "" - -msgid "May" -msgstr "" - -msgid "June" -msgstr "" - -msgid "July" -msgstr "" - -msgid "August" -msgstr "" - -msgid "September" -msgstr "" - -msgid "October" -msgstr "" - -msgid "November" -msgstr "" - -msgid "December" -msgstr "" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "" - -msgctxt "one letter Monday" -msgid "M" -msgstr "" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "" - -msgctxt "one letter Friday" -msgid "F" -msgstr "" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "" - -msgid "Show" -msgstr "देखाउनुहोस " - -msgid "Hide" -msgstr "लुकाउनुहोस " diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/nl/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/nl/LC_MESSAGES/django.mo deleted file mode 100644 index 0564585d..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/nl/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/nl/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/nl/LC_MESSAGES/django.po deleted file mode 100644 index 34f1d16b..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/nl/LC_MESSAGES/django.po +++ /dev/null @@ -1,735 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Bas Peschier , 2013 -# Claude Paroz , 2017 -# Evelijn Saaltink , 2016 -# Harro van der Klauw , 2012 -# Ilja Maas , 2015 -# Jannis Leidel , 2011 -# Jeffrey Gelens , 2011-2012 -# dokterbob , 2015 -# Meteor0id, 2019-2020 -# 8de006b1b0894aab6aef71979dcd8bd6_5c6b207 , 2014-2015 -# Tino de Bruijn , 2011 -# Tonnes , 2017,2019-2020 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-14 19:53+0200\n" -"PO-Revision-Date: 2020-07-15 08:30+0000\n" -"Last-Translator: Tonnes \n" -"Language-Team: Dutch (http://www.transifex.com/django/django/language/nl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nl\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "%(count)d %(items)s met succes verwijderd." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "%(name)s kan niet worden verwijderd " - -msgid "Are you sure?" -msgstr "Weet u het zeker?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Geselecteerde %(verbose_name_plural)s verwijderen" - -msgid "Administration" -msgstr "Beheer" - -msgid "All" -msgstr "Alle" - -msgid "Yes" -msgstr "Ja" - -msgid "No" -msgstr "Nee" - -msgid "Unknown" -msgstr "Onbekend" - -msgid "Any date" -msgstr "Elke datum" - -msgid "Today" -msgstr "Vandaag" - -msgid "Past 7 days" -msgstr "Afgelopen zeven dagen" - -msgid "This month" -msgstr "Deze maand" - -msgid "This year" -msgstr "Dit jaar" - -msgid "No date" -msgstr "Geen datum" - -msgid "Has date" -msgstr "Heeft datum" - -msgid "Empty" -msgstr "Leeg" - -msgid "Not empty" -msgstr "Niet leeg" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Voer de correcte %(username)s en wachtwoord voor een stafaccount in. Let op " -"dat beide velden hoofdlettergevoelig zijn." - -msgid "Action:" -msgstr "Actie:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Nog een %(verbose_name)s toevoegen" - -msgid "Remove" -msgstr "Verwijderen" - -msgid "Addition" -msgstr "Toevoeging" - -msgid "Change" -msgstr "Wijzigen" - -msgid "Deletion" -msgstr "Verwijdering" - -msgid "action time" -msgstr "actietijd" - -msgid "user" -msgstr "gebruiker" - -msgid "content type" -msgstr "inhoudstype" - -msgid "object id" -msgstr "object-id" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "object-repr" - -msgid "action flag" -msgstr "actievlag" - -msgid "change message" -msgstr "wijzigingsbericht" - -msgid "log entry" -msgstr "logboekvermelding" - -msgid "log entries" -msgstr "logboekvermeldingen" - -#, python-format -msgid "Added “%(object)s”." -msgstr "‘%(object)s’ toegevoegd." - -#, python-format -msgid "Changed “%(object)s” — %(changes)s" -msgstr "‘%(object)s’ gewijzigd - %(changes)s" - -#, python-format -msgid "Deleted “%(object)s.”" -msgstr "‘%(object)s’ verwijderd." - -msgid "LogEntry Object" -msgstr "LogEntry-object" - -#, python-brace-format -msgid "Added {name} “{object}”." -msgstr "{name} ‘{object}’ toegevoegd." - -msgid "Added." -msgstr "Toegevoegd." - -msgid "and" -msgstr "en" - -#, python-brace-format -msgid "Changed {fields} for {name} “{object}”." -msgstr "{fields} voor {name} ‘{object}’ gewijzigd." - -#, python-brace-format -msgid "Changed {fields}." -msgstr "{fields} gewijzigd." - -#, python-brace-format -msgid "Deleted {name} “{object}”." -msgstr "{name} ‘{object}’ verwijderd." - -msgid "No fields changed." -msgstr "Geen velden gewijzigd." - -msgid "None" -msgstr "Geen" - -msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." -msgstr "" -"Houd ‘Control’, of ‘Command’ op een Mac, ingedrukt om meerdere items te " -"selecteren." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully." -msgstr "De {name} ‘{obj}’ is met succes toegevoegd." - -msgid "You may edit it again below." -msgstr "U kunt deze hieronder weer bewerken." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was added successfully. You may add another {name} below." -msgstr "" -"De {name} ‘{obj}’ is met succes toegevoegd. U kunt hieronder nog een {name} " -"toevoegen." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may edit it again below." -msgstr "" -"De {name} ‘{obj}’ is met succes gewijzigd. U kunt deze hieronder nogmaals " -"bewerken." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully. You may edit it again below." -msgstr "" -"De {name} ‘{obj}’ is met succes toegevoegd. U kunt deze hieronder nogmaals " -"bewerken." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may add another {name} " -"below." -msgstr "" -"De {name} ‘{obj}’ is met succes gewijzigd. U kunt hieronder nog een {name} " -"toevoegen." - -#, python-brace-format -msgid "The {name} “{obj}” was changed successfully." -msgstr "De {name} ‘{obj}’ is met succes gewijzigd." - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Er moeten items worden geselecteerd om acties op uit te voeren. Er zijn geen " -"items gewijzigd." - -msgid "No action selected." -msgstr "Geen actie geselecteerd." - -#, python-format -msgid "The %(name)s “%(obj)s” was deleted successfully." -msgstr "De %(name)s ‘%(obj)s’ is met succes verwijderd." - -#, python-format -msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" -msgstr "%(name)s met ID ‘%(key)s’ bestaat niet. Misschien is deze verwijderd?" - -#, python-format -msgid "Add %s" -msgstr "%s toevoegen" - -#, python-format -msgid "Change %s" -msgstr "%s wijzigen" - -#, python-format -msgid "View %s" -msgstr "%s weergeven" - -msgid "Database error" -msgstr "Databasefout" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s is met succes gewijzigd." -msgstr[1] "%(count)s %(name)s zijn met succes gewijzigd." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s geselecteerd" -msgstr[1] "Alle %(total_count)s geselecteerd" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "0 van de %(cnt)s geselecteerd" - -#, python-format -msgid "Change history: %s" -msgstr "Wijzigingsgeschiedenis: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"Het verwijderen van %(class_name)s %(instance)s vereist het verwijderen van " -"de volgende beschermde gerelateerde objecten: %(related_objects)s" - -msgid "Django site admin" -msgstr "Django-websitebeheer" - -msgid "Django administration" -msgstr "Django-beheer" - -msgid "Site administration" -msgstr "Websitebeheer" - -msgid "Log in" -msgstr "Aanmelden" - -#, python-format -msgid "%(app)s administration" -msgstr "%(app)s-beheer" - -msgid "Page not found" -msgstr "Pagina niet gevonden" - -msgid "We’re sorry, but the requested page could not be found." -msgstr "Het spijt ons, maar de opgevraagde pagina kon niet worden gevonden." - -msgid "Home" -msgstr "Voorpagina" - -msgid "Server error" -msgstr "Serverfout" - -msgid "Server error (500)" -msgstr "Serverfout (500)" - -msgid "Server Error (500)" -msgstr "Serverfout (500)" - -msgid "" -"There’s been an error. It’s been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"Er heeft zich een fout voorgedaan. Dit is via e-mail bij de " -"websitebeheerders gemeld en zou snel verholpen moeten zijn. Bedankt voor uw " -"geduld." - -msgid "Run the selected action" -msgstr "De geselecteerde actie uitvoeren" - -msgid "Go" -msgstr "Uitvoeren" - -msgid "Click here to select the objects across all pages" -msgstr "Klik hier om alle objecten op alle pagina's te selecteren" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Alle %(total_count)s %(module_name)s selecteren" - -msgid "Clear selection" -msgstr "Selectie wissen" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "Modellen in de %(name)s-toepassing" - -msgid "Add" -msgstr "Toevoegen" - -msgid "View" -msgstr "Weergeven" - -msgid "You don’t have permission to view or edit anything." -msgstr "U hebt geen rechten om iets te bekijken of te bewerken." - -msgid "" -"First, enter a username and password. Then, you’ll be able to edit more user " -"options." -msgstr "" -"Vul allereerst een gebruikersnaam en wachtwoord in. Daarna kunt u meer " -"gebruikersopties bewerken." - -msgid "Enter a username and password." -msgstr "Voer een gebruikersnaam en wachtwoord in." - -msgid "Change password" -msgstr "Wachtwoord wijzigen" - -msgid "Please correct the error below." -msgstr "Corrigeer de fout hieronder." - -msgid "Please correct the errors below." -msgstr "Corrigeer de fouten hieronder." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "" -"Voer een nieuw wachtwoord in voor de gebruiker %(username)s." - -msgid "Welcome," -msgstr "Welkom," - -msgid "View site" -msgstr "Website bekijken" - -msgid "Documentation" -msgstr "Documentatie" - -msgid "Log out" -msgstr "Afmelden" - -#, python-format -msgid "Add %(name)s" -msgstr "%(name)s toevoegen" - -msgid "History" -msgstr "Geschiedenis" - -msgid "View on site" -msgstr "Weergeven op website" - -msgid "Filter" -msgstr "Filter" - -msgid "Clear all filters" -msgstr "Alle filters wissen" - -msgid "Remove from sorting" -msgstr "Verwijderen uit sortering" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Sorteerprioriteit: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Sortering aan/uit" - -msgid "Delete" -msgstr "Verwijderen" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Het verwijderen van %(object_name)s '%(escaped_object)s' zou ook " -"gerelateerde objecten verwijderen, maar uw account heeft geen rechten om de " -"volgende typen objecten te verwijderen:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"Het verwijderen van %(object_name)s '%(escaped_object)s' vereist het " -"verwijderen van de volgende gerelateerde objecten:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Weet u zeker dat u %(object_name)s '%(escaped_object)s' wilt verwijderen? " -"Alle volgende gerelateerde objecten worden verwijderd:" - -msgid "Objects" -msgstr "Objecten" - -msgid "Yes, I’m sure" -msgstr "Ja, ik weet het zeker" - -msgid "No, take me back" -msgstr "Nee, teruggaan" - -msgid "Delete multiple objects" -msgstr "Meerdere objecten verwijderen" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Het verwijderen van de geselecteerde %(objects_name)s zou ook gerelateerde " -"objecten verwijderen, maar uw account heeft geen rechten om de volgende " -"typen objecten te verwijderen:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Het verwijderen van de geselecteerde %(objects_name)s vereist het " -"verwijderen van de volgende beschermde gerelateerde objecten:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Weet u zeker dat u de geselecteerde %(objects_name)s wilt verwijderen? Alle " -"volgende objecten en hun aanverwante items zullen worden verwijderd:" - -msgid "Delete?" -msgstr "Verwijderen?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " Op %(filter_title)s " - -msgid "Summary" -msgstr "Samenvatting" - -msgid "Recent actions" -msgstr "Recente acties" - -msgid "My actions" -msgstr "Mijn acties" - -msgid "None available" -msgstr "Geen beschikbaar" - -msgid "Unknown content" -msgstr "Onbekende inhoud" - -msgid "" -"Something’s wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Er is iets mis met de installatie van uw database. Zorg ervoor dat de juiste " -"databasetabellen zijn aangemaakt en dat de database voor de juiste gebruiker " -"leesbaar is." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"U bent geverifieerd als %(username)s, maar niet bevoegd om deze pagina te " -"bekijken. Wilt u zich aanmelden bij een andere account?" - -msgid "Forgotten your password or username?" -msgstr "Wachtwoord of gebruikersnaam vergeten?" - -msgid "Toggle navigation" -msgstr "Navigatie aan/uit" - -msgid "Date/time" -msgstr "Datum/tijd" - -msgid "User" -msgstr "Gebruiker" - -msgid "Action" -msgstr "Actie" - -msgid "" -"This object doesn’t have a change history. It probably wasn’t added via this " -"admin site." -msgstr "" -"Dit object heeft geen wijzigingsgeschiedenis. Het is mogelijk niet via de " -"beheerwebsite toegevoegd." - -msgid "Show all" -msgstr "Alles tonen" - -msgid "Save" -msgstr "Opslaan" - -msgid "Popup closing…" -msgstr "Pop-up sluiten…" - -msgid "Search" -msgstr "Zoeken" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s resultaat" -msgstr[1] "%(counter)s resultaten" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s totaal" - -msgid "Save as new" -msgstr "Opslaan als nieuw item" - -msgid "Save and add another" -msgstr "Opslaan en nieuwe toevoegen" - -msgid "Save and continue editing" -msgstr "Opslaan en opnieuw bewerken" - -msgid "Save and view" -msgstr "Opslaan en weergeven" - -msgid "Close" -msgstr "Sluiten" - -#, python-format -msgid "Change selected %(model)s" -msgstr "Geselecteerde %(model)s wijzigen" - -#, python-format -msgid "Add another %(model)s" -msgstr "Nog een %(model)s toevoegen" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Geselecteerde %(model)s verwijderen" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Bedankt voor de aanwezigheid op de site vandaag." - -msgid "Log in again" -msgstr "Opnieuw aanmelden" - -msgid "Password change" -msgstr "Wachtwoordwijziging" - -msgid "Your password was changed." -msgstr "Uw wachtwoord is gewijzigd." - -msgid "" -"Please enter your old password, for security’s sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Voer omwille van beveiliging uw oude en twee keer uw nieuwe wachtwoord in, " -"zodat we kunnen controleren of u geen typefouten hebt gemaakt." - -msgid "Change my password" -msgstr "Mijn wachtwoord wijzigen" - -msgid "Password reset" -msgstr "Wachtwoord hersteld" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Uw wachtwoord is ingesteld. U kunt nu verdergaan en zich aanmelden." - -msgid "Password reset confirmation" -msgstr "Bevestiging wachtwoord herstellen" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Voer het nieuwe wachtwoord twee keer in, zodat we kunnen controleren of er " -"geen typefouten zijn gemaakt." - -msgid "New password:" -msgstr "Nieuw wachtwoord:" - -msgid "Confirm password:" -msgstr "Bevestig wachtwoord:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"De link voor het herstellen van het wachtwoord is ongeldig, waarschijnlijk " -"omdat de link al eens is gebruikt. Vraag opnieuw een wachtwoord aan." - -msgid "" -"We’ve emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"We hebben u instructies gestuurd voor het instellen van uw wachtwoord, als " -"er een account bestaat met het door u ingevoerde e-mailadres. U zou deze " -"straks moeten ontvangen." - -msgid "" -"If you don’t receive an email, please make sure you’ve entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Als u geen e-mail ontvangt, controleer dan of u het e-mailadres hebt " -"ingevoerd waarmee u zich hebt geregistreerd, en controleer uw spam-map." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"U ontvangt deze e-mail, omdat u een aanvraag voor opnieuw instellen van het " -"wachtwoord voor uw account op %(site_name)s hebt gedaan." - -msgid "Please go to the following page and choose a new password:" -msgstr "Ga naar de volgende pagina en kies een nieuw wachtwoord:" - -msgid "Your username, in case you’ve forgotten:" -msgstr "Uw gebruikersnaam, mocht u deze vergeten zijn:" - -msgid "Thanks for using our site!" -msgstr "Bedankt voor het gebruik van onze website!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "Het %(site_name)s-team" - -msgid "" -"Forgotten your password? Enter your email address below, and we’ll email " -"instructions for setting a new one." -msgstr "" -"Wachtwoord vergeten? Vul hieronder uw e-mailadres in, en we sturen " -"instructies voor het instellen van een nieuw wachtwoord." - -msgid "Email address:" -msgstr "E-mailadres:" - -msgid "Reset my password" -msgstr "Mijn wachtwoord opnieuw instellen" - -msgid "All dates" -msgstr "Alle datums" - -#, python-format -msgid "Select %s" -msgstr "Selecteer %s" - -#, python-format -msgid "Select %s to change" -msgstr "Selecteer %s om te wijzigen" - -#, python-format -msgid "Select %s to view" -msgstr "Selecteer %s om te bekijken" - -msgid "Date:" -msgstr "Datum:" - -msgid "Time:" -msgstr "Tijd:" - -msgid "Lookup" -msgstr "Opzoeken" - -msgid "Currently:" -msgstr "Huidig:" - -msgid "Change:" -msgstr "Wijzigen:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/nl/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/nl/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 814d1e8b..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/nl/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/nl/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/nl/LC_MESSAGES/djangojs.po deleted file mode 100644 index 8ed513cc..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/nl/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,227 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Bouke Haarsma , 2013 -# Evelijn Saaltink , 2016 -# Harro van der Klauw , 2012 -# Ilja Maas , 2015 -# Jannis Leidel , 2011 -# Jeffrey Gelens , 2011-2012 -# Meteor0id, 2019-2020 -# 8de006b1b0894aab6aef71979dcd8bd6_5c6b207 , 2015 -# Tonnes , 2019-2020 -# wunki , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-11 20:56+0200\n" -"PO-Revision-Date: 2020-05-13 11:10+0000\n" -"Last-Translator: Tonnes \n" -"Language-Team: Dutch (http://www.transifex.com/django/django/language/nl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nl\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "Beschikbare %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Dit is de lijst met beschikbare %s. U kunt er een aantal kiezen door ze in " -"het vak hieronder te selecteren en daarna op de pijl 'Kiezen' tussen de twee " -"vakken te klikken." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "Typ in dit vak om de lijst met beschikbare %s te filteren." - -msgid "Filter" -msgstr "Filter" - -msgid "Choose all" -msgstr "Alle kiezen" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Klik om alle %s te kiezen." - -msgid "Choose" -msgstr "Kiezen" - -msgid "Remove" -msgstr "Verwijderen" - -#, javascript-format -msgid "Chosen %s" -msgstr "Gekozen %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Dit is de lijst met gekozen %s. U kunt er een aantal verwijderen door ze in " -"het vak hieronder te selecteren en daarna op de pijl 'Verwijderen' tussen de " -"twee vakken te klikken." - -msgid "Remove all" -msgstr "Alle verwijderen" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Klik om alle gekozen %s tegelijk te verwijderen." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(sel)s van de %(cnt)s geselecteerd" -msgstr[1] "%(sel)s van de %(cnt)s geselecteerd" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"U hebt niet-opgeslagen wijzigingen op afzonderlijke bewerkbare velden. Als u " -"een actie uitvoert, gaan uw wijzigingen verloren." - -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 "" -"U hebt een actie geselecteerd, maar uw wijzigingen in afzonderlijke velden " -"nog niet opgeslagen. Klik op OK om deze op te slaan. U dient de actie " -"opnieuw uit te voeren." - -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 "" -"U hebt een actie geselecteerd, en geen wijzigingen in afzonderlijke velden " -"aangebracht. Waarschijnlijk zoekt u de knop Gaan in plaats van de knop " -"Opslaan." - -msgid "Now" -msgstr "Nu" - -msgid "Midnight" -msgstr "Middernacht" - -msgid "6 a.m." -msgstr "6 uur 's ochtends" - -msgid "Noon" -msgstr "12 uur 's middags" - -msgid "6 p.m." -msgstr "6 uur 's avonds" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Let op: u ligt %s uur voor ten opzichte van de servertijd." -msgstr[1] "Let op: u ligt %s uur voor ten opzichte van de servertijd." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Let op: u ligt %s uur achter ten opzichte van de servertijd." -msgstr[1] "Let op: u ligt %s uur achter ten opzichte van de servertijd." - -msgid "Choose a Time" -msgstr "Kies een tijdstip" - -msgid "Choose a time" -msgstr "Kies een tijd" - -msgid "Cancel" -msgstr "Annuleren" - -msgid "Today" -msgstr "Vandaag" - -msgid "Choose a Date" -msgstr "Kies een datum" - -msgid "Yesterday" -msgstr "Gisteren" - -msgid "Tomorrow" -msgstr "Morgen" - -msgid "January" -msgstr "januari" - -msgid "February" -msgstr "februari" - -msgid "March" -msgstr "maart" - -msgid "April" -msgstr "april" - -msgid "May" -msgstr "mei" - -msgid "June" -msgstr "juni" - -msgid "July" -msgstr "juli" - -msgid "August" -msgstr "augustus" - -msgid "September" -msgstr "september" - -msgid "October" -msgstr "oktober" - -msgid "November" -msgstr "november" - -msgid "December" -msgstr "december" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "Z" - -msgctxt "one letter Monday" -msgid "M" -msgstr "M" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "D" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "W" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "D" - -msgctxt "one letter Friday" -msgid "F" -msgstr "V" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "Z" - -msgid "Show" -msgstr "Tonen" - -msgid "Hide" -msgstr "Verbergen" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/nn/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/nn/LC_MESSAGES/django.mo deleted file mode 100644 index 78170f03..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/nn/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/nn/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/nn/LC_MESSAGES/django.po deleted file mode 100644 index a85f011c..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/nn/LC_MESSAGES/django.po +++ /dev/null @@ -1,664 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# hgrimelid , 2011-2012 -# Jannis Leidel , 2011 -# jensadne , 2013 -# Sigurd Gartmann , 2012 -# velmont , 2012 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-09-19 16:41+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Norwegian Nynorsk (http://www.transifex.com/django/django/" -"language/nn/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nn\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "Sletta %(count)d %(items)s." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "Kan ikkje slette %(name)s" - -msgid "Are you sure?" -msgstr "Er du sikker?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Slett valgte %(verbose_name_plural)s" - -msgid "Administration" -msgstr "" - -msgid "All" -msgstr "Alle" - -msgid "Yes" -msgstr "Ja" - -msgid "No" -msgstr "Nei" - -msgid "Unknown" -msgstr "Ukjend" - -msgid "Any date" -msgstr "Når som helst" - -msgid "Today" -msgstr "I dag" - -msgid "Past 7 days" -msgstr "Siste sju dagar" - -msgid "This month" -msgstr "Denne månaden" - -msgid "This year" -msgstr "I år" - -msgid "No date" -msgstr "" - -msgid "Has date" -msgstr "" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" - -msgid "Action:" -msgstr "Handling:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Legg til ny %(verbose_name)s." - -msgid "Remove" -msgstr "Fjern" - -msgid "action time" -msgstr "tid for handling" - -msgid "user" -msgstr "" - -msgid "content type" -msgstr "" - -msgid "object id" -msgstr "objekt-ID" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/3/library/functions.html#repr) -msgid "object repr" -msgstr "objekt repr" - -msgid "action flag" -msgstr "handlingsflagg" - -msgid "change message" -msgstr "endre melding" - -msgid "log entry" -msgstr "logginnlegg" - -msgid "log entries" -msgstr "logginnlegg" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "La til «%(object)s»." - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "Endra «%(object)s» - %(changes)s" - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "Sletta «%(object)s»." - -msgid "LogEntry Object" -msgstr "LogEntry-objekt" - -#, python-brace-format -msgid "Added {name} \"{object}\"." -msgstr "" - -msgid "Added." -msgstr "" - -msgid "and" -msgstr "og" - -#, python-brace-format -msgid "Changed {fields} for {name} \"{object}\"." -msgstr "" - -#, python-brace-format -msgid "Changed {fields}." -msgstr "" - -#, python-brace-format -msgid "Deleted {name} \"{object}\"." -msgstr "" - -msgid "No fields changed." -msgstr "Ingen felt endra." - -msgid "None" -msgstr "Ingen" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was changed successfully." -msgstr "" - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Objekt må vere valde for at dei skal kunne utførast handlingar på. Ingen " -"object er endra." - -msgid "No action selected." -msgstr "Inga valt handling." - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "%(name)s \"%(obj)s\" vart sletta." - -#, python-format -msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" -msgstr "" - -#, python-format -msgid "Add %s" -msgstr "Opprett %s" - -#, python-format -msgid "Change %s" -msgstr "Rediger %s" - -msgid "Database error" -msgstr "Databasefeil" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s vart endra." -msgstr[1] "%(count)s %(name)s vart endra." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s valde" -msgstr[1] "Alle %(total_count)s valde" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "Ingen av %(cnt)s valde" - -#, python-format -msgid "Change history: %s" -msgstr "Endringshistorikk: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"Sletting av %(class_name)s «%(instance)s» krev sletting av følgande beskytta " -"relaterte objekt: %(related_objects)s" - -msgid "Django site admin" -msgstr "Django administrasjonsside" - -msgid "Django administration" -msgstr "Django-administrasjon" - -msgid "Site administration" -msgstr "Nettstadsadministrasjon" - -msgid "Log in" -msgstr "Logg inn" - -#, python-format -msgid "%(app)s administration" -msgstr "" - -msgid "Page not found" -msgstr "Fann ikkje sida" - -msgid "We're sorry, but the requested page could not be found." -msgstr "Sida du spør etter finst ikkje." - -msgid "Home" -msgstr "Heim" - -msgid "Server error" -msgstr "Tenarfeil" - -msgid "Server error (500)" -msgstr "Tenarfeil (500)" - -msgid "Server Error (500)" -msgstr "Tenarfeil (500)" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" - -msgid "Run the selected action" -msgstr "Utfør den valde handlinga" - -msgid "Go" -msgstr "Gå" - -msgid "Click here to select the objects across all pages" -msgstr "Klikk her for å velje objekt på tvers av alle sider" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Velg alle %(total_count)s %(module_name)s" - -msgid "Clear selection" -msgstr "Nullstill utval" - -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" -"Skriv først inn brukernamn og passord. Deretter vil du få høve til å endre " -"fleire brukarinnstillingar." - -msgid "Enter a username and password." -msgstr "Skriv inn nytt brukarnamn og passord." - -msgid "Change password" -msgstr "Endre passord" - -msgid "Please correct the error below." -msgstr "Korriger feila under." - -msgid "Please correct the errors below." -msgstr "" - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "Skriv inn eit nytt passord for brukaren %(username)s." - -msgid "Welcome," -msgstr "Velkommen," - -msgid "View site" -msgstr "" - -msgid "Documentation" -msgstr "Dokumentasjon" - -msgid "Log out" -msgstr "Logg ut" - -#, python-format -msgid "Add %(name)s" -msgstr "Opprett %(name)s" - -msgid "History" -msgstr "Historikk" - -msgid "View on site" -msgstr "Vis på nettstad" - -msgid "Filter" -msgstr "Filtrering" - -msgid "Remove from sorting" -msgstr "Fjern frå sortering" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Sorteringspriorite: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Slår av eller på sortering" - -msgid "Delete" -msgstr "Slett" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Dersom du slettar %(object_name)s '%(escaped_object)s', vil også slette " -"relaterte objekt, men du har ikkje løyve til å slette følgande objekttypar:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"Sletting av %(object_name)s '%(escaped_object)s' krevar sletting av " -"følgjande beskytta relaterte objekt:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Er du sikker på at du vil slette %(object_name)s \"%(escaped_object)s\"? " -"Alle dei følgjande relaterte objekta vil bli sletta:" - -msgid "Objects" -msgstr "" - -msgid "Yes, I'm sure" -msgstr "Ja, eg er sikker" - -msgid "No, take me back" -msgstr "" - -msgid "Delete multiple objects" -msgstr "Slett fleire objekt" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Sletting av %(objects_name)s vil føre til at relaterte objekt blir sletta, " -"men kontoen din manglar løyve til å slette følgjande objekttypar:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Sletting av %(objects_name)s krevar sletting av følgjande beskytta relaterte " -"objekt:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Er du sikker på at du vil slette dei valgte objekta %(objects_name)s? " -"Følgjande objekt og deira relaterte objekt vil bli sletta:" - -msgid "Change" -msgstr "Endre" - -msgid "Delete?" -msgstr "Slette?" - -#, python-format -msgid " By %(filter_title)s " -msgstr "Etter %(filter_title)s " - -msgid "Summary" -msgstr "" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "" - -msgid "Add" -msgstr "Opprett" - -msgid "You don't have permission to edit anything." -msgstr "Du har ikkje løyve til å redigere noko." - -msgid "Recent actions" -msgstr "" - -msgid "My actions" -msgstr "" - -msgid "None available" -msgstr "Ingen tilgjengelege" - -msgid "Unknown content" -msgstr "Ukjent innhald" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Noko er gale med databaseinstallasjonen din. Syt for at databasetabellane er " -"oppretta og at brukaren har dei naudsynte løyve." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" - -msgid "Forgotten your password or username?" -msgstr "Gløymd brukarnamn eller passord?" - -msgid "Date/time" -msgstr "Dato/tid" - -msgid "User" -msgstr "Brukar" - -msgid "Action" -msgstr "Handling" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" -"Dette objektet har ingen endringshistorikk. Det var sannsynlegvis ikkje " -"oppretta med administrasjonssida." - -msgid "Show all" -msgstr "Vis alle" - -msgid "Save" -msgstr "Lagre" - -msgid "Popup closing..." -msgstr "" - -#, python-format -msgid "Change selected %(model)s" -msgstr "" - -#, python-format -msgid "Add another %(model)s" -msgstr "" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "" - -msgid "Search" -msgstr "Søk" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s resultat" -msgstr[1] "%(counter)s resultat" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s totalt" - -msgid "Save as new" -msgstr "Lagre som ny" - -msgid "Save and add another" -msgstr "Lagre og opprett ny" - -msgid "Save and continue editing" -msgstr "Lagre og hald fram å redigere" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Takk for at du brukte kvalitetstid på nettstaden i dag." - -msgid "Log in again" -msgstr "Logg inn att" - -msgid "Password change" -msgstr "Endre passord" - -msgid "Your password was changed." -msgstr "Passordet ditt vart endret." - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Av sikkerheitsgrunnar må du oppgje det gamle passordet ditt. Oppgje så det " -"nye passordet ditt to gonger, slik at vi kan kontrollere at det er korrekt." - -msgid "Change my password" -msgstr "Endre passord" - -msgid "Password reset" -msgstr "Nullstill passord" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Passordet ditt er sett. Du kan logge inn." - -msgid "Password reset confirmation" -msgstr "Stadfesting på nullstilt passord" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Oppgje det nye passordet ditt to gonger, for å sikre at du oppgjev det " -"korrekt." - -msgid "New password:" -msgstr "Nytt passord:" - -msgid "Confirm password:" -msgstr "Gjenta nytt passord:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Nullstillingslinken er ugyldig, kanskje fordi den allereie har vore brukt. " -"Nullstill passordet ditt på nytt." - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" - -msgid "Please go to the following page and choose a new password:" -msgstr "Gå til følgjande side og velg eit nytt passord:" - -msgid "Your username, in case you've forgotten:" -msgstr "Brukarnamnet ditt, i tilfelle du har gløymt det:" - -msgid "Thanks for using our site!" -msgstr "Takk for at du brukar sida vår!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "Helsing %(site_name)s" - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" - -msgid "Email address:" -msgstr "" - -msgid "Reset my password" -msgstr "Nullstill passordet" - -msgid "All dates" -msgstr "Alle datoar" - -#, python-format -msgid "Select %s" -msgstr "Velg %s" - -#, python-format -msgid "Select %s to change" -msgstr "Velg %s du ønskar å redigere" - -msgid "Date:" -msgstr "Dato:" - -msgid "Time:" -msgstr "Tid:" - -msgid "Lookup" -msgstr "Oppslag" - -msgid "Currently:" -msgstr "" - -msgid "Change:" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/nn/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/nn/LC_MESSAGES/djangojs.mo deleted file mode 100644 index c4c82413..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/nn/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/nn/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/nn/LC_MESSAGES/djangojs.po deleted file mode 100644 index 07ba2f63..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/nn/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,217 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# hgrimelid , 2011 -# Jannis Leidel , 2011 -# velmont , 2012 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" -"PO-Revision-Date: 2017-09-19 16:41+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Norwegian Nynorsk (http://www.transifex.com/django/django/" -"language/nn/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nn\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "Tilgjengelege %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Dette er lista over tilgjengelege %s. Du kan velja nokon ved å markera dei i " -"boksen under og so klikka på «Velg»-pila mellom dei to boksane." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "Skriv i dette feltet for å filtrera ned lista av tilgjengelege %s." - -msgid "Filter" -msgstr "Filter" - -msgid "Choose all" -msgstr "Velg alle" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Klikk for å velja alle %s samtidig." - -msgid "Choose" -msgstr "Vel" - -msgid "Remove" -msgstr "Slett" - -#, javascript-format -msgid "Chosen %s" -msgstr "Valde %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Dette er lista over valte %s. Du kan fjerna nokon ved å markera dei i boksen " -"under og so klikka på «Fjern»-pila mellom dei to boksane." - -msgid "Remove all" -msgstr "Fjern alle" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Klikk for å fjerna alle valte %s samtidig." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(sel)s av %(cnt)s vald" -msgstr[1] "%(sel)s av %(cnt)s valde" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Det er endringar som ikkje er lagra i individuelt redigerbare felt. " -"Endringar som ikkje er lagra vil gå tapt." - -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 "" -"Du har vald ei handling, men du har framleis ikkje lagra endringar for " -"individuelle felt. Klikk OK for å lagre. Du må gjere handlinga på nytt." - -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 "" -"Du har vald ei handling og du har ikkje gjort endringar i individuelle felt. " -"Du ser sannsynlegvis etter Gå vidare-knappen - ikkje Lagre-knappen." - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "" -msgstr[1] "" - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "" -msgstr[1] "" - -msgid "Now" -msgstr "No" - -msgid "Choose a Time" -msgstr "" - -msgid "Choose a time" -msgstr "Velg eit klokkeslett" - -msgid "Midnight" -msgstr "Midnatt" - -msgid "6 a.m." -msgstr "06:00" - -msgid "Noon" -msgstr "12:00" - -msgid "6 p.m." -msgstr "" - -msgid "Cancel" -msgstr "Avbryt" - -msgid "Today" -msgstr "I dag" - -msgid "Choose a Date" -msgstr "" - -msgid "Yesterday" -msgstr "I går" - -msgid "Tomorrow" -msgstr "I morgon" - -msgid "January" -msgstr "" - -msgid "February" -msgstr "" - -msgid "March" -msgstr "" - -msgid "April" -msgstr "" - -msgid "May" -msgstr "" - -msgid "June" -msgstr "" - -msgid "July" -msgstr "" - -msgid "August" -msgstr "" - -msgid "September" -msgstr "" - -msgid "October" -msgstr "" - -msgid "November" -msgstr "" - -msgid "December" -msgstr "" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "" - -msgctxt "one letter Monday" -msgid "M" -msgstr "" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "" - -msgctxt "one letter Friday" -msgid "F" -msgstr "" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "" - -msgid "Show" -msgstr "Vis" - -msgid "Hide" -msgstr "Skjul" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/os/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/os/LC_MESSAGES/django.mo deleted file mode 100644 index dbf509f5..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/os/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/os/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/os/LC_MESSAGES/django.po deleted file mode 100644 index aae9d9c2..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/os/LC_MESSAGES/django.po +++ /dev/null @@ -1,665 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Soslan Khubulov , 2013 -# Soslan Khubulov , 2013 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-09-19 16:40+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Ossetic (http://www.transifex.com/django/django/language/" -"os/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: os\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "%(count)d %(items)s хафт ӕрцыдысты." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "Нӕ уайы схафын %(name)s" - -msgid "Are you sure?" -msgstr "Ӕцӕг дӕ фӕнды?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Схафын ӕвзӕрст %(verbose_name_plural)s" - -msgid "Administration" -msgstr "" - -msgid "All" -msgstr "Иууылдӕр" - -msgid "Yes" -msgstr "О" - -msgid "No" -msgstr "Нӕ" - -msgid "Unknown" -msgstr "Ӕнӕбӕрӕг" - -msgid "Any date" -msgstr "Цыфӕнды бон" - -msgid "Today" -msgstr "Абон" - -msgid "Past 7 days" -msgstr "Фӕстаг 7 бон" - -msgid "This month" -msgstr "Ацы мӕй" - -msgid "This year" -msgstr "Ацы аз" - -msgid "No date" -msgstr "" - -msgid "Has date" -msgstr "" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Дӕ хорзӕхӕй, раст кусӕджы аккаунты %(username)s ӕмӕ пароль бафысс. Дӕ сӕры " -"дар уый, ӕмӕ дыууӕ дӕр гӕнӕн ис стыр ӕмӕ гыццыл дамгъӕ ӕвзарой." - -msgid "Action:" -msgstr "Ми:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Бафтауын ӕндӕр %(verbose_name)s" - -msgid "Remove" -msgstr "Схафын" - -msgid "action time" -msgstr "мийы рӕстӕг" - -msgid "user" -msgstr "" - -msgid "content type" -msgstr "" - -msgid "object id" -msgstr "объекты бӕрӕггӕнӕн" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/3/library/functions.html#repr) -msgid "object repr" -msgstr "объекты хуыз" - -msgid "action flag" -msgstr "мийы флаг" - -msgid "change message" -msgstr "фыстӕг фӕивын" - -msgid "log entry" -msgstr "логы иуӕг" - -msgid "log entries" -msgstr "логы иуӕгтӕ" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "Ӕфтыд ӕрцыд \"%(object)s\"." - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "Ивд ӕрцыд \"%(object)s\" - %(changes)s" - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "Хафт ӕрцыд \"%(object)s.\"" - -msgid "LogEntry Object" -msgstr "ЛогыИуӕг Объект" - -#, python-brace-format -msgid "Added {name} \"{object}\"." -msgstr "" - -msgid "Added." -msgstr "" - -msgid "and" -msgstr "ӕмӕ" - -#, python-brace-format -msgid "Changed {fields} for {name} \"{object}\"." -msgstr "" - -#, python-brace-format -msgid "Changed {fields}." -msgstr "" - -#, python-brace-format -msgid "Deleted {name} \"{object}\"." -msgstr "" - -msgid "No fields changed." -msgstr "Ивд бынат нӕй." - -msgid "None" -msgstr "Никӕцы" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was changed successfully." -msgstr "" - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Иуӕгтӕ хъуамӕ ӕвзӕрст уой, цӕмӕй цын исты ми бакӕнай. Ницы иуӕг ӕрцыд ивд." - -msgid "No action selected." -msgstr "Ницы ми у ӕвзӕрст." - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "%(name)s \"%(obj)s\" хафт ӕрцыд." - -#, python-format -msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" -msgstr "" - -#, python-format -msgid "Add %s" -msgstr "Бафтауын %s" - -#, python-format -msgid "Change %s" -msgstr "Фӕивын %s" - -msgid "Database error" -msgstr "Бӕрӕгдоны рӕдыд" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s ивд ӕрцыд." -msgstr[1] "%(count)s %(name)s ивд ӕрцыдысты." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s у ӕвзӕрст" -msgstr[1] "%(total_count)s дӕр иууылдӕр сты ӕвзӕрст" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "%(cnt)s-ӕй 0 у ӕвзӕрст" - -#, python-format -msgid "Change history: %s" -msgstr "Ивынты истори: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" - -msgid "Django site admin" -msgstr "Django сайты админ" - -msgid "Django administration" -msgstr "Django администраци" - -msgid "Site administration" -msgstr "Сайты администраци" - -msgid "Log in" -msgstr "Бахизын" - -#, python-format -msgid "%(app)s administration" -msgstr "" - -msgid "Page not found" -msgstr "Фарс нӕ зыны" - -msgid "We're sorry, but the requested page could not be found." -msgstr "Хатыр, фӕлӕ домд фарс нӕ зыны." - -msgid "Home" -msgstr "Хӕдзар" - -msgid "Server error" -msgstr "Серверы рӕдыд" - -msgid "Server error (500)" -msgstr "Серверы рӕдыд (500)" - -msgid "Server Error (500)" -msgstr "Серверы Рӕдыд (500)" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"Рӕдыд разынд. Уый тыххӕй сайты администратормӕ электрон фыстӕг ӕрвыст ӕрцыд " -"ӕмӕ йӕ тагъд сраст кӕндзысты. Бузныг кӕй лӕууыс." - -msgid "Run the selected action" -msgstr "Бакӕнын ӕвзӕрст ми" - -msgid "Go" -msgstr "Бацӕуын" - -msgid "Click here to select the objects across all pages" -msgstr "Ам ныххӕц цӕмӕй алы фарсы объекттӕ равзарын" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Равзарын %(total_count)s %(module_name)s иууылдӕр" - -msgid "Clear selection" -msgstr "Ӕвзӕрст асыгъдӕг кӕнын" - -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" -"Фыццаг бафысс фӕсномыг ӕмӕ пароль. Стӕй дӕ бон уыдзӕн фылдӕр архайӕджы " -"фадӕттӕ ивын." - -msgid "Enter a username and password." -msgstr "Бафысс фӕсномыг ӕмӕ пароль." - -msgid "Change password" -msgstr "Пароль фӕивын" - -msgid "Please correct the error below." -msgstr "Дӕ хорзӕхӕй, бындӕр цы рӕдыдтытӕ ис, уыдон сраст кӕн." - -msgid "Please correct the errors below." -msgstr "" - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "Бафысс ног пароль архайӕг %(username)s-ӕн." - -msgid "Welcome," -msgstr "Ӕгас цу," - -msgid "View site" -msgstr "" - -msgid "Documentation" -msgstr "Документаци" - -msgid "Log out" -msgstr "Рахизын" - -#, python-format -msgid "Add %(name)s" -msgstr "Бафтауын %(name)s" - -msgid "History" -msgstr "Истори" - -msgid "View on site" -msgstr "Сайты фенын" - -msgid "Filter" -msgstr "Фӕрсудзӕн" - -msgid "Remove from sorting" -msgstr "Радӕй айсын" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Рады приоритет: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Рад аивын" - -msgid "Delete" -msgstr "Схафын" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"%(object_name)s '%(escaped_object)s' хафыны тыххӕй баст объекттӕ дӕр хафт " -"ӕрцӕудзысты, фӕлӕ дӕ аккаунтӕн нӕй бар ацы объекты хуызтӕ хафын:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"%(object_name)s '%(escaped_object)s' хафын домы ацы хъахъхъӕд баст объекттӕ " -"хафын дӕр:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Ӕцӕг дӕ фӕнды %(object_name)s \"%(escaped_object)s\" схафын? Ацы баст иуӕгтӕ " -"иууылдӕр хафт ӕрцӕудзысты:" - -msgid "Objects" -msgstr "" - -msgid "Yes, I'm sure" -msgstr "О, ӕцӕг мӕ фӕнды" - -msgid "No, take me back" -msgstr "" - -msgid "Delete multiple objects" -msgstr "Цалдӕр объекты схафын" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Ӕвзӕрст %(objects_name)s хафыны тыххӕй йемӕ баст объекттӕ дӕр схафт " -"уыдзысты, фӕлӕ дӕ аккаунтӕн нӕй бар ацы объекты хуызтӕ хафын:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Ӕвзӕрст %(objects_name)s хафын домы ацы хъахъхъӕд баст объекттӕ хафын дӕр:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Ӕцӕг дӕ фӕнды ӕвзӕрст %(objects_name)s схафын? ацы объекттӕ иууылдӕр, ӕмӕ " -"семӕ баст иуӕгтӕ хафт ӕрцӕудзысты:" - -msgid "Change" -msgstr "Фӕивын" - -msgid "Delete?" -msgstr "Хъӕуы схафын?" - -#, python-format -msgid " By %(filter_title)s " -msgstr "%(filter_title)s-мӕ гӕсгӕ" - -msgid "Summary" -msgstr "" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "Моделтӕ %(name)s ӕфтуаны" - -msgid "Add" -msgstr "Бафтауын" - -msgid "You don't have permission to edit anything." -msgstr "Нӕй дын бар исты ивын." - -msgid "Recent actions" -msgstr "" - -msgid "My actions" -msgstr "" - -msgid "None available" -msgstr "Ницы ис" - -msgid "Unknown content" -msgstr "Ӕнӕбӕрӕг мидис" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Дӕ бӕрӕгдоны цыдӕр раст ӕвӕрд нӕу. Сбӕрӕг кӕн, хъӕугӕ бӕрӕгдоны таблицӕтӕ " -"конд кӕй сты ӕмӕ амынд архайӕгӕн бӕрӕгдон фӕрсыны бар кӕй ис, уый." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" - -msgid "Forgotten your password or username?" -msgstr "Дӕ пароль кӕнӕ дӕ фӕсномыг ферох кодтай?" - -msgid "Date/time" -msgstr "Бон/рӕстӕг" - -msgid "User" -msgstr "Архайӕг" - -msgid "Action" -msgstr "Ми" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "Ацы объектӕн ивдтыты истори нӕй. Уӕццӕгӕн ацы админӕй ӕфтыд нӕ уыд." - -msgid "Show all" -msgstr "Иууылдӕр равдисын" - -msgid "Save" -msgstr "Нывӕрын" - -msgid "Popup closing..." -msgstr "" - -#, python-format -msgid "Change selected %(model)s" -msgstr "" - -#, python-format -msgid "Add another %(model)s" -msgstr "" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "" - -msgid "Search" -msgstr "Агурын" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s фӕстиуӕг" -msgstr[1] "%(counter)s фӕстиуӕджы" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s иумӕ" - -msgid "Save as new" -msgstr "Нывӕрын куыд ног" - -msgid "Save and add another" -msgstr "Нывӕрын ӕмӕ ног бафтауын" - -msgid "Save and continue editing" -msgstr "Нывӕрын ӕмӕ дарддӕр ивын" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Бузныг дӕ рӕстӕг абон ацы веб сайтимӕ кӕй арвыстай." - -msgid "Log in again" -msgstr "Ногӕй бахизын" - -msgid "Password change" -msgstr "Пароль ивын" - -msgid "Your password was changed." -msgstr "Дӕ пароль ивд ӕрцыд." - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Дӕ хорзӕхӕй, ӕдасдзинады тыххӕй, бафысс дӕ зӕронд пароль ӕмӕ стӕй та дыууӕ " -"хатт дӕ нӕуӕг пароль, цӕмӕй мах сбӕлвырд кӕнӕм раст ӕй кӕй ныффыстай, уый." - -msgid "Change my password" -msgstr "Мӕ пароль фӕивын" - -msgid "Password reset" -msgstr "Пароль рацаразын" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Дӕ пароль ӕвӕрд ӕрцыд. Дӕ бон у дарддӕр ацӕуын ӕмӕ бахизын." - -msgid "Password reset confirmation" -msgstr "Пароль ӕвӕрыны бӕлвырдгӕнӕн" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Дӕ хорзӕхӕй, дӕ ног пароль дыууӕ хатт бафысс, цӕмӕй мах сбӕрӕг кӕнӕм раст ӕй " -"кӕй ныффыстай, уый." - -msgid "New password:" -msgstr "Ног пароль:" - -msgid "Confirm password:" -msgstr "Бӕлвырд пароль:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Парол ӕвӕрыны ӕрвитӕн раст нӕ уыд. Уӕццӕгӕн уый тыххӕй, ӕмӕ нырид пайдагонд " -"ӕрцыд. Дӕ хорзӕхӕй, ӕрдом ног пароль ӕвӕрын." - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Кӕд ницы фыстӕг райстай, уӕд, дӕ хорзӕхӕй, сбӕрӕг кӕн цы электрон постимӕ " -"срегистраци кодтай, уый бацамыдтай, ӕви нӕ, ӕмӕ абӕрӕг кӕн дӕ спамтӕ." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"Ды райстай ацы фыстӕг, уымӕн ӕмӕ %(site_name)s-ы дӕ архайӕджы аккаунтӕн " -"пароль сӕвӕрын ӕрдомдтай." - -msgid "Please go to the following page and choose a new password:" -msgstr "Дӕ хорзӕхӕй, ацу ацы фарсмӕ ӕмӕ равзар дӕ ног пароль:" - -msgid "Your username, in case you've forgotten:" -msgstr "Дӕ фӕсномыг, кӕд дӕ ферох ис:" - -msgid "Thanks for using our site!" -msgstr "Бузныг нӕ сайтӕй нын кӕй пайда кӕныс!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "%(site_name)s-ы бал" - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" -"Ферох дӕ ис дӕ пароль? Дӕ пароль бындӕр бафысс, ӕмӕ дӕм мах email-ӕй ног " -"пароль сывӕрыны амынд арвитдзыстӕм." - -msgid "Email address:" -msgstr "Email адрис:" - -msgid "Reset my password" -msgstr "Мӕ пароль ногӕй сӕвӕрын" - -msgid "All dates" -msgstr "Бонтӕ иууылдӕр" - -#, python-format -msgid "Select %s" -msgstr "Равзарын %s" - -#, python-format -msgid "Select %s to change" -msgstr "Равзарын %s ивынӕн" - -msgid "Date:" -msgstr "Бон:" - -msgid "Time:" -msgstr "Рӕстӕг:" - -msgid "Lookup" -msgstr "Акӕсын" - -msgid "Currently:" -msgstr "Нырыккон:" - -msgid "Change:" -msgstr "Ивд:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/os/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/os/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 7af0f793..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/os/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/os/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/os/LC_MESSAGES/djangojs.po deleted file mode 100644 index ec6c9c45..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/os/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,217 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Soslan Khubulov , 2013 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" -"PO-Revision-Date: 2017-09-19 16:41+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Ossetic (http://www.transifex.com/django/django/language/" -"os/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: os\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "Уӕвӕг %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Уӕвӕг %s-ты номхыгъд. Дӕ бон у искӕцытӕ дзы рауӕлдай кӕнай, куы сӕ равзарай " -"бындӕр къӕртты ӕмӕ дыууӕ къӕртты ӕхсӕн \"Равзарын\"-ы ӕгънӕгыл куы ныххӕцай, " -"уӕд." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "Бафысс ацы къӕртты, уӕвӕг %s-ты номхыгъд фӕрсудзынӕн." - -msgid "Filter" -msgstr "Фӕрсудзӕн" - -msgid "Choose all" -msgstr "Равзарын алкӕцыдӕр" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Ныххӕц, алы %s равзарынӕн." - -msgid "Choose" -msgstr "Равзарын" - -msgid "Remove" -msgstr "Схафын" - -#, javascript-format -msgid "Chosen %s" -msgstr "Ӕвзӕрст %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Ай у ӕвзӕрст %s-ты номхыгъд. Сӕ хафынӕн сӕ дӕ бон у бындӕр къӕртты равзарын " -"ӕмӕ дыууӕ ӕгънӕджы ӕхсӕн \"Схфын\"-ыл ныххӕцын." - -msgid "Remove all" -msgstr "Схафын алкӕцыдӕр" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Ныххӕц, алы ӕвзӕрст %s схафынӕн." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(cnt)s-ӕй %(sel)s ӕвзӕрст" -msgstr[1] "%(cnt)s-ӕй %(sel)s ӕвзӕрст" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Ӕнӕвӕрд ивдтытӕ баззадысты ивыны бынӕтты. Кӕд исты ми саразай, уӕд дӕ " -"ӕнӕвӕрд ивдтытӕ фесӕфдзысты." - -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 "" -"Ды равзӕрстай цыдӕр ми, фӕлӕ ивӕн бынӕтты цы фӕивтай, уыдон нӕ бавӕрдтай. Дӕ " -"хорзӕхӕй, ныххӕц Хорзыл цӕмӕй бавӕрд уой. Стӕй дын хъӕудзӕн ацы ми ногӕй " -"бакӕнын." - -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 "" -"Ды равзӕртай цыдӕр ми, фӕлӕ ивӕн бынӕтты ницы баивтай. Уӕццӕгӕн дӕ Ацӕуыны " -"ӕгънӕг хъӕуы, Бавӕрыны нӕ фӕлӕ." - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "" -msgstr[1] "" - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "" -msgstr[1] "" - -msgid "Now" -msgstr "Ныр" - -msgid "Choose a Time" -msgstr "" - -msgid "Choose a time" -msgstr "Рӕстӕг равзарын" - -msgid "Midnight" -msgstr "Ӕмбисӕхсӕв" - -msgid "6 a.m." -msgstr "6 ӕ.р." - -msgid "Noon" -msgstr "Ӕмбисбон" - -msgid "6 p.m." -msgstr "" - -msgid "Cancel" -msgstr "Раздӕхын" - -msgid "Today" -msgstr "Абон" - -msgid "Choose a Date" -msgstr "" - -msgid "Yesterday" -msgstr "Знон" - -msgid "Tomorrow" -msgstr "Сом" - -msgid "January" -msgstr "" - -msgid "February" -msgstr "" - -msgid "March" -msgstr "" - -msgid "April" -msgstr "" - -msgid "May" -msgstr "" - -msgid "June" -msgstr "" - -msgid "July" -msgstr "" - -msgid "August" -msgstr "" - -msgid "September" -msgstr "" - -msgid "October" -msgstr "" - -msgid "November" -msgstr "" - -msgid "December" -msgstr "" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "" - -msgctxt "one letter Monday" -msgid "M" -msgstr "" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "" - -msgctxt "one letter Friday" -msgid "F" -msgstr "" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "" - -msgid "Show" -msgstr "Равдисын" - -msgid "Hide" -msgstr "Айсын" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/pa/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/pa/LC_MESSAGES/django.mo deleted file mode 100644 index 7f976159..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/pa/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/pa/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/pa/LC_MESSAGES/django.po deleted file mode 100644 index 14b83e88..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/pa/LC_MESSAGES/django.po +++ /dev/null @@ -1,668 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# A S Alam , 2018 -# Jannis Leidel , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-05-21 14:16-0300\n" -"PO-Revision-Date: 2018-05-28 01:29+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Panjabi (Punjabi) (http://www.transifex.com/django/django/" -"language/pa/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pa\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "%(count)d %(items)s ਠੀਕ ਤਰ੍ਹਾਂ ਹਟਾਈਆਂ ਗਈਆਂ।" - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "%(name)s ਨੂੰ ਹਟਾਇਆ ਨਹੀਂ ਜਾ ਸਕਦਾ" - -msgid "Are you sure?" -msgstr "ਕੀ ਤੁਸੀਂ ਇਹ ਚਾਹੁੰਦੇ ਹੋ?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "ਚੁਣੇ %(verbose_name_plural)s ਹਟਾਓ" - -msgid "Administration" -msgstr "ਪਰਸ਼ਾਸ਼ਨ" - -msgid "All" -msgstr "ਸਭ" - -msgid "Yes" -msgstr "ਹਾਂ" - -msgid "No" -msgstr "ਨਹੀਂ" - -msgid "Unknown" -msgstr "ਅਣਜਾਣ" - -msgid "Any date" -msgstr "ਕੋਈ ਵੀ ਮਿਤੀ" - -msgid "Today" -msgstr "ਅੱਜ" - -msgid "Past 7 days" -msgstr "ਪਿਛਲੇ ੭ ਦਿਨ" - -msgid "This month" -msgstr "ਇਹ ਮਹੀਨੇ" - -msgid "This year" -msgstr "ਇਹ ਸਾਲ" - -msgid "No date" -msgstr "" - -msgid "Has date" -msgstr "" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" - -msgid "Action:" -msgstr "ਕਾਰਵਾਈ:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "%(verbose_name)s ਹੋਰ ਸ਼ਾਮਲ" - -msgid "Remove" -msgstr "ਹਟਾਓ" - -msgid "Addition" -msgstr "" - -msgid "Change" -msgstr "ਬਦਲੋ" - -msgid "Deletion" -msgstr "" - -msgid "action time" -msgstr "ਕਾਰਵਾਈ ਸਮਾਂ" - -msgid "user" -msgstr "ਵਰਤੋਂਕਾਰ" - -msgid "content type" -msgstr "ਸਮੱਗਰੀ ਕਿਸਮ" - -msgid "object id" -msgstr "ਆਬਜੈਕਟ id" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/3/library/functions.html#repr) -msgid "object repr" -msgstr "ਆਬਜੈਕਟ repr" - -msgid "action flag" -msgstr "ਕਾਰਵਾਈ ਫਲੈਗ" - -msgid "change message" -msgstr "ਸੁਨੇਹਾ ਬਦਲੋ" - -msgid "log entry" -msgstr "ਲਾਗ ਐਂਟਰੀ" - -msgid "log entries" -msgstr "ਲਾਗ ਐਂਟਰੀਆਂ" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "" - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "" - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "" - -msgid "LogEntry Object" -msgstr "" - -#, python-brace-format -msgid "Added {name} \"{object}\"." -msgstr "" - -msgid "Added." -msgstr "" - -msgid "and" -msgstr "ਅਤੇ" - -#, python-brace-format -msgid "Changed {fields} for {name} \"{object}\"." -msgstr "" - -#, python-brace-format -msgid "Changed {fields}." -msgstr "" - -#, python-brace-format -msgid "Deleted {name} \"{object}\"." -msgstr "" - -msgid "No fields changed." -msgstr "ਕੋਈ ਖੇਤਰ ਨਹੀਂ ਬਦਲਿਆ।" - -msgid "None" -msgstr "ਕੋਈ ਨਹੀਂ" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "" - -msgid "You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was changed successfully." -msgstr "" - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" - -msgid "No action selected." -msgstr "ਕੋਈ ਕਾਰਵਾਈ ਨਹੀਂ ਚੁਣੀ ਗਈ।" - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "%(name)s \"%(obj)s\" ਠੀਕ ਤਰ੍ਹਾਂ ਹਟਾਇਆ ਗਿਆ ਹੈ।" - -#, python-format -msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" -msgstr "" - -#, python-format -msgid "Add %s" -msgstr "%s ਸ਼ਾਮਲ" - -#, python-format -msgid "Change %s" -msgstr "%s ਬਦਲੋ" - -#, python-format -msgid "View %s" -msgstr "" - -msgid "Database error" -msgstr "ਡਾਟਾਬੇਸ ਗਲਤੀ" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s ਠੀਕ ਤਰ੍ਹਾਂ ਬਦਲਿਆ ਗਿਆ।" -msgstr[1] "%(count)s %(name)s ਠੀਕ ਤਰ੍ਹਾਂ ਬਦਲੇ ਗਏ ਹਨ।" - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s ਚੁਣਿਆ।" -msgstr[1] "%(total_count)s ਚੁਣੇ" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "" - -#, python-format -msgid "Change history: %s" -msgstr "ਅਤੀਤ ਬਦਲੋ: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" - -msgid "Django site admin" -msgstr "ਡੀਜਾਂਗੋ ਸਾਈਟ ਐਡਮਿਨ" - -msgid "Django administration" -msgstr "ਡੀਜਾਂਗੋ ਪਰਸ਼ਾਸ਼ਨ" - -msgid "Site administration" -msgstr "ਸਾਈਟ ਪਰਬੰਧ" - -msgid "Log in" -msgstr "ਲਾਗ ਇਨ" - -#, python-format -msgid "%(app)s administration" -msgstr "" - -msgid "Page not found" -msgstr "ਸਫ਼ਾ ਨਹੀਂ ਲੱਭਿਆ" - -msgid "We're sorry, but the requested page could not be found." -msgstr "ਸਾਨੂੰ ਅਫਸੋਸ ਹੈ, ਪਰ ਅਸੀਂ ਮੰਗਿਆ ਗਿਆ ਸਫ਼ਾ ਨਹੀਂ ਲੱਭ ਸਕੇ।" - -msgid "Home" -msgstr "ਘਰ" - -msgid "Server error" -msgstr "ਸਰਵਰ ਗਲਤੀ" - -msgid "Server error (500)" -msgstr "ਸਰਵਰ ਗਲਤੀ (500)" - -msgid "Server Error (500)" -msgstr "ਸਰਵਰ ਗਲਤੀ (500)" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" - -msgid "Run the selected action" -msgstr "ਚੁਣੀ ਕਾਰਵਾਈ ਕਰੋ" - -msgid "Go" -msgstr "ਜਾਓ" - -msgid "Click here to select the objects across all pages" -msgstr "ਸਭ ਸਫ਼ਿਆਂ ਵਿੱਚੋਂ ਆਬਜੈਕਟ ਚੁਣਨ ਲਈ ਇੱਥੇ ਕਲਿੱਕ ਕਰੋ" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "ਸਭ %(total_count)s %(module_name)s ਚੁਣੋ" - -msgid "Clear selection" -msgstr "ਚੋਣ ਸਾਫ਼ ਕਰੋ" - -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "ਪਹਿਲਾਂ ਆਪਣਾ ਯੂਜ਼ਰ ਨਾਂ ਤੇ ਪਾਸਵਰਡ ਦਿਉ। ਫੇਰ ਤੁਸੀਂ ਹੋਰ ਯੂਜ਼ਰ ਚੋਣਾਂ ਨੂੰ ਸੋਧ ਸਕਦੇ ਹੋ।" - -msgid "Enter a username and password." -msgstr "" - -msgid "Change password" -msgstr "ਪਾਸਵਰਡ ਬਦਲੋ" - -msgid "Please correct the error below." -msgstr "" - -msgid "Please correct the errors below." -msgstr "" - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "ਯੂਜ਼ਰ %(username)s ਲਈ ਨਵਾਂ ਪਾਸਵਰਡ ਦਿਓ।" - -msgid "Welcome," -msgstr "ਜੀ ਆਇਆਂ ਨੂੰ, " - -msgid "View site" -msgstr "" - -msgid "Documentation" -msgstr "ਡੌਕੂਮੈਂਟੇਸ਼ਨ" - -msgid "Log out" -msgstr "ਲਾਗ ਆਉਟ" - -#, python-format -msgid "Add %(name)s" -msgstr "%(name)s ਸ਼ਾਮਲ" - -msgid "History" -msgstr "ਅਤੀਤ" - -msgid "View on site" -msgstr "ਸਾਈਟ ਉੱਤੇ ਜਾਓ" - -msgid "Filter" -msgstr "ਫਿਲਟਰ" - -msgid "Remove from sorting" -msgstr "" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "" - -msgid "Toggle sorting" -msgstr "" - -msgid "Delete" -msgstr "ਹਟਾਓ" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" - -msgid "Objects" -msgstr "" - -msgid "Yes, I'm sure" -msgstr "ਹਾਂ, ਮੈਂ ਚਾਹੁੰਦਾ ਹਾਂ" - -msgid "No, take me back" -msgstr "" - -msgid "Delete multiple objects" -msgstr "ਕਈ ਆਬਜੈਕਟ ਹਟਾਓ" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" - -msgid "View" -msgstr "" - -msgid "Delete?" -msgstr "ਹਟਾਉਣਾ?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " %(filter_title)s ਵਲੋਂ " - -msgid "Summary" -msgstr "" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "" - -msgid "Add" -msgstr "ਸ਼ਾਮਲ" - -msgid "You don't have permission to view or edit anything." -msgstr "" - -msgid "Recent actions" -msgstr "" - -msgid "My actions" -msgstr "" - -msgid "None available" -msgstr "ਕੋਈ ਉਪਲੱਬਧ ਨਹੀਂ" - -msgid "Unknown content" -msgstr "ਅਣਜਾਣ ਸਮੱਗਰੀ" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" - -msgid "Forgotten your password or username?" -msgstr "" - -msgid "Date/time" -msgstr "ਮਿਤੀ/ਸਮਾਂ" - -msgid "User" -msgstr "ਯੂਜ਼ਰ" - -msgid "Action" -msgstr "ਕਾਰਵਾਈ" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" - -msgid "Show all" -msgstr "ਸਭ ਵੇਖੋ" - -msgid "Save" -msgstr "ਸੰਭਾਲੋ" - -msgid "Popup closing..." -msgstr "" - -#, python-format -msgid "Change selected %(model)s" -msgstr "" - -#, python-format -msgid "View selected %(model)s" -msgstr "" - -#, python-format -msgid "Add another %(model)s" -msgstr "" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "" - -msgid "Search" -msgstr "ਖੋਜ" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s ਕੁੱਲ" - -msgid "Save as new" -msgstr "ਨਵੇਂ ਵਜੋਂ ਵੇਖੋ" - -msgid "Save and add another" -msgstr "ਸੰਭਾਲੋ ਤੇ ਹੋਰ ਸ਼ਾਮਲ" - -msgid "Save and continue editing" -msgstr "ਸੰਭਾਲੋ ਤੇ ਸੋਧਣਾ ਜਾਰੀ ਰੱਖੋ" - -msgid "Save and view" -msgstr "" - -msgid "Close" -msgstr "" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "ਅੱਜ ਵੈੱਬਸਾਈਟ ਨੂੰ ਕੁਝ ਚੰਗਾ ਸਮਾਂ ਦੇਣ ਲਈ ਧੰਨਵਾਦ ਹੈ।" - -msgid "Log in again" -msgstr "ਫੇਰ ਲਾਗਇਨ ਕਰੋ" - -msgid "Password change" -msgstr "ਪਾਸਵਰਡ ਬਦਲੋ" - -msgid "Your password was changed." -msgstr "ਤੁਹਾਡਾ ਪਾਸਵਰਡ ਬਦਲਿਆ ਗਿਆ ਹੈ।" - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"ਸੁਰੱਖਿਆ ਲਈ ਪਹਿਲਾਂ ਆਪਣਾ ਪੁਰਾਣਾ ਪਾਸਵਰਡ ਦਿਉ, ਅਤੇ ਫੇਰ ਆਪਣਾ ਨਵਾਂ ਪਾਸਵਰਡ ਦੋ ਵਰਾ ਦਿਉ ਤਾਂ ਕਿ " -"ਅਸੀਂ ਜਾਂਚ ਸਕੀਏ ਕਿ ਤੁਸੀਂ ਇਹ ਠੀਕ ਤਰ੍ਹਾਂ ਲਿਖਿਆ ਹੈ।" - -msgid "Change my password" -msgstr "ਮੇਰਾ ਪਾਸਵਰਡ ਬਦਲੋ" - -msgid "Password reset" -msgstr "ਪਾਸਵਰਡ ਮੁੜ-ਸੈੱਟ" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "ਤੁਹਾਡਾ ਪਾਸਵਰਡ ਸੈੱਟ ਕੀਤਾ ਗਿਆ ਹੈ। ਤੁਸੀਂ ਜਾਰੀ ਰੱਖ ਕੇ ਹੁਣੇ ਲਾਗਇਨ ਕਰ ਸਕਦੇ ਹੋ।" - -msgid "Password reset confirmation" -msgstr "ਪਾਸਵਰਡ ਮੁੜ-ਸੈੱਟ ਕਰਨ ਪੁਸ਼ਟੀ" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"ਆਪਣਾ ਨਵਾਂ ਪਾਸਵਰਡ ਦੋ ਵਾਰ ਦਿਉ ਤਾਂ ਕਿ ਅਸੀਂ ਜਾਂਚ ਕਰ ਸਕੀਏ ਕਿ ਤੁਸੀਂ ਠੀਕ ਤਰ੍ਹਾਂ ਲਿਖਿਆ ਹੈ।" - -msgid "New password:" -msgstr "ਨਵਾਂ ਪਾਸਵਰਡ:" - -msgid "Confirm password:" -msgstr "ਪਾਸਵਰਡ ਪੁਸ਼ਟੀ:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"ਪਾਸਵਰਡ ਰੀ-ਸੈੱਟ ਲਿੰਕ ਗਲਤ ਹੈ, ਸੰਭਵ ਤੌਰ ਉੱਤੇ ਇਹ ਪਹਿਲਾਂ ਹੀ ਵਰਤਿਆ ਜਾ ਚੁੱਕਾ ਹੈ। ਨਵਾਂ ਪਾਸਵਰਡ ਰੀ-" -"ਸੈੱਟ ਲਈ ਬੇਨਤੀ ਭੇਜੋ ਜੀ।" - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" - -msgid "Please go to the following page and choose a new password:" -msgstr "ਅੱਗੇ ਦਿੱਤੇ ਸਫ਼ੇ ਉੱਤੇ ਜਾਉ ਤੇ ਨਵਾਂ ਪਾਸਵਰਡ ਚੁਣੋ:" - -msgid "Your username, in case you've forgotten:" -msgstr "ਤੁਹਾਡਾ ਯੂਜ਼ਰ ਨਾਂ, ਜੇ ਕਿਤੇ ਗਲਤੀ ਨਾਲ ਭੁੱਲ ਗਏ ਹੋਵੋ:" - -msgid "Thanks for using our site!" -msgstr "ਸਾਡੀ ਸਾਈਟ ਵਰਤਣ ਲਈ ਧੰਨਵਾਦ ਜੀ!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "%(site_name)s ਟੀਮ" - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" - -msgid "Email address:" -msgstr "" - -msgid "Reset my password" -msgstr "ਮੇਰਾ ਪਾਸਵਰਡ ਮੁੜ-ਸੈੱਟ ਕਰੋ" - -msgid "All dates" -msgstr "ਸਭ ਮਿਤੀਆਂ" - -#, python-format -msgid "Select %s" -msgstr "%s ਚੁਣੋ" - -#, python-format -msgid "Select %s to change" -msgstr "ਬਦਲਣ ਲਈ %s ਚੁਣੋ" - -#, python-format -msgid "Select %s to view" -msgstr "" - -msgid "Date:" -msgstr "ਮਿਤੀ:" - -msgid "Time:" -msgstr "ਸਮਾਂ:" - -msgid "Lookup" -msgstr "ਖੋਜ" - -msgid "Currently:" -msgstr "" - -msgid "Change:" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/pa/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/pa/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 57cc79f3..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/pa/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/pa/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/pa/LC_MESSAGES/djangojs.po deleted file mode 100644 index 2a360463..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/pa/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,205 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Jannis Leidel , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-05-17 11:50+0200\n" -"PO-Revision-Date: 2017-09-19 16:41+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Panjabi (Punjabi) (http://www.transifex.com/django/django/" -"language/pa/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pa\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "ਉਪਲੱਬਧ %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "" - -msgid "Filter" -msgstr "ਫਿਲਟਰ" - -msgid "Choose all" -msgstr "ਸਭ ਚੁਣੋ" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "" - -msgid "Choose" -msgstr "" - -msgid "Remove" -msgstr "ਹਟਾਓ" - -#, javascript-format -msgid "Chosen %s" -msgstr "%s ਚੁਣੋ" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" - -msgid "Remove all" -msgstr "" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "" - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "" -msgstr[1] "" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" - -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 "" - -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 "" - -msgid "Now" -msgstr "ਹੁਣੇ" - -msgid "Midnight" -msgstr "ਅੱਧੀ-ਰਾਤ" - -msgid "6 a.m." -msgstr "6 ਸਵੇਰ" - -msgid "Noon" -msgstr "ਦੁਪਹਿਰ" - -msgid "6 p.m." -msgstr "" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "" -msgstr[1] "" - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "" -msgstr[1] "" - -msgid "Choose a Time" -msgstr "" - -msgid "Choose a time" -msgstr "ਸਮਾਂ ਚੁਣੋ" - -msgid "Cancel" -msgstr "ਰੱਦ ਕਰੋ" - -msgid "Today" -msgstr "ਅੱਜ" - -msgid "Choose a Date" -msgstr "" - -msgid "Yesterday" -msgstr "ਕੱਲ੍ਹ" - -msgid "Tomorrow" -msgstr "ਭਲਕੇ" - -msgid "January" -msgstr "" - -msgid "February" -msgstr "" - -msgid "March" -msgstr "" - -msgid "April" -msgstr "" - -msgid "May" -msgstr "" - -msgid "June" -msgstr "" - -msgid "July" -msgstr "" - -msgid "August" -msgstr "" - -msgid "September" -msgstr "" - -msgid "October" -msgstr "" - -msgid "November" -msgstr "" - -msgid "December" -msgstr "" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "" - -msgctxt "one letter Monday" -msgid "M" -msgstr "" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "" - -msgctxt "one letter Friday" -msgid "F" -msgstr "" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "" - -msgid "Show" -msgstr "ਵੇਖੋ" - -msgid "Hide" -msgstr "ਓਹਲੇ" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/pl/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/pl/LC_MESSAGES/django.mo deleted file mode 100644 index c5c6a908..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/pl/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/pl/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/pl/LC_MESSAGES/django.po deleted file mode 100644 index 1b146886..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/pl/LC_MESSAGES/django.po +++ /dev/null @@ -1,743 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# angularcircle, 2011-2013 -# angularcircle, 2013-2014 -# Jannis Leidel , 2011 -# Janusz Harkot , 2014-2015 -# Karol , 2012 -# 0d5641585fd67fbdb97037c19ab83e4c_18c98b0 , 2011 -# 0d5641585fd67fbdb97037c19ab83e4c_18c98b0 , 2011 -# m_aciek , 2016-2020 -# m_aciek , 2015 -# Mariusz Felisiak , 2020 -# Ola Sitarska , 2013 -# Ola Sitarska , 2013 -# Roman Barczyński, 2014 -# Tomasz Kajtoch , 2017 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-14 19:53+0200\n" -"PO-Revision-Date: 2020-07-21 19:04+0000\n" -"Last-Translator: Mariusz Felisiak \n" -"Language-Team: Polish (http://www.transifex.com/django/django/language/pl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pl\n" -"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n" -"%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n" -"%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "Pomyślnie usunięto %(count)d %(items)s." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "Nie można usunąć %(name)s" - -msgid "Are you sure?" -msgstr "Jesteś pewien?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Usuń wybranych %(verbose_name_plural)s" - -msgid "Administration" -msgstr "Administracja" - -msgid "All" -msgstr "Wszystko" - -msgid "Yes" -msgstr "Tak" - -msgid "No" -msgstr "Nie" - -msgid "Unknown" -msgstr "Nieznany" - -msgid "Any date" -msgstr "Dowolna data" - -msgid "Today" -msgstr "Dzisiaj" - -msgid "Past 7 days" -msgstr "Ostatnie 7 dni" - -msgid "This month" -msgstr "Ten miesiąc" - -msgid "This year" -msgstr "Ten rok" - -msgid "No date" -msgstr "Brak daty" - -msgid "Has date" -msgstr "Posiada datę" - -msgid "Empty" -msgstr "Puste" - -msgid "Not empty" -msgstr "Niepuste" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Wprowadź poprawne dane w polach „%(username)s” i „hasło” dla konta " -"należącego do zespołu. Uwaga: wielkość liter może mieć znaczenie." - -msgid "Action:" -msgstr "Akcja:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Dodaj kolejne %(verbose_name)s" - -msgid "Remove" -msgstr "Usuń" - -msgid "Addition" -msgstr "Dodanie" - -msgid "Change" -msgstr "Zmień" - -msgid "Deletion" -msgstr "Usunięcie" - -msgid "action time" -msgstr "czas akcji" - -msgid "user" -msgstr "użytkownik" - -msgid "content type" -msgstr "typ zawartości" - -msgid "object id" -msgstr "id obiektu" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "reprezentacja obiektu" - -msgid "action flag" -msgstr "flaga akcji" - -msgid "change message" -msgstr "zmień wiadomość" - -msgid "log entry" -msgstr "log" - -msgid "log entries" -msgstr "logi" - -#, python-format -msgid "Added “%(object)s”." -msgstr "Dodano „%(object)s”." - -#, python-format -msgid "Changed “%(object)s” — %(changes)s" -msgstr "Zmieniono „%(object)s” — %(changes)s " - -#, python-format -msgid "Deleted “%(object)s.”" -msgstr "Usunięto „%(object)s”." - -msgid "LogEntry Object" -msgstr "Obiekt LogEntry" - -#, python-brace-format -msgid "Added {name} “{object}”." -msgstr "Dodano {name} „{object}”." - -msgid "Added." -msgstr "Dodano." - -msgid "and" -msgstr "i" - -#, python-brace-format -msgid "Changed {fields} for {name} “{object}”." -msgstr "Zmodyfikowano {fields} w {name} „{object}”." - -#, python-brace-format -msgid "Changed {fields}." -msgstr "Zmodyfikowano {fields}." - -#, python-brace-format -msgid "Deleted {name} “{object}”." -msgstr "Usunięto {name} „{object}”." - -msgid "No fields changed." -msgstr "Żadne pole nie zostało zmienione." - -msgid "None" -msgstr "Brak" - -msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." -msgstr "" -"Przytrzymaj wciśnięty klawisz „Ctrl” lub „Command” na Macu, aby zaznaczyć " -"więcej niż jeden wybór." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully." -msgstr "{name} „{obj}” został dodany pomyślnie." - -msgid "You may edit it again below." -msgstr "Poniżej możesz ponownie edytować." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was added successfully. You may add another {name} below." -msgstr "" -"{name} „{obj}” został dodany pomyślnie. Można dodać kolejny {name} poniżej." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may edit it again below." -msgstr "" -"{name} „{obj}” został pomyślnie zmieniony. Można edytować go ponownie " -"poniżej." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully. You may edit it again below." -msgstr "" -"{name} „{obj}” został dodany pomyślnie. Można edytować go ponownie poniżej." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may add another {name} " -"below." -msgstr "" -"{name} „{obj}” został pomyślnie zmieniony. Można dodać kolejny {name} " -"poniżej." - -#, python-brace-format -msgid "The {name} “{obj}” was changed successfully." -msgstr "{name} „{obj}” został pomyślnie zmieniony." - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Wykonanie akcji wymaga wybrania obiektów. Żaden obiekt nie został zmieniony." - -msgid "No action selected." -msgstr "Nie wybrano akcji." - -#, python-format -msgid "The %(name)s “%(obj)s” was deleted successfully." -msgstr "%(name)s „%(obj)s” usunięty pomyślnie." - -#, python-format -msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" -msgstr "%(name)s z ID „%(key)s” nie istnieje. Może został usunięty?" - -#, python-format -msgid "Add %s" -msgstr "Dodaj %s" - -#, python-format -msgid "Change %s" -msgstr "Zmień %s" - -#, python-format -msgid "View %s" -msgstr "Obejrzyj %s" - -msgid "Database error" -msgstr "Błąd bazy danych" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s został pomyślnie zmieniony." -msgstr[1] "%(count)s %(name)s zostały pomyślnie zmienione." -msgstr[2] "%(count)s %(name)s zostało pomyślnie zmienionych." -msgstr[3] "%(count)s %(name)s zostało pomyślnie zmienionych." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "Wybrano %(total_count)s" -msgstr[1] "Wybrano %(total_count)s" -msgstr[2] "Wybrano %(total_count)s" -msgstr[3] "Wybrano wszystkie %(total_count)s" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "Wybrano 0 z %(cnt)s" - -#, python-format -msgid "Change history: %s" -msgstr "Historia zmian: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"Usunięcie %(class_name)s %(instance)s może wiązać się z usunięciem " -"następujących chronionych obiektów pokrewnych: %(related_objects)s" - -msgid "Django site admin" -msgstr "Administracja stroną Django" - -msgid "Django administration" -msgstr "Administracja Django" - -msgid "Site administration" -msgstr "Administracja stroną" - -msgid "Log in" -msgstr "Zaloguj się" - -#, python-format -msgid "%(app)s administration" -msgstr "%(app)s: administracja" - -msgid "Page not found" -msgstr "Strona nie została znaleziona" - -msgid "We’re sorry, but the requested page could not be found." -msgstr "Przykro nam, ale żądana strona nie została znaleziona." - -msgid "Home" -msgstr "Strona główna" - -msgid "Server error" -msgstr "Błąd serwera" - -msgid "Server error (500)" -msgstr "Błąd serwera (500)" - -msgid "Server Error (500)" -msgstr "Błąd Serwera (500)" - -msgid "" -"There’s been an error. It’s been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"Niestety wystąpił błąd. Zostało to zgłoszone administratorom strony poprzez " -"email i niebawem powinno zostać naprawione. Dziękujemy za cierpliwość." - -msgid "Run the selected action" -msgstr "Wykonaj wybraną akcję" - -msgid "Go" -msgstr "Wykonaj" - -msgid "Click here to select the objects across all pages" -msgstr "Kliknij by wybrać obiekty na wszystkich stronach" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Wybierz wszystkie %(total_count)s %(module_name)s" - -msgid "Clear selection" -msgstr "Wyczyść wybór" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "Modele w aplikacji %(name)s" - -msgid "Add" -msgstr "Dodaj" - -msgid "View" -msgstr "Obejrzyj" - -msgid "You don’t have permission to view or edit anything." -msgstr "Nie masz uprawnień do oglądania ani edycji niczego." - -msgid "" -"First, enter a username and password. Then, you’ll be able to edit more user " -"options." -msgstr "" -"Najpierw podaj nazwę użytkownika i hasło. Następnie będziesz mógł edytować " -"więcej opcji użytkownika." - -msgid "Enter a username and password." -msgstr "Podaj nazwę użytkownika i hasło." - -msgid "Change password" -msgstr "Zmiana hasła" - -msgid "Please correct the error below." -msgstr "Prosimy poprawić poniższy błąd." - -msgid "Please correct the errors below." -msgstr "Proszę, popraw poniższe błędy." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "Podaj nowe hasło dla użytkownika %(username)s." - -msgid "Welcome," -msgstr "Witaj," - -msgid "View site" -msgstr "Pokaż stronę" - -msgid "Documentation" -msgstr "Dokumentacja" - -msgid "Log out" -msgstr "Wyloguj się" - -#, python-format -msgid "Add %(name)s" -msgstr "Dodaj %(name)s" - -msgid "History" -msgstr "Historia" - -msgid "View on site" -msgstr "Pokaż na stronie" - -msgid "Filter" -msgstr "Filtruj" - -msgid "Clear all filters" -msgstr "Wyczyść wszystkie filtry" - -msgid "Remove from sorting" -msgstr "Usuń z sortowania" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Priorytet sortowania: %(priority_number)s " - -msgid "Toggle sorting" -msgstr "Przełącz sortowanie" - -msgid "Delete" -msgstr "Usuń" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Usunięcie %(object_name)s '%(escaped_object)s' może wiązać się z usunięciem " -"obiektów z nim powiązanych, ale niestety nie posiadasz uprawnień do " -"usunięcia obiektów następujących typów:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"Usunięcie %(object_name)s '%(escaped_object)s' może wymagać skasowania " -"następujących chronionych obiektów, które są z nim powiązane:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Czy chcesz skasować %(object_name)s „%(escaped_object)s”? Następujące " -"obiekty powiązane zostaną usunięte:" - -msgid "Objects" -msgstr "Obiekty" - -msgid "Yes, I’m sure" -msgstr "Tak, na pewno" - -msgid "No, take me back" -msgstr "Nie, zabierz mnie stąd" - -msgid "Delete multiple objects" -msgstr "Usuwanie wielu obiektów" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Usunięcie %(objects_name)s spowoduje skasowanie obiektów, które są z nim " -"powiązane. Niestety nie posiadasz uprawnień do usunięcia następujących typów " -"obiektów:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Usunięcie %(objects_name)s wymaga skasowania następujących chronionych " -"obiektów, które są z nim powiązane:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Czy chcesz skasować zaznaczone %(objects_name)s? Następujące obiekty oraz " -"obiekty od nich zależne zostaną skasowane:" - -msgid "Delete?" -msgstr "Usunąć?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " Według pola %(filter_title)s " - -msgid "Summary" -msgstr "Podsumowanie" - -msgid "Recent actions" -msgstr "Ostatnie działania" - -msgid "My actions" -msgstr "Moje działania" - -msgid "None available" -msgstr "Brak dostępnych" - -msgid "Unknown content" -msgstr "Zawartość nieznana" - -msgid "" -"Something’s wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Instalacja Twojej bazy danych jest niepoprawna. Upewnij się, że odpowiednie " -"tabele zostały utworzone i odpowiedni użytkownik jest uprawniony do ich " -"odczytu." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"Jesteś uwierzytelniony jako %(username)s, ale nie jesteś upoważniony do " -"dostępu do tej strony. Czy chciałbyś zalogować się na inne konto?" - -msgid "Forgotten your password or username?" -msgstr "Nie pamiętasz swojego hasła lub nazwy użytkownika?" - -msgid "Toggle navigation" -msgstr "Przełącz nawigację" - -msgid "Date/time" -msgstr "Data/czas" - -msgid "User" -msgstr "Użytkownik" - -msgid "Action" -msgstr "Akcja" - -msgid "" -"This object doesn’t have a change history. It probably wasn’t added via this " -"admin site." -msgstr "" -"Ten obiekt nie ma historii zmian. Najprawdopodobniej nie został on dodany " -"poprzez panel administracyjny." - -msgid "Show all" -msgstr "Pokaż wszystko" - -msgid "Save" -msgstr "Zapisz" - -msgid "Popup closing…" -msgstr "Zamykanie okna..." - -msgid "Search" -msgstr "Szukaj" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s wynik" -msgstr[1] "%(counter)s wyniki" -msgstr[2] "%(counter)s wyników" -msgstr[3] "%(counter)s wyników" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s łącznie" - -msgid "Save as new" -msgstr "Zapisz jako nowy" - -msgid "Save and add another" -msgstr "Zapisz i dodaj nowy" - -msgid "Save and continue editing" -msgstr "Zapisz i kontynuuj edycję" - -msgid "Save and view" -msgstr "Zapisz i obejrzyj" - -msgid "Close" -msgstr "Zamknij" - -#, python-format -msgid "Change selected %(model)s" -msgstr "Zmień wybrane %(model)s" - -#, python-format -msgid "Add another %(model)s" -msgstr "Dodaj kolejny %(model)s" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Usuń wybrane %(model)s" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Dziękujemy za spędzenie cennego czasu na stronie." - -msgid "Log in again" -msgstr "Zaloguj się ponownie" - -msgid "Password change" -msgstr "Zmiana hasła" - -msgid "Your password was changed." -msgstr "Twoje hasło zostało zmienione." - -msgid "" -"Please enter your old password, for security’s sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Podaj swoje stare hasło, ze względów bezpieczeństwa, a później wpisz " -"dwukrotnie Twoje nowe hasło, abyśmy mogli zweryfikować, że zostało wpisane " -"poprawnie." - -msgid "Change my password" -msgstr "Zmień hasło" - -msgid "Password reset" -msgstr "Zresetuj hasło" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Twoje hasło zostało ustawione. Możesz się teraz zalogować." - -msgid "Password reset confirmation" -msgstr "Potwierdzenie zresetowania hasła" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Podaj dwukrotnie nowe hasło, by można było zweryfikować, czy zostało wpisane " -"poprawnie." - -msgid "New password:" -msgstr "Nowe hasło:" - -msgid "Confirm password:" -msgstr "Potwierdź hasło:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Link pozwalający na reset hasła jest niepoprawny - być może dlatego, że " -"został już raz użyty. Możesz ponownie zażądać zresetowania hasła." - -msgid "" -"We’ve emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Instrukcja pozwalająca ustawić nowe hasło dla podanego adresu e-mail została " -"wysłana. Niebawem powinna się pojawić na twoim koncie pocztowym." - -msgid "" -"If you don’t receive an email, please make sure you’ve entered the address " -"you registered with, and check your spam folder." -msgstr "" -"W przypadku nieotrzymania wiadomości e-mail: upewnij się czy adres " -"wprowadzony jest zgodny z tym podanym podczas rejestracji i sprawdź " -"zawartość folderu SPAM na swoim koncie." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"Otrzymujesz tę wiadomość, gdyż skorzystano z opcji resetu hasła dla Twojego " -"konta na stronie %(site_name)s." - -msgid "Please go to the following page and choose a new password:" -msgstr "" -"Aby wprowadzić nowe hasło, proszę przejść na stronę, której adres widnieje " -"poniżej:" - -msgid "Your username, in case you’ve forgotten:" -msgstr "Twoja nazwa użytkownika, na wypadek, gdybyś zapomniał(a):" - -msgid "Thanks for using our site!" -msgstr "Dziękujemy za korzystanie naszej strony." - -#, python-format -msgid "The %(site_name)s team" -msgstr "Zespół %(site_name)s" - -msgid "" -"Forgotten your password? Enter your email address below, and we’ll email " -"instructions for setting a new one." -msgstr "" -"Nie pamiętasz swojego hasła? Wprowadź w poniższym polu swój adres e-mail, a " -"wyślemy ci instrukcję opisującą sposób ustawienia nowego hasła." - -msgid "Email address:" -msgstr "Adres email:" - -msgid "Reset my password" -msgstr "Zresetuj moje hasło" - -msgid "All dates" -msgstr "Wszystkie daty" - -#, python-format -msgid "Select %s" -msgstr "Wybierz %s" - -#, python-format -msgid "Select %s to change" -msgstr "Wybierz %s do zmiany" - -#, python-format -msgid "Select %s to view" -msgstr "Wybierz %s do obejrzenia" - -msgid "Date:" -msgstr "Data:" - -msgid "Time:" -msgstr "Czas:" - -msgid "Lookup" -msgstr "Szukaj" - -msgid "Currently:" -msgstr "Aktualny:" - -msgid "Change:" -msgstr "Zmień:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/pl/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/pl/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 7a000371..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/pl/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/pl/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/pl/LC_MESSAGES/djangojs.po deleted file mode 100644 index 855d9763..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/pl/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,244 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# angularcircle, 2011 -# Jannis Leidel , 2011 -# Janusz Harkot , 2014-2015 -# 0d5641585fd67fbdb97037c19ab83e4c_18c98b0 , 2011 -# m_aciek , 2016,2018,2020 -# Roman Barczyński, 2012 -# Tomasz Kajtoch , 2016-2017 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-11 20:56+0200\n" -"PO-Revision-Date: 2020-05-16 18:50+0000\n" -"Last-Translator: m_aciek \n" -"Language-Team: Polish (http://www.transifex.com/django/django/language/pl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pl\n" -"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n" -"%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n" -"%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" - -#, javascript-format -msgid "Available %s" -msgstr "Dostępne %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"To lista dostępnych %s. Aby wybrać pozycje, zaznacz je i kliknij strzałkę " -"„Wybierz” pomiędzy listami." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "Wpisz coś tutaj, aby wyfiltrować listę dostępnych %s." - -msgid "Filter" -msgstr "Filtr" - -msgid "Choose all" -msgstr "Wybierz wszystkie" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Kliknij, aby wybrać jednocześnie wszystkie %s." - -msgid "Choose" -msgstr "Wybierz" - -msgid "Remove" -msgstr "Usuń" - -#, javascript-format -msgid "Chosen %s" -msgstr "Wybrane %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"To lista wybranych %s. Aby usunąć, zaznacz pozycje wybrane do usunięcia i " -"kliknij strzałkę „Usuń” pomiędzy listami." - -msgid "Remove all" -msgstr "Usuń wszystkie" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Kliknij, aby usunąć jednocześnie wszystkie wybrane %s." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "Wybrano %(sel)s z %(cnt)s" -msgstr[1] "Wybrano %(sel)s z %(cnt)s" -msgstr[2] "Wybrano %(sel)s z %(cnt)s" -msgstr[3] "Wybrano %(sel)s z %(cnt)s" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Zmiany w niektórych polach nie zostały zachowane. Po wykonaniu akcji, zmiany " -"te zostaną utracone." - -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 "" -"Wybrano akcję, lecz część zmian w polach nie została zachowana. Kliknij OK, " -"aby zapisać. Aby wykonać akcję, należy ją ponownie uruchomić." - -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 "" -"Wybrano akcję, lecz nie dokonano żadnych zmian w polach. Prawdopodobnie " -"szukasz przycisku „Wykonaj”, a nie „Zapisz”." - -msgid "Now" -msgstr "Teraz" - -msgid "Midnight" -msgstr "Północ" - -msgid "6 a.m." -msgstr "6 rano" - -msgid "Noon" -msgstr "Południe" - -msgid "6 p.m." -msgstr "6 po południu" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "" -"Uwaga: Czas lokalny jest przesunięty o %s godzinę do przodu w stosunku do " -"czasu serwera." -msgstr[1] "" -"Uwaga: Czas lokalny jest przesunięty o %s godziny do przodu w stosunku do " -"czasu serwera." -msgstr[2] "" -"Uwaga: Czas lokalny jest przesunięty o %s godzin do przodu w stosunku do " -"czasu serwera." -msgstr[3] "" -"Uwaga: Czas lokalny jest przesunięty o %s godzin do przodu w stosunku do " -"czasu serwera." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "" -"Uwaga: Czas lokalny jest przesunięty o %s godzinę do tyłu w stosunku do " -"czasu serwera." -msgstr[1] "" -"Uwaga: Czas lokalny jest przesunięty o %s godziny do tyłu w stosunku do " -"czasu serwera." -msgstr[2] "" -"Uwaga: Czas lokalny jest przesunięty o %s godzin do tyłu w stosunku do czasu " -"serwera." -msgstr[3] "" -"Uwaga: Czas lokalny jest przesunięty o %s godzin do tyłu w stosunku do czasu " -"serwera." - -msgid "Choose a Time" -msgstr "Wybierz Czas" - -msgid "Choose a time" -msgstr "Wybierz czas" - -msgid "Cancel" -msgstr "Anuluj" - -msgid "Today" -msgstr "Dzisiaj" - -msgid "Choose a Date" -msgstr "Wybierz Datę" - -msgid "Yesterday" -msgstr "Wczoraj" - -msgid "Tomorrow" -msgstr "Jutro" - -msgid "January" -msgstr "Styczeń" - -msgid "February" -msgstr "Luty" - -msgid "March" -msgstr "Marzec" - -msgid "April" -msgstr "Kwiecień" - -msgid "May" -msgstr "Maj" - -msgid "June" -msgstr "Czerwiec" - -msgid "July" -msgstr "Lipiec" - -msgid "August" -msgstr "Sierpień" - -msgid "September" -msgstr "Wrzesień" - -msgid "October" -msgstr "Październik" - -msgid "November" -msgstr "Listopad" - -msgid "December" -msgstr "Grudzień" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "N" - -msgctxt "one letter Monday" -msgid "M" -msgstr "P" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "W" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "Ś" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "C" - -msgctxt "one letter Friday" -msgid "F" -msgstr "P" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "S" - -msgid "Show" -msgstr "Pokaż" - -msgid "Hide" -msgstr "Ukryj" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/pt/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/pt/LC_MESSAGES/django.mo deleted file mode 100644 index d7ec87d2..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/pt/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/pt/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/pt/LC_MESSAGES/django.po deleted file mode 100644 index 2d39cdb3..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/pt/LC_MESSAGES/django.po +++ /dev/null @@ -1,725 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Henrique Azevedo , 2018 -# Jannis Leidel , 2011 -# jorgecarleitao , 2015 -# Nuno Mariz , 2013,2015,2017-2018 -# Paulo Köch , 2011 -# Raúl Pedro Fernandes Santos, 2014 -# Rui Dinis Silva, 2017 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-01-16 20:42+0100\n" -"PO-Revision-Date: 2019-01-18 00:36+0000\n" -"Last-Translator: Ramiro Morales\n" -"Language-Team: Portuguese (http://www.transifex.com/django/django/language/" -"pt/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pt\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "Foram removidos com sucesso %(count)d %(items)s." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "Não é possível remover %(name)s " - -msgid "Are you sure?" -msgstr "Tem a certeza?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Remover %(verbose_name_plural)s selecionados" - -msgid "Administration" -msgstr "Administração" - -msgid "All" -msgstr "Todos" - -msgid "Yes" -msgstr "Sim" - -msgid "No" -msgstr "Não" - -msgid "Unknown" -msgstr "Desconhecido" - -msgid "Any date" -msgstr "Qualquer data" - -msgid "Today" -msgstr "Hoje" - -msgid "Past 7 days" -msgstr "Últimos 7 dias" - -msgid "This month" -msgstr "Este mês" - -msgid "This year" -msgstr "Este ano" - -msgid "No date" -msgstr "Sem data" - -msgid "Has date" -msgstr "Tem data" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Por favor introduza o %(username)s e password corretos para a conta de " -"equipa. Tenha em atenção às maiúsculas e minúsculas." - -msgid "Action:" -msgstr "Ação:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Adicionar outro %(verbose_name)s" - -msgid "Remove" -msgstr "Remover" - -msgid "Addition" -msgstr "Adição" - -msgid "Change" -msgstr "Modificar" - -msgid "Deletion" -msgstr "Eliminação" - -msgid "action time" -msgstr "hora da ação" - -msgid "user" -msgstr "utilizador" - -msgid "content type" -msgstr "tipo de conteúdo" - -msgid "object id" -msgstr "id do objeto" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "repr do objeto" - -msgid "action flag" -msgstr "flag de ação" - -msgid "change message" -msgstr "modificar mensagem" - -msgid "log entry" -msgstr "entrada de log" - -msgid "log entries" -msgstr "entradas de log" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "Adicionado \"%(object)s\"." - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "Foram modificados \"%(object)s\" - %(changes)s" - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "Foram removidos \"%(object)s.\"" - -msgid "LogEntry Object" -msgstr "Objeto LogEntry" - -#, python-brace-format -msgid "Added {name} \"{object}\"." -msgstr "Foi adicionado {name} \"{object}\"." - -msgid "Added." -msgstr "Adicionado." - -msgid "and" -msgstr "e" - -#, python-brace-format -msgid "Changed {fields} for {name} \"{object}\"." -msgstr "Foram modificados os {fields} para {name} \"{object}\"." - -#, python-brace-format -msgid "Changed {fields}." -msgstr "Foi modificado {fields}." - -#, python-brace-format -msgid "Deleted {name} \"{object}\"." -msgstr "Foi removido {name} \"{object}\"." - -msgid "No fields changed." -msgstr "Nenhum campo foi modificado." - -msgid "None" -msgstr "Nenhum" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" -"Mantenha pressionado o \"Control\", ou \"Command\" no Mac, para selecionar " -"mais do que um." - -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "O {name} \"{obj}\" foi adicionado com sucesso." - -msgid "You may edit it again below." -msgstr "Pode editar novamente abaixo." - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may add another {name} " -"below." -msgstr "" -"O {name} \"{obj}\" foi adicionado com sucesso. Pode adicionar um novo {name} " -"abaixo." - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." -msgstr "" -"O {name} \"{obj}\" foi modificado com sucesso. Pode voltar a editar " -"novamente abaixo." - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" -"O {name} \"{obj}\" foi adicionado com sucesso. Pode voltar a editar " -"novamente abaixo." - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may add another {name} " -"below." -msgstr "" -"O {name} \"{obj}\" foi modificado com sucesso. Pode adicionar um novo {name} " -"abaixo." - -#, python-brace-format -msgid "The {name} \"{obj}\" was changed successfully." -msgstr "O {name} \"{obj}\" foi modificado com sucesso." - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Os itens devem ser selecionados de forma a efectuar ações sobre eles. Nenhum " -"item foi modificado." - -msgid "No action selected." -msgstr "Nenhuma ação selecionada." - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "O(A) %(name)s \"%(obj)s\" foi removido(a) com sucesso." - -#, python-format -msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" -msgstr "%(name)s com ID \"%(key)s\" não existe. Talvez foi removido?" - -#, python-format -msgid "Add %s" -msgstr "Adicionar %s" - -#, python-format -msgid "Change %s" -msgstr "Modificar %s" - -#, python-format -msgid "View %s" -msgstr "View %s " - -msgid "Database error" -msgstr "Erro de base de dados" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s foi modificado com sucesso." -msgstr[1] "%(count)s %(name)s foram modificados com sucesso." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s selecionado" -msgstr[1] "Todos %(total_count)s selecionados" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "0 de %(cnt)s selecionados" - -#, python-format -msgid "Change history: %s" -msgstr "Histórico de modificações: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"Remover %(class_name)s %(instance)s exigiria a remoção dos seguintes objetos " -"relacionados protegidos: %(related_objects)s" - -msgid "Django site admin" -msgstr "Site de administração do Django" - -msgid "Django administration" -msgstr "Administração do Django" - -msgid "Site administration" -msgstr "Administração do site" - -msgid "Log in" -msgstr "Entrar" - -#, python-format -msgid "%(app)s administration" -msgstr "Administração de %(app)s" - -msgid "Page not found" -msgstr "Página não encontrada" - -msgid "We're sorry, but the requested page could not be found." -msgstr "Pedimos desculpa, mas a página solicitada não foi encontrada." - -msgid "Home" -msgstr "Início" - -msgid "Server error" -msgstr "Erro do servidor" - -msgid "Server error (500)" -msgstr "Erro do servidor (500)" - -msgid "Server Error (500)" -msgstr "Erro do servidor (500)" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"Ocorreu um erro. Foi enviada uma notificação para os administradores do " -"site, devendo o mesmo ser corrigido em breve. Obrigado pela atenção." - -msgid "Run the selected action" -msgstr "Executar a acção selecionada" - -msgid "Go" -msgstr "Ir" - -msgid "Click here to select the objects across all pages" -msgstr "Clique aqui para selecionar os objetos em todas as páginas" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Selecionar todos %(total_count)s %(module_name)s" - -msgid "Clear selection" -msgstr "Remover seleção" - -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" -"Primeiro introduza o nome do utilizador e palavra-passe. Depois poderá " -"editar mais opções do utilizador." - -msgid "Enter a username and password." -msgstr "Introduza o utilizador e palavra-passe." - -msgid "Change password" -msgstr "Modificar palavra-passe" - -msgid "Please correct the error below." -msgstr "Por favor corrija o erro abaixo." - -msgid "Please correct the errors below." -msgstr "Por favor corrija os erros abaixo." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "" -"Introduza uma nova palavra-passe para o utilizador %(username)s." - -msgid "Welcome," -msgstr "Bem-vindo," - -msgid "View site" -msgstr "Ver site" - -msgid "Documentation" -msgstr "Documentação" - -msgid "Log out" -msgstr "Sair" - -#, python-format -msgid "Add %(name)s" -msgstr "Adicionar %(name)s" - -msgid "History" -msgstr "História" - -msgid "View on site" -msgstr "Ver no site" - -msgid "Filter" -msgstr "Filtro" - -msgid "Remove from sorting" -msgstr "Remover da ordenação" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Prioridade de ordenação: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Altenar ordenação" - -msgid "Delete" -msgstr "Remover" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"A remoção de %(object_name)s '%(escaped_object)s' resultará na remoção dos " -"objetos relacionados, mas a sua conta não tem permissão de remoção dos " -"seguintes tipos de objetos:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"Remover o %(object_name)s ' %(escaped_object)s ' exigiria a remoção dos " -"seguintes objetos protegidos relacionados:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Tem a certeza que deseja remover %(object_name)s \"%(escaped_object)s\"? " -"Todos os items relacionados seguintes irão ser removidos:" - -msgid "Objects" -msgstr "Objectos" - -msgid "Yes, I'm sure" -msgstr "Sim, tenho a certeza" - -msgid "No, take me back" -msgstr "Não, retrocede" - -msgid "Delete multiple objects" -msgstr "Remover múltiplos objetos." - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Remover o %(objects_name)s selecionado poderia resultar na remoção de " -"objetos relacionados, mas a sua conta não tem permissão para remover os " -"seguintes tipos de objetos:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Remover o %(objects_name)s selecionado exigiria remover os seguintes objetos " -"protegidos relacionados:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Tem certeza de que deseja remover %(objects_name)s selecionado? Todos os " -"objetos seguintes e seus itens relacionados serão removidos:" - -msgid "View" -msgstr "View" - -msgid "Delete?" -msgstr "Remover?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " Por %(filter_title)s " - -msgid "Summary" -msgstr "Sumário" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "Modelos na aplicação %(name)s" - -msgid "Add" -msgstr "Adicionar" - -msgid "You don't have permission to view or edit anything." -msgstr "Não tem permissão para ver ou editar nada." - -msgid "Recent actions" -msgstr "Ações recentes" - -msgid "My actions" -msgstr "As minhas ações" - -msgid "None available" -msgstr "Nenhum disponível" - -msgid "Unknown content" -msgstr "Conteúdo desconhecido" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Passa-se algo de errado com a instalação da sua base de dados. Verifique se " -"as tabelas da base de dados foram criadas apropriadamente e verifique se a " -"base de dados pode ser lida pelo utilizador definido." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"Está autenticado como %(username)s, mas não está autorizado a aceder a esta " -"página. Deseja autenticar-se com uma conta diferente?" - -msgid "Forgotten your password or username?" -msgstr "Esqueceu-se da sua palavra-passe ou utilizador?" - -msgid "Date/time" -msgstr "Data/hora" - -msgid "User" -msgstr "Utilizador" - -msgid "Action" -msgstr "Ação" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" -"Este objeto não tem histórico de modificações. Provavelmente não foi " -"modificado via site de administração." - -msgid "Show all" -msgstr "Mostrar todos" - -msgid "Save" -msgstr "Gravar" - -msgid "Popup closing…" -msgstr "" - -msgid "Search" -msgstr "Pesquisar" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s resultado" -msgstr[1] "%(counter)s resultados" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s no total" - -msgid "Save as new" -msgstr "Gravar como novo" - -msgid "Save and add another" -msgstr "Gravar e adicionar outro" - -msgid "Save and continue editing" -msgstr "Gravar e continuar a editar" - -msgid "Save and view" -msgstr "Gravar e ver" - -msgid "Close" -msgstr "Fechar" - -#, python-format -msgid "Change selected %(model)s" -msgstr "Alterar %(model)s selecionado." - -#, python-format -msgid "Add another %(model)s" -msgstr "Adicionar outro %(model)s" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Remover %(model)s seleccionado" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Obrigado pela sua visita." - -msgid "Log in again" -msgstr "Entrar novamente" - -msgid "Password change" -msgstr "Modificação da palavra-passe" - -msgid "Your password was changed." -msgstr "A sua palavra-passe foi modificada." - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Por razões de segurança, por favor introduza a sua palavra-passe antiga e " -"depois introduza a nova duas vezes para que possamos verificar se introduziu " -"corretamente." - -msgid "Change my password" -msgstr "Modificar a minha palavra-passe" - -msgid "Password reset" -msgstr "Palavra-passe de reinicialização" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "A sua palavra-passe foi atribuída. Pode entrar agora." - -msgid "Password reset confirmation" -msgstr "Confirmação da reinicialização da palavra-passe" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Por favor, introduza a sua nova palavra-passe duas vezes para verificarmos " -"se está correcta." - -msgid "New password:" -msgstr "Nova palavra-passe:" - -msgid "Confirm password:" -msgstr "Confirmação da palavra-passe:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"O endereço de reinicialização da palavra-passe é inválido, possivelmente " -"porque já foi usado. Por favor requisite uma nova reinicialização da palavra-" -"passe." - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Foram enviadas para o email indicado as instruções de configuração da " -"palavra-passe, se existir uma conta com o email que indicou. Deverá recebê-" -"las brevemente." - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Se não receber um email, por favor assegure-se de que introduziu o endereço " -"com o qual se registou e verifique a sua pasta de correio electrónico não " -"solicitado." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"Está a receber este email porque pediu para redefinir a palavra-chave para o " -"seu utilizador no site %(site_name)s." - -msgid "Please go to the following page and choose a new password:" -msgstr "Por favor siga a seguinte página e escolha a sua nova palavra-passe:" - -msgid "Your username, in case you've forgotten:" -msgstr "O seu nome de utilizador, no caso de se ter esquecido:" - -msgid "Thanks for using our site!" -msgstr "Obrigado pela sua visita ao nosso site!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "A equipa do %(site_name)s" - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" -"Esqueceu-se da sua palavra-chave? Introduza o seu endereço de email e enviar-" -"lhe-emos instruções para definir uma nova." - -msgid "Email address:" -msgstr "Endereço de email:" - -msgid "Reset my password" -msgstr "Reinicializar a minha palavra-passe" - -msgid "All dates" -msgstr "Todas as datas" - -#, python-format -msgid "Select %s" -msgstr "Selecionar %s" - -#, python-format -msgid "Select %s to change" -msgstr "Selecione %s para modificar" - -#, python-format -msgid "Select %s to view" -msgstr "Selecione %s para ver" - -msgid "Date:" -msgstr "Data:" - -msgid "Time:" -msgstr "Hora:" - -msgid "Lookup" -msgstr "Procurar" - -msgid "Currently:" -msgstr "Atualmente:" - -msgid "Change:" -msgstr "Modificar:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/pt/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/pt/LC_MESSAGES/djangojs.mo deleted file mode 100644 index bc7ae616..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/pt/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/pt/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/pt/LC_MESSAGES/djangojs.po deleted file mode 100644 index 17379945..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/pt/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,222 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Jannis Leidel , 2011 -# Nuno Mariz , 2011-2012,2015,2017 -# Paulo Köch , 2011 -# Raúl Pedro Fernandes Santos, 2014 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" -"PO-Revision-Date: 2017-11-30 23:49+0000\n" -"Last-Translator: Nuno Mariz \n" -"Language-Team: Portuguese (http://www.transifex.com/django/django/language/" -"pt/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pt\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "Disponível %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Esta é a lista de %s disponíveis. Poderá escolher alguns, selecionando-os na " -"caixa abaixo e clicando na seta \"Escolher\" entre as duas caixas." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "Digite nesta caixa para filtrar a lista de %s disponíveis." - -msgid "Filter" -msgstr "Filtrar" - -msgid "Choose all" -msgstr "Escolher todos" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Clique para escolher todos os %s de uma vez." - -msgid "Choose" -msgstr "Escolher" - -msgid "Remove" -msgstr "Remover" - -#, javascript-format -msgid "Chosen %s" -msgstr "Escolhido %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Esta é a lista de %s escolhidos. Poderá remover alguns, selecionando-os na " -"caixa abaixo e clicando na seta \"Remover\" entre as duas caixas." - -msgid "Remove all" -msgstr "Remover todos" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Clique para remover todos os %s escolhidos de uma vez." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(sel)s de %(cnt)s selecionado" -msgstr[1] "%(sel)s de %(cnt)s selecionados" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Tem mudanças por guardar nos campos individuais. Se usar uma ação, as suas " -"mudanças por guardar serão perdidas." - -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 "" -"Selecionou uma ação mas ainda não guardou as mudanças dos campos " -"individuais. Carregue em OK para gravar. Precisará de correr de novo a ação." - -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 "" -"Selecionou uma ação mas ainda não guardou as mudanças dos campos " -"individuais. Provavelmente quererá o botão Ir ao invés do botão Guardar." - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "" -"Nota: O seu fuso horário está %s hora adiantado em relação ao servidor." -msgstr[1] "" -"Nota: O seu fuso horário está %s horas adiantado em relação ao servidor." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "" -"Nota: O use fuso horário está %s hora atrasado em relação ao servidor." -msgstr[1] "" -"Nota: O use fuso horário está %s horas atrasado em relação ao servidor." - -msgid "Now" -msgstr "Agora" - -msgid "Choose a Time" -msgstr "Escolha a Hora" - -msgid "Choose a time" -msgstr "Escolha a hora" - -msgid "Midnight" -msgstr "Meia-noite" - -msgid "6 a.m." -msgstr "6 a.m." - -msgid "Noon" -msgstr "Meio-dia" - -msgid "6 p.m." -msgstr "6 p.m." - -msgid "Cancel" -msgstr "Cancelar" - -msgid "Today" -msgstr "Hoje" - -msgid "Choose a Date" -msgstr "Escolha a Data" - -msgid "Yesterday" -msgstr "Ontem" - -msgid "Tomorrow" -msgstr "Amanhã" - -msgid "January" -msgstr "Janeiro" - -msgid "February" -msgstr "Fevereiro" - -msgid "March" -msgstr "Março" - -msgid "April" -msgstr "Abril" - -msgid "May" -msgstr "Maio" - -msgid "June" -msgstr "Junho" - -msgid "July" -msgstr "Julho" - -msgid "August" -msgstr "Agosto" - -msgid "September" -msgstr "Setembro" - -msgid "October" -msgstr "Outubro" - -msgid "November" -msgstr "Novembro" - -msgid "December" -msgstr "Dezembro" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "D" - -msgctxt "one letter Monday" -msgid "M" -msgstr "S" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "T" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "Q" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "Q" - -msgctxt "one letter Friday" -msgid "F" -msgstr "S" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "S" - -msgid "Show" -msgstr "Mostrar" - -msgid "Hide" -msgstr "Ocultar" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/pt_BR/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/pt_BR/LC_MESSAGES/django.mo deleted file mode 100644 index dfc95418..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/pt_BR/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/pt_BR/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/pt_BR/LC_MESSAGES/django.po deleted file mode 100644 index 0adf2315..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/pt_BR/LC_MESSAGES/django.po +++ /dev/null @@ -1,747 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Allisson Azevedo , 2014 -# Bruce de Sá , 2019 -# bruno.devpod , 2014 -# Carlos C. Leite , 2019 -# Carlos C. Leite , 2019 -# Filipe Cifali Stangler , 2016 -# dudanogueira , 2012 -# Elyézer Rezende , 2013 -# Fábio C. Barrionuevo da Luz , 2015 -# Fabio Cerqueira , 2019 -# Xico Petry , 2016 -# Gladson , 2013 -# Guilherme Ferreira , 2017 -# semente, 2012-2013 -# Jannis Leidel , 2011 -# João Paulo Andrade , 2018 -# Lucas Infante , 2015 -# Luiz Boaretto , 2017 -# Marcelo Moro Brondani , 2018 -# Marco Rougeth , 2015 -# Otávio Reis , 2018 -# Raysa Dutra, 2016 -# R.J Lelis , 2019 -# Samuel Nogueira Bacelar , 2020 -# Sergio Garcia , 2015 -# Vinícius Damaceno , 2019 -# Vinícius Muniz de Melo , 2019 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-14 19:53+0200\n" -"PO-Revision-Date: 2020-09-22 14:07+0000\n" -"Last-Translator: Samuel Nogueira Bacelar \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/django/django/" -"language/pt_BR/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "Removido %(count)d %(items)s com sucesso." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "Não é possível excluir %(name)s " - -msgid "Are you sure?" -msgstr "Tem certeza?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Remover %(verbose_name_plural)s selecionados" - -msgid "Administration" -msgstr "Administração" - -msgid "All" -msgstr "Todos" - -msgid "Yes" -msgstr "Sim" - -msgid "No" -msgstr "Não" - -msgid "Unknown" -msgstr "Desconhecido" - -msgid "Any date" -msgstr "Qualquer data" - -msgid "Today" -msgstr "Hoje" - -msgid "Past 7 days" -msgstr "Últimos 7 dias" - -msgid "This month" -msgstr "Este mês" - -msgid "This year" -msgstr "Este ano" - -msgid "No date" -msgstr "Sem data" - -msgid "Has date" -msgstr "Tem data" - -msgid "Empty" -msgstr "Vazio" - -msgid "Not empty" -msgstr "Não está vazio" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Por favor, insira um %(username)s e senha corretos para uma conta de equipe. " -"Note que ambos campos são sensíveis a maiúsculas e minúsculas." - -msgid "Action:" -msgstr "Ação:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Adicionar outro(a) %(verbose_name)s" - -msgid "Remove" -msgstr "Remover" - -msgid "Addition" -msgstr "Adição" - -msgid "Change" -msgstr "Modificar" - -msgid "Deletion" -msgstr "Eliminação" - -msgid "action time" -msgstr "hora da ação" - -msgid "user" -msgstr "usuário" - -msgid "content type" -msgstr "tipo de conteúdo" - -msgid "object id" -msgstr "id do objeto" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "repr do objeto" - -msgid "action flag" -msgstr "flag de ação" - -msgid "change message" -msgstr "modificar mensagem" - -msgid "log entry" -msgstr "entrada de log" - -msgid "log entries" -msgstr "entradas de log" - -#, python-format -msgid "Added “%(object)s”." -msgstr "Adicionado “%(object)s”." - -#, python-format -msgid "Changed “%(object)s” — %(changes)s" -msgstr "Alterado “%(object)s” — %(changes)s" - -#, python-format -msgid "Deleted “%(object)s.”" -msgstr "Deletado “%(object)s.”" - -msgid "LogEntry Object" -msgstr "Objeto LogEntry" - -#, python-brace-format -msgid "Added {name} “{object}”." -msgstr "Adicionado {name} “{object}”." - -msgid "Added." -msgstr "Adicionado." - -msgid "and" -msgstr "e" - -#, python-brace-format -msgid "Changed {fields} for {name} “{object}”." -msgstr "Alterado {fields} para {name} “{object}”." - -#, python-brace-format -msgid "Changed {fields}." -msgstr "Alterado {fields}." - -#, python-brace-format -msgid "Deleted {name} “{object}”." -msgstr "Deletado {name} “{object}”." - -msgid "No fields changed." -msgstr "Nenhum campo modificado." - -msgid "None" -msgstr "Nenhum" - -msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." -msgstr "Pressione “Control”, ou “Command” no Mac, para selecionar mais de um." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully." -msgstr "O {name} “{obj}” foi adicionado com sucesso." - -msgid "You may edit it again below." -msgstr "Você pode editá-lo novamente abaixo." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was added successfully. You may add another {name} below." -msgstr "" -"O {name} “{obj}” foi adicionado com sucesso. Você pode adicionar outro " -"{name} abaixo." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may edit it again below." -msgstr "" -"O {name} “{obj}” foi alterado com sucesso. Você pode alterá-lo novamente " -"abaixo." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully. You may edit it again below." -msgstr "" -"O {name} “{obj}” foi adicionado com sucesso. Você pode editá-lo novamente " -"abaixo." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may add another {name} " -"below." -msgstr "" -"O {name} “{obj}” foi alterado com sucesso. Você talvez adicione outro " -"{name} abaixo." - -#, python-brace-format -msgid "The {name} “{obj}” was changed successfully." -msgstr "O {name} “{obj}” foi alterado com sucesso." - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Os itens devem ser selecionados em ordem a fim de executar ações sobre eles. " -"Nenhum item foi modificado." - -msgid "No action selected." -msgstr "Nenhuma ação selecionada." - -#, python-format -msgid "The %(name)s “%(obj)s” was deleted successfully." -msgstr "O %(name)s “%(obj)s” foi deletado com sucesso." - -#, python-format -msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" -msgstr "O %(name)s com ID “%(key)s” não existe. Talvez tenha sido deletado." - -#, python-format -msgid "Add %s" -msgstr "Adicionar %s" - -#, python-format -msgid "Change %s" -msgstr "Modificar %s" - -#, python-format -msgid "View %s" -msgstr "Visualizar %s" - -msgid "Database error" -msgstr "Erro no banco de dados" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s modificado com sucesso." -msgstr[1] "%(count)s %(name)s modificados com sucesso." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s selecionado" -msgstr[1] "Todos %(total_count)s selecionados" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "0 de %(cnt)s selecionados" - -#, python-format -msgid "Change history: %s" -msgstr "Histórico de modificações: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"Excluir o %(class_name)s %(instance)s exigiria excluir os seguintes objetos " -"protegidos relacionados: %(related_objects)s" - -msgid "Django site admin" -msgstr "Site de administração do Django" - -msgid "Django administration" -msgstr "Administração do Django" - -msgid "Site administration" -msgstr "Administração do Site" - -msgid "Log in" -msgstr "Acessar" - -#, python-format -msgid "%(app)s administration" -msgstr "%(app)s administração" - -msgid "Page not found" -msgstr "Página não encontrada" - -msgid "We’re sorry, but the requested page could not be found." -msgstr "Lamentamos, mas a página requisitada não pode ser encontrada." - -msgid "Home" -msgstr "Início" - -msgid "Server error" -msgstr "Erro no servidor" - -msgid "Server error (500)" -msgstr "Erro no servidor (500)" - -msgid "Server Error (500)" -msgstr "Erro no Servidor (500)" - -msgid "" -"There’s been an error. It’s been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"Ocorreu um erro. Este foi reportado para os administradores do site via " -"email e deve ser corrigido logo. Obirgado por sua paciência." - -msgid "Run the selected action" -msgstr "Executar ação selecionada" - -msgid "Go" -msgstr "Ir" - -msgid "Click here to select the objects across all pages" -msgstr "Clique aqui para selecionar os objetos de todas as páginas" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Selecionar todos %(total_count)s %(module_name)s" - -msgid "Clear selection" -msgstr "Limpar seleção" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "Modelos na aplicação %(name)s" - -msgid "Add" -msgstr "Adicionar" - -msgid "View" -msgstr "Visualizar" - -msgid "You don’t have permission to view or edit anything." -msgstr "Você não tem permissão para ver ou editar nada." - -msgid "" -"First, enter a username and password. Then, you’ll be able to edit more user " -"options." -msgstr "" -"Primeiro, informe seu nome de usuário e senha. Então, você poderá editar " -"outras opções do usuário." - -msgid "Enter a username and password." -msgstr "Digite um nome de usuário e senha." - -msgid "Change password" -msgstr "Alterar senha" - -msgid "Please correct the error below." -msgstr "Por favor corrija o erro abaixo " - -msgid "Please correct the errors below." -msgstr "Por favor, corrija os erros abaixo." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "Informe uma nova senha para o usuário %(username)s." - -msgid "Welcome," -msgstr "Bem-vindo(a)," - -msgid "View site" -msgstr "Ver o site" - -msgid "Documentation" -msgstr "Documentação" - -msgid "Log out" -msgstr "Encerrar sessão" - -#, python-format -msgid "Add %(name)s" -msgstr "Adicionar %(name)s" - -msgid "History" -msgstr "Histórico" - -msgid "View on site" -msgstr "Ver no site" - -msgid "Filter" -msgstr "Filtro" - -msgid "Clear all filters" -msgstr "Limpar todos os filtros" - -msgid "Remove from sorting" -msgstr "Remover da ordenação" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Prioridade da ordenação: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Alternar ordenção" - -msgid "Delete" -msgstr "Apagar" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"A remoção de '%(object_name)s' %(escaped_object)s pode resultar na remoção " -"de objetos relacionados, mas sua conta não tem a permissão para remoção dos " -"seguintes tipos de objetos:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"Excluir o %(object_name)s ' %(escaped_object)s ' exigiria excluir os " -"seguintes objetos protegidos relacionados:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Você tem certeza que quer remover %(object_name)s \"%(escaped_object)s\"? " -"Todos os seguintes itens relacionados serão removidos:" - -msgid "Objects" -msgstr "Objetos" - -msgid "Yes, I’m sure" -msgstr "Sim, eu tenho certeza" - -msgid "No, take me back" -msgstr "Não, me leve de volta" - -msgid "Delete multiple objects" -msgstr "Remover múltiplos objetos" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Excluir o %(objects_name)s selecionado pode resultar na remoção de objetos " -"relacionados, mas sua conta não tem permissão para excluir os seguintes " -"tipos de objetos:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Excluir o %(objects_name)s selecionado exigiria excluir os seguintes objetos " -"relacionados protegidos:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Tem certeza de que deseja apagar o %(objects_name)s selecionado? Todos os " -"seguintes objetos e seus itens relacionados serão removidos:" - -msgid "Delete?" -msgstr "Apagar?" - -#, python-format -msgid " By %(filter_title)s " -msgstr "Por %(filter_title)s " - -msgid "Summary" -msgstr "Resumo" - -msgid "Recent actions" -msgstr "Ações recentes" - -msgid "My actions" -msgstr "Minhas Ações" - -msgid "None available" -msgstr "Nenhum disponível" - -msgid "Unknown content" -msgstr "Conteúdo desconhecido" - -msgid "" -"Something’s wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Alguma coisa está errada com sua estalação do banco de dados. Certifique-se " -"que as tabelas apropriadas foram criadas, e certifique-se que o banco de " -"dados pode ser acessado pelo usuário apropriado." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"Você está autenticado como %(username)s, mas não está autorizado a acessar " -"esta página. Você gostaria de realizar login com uma conta diferente?" - -msgid "Forgotten your password or username?" -msgstr "Esqueceu sua senha ou nome de usuário?" - -msgid "Toggle navigation" -msgstr "Alternar navegação" - -msgid "Date/time" -msgstr "Data/hora" - -msgid "User" -msgstr "Usuário" - -msgid "Action" -msgstr "Ação" - -msgid "" -"This object doesn’t have a change history. It probably wasn’t added via this " -"admin site." -msgstr "" -"Este objeto não tem histórico de alterações. Provavelmente não adicionado " -"por este site de administração." - -msgid "Show all" -msgstr "Mostrar tudo" - -msgid "Save" -msgstr "Salvar" - -msgid "Popup closing…" -msgstr "Popup fechando…" - -msgid "Search" -msgstr "Pesquisar" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s resultado" -msgstr[1] "%(counter)s resultados" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s total" - -msgid "Save as new" -msgstr "Salvar como novo" - -msgid "Save and add another" -msgstr "Salvar e adicionar outro(a)" - -msgid "Save and continue editing" -msgstr "Salvar e continuar editando" - -msgid "Save and view" -msgstr "Salvar e visualizar" - -msgid "Close" -msgstr "Fechar" - -#, python-format -msgid "Change selected %(model)s" -msgstr "Alterar %(model)s selecionado" - -#, python-format -msgid "Add another %(model)s" -msgstr "Adicionar outro %(model)s" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Excluir %(model)s selecionado" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Obrigado por visitar nosso Web site hoje." - -msgid "Log in again" -msgstr "Acessar novamente" - -msgid "Password change" -msgstr "Alterar senha" - -msgid "Your password was changed." -msgstr "Sua senha foi alterada." - -msgid "" -"Please enter your old password, for security’s sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Informe sua senha antiga por favor, por motivos de segurança, e então " -"informe sua nova senha duas vezes para que possamos verificar se você " -"digitou tudo corretamente." - -msgid "Change my password" -msgstr "Alterar minha senha" - -msgid "Password reset" -msgstr "Recuperar senha" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Sua senha foi definida. Você pode prosseguir e se autenticar agora." - -msgid "Password reset confirmation" -msgstr "Confirmação de recuperação de senha" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Por favor, informe sua nova senha duas vezes para que possamos verificar se " -"você a digitou corretamente." - -msgid "New password:" -msgstr "Nova senha:" - -msgid "Confirm password:" -msgstr "Confirme a senha:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"O link para a recuperação de senha era inválido, possivelmente porque já foi " -"utilizado. Por favor, solicite uma nova recuperação de senha." - -msgid "" -"We’ve emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Nos te enviamos um email com instruções para configurar sua senha, se uma " -"conta existe com o email fornecido. Você receberá a mensagem em breve." - -msgid "" -"If you don’t receive an email, please make sure you’ve entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Se você não recebeu um email, por favor certifique-se que você forneceu o " -"endereço que você está cadastrado, e verifique sua pasta de spam." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"Você está recebendo este email porque solicitou a redefinição da senha da " -"sua conta em %(site_name)s." - -msgid "Please go to the following page and choose a new password:" -msgstr "Por favor, acesse a seguinte página e escolha uma nova senha:" - -msgid "Your username, in case you’ve forgotten:" -msgstr "Seu nome de usuário, caso tenha esquecido:" - -msgid "Thanks for using our site!" -msgstr "Obrigado por usar nosso site!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "Equipe %(site_name)s" - -msgid "" -"Forgotten your password? Enter your email address below, and we’ll email " -"instructions for setting a new one." -msgstr "" -"Esqueceu sua senha? Forneça seu endereço de email abaixo, e nos te " -"enviaremos um email com instruções para configurar uma nova." - -msgid "Email address:" -msgstr "Endereço de email:" - -msgid "Reset my password" -msgstr "Reinicializar minha senha" - -msgid "All dates" -msgstr "Todas as datas" - -#, python-format -msgid "Select %s" -msgstr "Selecione %s" - -#, python-format -msgid "Select %s to change" -msgstr "Selecione %s para modificar" - -#, python-format -msgid "Select %s to view" -msgstr "Selecione %s para visualizar" - -msgid "Date:" -msgstr "Data:" - -msgid "Time:" -msgstr "Hora:" - -msgid "Lookup" -msgstr "Procurar" - -msgid "Currently:" -msgstr "Atualmente:" - -msgid "Change:" -msgstr "Alterar:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/pt_BR/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/pt_BR/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 112456c0..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/pt_BR/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/pt_BR/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/pt_BR/LC_MESSAGES/djangojs.po deleted file mode 100644 index 4703a371..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/pt_BR/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,223 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Allisson Azevedo , 2014 -# andrewsmedina , 2016 -# Eduardo Cereto Carvalho, 2011 -# semente, 2012 -# Jannis Leidel , 2011 -# Lucas Infante , 2015 -# Renata Barbosa Almeida , 2016 -# Samuel Nogueira Bacelar , 2020 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-11 20:56+0200\n" -"PO-Revision-Date: 2020-09-22 14:12+0000\n" -"Last-Translator: Samuel Nogueira Bacelar \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/django/django/" -"language/pt_BR/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "%s disponíveis" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Esta é a lista de %s disponíveis. Você pode escolhê-los(as) selecionando-" -"os(as) abaixo e clicando na seta \"Escolher\" entre as duas caixas." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "Digite nessa caixa para filtrar a lista de %s disponíveis." - -msgid "Filter" -msgstr "Filtro" - -msgid "Choose all" -msgstr "Escolher todos" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Clique para escolher todos os %s de uma só vez" - -msgid "Choose" -msgstr "Escolher" - -msgid "Remove" -msgstr "Remover" - -#, javascript-format -msgid "Chosen %s" -msgstr "%s escolhido(s)" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Esta é a lista de %s disponíveis. Você pode removê-los(as) selecionando-" -"os(as) abaixo e clicando na seta \"Remover\" entre as duas caixas." - -msgid "Remove all" -msgstr "Remover todos" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Clique para remover de uma só vez todos os %s escolhidos." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(sel)s de %(cnt)s selecionado" -msgstr[1] "%(sel)s de %(cnt)s selecionados" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Você tem alterações não salvas em campos editáveis individuais. Se você " -"executar uma ação suas alterações não salvas serão perdidas." - -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 "" -"Você selecionou uma ação, mas você ainda não salvou suas alterações nos " -"campos individuais. Por favor clique OK para salvar. você precisará de rodar " -"novamente a ação." - -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 "" -"Você selecionou uma ação sem fazer mudanças nos campos individuais. Você " -"provavelmente está procurando pelo botão Go ao invés do botão Save." - -msgid "Now" -msgstr "Agora" - -msgid "Midnight" -msgstr "Meia-noite" - -msgid "6 a.m." -msgstr "6 da manhã" - -msgid "Noon" -msgstr "Meio-dia" - -msgid "6 p.m." -msgstr "6 da tarde" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Nota: Você está %s hora à frente do horário do servidor." -msgstr[1] "Nota: Você está %s horas à frente do horário do servidor." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Nota: Você está %s hora atrás do tempo do servidor." -msgstr[1] "Nota: Você está %s horas atrás do horário do servidor." - -msgid "Choose a Time" -msgstr "Escolha um horário" - -msgid "Choose a time" -msgstr "Escolha uma hora" - -msgid "Cancel" -msgstr "Cancelar" - -msgid "Today" -msgstr "Hoje" - -msgid "Choose a Date" -msgstr "Escolha uma data" - -msgid "Yesterday" -msgstr "Ontem" - -msgid "Tomorrow" -msgstr "Amanhã" - -msgid "January" -msgstr "Janeiro" - -msgid "February" -msgstr "Fevereiro" - -msgid "March" -msgstr "Março" - -msgid "April" -msgstr "Abril" - -msgid "May" -msgstr "Maio" - -msgid "June" -msgstr "Junho" - -msgid "July" -msgstr "Julho" - -msgid "August" -msgstr "Agosto" - -msgid "September" -msgstr "Setembro" - -msgid "October" -msgstr "Outubro" - -msgid "November" -msgstr "Novembro" - -msgid "December" -msgstr "Dezembro" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "D" - -msgctxt "one letter Monday" -msgid "M" -msgstr "S" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "T" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "Q" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "Q" - -msgctxt "one letter Friday" -msgid "F" -msgstr "S" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "S" - -msgid "Show" -msgstr "Mostrar" - -msgid "Hide" -msgstr "Esconder" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ro/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ro/LC_MESSAGES/django.mo deleted file mode 100644 index 78e6b31f..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ro/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ro/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ro/LC_MESSAGES/django.po deleted file mode 100644 index db64193b..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ro/LC_MESSAGES/django.po +++ /dev/null @@ -1,717 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Bogdan Mateescu, 2018-2019 -# Daniel Ursache-Dogariu, 2011 -# Denis Darii , 2011,2014 -# Eugenol Man , 2020 -# Ionel Cristian Mărieș , 2012 -# Jannis Leidel , 2011 -# Mihai Fotea , 2020 -# Razvan Stefanescu , 2015-2017 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-14 19:53+0200\n" -"PO-Revision-Date: 2020-07-15 11:07+0000\n" -"Last-Translator: Eugenol Man \n" -"Language-Team: Romanian (http://www.transifex.com/django/django/language/" -"ro/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ro\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" -"2:1));\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "%(count)d %(items)s șterse cu succes." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "Nu se poate șterge %(name)s" - -msgid "Are you sure?" -msgstr "Ești sigur?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Elimină %(verbose_name_plural)s selectate" - -msgid "Administration" -msgstr "Administrare" - -msgid "All" -msgstr "Toate" - -msgid "Yes" -msgstr "Da" - -msgid "No" -msgstr "Nu" - -msgid "Unknown" -msgstr "Necunoscut" - -msgid "Any date" -msgstr "Orice dată" - -msgid "Today" -msgstr "Astăzi" - -msgid "Past 7 days" -msgstr "Ultimele 7 zile" - -msgid "This month" -msgstr "Luna aceasta" - -msgid "This year" -msgstr "Anul acesta" - -msgid "No date" -msgstr "Fără dată" - -msgid "Has date" -msgstr "Are o dată" - -msgid "Empty" -msgstr "Gol" - -msgid "Not empty" -msgstr "Nu este gol" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Introduceți vă rog un %(username)s și parola corectă pentru un cont de " -"membru. De remarcat că ambele pot conține majuscule." - -msgid "Action:" -msgstr "Acțiune:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Adăugati încă un/o %(verbose_name)s" - -msgid "Remove" -msgstr "Elimină" - -msgid "Addition" -msgstr "Adăugare" - -msgid "Change" -msgstr "Schimbă" - -msgid "Deletion" -msgstr "Ștergere" - -msgid "action time" -msgstr "timp acțiune" - -msgid "user" -msgstr "utilizator" - -msgid "content type" -msgstr "tip de conținut" - -msgid "object id" -msgstr "id obiect" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "repr obiect" - -msgid "action flag" -msgstr "marcaj acțiune" - -msgid "change message" -msgstr "schimbă mesaj" - -msgid "log entry" -msgstr "intrare jurnal" - -msgid "log entries" -msgstr "intrări jurnal" - -#, python-format -msgid "Added “%(object)s”." -msgstr "Adăugat %(object)s" - -#, python-format -msgid "Changed “%(object)s” — %(changes)s" -msgstr "Schimbat “%(object)s” — %(changes)s" - -#, python-format -msgid "Deleted “%(object)s.”" -msgstr "Șters “%(object)s.”" - -msgid "LogEntry Object" -msgstr "Obiect LogEntry" - -#, python-brace-format -msgid "Added {name} “{object}”." -msgstr "Adăugat {name} “{object}”." - -msgid "Added." -msgstr "Adăugat." - -msgid "and" -msgstr "și" - -#, python-brace-format -msgid "Changed {fields} for {name} “{object}”." -msgstr "{fields} schimbat pentru {name} “{object}”." - -#, python-brace-format -msgid "Changed {fields}." -msgstr "S-au schimbat {fields}." - -#, python-brace-format -msgid "Deleted {name} “{object}”." -msgstr "Șters {name} “{object}”." - -msgid "No fields changed." -msgstr "Niciun câmp modificat." - -msgid "None" -msgstr "Nimic" - -msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." -msgstr "" - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully." -msgstr "" - -msgid "You may edit it again below." -msgstr "O poți edita din nou mai jos." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was added successfully. You may add another {name} below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} “{obj}” was changed successfully." -msgstr "" - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Itemii trebuie selectați pentru a putea îndeplini sarcini asupra lor. Niciun " -"item nu a fost modificat." - -msgid "No action selected." -msgstr "Nicio acțiune selectată." - -#, python-format -msgid "The %(name)s “%(obj)s” was deleted successfully." -msgstr "" - -#, python-format -msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" -msgstr "" - -#, python-format -msgid "Add %s" -msgstr "Adaugă %s" - -#, python-format -msgid "Change %s" -msgstr "Schimbă %s" - -#, python-format -msgid "View %s" -msgstr "Vizualizează %s" - -msgid "Database error" -msgstr "Eroare de bază de date" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s s-a modificat cu succes." -msgstr[1] "%(count)s %(name)s s-au modificat cu succes." -msgstr[2] "%(count)s de %(name)s s-au modificat cu succes." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s selectat(ă)" -msgstr[1] "Toate %(total_count)s selectate" -msgstr[2] "Toate %(total_count)s selectate" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "0 din %(cnt)s selectat" - -#, python-format -msgid "Change history: %s" -msgstr "Istoric schimbări: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"Ștergerea %(class_name)s %(instance)s ar necesita ștergerea următoarelor " -"obiecte asociate protejate: %(related_objects)s" - -msgid "Django site admin" -msgstr "Administrare site Django" - -msgid "Django administration" -msgstr "Administrare Django" - -msgid "Site administration" -msgstr "Administrare site" - -msgid "Log in" -msgstr "Autentificare" - -#, python-format -msgid "%(app)s administration" -msgstr "administrare %(app)s" - -msgid "Page not found" -msgstr "Pagină inexistentă" - -msgid "We’re sorry, but the requested page could not be found." -msgstr "Din păcate nu am găsit pagina solicitată" - -msgid "Home" -msgstr "Acasă" - -msgid "Server error" -msgstr "Eroare de server" - -msgid "Server error (500)" -msgstr "Eroare de server (500)" - -msgid "Server Error (500)" -msgstr "Eroare server (500)" - -msgid "" -"There’s been an error. It’s been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" - -msgid "Run the selected action" -msgstr "Pornește acțiunea selectată" - -msgid "Go" -msgstr "Start" - -msgid "Click here to select the objects across all pages" -msgstr "Clic aici pentru a selecta obiectele la nivelul tuturor paginilor" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Selectați toate %(total_count)s %(module_name)s" - -msgid "Clear selection" -msgstr "Deselectați" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "Modele în aplicația %(name)s" - -msgid "Add" -msgstr "Adaugă" - -msgid "View" -msgstr "Vizualizează" - -msgid "You don’t have permission to view or edit anything." -msgstr "" - -msgid "" -"First, enter a username and password. Then, you’ll be able to edit more user " -"options." -msgstr "" - -msgid "Enter a username and password." -msgstr "Introduceți un nume de utilizator și o parolă." - -msgid "Change password" -msgstr "Schimbă parola" - -msgid "Please correct the error below." -msgstr "Corectați eroarea de mai jos." - -msgid "Please correct the errors below." -msgstr "Corectați erorile de mai jos." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "" -"Introduceți o parolă nouă pentru utilizatorul %(username)s." - -msgid "Welcome," -msgstr "Bun venit," - -msgid "View site" -msgstr "Vizualizare site" - -msgid "Documentation" -msgstr "Documentație" - -msgid "Log out" -msgstr "Deconectează-te" - -#, python-format -msgid "Add %(name)s" -msgstr "Adaugă %(name)s" - -msgid "History" -msgstr "Istoric" - -msgid "View on site" -msgstr "Vizualizează pe site" - -msgid "Filter" -msgstr "Filtru" - -msgid "Clear all filters" -msgstr "Șterge toate filtrele" - -msgid "Remove from sorting" -msgstr "Elimină din sortare" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Prioritate sortare: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Alternează sortarea" - -msgid "Delete" -msgstr "Șterge" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Ștergerea %(object_name)s '%(escaped_object)s' va duce și la ștergerea " -"obiectelor asociate, însă contul dumneavoastră nu are permisiunea de a " -"șterge următoarele tipuri de obiecte:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"Ștergerea %(object_name)s '%(escaped_object)s' ar putea necesita și " -"ștergerea următoarelor obiecte protejate asociate:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Sigur doriți ștergerea %(object_name)s \"%(escaped_object)s\"? Următoarele " -"itemuri asociate vor fi șterse:" - -msgid "Objects" -msgstr "Obiecte" - -msgid "Yes, I’m sure" -msgstr "Da, sunt sigur" - -msgid "No, take me back" -msgstr "Nu, vreau să mă întorc" - -msgid "Delete multiple objects" -msgstr "Ștergeți obiecte multiple" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Ștergerea %(objects_name)s conform selecției ar putea duce la ștergerea " -"obiectelor asociate, însă contul dvs. de utilizator nu are permisiunea de a " -"șterge următoarele tipuri de obiecte:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Ştergerea %(objects_name)s conform selecției ar necesita și ștergerea " -"următoarelor obiecte protejate asociate:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Sigur doriţi să ștergeți %(objects_name)s conform selecției? Toate obiectele " -"următoare alături de cele asociate lor vor fi șterse:" - -msgid "Delete?" -msgstr "Elimină?" - -#, python-format -msgid " By %(filter_title)s " -msgstr "După %(filter_title)s " - -msgid "Summary" -msgstr "Sumar" - -msgid "Recent actions" -msgstr "Acțiuni recente" - -msgid "My actions" -msgstr "Acțiunile mele" - -msgid "None available" -msgstr "Niciuna" - -msgid "Unknown content" -msgstr "Conținut necunoscut" - -msgid "" -"Something’s wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"Sunteți autentificat ca %(username)s, dar nu sunteți autorizat să accesați " -"această pagină. Doriți să vă autentificați cu un alt cont?" - -msgid "Forgotten your password or username?" -msgstr "Ați uitat parola sau utilizatorul ?" - -msgid "Toggle navigation" -msgstr "" - -msgid "Date/time" -msgstr "Dată/oră" - -msgid "User" -msgstr "Utilizator" - -msgid "Action" -msgstr "Acțiune" - -msgid "" -"This object doesn’t have a change history. It probably wasn’t added via this " -"admin site." -msgstr "" - -msgid "Show all" -msgstr "Arată totul" - -msgid "Save" -msgstr "Salvează" - -msgid "Popup closing…" -msgstr "Fereastra se închide..." - -msgid "Search" -msgstr "Caută" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s rezultat" -msgstr[1] "%(counter)s rezultate" -msgstr[2] "%(counter)s de rezultate" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s în total" - -msgid "Save as new" -msgstr "Salvați ca nou" - -msgid "Save and add another" -msgstr "Salvați și mai adăugați" - -msgid "Save and continue editing" -msgstr "Salvați și continuați editarea" - -msgid "Save and view" -msgstr "Salvează și vizualizează" - -msgid "Close" -msgstr "Închide" - -#, python-format -msgid "Change selected %(model)s" -msgstr "Modifică %(model)s selectat" - -#, python-format -msgid "Add another %(model)s" -msgstr "Adaugă alt %(model)s" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Șterge %(model)s selectat" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Mulţumiri pentru timpul petrecut astăzi pe sit." - -msgid "Log in again" -msgstr "Reautentificare" - -msgid "Password change" -msgstr "Schimbare parolă" - -msgid "Your password was changed." -msgstr "Parola a fost schimbată." - -msgid "" -"Please enter your old password, for security’s sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Vă rog introduceți parola veche, pentru securitate, apoi introduceți parola " -"nouă de doua ori pentru a verifica dacă a fost scrisă corect. " - -msgid "Change my password" -msgstr "Schimbă-mi parola" - -msgid "Password reset" -msgstr "Resetare parolă" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "" -"Parola dumneavoastră a fost stabilită. Acum puteți continua să vă " -"autentificați." - -msgid "Password reset confirmation" -msgstr "Confirmare resetare parolă" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Introduceți parola de două ori, pentru a putea verifica dacă ați scris-o " -"corect." - -msgid "New password:" -msgstr "Parolă nouă:" - -msgid "Confirm password:" -msgstr "Confirmare parolă:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Link-ul de resetare a parolei a fost nevalid, probabil din cauză că acesta a " -"fost deja utilizat. Solicitați o nouă resetare a parolei." - -msgid "" -"We’ve emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Am trimis instrucțiuni pentru a seta parola, daca există un cont cu email-ul " -"introdus. O sa-l primiți cât de curând." - -msgid "" -"If you don’t receive an email, please make sure you’ve entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Dacă nu ați primit un email, verificați vă rog dacă ați introdus adresa cu " -"care v-ați înregistrat și verificați si folderul Spam." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"Primiți acest email deoarece ați cerut o resetare a parolei pentru contul de " -"utilizator de la %(site_name)s." - -msgid "Please go to the following page and choose a new password:" -msgstr "Mergeți la următoarea pagină și alegeți o parolă nouă:" - -msgid "Your username, in case you’ve forgotten:" -msgstr "Numele tău de utilizator, în caz că l-ai uitat:" - -msgid "Thanks for using our site!" -msgstr "Mulțumiri pentru utilizarea sitului nostru!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "Echipa %(site_name)s" - -msgid "" -"Forgotten your password? Enter your email address below, and we’ll email " -"instructions for setting a new one." -msgstr "" -"Ați uitat parola ? Introduceți adresa de email mai jos și vă vom trimite " -"instrucțiuni pentru o parolă nouă." - -msgid "Email address:" -msgstr "Adresă e-mail:" - -msgid "Reset my password" -msgstr "Resetează-mi parola" - -msgid "All dates" -msgstr "Toate datele" - -#, python-format -msgid "Select %s" -msgstr "Selectează %s" - -#, python-format -msgid "Select %s to change" -msgstr "Selectează %s pentru schimbare" - -#, python-format -msgid "Select %s to view" -msgstr "Selecteză %s pentru a vizualiza" - -msgid "Date:" -msgstr "Dată:" - -msgid "Time:" -msgstr "Oră:" - -msgid "Lookup" -msgstr "Căutare" - -msgid "Currently:" -msgstr "În prezent:" - -msgid "Change:" -msgstr "Schimbă:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ro/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ro/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 59f694e3..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ro/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ro/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ro/LC_MESSAGES/djangojs.po deleted file mode 100644 index e681dde5..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ro/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,228 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Bogdan Mateescu, 2018-2019 -# Daniel Ursache-Dogariu, 2011 -# Denis Darii , 2011 -# Eugenol Man , 2020 -# Ionel Cristian Mărieș , 2012 -# Jannis Leidel , 2011 -# razvan ionescu , 2015 -# Razvan Stefanescu , 2016-2017 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-11 20:56+0200\n" -"PO-Revision-Date: 2020-07-15 11:16+0000\n" -"Last-Translator: Eugenol Man \n" -"Language-Team: Romanian (http://www.transifex.com/django/django/language/" -"ro/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ro\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" -"2:1));\n" - -#, javascript-format -msgid "Available %s" -msgstr "%s disponibil" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Aceasta este o listă cu %s disponibile. Le puteți alege selectând mai multe " -"in chenarul de mai jos și apăsând pe săgeata \"Alege\" dintre cele două " -"chenare." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "Scrie în acest chenar pentru a filtra lista de %s disponibile." - -msgid "Filter" -msgstr "Filtru" - -msgid "Choose all" -msgstr "Alege toate" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Click pentru a alege toate %s." - -msgid "Choose" -msgstr "Alege" - -msgid "Remove" -msgstr "Elimină" - -#, javascript-format -msgid "Chosen %s" -msgstr "%s alese" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Aceasta este lista de %s alese. Puteți elimina din ele selectându-le in " -"chenarul de mai jos și apasand pe săgeata \"Elimină\" dintre cele două " -"chenare." - -msgid "Remove all" -msgstr "Elimină toate" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Click pentru a elimina toate %s alese." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(sel)s din %(cnt)s selectate" -msgstr[1] "%(sel)s din %(cnt)s selectate" -msgstr[2] "de %(sel)s din %(cnt)s selectate" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Aveţi modificări nesalvate în cîmpuri individuale editabile. Dacă executaţi " -"o acțiune, modificările nesalvate vor fi pierdute." - -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 "" -"Ai selectat o acțiune dar nu ai salvat modificările făcute în câmpuri " -"individuale. Te rugăm apasa Ok pentru a salva. Va trebui sa reiei acțiunea." - -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 "" -"Ai selectat o acțiune și nu ai făcut modificări. Probabil că dorești butonul " -"de Go mai putin cel de Salvează." - -msgid "Now" -msgstr "Acum" - -msgid "Midnight" -msgstr "Miezul nopții" - -msgid "6 a.m." -msgstr "6 a.m." - -msgid "Noon" -msgstr "Amiază" - -msgid "6 p.m." -msgstr "6 p.m." - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Notă: Sunteți cu %s oră înaintea orei serverului." -msgstr[1] "Notă: Sunteți cu %s ore înaintea orei serverului." -msgstr[2] "Notă: Sunteți cu %s de ore înaintea orei serverului." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Notă: Sunteți cu %s oră în urma orei serverului." -msgstr[1] "Notă: Sunteți cu %s ore în urma orei serverului." -msgstr[2] "Notă: Sunteți cu %s de ore în urma orei serverului." - -msgid "Choose a Time" -msgstr "Alege o oră" - -msgid "Choose a time" -msgstr "Alege o oră" - -msgid "Cancel" -msgstr "Anulează" - -msgid "Today" -msgstr "Astăzi" - -msgid "Choose a Date" -msgstr "Alege o dată" - -msgid "Yesterday" -msgstr "Ieri" - -msgid "Tomorrow" -msgstr "Mâine" - -msgid "January" -msgstr "Ianuarie" - -msgid "February" -msgstr "Februarie" - -msgid "March" -msgstr "Martie" - -msgid "April" -msgstr "Aprilie" - -msgid "May" -msgstr "Mai" - -msgid "June" -msgstr "Iunie" - -msgid "July" -msgstr "Iulie" - -msgid "August" -msgstr "August" - -msgid "September" -msgstr "Septembrie" - -msgid "October" -msgstr "Octombrie" - -msgid "November" -msgstr "Noiembrie" - -msgid "December" -msgstr "Decembrie" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "D" - -msgctxt "one letter Monday" -msgid "M" -msgstr "L" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "M" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "M" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "J" - -msgctxt "one letter Friday" -msgid "F" -msgstr "V" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "S" - -msgid "Show" -msgstr "Arată" - -msgid "Hide" -msgstr "Ascunde" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ru/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ru/LC_MESSAGES/django.mo deleted file mode 100644 index 72c8ce61..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ru/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ru/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ru/LC_MESSAGES/django.po deleted file mode 100644 index f9e671dc..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ru/LC_MESSAGES/django.po +++ /dev/null @@ -1,738 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Ivan Ivaschenko , 2013 -# Denis Darii , 2011 -# Dimmus , 2011 -# Eugene , 2016-2017 -# crazyzubr , 2020 -# Sergey , 2016 -# Jannis Leidel , 2011 -# SeryiMysh , 2020 -# Алексей Борискин , 2012-2015 -# Дмитрий , 2019 -# Дмитрий Шатера , 2018 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-14 19:53+0200\n" -"PO-Revision-Date: 2020-07-21 09:32+0000\n" -"Last-Translator: crazyzubr \n" -"Language-Team: Russian (http://www.transifex.com/django/django/language/" -"ru/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ru\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" -"%100>=11 && n%100<=14)? 2 : 3);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "Успешно удалены %(count)d %(items)s." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "Не удается удалить %(name)s" - -msgid "Are you sure?" -msgstr "Вы уверены?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Удалить выбранные %(verbose_name_plural)s" - -msgid "Administration" -msgstr "Администрирование" - -msgid "All" -msgstr "Все" - -msgid "Yes" -msgstr "Да" - -msgid "No" -msgstr "Нет" - -msgid "Unknown" -msgstr "Неизвестно" - -msgid "Any date" -msgstr "Любая дата" - -msgid "Today" -msgstr "Сегодня" - -msgid "Past 7 days" -msgstr "Последние 7 дней" - -msgid "This month" -msgstr "Этот месяц" - -msgid "This year" -msgstr "Этот год" - -msgid "No date" -msgstr "Дата не указана" - -msgid "Has date" -msgstr "Дата указана" - -msgid "Empty" -msgstr "Пусто" - -msgid "Not empty" -msgstr "Не пусто" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Пожалуйста, введите корректные %(username)s и пароль учётной записи. Оба " -"поля могут быть чувствительны к регистру." - -msgid "Action:" -msgstr "Действие:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Добавить еще один %(verbose_name)s" - -msgid "Remove" -msgstr "Удалить" - -msgid "Addition" -msgstr "Добавление" - -msgid "Change" -msgstr "Изменить" - -msgid "Deletion" -msgstr "Удаление" - -msgid "action time" -msgstr "время действия" - -msgid "user" -msgstr "пользователь" - -msgid "content type" -msgstr "тип содержимого" - -msgid "object id" -msgstr "идентификатор объекта" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "представление объекта" - -msgid "action flag" -msgstr "тип действия" - -msgid "change message" -msgstr "сообщение об изменении" - -msgid "log entry" -msgstr "запись в журнале" - -msgid "log entries" -msgstr "записи в журнале" - -#, python-format -msgid "Added “%(object)s”." -msgstr "Добавлено “%(object)s“." - -#, python-format -msgid "Changed “%(object)s” — %(changes)s" -msgstr "Изменено “%(object)s“ - %(changes)s" - -#, python-format -msgid "Deleted “%(object)s.”" -msgstr "Удалено “%(object)s.“" - -msgid "LogEntry Object" -msgstr "Запись в журнале" - -#, python-brace-format -msgid "Added {name} “{object}”." -msgstr "Добавлен {name} “{object}“." - -msgid "Added." -msgstr "Добавлено." - -msgid "and" -msgstr "и" - -#, python-brace-format -msgid "Changed {fields} for {name} “{object}”." -msgstr "Изменено {fields} у {name} “{object}“." - -#, python-brace-format -msgid "Changed {fields}." -msgstr "Изменено {fields}." - -#, python-brace-format -msgid "Deleted {name} “{object}”." -msgstr "Удален {name} “{object}“." - -msgid "No fields changed." -msgstr "Ни одно поле не изменено." - -msgid "None" -msgstr "Нет" - -msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." -msgstr "" -"Удерживайте “Control“ (или “Command“ на Mac), чтобы выбрать несколько " -"значений." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully." -msgstr "{name} \"{obj}\" был успешно добавлен." - -msgid "You may edit it again below." -msgstr "Вы можете снова изменить этот объект ниже." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was added successfully. You may add another {name} below." -msgstr "" -"{name} “{obj}“ был успешно добавлен. Вы можете добавить еще один {name} ниже." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may edit it again below." -msgstr "" -"{name} “{obj}“ был изменен успешно. Вы можете отредактировать его снова ниже." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully. You may edit it again below." -msgstr "" -"{name} “{obj}“ был успешно добавлен. Вы можете отредактировать его еще раз " -"ниже." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may add another {name} " -"below." -msgstr "{name} “{obj}“ был изменен. Вы можете добавить еще один {name} ниже." - -#, python-brace-format -msgid "The {name} “{obj}” was changed successfully." -msgstr "{name} “{obj}“ был успешно изменен." - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Чтобы произвести действия над объектами, необходимо их выбрать. Объекты не " -"были изменены." - -msgid "No action selected." -msgstr "Действие не выбрано." - -#, python-format -msgid "The %(name)s “%(obj)s” was deleted successfully." -msgstr "%(name)s “%(obj)s“ был успешно удален." - -#, python-format -msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" -msgstr "%(name)s с ID “%(key)s“ не существует. Возможно оно было удалено?" - -#, python-format -msgid "Add %s" -msgstr "Добавить %s" - -#, python-format -msgid "Change %s" -msgstr "Изменить %s" - -#, python-format -msgid "View %s" -msgstr "Просмотреть %s" - -msgid "Database error" -msgstr "Ошибка базы данных" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s был успешно изменен." -msgstr[1] "%(count)s %(name)s были успешно изменены." -msgstr[2] "%(count)s %(name)s были успешно изменены." -msgstr[3] "%(count)s %(name)s были успешно изменены." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "Выбран %(total_count)s" -msgstr[1] "Выбраны все %(total_count)s" -msgstr[2] "Выбраны все %(total_count)s" -msgstr[3] "Выбраны все %(total_count)s" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "Выбрано 0 объектов из %(cnt)s " - -#, python-format -msgid "Change history: %s" -msgstr "История изменений: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"Удаление объекта %(instance)s типа %(class_name)s будет требовать удаления " -"следующих связанных объектов: %(related_objects)s" - -msgid "Django site admin" -msgstr "Административный сайт Django" - -msgid "Django administration" -msgstr "Администрирование Django" - -msgid "Site administration" -msgstr "Администрирование сайта" - -msgid "Log in" -msgstr "Войти" - -#, python-format -msgid "%(app)s administration" -msgstr "Администрирование приложения «%(app)s»" - -msgid "Page not found" -msgstr "Страница не найдена" - -msgid "We’re sorry, but the requested page could not be found." -msgstr "К сожалению, запрашиваемая вами страница не найдена." - -msgid "Home" -msgstr "Начало" - -msgid "Server error" -msgstr "Ошибка сервера" - -msgid "Server error (500)" -msgstr "Ошибка сервера (500)" - -msgid "Server Error (500)" -msgstr "Ошибка сервера (500)" - -msgid "" -"There’s been an error. It’s been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"Произошла ошибка. О ней сообщено администраторам сайта по электронной почте, " -"ошибка должна быть вскоре исправлена. Благодарим вас за терпение." - -msgid "Run the selected action" -msgstr "Выполнить выбранное действие" - -msgid "Go" -msgstr "Выполнить" - -msgid "Click here to select the objects across all pages" -msgstr "Нажмите здесь, чтобы выбрать объекты на всех страницах" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Выбрать все %(module_name)s (%(total_count)s)" - -msgid "Clear selection" -msgstr "Снять выделение" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "Модели в приложении %(name)s" - -msgid "Add" -msgstr "Добавить" - -msgid "View" -msgstr "Просмотреть" - -msgid "You don’t have permission to view or edit anything." -msgstr "У вас недостаточно полномочий для просмотра или изменения чего либо." - -msgid "" -"First, enter a username and password. Then, you’ll be able to edit more user " -"options." -msgstr "" -"Сначала введите имя пользователя и пароль. Затем вы сможете ввести больше " -"информации о пользователе." - -msgid "Enter a username and password." -msgstr "Введите имя пользователя и пароль." - -msgid "Change password" -msgstr "Изменить пароль" - -msgid "Please correct the error below." -msgstr "Пожалуйста, исправьте ошибку ниже." - -msgid "Please correct the errors below." -msgstr "Пожалуйста, исправьте ошибки ниже." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "Введите новый пароль для пользователя %(username)s." - -msgid "Welcome," -msgstr "Добро пожаловать," - -msgid "View site" -msgstr "Открыть сайт" - -msgid "Documentation" -msgstr "Документация" - -msgid "Log out" -msgstr "Выйти" - -#, python-format -msgid "Add %(name)s" -msgstr "Добавить %(name)s" - -msgid "History" -msgstr "История" - -msgid "View on site" -msgstr "Смотреть на сайте" - -msgid "Filter" -msgstr "Фильтр" - -msgid "Clear all filters" -msgstr "Сбросить все фильтры" - -msgid "Remove from sorting" -msgstr "Удалить из сортировки" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Приоритет сортировки: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Сортировать в другом направлении" - -msgid "Delete" -msgstr "Удалить" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Удаление %(object_name)s '%(escaped_object)s' приведет к удалению связанных " -"объектов, но ваша учетная запись не имеет прав для удаления следующих типов " -"объектов:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"Удаление %(object_name)s '%(escaped_object)s' потребует удаления следующих " -"связанных защищенных объектов:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Вы уверены, что хотите удалить %(object_name)s \"%(escaped_object)s\"? Все " -"следующие связанные объекты также будут удалены:" - -msgid "Objects" -msgstr "Объекты" - -msgid "Yes, I’m sure" -msgstr "Да, я уверен" - -msgid "No, take me back" -msgstr "Нет, отменить и вернуться к выбору" - -msgid "Delete multiple objects" -msgstr "Удалить несколько объектов" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Удаление выбранной %(objects_name)s приведет к удалению связанных объектов, " -"но ваша учетная запись не имеет прав на удаление следующих типов объектов:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Удаление %(objects_name)s потребует удаления следующих связанных защищенных " -"объектов:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Вы уверены, что хотите удалить %(objects_name)s? Все следующие объекты и " -"связанные с ними элементы будут удалены:" - -msgid "Delete?" -msgstr "Удалить?" - -#, python-format -msgid " By %(filter_title)s " -msgstr "%(filter_title)s" - -msgid "Summary" -msgstr "Краткая статистика" - -msgid "Recent actions" -msgstr "Последние действия" - -msgid "My actions" -msgstr "Мои действия" - -msgid "None available" -msgstr "Недоступно" - -msgid "Unknown content" -msgstr "Неизвестный тип" - -msgid "" -"Something’s wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Ваша база данных неправильно настроена. Убедитесь, что соответствующие " -"таблицы были созданы, и что соответствующему пользователю разрешен к ним " -"доступ." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"Вы вошли в систему как %(username)s, однако у вас недостаточно прав для " -"просмотра данной страницы. Возможно, вы хотели бы войти в систему, используя " -"другую учётную запись?" - -msgid "Forgotten your password or username?" -msgstr "Забыли свой пароль или имя пользователя?" - -msgid "Toggle navigation" -msgstr "Переключить навигацию" - -msgid "Date/time" -msgstr "Дата и время" - -msgid "User" -msgstr "Пользователь" - -msgid "Action" -msgstr "Действие" - -msgid "" -"This object doesn’t have a change history. It probably wasn’t added via this " -"admin site." -msgstr "" -"Данный объект не имеет истории изменений. Возможно, он был добавлен не через " -"данный административный сайт." - -msgid "Show all" -msgstr "Показать все" - -msgid "Save" -msgstr "Сохранить" - -msgid "Popup closing…" -msgstr "Всплывающее окно закрывается..." - -msgid "Search" -msgstr "Найти" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s результат" -msgstr[1] "%(counter)s результата" -msgstr[2] "%(counter)s результатов" -msgstr[3] "%(counter)s результатов" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s всего" - -msgid "Save as new" -msgstr "Сохранить как новый объект" - -msgid "Save and add another" -msgstr "Сохранить и добавить другой объект" - -msgid "Save and continue editing" -msgstr "Сохранить и продолжить редактирование" - -msgid "Save and view" -msgstr "Сохранить и просмотреть" - -msgid "Close" -msgstr "Закрыть" - -#, python-format -msgid "Change selected %(model)s" -msgstr "Изменить выбранный объект типа \"%(model)s\"" - -#, python-format -msgid "Add another %(model)s" -msgstr "Добавить ещё один объект типа \"%(model)s\"" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Удалить выбранный объект типа \"%(model)s\"" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Благодарим вас за время, проведенное на этом сайте." - -msgid "Log in again" -msgstr "Войти снова" - -msgid "Password change" -msgstr "Изменение пароля" - -msgid "Your password was changed." -msgstr "Ваш пароль был изменен." - -msgid "" -"Please enter your old password, for security’s sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"В целях безопасности, пожалуйста, введите свой старый пароль, затем введите " -"новый пароль дважды, чтобы мы могли убедиться в правильности написания." - -msgid "Change my password" -msgstr "Изменить мой пароль" - -msgid "Password reset" -msgstr "Восстановление пароля" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Ваш пароль был сохранен. Теперь вы можете войти." - -msgid "Password reset confirmation" -msgstr "Подтверждение восстановления пароля" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Пожалуйста, введите новый пароль дважды, чтобы мы могли убедиться в " -"правильности написания." - -msgid "New password:" -msgstr "Новый пароль:" - -msgid "Confirm password:" -msgstr "Подтвердите пароль:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Неверная ссылка для восстановления пароля. Возможно, ей уже воспользовались. " -"Пожалуйста, попробуйте восстановить пароль еще раз." - -msgid "" -"We’ve emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Мы отправили вам инструкцию по установке нового пароля на указанный адрес " -"электронной почты (если в нашей базе данных есть такой адрес). Вы должны " -"получить ее в ближайшее время." - -msgid "" -"If you don’t receive an email, please make sure you’ve entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Если вы не получили письмо, пожалуйста, убедитесь, что вы ввели адрес с " -"которым Вы зарегистрировались, и проверьте папку со спамом." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"Вы получили это письмо, потому что вы (или кто-то другой) запросили " -"восстановление пароля от учётной записи на сайте %(site_name)s, которая " -"связана с этим адресом электронной почты." - -msgid "Please go to the following page and choose a new password:" -msgstr "Пожалуйста, перейдите на эту страницу и введите новый пароль:" - -msgid "Your username, in case you’ve forgotten:" -msgstr "Ваше имя пользователя (на случай, если вы его забыли):" - -msgid "Thanks for using our site!" -msgstr "Спасибо, что используете наш сайт!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "Команда сайта %(site_name)s" - -msgid "" -"Forgotten your password? Enter your email address below, and we’ll email " -"instructions for setting a new one." -msgstr "" -"Забыли пароль? Введите свой адрес электронной почты ниже, и мы вышлем вам " -"инструкцию, как установить новый пароль." - -msgid "Email address:" -msgstr "Адрес электронной почты:" - -msgid "Reset my password" -msgstr "Восстановить мой пароль" - -msgid "All dates" -msgstr "Все даты" - -#, python-format -msgid "Select %s" -msgstr "Выберите %s" - -#, python-format -msgid "Select %s to change" -msgstr "Выберите %s для изменения" - -#, python-format -msgid "Select %s to view" -msgstr "Выберите %s для просмотра" - -msgid "Date:" -msgstr "Дата:" - -msgid "Time:" -msgstr "Время:" - -msgid "Lookup" -msgstr "Поиск" - -msgid "Currently:" -msgstr "Сейчас:" - -msgid "Change:" -msgstr "Изменить:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ru/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ru/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 64b3eaf0..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ru/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ru/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ru/LC_MESSAGES/djangojs.po deleted file mode 100644 index ac9ee20c..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ru/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,238 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Claude Paroz , 2020 -# Denis Darii , 2011 -# Dimmus , 2011 -# Eugene , 2012 -# Eugene , 2016 -# crazyzubr , 2020 -# Jannis Leidel , 2011 -# Алексей Борискин , 2012,2014-2015 -# Андрей Щуров , 2016 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-11 20:56+0200\n" -"PO-Revision-Date: 2020-07-30 12:35+0000\n" -"Last-Translator: Claude Paroz \n" -"Language-Team: Russian (http://www.transifex.com/django/django/language/" -"ru/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ru\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" -"%100>=11 && n%100<=14)? 2 : 3);\n" - -#, javascript-format -msgid "Available %s" -msgstr "Доступные %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Это список всех доступных %s. Вы можете выбрать некоторые из них, выделив их " -"в поле ниже и кликнув \"Выбрать\", либо двойным щелчком." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "" -"Начните вводить текст в этом поле, чтобы отфитровать список доступных %s." - -msgid "Filter" -msgstr "Фильтр" - -msgid "Choose all" -msgstr "Выбрать все" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Нажмите, чтобы выбрать все %s сразу." - -msgid "Choose" -msgstr "Выбрать" - -msgid "Remove" -msgstr "Удалить" - -#, javascript-format -msgid "Chosen %s" -msgstr "Выбранные %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Это список выбранных %s. Вы можете удалить некоторые из них, выделив их в " -"поле ниже и кликнув \"Удалить\", либо двойным щелчком." - -msgid "Remove all" -msgstr "Удалить все" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Нажмите чтобы удалить все %s сразу." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "Выбран %(sel)s из %(cnt)s" -msgstr[1] "Выбрано %(sel)s из %(cnt)s" -msgstr[2] "Выбрано %(sel)s из %(cnt)s" -msgstr[3] "Выбрано %(sel)s из %(cnt)s" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Имеются несохраненные изменения в отдельных полях для редактирования. Если " -"вы запустите действие, несохраненные изменения будут потеряны." - -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 "" -"Вы выбрали действие, но еще не сохранили изменения, внесенные в некоторых " -"полях для редактирования. Нажмите OK, чтобы сохранить изменения. После " -"сохранения вам придется запустить действие еще раз." - -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 "" -"Вы выбрали действие и не внесли изменений в данные. Возможно, вы хотели " -"воспользоваться кнопкой \"Выполнить\", а не кнопкой \"Сохранить\". Если это " -"так, то нажмите \"Отмена\", чтобы вернуться в интерфейс редактирования." - -msgid "Now" -msgstr "Сейчас" - -msgid "Midnight" -msgstr "Полночь" - -msgid "6 a.m." -msgstr "6 утра" - -msgid "Noon" -msgstr "Полдень" - -msgid "6 p.m." -msgstr "6 вечера" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Внимание: Ваше локальное время опережает время сервера на %s час." -msgstr[1] "Внимание: Ваше локальное время опережает время сервера на %s часа." -msgstr[2] "Внимание: Ваше локальное время опережает время сервера на %s часов." -msgstr[3] "Внимание: Ваше локальное время опережает время сервера на %s часов." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "" -"Внимание: Ваше локальное время отстаёт от времени сервера на %s час." -msgstr[1] "" -"Внимание: Ваше локальное время отстаёт от времени сервера на %s часа." -msgstr[2] "" -"Внимание: Ваше локальное время отстаёт от времени сервера на %s часов." -msgstr[3] "" -"Внимание: Ваше локальное время отстаёт от времени сервера на %s часов." - -msgid "Choose a Time" -msgstr "Выберите время" - -msgid "Choose a time" -msgstr "Выберите время" - -msgid "Cancel" -msgstr "Отмена" - -msgid "Today" -msgstr "Сегодня" - -msgid "Choose a Date" -msgstr "Выберите дату" - -msgid "Yesterday" -msgstr "Вчера" - -msgid "Tomorrow" -msgstr "Завтра" - -msgid "January" -msgstr "Январь" - -msgid "February" -msgstr "Февраль" - -msgid "March" -msgstr "Март" - -msgid "April" -msgstr "Апрель" - -msgid "May" -msgstr "Май" - -msgid "June" -msgstr "Июнь" - -msgid "July" -msgstr "Июль" - -msgid "August" -msgstr "Август" - -msgid "September" -msgstr "Сентябрь" - -msgid "October" -msgstr "Октябрь" - -msgid "November" -msgstr "Ноябрь" - -msgid "December" -msgstr "Декабрь" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "В" - -msgctxt "one letter Monday" -msgid "M" -msgstr "П" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "В" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "С" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "Ч" - -msgctxt "one letter Friday" -msgid "F" -msgstr "П" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "С" - -msgid "Show" -msgstr "Показать" - -msgid "Hide" -msgstr "Скрыть" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sk/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sk/LC_MESSAGES/django.mo deleted file mode 100644 index d7a5ba37..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sk/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sk/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sk/LC_MESSAGES/django.po deleted file mode 100644 index 3e9db240..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sk/LC_MESSAGES/django.po +++ /dev/null @@ -1,724 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Jannis Leidel , 2011 -# Juraj Bubniak , 2012-2013 -# Marian Andre , 2013-2015,2017 -# Martin Kosír, 2011 -# Martin Tóth , 2017 -# Zbynek Drlik , 2019 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-01-16 20:42+0100\n" -"PO-Revision-Date: 2019-06-10 07:35+0000\n" -"Last-Translator: Zbynek Drlik \n" -"Language-Team: Slovak (http://www.transifex.com/django/django/language/sk/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sk\n" -"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n " -">= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "Úspešne zmazaných %(count)d %(items)s." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "Nedá sa vymazať %(name)s" - -msgid "Are you sure?" -msgstr "Ste si istý?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Zmazať označené %(verbose_name_plural)s" - -msgid "Administration" -msgstr "Správa" - -msgid "All" -msgstr "Všetko" - -msgid "Yes" -msgstr "Áno" - -msgid "No" -msgstr "Nie" - -msgid "Unknown" -msgstr "Neznámy" - -msgid "Any date" -msgstr "Ľubovoľný dátum" - -msgid "Today" -msgstr "Dnes" - -msgid "Past 7 days" -msgstr "Posledných 7 dní" - -msgid "This month" -msgstr "Tento mesiac" - -msgid "This year" -msgstr "Tento rok" - -msgid "No date" -msgstr "Bez dátumu" - -msgid "Has date" -msgstr "S dátumom" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Zadajte prosím správne %(username)s a heslo pre účet personálu - \"staff " -"account\". Obe polia môžu obsahovať veľké a malé písmená." - -msgid "Action:" -msgstr "Akcia:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Pridať ďalší %(verbose_name)s" - -msgid "Remove" -msgstr "Odstrániť" - -msgid "Addition" -msgstr "" - -msgid "Change" -msgstr "Zmeniť" - -msgid "Deletion" -msgstr "" - -msgid "action time" -msgstr "čas akcie" - -msgid "user" -msgstr "používateľ" - -msgid "content type" -msgstr "typ obsahu" - -msgid "object id" -msgstr "identifikátor objektu" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "reprezentácia objektu" - -msgid "action flag" -msgstr "príznak akcie" - -msgid "change message" -msgstr "zmeniť správu" - -msgid "log entry" -msgstr "položka záznamu" - -msgid "log entries" -msgstr "položky záznamu" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "Pridané \"%(object)s\"." - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "Zmenené \"%(object)s\" - %(changes)s " - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "Odstránené \"%(object)s.\"" - -msgid "LogEntry Object" -msgstr "Objekt LogEntry" - -#, python-brace-format -msgid "Added {name} \"{object}\"." -msgstr "Pridaný {name} \"{object}\"." - -msgid "Added." -msgstr "Pridaný." - -msgid "and" -msgstr "a" - -#, python-brace-format -msgid "Changed {fields} for {name} \"{object}\"." -msgstr "Zmenený {fields} pre {name} \"{object}\"." - -#, python-brace-format -msgid "Changed {fields}." -msgstr "Zmenené {fields}." - -#, python-brace-format -msgid "Deleted {name} \"{object}\"." -msgstr "Zmazaný {name} \"{object}\"." - -msgid "No fields changed." -msgstr "Polia nezmenené." - -msgid "None" -msgstr "Žiadne" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" -"Ak chcete vybrať viac ako jednu položku, podržte \"Control\", alebo \"Command" -"\" na počítači Mac." - -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "Objekt {name} \"{obj}\" bol úspešne pridaný." - -msgid "You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may add another {name} " -"below." -msgstr "" -"Objekt {name} \"{obj}\" bol úspešne pridaný. Môžete pridať ďaľší {name} " -"nižšie." - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." -msgstr "" -"Objekt {name} \"{obj}\" bol úspešne zmenený. Ďalšie zmeny môžete urobiť " -"nižšie." - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" -"Objekt {name} \"{obj}\" bol úspešne pridaný. Ďalšie zmeny môžete urobiť " -"nižšie." - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may add another {name} " -"below." -msgstr "" -"Objekt {name} \"{obj}\" bol úspešne pridaný. Môžete pridať ďaľší {name} " -"nižšie." - -#, python-brace-format -msgid "The {name} \"{obj}\" was changed successfully." -msgstr "Objekt {name} \"{obj}\" bol úspešne pridaný." - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Položky musia byť vybrané, ak chcete na nich vykonať akcie. Neboli vybrané " -"žiadne položky." - -msgid "No action selected." -msgstr "Nebola vybraná žiadna akcia." - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "Objekt %(name)s \"%(obj)s\" bol úspešne vymazaný." - -#, python-format -msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" -msgstr "" -"Položka %(name)s s ID \"%(key)s\" neexistuje - pravdepodobne je vymazaná?" - -#, python-format -msgid "Add %s" -msgstr "Pridať %s" - -#, python-format -msgid "Change %s" -msgstr "Zmeniť %s" - -#, python-format -msgid "View %s" -msgstr "" - -msgid "Database error" -msgstr "Chyba databázy" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s bola úspešne zmenená." -msgstr[1] "%(count)s %(name)s boli úspešne zmenené." -msgstr[2] "%(count)s %(name)s bolo úspešne zmenených." -msgstr[3] "%(count)s %(name)s bolo úspešne zmenených." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s vybraná" -msgstr[1] "Všetky %(total_count)s vybrané" -msgstr[2] "Všetkých %(total_count)s vybraných" -msgstr[3] "Všetkých %(total_count)s vybraných" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "0 z %(cnt)s vybraných" - -#, python-format -msgid "Change history: %s" -msgstr "Zoznam zmien: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"Vymazanie %(class_name)s %(instance)s vyžaduje vymazanie nasledovných " -"súvisiacich chránených objektov: %(related_objects)s" - -msgid "Django site admin" -msgstr "Správa Django stránky" - -msgid "Django administration" -msgstr "Správa Django" - -msgid "Site administration" -msgstr "Správa stránky" - -msgid "Log in" -msgstr "Prihlásenie" - -#, python-format -msgid "%(app)s administration" -msgstr "%(app)s správa" - -msgid "Page not found" -msgstr "Stránka nenájdená" - -msgid "We're sorry, but the requested page could not be found." -msgstr "Ľutujeme, ale požadovanú stránku nie je možné nájsť." - -msgid "Home" -msgstr "Domov" - -msgid "Server error" -msgstr "Chyba servera" - -msgid "Server error (500)" -msgstr "Chyba servera (500)" - -msgid "Server Error (500)" -msgstr "Chyba servera (500)" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"Došlo k chybe. Chyba bola nahlásená správcovi webu prostredníctvom e-mailu a " -"zanedlho by mala byť odstránená. Ďakujeme za vašu trpezlivosť." - -msgid "Run the selected action" -msgstr "Vykonať vybranú akciu" - -msgid "Go" -msgstr "Vykonať" - -msgid "Click here to select the objects across all pages" -msgstr "Kliknite sem pre výber objektov na všetkých stránkach" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Vybrať všetkých %(total_count)s %(module_name)s" - -msgid "Clear selection" -msgstr "Zrušiť výber" - -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" -"Najskôr zadajte používateľské meno a heslo. Potom budete môcť upraviť viac " -"používateľských nastavení." - -msgid "Enter a username and password." -msgstr "Zadajte používateľské meno a heslo." - -msgid "Change password" -msgstr "Zmeniť heslo" - -msgid "Please correct the error below." -msgstr "" - -msgid "Please correct the errors below." -msgstr "Prosím, opravte chyby uvedené nižšie." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "Zadajte nové heslo pre používateľa %(username)s." - -msgid "Welcome," -msgstr "Vitajte," - -msgid "View site" -msgstr "Pozrieť stránku" - -msgid "Documentation" -msgstr "Dokumentácia" - -msgid "Log out" -msgstr "Odhlásiť" - -#, python-format -msgid "Add %(name)s" -msgstr "Pridať %(name)s" - -msgid "History" -msgstr "Zmeny" - -msgid "View on site" -msgstr "Pozrieť na stránke" - -msgid "Filter" -msgstr "Filtrovať" - -msgid "Remove from sorting" -msgstr "Odstrániť z triedenia" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Triedenie priority: %(priority_number)s " - -msgid "Toggle sorting" -msgstr "Prepnúť triedenie" - -msgid "Delete" -msgstr "Odstrániť" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Odstránenie objektu %(object_name)s '%(escaped_object)s' by malo za následok " -"aj odstránenie súvisiacich objektov. Váš účet však nemá oprávnenie na " -"odstránenie nasledujúcich typov objektov:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"Vymazanie %(object_name)s '%(escaped_object)s' vyžaduje vymazanie " -"nasledovných súvisiacich chránených objektov:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Ste si istý, že chcete odstrániť objekt %(object_name)s \"%(escaped_object)s" -"\"? Všetky nasledujúce súvisiace objekty budú odstránené:" - -msgid "Objects" -msgstr "Objekty" - -msgid "Yes, I'm sure" -msgstr "Áno, som si istý" - -msgid "No, take me back" -msgstr "Nie, chcem sa vrátiť" - -msgid "Delete multiple objects" -msgstr "Zmazať viacero objektov" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Vymazanie označených %(objects_name)s by spôsobilo vymazanie súvisiacich " -"objektov, ale váš účet nemá oprávnenie na vymazanie nasledujúcich typov " -"objektov:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Vymazanie označených %(objects_name)s vyžaduje vymazanie nasledujúcich " -"chránených súvisiacich objektov:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Ste si isty, že chcete vymazať označené %(objects_name)s? Vymažú sa všetky " -"nasledujúce objekty a ich súvisiace položky:" - -msgid "View" -msgstr "" - -msgid "Delete?" -msgstr "Zmazať?" - -#, python-format -msgid " By %(filter_title)s " -msgstr "Podľa %(filter_title)s " - -msgid "Summary" -msgstr "Súhrn" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "Modely v %(name)s aplikácii" - -msgid "Add" -msgstr "Pridať" - -msgid "You don't have permission to view or edit anything." -msgstr "" - -msgid "Recent actions" -msgstr "Posledné akcie" - -msgid "My actions" -msgstr "Moje akcie" - -msgid "None available" -msgstr "Nedostupné" - -msgid "Unknown content" -msgstr "Neznámy obsah" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Niečo nie je v poriadku s vašou inštaláciou databázy. Uistite sa, že boli " -"vytvorené potrebné databázové tabuľky a taktiež skontrolujte, či príslušný " -"používateľ môže databázu čítať." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"Ste prihlásený ako %(username)s, ale nemáte práva k tejto stránke. Chcete sa " -"prihlásiť do iného účtu?" - -msgid "Forgotten your password or username?" -msgstr "Zabudli ste heslo alebo používateľské meno?" - -msgid "Date/time" -msgstr "Dátum a čas" - -msgid "User" -msgstr "Používateľ" - -msgid "Action" -msgstr "Akcia" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" -"Tento objekt nemá zoznam zmien. Pravdepodobne nebol pridaný prostredníctvom " -"tejto správcovskej stránky." - -msgid "Show all" -msgstr "Zobraziť všetky" - -msgid "Save" -msgstr "Uložiť" - -msgid "Popup closing…" -msgstr "" - -msgid "Search" -msgstr "Vyhľadávanie" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s výsledok" -msgstr[1] "%(counter)s výsledky" -msgstr[2] "%(counter)s výsledkov" -msgstr[3] "%(counter)s výsledkov" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s spolu" - -msgid "Save as new" -msgstr "Uložiť ako nový" - -msgid "Save and add another" -msgstr "Uložiť a pridať ďalší" - -msgid "Save and continue editing" -msgstr "Uložiť a pokračovať v úpravách" - -msgid "Save and view" -msgstr "" - -msgid "Close" -msgstr "Zatvoriť" - -#, python-format -msgid "Change selected %(model)s" -msgstr "Zmeniť vybrané %(model)s" - -#, python-format -msgid "Add another %(model)s" -msgstr "Pridať ďalší %(model)s" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Zmazať vybrané %(model)s" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Ďakujeme za čas strávený na našich stránkach." - -msgid "Log in again" -msgstr "Znova sa prihlásiť" - -msgid "Password change" -msgstr "Zmena hesla" - -msgid "Your password was changed." -msgstr "Vaše heslo bolo zmenené." - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Z bezpečnostných dôvodov zadajte staré heslo a potom nové heslo dvakrát, aby " -"sme mohli overiť, že ste ho zadali správne." - -msgid "Change my password" -msgstr "Zmeniť moje heslo" - -msgid "Password reset" -msgstr "Obnovenie hesla" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Vaše heslo bolo nastavené. Môžete pokračovať a prihlásiť sa." - -msgid "Password reset confirmation" -msgstr "Potvrdenie obnovenia hesla" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Zadajte nové heslo dvakrát, aby sme mohli overiť, že ste ho zadali správne." - -msgid "New password:" -msgstr "Nové heslo:" - -msgid "Confirm password:" -msgstr "Potvrdenie hesla:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Odkaz na obnovenie hesla je neplatný, pretože už bol pravdepodobne raz " -"použitý. Prosím, požiadajte znovu o obnovu hesla." - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Čoskoro by ste mali dostať inštrukcie pre nastavenie hesla, ak existuje " -"konto s emailom, ktorý ste zadali. " - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Ak ste nedostali email, uistite sa, že ste zadali adresu, s ktorou ste sa " -"registrovali a skontrolujte svoj spamový priečinok." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"Tento e-mail ste dostali preto, lebo ste požiadali o obnovenie hesla pre " -"užívateľský účet na %(site_name)s." - -msgid "Please go to the following page and choose a new password:" -msgstr "Prosím, choďte na túto stránku a zvoľte si nové heslo:" - -msgid "Your username, in case you've forgotten:" -msgstr "Vaše používateľské meno, pre prípad, že ste ho zabudli:" - -msgid "Thanks for using our site!" -msgstr "Ďakujeme, že používate našu stránku!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "Tím %(site_name)s" - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" -"Zabudli ste heslo? Zadajte svoju e-mailovú adresu a my vám pošleme " -"inštrukcie pre nastavenie nového hesla." - -msgid "Email address:" -msgstr "E-mailová adresa:" - -msgid "Reset my password" -msgstr "Obnova môjho hesla" - -msgid "All dates" -msgstr "Všetky dátumy" - -#, python-format -msgid "Select %s" -msgstr "Vybrať %s" - -#, python-format -msgid "Select %s to change" -msgstr "Vybrať \"%s\" na úpravu" - -#, python-format -msgid "Select %s to view" -msgstr "" - -msgid "Date:" -msgstr "Dátum:" - -msgid "Time:" -msgstr "Čas:" - -msgid "Lookup" -msgstr "Vyhľadanie" - -msgid "Currently:" -msgstr "Aktuálne:" - -msgid "Change:" -msgstr "Zmeniť:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sk/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sk/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 798ad96e..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sk/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sk/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sk/LC_MESSAGES/djangojs.po deleted file mode 100644 index d703330d..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sk/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,226 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Dimitris Glezos , 2012 -# Jannis Leidel , 2011 -# Juraj Bubniak , 2012 -# Marian Andre , 2012,2015 -# Martin Kosír, 2011 -# Martin Tóth , 2017 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-05-17 11:50+0200\n" -"PO-Revision-Date: 2017-09-23 18:54+0000\n" -"Last-Translator: Marian Andre \n" -"Language-Team: Slovak (http://www.transifex.com/django/django/language/sk/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sk\n" -"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n " -">= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n" - -#, javascript-format -msgid "Available %s" -msgstr "Dostupné %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Toto je zoznam dostupných %s. Pre výber je potrebné označiť ich v poli a " -"následne kliknutím na šípku \"Vybrať\" presunúť." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "Píšte do tohto poľa pre vyfiltrovanie dostupných %s." - -msgid "Filter" -msgstr "Filtrovať" - -msgid "Choose all" -msgstr "Vybrať všetko" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Kliknite sem pre vybratie všetkých %s naraz." - -msgid "Choose" -msgstr "Vybrať" - -msgid "Remove" -msgstr "Odstrániť" - -#, javascript-format -msgid "Chosen %s" -msgstr "Vybrané %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Toto je zoznam dostupných %s. Pre vymazanie je potrebné označiť ich v poli a " -"následne kliknutím na šípku \"Vymazať\" vymazať." - -msgid "Remove all" -msgstr "Odstrániť všetky" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Kliknite sem pre vymazanie vybratých %s naraz." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(sel)s z %(cnt)s vybrané" -msgstr[1] "%(sel)s z %(cnt)s vybrané" -msgstr[2] "%(sel)s z %(cnt)s vybraných" -msgstr[3] "%(sel)s z %(cnt)s vybraných" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Vrámci jednotlivých editovateľných polí máte neuložené zmeny. Ak vykonáte " -"akciu, vaše zmeny budú stratené." - -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 "" -"Vybrali ste akciu, ale neuložili ste jednotlivé polia. Prosím, uložte zmeny " -"kliknutím na OK. Akciu budete musieť vykonať znova." - -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 "" -"Vybrali ste akciu, ale neurobili ste žiadne zmeny v jednotlivých poliach. " -"Pravdepodobne ste chceli použiť tlačidlo vykonať namiesto uložiť." - -msgid "Now" -msgstr "Teraz" - -msgid "Midnight" -msgstr "Polnoc" - -msgid "6 a.m." -msgstr "6:00" - -msgid "Noon" -msgstr "Poludnie" - -msgid "6 p.m." -msgstr "18:00" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Poznámka: Ste %s hodinu pred časom servera." -msgstr[1] "Poznámka: Ste %s hodiny pred časom servera." -msgstr[2] "Poznámka: Ste %s hodín pred časom servera." -msgstr[3] "Poznámka: Ste %s hodín pred časom servera." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Poznámka: Ste %s hodinu za časom servera." -msgstr[1] "Poznámka: Ste %s hodiny za časom servera." -msgstr[2] "Poznámka: Ste %s hodín za časom servera." -msgstr[3] "Poznámka: Ste %s hodín za časom servera." - -msgid "Choose a Time" -msgstr "Vybrať Čas" - -msgid "Choose a time" -msgstr "Vybrať čas" - -msgid "Cancel" -msgstr "Zrušiť" - -msgid "Today" -msgstr "Dnes" - -msgid "Choose a Date" -msgstr "Vybrať Dátum" - -msgid "Yesterday" -msgstr "Včera" - -msgid "Tomorrow" -msgstr "Zajtra" - -msgid "January" -msgstr "január" - -msgid "February" -msgstr "február" - -msgid "March" -msgstr "marec" - -msgid "April" -msgstr "apríl" - -msgid "May" -msgstr "máj" - -msgid "June" -msgstr "jún" - -msgid "July" -msgstr "júl" - -msgid "August" -msgstr "august" - -msgid "September" -msgstr "september" - -msgid "October" -msgstr "október" - -msgid "November" -msgstr "november" - -msgid "December" -msgstr "december" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "N" - -msgctxt "one letter Monday" -msgid "M" -msgstr "P" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "U" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "S" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "Š" - -msgctxt "one letter Friday" -msgid "F" -msgstr "P" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "S" - -msgid "Show" -msgstr "Zobraziť" - -msgid "Hide" -msgstr "Skryť" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sl/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sl/LC_MESSAGES/django.mo deleted file mode 100644 index 0085a30f..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sl/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sl/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sl/LC_MESSAGES/django.po deleted file mode 100644 index d4542570..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sl/LC_MESSAGES/django.po +++ /dev/null @@ -1,690 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Jannis Leidel , 2011 -# Primož Verdnik , 2017 -# zejn , 2013,2016 -# zejn , 2011-2013 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-09-23 18:54+0000\n" -"Last-Translator: Primož Verdnik \n" -"Language-Team: Slovenian (http://www.transifex.com/django/django/language/" -"sl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sl\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" -"%100==4 ? 2 : 3);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "Uspešno izbrisano %(count)d %(items)s." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "Ni mogoče izbrisati %(name)s" - -msgid "Are you sure?" -msgstr "Ste prepričani?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Izbriši izbrano: %(verbose_name_plural)s" - -msgid "Administration" -msgstr "Administracija" - -msgid "All" -msgstr "Vse" - -msgid "Yes" -msgstr "Da" - -msgid "No" -msgstr "Ne" - -msgid "Unknown" -msgstr "Neznano" - -msgid "Any date" -msgstr "Kadarkoli" - -msgid "Today" -msgstr "Danes" - -msgid "Past 7 days" -msgstr "Zadnjih 7 dni" - -msgid "This month" -msgstr "Ta mesec" - -msgid "This year" -msgstr "Letos" - -msgid "No date" -msgstr "Brez datuma" - -msgid "Has date" -msgstr "Z datumom" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Vnesite veljavno %(username)s in geslo za račun osebja. Opomba: obe polji " -"upoštevata velikost črk." - -msgid "Action:" -msgstr "Dejanje:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Dodaj še en %(verbose_name)s" - -msgid "Remove" -msgstr "Odstrani" - -msgid "action time" -msgstr "čas dejanja" - -msgid "user" -msgstr "uporabnik" - -msgid "content type" -msgstr "vrsta vsebine" - -msgid "object id" -msgstr "id objekta" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/3/library/functions.html#repr) -msgid "object repr" -msgstr "predstavitev objekta" - -msgid "action flag" -msgstr "zastavica dejanja" - -msgid "change message" -msgstr "spremeni sporočilo" - -msgid "log entry" -msgstr "dnevniški vnos" - -msgid "log entries" -msgstr "dnevniški vnosi" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "Dodan \"%(object)s\"." - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "Spremenjen \"%(object)s\" - %(changes)s" - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "Izbrisan \"%(object)s.\"" - -msgid "LogEntry Object" -msgstr "Dnevniški vnos" - -#, python-brace-format -msgid "Added {name} \"{object}\"." -msgstr "Dodan vnos {name} \"{object}\"." - -msgid "Added." -msgstr "Dodano." - -msgid "and" -msgstr "in" - -#, python-brace-format -msgid "Changed {fields} for {name} \"{object}\"." -msgstr "Spremenjena polja {fields} za {name} \"{object}\"." - -#, python-brace-format -msgid "Changed {fields}." -msgstr "Spremenjena polja {fields}." - -#, python-brace-format -msgid "Deleted {name} \"{object}\"." -msgstr "Izbrisan vnos {name} \"{object}\"." - -msgid "No fields changed." -msgstr "Nobeno polje ni bilo spremenjeno." - -msgid "None" -msgstr "Brez vrednosti" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "Držite \"Control\" (ali \"Command\" na Mac-u) za izbiro več kot enega." - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" -"Vnos {name} \"{obj}\" je bil uspešno dodan. Lahko ga znova uredite spodaj." - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may add another {name} " -"below." -msgstr "" -"Vnos {name} \"{obj}\" je bil uspešno dodan. Lahko dodate še en {name} spodaj." - -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "Vnos {name} \"{obj}\" je bil uspešno dodan." - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." -msgstr "" -"Vnos {name} \"{obj}\" je bil uspešno spremenjen. Lahko ga znova uredite " -"spodaj." - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may add another {name} " -"below." -msgstr "" -"Vnos {name} \"{obj}\" je bil uspešno spremenjen. Spodaj lahko dodate nov " -"vnos {name}." - -#, python-brace-format -msgid "The {name} \"{obj}\" was changed successfully." -msgstr "Vnos {name} \"{obj}\" je bil uspešno spremenjen." - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Izbrati morate vnose, nad katerimi želite izvesti operacijo. Noben vnos ni " -"bil spremenjen." - -msgid "No action selected." -msgstr "Brez dejanja." - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "%(name)s \"%(obj)s\" je bil uspešno izbrisan." - -#, python-format -msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" -msgstr "%(name)s s ključem \"%(key)s\" ne obstaja. Morda je bil izbrisan?" - -#, python-format -msgid "Add %s" -msgstr "Dodaj %s" - -#, python-format -msgid "Change %s" -msgstr "Spremeni %s" - -msgid "Database error" -msgstr "Napaka v podatkovni bazi" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s je bil uspešno spremenjen." -msgstr[1] "%(count)s %(name)s sta bila uspešno spremenjena." -msgstr[2] "%(count)s %(name)s so bili uspešno spremenjeni." -msgstr[3] "%(count)s %(name)s je bilo uspešno spremenjenih." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s izbran" -msgstr[1] "%(total_count)s izbrana" -msgstr[2] "Vsi %(total_count)s izbrani" -msgstr[3] "Vseh %(total_count)s izbranih" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "0 od %(cnt)s izbranih" - -#, python-format -msgid "Change history: %s" -msgstr "Zgodovina sprememb: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"Brisanje %(class_name)s %(instance)s bi zahtevalo brisanje naslednjih " -"zaščitenih povezanih objektov: %(related_objects)s" - -msgid "Django site admin" -msgstr "Django administrativni vmesnik" - -msgid "Django administration" -msgstr "Django administracija" - -msgid "Site administration" -msgstr "Administracija strani" - -msgid "Log in" -msgstr "Prijavite se" - -#, python-format -msgid "%(app)s administration" -msgstr "Administracija %(app)s" - -msgid "Page not found" -msgstr "Strani ni mogoče najti" - -msgid "We're sorry, but the requested page could not be found." -msgstr "Opravičujemo se, a zahtevane strani ni mogoče najti." - -msgid "Home" -msgstr "Domov" - -msgid "Server error" -msgstr "Napaka na strežniku" - -msgid "Server error (500)" -msgstr "Napaka na strežniku (500)" - -msgid "Server Error (500)" -msgstr "Napaka na strežniku (500)" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"Prišlo je do nepričakovane napake. Napaka je bila javljena administratorjem " -"spletne strani in naj bi jo v kratkem odpravili. Hvala za potrpljenje." - -msgid "Run the selected action" -msgstr "Izvedi izbrano dejanje" - -msgid "Go" -msgstr "Pojdi" - -msgid "Click here to select the objects across all pages" -msgstr "Kliknite tu za izbiro vseh vnosov na vseh straneh" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Izberi vse %(total_count)s %(module_name)s" - -msgid "Clear selection" -msgstr "Počisti izbiro" - -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" -"Najprej vpišite uporabniško ime in geslo, nato boste lahko urejali druge " -"lastnosti uporabnika." - -msgid "Enter a username and password." -msgstr "Vnesite uporabniško ime in geslo." - -msgid "Change password" -msgstr "Spremeni geslo" - -msgid "Please correct the error below." -msgstr "Prosimo, odpravite sledeče napake." - -msgid "Please correct the errors below." -msgstr "Prosimo popravite spodnje napake." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "Vpišite novo geslo za uporabnika %(username)s." - -msgid "Welcome," -msgstr "Dobrodošli," - -msgid "View site" -msgstr "Poglej stran" - -msgid "Documentation" -msgstr "Dokumentacija" - -msgid "Log out" -msgstr "Odjava" - -#, python-format -msgid "Add %(name)s" -msgstr "Dodaj %(name)s" - -msgid "History" -msgstr "Zgodovina" - -msgid "View on site" -msgstr "Poglej na strani" - -msgid "Filter" -msgstr "Filter" - -msgid "Remove from sorting" -msgstr "Odstrani iz razvrščanja" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Prioriteta razvrščanja: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Preklopi razvrščanje" - -msgid "Delete" -msgstr "Izbriši" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Izbris %(object_name)s '%(escaped_object)s' bi pomenil izbris povezanih " -"objektov, vendar nimate dovoljenja za izbris naslednjih tipov objektov:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"Brisanje %(object_name)s '%(escaped_object)s' bi zahtevalo brisanje " -"naslednjih zaščitenih povezanih objektov:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Ste prepričani, da želite izbrisati %(object_name)s \"%(escaped_object)s\"? " -"Vsi naslednji povezani elementi bodo izbrisani:" - -msgid "Objects" -msgstr "Objekti" - -msgid "Yes, I'm sure" -msgstr "Ja, prepričan sem" - -msgid "No, take me back" -msgstr "Ne, vrni me nazaj" - -msgid "Delete multiple objects" -msgstr "Izbriši več objektov" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Brisanje naslendjih %(objects_name)s bi imelo za posledico izbris naslednjih " -"povezanih objektov, vendar vaš račun nima pravic za izbris naslednjih tipov " -"objektov:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Brisanje izbranih %(objects_name)s zahteva brisanje naslednjih zaščitenih " -"povezanih objektov:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Ali res želite izbrisati izbrane %(objects_name)s? Vsi naslednji objekti in " -"njihovi povezani vnosi bodo izbrisani:" - -msgid "Change" -msgstr "Spremeni" - -msgid "Delete?" -msgstr "Izbrišem?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " Po %(filter_title)s " - -msgid "Summary" -msgstr "Povzetek" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "Model v %(name)s aplikaciji" - -msgid "Add" -msgstr "Dodaj" - -msgid "You don't have permission to edit anything." -msgstr "Nimate dovoljenja za urejanje česarkoli." - -msgid "Recent actions" -msgstr "Nedavna dejanja" - -msgid "My actions" -msgstr "Moja dejanja" - -msgid "None available" -msgstr "Ni na voljo" - -msgid "Unknown content" -msgstr "Neznana vsebina" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Nekaj je narobe z namestitvijo vaše podatkovne baze. Preverite, da so bile " -"ustvarjene prave tabele v podatkovni bazi in da je dostop do branja baze " -"omogočen pravemu uporabniku." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"Prijavljeni ste kot %(username)s in nimate pravic za dostop do te strani. Bi " -"se želeli prijaviti z drugim računom?" - -msgid "Forgotten your password or username?" -msgstr "Ste pozabili geslo ali uporabniško ime?" - -msgid "Date/time" -msgstr "Datum/čas" - -msgid "User" -msgstr "Uporabnik" - -msgid "Action" -msgstr "Dejanje" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" -"Ta objekt nima zgodovine sprememb. Verjetno ni bil dodan preko te strani za " -"administracijo." - -msgid "Show all" -msgstr "Prikaži vse" - -msgid "Save" -msgstr "Shrani" - -msgid "Popup closing..." -msgstr "Zapiram pojavno okno ..." - -#, python-format -msgid "Change selected %(model)s" -msgstr "Spremeni izbran %(model)s" - -#, python-format -msgid "Add another %(model)s" -msgstr "Dodaj še en %(model)s " - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Izbriši izbran %(model)s" - -msgid "Search" -msgstr "Išči" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s zadetkov" -msgstr[1] "%(counter)s zadetek" -msgstr[2] "%(counter)s zadetka" -msgstr[3] "%(counter)s zadetki" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s skupno" - -msgid "Save as new" -msgstr "Shrani kot novo" - -msgid "Save and add another" -msgstr "Shrani in dodaj še eno" - -msgid "Save and continue editing" -msgstr "Shrani in nadaljuj z urejanjem" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Hvala, ker ste si danes vzeli nekaj časa za to spletno stran." - -msgid "Log in again" -msgstr "Ponovna prijava" - -msgid "Password change" -msgstr "Sprememba gesla" - -msgid "Your password was changed." -msgstr "Vaše geslo je bilo spremenjeno." - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Vnesite vaše staro geslo (zaradi varnosti) in nato še dvakrat novo, da se " -"izognete tipkarskim napakam." - -msgid "Change my password" -msgstr "Spremeni moje geslo" - -msgid "Password reset" -msgstr "Ponastavitev gesla" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Vaše geslo je bilo nastavljeno. Zdaj se lahko prijavite." - -msgid "Password reset confirmation" -msgstr "Potrdite ponastavitev gesla" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "Vnesite vaše novo geslo dvakrat, da se izognete tipkarskim napakam." - -msgid "New password:" -msgstr "Novo geslo:" - -msgid "Confirm password:" -msgstr "Potrditev gesla:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Povezava za ponastavitev gesla ni bila veljavna, morda je bila že " -"uporabljena. Prosimo zahtevajte novo ponastavitev gesla." - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Če obstaja račun z navedenim e-poštnim naslovom, smo vam prek epošte poslali " -"navodila za nastavitev vašega gesla. Prejeti bi jih morali v kratkem." - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Če e-pošte niste prejeli, prosimo preverite, da ste vnesli pravilen e-poštni " -"naslov in preverite nezaželeno pošto." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"To e-pošto ste prejeli, ker je ste zahtevali ponastavitev gesla za vaš " -"uporabniški račun na %(site_name)s." - -msgid "Please go to the following page and choose a new password:" -msgstr "Prosimo pojdite na sledečo stran in izberite novo geslo:" - -msgid "Your username, in case you've forgotten:" -msgstr "Vaše uporabniško ime (za vsak primer):" - -msgid "Thanks for using our site!" -msgstr "Hvala, ker uporabljate našo stran!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "Ekipa strani %(site_name)s" - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" -"Ste pozabili geslo? Vnesite vaš e-poštni naslov in poslali vam bomo navodila " -"za ponastavitev gesla." - -msgid "Email address:" -msgstr "E-poštni naslov:" - -msgid "Reset my password" -msgstr "Ponastavi moje geslo" - -msgid "All dates" -msgstr "Vsi datumi" - -#, python-format -msgid "Select %s" -msgstr "Izberite %s" - -#, python-format -msgid "Select %s to change" -msgstr "Izberite %s, ki ga želite spremeniti" - -msgid "Date:" -msgstr "Datum:" - -msgid "Time:" -msgstr "Ura:" - -msgid "Lookup" -msgstr "Poizvedba" - -msgid "Currently:" -msgstr "Trenutno:" - -msgid "Change:" -msgstr "Spremembe:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sl/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sl/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 255885ed..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sl/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sl/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sl/LC_MESSAGES/djangojs.po deleted file mode 100644 index 35ab1ce7..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sl/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,225 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Jannis Leidel , 2011 -# zejn , 2016 -# zejn , 2011-2012 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" -"PO-Revision-Date: 2017-09-23 18:54+0000\n" -"Last-Translator: Primož Verdnik \n" -"Language-Team: Slovenian (http://www.transifex.com/django/django/language/" -"sl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sl\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" -"%100==4 ? 2 : 3);\n" - -#, javascript-format -msgid "Available %s" -msgstr "Možne %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"To je seznam možnih %s. Izbrane lahko izberete z izbiro v spodnjem okvirju " -"in s klikom na puščico \"Izberi\" med okvirjema." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "Z vpisom niza v to polje, zožite izbor %s." - -msgid "Filter" -msgstr "Filtriraj" - -msgid "Choose all" -msgstr "Izberi vse" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Kliknite za izbor vseh %s hkrati." - -msgid "Choose" -msgstr "Izberi" - -msgid "Remove" -msgstr "Odstrani" - -#, javascript-format -msgid "Chosen %s" -msgstr "Izbran %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"To je seznam možnih %s. Odvečne lahko odstranite z izbiro v okvirju in " -"klikom na puščico \"Odstrani\" med okvirjema." - -msgid "Remove all" -msgstr "Odstrani vse" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Kliknite za odstranitev vseh %s hkrati." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(sel)s od %(cnt)s izbranih" -msgstr[1] "%(sel)s od %(cnt)s izbran" -msgstr[2] "%(sel)s od %(cnt)s izbrana" -msgstr[3] "%(sel)s od %(cnt)s izbrani" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Na nekaterih poljih, kjer je omogočeno urejanje, so neshranjene spremembe. V " -"primeru nadaljevanja bodo neshranjene spremembe trajno izgubljene." - -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 "" -"Izbrali ste dejanje, vendar niste shranili sprememb na posameznih poljih. " -"Kliknite na 'V redu', da boste shranili. Dejanje boste morali ponovno " -"izvesti." - -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 "" -"Izbrali ste dejanje, vendar niste naredili nobenih sprememb na posameznih " -"poljih. Verjetno iščete gumb Pojdi namesto Shrani." - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Opomba: glede na čas na strežniku ste %s uro naprej." -msgstr[1] "Opomba: glede na čas na strežniku ste %s uri naprej." -msgstr[2] "Opomba: glede na čas na strežniku ste %s ure naprej." -msgstr[3] "Opomba: glede na čas na strežniku ste %s ur naprej." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Opomba: glede na čas na strežniku ste %s uro zadaj." -msgstr[1] "Opomba: glede na čas na strežniku ste %s uri zadaj." -msgstr[2] "Opomba: glede na čas na strežniku ste %s ure zadaj." -msgstr[3] "Opomba: glede na čas na strežniku ste %s ur zadaj." - -msgid "Now" -msgstr "Takoj" - -msgid "Choose a Time" -msgstr "Izberite čas" - -msgid "Choose a time" -msgstr "Izbor časa" - -msgid "Midnight" -msgstr "Polnoč" - -msgid "6 a.m." -msgstr "Ob 6h" - -msgid "Noon" -msgstr "Opoldne" - -msgid "6 p.m." -msgstr "Ob 18h" - -msgid "Cancel" -msgstr "Prekliči" - -msgid "Today" -msgstr "Danes" - -msgid "Choose a Date" -msgstr "Izberite datum" - -msgid "Yesterday" -msgstr "Včeraj" - -msgid "Tomorrow" -msgstr "Jutri" - -msgid "January" -msgstr "januar" - -msgid "February" -msgstr "februar" - -msgid "March" -msgstr "marec" - -msgid "April" -msgstr "april" - -msgid "May" -msgstr "maj" - -msgid "June" -msgstr "junij" - -msgid "July" -msgstr "julij" - -msgid "August" -msgstr "avgust" - -msgid "September" -msgstr "september" - -msgid "October" -msgstr "oktober" - -msgid "November" -msgstr "november" - -msgid "December" -msgstr "december" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "N" - -msgctxt "one letter Monday" -msgid "M" -msgstr "P" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "T" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "S" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "Č" - -msgctxt "one letter Friday" -msgid "F" -msgstr "P" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "S" - -msgid "Show" -msgstr "Prikaži" - -msgid "Hide" -msgstr "Skrij" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sq/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sq/LC_MESSAGES/django.mo deleted file mode 100644 index e9ea005a..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sq/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sq/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sq/LC_MESSAGES/django.po deleted file mode 100644 index aac5afe5..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sq/LC_MESSAGES/django.po +++ /dev/null @@ -1,724 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Besnik Bleta , 2011,2015 -# Besnik Bleta , 2020 -# Besnik Bleta , 2015,2018-2019 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-14 19:53+0200\n" -"PO-Revision-Date: 2020-07-14 22:38+0000\n" -"Last-Translator: Transifex Bot <>\n" -"Language-Team: Albanian (http://www.transifex.com/django/django/language/" -"sq/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sq\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "U fshinë me sukses %(count)d %(items)s." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "S’mund të fshijë %(name)s" - -msgid "Are you sure?" -msgstr "Jeni i sigurt?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Fshiji %(verbose_name_plural)s e përzgjedhur" - -msgid "Administration" -msgstr "Administrim" - -msgid "All" -msgstr "Krejt" - -msgid "Yes" -msgstr "Po" - -msgid "No" -msgstr "Jo" - -msgid "Unknown" -msgstr "E panjohur" - -msgid "Any date" -msgstr "Çfarëdo date" - -msgid "Today" -msgstr "Sot" - -msgid "Past 7 days" -msgstr "7 ditët e shkuara" - -msgid "This month" -msgstr "Këtë muaj" - -msgid "This year" -msgstr "Këtë vit" - -msgid "No date" -msgstr "Pa datë" - -msgid "Has date" -msgstr "Ka datë" - -msgid "Empty" -msgstr "E zbrazët" - -msgid "Not empty" -msgstr "Jo e zbrazët" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Ju lutemi, jepni %(username)s dhe fjalëkalimin e saktë për një llogari " -"ekipi. Kini parasysh se që të dy fushat mund të jenë të ndjeshme ndaj " -"shkrimit me shkronja të mëdha ose të vogla." - -msgid "Action:" -msgstr "Veprim:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Shtoni një tjetër %(verbose_name)s" - -msgid "Remove" -msgstr "Hiqe" - -msgid "Addition" -msgstr "Shtim" - -msgid "Change" -msgstr "Ndryshoje" - -msgid "Deletion" -msgstr "Fshirje" - -msgid "action time" -msgstr "kohë veprimi" - -msgid "user" -msgstr "përdorues" - -msgid "content type" -msgstr "lloj lënde" - -msgid "object id" -msgstr "id objekti" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "paraqitje objekti" - -msgid "action flag" -msgstr "shenjë veprimi" - -msgid "change message" -msgstr "mesazh ndryshimi" - -msgid "log entry" -msgstr "zë regjistrimi" - -msgid "log entries" -msgstr "zëra regjistrimi" - -#, python-format -msgid "Added “%(object)s”." -msgstr "U shtua “%(object)s”." - -#, python-format -msgid "Changed “%(object)s” — %(changes)s" -msgstr "U ndryshua “%(object)s” — %(changes)s" - -#, python-format -msgid "Deleted “%(object)s.”" -msgstr "U fshi “%(object)s.”" - -msgid "LogEntry Object" -msgstr "Objekt LogEntry" - -#, python-brace-format -msgid "Added {name} “{object}”." -msgstr "U shtua {name} “{object}”." - -msgid "Added." -msgstr "U shtua." - -msgid "and" -msgstr "dhe " - -#, python-brace-format -msgid "Changed {fields} for {name} “{object}”." -msgstr "U ndryshuan {fields} për {name} “{object}”." - -#, python-brace-format -msgid "Changed {fields}." -msgstr "U ndryshuan {fields}." - -#, python-brace-format -msgid "Deleted {name} “{object}”." -msgstr "U fshi {name} “{object}”." - -msgid "No fields changed." -msgstr "S’u ndryshua ndonjë fushë." - -msgid "None" -msgstr "Asnjë" - -msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." -msgstr "" -"Që të përzgjidhni më shumë se një, mbani të shtypur “Control”, ose “Command” " -"në një Mac." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully." -msgstr "{name} “{obj}” u shtua me sukses." - -msgid "You may edit it again below." -msgstr "Mund ta ripërpunoni më poshtë." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was added successfully. You may add another {name} below." -msgstr "" -"{name} “{obj}” u shtua me sukses. Mund të shtoni {name} tjetër më poshtë." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may edit it again below." -msgstr "" -"{name} “{obj}” u ndryshua me sukses. Mund ta përpunoni sërish më poshtë." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully. You may edit it again below." -msgstr "{name} “{obj}” u shtua me sukses. Mund ta përpunoni sërish më poshtë." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may add another {name} " -"below." -msgstr "" -"{name} “{obj}” u ndryshua me sukses. Mund të shtoni {name} tjetër më poshtë." - -#, python-brace-format -msgid "The {name} “{obj}” was changed successfully." -msgstr "{name} “{obj}” u ndryshua me sukses." - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Duhen përzgjedhur objekte që të kryhen veprime mbi ta. S’u ndryshua ndonjë " -"objekt." - -msgid "No action selected." -msgstr "S’u përzgjodh ndonjë veprim." - -#, python-format -msgid "The %(name)s “%(obj)s” was deleted successfully." -msgstr "%(name)s “%(obj)s” u fshi me sukses." - -#, python-format -msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" -msgstr "%(name)s me “%(key)s” ID s’ekziston. Mos qe fshirë vallë?" - -#, python-format -msgid "Add %s" -msgstr "Shtoni %s" - -#, python-format -msgid "Change %s" -msgstr "Ndrysho %s" - -#, python-format -msgid "View %s" -msgstr "Shiheni %s" - -msgid "Database error" -msgstr "Gabim baze të dhënash" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s u ndryshua me sukses." -msgstr[1] "%(count)s %(name)s u ndryshuan me sukses." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s i përzgjedhur" -msgstr[1] "Krejt %(total_count)s të përzgjedhurat" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "0 nga %(cnt)s të përzgjedhur" - -#, python-format -msgid "Change history: %s" -msgstr "Ndryshoni historikun: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"Fshirja e %(class_name)s %(instance)s do të lypte fshirjen e objekteve " -"vijuese të mbrojtura që kanë lidhje me ta: %(related_objects)s" - -msgid "Django site admin" -msgstr "Përgjegjës sajti Django" - -msgid "Django administration" -msgstr "Administrim i Django-s" - -msgid "Site administration" -msgstr "Administrim sajti" - -msgid "Log in" -msgstr "Hyni" - -#, python-format -msgid "%(app)s administration" -msgstr "Administrim %(app)s" - -msgid "Page not found" -msgstr "S’u gjet faqe" - -msgid "We’re sorry, but the requested page could not be found." -msgstr "Na ndjeni, por faqja e kërkuar s’u gjet dot." - -msgid "Home" -msgstr "Hyrje" - -msgid "Server error" -msgstr "Gabim shërbyesi" - -msgid "Server error (500)" -msgstr "Gabim shërbyesi (500)" - -msgid "Server Error (500)" -msgstr "Gabim Shërbyesi (500)" - -msgid "" -"There’s been an error. It’s been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"Pati një gabim. U është njoftuar përgjegjësve të sajtit përmes email-i dhe " -"do të duhej ndrequr pa humbur kohë. Faleminderit për durimin." - -msgid "Run the selected action" -msgstr "Xhiro veprimin e përzgjedhur" - -msgid "Go" -msgstr "Shko tek" - -msgid "Click here to select the objects across all pages" -msgstr "Klikoni këtu që të përzgjidhni objektet nëpër krejt faqet" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Përzgjidhni krejt %(total_count)s %(module_name)s" - -msgid "Clear selection" -msgstr "Spastroje përzgjedhjen" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "Modele te aplikacioni %(name)s" - -msgid "Add" -msgstr "Shtoni" - -msgid "View" -msgstr "Shiheni" - -msgid "You don’t have permission to view or edit anything." -msgstr "S’keni leje të shihni apo të përpunoni gjë." - -msgid "" -"First, enter a username and password. Then, you’ll be able to edit more user " -"options." -msgstr "" -"Së pari, jepni një emër përdoruesi dhe një fjalëkalim. Mandej, do të jeni në " -"gjendje të përpunoni më tepër mundësi përdoruesi." - -msgid "Enter a username and password." -msgstr "Jepni emër përdoruesi dhe fjalëkalim." - -msgid "Change password" -msgstr "Ndryshoni fjalëkalimin" - -msgid "Please correct the error below." -msgstr "Ju lutemi, ndreqni gabimin më poshtë." - -msgid "Please correct the errors below." -msgstr "Ju lutemi, ndreqni gabimet më poshtë." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "" -"Jepni një fjalëkalim të ri për përdoruesin %(username)s." - -msgid "Welcome," -msgstr "Mirë se vini," - -msgid "View site" -msgstr "Shihni sajtin" - -msgid "Documentation" -msgstr "Dokumentim" - -msgid "Log out" -msgstr "Dilni" - -#, python-format -msgid "Add %(name)s" -msgstr "Shto %(name)s" - -msgid "History" -msgstr "Historik" - -msgid "View on site" -msgstr "Shiheni në sajt" - -msgid "Filter" -msgstr "Filtër" - -msgid "Clear all filters" -msgstr "Spastroji krejt filtrat" - -msgid "Remove from sorting" -msgstr "Hiqe prej renditjeje" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Përparësi renditjesh: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Shfaq/fshih renditjen" - -msgid "Delete" -msgstr "Fshije" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Fshirja e %(object_name)s '%(escaped_object)s' do të shpinte në fshirjen e " -"objekteve të lidhur me të, por llogaria juaj nuk ka leje për fshirje të " -"objekteve të llojeve të mëposhtëm:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"Fshirja e %(object_name)s '%(escaped_object)s' do të kërkonte fshirjen e " -"objekteve të mbrojtur vijues, të lidhur me të:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Jeni i sigurt se doni të fshihet %(object_name)s \"%(escaped_object)s\"? " -"Krejt objektet vijues të lidhur me të do të fshihen:" - -msgid "Objects" -msgstr "Objekte" - -msgid "Yes, I’m sure" -msgstr "Po, jam i sigurt" - -msgid "No, take me back" -msgstr "Jo, kthemëni mbrapsht" - -msgid "Delete multiple objects" -msgstr "Fshini disa objekte njëherësh" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Fshirja e %(objects_name)s të përzgjedhur do të shpjerë në fshirjen e " -"objekteve të lidhur me të, por llogaria juaj nuk ka leje të fshijë llojet " -"vijuese të objekteve:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Fshirja e %(objects_name)s të përzgjedhur do të kërkonte fshirjen e " -"objekteve të mbrojtur vijues, të lidhur me të:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Jeni i sigurt se doni të fshihen %(objects_name)s e përzgjedhur? Krejt " -"objektet vijues dhe gjëra të lidhura me ta do të fshihen:" - -msgid "Delete?" -msgstr "Të fshihet?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " Nga %(filter_title)s " - -msgid "Summary" -msgstr "Përmbledhje" - -msgid "Recent actions" -msgstr "Veprime së fundi" - -msgid "My actions" -msgstr "Veprimet e mia" - -msgid "None available" -msgstr "Asnjë i passhëm" - -msgid "Unknown content" -msgstr "Lëndë e panjohur" - -msgid "" -"Something’s wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Diç është gabim me instalimin tuaj të bazës së të dhënave. Sigurohuni që " -"janë krijuar tabelat e duhura të bazës së të dhënave dhe sigurohuni që baza " -"e të dhënave është e lexueshme nga përdoruesi i duhur." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"Jeni mirëfilltësuar si %(username)s, por s’jeni i autorizuar të hyni në këtë " -"faqe. Do të donit të hyni në një llogari tjetër?" - -msgid "Forgotten your password or username?" -msgstr "Harruat fjalëkalimin ose emrin tuaj të përdoruesit?" - -msgid "Toggle navigation" -msgstr "" - -msgid "Date/time" -msgstr "Datë/kohë" - -msgid "User" -msgstr "Përdorues" - -msgid "Action" -msgstr "Veprim" - -msgid "" -"This object doesn’t have a change history. It probably wasn’t added via this " -"admin site." -msgstr "" -"Ky objekt nuk ka historik ndryshimesh. Gjasat janë të mos ketë qenë shtuar " -"përmes këtij sajti admin." - -msgid "Show all" -msgstr "Shfaqi krejt" - -msgid "Save" -msgstr "Ruaje" - -msgid "Popup closing…" -msgstr "Mbyllje flluske…" - -msgid "Search" -msgstr "Kërko" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s përfundim" -msgstr[1] "%(counter)s përfundime" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s gjithsej" - -msgid "Save as new" -msgstr "Ruaje si të ri" - -msgid "Save and add another" -msgstr "Ruajeni dhe shtoni një tjetër" - -msgid "Save and continue editing" -msgstr "Ruajeni dhe vazhdoni përpunimin" - -msgid "Save and view" -msgstr "Ruajeni dhe shiheni" - -msgid "Close" -msgstr "Mbylle" - -#, python-format -msgid "Change selected %(model)s" -msgstr "Ndryshoni %(model)s e përzgjedhur" - -#, python-format -msgid "Add another %(model)s" -msgstr "Shtoni një %(model)s tjetër" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Fshije %(model)s e përzgjedhur" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Faleminderit që shpenzoni sot pak kohë të çmuar me sajtin Web." - -msgid "Log in again" -msgstr "Hyni sërish" - -msgid "Password change" -msgstr "Ndryshim fjalëkalimi" - -msgid "Your password was changed." -msgstr "Fjalëkalimi juaj u ndryshua." - -msgid "" -"Please enter your old password, for security’s sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Ju lutemi, për hir të sigurisë, jepni fjalëkalimin tuaj të vjetër,dhe mandej " -"jepeni dy herë fjalëkalimin tuaj të ri, që të mund të verifikojmë se i keni " -"shtypur saktë." - -msgid "Change my password" -msgstr "Ndrysho fjalëkalimin tim" - -msgid "Password reset" -msgstr "Ricaktim fjalëkalimi" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "" -"Fjalëkalimi juaj u caktua. Mund të vazhdoni më tej dhe të bëni hyrjen tani." - -msgid "Password reset confirmation" -msgstr "Ripohim ricaktimi fjalëkalimi" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Ju lutemi, jepeni fjalëkalimin tuaj dy herë, që kështu të mund të " -"verifikojmë që e shtypët saktë." - -msgid "New password:" -msgstr "Fjalëkalim i ri:" - -msgid "Confirm password:" -msgstr "Ripohoni fjalëkalimin:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Lidhja për ricaktimin e fjalëkalimit qe e pavlefshme, ndoshta ngaqë është " -"përdorur tashmë një herë. Ju lutemi, kërkoni një ricaktim të ri fjalëkalimi." - -msgid "" -"We’ve emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Ju kemi dërguar me email udhëzime për caktimin e fjalëkalimit tuaj, nëse " -"ekziston një llogari me email-in që dhatë. Duhet t’ju vijnë pas pak." - -msgid "" -"If you don’t receive an email, please make sure you’ve entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Nëse s’merrni ndonjë email, ju lutemi, sigurohuni se keni dhënë adresën me " -"të cilën u regjistruat, dhe kontrolloni edhe te dosja e mesazheve të " -"padëshiruar." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"Këtë email po e merrni ngaqë kërkuat ricaktim fjalëkalimi për llogarinë tuaj " -"si përdorues te %(site_name)s." - -msgid "Please go to the following page and choose a new password:" -msgstr "Ju lutemi, shkoni te faqja vijuese dhe zgjidhni një fjalëkalim të ri:" - -msgid "Your username, in case you’ve forgotten:" -msgstr "Emri juaj i përdoruesit, në rast se e keni harruar:" - -msgid "Thanks for using our site!" -msgstr "Faleminderit që përdorni sajtin tonë!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "Ekipi i %(site_name)s" - -msgid "" -"Forgotten your password? Enter your email address below, and we’ll email " -"instructions for setting a new one." -msgstr "" -"Harruat fjalëkalimin tuaj? Jepni më poshtë adresën tuaj email, dhe do t’ju " -"dërgojmë me email udhëzime për caktimin e një të riu." - -msgid "Email address:" -msgstr "Adresë email:" - -msgid "Reset my password" -msgstr "Ricakto fjalëkalimin tim" - -msgid "All dates" -msgstr "Krejt datat" - -#, python-format -msgid "Select %s" -msgstr "Përzgjidhni %s" - -#, python-format -msgid "Select %s to change" -msgstr "Përzgjidhni %s për ta ndryshuar" - -#, python-format -msgid "Select %s to view" -msgstr "Përzgjidhni %s për parje" - -msgid "Date:" -msgstr "Datë:" - -msgid "Time:" -msgstr "Kohë:" - -msgid "Lookup" -msgstr "Kërkim" - -msgid "Currently:" -msgstr "Tani:" - -msgid "Change:" -msgstr "Ndryshim:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sq/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sq/LC_MESSAGES/djangojs.mo deleted file mode 100644 index a56fa94d..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sq/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sq/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sq/LC_MESSAGES/djangojs.po deleted file mode 100644 index 4b609f4d..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sq/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,221 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Besnik Bleta , 2011-2012,2015 -# Besnik Bleta , 2020 -# Besnik Bleta , 2015,2017 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-11 20:56+0200\n" -"PO-Revision-Date: 2020-05-30 09:11+0000\n" -"Last-Translator: Besnik Bleta \n" -"Language-Team: Albanian (http://www.transifex.com/django/django/language/" -"sq/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sq\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "%s i gatshëm" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Kjo është lista e %s të gatshëm. Mund të zgjidhni disa duke i përzgjedhur te " -"kutiza më poshtë dhe mandej duke klikuar mbi shigjetën \"Zgjidhe\" mes dy " -"kutizave." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "Shkruani brenda kutizës që të filtrohet lista e %s të passhme." - -msgid "Filter" -msgstr "Filtro" - -msgid "Choose all" -msgstr "Zgjidheni krejt" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Klikoni që të zgjidhen krejt %s njëherësh." - -msgid "Choose" -msgstr "Zgjidhni" - -msgid "Remove" -msgstr "Hiqe" - -#, javascript-format -msgid "Chosen %s" -msgstr "U zgjodh %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Kjo është lista e %s të gatshme. Mund të hiqni disa duke i përzgjedhur te " -"kutiza më poshtë e mandej duke klikuar mbi shigjetën \"Hiqe\" mes dy " -"kutizave." - -msgid "Remove all" -msgstr "Hiqi krejt" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Klikoni që të hiqen krejt %s e zgjedhura njëherësh." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "U përzgjodh %(sel)s nga %(cnt)s" -msgstr[1] "U përzgjodhën %(sel)s nga %(cnt)s" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Keni ndryshime të paruajtura te fusha individuale të ndryshueshme. Nëse " -"kryeni një veprim, ndryshimet e paruajtura do të humbin." - -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 "" -"Keni përzgjedhur një veprim, por s’keni ruajtur ende ndryshimet që bëtë te " -"fusha individuale. Ju lutemi, klikoni OK që të bëhet ruajtja. Do t’ju duhet " -"ta ribëni veprimin." - -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 "" -"Keni përzgjedhur një veprim, dhe nuk keni bërë ndonjë ndryshim te fusha " -"individuale. Ndoshta po kërkonit për butonin Shko, në vend se për butonin " -"Ruaje." - -msgid "Now" -msgstr "Tani" - -msgid "Midnight" -msgstr "Mesnatë" - -msgid "6 a.m." -msgstr "6 a.m." - -msgid "Noon" -msgstr "Mesditë" - -msgid "6 p.m." -msgstr "6 p.m." - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Shënim: Jeni %s orë para kohës së shërbyesit." -msgstr[1] "Shënim: Jeni %s orë para kohës së shërbyesit." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Shënim: Jeni %s orë pas kohës së shërbyesit." -msgstr[1] "Shënim: Jeni %s orë pas kohës së shërbyesit." - -msgid "Choose a Time" -msgstr "Zgjidhni një Kohë" - -msgid "Choose a time" -msgstr "Zgjidhni një kohë" - -msgid "Cancel" -msgstr "Anuloje" - -msgid "Today" -msgstr "Sot" - -msgid "Choose a Date" -msgstr "Zgjidhni një Datë" - -msgid "Yesterday" -msgstr "Dje" - -msgid "Tomorrow" -msgstr "Nesër" - -msgid "January" -msgstr "Janar" - -msgid "February" -msgstr "Shkurt" - -msgid "March" -msgstr "Mars" - -msgid "April" -msgstr "Prill" - -msgid "May" -msgstr "Maj" - -msgid "June" -msgstr "Qershor" - -msgid "July" -msgstr "Korrik" - -msgid "August" -msgstr "Gusht" - -msgid "September" -msgstr "Shtator" - -msgid "October" -msgstr "Tetor" - -msgid "November" -msgstr "Nëntor" - -msgid "December" -msgstr "Dhjetor" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "D" - -msgctxt "one letter Monday" -msgid "M" -msgstr "H" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "M" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "M" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "E" - -msgctxt "one letter Friday" -msgid "F" -msgstr "P" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "S" - -msgid "Show" -msgstr "Shfaqe" - -msgid "Hide" -msgstr "Fshihe" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sr/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sr/LC_MESSAGES/django.mo deleted file mode 100644 index 16d4e9db..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sr/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sr/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sr/LC_MESSAGES/django.po deleted file mode 100644 index ad5c35dc..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sr/LC_MESSAGES/django.po +++ /dev/null @@ -1,715 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Branko Kokanovic , 2018 -# Igor Jerosimić, 2019 -# Jannis Leidel , 2011 -# Janos Guljas , 2011-2012 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-01-16 20:42+0100\n" -"PO-Revision-Date: 2019-06-27 19:30+0000\n" -"Last-Translator: Igor Jerosimić\n" -"Language-Team: Serbian (http://www.transifex.com/django/django/language/" -"sr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sr\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "Успешно обрисано: %(count)d %(items)s." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "Несуспело брисање %(name)s" - -msgid "Are you sure?" -msgstr "Да ли сте сигурни?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Бриши означене објекте класе %(verbose_name_plural)s" - -msgid "Administration" -msgstr "Администрација" - -msgid "All" -msgstr "Сви" - -msgid "Yes" -msgstr "Да" - -msgid "No" -msgstr "Не" - -msgid "Unknown" -msgstr "Непознато" - -msgid "Any date" -msgstr "Сви датуми" - -msgid "Today" -msgstr "Данас" - -msgid "Past 7 days" -msgstr "Последњих 7 дана" - -msgid "This month" -msgstr "Овај месец" - -msgid "This year" -msgstr "Ова година" - -msgid "No date" -msgstr "Нема датума" - -msgid "Has date" -msgstr "Има датум" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Молим вас унесите исправно %(username)s и лозинку. Обратите пажњу да мала и " -"велика слова представљају различите карактере." - -msgid "Action:" -msgstr "Радња:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Додај још један објекат класе %(verbose_name)s." - -msgid "Remove" -msgstr "Обриши" - -msgid "Addition" -msgstr "Додавања" - -msgid "Change" -msgstr "Измени" - -msgid "Deletion" -msgstr "Брисања" - -msgid "action time" -msgstr "време радње" - -msgid "user" -msgstr "корисник" - -msgid "content type" -msgstr "тип садржаја" - -msgid "object id" -msgstr "id објекта" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "опис објекта" - -msgid "action flag" -msgstr "ознака радње" - -msgid "change message" -msgstr "опис измене" - -msgid "log entry" -msgstr "запис у логовима" - -msgid "log entries" -msgstr "записи у логовима" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "Додат објекат класе „%(object)s“." - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "Промењен објекат класе „%(object)s“ - %(changes)s" - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "Уклоњен објекат класе „%(object)s“." - -msgid "LogEntry Object" -msgstr "Објекат уноса лога" - -#, python-brace-format -msgid "Added {name} \"{object}\"." -msgstr "Додат објекат {name} \"{object}\"." - -msgid "Added." -msgstr "Додато." - -msgid "and" -msgstr "и" - -#, python-brace-format -msgid "Changed {fields} for {name} \"{object}\"." -msgstr "Измењена поља {fields} за {name} \"{object}\"." - -#, python-brace-format -msgid "Changed {fields}." -msgstr "Измењена поља {fields}." - -#, python-brace-format -msgid "Deleted {name} \"{object}\"." -msgstr "Обрисан објекат {name} \"{object}\"." - -msgid "No fields changed." -msgstr "Без измена у пољима." - -msgid "None" -msgstr "Ништа" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" -"Држите „Control“, или „Command“ на Mac-у да бисте обележили више од једне " -"ставке." - -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "Објекат {name} \"{obj}\" успешно додат." - -msgid "You may edit it again below." -msgstr "Можете га изменити опет испод" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may add another {name} " -"below." -msgstr "" -"Објекат {name} \"{obj}\" успешно додат. Можете додати још један {name} испод." - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." -msgstr "" -"Објекат {name} \"{obj}\" успешно измењен. Можете га опет изменити испод." - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "Објекат {name} \"{obj}\" успешно додат. Испод га можете изменити." - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may add another {name} " -"below." -msgstr "" -"Објекат {name} \"{obj}\" успешно измењен. Можете додати још један {name} " -"испод." - -#, python-brace-format -msgid "The {name} \"{obj}\" was changed successfully." -msgstr "Објекат {name} \"{obj}\" успешно измењен." - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Потребно је изабрати објекте да би се извршила акција над њима. Ниједан " -"објекат није промењен." - -msgid "No action selected." -msgstr "Није изабрана ниједна акција." - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "Објекат „%(obj)s“ класе %(name)s успешно је обрисан." - -#, python-format -msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" -msgstr "%(name)s са идентификацијом \"%(key)s\" не постоји. Можда је избрисан?" - -#, python-format -msgid "Add %s" -msgstr "Додај објекат класе %s" - -#, python-format -msgid "Change %s" -msgstr "Измени објекат класе %s" - -#, python-format -msgid "View %s" -msgstr "Преглед %s" - -msgid "Database error" -msgstr "Грешка у бази података" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "Успешно промењен %(count)s %(name)s." -msgstr[1] "Успешно промењена %(count)s %(name)s." -msgstr[2] "Успешно промењених %(count)s %(name)s." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s изабран" -msgstr[1] "Сва %(total_count)s изабрана" -msgstr[2] "Свих %(total_count)s изабраних" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "0 од %(cnt)s изабрано" - -#, python-format -msgid "Change history: %s" -msgstr "Историјат измена: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"Да би избрисали %(class_name)s%(instance)s потребно је брисати и следеће " -"заштићене повезане објекте: %(related_objects)s" - -msgid "Django site admin" -msgstr "Django администрација сајта" - -msgid "Django administration" -msgstr "Django администрација" - -msgid "Site administration" -msgstr "Администрација система" - -msgid "Log in" -msgstr "Пријава" - -#, python-format -msgid "%(app)s administration" -msgstr "%(app)s администрација" - -msgid "Page not found" -msgstr "Страница није пронађена" - -msgid "We're sorry, but the requested page could not be found." -msgstr "Жао нам је, тражена страница није пронађена." - -msgid "Home" -msgstr "Почетна" - -msgid "Server error" -msgstr "Грешка на серверу" - -msgid "Server error (500)" -msgstr "Грешка на серверу (500)" - -msgid "Server Error (500)" -msgstr "Грешка на серверу (500)" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"Десила се грешка. Пријављена је администраторима сајта преко е-поште и " -"требало би да ускоро буде исправљена. Хвала Вам на стрпљењу." - -msgid "Run the selected action" -msgstr "Покрени одабрану радњу" - -msgid "Go" -msgstr "Почни" - -msgid "Click here to select the objects across all pages" -msgstr "Изабери све објекте на овој страници." - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Изабери све %(module_name)s од %(total_count)s укупно." - -msgid "Clear selection" -msgstr "Поништи избор" - -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" -"Прво унесите корисничко име и лозинку. Потом ћете моћи да мењате још " -"корисничких подешавања." - -msgid "Enter a username and password." -msgstr "Унесите корисничко име и лозинку" - -msgid "Change password" -msgstr "Промена лозинке" - -msgid "Please correct the error below." -msgstr "Молимо исправите грешку испод." - -msgid "Please correct the errors below." -msgstr "Исправите грешке испод." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "Унесите нову лозинку за корисника %(username)s." - -msgid "Welcome," -msgstr "Добродошли," - -msgid "View site" -msgstr "Погледај сајт" - -msgid "Documentation" -msgstr "Документација" - -msgid "Log out" -msgstr "Одјава" - -#, python-format -msgid "Add %(name)s" -msgstr "Додај објекат класе %(name)s" - -msgid "History" -msgstr "Историјат" - -msgid "View on site" -msgstr "Преглед на сајту" - -msgid "Filter" -msgstr "Филтер" - -msgid "Remove from sorting" -msgstr "Избаци из сортирања" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Приоритет сортирања: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Укључи/искључи сортирање" - -msgid "Delete" -msgstr "Обриши" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Уклањање %(object_name)s „%(escaped_object)s“ повлачи уклањање свих објеката " -"који су повезани са овим објектом, али ваш налог нема дозволе за брисање " -"следећих типова објеката:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"Да би избрисали изабран %(object_name)s „%(escaped_object)s“ потребно је " -"брисати и следеће заштићене повезане објекте:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Да сигурни да желите да обришете %(object_name)s „%(escaped_object)s“? " -"Следећи објекти који су у вези са овим објектом ће такође бити обрисани:" - -msgid "Objects" -msgstr "Објекти" - -msgid "Yes, I'm sure" -msgstr "Да, сигуран сам" - -msgid "No, take me back" -msgstr "Не, хоћу назад" - -msgid "Delete multiple objects" -msgstr "Брисање више објеката" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Да би избрисали изабране %(objects_name)s потребно је брисати и заштићене " -"повезане објекте, међутим ваш налог нема дозволе за брисање следећих типова " -"објеката:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Да би избрисали изабране %(objects_name)s потребно је брисати и следеће " -"заштићене повезане објекте:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Да ли сте сигурни да желите да избришете изабране %(objects_name)s? Сви " -"следећи објекти и објекти са њима повезани ће бити избрисани:" - -msgid "View" -msgstr "Преглед" - -msgid "Delete?" -msgstr "Брисање?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " %(filter_title)s " - -msgid "Summary" -msgstr "Сумарно" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "Модели у апликацији %(name)s" - -msgid "Add" -msgstr "Додај" - -msgid "You don't have permission to view or edit anything." -msgstr "Немате дозвола да погледате или измените ништа." - -msgid "Recent actions" -msgstr "Скорашње акције" - -msgid "My actions" -msgstr "Моје акције" - -msgid "None available" -msgstr "Нема података" - -msgid "Unknown content" -msgstr "Непознат садржај" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Нешто није уреду са вашом базом података. Проверите да ли постоје " -"одговарајуће табеле и да ли одговарајући корисник има приступ бази." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"Пријављени сте као %(username)s, али немате овлашћења да приступите овој " -"страни. Да ли желите да се пријавите под неким другим налогом?" - -msgid "Forgotten your password or username?" -msgstr "Заборавили сте лозинку или корисничко име?" - -msgid "Date/time" -msgstr "Датум/време" - -msgid "User" -msgstr "Корисник" - -msgid "Action" -msgstr "Радња" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" -"Овај објекат нема забележен историјат измена. Вероватно није додат кроз овај " -"сајт за администрацију." - -msgid "Show all" -msgstr "Прикажи све" - -msgid "Save" -msgstr "Сачувај" - -msgid "Popup closing…" -msgstr "Попуп се затвара..." - -msgid "Search" -msgstr "Претрага" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s резултат" -msgstr[1] "%(counter)s резултата" -msgstr[2] "%(counter)s резултата" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "укупно %(full_result_count)s" - -msgid "Save as new" -msgstr "Сачувај као нови" - -msgid "Save and add another" -msgstr "Сачувај и додај следећи" - -msgid "Save and continue editing" -msgstr "Сачувај и настави са изменама" - -msgid "Save and view" -msgstr "Сними и погледај" - -msgid "Close" -msgstr "Затвори" - -#, python-format -msgid "Change selected %(model)s" -msgstr "Измени одабрани модел %(model)s" - -#, python-format -msgid "Add another %(model)s" -msgstr "Додај још један модел %(model)s" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Обриши одабрани модел %(model)s" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Хвала што сте данас провели време на овом сајту." - -msgid "Log in again" -msgstr "Поновна пријава" - -msgid "Password change" -msgstr "Измена лозинке" - -msgid "Your password was changed." -msgstr "Ваша лозинка је измењена." - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Из безбедносних разлога прво унесите своју стару лозинку, а нову затим " -"унесите два пута да бисмо могли да проверимо да ли сте је правилно унели." - -msgid "Change my password" -msgstr "Измени моју лозинку" - -msgid "Password reset" -msgstr "Ресетовање лозинке" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Ваша лозинка је постављена. Можете се пријавити." - -msgid "Password reset confirmation" -msgstr "Потврда ресетовања лозинке" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Унесите нову лозинку два пута како бисмо могли да проверимо да ли сте је " -"правилно унели." - -msgid "New password:" -msgstr "Нова лозинка:" - -msgid "Confirm password:" -msgstr "Потврда лозинке:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Линк за ресетовање лозинке није важећи, вероватно зато што је већ " -"искоришћен. Поново затражите ресетовање лозинке." - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Послали смо Вам упутства за постављање лозинке, уколико налог са овом " -"адресом постоји. Требало би да их добијете ускоро." - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Ако не добијете поруку, проверите да ли сте унели добру адресу са којом сте " -"се и регистровали и проверите спам фасциклу." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"Примате ову поруку зато што сте затражили ресетовање лозинке за кориснички " -"налог на сајту %(site_name)s." - -msgid "Please go to the following page and choose a new password:" -msgstr "Идите на следећу страницу и поставите нову лозинку." - -msgid "Your username, in case you've forgotten:" -msgstr "Уколико сте заборавили, ваше корисничко име:" - -msgid "Thanks for using our site!" -msgstr "Хвала што користите наш сајт!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "Екипа сајта %(site_name)s" - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" -"Заборавили сте лозинку? Унесите адресу е-поште испод и послаћемо Вам на њу " -"упутства за постављање нове лозинке." - -msgid "Email address:" -msgstr "Адреса е-поште:" - -msgid "Reset my password" -msgstr "Ресетуј моју лозинку" - -msgid "All dates" -msgstr "Сви датуми" - -#, python-format -msgid "Select %s" -msgstr "Одабери објекат класе %s" - -#, python-format -msgid "Select %s to change" -msgstr "Одабери објекат класе %s за измену" - -#, python-format -msgid "Select %s to view" -msgstr "Одабери %s за преглед" - -msgid "Date:" -msgstr "Датум:" - -msgid "Time:" -msgstr "Време:" - -msgid "Lookup" -msgstr "Претражи" - -msgid "Currently:" -msgstr "Тренутно:" - -msgid "Change:" -msgstr "Измена:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sr/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sr/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 3c6ee7f7..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sr/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sr/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sr/LC_MESSAGES/djangojs.po deleted file mode 100644 index 325f7f4b..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sr/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,216 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Branko Kokanovic , 2018 -# Jannis Leidel , 2011 -# Janos Guljas , 2011-2012 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-05-17 11:50+0200\n" -"PO-Revision-Date: 2018-01-30 10:24+0000\n" -"Last-Translator: Branko Kokanovic \n" -"Language-Team: Serbian (http://www.transifex.com/django/django/language/" -"sr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sr\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" - -#, javascript-format -msgid "Available %s" -msgstr "Доступни %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Ово је листа доступних „%s“. Можете изабрати елементе тако што ћете их " -"изабрати у листи и кликнути на „Изабери“." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "Филтрирајте листу доступних елемената „%s“." - -msgid "Filter" -msgstr "Филтер" - -msgid "Choose all" -msgstr "Изабери све" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Изаберите све „%s“ одједном." - -msgid "Choose" -msgstr "Изабери" - -msgid "Remove" -msgstr "Уклони" - -#, javascript-format -msgid "Chosen %s" -msgstr "Изабрано „%s“" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Ово је листа изабраних „%s“. Можете уклонити елементе тако што ћете их " -"изабрати у листи и кликнути на „Уклони“." - -msgid "Remove all" -msgstr "Уклони све" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Уклоните све изабране „%s“ одједном." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(sel)s од %(cnt)s изабран" -msgstr[1] "%(sel)s од %(cnt)s изабрана" -msgstr[2] "%(sel)s од %(cnt)s изабраних" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Имате несачиване измене. Ако покренете акцију, измене ће бити изгубљене." - -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 "Изабрали сте акцију али нисте сачували промене поља." - -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 "Изабрали сте акцију али нисте изменили ни једно поље." - -msgid "Now" -msgstr "Тренутно време" - -msgid "Midnight" -msgstr "Поноћ" - -msgid "6 a.m." -msgstr "18ч" - -msgid "Noon" -msgstr "Подне" - -msgid "6 p.m." -msgstr "18ч" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Обавештење: %s сат сте испред серверског времена." -msgstr[1] "Обавештење: %s сата сте испред серверског времена." -msgstr[2] "Обавештење: %s сати сте испред серверског времена." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Обавештење: %s сат сте иза серверског времена." -msgstr[1] "Обавештење: %s сата сте иза серверског времена." -msgstr[2] "Обавештење: %s сати сте иза серверског времена." - -msgid "Choose a Time" -msgstr "Одаберите време" - -msgid "Choose a time" -msgstr "Одабир времена" - -msgid "Cancel" -msgstr "Поништи" - -msgid "Today" -msgstr "Данас" - -msgid "Choose a Date" -msgstr "Одаберите датум" - -msgid "Yesterday" -msgstr "Јуче" - -msgid "Tomorrow" -msgstr "Сутра" - -msgid "January" -msgstr "Јануар" - -msgid "February" -msgstr "Фебруар" - -msgid "March" -msgstr "Март" - -msgid "April" -msgstr "Април" - -msgid "May" -msgstr "Мај" - -msgid "June" -msgstr "Јун" - -msgid "July" -msgstr "Јул" - -msgid "August" -msgstr "Август" - -msgid "September" -msgstr "Септембар" - -msgid "October" -msgstr "Октобар" - -msgid "November" -msgstr "Новембар" - -msgid "December" -msgstr "Децембар" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "Н" - -msgctxt "one letter Monday" -msgid "M" -msgstr "П" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "У" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "С" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "Ч" - -msgctxt "one letter Friday" -msgid "F" -msgstr "П" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "С" - -msgid "Show" -msgstr "Покажи" - -msgid "Hide" -msgstr "Сакриј" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sr_Latn/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sr_Latn/LC_MESSAGES/django.mo deleted file mode 100644 index 65c851bf..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sr_Latn/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sr_Latn/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sr_Latn/LC_MESSAGES/django.po deleted file mode 100644 index 4c3d304a..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sr_Latn/LC_MESSAGES/django.po +++ /dev/null @@ -1,694 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Igor Jerosimić, 2019 -# Jannis Leidel , 2011 -# Janos Guljas , 2011-2012 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-01-16 20:42+0100\n" -"PO-Revision-Date: 2019-06-27 12:37+0000\n" -"Last-Translator: Igor Jerosimić\n" -"Language-Team: Serbian (Latin) (http://www.transifex.com/django/django/" -"language/sr@latin/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sr@latin\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "Uspešno obrisano: %(count)d %(items)s." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "Nesuspelo brisanje %(name)s" - -msgid "Are you sure?" -msgstr "Da li ste sigurni?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Briši označene objekte klase %(verbose_name_plural)s" - -msgid "Administration" -msgstr "Administracija" - -msgid "All" -msgstr "Svi" - -msgid "Yes" -msgstr "Da" - -msgid "No" -msgstr "Ne" - -msgid "Unknown" -msgstr "Nepoznato" - -msgid "Any date" -msgstr "Svi datumi" - -msgid "Today" -msgstr "Danas" - -msgid "Past 7 days" -msgstr "Poslednjih 7 dana" - -msgid "This month" -msgstr "Ovaj mesec" - -msgid "This year" -msgstr "Ova godina" - -msgid "No date" -msgstr "Nema datuma" - -msgid "Has date" -msgstr "Ima datum" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Molim vas unesite ispravno %(username)s i lozinku. Obratite pažnju da mala i " -"velika slova predstavljaju različite karaktere." - -msgid "Action:" -msgstr "Radnja:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Dodaj još jedan objekat klase %(verbose_name)s." - -msgid "Remove" -msgstr "Obriši" - -msgid "Addition" -msgstr "Dodavanja" - -msgid "Change" -msgstr "Izmeni" - -msgid "Deletion" -msgstr "Brisanja" - -msgid "action time" -msgstr "vreme radnje" - -msgid "user" -msgstr "korisnik" - -msgid "content type" -msgstr "tip sadržaja" - -msgid "object id" -msgstr "id objekta" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "opis objekta" - -msgid "action flag" -msgstr "oznaka radnje" - -msgid "change message" -msgstr "opis izmene" - -msgid "log entry" -msgstr "zapis u logovima" - -msgid "log entries" -msgstr "zapisi u logovima" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "Dodat objekat klase „%(object)s“." - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "Promenjen objekat klase „%(object)s“ - %(changes)s" - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "Uklonjen objekat klase „%(object)s“." - -msgid "LogEntry Object" -msgstr "Objekat unosa loga" - -#, python-brace-format -msgid "Added {name} \"{object}\"." -msgstr "Dodat objekat {name} \"{object}\"." - -msgid "Added." -msgstr "Dodato." - -msgid "and" -msgstr "i" - -#, python-brace-format -msgid "Changed {fields} for {name} \"{object}\"." -msgstr "Izmenjena polja {fields} za {name} \"{object}\"." - -#, python-brace-format -msgid "Changed {fields}." -msgstr "Izmenjena polja {fields}." - -#, python-brace-format -msgid "Deleted {name} \"{object}\"." -msgstr "Obrisan objekat {name} \"{object}\"." - -msgid "No fields changed." -msgstr "Bez izmena u poljima." - -msgid "None" -msgstr "Ništa" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "" - -msgid "You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was changed successfully." -msgstr "" - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Potrebno je izabrati objekte da bi se izvršila akcija nad njima. Nijedan " -"objekat nije promenjen." - -msgid "No action selected." -msgstr "Nije izabrana nijedna akcija." - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "Objekat „%(obj)s“ klase %(name)s uspešno je obrisan." - -#, python-format -msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" -msgstr "" - -#, python-format -msgid "Add %s" -msgstr "Dodaj objekat klase %s" - -#, python-format -msgid "Change %s" -msgstr "Izmeni objekat klase %s" - -#, python-format -msgid "View %s" -msgstr "Pregled %s" - -msgid "Database error" -msgstr "Greška u bazi podataka" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "Uspešno promenjen %(count)s %(name)s." -msgstr[1] "Uspešno promenjena %(count)s %(name)s." -msgstr[2] "Uspešno promenjenih %(count)s %(name)s." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s izabran" -msgstr[1] "Sva %(total_count)s izabrana" -msgstr[2] "Svih %(total_count)s izabranih" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "0 od %(cnt)s izabrano" - -#, python-format -msgid "Change history: %s" -msgstr "Istorijat izmena: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" - -msgid "Django site admin" -msgstr "Django administracija sajta" - -msgid "Django administration" -msgstr "Django administracija" - -msgid "Site administration" -msgstr "Administracija sistema" - -msgid "Log in" -msgstr "Prijava" - -#, python-format -msgid "%(app)s administration" -msgstr "" - -msgid "Page not found" -msgstr "Stranica nije pronađena" - -msgid "We're sorry, but the requested page could not be found." -msgstr "Žao nam je, tražena stranica nije pronađena." - -msgid "Home" -msgstr "Početna" - -msgid "Server error" -msgstr "Greška na serveru" - -msgid "Server error (500)" -msgstr "Greška na serveru (500)" - -msgid "Server Error (500)" -msgstr "Greška na serveru (500)" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" - -msgid "Run the selected action" -msgstr "Pokreni odabranu radnju" - -msgid "Go" -msgstr "Počni" - -msgid "Click here to select the objects across all pages" -msgstr "Izaberi sve objekte na ovoj stranici." - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Izaberi sve %(module_name)s od %(total_count)s ukupno." - -msgid "Clear selection" -msgstr "Poništi izbor" - -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" -"Prvo unesite korisničko ime i lozinku. Potom ćete moći da menjate još " -"korisničkih podešavanja." - -msgid "Enter a username and password." -msgstr "Unesite korisničko ime i lozinku" - -msgid "Change password" -msgstr "Promena lozinke" - -msgid "Please correct the error below." -msgstr "" - -msgid "Please correct the errors below." -msgstr "" - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "Unesite novu lozinku za korisnika %(username)s." - -msgid "Welcome," -msgstr "Dobrodošli," - -msgid "View site" -msgstr "Pogledaj sajt" - -msgid "Documentation" -msgstr "Dokumentacija" - -msgid "Log out" -msgstr "Odjava" - -#, python-format -msgid "Add %(name)s" -msgstr "Dodaj objekat klase %(name)s" - -msgid "History" -msgstr "Istorijat" - -msgid "View on site" -msgstr "Pregled na sajtu" - -msgid "Filter" -msgstr "Filter" - -msgid "Remove from sorting" -msgstr "Izbaci iz sortiranja" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Prioritet sortiranja: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Uključi/isključi sortiranje" - -msgid "Delete" -msgstr "Obriši" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Uklanjanje %(object_name)s „%(escaped_object)s“ povlači uklanjanje svih " -"objekata koji su povezani sa ovim objektom, ali vaš nalog nema dozvole za " -"brisanje sledećih tipova objekata:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"Da bi izbrisali izabran %(object_name)s „%(escaped_object)s“ potrebno je " -"brisati i sledeće zaštićene povezane objekte:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Da sigurni da želite da obrišete %(object_name)s „%(escaped_object)s“? " -"Sledeći objekti koji su u vezi sa ovim objektom će takođe biti obrisani:" - -msgid "Objects" -msgstr "" - -msgid "Yes, I'm sure" -msgstr "Da, siguran sam" - -msgid "No, take me back" -msgstr "" - -msgid "Delete multiple objects" -msgstr "Brisanje više objekata" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Da bi izbrisali izabrane %(objects_name)s potrebno je brisati i zaštićene " -"povezane objekte, međutim vaš nalog nema dozvole za brisanje sledećih tipova " -"objekata:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Da bi izbrisali izabrane %(objects_name)s potrebno je brisati i sledeće " -"zaštićene povezane objekte:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Da li ste sigurni da želite da izbrišete izabrane %(objects_name)s? Svi " -"sledeći objekti i objekti sa njima povezani će biti izbrisani:" - -msgid "View" -msgstr "Pregled" - -msgid "Delete?" -msgstr "Brisanje?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " %(filter_title)s " - -msgid "Summary" -msgstr "" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "" - -msgid "Add" -msgstr "Dodaj" - -msgid "You don't have permission to view or edit anything." -msgstr "Nemate dozvolu da pogledate ili izmenite bilo šta." - -msgid "Recent actions" -msgstr "" - -msgid "My actions" -msgstr "" - -msgid "None available" -msgstr "Nema podataka" - -msgid "Unknown content" -msgstr "Nepoznat sadržaj" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Nešto nije uredu sa vašom bazom podataka. Proverite da li postoje " -"odgovarajuće tabele i da li odgovarajući korisnik ima pristup bazi." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" - -msgid "Forgotten your password or username?" -msgstr "Zaboravili ste lozinku ili korisničko ime?" - -msgid "Date/time" -msgstr "Datum/vreme" - -msgid "User" -msgstr "Korisnik" - -msgid "Action" -msgstr "Radnja" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" -"Ovaj objekat nema zabeležen istorijat izmena. Verovatno nije dodat kroz ovaj " -"sajt za administraciju." - -msgid "Show all" -msgstr "Prikaži sve" - -msgid "Save" -msgstr "Sačuvaj" - -msgid "Popup closing…" -msgstr "" - -msgid "Search" -msgstr "Pretraga" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s rezultat" -msgstr[1] "%(counter)s rezultata" -msgstr[2] "%(counter)s rezultata" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "ukupno %(full_result_count)s" - -msgid "Save as new" -msgstr "Sačuvaj kao novi" - -msgid "Save and add another" -msgstr "Sačuvaj i dodaj sledeći" - -msgid "Save and continue editing" -msgstr "Sačuvaj i nastavi sa izmenama" - -msgid "Save and view" -msgstr "Snimi i pogledaj" - -msgid "Close" -msgstr "" - -#, python-format -msgid "Change selected %(model)s" -msgstr "" - -#, python-format -msgid "Add another %(model)s" -msgstr "" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Hvala što ste danas proveli vreme na ovom sajtu." - -msgid "Log in again" -msgstr "Ponovna prijava" - -msgid "Password change" -msgstr "Izmena lozinke" - -msgid "Your password was changed." -msgstr "Vaša lozinka je izmenjena." - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Iz bezbednosnih razloga prvo unesite svoju staru lozinku, a novu zatim " -"unesite dva puta da bismo mogli da proverimo da li ste je pravilno uneli." - -msgid "Change my password" -msgstr "Izmeni moju lozinku" - -msgid "Password reset" -msgstr "Resetovanje lozinke" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Vaša lozinka je postavljena. Možete se prijaviti." - -msgid "Password reset confirmation" -msgstr "Potvrda resetovanja lozinke" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Unesite novu lozinku dva puta kako bismo mogli da proverimo da li ste je " -"pravilno uneli." - -msgid "New password:" -msgstr "Nova lozinka:" - -msgid "Confirm password:" -msgstr "Potvrda lozinke:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Link za resetovanje lozinke nije važeći, verovatno zato što je već " -"iskorišćen. Ponovo zatražite resetovanje lozinke." - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" - -msgid "Please go to the following page and choose a new password:" -msgstr "Idite na sledeću stranicu i postavite novu lozinku." - -msgid "Your username, in case you've forgotten:" -msgstr "Ukoliko ste zaboravili, vaše korisničko ime:" - -msgid "Thanks for using our site!" -msgstr "Hvala što koristite naš sajt!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "Ekipa sajta %(site_name)s" - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" - -msgid "Email address:" -msgstr "" - -msgid "Reset my password" -msgstr "Resetuj moju lozinku" - -msgid "All dates" -msgstr "Svi datumi" - -#, python-format -msgid "Select %s" -msgstr "Odaberi objekat klase %s" - -#, python-format -msgid "Select %s to change" -msgstr "Odaberi objekat klase %s za izmenu" - -#, python-format -msgid "Select %s to view" -msgstr "Odaberi %sza pregled" - -msgid "Date:" -msgstr "Datum:" - -msgid "Time:" -msgstr "Vreme:" - -msgid "Lookup" -msgstr "Pretraži" - -msgid "Currently:" -msgstr "" - -msgid "Change:" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sr_Latn/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sr_Latn/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 5cc9a7ae..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sr_Latn/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sr_Latn/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sr_Latn/LC_MESSAGES/djangojs.po deleted file mode 100644 index 12905027..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sr_Latn/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,216 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Igor Jerosimić, 2019 -# Jannis Leidel , 2011 -# Janos Guljas , 2011-2012 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-05-17 11:50+0200\n" -"PO-Revision-Date: 2019-06-27 19:12+0000\n" -"Last-Translator: Igor Jerosimić\n" -"Language-Team: Serbian (Latin) (http://www.transifex.com/django/django/" -"language/sr@latin/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sr@latin\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" - -#, javascript-format -msgid "Available %s" -msgstr "Dostupni %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Ovo je lista dostupnih „%s“. Možete izabrati elemente tako što ćete ih " -"izabrati u listi i kliknuti na „Izaberi“." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "Filtrirajte listu dostupnih elemenata „%s“." - -msgid "Filter" -msgstr "Filter" - -msgid "Choose all" -msgstr "Izaberi sve" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Izaberite sve „%s“ odjednom." - -msgid "Choose" -msgstr "Izaberi" - -msgid "Remove" -msgstr "Ukloni" - -#, javascript-format -msgid "Chosen %s" -msgstr "Izabrano „%s“" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Ovo je lista izabranih „%s“. Možete ukloniti elemente tako što ćete ih " -"izabrati u listi i kliknuti na „Ukloni“." - -msgid "Remove all" -msgstr "Ukloni sve" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Uklonite sve izabrane „%s“ odjednom." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(sel)s od %(cnt)s izabran" -msgstr[1] "%(sel)s od %(cnt)s izabrana" -msgstr[2] "%(sel)s od %(cnt)s izabranih" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Imate nesačivane izmene. Ako pokrenete akciju, izmene će biti izgubljene." - -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 "Izabrali ste akciju ali niste sačuvali promene polja." - -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 "Izabrali ste akciju ali niste izmenili ni jedno polje." - -msgid "Now" -msgstr "Trenutno vreme" - -msgid "Midnight" -msgstr "Ponoć" - -msgid "6 a.m." -msgstr "18č" - -msgid "Noon" -msgstr "Podne" - -msgid "6 p.m." -msgstr "18č" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Obaveštenje: Vi ste %s sat ispred serverskog vremena." -msgstr[1] "Obaveštenje: Vi ste %s sata ispred serverskog vremena." -msgstr[2] "Obaveštenje: Vi ste %s sati ispred serverskog vremena." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Obaveštenje: Vi ste %s sat iza serverskog vremena." -msgstr[1] "Obaveštenje: Vi ste %s sata iza serverskog vremena." -msgstr[2] "Obaveštenje: Vi ste %s sati iza serverskog vremena." - -msgid "Choose a Time" -msgstr "Odaberite vreme" - -msgid "Choose a time" -msgstr "Odabir vremena" - -msgid "Cancel" -msgstr "Poništi" - -msgid "Today" -msgstr "Danas" - -msgid "Choose a Date" -msgstr "Odaberite datum" - -msgid "Yesterday" -msgstr "Juče" - -msgid "Tomorrow" -msgstr "Sutra" - -msgid "January" -msgstr "Januar" - -msgid "February" -msgstr "Februar" - -msgid "March" -msgstr "Mart" - -msgid "April" -msgstr "April" - -msgid "May" -msgstr "Maj" - -msgid "June" -msgstr "Jun" - -msgid "July" -msgstr "Jul" - -msgid "August" -msgstr "Avgust" - -msgid "September" -msgstr "Septembar" - -msgid "October" -msgstr "Oktobar" - -msgid "November" -msgstr "Novembar" - -msgid "December" -msgstr "Decembar" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "N" - -msgctxt "one letter Monday" -msgid "M" -msgstr "P" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "U" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "S" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "Č" - -msgctxt "one letter Friday" -msgid "F" -msgstr "P" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "S" - -msgid "Show" -msgstr "Pokaži" - -msgid "Hide" -msgstr "Sakrij" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sv/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sv/LC_MESSAGES/django.mo deleted file mode 100644 index 3811a5f5..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sv/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sv/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sv/LC_MESSAGES/django.po deleted file mode 100644 index 940bfc9e..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sv/LC_MESSAGES/django.po +++ /dev/null @@ -1,712 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Alex Nordlund , 2012 -# Andreas Pelme , 2014 -# d7bcbd5f5cbecdc2b959899620582440, 2011 -# Cybjit , 2012 -# Henrik Palmlund Wahlgren , 2019 -# Jannis Leidel , 2011 -# Jonathan Lindén, 2015 -# Jonathan Lindén, 2014 -# metteludwig , 2019 -# Mattias Hansson , 2016 -# Mikko Hellsing , 2011 -# Thomas Lundqvist, 2013,2016-2017 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-08 17:27+0200\n" -"PO-Revision-Date: 2019-11-18 14:26+0000\n" -"Last-Translator: metteludwig \n" -"Language-Team: Swedish (http://www.transifex.com/django/django/language/" -"sv/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sv\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "Tog bort %(count)d %(items)s" - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "Kan inte ta bort %(name)s" - -msgid "Are you sure?" -msgstr "Är du säker?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Ta bort markerade %(verbose_name_plural)s" - -msgid "Administration" -msgstr "Administration" - -msgid "All" -msgstr "Alla" - -msgid "Yes" -msgstr "Ja" - -msgid "No" -msgstr "Nej" - -msgid "Unknown" -msgstr "Okänt" - -msgid "Any date" -msgstr "Alla datum" - -msgid "Today" -msgstr "Idag" - -msgid "Past 7 days" -msgstr "Senaste 7 dagarna" - -msgid "This month" -msgstr "Denna månad" - -msgid "This year" -msgstr "Detta år" - -msgid "No date" -msgstr "Inget datum" - -msgid "Has date" -msgstr "Har datum" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Ange %(username)s och lösenord för ett personalkonto. Notera att båda fälten " -"är skiftlägeskänsliga." - -msgid "Action:" -msgstr "Åtgärd:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Lägg till ytterligare %(verbose_name)s" - -msgid "Remove" -msgstr "Ta bort" - -msgid "Addition" -msgstr "Tillägg" - -msgid "Change" -msgstr "Ändra" - -msgid "Deletion" -msgstr "Borttagning" - -msgid "action time" -msgstr "händelsetid" - -msgid "user" -msgstr "användare" - -msgid "content type" -msgstr "innehållstyp" - -msgid "object id" -msgstr "objektets id" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "objektets beskrivning" - -msgid "action flag" -msgstr "händelseflagga" - -msgid "change message" -msgstr "ändra meddelande" - -msgid "log entry" -msgstr "loggpost" - -msgid "log entries" -msgstr "loggposter" - -#, python-format -msgid "Added “%(object)s”." -msgstr "Lade till \"%(object)s\"." - -#, python-format -msgid "Changed “%(object)s” — %(changes)s" -msgstr "Ändrade “%(object)s” — %(changes)s" - -#, python-format -msgid "Deleted “%(object)s.”" -msgstr "Tog bort “%(object)s.”" - -msgid "LogEntry Object" -msgstr "LogEntry-Objekt" - -#, python-brace-format -msgid "Added {name} “{object}”." -msgstr "Lade till {name} “{object}”." - -msgid "Added." -msgstr "Lagt till." - -msgid "and" -msgstr "och" - -#, python-brace-format -msgid "Changed {fields} for {name} “{object}”." -msgstr "Ändrade {fields} för {name} “{object}”." - -#, python-brace-format -msgid "Changed {fields}." -msgstr "Ändrade {fields}." - -#, python-brace-format -msgid "Deleted {name} “{object}”." -msgstr "Tog bort {name} “{object}”." - -msgid "No fields changed." -msgstr "Inga fält ändrade." - -msgid "None" -msgstr "Inget" - -msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." -msgstr "" -"Håll inne “Control”, eller “Command” på en Mac, för att välja fler än en." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully." -msgstr "Lade till {name} “{obj}”." - -msgid "You may edit it again below." -msgstr "Du kan redigera det igen nedan" - -#, python-brace-format -msgid "" -"The {name} “{obj}” was added successfully. You may add another {name} below." -msgstr "Lade till {name} “{obj}”. Du kan lägga till ytterligare {name} nedan." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may edit it again below." -msgstr "Ändrade {name} “{obj}”. Du kan göra ytterligare förändringar nedan." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully. You may edit it again below." -msgstr "Lade till {name} “{obj}”. Du kan göra ytterligare förändringar nedan." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may add another {name} " -"below." -msgstr "Ändrade {name} “{obj}”. Du kan lägga till ytterligare {name} nedan." - -#, python-brace-format -msgid "The {name} “{obj}” was changed successfully." -msgstr "Ändrade {name} “{obj}”." - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Poster måste väljas för att genomföra åtgärder. Inga poster har ändrats." - -msgid "No action selected." -msgstr "Inga åtgärder valda." - -#, python-format -msgid "The %(name)s “%(obj)s” was deleted successfully." -msgstr "Tog bort %(name)s “%(obj)s”." - -#, python-format -msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" -msgstr "%(name)s med ID “%(key)s” finns inte. Kan den ha blivit borttagen?" - -#, python-format -msgid "Add %s" -msgstr "Lägg till %s" - -#, python-format -msgid "Change %s" -msgstr "Ändra %s" - -#, python-format -msgid "View %s" -msgstr "Visa 1%s" - -msgid "Database error" -msgstr "Databasfel" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s ändrades." -msgstr[1] "%(count)s %(name)s ändrades." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s vald" -msgstr[1] "Alla %(total_count)s valda" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "0 av %(cnt)s valda" - -#, python-format -msgid "Change history: %s" -msgstr "Ändringshistorik: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"Borttagning av %(class_name)s %(instance)s kräver borttagning av följande " -"skyddade relaterade objekt: %(related_objects)s" - -msgid "Django site admin" -msgstr "Django webbplatsadministration" - -msgid "Django administration" -msgstr "Django-administration" - -msgid "Site administration" -msgstr "Webbplatsadministration" - -msgid "Log in" -msgstr "Logga in" - -#, python-format -msgid "%(app)s administration" -msgstr "Administration av %(app)s" - -msgid "Page not found" -msgstr "Sidan kunde inte hittas" - -msgid "We’re sorry, but the requested page could not be found." -msgstr "Tyvärr kunde inte den begärda sidan hittas." - -msgid "Home" -msgstr "Hem" - -msgid "Server error" -msgstr "Serverfel" - -msgid "Server error (500)" -msgstr "Serverfel (500)" - -msgid "Server Error (500)" -msgstr "Serverfel (500)" - -msgid "" -"There’s been an error. It’s been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"Ett fel har inträffat. Felet är rapporterat till sidans administratörer via " -"e-post, och borde åtgärdas skyndsamt. Tack för ditt tålamod." - -msgid "Run the selected action" -msgstr "Kör markerade operationer" - -msgid "Go" -msgstr "Utför" - -msgid "Click here to select the objects across all pages" -msgstr "Klicka här för att välja alla objekt från alla sidor" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Välj alla %(total_count)s %(module_name)s" - -msgid "Clear selection" -msgstr "Rensa urval" - -msgid "" -"First, enter a username and password. Then, you’ll be able to edit more user " -"options." -msgstr "" -"Ange först ett användarnamn och ett lösenord. Därefter kan du ändra fler " -"egenskaper för användaren." - -msgid "Enter a username and password." -msgstr "Mata in användarnamn och lösenord." - -msgid "Change password" -msgstr "Ändra lösenord" - -msgid "Please correct the error below." -msgstr "Vänligen rätta nedanstående fel" - -msgid "Please correct the errors below." -msgstr "Vänligen rätta till felen nedan." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "Ange nytt lösenord för användare %(username)s." - -msgid "Welcome," -msgstr "Välkommen," - -msgid "View site" -msgstr "Visa sida" - -msgid "Documentation" -msgstr "Dokumentation" - -msgid "Log out" -msgstr "Logga ut" - -#, python-format -msgid "Add %(name)s" -msgstr "Lägg till %(name)s" - -msgid "History" -msgstr "Historik" - -msgid "View on site" -msgstr "Visa på webbplats" - -msgid "Filter" -msgstr "Filtrera" - -msgid "Remove from sorting" -msgstr "Ta bort från sortering" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Sorteringsprioritet: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Ändra sorteringsordning" - -msgid "Delete" -msgstr "Radera" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Att ta bort %(object_name)s '%(escaped_object)s' skulle innebära att " -"relaterade objekt togs bort, men ditt konto har inte rättigheter att ta bort " -"följande objekttyper:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"Borttagning av %(object_name)s '%(escaped_object)s' kräver borttagning av " -"följande skyddade relaterade objekt:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Är du säker på att du vill ta bort %(object_name)s \"%(escaped_object)s\"? " -"Följande relaterade objekt kommer att tas bort:" - -msgid "Objects" -msgstr "Objekt" - -msgid "Yes, I’m sure" -msgstr "Ja, jag är säker" - -msgid "No, take me back" -msgstr "Nej, ta mig tillbaka" - -msgid "Delete multiple objects" -msgstr "Ta bort flera objekt" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Borttagning av valda %(objects_name)s skulle resultera i borttagning av " -"relaterade objekt, men ditt konto har inte behörighet att ta bort följande " -"typer av objekt:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Borttagning av valda %(objects_name)s skulle kräva borttagning av följande " -"skyddade objekt:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Är du säker på att du vill ta bort valda %(objects_name)s? Alla följande " -"objekt samt relaterade objekt kommer att tas bort: " - -msgid "View" -msgstr "Visa" - -msgid "Delete?" -msgstr "Radera?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " På %(filter_title)s " - -msgid "Summary" -msgstr "Översikt" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "Modeller i applikationen %(name)s" - -msgid "Add" -msgstr "Lägg till" - -msgid "You don’t have permission to view or edit anything." -msgstr "Du har inte tillåtelse att se eller ändra någonting." - -msgid "Recent actions" -msgstr "Senaste Händelser" - -msgid "My actions" -msgstr "Mina händelser" - -msgid "None available" -msgstr "Inga tillgängliga" - -msgid "Unknown content" -msgstr "Okänt innehåll" - -msgid "" -"Something’s wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Någonting är fel med din databas-installation. Kontrollera att relevanta " -"tabeller i databasen är skapta, och kontrollera även att databasen är läsbar " -"av rätt användare." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"Du är autentiserad som %(username)s men är inte behörig att komma åt denna " -"sida. Vill du logga in med ett annat konto?" - -msgid "Forgotten your password or username?" -msgstr "Har du glömt lösenordet eller användarnamnet?" - -msgid "Date/time" -msgstr "Datum tid" - -msgid "User" -msgstr "Användare" - -msgid "Action" -msgstr "Händelse" - -msgid "" -"This object doesn’t have a change history. It probably wasn’t added via this " -"admin site." -msgstr "" -"Det här objektet har ingen förändringshistorik. Det var antagligen inte " -"tillagt via den här admin-sidan." - -msgid "Show all" -msgstr "Visa alla" - -msgid "Save" -msgstr "Spara" - -msgid "Popup closing…" -msgstr "Popup stängs..." - -msgid "Search" -msgstr "Sök" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s resultat" -msgstr[1] "%(counter)s resultat" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s totalt" - -msgid "Save as new" -msgstr "Spara som ny" - -msgid "Save and add another" -msgstr "Spara och lägg till ny" - -msgid "Save and continue editing" -msgstr "Spara och fortsätt redigera" - -msgid "Save and view" -msgstr "Spara och visa" - -msgid "Close" -msgstr "Stäng" - -#, python-format -msgid "Change selected %(model)s" -msgstr "Ändra markerade %(model)s" - -#, python-format -msgid "Add another %(model)s" -msgstr "Lägg till %(model)s" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Ta bort markerade %(model)s" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Tack för att du spenderade lite kvalitetstid med webbplatsen idag." - -msgid "Log in again" -msgstr "Logga in igen" - -msgid "Password change" -msgstr "Ändra lösenord" - -msgid "Your password was changed." -msgstr "Ditt lösenord har ändrats." - -msgid "" -"Please enter your old password, for security’s sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Vänligen ange ditt gamla lösenord, för säkerhets skull, och ange därefter " -"ditt nya lösenord två gånger så att vi kan kontrollera att du skrivit rätt." - -msgid "Change my password" -msgstr "Ändra mitt lösenord" - -msgid "Password reset" -msgstr "Nollställ lösenord" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Ditt lösenord har ändrats. Du kan nu logga in." - -msgid "Password reset confirmation" -msgstr "Bekräftelse av lösenordsnollställning" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Var god fyll i ditt nya lösenord två gånger så vi kan kontrollera att du " -"skrev det rätt." - -msgid "New password:" -msgstr "Nytt lösenord:" - -msgid "Confirm password:" -msgstr "Bekräfta lösenord:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Länken för lösenordsnollställning var felaktig, möjligen därför att den " -"redan använts. Var god skicka en ny nollställningsförfrågan." - -msgid "" -"We’ve emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Vi har via e-post skickat dig instruktioner för hur du ställer in ditt " -"lösenord, om ett konto finns med e-posten du angav. Du borde få " -"instruktionerna inom kort." - -msgid "" -"If you don’t receive an email, please make sure you’ve entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Om du inte fick ett e-postmeddelande; kontrollera att e-postadressen är " -"densamma som du registrerade dig med, och kolla i din skräppost." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"Du får detta e-postmeddelande för att du har begärt återställning av ditt " -"lösenord av ditt konto på %(site_name)s." - -msgid "Please go to the following page and choose a new password:" -msgstr "Var god gå till följande sida och välj ett nytt lösenord:" - -msgid "Your username, in case you’ve forgotten:" -msgstr "Ditt användarnamn, utifall du glömt det:" - -msgid "Thanks for using our site!" -msgstr "Tack för att du använder vår webbplats!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "%(site_name)s-teamet" - -msgid "" -"Forgotten your password? Enter your email address below, and we’ll email " -"instructions for setting a new one." -msgstr "" -"Har du glömt ditt lösenord? Ange din e-postadress nedan, så skickar vi dig " -"instruktioner för hur du ställer in ett nytt." - -msgid "Email address:" -msgstr "E-postadress:" - -msgid "Reset my password" -msgstr "Nollställ mitt lösenord" - -msgid "All dates" -msgstr "Alla datum" - -#, python-format -msgid "Select %s" -msgstr "Välj %s" - -#, python-format -msgid "Select %s to change" -msgstr "Välj %s att ändra" - -#, python-format -msgid "Select %s to view" -msgstr "Välj 1%s för visning" - -msgid "Date:" -msgstr "Datum:" - -msgid "Time:" -msgstr "Tid:" - -msgid "Lookup" -msgstr "Uppslag" - -msgid "Currently:" -msgstr "Nuvarande:" - -msgid "Change:" -msgstr "Ändra:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sv/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sv/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 5d202074..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sv/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sv/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sv/LC_MESSAGES/djangojs.po deleted file mode 100644 index 6d833d74..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sv/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,223 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Andreas Pelme , 2012 -# Jannis Leidel , 2011 -# Jonathan Lindén, 2014 -# Mattias Hansson , 2016 -# Mattias Benjaminsson , 2011 -# Samuel Linde , 2011 -# Thomas Lundqvist, 2016 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-05-17 11:50+0200\n" -"PO-Revision-Date: 2017-09-19 16:41+0000\n" -"Last-Translator: Mattias Hansson \n" -"Language-Team: Swedish (http://www.transifex.com/django/django/language/" -"sv/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sv\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "Tillgängliga %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Detta är listan med tillgängliga %s. Du kan välja ut vissa genom att markera " -"dem i rutan nedan och sedan klicka på \"Välj\"-knapparna mellan de två " -"rutorna." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "Skriv i denna ruta för att filtrera listan av tillgängliga %s." - -msgid "Filter" -msgstr "Filter" - -msgid "Choose all" -msgstr "Välj alla" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Klicka för att välja alla %s på en gång." - -msgid "Choose" -msgstr "Välj" - -msgid "Remove" -msgstr "Ta bort" - -#, javascript-format -msgid "Chosen %s" -msgstr "Välj %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Detta är listan med utvalda %s. Du kan ta bort vissa genom att markera dem i " -"rutan nedan och sedan klicka på \"Ta bort\"-pilen mellan de två rutorna." - -msgid "Remove all" -msgstr "Ta bort alla" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Klicka för att ta bort alla valda %s på en gång." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(sel)s av %(cnt)s markerade" -msgstr[1] "%(sel)s av %(cnt)s markerade" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Du har ändringar som inte sparats i enskilda redigerbara fält. Om du kör en " -"operation kommer de ändringar som inte sparats att gå förlorade." - -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 "" -"Du har markerat en operation, men du har inte sparat sparat dina ändringar " -"till enskilda fält ännu. Var vänlig klicka OK för att spara. Du kommer att " -"behöva köra operationen på nytt." - -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 "" -"Du har markerat en operation och du har inte gjort några ändringar i " -"enskilda fält. Du letar antagligen efter Utför-knappen snarare än Spara." - -msgid "Now" -msgstr "Nu" - -msgid "Midnight" -msgstr "Midnatt" - -msgid "6 a.m." -msgstr "06:00" - -msgid "Noon" -msgstr "Middag" - -msgid "6 p.m." -msgstr "6 p.m." - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Notera: Du är %s timme före serverns tid." -msgstr[1] "Notera: Du är %s timmar före serverns tid." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Notera: Du är %s timme efter serverns tid." -msgstr[1] "Notera: Du är %s timmar efter serverns tid." - -msgid "Choose a Time" -msgstr "Välj en tidpunkt" - -msgid "Choose a time" -msgstr "Välj en tidpunkt" - -msgid "Cancel" -msgstr "Avbryt" - -msgid "Today" -msgstr "I dag" - -msgid "Choose a Date" -msgstr "Välj ett datum" - -msgid "Yesterday" -msgstr "I går" - -msgid "Tomorrow" -msgstr "I morgon" - -msgid "January" -msgstr "januari" - -msgid "February" -msgstr "februari" - -msgid "March" -msgstr "mars" - -msgid "April" -msgstr "april" - -msgid "May" -msgstr "maj" - -msgid "June" -msgstr "juni" - -msgid "July" -msgstr "juli" - -msgid "August" -msgstr "augusti" - -msgid "September" -msgstr "september" - -msgid "October" -msgstr "oktober" - -msgid "November" -msgstr "november" - -msgid "December" -msgstr "december" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "S" - -msgctxt "one letter Monday" -msgid "M" -msgstr "M" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "T" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "O" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "T" - -msgctxt "one letter Friday" -msgid "F" -msgstr "F" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "L" - -msgid "Show" -msgstr "Visa" - -msgid "Hide" -msgstr "Göm" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sw/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sw/LC_MESSAGES/django.mo deleted file mode 100644 index 6e917f5d..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sw/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sw/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sw/LC_MESSAGES/django.po deleted file mode 100644 index 1271dff5..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sw/LC_MESSAGES/django.po +++ /dev/null @@ -1,676 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Machaku , 2013-2014 -# Machaku , 2016 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-09-23 18:54+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Swahili (http://www.transifex.com/django/django/language/" -"sw/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sw\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "Umefanikiwa kufuta %(items)s %(count)d." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "Huwezi kufuta %(name)s" - -msgid "Are you sure?" -msgstr "Una uhakika?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Futa %(verbose_name_plural)s teule" - -msgid "Administration" -msgstr "Utawala" - -msgid "All" -msgstr "yote" - -msgid "Yes" -msgstr "Ndiyo" - -msgid "No" -msgstr "Hapana" - -msgid "Unknown" -msgstr "Haijulikani" - -msgid "Any date" -msgstr "Tarehe yoyote" - -msgid "Today" -msgstr "Leo" - -msgid "Past 7 days" -msgstr "Siku 7 zilizopita" - -msgid "This month" -msgstr "mwezi huu" - -msgid "This year" -msgstr "Mwaka huu" - -msgid "No date" -msgstr "Hakuna tarehe" - -msgid "Has date" -msgstr "Kuna tarehe" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Tafadhali ingiza %(username)s na nywila sahihi kwa akaunti ya msimamizi. " -"Kumbuka kuzingatia herufi kubwa na ndogo." - -msgid "Action:" -msgstr "Tendo" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Ongeza %(verbose_name)s" - -msgid "Remove" -msgstr "Ondoa" - -msgid "action time" -msgstr "muda wa tendo" - -msgid "user" -msgstr "mtumiaji" - -msgid "content type" -msgstr "aina ya maudhui" - -msgid "object id" -msgstr "Kitambulisho cha kitu" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/3/library/functions.html#repr) -msgid "object repr" -msgstr "`repr` ya kitu" - -msgid "action flag" -msgstr "bendera ya tendo" - -msgid "change message" -msgstr "badilisha ujumbe" - -msgid "log entry" -msgstr "ingizo kwenye kumbukumbu" - -msgid "log entries" -msgstr "maingizo kwenye kumbukumbu" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "Kuongezwa kwa \"%(object)s\"." - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "Kubadilishwa kwa \"%(object)s\" - %(changes)s" - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "Kufutwa kwa \"%(object)s\"." - -msgid "LogEntry Object" -msgstr "Kitu cha Ingizo la Kumbukumbu" - -#, python-brace-format -msgid "Added {name} \"{object}\"." -msgstr "Kumeongezeka {name} \"{object}\"." - -msgid "Added." -msgstr "Imeongezwa" - -msgid "and" -msgstr "na" - -#, python-brace-format -msgid "Changed {fields} for {name} \"{object}\"." -msgstr "Mabadiliko ya {fields} yamefanyika katika {name} \"{object}\"." - -#, python-brace-format -msgid "Changed {fields}." -msgstr "Mabadiliko yamefanyika katika {fields} " - -#, python-brace-format -msgid "Deleted {name} \"{object}\"." -msgstr "Futa {name} \"{object}\"." - -msgid "No fields changed." -msgstr "Hakuna uga uliobadilishwa." - -msgid "None" -msgstr "Hakuna" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" -"Ingizo la {name} \"{obj}\" limefanyika kwa mafanikio. Unaweza kuhariri tena" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was changed successfully." -msgstr "" - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Nilazima kuchagua vitu ili kufanyia kitu fulani. Hakuna kitu " -"kilichochaguliwa." - -msgid "No action selected." -msgstr "Hakuna tendo lililochaguliwa" - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "Ufutaji wa \"%(obj)s\" %(name)s umefanikiwa." - -#, python-format -msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" -msgstr "" - -#, python-format -msgid "Add %s" -msgstr "Ongeza %s" - -#, python-format -msgid "Change %s" -msgstr "Badilisha %s" - -msgid "Database error" -msgstr "Hitilafu katika hifadhidata" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "mabadiliko ya %(name)s %(count)s yamefanikiwa." -msgstr[1] "mabadiliko ya %(name)s %(count)s yamefanikiwa." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s kuchaguliwa" -msgstr[1] "%(total_count)s (kila kitu) kuchaguliwa" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "Vilivyo chaguliwa ni 0 kati ya %(cnt)s" - -#, python-format -msgid "Change history: %s" -msgstr "Badilisha historia: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(instance)s %(class_name)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"Kufutwa kwa ingizo la %(instance)s %(class_name)s kutahitaji kufutwa kwa " -"vitu vifuatavyo vyenye mahusiano vilivyokingwa: %(related_objects)s" - -msgid "Django site admin" -msgstr "Utawala wa tovuti ya django" - -msgid "Django administration" -msgstr "Utawala wa Django" - -msgid "Site administration" -msgstr "Utawala wa tovuti" - -msgid "Log in" -msgstr "Ingia" - -#, python-format -msgid "%(app)s administration" -msgstr "Utawala wa %(app)s" - -msgid "Page not found" -msgstr "Ukurasa haujapatikana" - -msgid "We're sorry, but the requested page could not be found." -msgstr "Samahani, ukurasa uliohitajika haukupatikana." - -msgid "Home" -msgstr "Sebule" - -msgid "Server error" -msgstr "Hitilafu ya seva" - -msgid "Server error (500)" -msgstr "Hitilafu ya seva (500)" - -msgid "Server Error (500)" -msgstr "Hitilafu ya seva (500)" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"Kumekuwa na hitilafu. Imeripotiwa kwa watawala kupitia barua pepe na " -"inatakiwa kurekebishwa mapema." - -msgid "Run the selected action" -msgstr "Fanya tendo lililochaguliwa." - -msgid "Go" -msgstr "Nenda" - -msgid "Click here to select the objects across all pages" -msgstr "Bofya hapa kuchagua viumbile katika kurasa zote" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Chagua kila %(module_name)s, (%(total_count)s). " - -msgid "Clear selection" -msgstr "Safisha chaguo" - -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" -"Kwanza, ingiza jina lamtumiaji na nywila. Kisha, utaweza kuhariri zaidi " -"machaguo ya mtumiaji." - -msgid "Enter a username and password." -msgstr "Ingiza jina la mtumiaji na nywila." - -msgid "Change password" -msgstr "Badilisha nywila" - -msgid "Please correct the error below." -msgstr "Tafadhali sahihisha makosa yafuatayo " - -msgid "Please correct the errors below." -msgstr "Tafadhali sahihisha makosa yafuatayo." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "ingiza nywila ya mtumiaji %(username)s." - -msgid "Welcome," -msgstr "Karibu" - -msgid "View site" -msgstr "Tazama tovuti" - -msgid "Documentation" -msgstr "Nyaraka" - -msgid "Log out" -msgstr "Toka" - -#, python-format -msgid "Add %(name)s" -msgstr "Ongeza %(name)s" - -msgid "History" -msgstr "Historia" - -msgid "View on site" -msgstr "Ona kwenye tovuti" - -msgid "Filter" -msgstr "Chuja" - -msgid "Remove from sorting" -msgstr "Ondoa katika upangaji" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Kipaumbele katika mpangilio: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Geuza mpangilio" - -msgid "Delete" -msgstr "Futa" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Kufutwa kwa '%(escaped_object)s' %(object_name)s kutasababisha kufutwa kwa " -"vitu vinavyohuisana, lakini akaunti yako haina ruhusa ya kufuta vitu vya " -"aina zifuatazo:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"Kufuta '%(escaped_object)s' %(object_name)s kutahitaji kufuta vitu " -"vifuatavyo ambavyo vinavyohuisana na vimelindwa:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Una uhakika kuwa unataka kufuta \"%(escaped_object)s\" %(object_name)s ? " -"Vitu vyote vinavyohuisana kati ya vifuatavyo vitafutwa:" - -msgid "Objects" -msgstr "Viumbile" - -msgid "Yes, I'm sure" -msgstr "Ndiyo, Nina uhakika" - -msgid "No, take me back" -msgstr "Hapana, nirudishe" - -msgid "Delete multiple objects" -msgstr "Futa viumbile mbalimbali" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Kufutwa kwa %(objects_name)s chaguliwa kutasababisha kufutwa kwa " -"vituvinavyohusiana, lakini akaunti yako haina ruhusa ya kufuta vitu vya " -"vifuatavyo:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Kufutwa kwa %(objects_name)s kutahitaji kufutwa kwa vitu vifuatavyo vyenye " -"uhusiano na vilivyolindwa:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Una uhakika kuwa unataka kufuta %(objects_name)s chaguliwa ? Vitu vyote kati " -"ya vifuatavyo vinavyohusiana vitafutwa:" - -msgid "Change" -msgstr "Badilisha" - -msgid "Delete?" -msgstr "Futa?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " Kwa %(filter_title)s" - -msgid "Summary" -msgstr "Muhtasari" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "Models katika application %(name)s" - -msgid "Add" -msgstr "Ongeza" - -msgid "You don't have permission to edit anything." -msgstr "Huna ruhusa ya kuhariri chochote" - -msgid "Recent actions" -msgstr "Matendo ya karibuni" - -msgid "My actions" -msgstr "Matendo yangu" - -msgid "None available" -msgstr "Hakuna kilichopatikana" - -msgid "Unknown content" -msgstr "Maudhui hayajulikani" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Kuna tatizo limetokea katika usanikishaji wako wa hifadhidata. Hakikisha " -"kuwa majedwali sahihi ya hifadhidata yameundwa, na hakikisha hifadhidata " -"inaweza kusomwana mtumiaji sahihi." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" - -msgid "Forgotten your password or username?" -msgstr "Umesahau jina na nenosiri lako?" - -msgid "Date/time" -msgstr "Tarehe/saa" - -msgid "User" -msgstr "Mtumiaji" - -msgid "Action" -msgstr "Tendo" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" -"Kiumbile hiki hakina historia ya kubadilika. Inawezekana hakikuwekwa kupitia " -"hii tovuti ya utawala." - -msgid "Show all" -msgstr "Onesha yotee" - -msgid "Save" -msgstr "Hifadhi" - -msgid "Popup closing..." -msgstr "Udukizi unafunga" - -#, python-format -msgid "Change selected %(model)s" -msgstr "Badili %(model)s husika" - -#, python-format -msgid "Add another %(model)s" -msgstr "Ongeza %(model)s tena" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Futa %(model)s husika" - -msgid "Search" -msgstr "Tafuta" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "tokeo %(counter)s" -msgstr[1] "matokeo %(counter)s" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "jumla %(full_result_count)s" - -msgid "Save as new" -msgstr "Hifadhi kama mpya" - -msgid "Save and add another" -msgstr "Hifadhi na ongeza" - -msgid "Save and continue editing" -msgstr "Hifadhi na endelea kuhariri" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Ahsante kwa kutumia muda wako katika Tovuti yetu leo. " - -msgid "Log in again" -msgstr "ingia tena" - -msgid "Password change" -msgstr "Badilisha nywila" - -msgid "Your password was changed." -msgstr "Nywila yako imebadilishwa" - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Tafadhali ingiza nywila yako ya zamani, kwa ajili ya usalama, kisha ingiza " -"nywila mpya mara mbili ili tuweze kuthibitisha kuwa umelichapisha kwa " -"usahihi." - -msgid "Change my password" -msgstr "Badilisha nywila yangu" - -msgid "Password reset" -msgstr "Kuseti nywila upya" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Nywila yako imesetiwa. Unaweza kuendelea na kuingia sasa." - -msgid "Password reset confirmation" -msgstr "Uthibitisho wa kuseti nywila upya" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Tafadhali ingiza nywila mpya mara mbili ili tuweze kuthibitisha kuwa " -"umelichapisha kwa usahihi." - -msgid "New password:" -msgstr "Nywila mpya:" - -msgid "Confirm password:" -msgstr "Thibitisha nywila" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Kiungo cha kuseti nywila upya ni batili, inawezekana ni kwa sababu kiungo " -"hicho tayari kimetumika. tafadhali omba upya kuseti nywila." - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Ikiwa hujapata barua pepe, tafadhali hakikisha umeingiza anuani ya barua " -"pepe uliyoitumia kujisajili na angalia katika folda la spam" - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"Umepata barua pepe hii kwa sababu ulihitaji ku seti upya nywila ya akaunti " -"yako ya %(site_name)s." - -msgid "Please go to the following page and choose a new password:" -msgstr "Tafadhali nenda ukurasa ufuatao na uchague nywila mpya:" - -msgid "Your username, in case you've forgotten:" -msgstr "Jina lako la mtumiaji, ikiwa umesahau:" - -msgid "Thanks for using our site!" -msgstr "Ahsante kwa kutumia tovui yetu!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "timu ya %(site_name)s" - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" -"Umesahau nywila yako? Ingiza anuani yako ya barua pepe hapo chini, nasi " -"tutakutumia maelekezo ya kuseti nenosiri jipya. " - -msgid "Email address:" -msgstr "Anuani ya barua pepe:" - -msgid "Reset my password" -msgstr "Seti nywila yangu upya" - -msgid "All dates" -msgstr "Tarehe zote" - -#, python-format -msgid "Select %s" -msgstr "Chagua %s" - -#, python-format -msgid "Select %s to change" -msgstr "Chaguo %s kwa mabadilisho" - -msgid "Date:" -msgstr "Tarehe" - -msgid "Time:" -msgstr "Saa" - -msgid "Lookup" -msgstr "`Lookup`" - -msgid "Currently:" -msgstr "Kwa sasa:" - -msgid "Change:" -msgstr "Badilisha:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sw/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sw/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 12f1466c..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sw/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sw/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sw/LC_MESSAGES/djangojs.po deleted file mode 100644 index 5806dd93..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/sw/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,217 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Machaku , 2013-2014 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" -"PO-Revision-Date: 2017-09-23 18:54+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Swahili (http://www.transifex.com/django/django/language/" -"sw/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sw\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "Yaliyomo: %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Hii ni orodha ya %s uliyochagua. Unaweza kuchagua baadhi vitu kwa kuvichagua " -"katika kisanduku hapo chini kisha kubofya mshale wa \"Chagua\" kati ya " -"visanduku viwili." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "Chapisha katika kisanduku hiki ili kuchuja orodha ya %s iliyopo." - -msgid "Filter" -msgstr "Chuja" - -msgid "Choose all" -msgstr "Chagua vyote" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Bofya kuchagua %s kwa pamoja." - -msgid "Choose" -msgstr "Chagua" - -msgid "Remove" -msgstr "Ondoa" - -#, javascript-format -msgid "Chosen %s" -msgstr "Chaguo la %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Hii ni orodha ya %s uliyochagua. Unaweza kuondoa baadhi vitu kwa kuvichagua " -"katika kisanduku hapo chini kisha kubofya mshale wa \"Ondoa\" kati ya " -"visanduku viwili." - -msgid "Remove all" -msgstr "Ondoa vyote" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Bofya ili kuondoa %s chaguliwa kwa pamoja." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "umechagua %(sel)s kati ya %(cnt)s" -msgstr[1] "umechagua %(sel)s kati ya %(cnt)s" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Umeacha kuhifadhi mabadiliko katika uga zinazoharirika. Ikiwa utafanya tendo " -"lingine, mabadiliko ambayo hayajahifadhiwa yatapotea." - -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 "" -"Umechagua tendo, lakini bado hujahifadhi mabadiliko yako katika uga husika. " -"Tafadali bofya Sawa ukitaka kuhifadhi. Utahitajika kufanya upya kitendo " - -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 "" -"Umechagua tendo, lakini bado hujahifadhi mabadiliko yako katika uga husika. " -"Inawezekana unatafuta kitufe cha Nenda badala ya Hifadhi" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Kumbuka: Uko saa %s mbele ukilinganisha na majira ya seva" -msgstr[1] "Kumbuka: Uko masaa %s mbele ukilinganisha na majira ya seva" - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Kumbuka: Uko saa %s nyuma ukilinganisha na majira ya seva" -msgstr[1] "Kumbuka: Uko masaa %s nyuma ukilinganisha na majira ya seva" - -msgid "Now" -msgstr "Sasa" - -msgid "Choose a Time" -msgstr "" - -msgid "Choose a time" -msgstr "Chagua wakati" - -msgid "Midnight" -msgstr "Usiku wa manane" - -msgid "6 a.m." -msgstr "Saa 12 alfajiri" - -msgid "Noon" -msgstr "Adhuhuri" - -msgid "6 p.m." -msgstr "" - -msgid "Cancel" -msgstr "Ghairi" - -msgid "Today" -msgstr "Leo" - -msgid "Choose a Date" -msgstr "" - -msgid "Yesterday" -msgstr "Jana" - -msgid "Tomorrow" -msgstr "Kesho" - -msgid "January" -msgstr "" - -msgid "February" -msgstr "" - -msgid "March" -msgstr "" - -msgid "April" -msgstr "" - -msgid "May" -msgstr "" - -msgid "June" -msgstr "" - -msgid "July" -msgstr "" - -msgid "August" -msgstr "" - -msgid "September" -msgstr "" - -msgid "October" -msgstr "" - -msgid "November" -msgstr "" - -msgid "December" -msgstr "" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "" - -msgctxt "one letter Monday" -msgid "M" -msgstr "" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "" - -msgctxt "one letter Friday" -msgid "F" -msgstr "" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "" - -msgid "Show" -msgstr "Onesha" - -msgid "Hide" -msgstr "Ficha" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ta/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ta/LC_MESSAGES/django.mo deleted file mode 100644 index 398f1f28..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ta/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ta/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ta/LC_MESSAGES/django.po deleted file mode 100644 index 3a3cf1bb..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ta/LC_MESSAGES/django.po +++ /dev/null @@ -1,643 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Jannis Leidel , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-09-19 16:40+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Tamil (http://www.transifex.com/django/django/language/ta/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ta\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "" - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "" - -msgid "Are you sure?" -msgstr "உறுதியாக சொல்கிறீர்களா?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "" - -msgid "Administration" -msgstr "" - -msgid "All" -msgstr "அனைத்தும்" - -msgid "Yes" -msgstr "ஆம்" - -msgid "No" -msgstr "இல்லை" - -msgid "Unknown" -msgstr "தெரியாத" - -msgid "Any date" -msgstr "எந்த தேதியும்" - -msgid "Today" -msgstr "இன்று" - -msgid "Past 7 days" -msgstr "கடந்த 7 நாட்களில்" - -msgid "This month" -msgstr "இந்த மாதம்" - -msgid "This year" -msgstr "இந்த வருடம்" - -msgid "No date" -msgstr "" - -msgid "Has date" -msgstr "" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" - -msgid "Action:" -msgstr "" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "" - -msgid "Remove" -msgstr "அழிக்க" - -msgid "action time" -msgstr "செயல் நேரம்" - -msgid "user" -msgstr "" - -msgid "content type" -msgstr "" - -msgid "object id" -msgstr "பொருள் அடையாளம்" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/3/library/functions.html#repr) -msgid "object repr" -msgstr "பொருள் உருவகித்தம்" - -msgid "action flag" -msgstr "செயர்குறி" - -msgid "change message" -msgstr "செய்தியை மாற்று" - -msgid "log entry" -msgstr "புகுபதிவு உள்ளீடு" - -msgid "log entries" -msgstr "புகுபதிவு உள்ளீடுகள்" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "" - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "" - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "" - -msgid "LogEntry Object" -msgstr "" - -#, python-brace-format -msgid "Added {name} \"{object}\"." -msgstr "" - -msgid "Added." -msgstr "" - -msgid "and" -msgstr "மற்றும்" - -#, python-brace-format -msgid "Changed {fields} for {name} \"{object}\"." -msgstr "" - -#, python-brace-format -msgid "Changed {fields}." -msgstr "" - -#, python-brace-format -msgid "Deleted {name} \"{object}\"." -msgstr "" - -msgid "No fields changed." -msgstr "எந்த புலமும் மாறவில்லை." - -msgid "None" -msgstr "" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was changed successfully." -msgstr "" - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" - -msgid "No action selected." -msgstr "" - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "%(name)s \"%(obj)s\" வெற்றிகரமாக அழிக்கப்பட்டுள்ளது." - -#, python-format -msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" -msgstr "" - -#, python-format -msgid "Add %s" -msgstr "%s யை சேர்க்க" - -#, python-format -msgid "Change %s" -msgstr "%s யை மாற்று" - -msgid "Database error" -msgstr "தகவல்சேமிப்பு பிழை" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "" - -#, python-format -msgid "Change history: %s" -msgstr "வரலாற்றை மாற்று: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" - -msgid "Django site admin" -msgstr "டிஜாங்ஙோ தள நிர்வாகி" - -msgid "Django administration" -msgstr "டிஜாங்ஙோ நிர்வாகம் " - -msgid "Site administration" -msgstr "இணைய மேலான்மை" - -msgid "Log in" -msgstr "உள்ளே போ" - -#, python-format -msgid "%(app)s administration" -msgstr "" - -msgid "Page not found" -msgstr "பக்கத்தைக் காணவில்லை" - -msgid "We're sorry, but the requested page could not be found." -msgstr "நீங்கள் விரும்பிய பக்கத்தை காண இயலவில்லை,அதற்காக நாங்கள் வருந்துகிறோம்." - -msgid "Home" -msgstr "வீடு" - -msgid "Server error" -msgstr "சேவகன் பிழை" - -msgid "Server error (500)" -msgstr "சேவையகம் தவறு(500)" - -msgid "Server Error (500)" -msgstr "சேவையகம் பிழை(500)" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" - -msgid "Run the selected action" -msgstr "" - -msgid "Go" -msgstr "செல்" - -msgid "Click here to select the objects across all pages" -msgstr "" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "" - -msgid "Clear selection" -msgstr "" - -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" -"முதலில்,பயனர்ப்பெயர் மற்றும் கடவுச்சொல்லை உள்ளிடவும்.அதன் பிறகு தான் நீங்கள் உங்கள் பெயரின் " -"விவரங்களை திருத்த முடியும்" - -msgid "Enter a username and password." -msgstr "" - -msgid "Change password" -msgstr "கடவுச்சொல்லை மாற்று" - -msgid "Please correct the error below." -msgstr "கீழே உள்ள தவறுகளைத் திருத்துக" - -msgid "Please correct the errors below." -msgstr "" - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "" - -msgid "Welcome," -msgstr "நல்வரவு," - -msgid "View site" -msgstr "" - -msgid "Documentation" -msgstr "ஆவனமாக்கம்" - -msgid "Log out" -msgstr "வெளியேறு" - -#, python-format -msgid "Add %(name)s" -msgstr "%(name)s சேர்க்க" - -msgid "History" -msgstr "வரலாறு" - -msgid "View on site" -msgstr "தளத்தில் பார்" - -msgid "Filter" -msgstr "வடிகட்டி" - -msgid "Remove from sorting" -msgstr "" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "" - -msgid "Toggle sorting" -msgstr "" - -msgid "Delete" -msgstr "நீக்குக" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"நீக்கும் '%(escaped_object)s' ஆனது %(object_name)s தொடர்புடைய மற்றவற்றையும் நீக்கும். " -"ஆனால் அதை நீக்குவதற்குரிய உரிமை உங்களுக்கு இல்லை" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"நீங்கள் இந்த \"%(escaped_object)s\" %(object_name)s நீக்குவதில் நிச்சயமா?தொடர்புடைய " -"மற்றவையும் நீக்கப்படும். " - -msgid "Objects" -msgstr "" - -msgid "Yes, I'm sure" -msgstr "ஆம், எனக்கு உறுதி" - -msgid "No, take me back" -msgstr "" - -msgid "Delete multiple objects" -msgstr "" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" - -msgid "Change" -msgstr "மாற்றுக" - -msgid "Delete?" -msgstr "" - -#, python-format -msgid " By %(filter_title)s " -msgstr "%(filter_title)s ஆல்" - -msgid "Summary" -msgstr "" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "" - -msgid "Add" -msgstr "சேர்க்க" - -msgid "You don't have permission to edit anything." -msgstr "உங்களுக்கு மாற்றுவதற்குரிய உரிமையில்லை" - -msgid "Recent actions" -msgstr "" - -msgid "My actions" -msgstr "" - -msgid "None available" -msgstr "எதுவும் கிடைக்கவில்லை" - -msgid "Unknown content" -msgstr "" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"உங்களுடைய தகவல்சேமிப்பகத்தை நிறுவுவதில் சில தவறுகள் உள்ளது. அதற்கு இணையான " -"தகவல்சேமிப்பு அட்டவணையைதயாரிக்கவும். மேலும் பயனர் படிக்கும் படியான தகவல்சேமிப்பகத்தை " -"உருவாக்கவும்." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" - -msgid "Forgotten your password or username?" -msgstr "" - -msgid "Date/time" -msgstr "தேதி/நேரம் " - -msgid "User" -msgstr "பயனர்" - -msgid "Action" -msgstr "செயல்" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" -"இந்த பொருள் மாற்று வரலாற்றில் இல்லைஒரு வேளை நிர்வாகத்தளத்தின் மூலம் சேர்க்கப்படாமலிருக்கலாம்" - -msgid "Show all" -msgstr "எல்லாவற்றையும் காட்டு" - -msgid "Save" -msgstr "சேமிக்க" - -msgid "Popup closing..." -msgstr "" - -#, python-format -msgid "Change selected %(model)s" -msgstr "" - -#, python-format -msgid "Add another %(model)s" -msgstr "" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "" - -msgid "Search" -msgstr "" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s மொத்தம்" - -msgid "Save as new" -msgstr "புதியதாக சேமி" - -msgid "Save and add another" -msgstr "சேமித்து இன்னுமொன்றைச் சேர்" - -msgid "Save and continue editing" -msgstr "சேமித்து மாற்றத்தை தொடருக" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "வலைத்தளத்தில் உங்களது பொன்னான நேரத்தை செலவழித்தமைக்கு மிகுந்த நன்றி" - -msgid "Log in again" -msgstr "மீண்டும் உள்ளே பதிவு செய்யவும்" - -msgid "Password change" -msgstr "கடவுச்சொல் மாற்று" - -msgid "Your password was changed." -msgstr "உங்களுடைய கடவுச்சொல் மாற்றபட்டது" - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"பாதுகாப்பு காரணங்களுக்காக , முதலில் உங்களது பழைய கடவுச்சொல்லை உள்ளிடுக. அதன் பிறகு " -"புதிய கடவுச்சொல்லை இரு முறை உள்ளிடுக. இது உங்களது உள்ளிடுதலை சரிபார்க்க உதவும். " - -msgid "Change my password" -msgstr "கடவுச் சொல்லை மாற்றவும்" - -msgid "Password reset" -msgstr "கடவுச்சொல்லை மாற்றியமை" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "" - -msgid "Password reset confirmation" -msgstr "" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" - -msgid "New password:" -msgstr "புதிய கடவுச்சொல்:" - -msgid "Confirm password:" -msgstr "கடவுச்சொலின் மாற்றத்தை உறுதிப்படுத்து:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" - -msgid "Please go to the following page and choose a new password:" -msgstr "" - -msgid "Your username, in case you've forgotten:" -msgstr "உங்களது பயனாளர் பெயர், நீங்கள் மறந்திருந்தால்:" - -msgid "Thanks for using our site!" -msgstr "எங்களது வலைத்தளத்தை பயன் படுத்தியதற்கு மிகுந்த நன்றி" - -#, python-format -msgid "The %(site_name)s team" -msgstr "இந்த %(site_name)s -இன் குழு" - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" - -msgid "Email address:" -msgstr "" - -msgid "Reset my password" -msgstr "எனது கடவுச்சொல்லை மாற்றியமை" - -msgid "All dates" -msgstr "அனைத்து தேதியும்" - -#, python-format -msgid "Select %s" -msgstr "%s யை தேர்ந்தெடு" - -#, python-format -msgid "Select %s to change" -msgstr "%s யை மாற்ற தேர்ந்தெடு" - -msgid "Date:" -msgstr "தேதி:" - -msgid "Time:" -msgstr "நேரம்:" - -msgid "Lookup" -msgstr "" - -msgid "Currently:" -msgstr "" - -msgid "Change:" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ta/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ta/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 33931115..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ta/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ta/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ta/LC_MESSAGES/djangojs.po deleted file mode 100644 index 0a7bfcc6..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ta/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,204 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Jannis Leidel , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" -"PO-Revision-Date: 2017-09-19 16:41+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Tamil (http://www.transifex.com/django/django/language/ta/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ta\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "%s இருக்கிறதா " - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "" - -msgid "Filter" -msgstr "வடிகட்டி" - -msgid "Choose all" -msgstr "எல்லாவற்றையும் தேர்ந்த்தெடுக்க" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "" - -msgid "Choose" -msgstr "" - -msgid "Remove" -msgstr "அழிக்க" - -#, javascript-format -msgid "Chosen %s" -msgstr "%s தேர்ந்த்தெடுக்கப்பட்ட" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" - -msgid "Remove all" -msgstr "" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "" - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "" -msgstr[1] "" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" - -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 "" - -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 "" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "" -msgstr[1] "" - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "" -msgstr[1] "" - -msgid "Now" -msgstr "இப்பொழுது " - -msgid "Choose a Time" -msgstr "" - -msgid "Choose a time" -msgstr "ஒரு நேரத்தை தேர்ந்த்தெடுக்க " - -msgid "Midnight" -msgstr "நடு இரவு " - -msgid "6 a.m." -msgstr "காலை 6 மணி " - -msgid "Noon" -msgstr "மதியம் " - -msgid "6 p.m." -msgstr "" - -msgid "Cancel" -msgstr "வேண்டாம் " - -msgid "Today" -msgstr "இன்று " - -msgid "Choose a Date" -msgstr "" - -msgid "Yesterday" -msgstr "நேற்று " - -msgid "Tomorrow" -msgstr "நாளை" - -msgid "January" -msgstr "" - -msgid "February" -msgstr "" - -msgid "March" -msgstr "" - -msgid "April" -msgstr "" - -msgid "May" -msgstr "" - -msgid "June" -msgstr "" - -msgid "July" -msgstr "" - -msgid "August" -msgstr "" - -msgid "September" -msgstr "" - -msgid "October" -msgstr "" - -msgid "November" -msgstr "" - -msgid "December" -msgstr "" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "" - -msgctxt "one letter Monday" -msgid "M" -msgstr "" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "" - -msgctxt "one letter Friday" -msgid "F" -msgstr "" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "" - -msgid "Show" -msgstr "" - -msgid "Hide" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/te/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/te/LC_MESSAGES/django.mo deleted file mode 100644 index 17e7dc6b..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/te/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/te/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/te/LC_MESSAGES/django.po deleted file mode 100644 index f624d4f9..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/te/LC_MESSAGES/django.po +++ /dev/null @@ -1,640 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# bhaskar teja yerneni , 2011 -# Jannis Leidel , 2011 -# ప్రవీణ్ ఇళ్ళ , 2011,2013 -# వీవెన్ , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-09-19 16:40+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Telugu (http://www.transifex.com/django/django/language/te/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: te\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "%(count)d %(items)s జయప్రదముగా తీసేవేయబడినది." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "%(name)s తొలగించుట వీలుకాదు" - -msgid "Are you sure?" -msgstr "మీరు ఖచ్చితంగా ఇలా చేయాలనుకుంటున్నారా?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "ఎంచుకోన్న %(verbose_name_plural)s తీసివేయుము " - -msgid "Administration" -msgstr "" - -msgid "All" -msgstr "అన్నీ" - -msgid "Yes" -msgstr "అవును" - -msgid "No" -msgstr "కాదు" - -msgid "Unknown" -msgstr "తెలియనది" - -msgid "Any date" -msgstr "ఏ రోజైన" - -msgid "Today" -msgstr "ఈ రోజు" - -msgid "Past 7 days" -msgstr "గత 7 రోజుల గా" - -msgid "This month" -msgstr "ఈ నెల" - -msgid "This year" -msgstr "ఈ సంవత్సరం" - -msgid "No date" -msgstr "" - -msgid "Has date" -msgstr "" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" - -msgid "Action:" -msgstr "చర్య:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "" - -msgid "Remove" -msgstr "తొలగించు" - -msgid "action time" -msgstr "పని సమయము " - -msgid "user" -msgstr "" - -msgid "content type" -msgstr "" - -msgid "object id" -msgstr "వస్తువు" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/3/library/functions.html#repr) -msgid "object repr" -msgstr "వస్తువు" - -msgid "action flag" -msgstr "పని ఫ్లాగ్" - -msgid "change message" -msgstr "సందేశము ని మార్చంది" - -msgid "log entry" -msgstr "లాగ్ ఎంట్రీ" - -msgid "log entries" -msgstr "లాగ్ ఎంట్రీలు" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "" - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "" - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "" - -msgid "LogEntry Object" -msgstr "" - -#, python-brace-format -msgid "Added {name} \"{object}\"." -msgstr "" - -msgid "Added." -msgstr "" - -msgid "and" -msgstr "మరియు" - -#, python-brace-format -msgid "Changed {fields} for {name} \"{object}\"." -msgstr "" - -#, python-brace-format -msgid "Changed {fields}." -msgstr "" - -#, python-brace-format -msgid "Deleted {name} \"{object}\"." -msgstr "" - -msgid "No fields changed." -msgstr "క్షేత్రములు ఏమి మార్చబడలేదు" - -msgid "None" -msgstr "వొకటీ లేదు" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was changed successfully." -msgstr "" - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"అంశములపయి తదుపరి చర్య తీసుకోనటకు వాటిని ఎంపిక చేసుకోవలెను. ప్రస్తుతం ఎటువంటి అంశములు " -"మార్చబడలేదు." - -msgid "No action selected." -msgstr "మీరు ఎటువంటి చర్య తీసుకొనలేదు " - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "%(name)s \"%(obj)s\" జయప్రదంగా తీసివేయబడ్డడి" - -#, python-format -msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" -msgstr "" - -#, python-format -msgid "Add %s" -msgstr "%sని జత చేయండి " - -#, python-format -msgid "Change %s" -msgstr "%sని మార్చుము" - -msgid "Database error" -msgstr "దత్తాంశస్థానము పొరబాటు " - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s జయప్రదముగా మార్చబడినవి." -msgstr[1] "%(count)s %(name)s జయప్రదముగా మార్చబడినవి." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s ఎంపికయినది." -msgstr[1] "అన్ని %(total_count)s ఎంపికయినవి." - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "0 of %(cnt)s ఎంపికయినవి." - -#, python-format -msgid "Change history: %s" -msgstr "చరిత్రం మార్చు: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" - -msgid "Django site admin" -msgstr "జాంగొ యొక్క నిర్వాహణదారులు" - -msgid "Django administration" -msgstr "జాంగొ నిర్వాహణ" - -msgid "Site administration" -msgstr "సైట్ నిర్వాహణ" - -msgid "Log in" -msgstr "ప్రవేశించండి" - -#, python-format -msgid "%(app)s administration" -msgstr "" - -msgid "Page not found" -msgstr "పుట దొరకలేదు" - -msgid "We're sorry, but the requested page could not be found." -msgstr "క్షమించండి మీరు కోరిన పుట దొరకలేడు" - -msgid "Home" -msgstr "నివాసము" - -msgid "Server error" -msgstr "సర్వర్ పొరబాటు" - -msgid "Server error (500)" -msgstr "సర్వర్ పొరబాటు (500)" - -msgid "Server Error (500)" -msgstr "సర్వర్ పొరబాటు (500)" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" - -msgid "Run the selected action" -msgstr "ఎంచుకున్న చర్యను నడుపు" - -msgid "Go" -msgstr "వెళ్లు" - -msgid "Click here to select the objects across all pages" -msgstr "" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "" - -msgid "Clear selection" -msgstr "ఎంపికను తుడిచివేయి" - -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" - -msgid "Enter a username and password." -msgstr "ఒక వాడుకరిపేరు మరియు సంకేతపదాన్ని ప్రవేశపెట్టండి." - -msgid "Change password" -msgstr "సంకేతపదాన్ని మార్చుకోండి" - -msgid "Please correct the error below." -msgstr "క్రింద ఉన్న తప్పులు సరిదిద్దుకోండి" - -msgid "Please correct the errors below." -msgstr "" - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "" - -msgid "Welcome," -msgstr "సుస్వాగతం" - -msgid "View site" -msgstr "" - -msgid "Documentation" -msgstr "పత్రీకరణ" - -msgid "Log out" -msgstr "నిష్క్రమించండి" - -#, python-format -msgid "Add %(name)s" -msgstr "%(name)s జత చేయు" - -msgid "History" -msgstr "చరిత్ర" - -msgid "View on site" -msgstr "సైట్ లో చూడండి" - -msgid "Filter" -msgstr "వడపోత" - -msgid "Remove from sorting" -msgstr "క్రమీకరణ నుండి తొలగించు" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "" - -msgid "Toggle sorting" -msgstr "" - -msgid "Delete" -msgstr "తొలగించు" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" - -msgid "Objects" -msgstr "" - -msgid "Yes, I'm sure" -msgstr "అవును " - -msgid "No, take me back" -msgstr "" - -msgid "Delete multiple objects" -msgstr "" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" - -msgid "Change" -msgstr "మార్చు" - -msgid "Delete?" -msgstr "తొలగించాలా?" - -#, python-format -msgid " By %(filter_title)s " -msgstr "" - -msgid "Summary" -msgstr "" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "" - -msgid "Add" -msgstr "చేర్చు" - -msgid "You don't have permission to edit anything." -msgstr "మీకు ఏది మార్చటానికి అధికారము లేదు" - -msgid "Recent actions" -msgstr "" - -msgid "My actions" -msgstr "" - -msgid "None available" -msgstr "ఏమి దొరకలేదు" - -msgid "Unknown content" -msgstr "తెలియని విషయం" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" - -msgid "Forgotten your password or username?" -msgstr "మీ సంకేతపదం లేదా వాడుకరిపేరును మర్చిపోయారా?" - -msgid "Date/time" -msgstr "తేదీ/సమయం" - -msgid "User" -msgstr "వాడుకరి" - -msgid "Action" -msgstr "చర్య" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" - -msgid "Show all" -msgstr "అన్నీ చూపించు" - -msgid "Save" -msgstr "భద్రపరుచు" - -msgid "Popup closing..." -msgstr "" - -#, python-format -msgid "Change selected %(model)s" -msgstr "" - -#, python-format -msgid "Add another %(model)s" -msgstr "" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "" - -msgid "Search" -msgstr "వెతుకు" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s ఫలితం" -msgstr[1] "%(counter)s ఫలితాలు" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s మొత్తము" - -msgid "Save as new" -msgstr "కొత్త దాని లా దాచు" - -msgid "Save and add another" -msgstr "దాచి కొత్త దానిని కలపండి" - -msgid "Save and continue editing" -msgstr "దాచి మార్చుటా ఉందండి" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "" - -msgid "Log in again" -msgstr "మళ్ళీ ప్రవేశించండి" - -msgid "Password change" -msgstr "అనుమతి పదం మార్పు" - -msgid "Your password was changed." -msgstr "మీ అనుమతి పదం మార్చబడిండి" - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"దయచేసి రక్షన కోసము, మీ పాత అనుమతి పదం ఇవ్వండి , కొత్త అనుమతి పదం రెండు సార్లు ఇవ్వండి , " -"ఎం దుకంటే మీరు తప్పు ఇస్తే సరిచేయటానికి " - -msgid "Change my password" -msgstr "నా సంకేతపదాన్ని మార్చు" - -msgid "Password reset" -msgstr "అనుమతి పదం తిరిగి అమర్చు" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "మీ అనుమతి పదం మర్చుబడినది. మీరు ఇప్పుదు లాగ్ ఇన్ అవ్వచ్చు." - -msgid "Password reset confirmation" -msgstr "అనుమతి పదం తిరిగి మార్చు ఖాయం చెయండి" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"దయచేసి రక్షన కోసము, మీ పాత అనుమతి పదం ఇవ్వండి , కొత్త అనుమతి పదం రెండు సార్లు ఇవ్వండి , " -"ఎం దుకంటే మీరు తప్పు ఇస్తే సరిచేయటానికి " - -msgid "New password:" -msgstr "కొత్త సంకేతపదం:" - -msgid "Confirm password:" -msgstr "సంకేతపదాన్ని నిర్ధారించండి:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" - -msgid "Please go to the following page and choose a new password:" -msgstr "" - -msgid "Your username, in case you've forgotten:" -msgstr "మీ వాడుకరిపేరు, ఒక వేళ మీరు మర్చిపోయివుంటే:" - -msgid "Thanks for using our site!" -msgstr "మా సైటుని ఉపయోగిస్తున్నందుకు ధన్యవాదములు!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "%(site_name)s జట్టు" - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" - -msgid "Email address:" -msgstr "ఈమెయిలు చిరునామా:" - -msgid "Reset my password" -msgstr "అనుమతిపదం తిరిగి అమర్చు" - -msgid "All dates" -msgstr "అన్నీ తేదీలు" - -#, python-format -msgid "Select %s" -msgstr "%s ని ఎన్నుకోండి" - -#, python-format -msgid "Select %s to change" -msgstr "%s ని మార్చటానికి ఎన్నుకోండి" - -msgid "Date:" -msgstr "తారీఖు:" - -msgid "Time:" -msgstr "సమయం:" - -msgid "Lookup" -msgstr "అంశ శోధన." - -msgid "Currently:" -msgstr "ప్రస్తుతం" - -msgid "Change:" -msgstr "మార్చు:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/te/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/te/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 92b65f17..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/te/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/te/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/te/LC_MESSAGES/djangojs.po deleted file mode 100644 index cfa35a1e..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/te/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,205 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# bhaskar teja yerneni , 2011 -# Jannis Leidel , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" -"PO-Revision-Date: 2017-09-19 16:41+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Telugu (http://www.transifex.com/django/django/language/te/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: te\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "ఆందుబాతులోఉన్న %s " - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "" - -msgid "Filter" -msgstr "వడపోత" - -msgid "Choose all" -msgstr "అన్నీ ఎన్నుకోండి" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "" - -msgid "Choose" -msgstr "" - -msgid "Remove" -msgstr "తీసివేయండి" - -#, javascript-format -msgid "Chosen %s" -msgstr "ఎన్నుకున్న %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" - -msgid "Remove all" -msgstr "" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "" - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "" -msgstr[1] "" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" - -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 "" - -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 "" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "" -msgstr[1] "" - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "" -msgstr[1] "" - -msgid "Now" -msgstr "ఇప్పుడు" - -msgid "Choose a Time" -msgstr "" - -msgid "Choose a time" -msgstr "ఒక సమయము ఎన్నుకోండి" - -msgid "Midnight" -msgstr "ఆర్ధరాత్రి" - -msgid "6 a.m." -msgstr "6 a.m" - -msgid "Noon" -msgstr "మధ్యాహ్నము" - -msgid "6 p.m." -msgstr "" - -msgid "Cancel" -msgstr "రద్దు చేయు" - -msgid "Today" -msgstr "ఈనాడు" - -msgid "Choose a Date" -msgstr "" - -msgid "Yesterday" -msgstr "నిన్న" - -msgid "Tomorrow" -msgstr "రేపు" - -msgid "January" -msgstr "" - -msgid "February" -msgstr "" - -msgid "March" -msgstr "" - -msgid "April" -msgstr "" - -msgid "May" -msgstr "" - -msgid "June" -msgstr "" - -msgid "July" -msgstr "" - -msgid "August" -msgstr "" - -msgid "September" -msgstr "" - -msgid "October" -msgstr "" - -msgid "November" -msgstr "" - -msgid "December" -msgstr "" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "" - -msgctxt "one letter Monday" -msgid "M" -msgstr "" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "" - -msgctxt "one letter Friday" -msgid "F" -msgstr "" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "" - -msgid "Show" -msgstr "చూపించుము" - -msgid "Hide" -msgstr "దాచు" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/tg/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/tg/LC_MESSAGES/django.mo deleted file mode 100644 index 34085cb0..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/tg/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/tg/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/tg/LC_MESSAGES/django.po deleted file mode 100644 index dee28726..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/tg/LC_MESSAGES/django.po +++ /dev/null @@ -1,699 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Mariusz Felisiak , 2020 -# Surush Sufiew , 2020 -# Surush Sufiew , 2020 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-14 19:53+0200\n" -"PO-Revision-Date: 2020-07-30 18:53+0000\n" -"Last-Translator: Mariusz Felisiak \n" -"Language-Team: Tajik (http://www.transifex.com/django/django/language/tg/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: tg\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "Муваффақона нест сохтед %(count)d %(items)s." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "Нест карда нашуд %(name)s" - -msgid "Are you sure?" -msgstr "Шумо рози ҳастед ?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Нест сохтани интихобшудаҳо %(verbose_name_plural)s" - -msgid "Administration" -msgstr "Маъмурият" - -msgid "All" -msgstr "Ҳама" - -msgid "Yes" -msgstr "Ҳа" - -msgid "No" -msgstr "Не" - -msgid "Unknown" -msgstr "Номуайян" - -msgid "Any date" -msgstr "Санаи бефарқ" - -msgid "Today" -msgstr "Имрӯз" - -msgid "Past 7 days" -msgstr "7 рӯзи охир" - -msgid "This month" -msgstr "Моҳи ҷорӣ" - -msgid "This year" -msgstr "Соли ҷорӣ" - -msgid "No date" -msgstr "Сана ишора нашудааст" - -msgid "Has date" -msgstr "Сана ишора шудааст" - -msgid "Empty" -msgstr "Холӣ" - -msgid "Not empty" -msgstr "Холӣ нест" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Хоҳиш менамоем %(username)s ва рамзро дуруст ворид созед. Ҳарду майдон " -"метавонанд духура бошанд." - -msgid "Action:" -msgstr "Амал:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Боз якто %(verbose_name)s илова кардан" - -msgid "Remove" -msgstr "Нест кардан" - -msgid "Addition" -msgstr "Иловакунӣ" - -msgid "Change" -msgstr "Тағйир додан" - -msgid "Deletion" -msgstr "Несткунӣ" - -msgid "action time" -msgstr "вақти амал" - -msgid "user" -msgstr "истифодабаранда" - -msgid "content type" -msgstr "намуди контент" - -msgid "object id" -msgstr "идентификатори объект" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "намоиши объект" - -msgid "action flag" -msgstr "намуди амал" - -msgid "change message" -msgstr "хабар оиди тағйирот" - -msgid "log entry" -msgstr "қайд дар дафтар" - -msgid "log entries" -msgstr "қайдҳо дар дафтар" - -#, python-format -msgid "Added “%(object)s”." -msgstr "Илова шуд \"%(object)s\"" - -#, python-format -msgid "Changed “%(object)s” — %(changes)s" -msgstr "" - -#, python-format -msgid "Deleted “%(object)s.”" -msgstr "" - -msgid "LogEntry Object" -msgstr "Қайд дар дафтар" - -#, python-brace-format -msgid "Added {name} “{object}”." -msgstr "" - -msgid "Added." -msgstr "Илова шуд." - -msgid "and" -msgstr "ва" - -#, python-brace-format -msgid "Changed {fields} for {name} “{object}”." -msgstr "" - -#, python-brace-format -msgid "Changed {fields}." -msgstr "Тағйир ёфт {fields}." - -#, python-brace-format -msgid "Deleted {name} “{object}”." -msgstr "" - -msgid "No fields changed." -msgstr "Ягон майдон тағйир наёфт." - -msgid "None" -msgstr "Не" - -msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." -msgstr "" - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully." -msgstr "" - -msgid "You may edit it again below." -msgstr "Шумо метавонед ин объектро дар поён аз нав тағйир диҳед." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was added successfully. You may add another {name} below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} “{obj}” was changed successfully." -msgstr "" - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Барои иҷрои амал лозим аст, ки объектро интихоб намоед. Тағйирот барои " -"объектҳо ворид нашуданд " - -msgid "No action selected." -msgstr "Ҳеҷ амал инихоб нашудааст." - -#, python-format -msgid "The %(name)s “%(obj)s” was deleted successfully." -msgstr "" - -#, python-format -msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" -msgstr "" - -#, python-format -msgid "Add %s" -msgstr "Илова кардан %s" - -#, python-format -msgid "Change %s" -msgstr "Тағйир додан %s" - -#, python-format -msgid "View %s" -msgstr "Азназаргузаронӣ %s" - -msgid "Database error" -msgstr "Мушкилӣ дар базаи додаҳо" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "Интихоб карда шуд 0 аз %(cnt)s " - -#, python-format -msgid "Change history: %s" -msgstr "Таърихи вориди тағйирот: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"Несткунии объекти %(instance)s намуди %(class_name)s талаб мекунад, ки " -"объектҳои алоқамандшудаизерин низ нест карда шаванд: %(related_objects)s" - -msgid "Django site admin" -msgstr "Сомонаи маъмурии Django" - -msgid "Django administration" -msgstr "Маъмурияти Django" - -msgid "Site administration" -msgstr "Маъмурияти сомона" - -msgid "Log in" -msgstr "Ворид шудан" - -#, python-format -msgid "%(app)s administration" -msgstr "Маъмурияти барномаи «%(app)s»" - -msgid "Page not found" -msgstr "Саҳифа ёфт нашуд" - -msgid "We’re sorry, but the requested page could not be found." -msgstr "" - -msgid "Home" -msgstr "Асосӣ" - -msgid "Server error" -msgstr "Мушкилӣ дар сервер" - -msgid "Server error (500)" -msgstr "Мушкилӣ дар сервер (500)" - -msgid "Server Error (500)" -msgstr "Мушкилӣ дар сервер (500)" - -msgid "" -"There’s been an error. It’s been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" - -msgid "Run the selected action" -msgstr "Иҷрои амалҳои ихтихобшуда" - -msgid "Go" -msgstr "Иҷро кардан" - -msgid "Click here to select the objects across all pages" -msgstr "Барои интихоби объектҳо дар ҳамаи саҳифаҳо, инҷоро пахш намоед" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Интихоби ҳамаи %(module_name)s (%(total_count)s)" - -msgid "Clear selection" -msgstr "Бекоркунии интихоб" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "Моелҳои барномаи %(name)s" - -msgid "Add" -msgstr "Илова кардан" - -msgid "View" -msgstr "Азназаргузаронӣ" - -msgid "You don’t have permission to view or edit anything." -msgstr "" - -msgid "" -"First, enter a username and password. Then, you’ll be able to edit more user " -"options." -msgstr "" - -msgid "Enter a username and password." -msgstr "Ном ва рамзро ворид созед." - -msgid "Change password" -msgstr "Тағйир додани рамз" - -msgid "Please correct the error below." -msgstr "Хоҳишмандем, хатогии зеринро ислоҳ кунед." - -msgid "Please correct the errors below." -msgstr "Хоҳишмандем, хатогиҳои зеринро ислоҳ кунед." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "Рамзи навро ворид созед %(username)s." - -msgid "Welcome," -msgstr "Марҳамат," - -msgid "View site" -msgstr "Гузариш ба сомона" - -msgid "Documentation" -msgstr "Ҳуҷҷатнигорӣ" - -msgid "Log out" -msgstr "Баромад" - -#, python-format -msgid "Add %(name)s" -msgstr "Дохил кардани %(name)s" - -msgid "History" -msgstr "Таърих" - -msgid "View on site" -msgstr "Дар сомона дидан" - -msgid "Filter" -msgstr "Поло(Filter)" - -msgid "Clear all filters" -msgstr "" - -msgid "Remove from sorting" -msgstr "Аз қайди навъҳо баровардан" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Бартарии навъҳо: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Навъҷудокунӣ дар дигар раванд" - -msgid "Delete" -msgstr "Нест кардан" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Нест кардани %(object_name)s '%(escaped_object)s' ба нестсозии объектҳои ба " -"он алоқаманд оварда мерасонад, аммо'ҳисоби корбарӣ'-и (аккаунт) шумо иҷозати " -"нестсозии объектҳои зеринро надорад:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"Нестсозии %(object_name)s '%(escaped_object)s' талаб менамояд, ки " -"объектҳоиалоқаманди муҳофизатии зерин нест карда шаванд:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Шумо боварӣ доред, ки ин элементҳо нест карда шаванд: %(object_name)s " -"\"%(escaped_object)s\"? Ҳамаи объектҳои алоқаманди зерин низ нест карда " -"мешаванд:" - -msgid "Objects" -msgstr "Объектҳо" - -msgid "Yes, I’m sure" -msgstr "" - -msgid "No, take me back" -msgstr "Не, баргаштан" - -msgid "Delete multiple objects" -msgstr "Нестсозии якчанд объектҳо" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Нест кардани %(objects_name)s ба нестсозии объектҳои ба он алоқаманд оварда " -"мерасонад, аммо'ҳисоби корбарӣ'-и (аккаунт) шумо иҷозати нестсозии объектҳои " -"зеринро надорад:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Нестсозии %(objects_name)s талаб менамояд, ки объектҳоиалоқаманди " -"муҳофизатии зерин нест карда шаванд:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Шумо боварӣ доред, ки ин элементҳо нест карда шаванд: %(objects_name)s? " -"Ҳамаи объектҳои алоқаманди зерин низ нест карда мешаванд:" - -msgid "Delete?" -msgstr "Нест кардан?" - -#, python-format -msgid " By %(filter_title)s " -msgstr "%(filter_title)s" - -msgid "Summary" -msgstr "Мухтасар" - -msgid "Recent actions" -msgstr "Амалҳои охирин" - -msgid "My actions" -msgstr "Амалҳои ман" - -msgid "None available" -msgstr "Дастнорас" - -msgid "Unknown content" -msgstr "Шакли номуайян" - -msgid "" -"Something’s wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"Шумо ба система ҳамчун %(username)s, ворид шудед, вале салоҳияти шумобарои " -"азназаргузарониисаҳифаи мазкур нокифоя аст. Шояд шумо мехоҳед бо истифода аз " -"дигар 'ҳисоби корбарӣ' вориди система шавед." - -msgid "Forgotten your password or username?" -msgstr "Рамз ё номро фаромӯш кардед?" - -msgid "Toggle navigation" -msgstr "" - -msgid "Date/time" -msgstr "Сана ва вақт" - -msgid "User" -msgstr "Истифодабар" - -msgid "Action" -msgstr "Амал" - -msgid "" -"This object doesn’t have a change history. It probably wasn’t added via this " -"admin site." -msgstr "" - -msgid "Show all" -msgstr "Ҳамаро нишон додан" - -msgid "Save" -msgstr "Ҳифз кардан" - -msgid "Popup closing…" -msgstr "Равзанаи иловагӣ пӯшида мешавад..." - -msgid "Search" -msgstr "Ёфтан" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "" -msgstr[1] "" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s ҳамаги" - -msgid "Save as new" -msgstr "Ҳамчун объекти нав ҳифз кардан" - -msgid "Save and add another" -msgstr "Ҳифз кардан ва объекти дигар илова кардан" - -msgid "Save and continue editing" -msgstr "Ҳифз кардан ва танзимотро давом додан" - -msgid "Save and view" -msgstr "Ҳифз кардан ва аз назар гузаронидан" - -msgid "Close" -msgstr "Пӯшидан" - -#, python-format -msgid "Change selected %(model)s" -msgstr "Объекти интихобшударо тағйир додан: \"%(model)s\"" - -#, python-format -msgid "Add another %(model)s" -msgstr "Воридсозии боз як объекти \"%(model)s\"" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Объекти зерини интихобшударо нест кардан \"%(model)s\"" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Барои вақти дар ин сомона сарф кардаатон миннатдорем." - -msgid "Log in again" -msgstr "Аз нав ворид шудан" - -msgid "Password change" -msgstr "Тағйири рамз" - -msgid "Your password was changed." -msgstr "Рамзи шумо тағйир дода шуд." - -msgid "" -"Please enter your old password, for security’s sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" - -msgid "Change my password" -msgstr "Тағйири рамзи ман" - -msgid "Password reset" -msgstr "Барқароркунии рамз" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Рамзи шумо ҳифз шуд. Акнун шумо метавонед ворид шавед." - -msgid "Password reset confirmation" -msgstr "Барқароркунии рамз тасдиқ карда шуд." - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Хоҳиш мекунем рамзи нави худро ду маротиба(бояд ҳарду мувофиқат кунанд) " -"дохил кунед." - -msgid "New password:" -msgstr "Рамзи нав:" - -msgid "Confirm password:" -msgstr "Рамзи тасдиқӣ:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Суроға барои барқароркунии рамз нодуруст аст. Эҳтимол алакай як маротиба " -"истифода шудааст.Амали барқароркунии рамзро такрор намоед." - -msgid "" -"We’ve emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" - -msgid "" -"If you don’t receive an email, please make sure you’ve entered the address " -"you registered with, and check your spam folder." -msgstr "" - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"Шумо ин матубро гирифтед барои он, ки аз сомонаи %(site_name)s, ки бо ин " -"почтаи электронӣ алоқаманд аст,ба мо дархост барои барқароркунии рамз қабул " -"шуд." - -msgid "Please go to the following page and choose a new password:" -msgstr "Хоҳишмандем ба ин саҳифа гузаред ва рамзи навро ворид созед:" - -msgid "Your username, in case you’ve forgotten:" -msgstr "" - -msgid "Thanks for using our site!" -msgstr "Барои аз сомонаи мо истифода карданатон сипосгузорем!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "Гурӯҳи ташкили %(site_name)s" - -msgid "" -"Forgotten your password? Enter your email address below, and we’ll email " -"instructions for setting a new one." -msgstr "" - -msgid "Email address:" -msgstr "Суроғаи почтаи электронӣ:" - -msgid "Reset my password" -msgstr "Барқароркунии рамзи ман" - -msgid "All dates" -msgstr "Ҳама санаҳо" - -#, python-format -msgid "Select %s" -msgstr "Интихоб кунед %s" - -#, python-format -msgid "Select %s to change" -msgstr "Интихоби %s барои тағйирот ворид сохтан " - -#, python-format -msgid "Select %s to view" -msgstr "Интихоби %s барои азназаргузаронӣ" - -msgid "Date:" -msgstr "Сана:" - -msgid "Time:" -msgstr "Вақт:" - -msgid "Lookup" -msgstr "Ҷустуҷӯ" - -msgid "Currently:" -msgstr "Ҷорӣ:" - -msgid "Change:" -msgstr "Тағйир додан:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/tg/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/tg/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 2c065519..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/tg/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/tg/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/tg/LC_MESSAGES/djangojs.po deleted file mode 100644 index b5f4fdb4..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/tg/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,222 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Surush Sufiew , 2020 -# Surush Sufiew , 2020 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-11 20:56+0200\n" -"PO-Revision-Date: 2020-05-15 01:22+0000\n" -"Last-Translator: Surush Sufiew \n" -"Language-Team: Tajik (http://www.transifex.com/django/django/language/tg/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: tg\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "Дастрас %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Ин руйхати %s - ҳои дастрас. Шумо метавонед якчандто аз инҳоро дар " -"майдонипоён бо пахши тугмаи \\'Интихоб кардан'\\ интихоб намоед." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "" -"Барои баровардани рӯйхати %s. -ҳои дастрас, ба воридсозии матни лозима шурӯъ " -"кунед" - -msgid "Filter" -msgstr "Поло" - -msgid "Choose all" -msgstr "Интихоби кулл" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Барои якбора интихоб намудани кулли %s инҷоро пахш намоед." - -msgid "Choose" -msgstr "интихоб кардан" - -msgid "Remove" -msgstr "Нест кардан" - -#, javascript-format -msgid "Chosen %s" -msgstr "%s -ҳои интихобшуда" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Ин руйхати %s - ҳои интихобшуда. Шумо метавонед якчандто аз инҳоро дар " -"майдонипоён бо пахши тугмаи \\'Нест кардан'\\ нест созед." - -msgid "Remove all" -msgstr "Нест кардан ба таври кулл" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Пахш кунед барои якбора нест кардани ҳамаи %s." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "" -msgstr[1] "" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Тағйиротҳои ҳифзнакардашуда дар майдони таҳрир мавҷуданд. Агаршумо иҷрои " -"амалро давом диҳед, онҳо нест хоҳанд шуд." - -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 "" -"Шумо амалро интихоб намудед, вале ҳануз тағйиротҳои ворид кардашуда ҳифз " -"нашудаанд.\"\n" -"\"Барои ҳифз намудани онҳо ба тугмаи 'ОК' пахш намоед.\"\n" -"\"Сипас шуморо лозим меояд, ки амалро такроран иҷро намоед" - -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 "" -"\"Шумо амалрор интихоб намудед, вале тағйирот ворид насохтед.\"\n" -"\"Эҳтимол шумо мехостед ба ҷои тугмаи \\'Ҳифз кардан'\\, аз тугмаи \\'Иҷро " -"кардан'\\ истифода намоед.\"\n" -"\"Агар чунин бошад, он гоҳ тугмаи \\'Инкор'\\ пахш кунед, то ки ба майдони " -"таҳриркунӣ баргардед.\"" - -msgid "Now" -msgstr "Ҳозир" - -msgid "Midnight" -msgstr "Нисфишабӣ" - -msgid "6 a.m." -msgstr "6-и саҳар" - -msgid "Noon" -msgstr "Нисфирӯзӣ" - -msgid "6 p.m." -msgstr "6-и бегоҳӣ" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "" -msgstr[1] "" - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "" -msgstr[1] "" - -msgid "Choose a Time" -msgstr "Вақтро интихоб кунед" - -msgid "Choose a time" -msgstr "Вақтро интихоб кунед" - -msgid "Cancel" -msgstr "Инкор" - -msgid "Today" -msgstr "Имрӯз" - -msgid "Choose a Date" -msgstr "Санаро интихоб кунед" - -msgid "Yesterday" -msgstr "Дирӯз" - -msgid "Tomorrow" -msgstr "Фардо" - -msgid "January" -msgstr "Январ" - -msgid "February" -msgstr "Феврал" - -msgid "March" -msgstr "Март" - -msgid "April" -msgstr "Апрел" - -msgid "May" -msgstr "Май" - -msgid "June" -msgstr "Июн" - -msgid "July" -msgstr "Июл" - -msgid "August" -msgstr "Август" - -msgid "September" -msgstr "Сентябр" - -msgid "October" -msgstr "Октябр" - -msgid "November" -msgstr "Ноябр" - -msgid "December" -msgstr "Декабр" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "Я" - -msgctxt "one letter Monday" -msgid "M" -msgstr "Д" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "С" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "Ч" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "П" - -msgctxt "one letter Friday" -msgid "F" -msgstr "Ҷ" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "Ш" - -msgid "Show" -msgstr "Нишон додан" - -msgid "Hide" -msgstr "Пинҳон кардан" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/th/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/th/LC_MESSAGES/django.mo deleted file mode 100644 index 5beeadd1..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/th/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/th/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/th/LC_MESSAGES/django.po deleted file mode 100644 index 53054f83..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/th/LC_MESSAGES/django.po +++ /dev/null @@ -1,671 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Jannis Leidel , 2011 -# Kowit Charoenratchatabhan , 2013-2014,2017-2019 -# piti118 , 2012 -# Suteepat Damrongyingsupab , 2011-2012 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-08 17:27+0200\n" -"PO-Revision-Date: 2019-09-17 01:31+0000\n" -"Last-Translator: Ramiro Morales\n" -"Language-Team: Thai (http://www.transifex.com/django/django/language/th/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: th\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "%(count)d %(items)s ถูกลบเรียบร้อยแล้ว" - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "ไม่สามารถลบ %(name)s" - -msgid "Are you sure?" -msgstr "แน่ใจหรือ" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "ลบ %(verbose_name_plural)s ที่เลือก" - -msgid "Administration" -msgstr "การจัดการ" - -msgid "All" -msgstr "ทั้งหมด" - -msgid "Yes" -msgstr "ใช่" - -msgid "No" -msgstr "ไม่ใช่" - -msgid "Unknown" -msgstr "ไม่รู้" - -msgid "Any date" -msgstr "วันไหนก็ได้" - -msgid "Today" -msgstr "วันนี้" - -msgid "Past 7 days" -msgstr "สัปดาห์ที่แล้ว" - -msgid "This month" -msgstr "เดือนนี้" - -msgid "This year" -msgstr "ปีนี้" - -msgid "No date" -msgstr "ไม่รวมวันที่" - -msgid "Has date" -msgstr "รวมวันที่" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "กรุณาใส่ %(username)s และรหัสผ่านให้ถูกต้อง มีการแยกแยะตัวพิมพ์ใหญ่-เล็ก" - -msgid "Action:" -msgstr "คำสั่ง :" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "เพิ่ม %(verbose_name)s อีก" - -msgid "Remove" -msgstr "ถอดออก" - -msgid "Addition" -msgstr "เพิ่ม" - -msgid "Change" -msgstr "เปลี่ยนแปลง" - -msgid "Deletion" -msgstr "ลบ" - -msgid "action time" -msgstr "เวลาลงมือ" - -msgid "user" -msgstr "ผู้ใช้" - -msgid "content type" -msgstr "content type" - -msgid "object id" -msgstr "อ็อบเจ็กต์ไอดี" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "object repr" - -msgid "action flag" -msgstr "action flag" - -msgid "change message" -msgstr "เปลี่ยนข้อความ" - -msgid "log entry" -msgstr "log entry" - -msgid "log entries" -msgstr "log entries" - -#, python-format -msgid "Added “%(object)s”." -msgstr "" - -#, python-format -msgid "Changed “%(object)s” — %(changes)s" -msgstr "" - -#, python-format -msgid "Deleted “%(object)s.”" -msgstr "" - -msgid "LogEntry Object" -msgstr "อ็อบเจ็กต์ LogEntry" - -#, python-brace-format -msgid "Added {name} “{object}”." -msgstr "" - -msgid "Added." -msgstr "เพิ่มแล้ว" - -msgid "and" -msgstr "และ" - -#, python-brace-format -msgid "Changed {fields} for {name} “{object}”." -msgstr "" - -#, python-brace-format -msgid "Changed {fields}." -msgstr "เปลี่ยน {fields}." - -#, python-brace-format -msgid "Deleted {name} “{object}”." -msgstr "" - -msgid "No fields changed." -msgstr "ไม่มีฟิลด์ใดถูกเปลี่ยน" - -msgid "None" -msgstr "ไม่มี" - -msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." -msgstr "" - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully." -msgstr "" - -msgid "You may edit it again below." -msgstr "คุณสามารถแก้ไขได้อีกครั้งด้านล่าง" - -#, python-brace-format -msgid "" -"The {name} “{obj}” was added successfully. You may add another {name} below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} “{obj}” was changed successfully." -msgstr "" - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"ไม่มีรายการใดถูกเปลี่ยน\n" -"รายการจะต้องถูกเลือกก่อนเพื่อที่จะทำตามคำสั่งได้" - -msgid "No action selected." -msgstr "ไม่มีคำสั่งที่ถูกเลือก" - -#, python-format -msgid "The %(name)s “%(obj)s” was deleted successfully." -msgstr "" - -#, python-format -msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" -msgstr "" - -#, python-format -msgid "Add %s" -msgstr "เพิ่ม %s" - -#, python-format -msgid "Change %s" -msgstr "เปลี่ยน %s" - -#, python-format -msgid "View %s" -msgstr "ดู %s" - -msgid "Database error" -msgstr "เกิดความผิดพลาดที่ฐานข้อมูล" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(name)s จำนวน %(count)s อันได้ถูกเปลี่ยนแปลงเรียบร้อยแล้ว." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s ได้ถูกเลือก" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "เลือก 0 จาก %(cnt)s" - -#, python-format -msgid "Change history: %s" -msgstr "เปลี่ยนแปลงประวัติ: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"กำลังลบ %(class_name)s %(instance)s จะต้องมีการลบอ็อบเจ็คต์ป้องกันที่เกี่ยวข้อง : " -"%(related_objects)s" - -msgid "Django site admin" -msgstr "ผู้ดูแลระบบ Django" - -msgid "Django administration" -msgstr "การจัดการ Django" - -msgid "Site administration" -msgstr "การจัดการไซต์" - -msgid "Log in" -msgstr "เข้าสู่ระบบ" - -#, python-format -msgid "%(app)s administration" -msgstr "การจัดการ %(app)s" - -msgid "Page not found" -msgstr "ไม่พบหน้านี้" - -msgid "We’re sorry, but the requested page could not be found." -msgstr "" - -msgid "Home" -msgstr "หน้าหลัก" - -msgid "Server error" -msgstr "เซิร์ฟเวอร์ขัดข้อง" - -msgid "Server error (500)" -msgstr "เซิร์ฟเวอร์ขัดข้อง (500)" - -msgid "Server Error (500)" -msgstr "เซิร์ฟเวอร์ขัดข้อง (500)" - -msgid "" -"There’s been an error. It’s been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" - -msgid "Run the selected action" -msgstr "รันคำสั่งที่ถูกเลือก" - -msgid "Go" -msgstr "ไป" - -msgid "Click here to select the objects across all pages" -msgstr "คลิกที่นี่เพื่อเลือกอ็อบเจ็กต์จากหน้าทั้งหมด" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "เลือกทั้งหมด %(total_count)s %(module_name)s" - -msgid "Clear selection" -msgstr "เคลียร์ตัวเลือก" - -msgid "" -"First, enter a username and password. Then, you’ll be able to edit more user " -"options." -msgstr "" - -msgid "Enter a username and password." -msgstr "กรุณาใส่ชื่อผู้ใช้และรหัสผ่าน" - -msgid "Change password" -msgstr "เปลี่ยนรหัสผ่าน" - -msgid "Please correct the error below." -msgstr "กรุณาแก้ไขข้อผิดพลาดด้านล่าง" - -msgid "Please correct the errors below." -msgstr "กรุณาแก้ไขข้อผิดพลาดด้านล่าง" - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "ใส่รหัสผ่านใหม่สำหรับผู้ใช้ %(username)s." - -msgid "Welcome," -msgstr "ยินดีต้อนรับ," - -msgid "View site" -msgstr "ดูที่หน้าเว็บ" - -msgid "Documentation" -msgstr "เอกสารประกอบ" - -msgid "Log out" -msgstr "ออกจากระบบ" - -#, python-format -msgid "Add %(name)s" -msgstr "เพิ่ม %(name)s" - -msgid "History" -msgstr "ประวัติ" - -msgid "View on site" -msgstr "ดูที่หน้าเว็บ" - -msgid "Filter" -msgstr "ตัวกรอง" - -msgid "Remove from sorting" -msgstr "เอาออกจาก sorting" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "ลำดับการ sorting: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "เปิด/ปิด sorting" - -msgid "Delete" -msgstr "ลบ" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"กำลังดำเนินการลบ %(object_name)s '%(escaped_object)s'และจะแสดงผลการลบ " -"แต่บัญชีของคุณไม่สามารถทำการลบข้อมูลชนิดนี้ได้" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"การลบ %(object_name)s '%(escaped_object)s' จำเป็นจะต้องลบอ็อบเจ็กต์ที่เกี่ยวข้องต่อไปนี้:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"คุณแน่ใจหรือที่จะลบ %(object_name)s \"%(escaped_object)s\"?" -"ข้อมูลที่เกี่ยวข้องทั้งหมดจะถูกลบไปด้วย:" - -msgid "Objects" -msgstr "อ็อบเจ็กต์" - -msgid "Yes, I’m sure" -msgstr "" - -msgid "No, take me back" -msgstr "ไม่ พาฉันกลับ" - -msgid "Delete multiple objects" -msgstr "ลบหลายอ็อบเจ็กต์" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"การลบ %(objects_name)s ที่เลือก จะทำให้อ็อบเจ็กต์ที่เกี่ยวข้องถูกลบไปด้วย " -"แต่บัญชีของคุณไม่มีสิทธิ์ที่จะลบอ็อบเจ็กต์ชนิดนี้" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "การลบ %(objects_name)s ที่ถูกเลือก จำเป็นจะต้องลบอ็อบเจ็กต์ที่เกี่ยวข้องต่อไปนี้:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"คุณแน่ใจหรือว่า ต้องการลบ %(objects_name)s ที่ถูกเลือก? เนื่องจากอ็อบเจ็กต์ " -"และรายการที่เกี่ยวข้องทั้งหมดต่อไปนี้จะถูกลบด้วย" - -msgid "View" -msgstr "ดู:" - -msgid "Delete?" -msgstr "ลบ?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " โดย %(filter_title)s " - -msgid "Summary" -msgstr "สรุป" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "โมเดลในแอป %(name)s" - -msgid "Add" -msgstr "เพิ่ม" - -msgid "You don’t have permission to view or edit anything." -msgstr "" - -msgid "Recent actions" -msgstr "การกระทำล่าสุด" - -msgid "My actions" -msgstr "การกระทำของฉัน" - -msgid "None available" -msgstr "ไม่ว่าง" - -msgid "Unknown content" -msgstr "ไม่ทราบเนื้อหา" - -msgid "" -"Something’s wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"คุณได้ลงชื่อเป็น %(username)s แต่ไม่ได้รับอนุญาตให้เข้าถึงหน้านี้ " -"คุณต้องการลงชื่อเข้าใช้บัญชีอื่นหรือไม่?" - -msgid "Forgotten your password or username?" -msgstr "ลืมรหัสผ่านหรือชื่อผู้ใช้ของคุณหรือไม่" - -msgid "Date/time" -msgstr "วันที่/เวลา" - -msgid "User" -msgstr "ผู้ใช้" - -msgid "Action" -msgstr "คำสั่ง" - -msgid "" -"This object doesn’t have a change history. It probably wasn’t added via this " -"admin site." -msgstr "" - -msgid "Show all" -msgstr "แสดงทั้งหมด" - -msgid "Save" -msgstr "บันทึก" - -msgid "Popup closing…" -msgstr "ปิดป๊อปอัป ..." - -msgid "Search" -msgstr "ค้นหา" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s ผลลัพธ์" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s ทั้งหมด" - -msgid "Save as new" -msgstr "บันทึกใหม่" - -msgid "Save and add another" -msgstr "บันทึกและเพิ่ม" - -msgid "Save and continue editing" -msgstr "บันทึกและกลับมาแก้ไข" - -msgid "Save and view" -msgstr "บันทึกและดู" - -msgid "Close" -msgstr "ปิด" - -#, python-format -msgid "Change selected %(model)s" -msgstr "เปลี่ยนแปลง %(model)s" - -#, python-format -msgid "Add another %(model)s" -msgstr "เพิ่ม %(model)sอีก" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "ลบ %(model)s" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "ขอบคุณที่สละเวลาอันมีค่าให้กับเว็บไซต์ของเราในวันนี้" - -msgid "Log in again" -msgstr "เข้าสู่ระบบอีกครั้ง" - -msgid "Password change" -msgstr "เปลี่ยนรหัสผ่าน" - -msgid "Your password was changed." -msgstr "รหัสผ่านของคุณถูกเปลี่ยนไปแล้ว" - -msgid "" -"Please enter your old password, for security’s sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" - -msgid "Change my password" -msgstr "เปลี่ยนรหัสผ่านของฉัน" - -msgid "Password reset" -msgstr "ตั้งค่ารหัสผ่านใหม่" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "รหัสผ่านของคุณได้รับการตั้งค่าแล้ว คุณสามารถเข้าสู่ระบบได้ทันที" - -msgid "Password reset confirmation" -msgstr "การยืนยันตั้งค่ารหัสผ่านใหม่" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "กรุณาใส่รหัสผ่านใหม่สองครั้ง เพื่อตรวจสอบว่าคุณได้พิมพ์รหัสอย่างถูกต้อง" - -msgid "New password:" -msgstr "รหัสผ่านใหม่:" - -msgid "Confirm password:" -msgstr "ยืนยันรหัสผ่าน:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"การตั้งรหัสผ่านใหม่ไม่สำเร็จ เป็นเพราะว่าหน้านี้ได้ถูกใช้งานไปแล้ว กรุณาทำการตั้งรหัสผ่านใหม่อีกครั้ง" - -msgid "" -"We’ve emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" - -msgid "" -"If you don’t receive an email, please make sure you’ve entered the address " -"you registered with, and check your spam folder." -msgstr "" - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"คุณได้รับอีเมล์ฉบับนี้ เนื่องจากคุณส่งคำร้องขอเปลี่ยนรหัสผ่านสำหรับบัญชีผู้ใช้ของคุณที่ %(site_name)s." - -msgid "Please go to the following page and choose a new password:" -msgstr "กรุณาไปที่หน้านี้และเลือกรหัสผ่านใหม่:" - -msgid "Your username, in case you’ve forgotten:" -msgstr "" - -msgid "Thanks for using our site!" -msgstr "ขอบคุณสำหรับการใช้งานเว็บไซต์ของเรา" - -#, python-format -msgid "The %(site_name)s team" -msgstr "%(site_name)s ทีม" - -msgid "" -"Forgotten your password? Enter your email address below, and we’ll email " -"instructions for setting a new one." -msgstr "" - -msgid "Email address:" -msgstr "อีเมล:" - -msgid "Reset my password" -msgstr "ตั้งรหัสผ่านของฉันใหม่" - -msgid "All dates" -msgstr "ทุกวัน" - -#, python-format -msgid "Select %s" -msgstr "เลือก %s" - -#, python-format -msgid "Select %s to change" -msgstr "เลือก %s เพื่อเปลี่ยนแปลง" - -#, python-format -msgid "Select %s to view" -msgstr "เลือก %s เพื่อดู" - -msgid "Date:" -msgstr "วันที่ :" - -msgid "Time:" -msgstr "เวลา :" - -msgid "Lookup" -msgstr "ดูที่" - -msgid "Currently:" -msgstr "ปัจจุบัน:" - -msgid "Change:" -msgstr "เปลี่ยนเป็น:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/th/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/th/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 71eff638..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/th/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/th/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/th/LC_MESSAGES/djangojs.po deleted file mode 100644 index 5cca152c..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/th/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,213 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Jannis Leidel , 2011 -# Kowit Charoenratchatabhan , 2011-2012,2018 -# Perry Roper , 2017 -# Suteepat Damrongyingsupab , 2012 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-05-17 11:50+0200\n" -"PO-Revision-Date: 2018-05-06 07:50+0000\n" -"Last-Translator: Kowit Charoenratchatabhan \n" -"Language-Team: Thai (http://www.transifex.com/django/django/language/th/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: th\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#, javascript-format -msgid "Available %s" -msgstr "%sที่มีอยู่" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"นี่คือรายการที่ใช้ได้ของ %s คุณอาจเลือกบางรายการโดยการเลือกไว้ในกล่องด้านล่างแล้วคลิกที่ปุ่ม " -"\"เลือก\" ระหว่างสองกล่อง" - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "พิมพ์ลงในช่องนี้เพื่อกรองรายการที่ใช้ได้ของ %s" - -msgid "Filter" -msgstr "ตัวกรอง" - -msgid "Choose all" -msgstr "เลือกทั้งหมด" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "คลิกเพื่อเลือก %s ทั้งหมดในครั้งเดียว" - -msgid "Choose" -msgstr "เลือก" - -msgid "Remove" -msgstr "ลบออก" - -#, javascript-format -msgid "Chosen %s" -msgstr "%sที่ถูกเลือก" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"นี่คือรายการที่ถูกเลือกของ %s คุณอาจเอาบางรายการออกโดยการเลือกไว้ในกล่องด้านล่างแล้วคลิกที่ปุ่ม " -"\"เอาออก\" ระหว่างสองกล่อง" - -msgid "Remove all" -msgstr "เอาออกทั้งหมด" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "คลิกเพื่อเอา %s ออกทั้งหมดในครั้งเดียว" - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(sel)s จาก %(cnt)s selected" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"คุณยังไม่ได้บันทึกการเปลี่ยนแปลงในแต่ละฟิลด์ ถ้าคุณเรียกใช้คำสั่ง " -"ข้อมูลที่ไม่ได้บันทึกการเปลี่ยนแปลงของคุณจะหายไป" - -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 "" -"คุณได้เลือกคำสั่ง แต่คุณยังไม่ได้บันทึกการเปลี่ยนแปลงของคุณไปยังฟิลด์ กรุณาคลิก OK เพื่อบันทึก " -"คุณจะต้องเรียกใช้คำสั่งใหม่อีกครั้ง" - -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 "" -"คุณได้เลือกคำสั่งและคุณยังไม่ได้ทำการเปลี่ยนแปลงใด ๆ ในฟิลด์ คุณอาจมองหาปุ่มไปมากกว่าปุ่มบันทึก" - -msgid "Now" -msgstr "ขณะนี้" - -msgid "Midnight" -msgstr "เที่ยงคืน" - -msgid "6 a.m." -msgstr "หกโมงเช้า" - -msgid "Noon" -msgstr "เที่ยงวัน" - -msgid "6 p.m." -msgstr "หกโมงเย็น" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "หมายเหตุ: เวลาคุณเร็วกว่าเวลาบนเซิร์ฟเวอร์อยู่ %s ชั่วโมง." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "หมายเหตุ: เวลาคุณช้ากว่าเวลาบนเซิร์ฟเวอร์อยู่ %s ชั่วโมง." - -msgid "Choose a Time" -msgstr "เลือกเวลา" - -msgid "Choose a time" -msgstr "เลือกเวลา" - -msgid "Cancel" -msgstr "ยกเลิก" - -msgid "Today" -msgstr "วันนี้" - -msgid "Choose a Date" -msgstr "เลือกวัน" - -msgid "Yesterday" -msgstr "เมื่อวาน" - -msgid "Tomorrow" -msgstr "พรุ่งนี้" - -msgid "January" -msgstr "มกราคม" - -msgid "February" -msgstr "กุมภาพันธ์" - -msgid "March" -msgstr "มีนาคม" - -msgid "April" -msgstr "เมษายน" - -msgid "May" -msgstr "พฤษภาคม" - -msgid "June" -msgstr "มิถุนายน" - -msgid "July" -msgstr "กรกฎาคม" - -msgid "August" -msgstr "สิงหาคม" - -msgid "September" -msgstr "กันยายน" - -msgid "October" -msgstr "ตุลาคม" - -msgid "November" -msgstr "พฤศจิกายน" - -msgid "December" -msgstr "ธันวาคม" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "อา." - -msgctxt "one letter Monday" -msgid "M" -msgstr "จ." - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "อ." - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "พ." - -msgctxt "one letter Thursday" -msgid "T" -msgstr "พฤ." - -msgctxt "one letter Friday" -msgid "F" -msgstr "ศ." - -msgctxt "one letter Saturday" -msgid "S" -msgstr "ส." - -msgid "Show" -msgstr "แสดง" - -msgid "Hide" -msgstr "ซ่อน" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/tr/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/tr/LC_MESSAGES/django.mo deleted file mode 100644 index f1a96bdb..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/tr/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/tr/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/tr/LC_MESSAGES/django.po deleted file mode 100644 index f7b9195c..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/tr/LC_MESSAGES/django.po +++ /dev/null @@ -1,729 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# BouRock, 2015-2020 -# BouRock, 2014-2015 -# Caner Başaran , 2013 -# Cihad GÜNDOĞDU , 2012 -# Cihad GÜNDOĞDU , 2014 -# Cihan Okyay , 2014 -# Jannis Leidel , 2011 -# Mesut Can Gürle , 2013 -# Murat Sahin , 2011 -# Yigit Guler , 2020 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-14 19:53+0200\n" -"PO-Revision-Date: 2020-07-15 08:30+0000\n" -"Last-Translator: BouRock\n" -"Language-Team: Turkish (http://www.transifex.com/django/django/language/" -"tr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: tr\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "%(count)d adet %(items)s başarılı olarak silindi." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "%(name)s silinemiyor" - -msgid "Are you sure?" -msgstr "Emin misiniz?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Seçili %(verbose_name_plural)s nesnelerini sil" - -msgid "Administration" -msgstr "Yönetim" - -msgid "All" -msgstr "Tümü" - -msgid "Yes" -msgstr "Evet" - -msgid "No" -msgstr "Hayır" - -msgid "Unknown" -msgstr "Bilinmiyor" - -msgid "Any date" -msgstr "Herhangi bir tarih" - -msgid "Today" -msgstr "Bugün" - -msgid "Past 7 days" -msgstr "Son 7 gün" - -msgid "This month" -msgstr "Bu ay" - -msgid "This year" -msgstr "Bu yıl" - -msgid "No date" -msgstr "Tarih yok" - -msgid "Has date" -msgstr "Tarih var" - -msgid "Empty" -msgstr "Boş" - -msgid "Not empty" -msgstr "Boş değil" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Lütfen görevli hesabı için %(username)s ve parolanızı doğru girin. İki " -"alanın da büyük küçük harfe duyarlı olabildiğini unutmayın." - -msgid "Action:" -msgstr "Eylem:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Başka bir %(verbose_name)s ekle" - -msgid "Remove" -msgstr "Kaldır" - -msgid "Addition" -msgstr "Ekleme" - -msgid "Change" -msgstr "Değiştir" - -msgid "Deletion" -msgstr "Silme" - -msgid "action time" -msgstr "eylem zamanı" - -msgid "user" -msgstr "kullanıcı" - -msgid "content type" -msgstr "içerik türü" - -msgid "object id" -msgstr "nesne kimliği" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "nesne kodu" - -msgid "action flag" -msgstr "eylem işareti" - -msgid "change message" -msgstr "iletiyi değiştir" - -msgid "log entry" -msgstr "günlük girdisi" - -msgid "log entries" -msgstr "günlük girdisi" - -#, python-format -msgid "Added “%(object)s”." -msgstr "“%(object)s” eklendi." - -#, python-format -msgid "Changed “%(object)s” — %(changes)s" -msgstr "“%(object)s” değiştirildi — %(changes)s" - -#, python-format -msgid "Deleted “%(object)s.”" -msgstr "“%(object)s” silindi." - -msgid "LogEntry Object" -msgstr "LogEntry Nesnesi" - -#, python-brace-format -msgid "Added {name} “{object}”." -msgstr "{name} “{object}” eklendi." - -msgid "Added." -msgstr "Eklendi." - -msgid "and" -msgstr "ve" - -#, python-brace-format -msgid "Changed {fields} for {name} “{object}”." -msgstr "{name} “{object}” için {fields} değiştirildi." - -#, python-brace-format -msgid "Changed {fields}." -msgstr "{fields} değiştirildi." - -#, python-brace-format -msgid "Deleted {name} “{object}”." -msgstr "{name} “{object}” silindi." - -msgid "No fields changed." -msgstr "Değiştirilen alanlar yok." - -msgid "None" -msgstr "Hiçbiri" - -msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." -msgstr "" -"Birden fazla seçmek için “Ctrl” veya Mac’teki “Command” tuşuna basılı tutun." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully." -msgstr "{name} “{obj}” başarılı olarak eklendi." - -msgid "You may edit it again below." -msgstr "Aşağıdan bunu tekrar düzenleyebilirsiniz." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was added successfully. You may add another {name} below." -msgstr "" -"{name} “{obj}” başarılı olarak eklendi. Aşağıda başka bir {name} " -"ekleyebilirsiniz." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may edit it again below." -msgstr "" -"{name} “{obj}” başarılı olarak değiştirildi. Aşağıda tekrar " -"düzenleyebilirsiniz." - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully. You may edit it again below." -msgstr "" -"{name} “{obj}” başarılı olarak eklendi. Aşağıda tekrar düzenleyebilirsiniz." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may add another {name} " -"below." -msgstr "" -"{name} “{obj}” başarılı olarak değiştirildi. Aşağıda başka bir {name} " -"ekleyebilirsiniz." - -#, python-brace-format -msgid "The {name} “{obj}” was changed successfully." -msgstr "{name} “{obj}” başarılı olarak değiştirildi." - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Bunlar üzerinde eylemlerin uygulanması için öğeler seçilmek zorundadır. Hiç " -"öğe değiştirilmedi." - -msgid "No action selected." -msgstr "Seçilen eylem yok." - -#, python-format -msgid "The %(name)s “%(obj)s” was deleted successfully." -msgstr "%(name)s “%(obj)s” başarılı olarak silindi." - -#, python-format -msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" -msgstr "“%(key)s” kimliği olan %(name)s mevcut değil. Belki silinmiş midir?" - -#, python-format -msgid "Add %s" -msgstr "%s ekle" - -#, python-format -msgid "Change %s" -msgstr "%s değiştir" - -#, python-format -msgid "View %s" -msgstr "%s göster" - -msgid "Database error" -msgstr "Veritabanı hatası" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s adet %(name)s başarılı olarak değiştirildi." -msgstr[1] "%(count)s adet %(name)s başarılı olarak değiştirildi." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s nesne seçildi" -msgstr[1] "Tüm %(total_count)s nesne seçildi" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "0 / %(cnt)s nesne seçildi" - -#, python-format -msgid "Change history: %s" -msgstr "Değişiklik geçmişi: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"%(class_name)s %(instance)s silinmesi aşağıda korunan ilgili nesnelerin de " -"silinmesini gerektirecektir: %(related_objects)s" - -msgid "Django site admin" -msgstr "Django site yöneticisi" - -msgid "Django administration" -msgstr "Django yönetimi" - -msgid "Site administration" -msgstr "Site yönetimi" - -msgid "Log in" -msgstr "Oturum aç" - -#, python-format -msgid "%(app)s administration" -msgstr "%(app)s yönetimi" - -msgid "Page not found" -msgstr "Sayfa bulunamadı" - -msgid "We’re sorry, but the requested page could not be found." -msgstr "Üzgünüz, istediğiniz sayfa bulunamadı." - -msgid "Home" -msgstr "Giriş" - -msgid "Server error" -msgstr "Sunucu hatası" - -msgid "Server error (500)" -msgstr "Sunucu hatası (500)" - -msgid "Server Error (500)" -msgstr "Sunucu Hatası (500)" - -msgid "" -"There’s been an error. It’s been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"Bir hata oluştu. Site yöneticilerine e-posta yoluyla bildirildi ve kısa süre " -"içinde düzeltilecektir. Sabrınız için teşekkür ederiz." - -msgid "Run the selected action" -msgstr "Seçilen eylemi çalıştır" - -msgid "Go" -msgstr "Git" - -msgid "Click here to select the objects across all pages" -msgstr "Tüm sayfalardaki nesneleri seçmek için buraya tıklayın" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Tüm %(total_count)s %(module_name)s nesnelerini seç" - -msgid "Clear selection" -msgstr "Seçimi temizle" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "%(name)s uygulamasındaki modeller" - -msgid "Add" -msgstr "Ekle" - -msgid "View" -msgstr "Göster" - -msgid "You don’t have permission to view or edit anything." -msgstr "Hiçbir şeyi düzenlemek ve göstermek için izne sahip değilsiniz." - -msgid "" -"First, enter a username and password. Then, you’ll be able to edit more user " -"options." -msgstr "" -"Önce, bir kullanıcı adı ve parola girin. Ondan sonra, daha fazla kullanıcı " -"seçeneğini düzenleyebileceksiniz." - -msgid "Enter a username and password." -msgstr "Kullanıcı adı ve parola girin." - -msgid "Change password" -msgstr "Parolayı değiştir" - -msgid "Please correct the error below." -msgstr "Lütfen aşağıdaki hataları düzeltin." - -msgid "Please correct the errors below." -msgstr "Lütfen aşağıdaki hataları düzeltin." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "%(username)s kullanıcısı için yeni bir parola girin." - -msgid "Welcome," -msgstr "Hoş Geldiniz," - -msgid "View site" -msgstr "Siteyi göster" - -msgid "Documentation" -msgstr "Belgeler" - -msgid "Log out" -msgstr "Oturumu kapat" - -#, python-format -msgid "Add %(name)s" -msgstr "%(name)s ekle" - -msgid "History" -msgstr "Geçmiş" - -msgid "View on site" -msgstr "Sitede görüntüle" - -msgid "Filter" -msgstr "Süz" - -msgid "Clear all filters" -msgstr "Tüm süzgeçleri temizle" - -msgid "Remove from sorting" -msgstr "Sıralamadan kaldır" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Sıralama önceliği: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Sıralamayı değiştir" - -msgid "Delete" -msgstr "Sil" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"%(object_name)s '%(escaped_object)s' nesnesinin silinmesi, ilgili nesnelerin " -"silinmesi ile sonuçlanacak, ancak hesabınız aşağıdaki nesnelerin türünü " -"silmek için izine sahip değil." - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"%(object_name)s '%(escaped_object)s' nesnesinin silinmesi, aşağıda korunan " -"ilgili nesnelerin silinmesini gerektirecek:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"%(object_name)s \"%(escaped_object)s\" nesnesini silmek istediğinize emin " -"misiniz? Aşağıdaki ilgili öğelerin tümü silinecektir:" - -msgid "Objects" -msgstr "Nesneler" - -msgid "Yes, I’m sure" -msgstr "Evet, eminim" - -msgid "No, take me back" -msgstr "Hayır, beni geri götür" - -msgid "Delete multiple objects" -msgstr "Birden fazla nesneyi sil" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Seçilen %(objects_name)s nesnelerinin silinmesi, ilgili nesnelerin silinmesi " -"ile sonuçlanacak, ancak hesabınız aşağıdaki nesnelerin türünü silmek için " -"izine sahip değil." - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Seçilen %(objects_name)s nesnelerinin silinmesi, aşağıda korunan ilgili " -"nesnelerin silinmesini gerektirecek:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Seçilen %(objects_name)s nesnelerini silmek istediğinize emin misiniz? " -"Aşağıdaki nesnelerin tümü ve onların ilgili öğeleri silinecektir:" - -msgid "Delete?" -msgstr "Silinsin mi?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " %(filter_title)s süzgecine göre" - -msgid "Summary" -msgstr "Özet" - -msgid "Recent actions" -msgstr "Son eylemler" - -msgid "My actions" -msgstr "Eylemlerim" - -msgid "None available" -msgstr "Mevcut değil" - -msgid "Unknown content" -msgstr "Bilinmeyen içerik" - -msgid "" -"Something’s wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Veritabanı kurulumunuz ile ilgili birşeyler yanlış. Uygun veritabanı " -"tablolarının oluşturulduğundan ve veritabanının uygun kullanıcı tarafından " -"okunabilir olduğundan emin olun." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"%(username)s olarak kimlik doğrulamanız yapıldı, ancak bu sayfaya erişmek " -"için yetkili değilsiniz. Farklı bir hesapla oturum açmak ister misiniz?" - -msgid "Forgotten your password or username?" -msgstr "Kullanıcı adınızı veya parolanızı mı unuttunuz?" - -msgid "Toggle navigation" -msgstr "Gezinmeyi aç/kapat" - -msgid "Date/time" -msgstr "Tarih/saat" - -msgid "User" -msgstr "Kullanıcı" - -msgid "Action" -msgstr "Eylem" - -msgid "" -"This object doesn’t have a change history. It probably wasn’t added via this " -"admin site." -msgstr "" -"Bu nesne değişme geçmişine sahip değil. Muhtemelen bu yönetici sitesi " -"aracılığıyla eklenmedi." - -msgid "Show all" -msgstr "Tümünü göster" - -msgid "Save" -msgstr "Kaydet" - -msgid "Popup closing…" -msgstr "Açılır pencere kapanıyor…" - -msgid "Search" -msgstr "Ara" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s sonuç" -msgstr[1] "%(counter)s sonuç" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "toplam %(full_result_count)s" - -msgid "Save as new" -msgstr "Yeni olarak kaydet" - -msgid "Save and add another" -msgstr "Kaydet ve başka birini ekle" - -msgid "Save and continue editing" -msgstr "Kaydet ve düzenlemeye devam et" - -msgid "Save and view" -msgstr "Kaydet ve göster" - -msgid "Close" -msgstr "Kapat" - -#, python-format -msgid "Change selected %(model)s" -msgstr "Seçilen %(model)s değiştir" - -#, python-format -msgid "Add another %(model)s" -msgstr "Başka bir %(model)s ekle" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Seçilen %(model)s sil" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Bugün Web sitesine ayırdığınız kaliteli zaman için teşekkür ederiz." - -msgid "Log in again" -msgstr "Tekrar oturum aç" - -msgid "Password change" -msgstr "Parola değiştime" - -msgid "Your password was changed." -msgstr "Parolanız değiştirildi." - -msgid "" -"Please enter your old password, for security’s sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Güvenliğiniz için, lütfen eski parolanızı girin, ve ondan sonra yeni " -"parolanızı iki kere girin böylece doğru olarak yazdığınızı doğrulayabilelim." - -msgid "Change my password" -msgstr "Parolamı değiştir" - -msgid "Password reset" -msgstr "Parolayı sıfırla" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Parolanız ayarlandı. Şimdi devam edebilir ve oturum açabilirsiniz." - -msgid "Password reset confirmation" -msgstr "Parola sıfırlama onayı" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Lütfen yeni parolanızı iki kere girin böylece böylece doğru olarak " -"yazdığınızı doğrulayabilelim." - -msgid "New password:" -msgstr "Yeni parola:" - -msgid "Confirm password:" -msgstr "Parolayı onayla:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Parola sıfırlama bağlantısı geçersiz olmuş, çünkü zaten kullanılmış. Lütfen " -"yeni bir parola sıfırlama isteyin." - -msgid "" -"We’ve emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"Eğer girdiğiniz e-posta ile bir hesabınız varsa, parolanızın ayarlanması " -"için size talimatları e-posta ile gönderdik. En kısa sürede almalısınız." - -msgid "" -"If you don’t receive an email, please make sure you’ve entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Eğer bir e-posta almadıysanız, lütfen kayıt olurken girdiğiniz adresi " -"kullandığınızdan emin olun ve istenmeyen mesajlar klasörünü kontrol edin." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"Bu e-postayı alıyorsunuz çünkü %(site_name)s sitesindeki kullanıcı hesabınız " -"için bir parola sıfırlama istediniz." - -msgid "Please go to the following page and choose a new password:" -msgstr "Lütfen şurada belirtilen sayfaya gidin ve yeni bir parola seçin:" - -msgid "Your username, in case you’ve forgotten:" -msgstr "Unutma ihtimalinize karşı, kullanıcı adınız:" - -msgid "Thanks for using our site!" -msgstr "Sitemizi kullandığınız için teşekkürler!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "%(site_name)s ekibi" - -msgid "" -"Forgotten your password? Enter your email address below, and we’ll email " -"instructions for setting a new one." -msgstr "" -"Parolanızı mı unuttunuz? Aşağıya e-posta adresinizi girin ve yeni bir tane " -"ayarlamak için talimatları e-posta ile gönderelim." - -msgid "Email address:" -msgstr "E-posta adresi:" - -msgid "Reset my password" -msgstr "Parolamı sıfırla" - -msgid "All dates" -msgstr "Tüm tarihler" - -#, python-format -msgid "Select %s" -msgstr "%s seç" - -#, python-format -msgid "Select %s to change" -msgstr "Değiştirmek için %s seçin" - -#, python-format -msgid "Select %s to view" -msgstr "Göstermek için %s seçin" - -msgid "Date:" -msgstr "Tarih:" - -msgid "Time:" -msgstr "Saat:" - -msgid "Lookup" -msgstr "Arama" - -msgid "Currently:" -msgstr "Şu anda:" - -msgid "Change:" -msgstr "Değiştir:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/tr/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/tr/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 673e085d..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/tr/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/tr/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/tr/LC_MESSAGES/djangojs.po deleted file mode 100644 index 16e85a3b..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/tr/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,221 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# BouRock, 2015-2016,2019-2020 -# BouRock, 2014 -# Jannis Leidel , 2011 -# Metin Amiroff , 2011 -# Murat Çorlu , 2012 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-11 20:56+0200\n" -"PO-Revision-Date: 2020-05-13 07:28+0000\n" -"Last-Translator: BouRock\n" -"Language-Team: Turkish (http://www.transifex.com/django/django/language/" -"tr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: tr\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "Mevcut %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Bu mevcut %s listesidir. Aşağıdaki kutudan bazılarını işaretleyerek ve ondan " -"sonra iki kutu arasındaki \"Seçin\" okuna tıklayarak seçebilirsiniz." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "Mevcut %s listesini süzmek için bu kutu içine yazın." - -msgid "Filter" -msgstr "Süzgeç" - -msgid "Choose all" -msgstr "Tümünü seçin" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Bir kerede tüm %s seçilmesi için tıklayın." - -msgid "Choose" -msgstr "Seçin" - -msgid "Remove" -msgstr "Kaldır" - -#, javascript-format -msgid "Chosen %s" -msgstr "Seçilen %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Bu seçilen %s listesidir. Aşağıdaki kutudan bazılarını işaretleyerek ve " -"ondan sonra iki kutu arasındaki \"Kaldır\" okuna tıklayarak " -"kaldırabilirsiniz." - -msgid "Remove all" -msgstr "Tümünü kaldır" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Bir kerede tüm seçilen %s kaldırılması için tıklayın." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(sel)s / %(cnt)s seçildi" -msgstr[1] "%(sel)s / %(cnt)s seçildi" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Bireysel düzenlenebilir alanlarda kaydedilmemiş değişiklikleriniz var. Eğer " -"bir eylem çalıştırırsanız, kaydedilmemiş değişiklikleriniz kaybolacaktır." - -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 "" -"Bir eylem seçtiniz, ancak değişikliklerinizi tek tek alanlara kaydetmediniz. " -"Kaydetmek için lütfen TAMAM düğmesine tıklayın. Eylemi yeniden çalıştırmanız " -"gerekecek." - -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 "" -"Bir eylem seçtiniz, ancak tek tek alanlarda herhangi bir değişiklik " -"yapmadınız. Muhtemelen Kaydet düğmesi yerine Git düğmesini arıyorsunuz." - -msgid "Now" -msgstr "Şimdi" - -msgid "Midnight" -msgstr "Geceyarısı" - -msgid "6 a.m." -msgstr "Sabah 6" - -msgid "Noon" -msgstr "Öğle" - -msgid "6 p.m." -msgstr "6 ö.s." - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Not: Sunucu saatinin %s saat ilerisindesiniz." -msgstr[1] "Not: Sunucu saatinin %s saat ilerisindesiniz." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Not: Sunucu saatinin %s saat gerisindesiniz." -msgstr[1] "Not: Sunucu saatinin %s saat gerisindesiniz." - -msgid "Choose a Time" -msgstr "Bir Saat Seçin" - -msgid "Choose a time" -msgstr "Bir saat seçin" - -msgid "Cancel" -msgstr "İptal" - -msgid "Today" -msgstr "Bugün" - -msgid "Choose a Date" -msgstr "Bir Tarih Seçin" - -msgid "Yesterday" -msgstr "Dün" - -msgid "Tomorrow" -msgstr "Yarın" - -msgid "January" -msgstr "Ocak" - -msgid "February" -msgstr "Şubat" - -msgid "March" -msgstr "Mart" - -msgid "April" -msgstr "Nisan" - -msgid "May" -msgstr "Mayıs" - -msgid "June" -msgstr "Haziran" - -msgid "July" -msgstr "Temmuz" - -msgid "August" -msgstr "Ağustos" - -msgid "September" -msgstr "Eylül" - -msgid "October" -msgstr "Ekim" - -msgid "November" -msgstr "Kasım" - -msgid "December" -msgstr "Aralık" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "P" - -msgctxt "one letter Monday" -msgid "M" -msgstr "Pt" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "S" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "Ç" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "Pe" - -msgctxt "one letter Friday" -msgid "F" -msgstr "C" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "Ct" - -msgid "Show" -msgstr "Göster" - -msgid "Hide" -msgstr "Gizle" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/tt/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/tt/LC_MESSAGES/django.mo deleted file mode 100644 index 6bfde60a..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/tt/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/tt/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/tt/LC_MESSAGES/django.po deleted file mode 100644 index 9d0260bc..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/tt/LC_MESSAGES/django.po +++ /dev/null @@ -1,655 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Azat Khasanshin , 2011 -# v_ildar , 2014 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-09-19 16:40+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Tatar (http://www.transifex.com/django/django/language/tt/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: tt\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "%(count)d %(items)s уңышлы рәвештә бетерелгән." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "%(name)s бетереп булмады" - -msgid "Are you sure?" -msgstr "Сез инанып карар кылдыгызмы?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Сайланган %(verbose_name_plural)s бетерергә" - -msgid "Administration" -msgstr "" - -msgid "All" -msgstr "Барысы" - -msgid "Yes" -msgstr "Әйе" - -msgid "No" -msgstr "Юк" - -msgid "Unknown" -msgstr "Билгесез" - -msgid "Any date" -msgstr "Теләсә нинди көн һәм вакыт" - -msgid "Today" -msgstr "Бүген" - -msgid "Past 7 days" -msgstr "Соңгы 7 көн" - -msgid "This month" -msgstr "Бу ай" - -msgid "This year" -msgstr "Бу ел" - -msgid "No date" -msgstr "" - -msgid "Has date" -msgstr "" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" - -msgid "Action:" -msgstr "Гамәл:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Тагын бер %(verbose_name)s өстәргә" - -msgid "Remove" -msgstr "Бетерергә" - -msgid "action time" -msgstr "гамәл вакыты" - -msgid "user" -msgstr "" - -msgid "content type" -msgstr "" - -msgid "object id" -msgstr "объект идентификаторы" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/3/library/functions.html#repr) -msgid "object repr" -msgstr "объект фаразы" - -msgid "action flag" -msgstr "гамәл тибы" - -msgid "change message" -msgstr "үзгәрү белдерүе" - -msgid "log entry" -msgstr "журнал язмасы" - -msgid "log entries" -msgstr "журнал язмалары" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "" - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "" - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "" - -msgid "LogEntry Object" -msgstr "" - -#, python-brace-format -msgid "Added {name} \"{object}\"." -msgstr "" - -msgid "Added." -msgstr "" - -msgid "and" -msgstr "һәм" - -#, python-brace-format -msgid "Changed {fields} for {name} \"{object}\"." -msgstr "" - -#, python-brace-format -msgid "Changed {fields}." -msgstr "" - -#, python-brace-format -msgid "Deleted {name} \"{object}\"." -msgstr "" - -msgid "No fields changed." -msgstr "Үзгәртелгән кырлар юк." - -msgid "None" -msgstr "Юк" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was changed successfully." -msgstr "" - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Элементар өстеннән гамәл кылу өчен алар сайланган булырга тиеш. Элементлар " -"үзгәртелмәгән." - -msgid "No action selected." -msgstr "Гамәл сайланмаган." - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "%(name)s \"%(obj)s\" уңышлы рәвештә бетерелгән." - -#, python-format -msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" -msgstr "" - -#, python-format -msgid "Add %s" -msgstr "%s өстәргә" - -#, python-format -msgid "Change %s" -msgstr "%s үзгәртергә" - -msgid "Database error" -msgstr "Бирелмәләр базасы хатасы" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s уңышлы рәвештә үзгәртелгән." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s сайланган" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "Барлык %(cnt)s объектан 0 сайланган" - -#, python-format -msgid "Change history: %s" -msgstr "Үзгәртү тарихы: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" - -msgid "Django site admin" -msgstr "Django сайты идарәсе" - -msgid "Django administration" -msgstr "Django идарәсе" - -msgid "Site administration" -msgstr "Сайт идарәсе" - -msgid "Log in" -msgstr "Керергә" - -#, python-format -msgid "%(app)s administration" -msgstr "" - -msgid "Page not found" -msgstr "Сәхифә табылмаган" - -msgid "We're sorry, but the requested page could not be found." -msgstr "Кызганычка каршы, соралган сәхифә табылмады." - -msgid "Home" -msgstr "Башбит" - -msgid "Server error" -msgstr "Сервер хатасы" - -msgid "Server error (500)" -msgstr "Сервер хатасы (500)" - -msgid "Server Error (500)" -msgstr "Сервер хатасы (500)" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" - -msgid "Run the selected action" -msgstr "Сайланган гамәлне башкарырга" - -msgid "Go" -msgstr "Башкарырга" - -msgid "Click here to select the objects across all pages" -msgstr "Барлык сәхифәләрдә булган объектларны сайлау өчен монда чирттерегез" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Бөтен %(total_count)s %(module_name)s сайларга" - -msgid "Clear selection" -msgstr "Сайланганлыкны алырга" - -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" -"Баштан логин һәм серсүзне кертегез. Аннан соң сез кулланучы турында күбрәк " -"мәгълүматне төзәтә алырсыз." - -msgid "Enter a username and password." -msgstr "Логин һәм серсүзне кертегез." - -msgid "Change password" -msgstr "Серсүзне үзгәртергә" - -msgid "Please correct the error below." -msgstr "Зинһар, биредәге хаталарны төзәтегез." - -msgid "Please correct the errors below." -msgstr "" - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "%(username)s кулланучы өчен яңа серсүзне кертегез." - -msgid "Welcome," -msgstr "Рәхим итегез," - -msgid "View site" -msgstr "" - -msgid "Documentation" -msgstr "Документация" - -msgid "Log out" -msgstr "Чыгарга" - -#, python-format -msgid "Add %(name)s" -msgstr "%(name)s өстәргә" - -msgid "History" -msgstr "Тарих" - -msgid "View on site" -msgstr "Сайтта карарга" - -msgid "Filter" -msgstr "Филтер" - -msgid "Remove from sorting" -msgstr "" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "" - -msgid "Toggle sorting" -msgstr "" - -msgid "Delete" -msgstr "Бетерергә" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"%(object_name)s '%(escaped_object)s' бетереүе аның белән бәйләнгән " -"объектларның бетерелүенә китерә ала, әмма сезнең хисап язмагызның киләсе " -"объект тибларын бетерү өчен хокуклары җитми:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"%(object_name)s '%(escaped_object)s' бетерүе киләсе сакланган объектларның " -"бетерелүен таләп итә:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Сез инанып %(object_name)s \"%(escaped_object)s\" бетерергә телисезме? " -"Барлык киләсе бәйләнгән объектлар да бетерелер:" - -msgid "Objects" -msgstr "" - -msgid "Yes, I'm sure" -msgstr "Әйе, мин инандым" - -msgid "No, take me back" -msgstr "" - -msgid "Delete multiple objects" -msgstr "Берничә объектны бетерергә" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Сайланган %(objects_name)s бетерүе аның белән бәйләнгән объектларның " -"бетерелүенә китерә ала, әмма сезнең хисап язмагызның киләсе объект тибларын " -"бетерү өчен хокуклары җитми:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"%(objects_name)s бетерүе киләсе аның белән бәйләнгән сакланган объектларның " -"бетерелүен таләп итә:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Сез инанып %(objects_name)s бетерергә телисезме? Барлык киләсе объектлар һәм " -"алар белән бәйләнгән элементлар да бетерелер:" - -msgid "Change" -msgstr "Үзгәртергә" - -msgid "Delete?" -msgstr "Бетерергә?" - -#, python-format -msgid " By %(filter_title)s " -msgstr "%(filter_title)s буенча" - -msgid "Summary" -msgstr "" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "" - -msgid "Add" -msgstr "Өстәргә" - -msgid "You don't have permission to edit anything." -msgstr "Төзәтү өчен хокукларыгыз җитми." - -msgid "Recent actions" -msgstr "" - -msgid "My actions" -msgstr "" - -msgid "None available" -msgstr "Тарих юк" - -msgid "Unknown content" -msgstr "Билгесез тип" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Сезнең бирелмәләр базасы дөрес итем көйләнмәгән. Тиешле җәдвәлләр төзелгәнен " -"һәм тиешле кулланучының хокуклары җитәрлек булуын тикшерегез." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" - -msgid "Forgotten your password or username?" -msgstr "" - -msgid "Date/time" -msgstr "Көн һәм вакыт" - -msgid "User" -msgstr "Кулланучы" - -msgid "Action" -msgstr "Гамәл" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" -"Әлеге объектның үзгәртү тарихы юк. Бу идарә итү сайты буенча өстәлмәгән " -"булуы ихтимал." - -msgid "Show all" -msgstr "Бөтенесен күрсәтергә" - -msgid "Save" -msgstr "Сакларга" - -msgid "Popup closing..." -msgstr "" - -#, python-format -msgid "Change selected %(model)s" -msgstr "" - -#, python-format -msgid "Add another %(model)s" -msgstr "" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "" - -msgid "Search" -msgstr "Эзләргә" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s нәтиҗә" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "барлыгы %(full_result_count)s" - -msgid "Save as new" -msgstr "Яңа объект итеп сакларга" - -msgid "Save and add another" -msgstr "Сакларга һәм бүтән объектны өстәргә" - -msgid "Save and continue editing" -msgstr "Сакларга һәм төзәтүне дәвам итәргә" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Сайтыбызда үткәргән вакыт өчен рәхмәт." - -msgid "Log in again" -msgstr "Тагын керергә" - -msgid "Password change" -msgstr "Серсүзне үзгәртү" - -msgid "Your password was changed." -msgstr "Серсүзегез үзгәртелгән." - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Хәвефсезлек сәбәпле, зинһар, үзегезнең иске серсүзне кертегез, аннан яңа " -"серсүзне ике тапкыр кертегез (дөрес язылышын тикшерү өчен)." - -msgid "Change my password" -msgstr "Серсүземне үзгәртергә" - -msgid "Password reset" -msgstr "Серсүзне торгызу" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Серсүзегез үзгәртелгән. Сез хәзер керә аласыз." - -msgid "Password reset confirmation" -msgstr "Серсүзне торгызу раслау" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "Зинһар, тикшерү өчен яңа серсүзегезне ике тапкыр кертегез." - -msgid "New password:" -msgstr "Яңа серсуз:" - -msgid "Confirm password:" -msgstr "Серсүзне раслагыз:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Серсүзне торгызу өчен сылтама хаталы. Бәлки аның белән инде кулланганнар. " -"Зинһар, серсүзне тагын бер тапкыр торгызып карагыз." - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" - -msgid "Please go to the following page and choose a new password:" -msgstr "Зинһар, бу сәхифәгә юнәлегез һәм яңа серсүзне кертегез:" - -msgid "Your username, in case you've forgotten:" -msgstr "Сезнең кулланучы исемегез (оныткан булсагыз):" - -msgid "Thanks for using our site!" -msgstr "Безнең сайтны куллану өчен рәхмәт!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "%(site_name)s сайтының төркеме" - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" - -msgid "Email address:" -msgstr "Эл. почта адресы:" - -msgid "Reset my password" -msgstr "Серсүземне торгызырга" - -msgid "All dates" -msgstr "Бөтен көннәр" - -#, python-format -msgid "Select %s" -msgstr "%s сайлагыз" - -#, python-format -msgid "Select %s to change" -msgstr "Үзгәртү өчен %s сайлагыз" - -msgid "Date:" -msgstr "Көн:" - -msgid "Time:" -msgstr "Вакыт:" - -msgid "Lookup" -msgstr "Эзләү" - -msgid "Currently:" -msgstr "" - -msgid "Change:" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/tt/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/tt/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 16af5a02..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/tt/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/tt/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/tt/LC_MESSAGES/djangojs.po deleted file mode 100644 index 36e7c72e..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/tt/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,208 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Azat Khasanshin , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" -"PO-Revision-Date: 2017-09-19 16:41+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Tatar (http://www.transifex.com/django/django/language/tt/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: tt\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#, javascript-format -msgid "Available %s" -msgstr "Рөхсәт ителгән %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "" - -msgid "Filter" -msgstr "Фильтр" - -msgid "Choose all" -msgstr "Барысын сайларга" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "" - -msgid "Choose" -msgstr "" - -msgid "Remove" -msgstr "Бетерергә" - -#, javascript-format -msgid "Chosen %s" -msgstr "Сайланган %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" - -msgid "Remove all" -msgstr "" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "" - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(cnt)s арасыннан %(sel)s сайланган" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Кайбер кырларда сакланмаган төзәтүләр кала. Сез гамәлне башкарсагыз, сезнең " -"сакланмаган үзгәртүләр югалачаклар." - -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 "" -"Сез гамәлне сайладыгыз, әмма кайбер кырлардагы төзәтүләрне сакламадыгыз. " -"Аларны саклау өчен OK төймәсенә басыгыз. Аннан соң гамәлне тагын бер тапкыр " -"башкарырга туры килер." - -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 "" -"Сез гамәлне сайладыгыз һәм төзәтүләрне башкармадыгыз. Бәлки сез \"Сакларга\" " -"төймәсе урынына \"Башкарырга\" төймәсен кулланырга теләдегез." - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "" - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "" - -msgid "Now" -msgstr "Хәзер" - -msgid "Choose a Time" -msgstr "" - -msgid "Choose a time" -msgstr "Вакыт сайлагыз" - -msgid "Midnight" -msgstr "Төн уртасы" - -msgid "6 a.m." -msgstr "Иртәнге 6" - -msgid "Noon" -msgstr "Төш" - -msgid "6 p.m." -msgstr "" - -msgid "Cancel" -msgstr "Юкка чыгарырга" - -msgid "Today" -msgstr "Бүген" - -msgid "Choose a Date" -msgstr "" - -msgid "Yesterday" -msgstr "Кичә" - -msgid "Tomorrow" -msgstr "Иртәгә" - -msgid "January" -msgstr "" - -msgid "February" -msgstr "" - -msgid "March" -msgstr "" - -msgid "April" -msgstr "" - -msgid "May" -msgstr "" - -msgid "June" -msgstr "" - -msgid "July" -msgstr "" - -msgid "August" -msgstr "" - -msgid "September" -msgstr "" - -msgid "October" -msgstr "" - -msgid "November" -msgstr "" - -msgid "December" -msgstr "" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "" - -msgctxt "one letter Monday" -msgid "M" -msgstr "" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "" - -msgctxt "one letter Friday" -msgid "F" -msgstr "" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "" - -msgid "Show" -msgstr "Күрсәтергә" - -msgid "Hide" -msgstr "Яшерергә" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/udm/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/udm/LC_MESSAGES/django.mo deleted file mode 100644 index d51b11a4..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/udm/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/udm/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/udm/LC_MESSAGES/django.po deleted file mode 100644 index df03f5f7..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/udm/LC_MESSAGES/django.po +++ /dev/null @@ -1,606 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-01-17 11:07+0100\n" -"PO-Revision-Date: 2015-01-18 08:31+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Udmurt (http://www.transifex.com/projects/p/django/language/" -"udm/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: udm\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "" - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "" - -msgid "Are you sure?" -msgstr "" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "" - -msgid "Administration" -msgstr "" - -msgid "All" -msgstr "" - -msgid "Yes" -msgstr "Бен" - -msgid "No" -msgstr "" - -msgid "Unknown" -msgstr "Тодымтэ" - -msgid "Any date" -msgstr "" - -msgid "Today" -msgstr "" - -msgid "Past 7 days" -msgstr "" - -msgid "This month" -msgstr "" - -msgid "This year" -msgstr "" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" - -msgid "Action:" -msgstr "" - -msgid "action time" -msgstr "" - -msgid "object id" -msgstr "" - -msgid "object repr" -msgstr "" - -msgid "action flag" -msgstr "" - -msgid "change message" -msgstr "" - -msgid "log entry" -msgstr "" - -msgid "log entries" -msgstr "" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "" - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "" - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "" - -msgid "LogEntry Object" -msgstr "" - -msgid "None" -msgstr "" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" - -#, python-format -msgid "Changed %s." -msgstr "" - -msgid "and" -msgstr "" - -#, python-format -msgid "Added %(name)s \"%(object)s\"." -msgstr "" - -#, python-format -msgid "Changed %(list)s for %(name)s \"%(object)s\"." -msgstr "" - -#, python-format -msgid "Deleted %(name)s \"%(object)s\"." -msgstr "" - -msgid "No fields changed." -msgstr "" - -#, python-format -msgid "" -"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below." -msgstr "" - -#, python-format -msgid "" -"The %(name)s \"%(obj)s\" was added successfully. You may add another " -"%(name)s below." -msgstr "" - -#, python-format -msgid "The %(name)s \"%(obj)s\" was added successfully." -msgstr "" - -#, python-format -msgid "" -"The %(name)s \"%(obj)s\" was changed successfully. You may edit it again " -"below." -msgstr "" - -#, python-format -msgid "" -"The %(name)s \"%(obj)s\" was changed successfully. You may add another " -"%(name)s below." -msgstr "" - -#, python-format -msgid "The %(name)s \"%(obj)s\" was changed successfully." -msgstr "" - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" - -msgid "No action selected." -msgstr "" - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "" - -#, python-format -msgid "%(name)s object with primary key %(key)r does not exist." -msgstr "" - -#, python-format -msgid "Add %s" -msgstr "" - -#, python-format -msgid "Change %s" -msgstr "" - -msgid "Database error" -msgstr "" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "" - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "" - -#, python-format -msgid "Change history: %s" -msgstr "" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" - -msgid "Django site admin" -msgstr "" - -msgid "Django administration" -msgstr "" - -msgid "Site administration" -msgstr "" - -msgid "Log in" -msgstr "" - -#, python-format -msgid "%(app)s administration" -msgstr "" - -msgid "Page not found" -msgstr "" - -msgid "We're sorry, but the requested page could not be found." -msgstr "" - -msgid "Home" -msgstr "" - -msgid "Server error" -msgstr "" - -msgid "Server error (500)" -msgstr "" - -msgid "Server Error (500)" -msgstr "" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" - -msgid "Run the selected action" -msgstr "" - -msgid "Go" -msgstr "" - -msgid "Click here to select the objects across all pages" -msgstr "" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "" - -msgid "Clear selection" -msgstr "" - -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" - -msgid "Enter a username and password." -msgstr "" - -msgid "Change password" -msgstr "" - -msgid "Please correct the error below." -msgstr "" - -msgid "Please correct the errors below." -msgstr "" - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "" - -msgid "Welcome," -msgstr "" - -msgid "View site" -msgstr "" - -msgid "Documentation" -msgstr "" - -msgid "Log out" -msgstr "" - -msgid "Add" -msgstr "" - -msgid "History" -msgstr "" - -msgid "View on site" -msgstr "" - -#, python-format -msgid "Add %(name)s" -msgstr "" - -msgid "Filter" -msgstr "" - -msgid "Remove from sorting" -msgstr "" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "" - -msgid "Toggle sorting" -msgstr "" - -msgid "Delete" -msgstr "Ӵушоно" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" - -msgid "Objects" -msgstr "" - -msgid "Yes, I'm sure" -msgstr "" - -msgid "No, take me back" -msgstr "" - -msgid "Delete multiple objects" -msgstr "" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" - -msgid "Change" -msgstr "Тупатъяно" - -msgid "Remove" -msgstr "" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "" - -msgid "Delete?" -msgstr "" - -#, python-format -msgid " By %(filter_title)s " -msgstr "" - -msgid "Summary" -msgstr "" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "" - -msgid "You don't have permission to edit anything." -msgstr "" - -msgid "Recent Actions" -msgstr "" - -msgid "My Actions" -msgstr "" - -msgid "None available" -msgstr "" - -msgid "Unknown content" -msgstr "" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" - -msgid "Forgotten your password or username?" -msgstr "" - -msgid "Date/time" -msgstr "" - -msgid "User" -msgstr "" - -msgid "Action" -msgstr "" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" - -msgid "Show all" -msgstr "" - -msgid "Save" -msgstr "" - -#, python-format -msgid "Change selected %(model)s" -msgstr "" - -#, python-format -msgid "Add another %(model)s" -msgstr "" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "" - -msgid "Search" -msgstr "" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "" - -msgid "Save as new" -msgstr "" - -msgid "Save and add another" -msgstr "" - -msgid "Save and continue editing" -msgstr "" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "" - -msgid "Log in again" -msgstr "" - -msgid "Password change" -msgstr "" - -msgid "Your password was changed." -msgstr "" - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" - -msgid "Change my password" -msgstr "" - -msgid "Password reset" -msgstr "" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "" - -msgid "Password reset confirmation" -msgstr "" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" - -msgid "New password:" -msgstr "" - -msgid "Confirm password:" -msgstr "" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" - -msgid "Please go to the following page and choose a new password:" -msgstr "" - -msgid "Your username, in case you've forgotten:" -msgstr "" - -msgid "Thanks for using our site!" -msgstr "" - -#, python-format -msgid "The %(site_name)s team" -msgstr "" - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" - -msgid "Email address:" -msgstr "" - -msgid "Reset my password" -msgstr "" - -msgid "All dates" -msgstr "" - -msgid "(None)" -msgstr "" - -#, python-format -msgid "Select %s" -msgstr "" - -#, python-format -msgid "Select %s to change" -msgstr "" - -msgid "Date:" -msgstr "" - -msgid "Time:" -msgstr "" - -msgid "Lookup" -msgstr "" - -msgid "Currently:" -msgstr "" - -msgid "Change:" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/udm/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/udm/LC_MESSAGES/djangojs.mo deleted file mode 100644 index af7ab53b..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/udm/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/udm/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/udm/LC_MESSAGES/djangojs.po deleted file mode 100644 index e3826f0c..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/udm/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,142 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-01-17 11:07+0100\n" -"PO-Revision-Date: 2014-10-05 20:13+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Udmurt (http://www.transifex.com/projects/p/django/language/" -"udm/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: udm\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#, javascript-format -msgid "Available %s" -msgstr "" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "" - -msgid "Filter" -msgstr "" - -msgid "Choose all" -msgstr "" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "" - -msgid "Choose" -msgstr "" - -msgid "Remove" -msgstr "" - -#, javascript-format -msgid "Chosen %s" -msgstr "" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" - -msgid "Remove all" -msgstr "" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "" - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" - -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 "" - -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 "" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "" - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "" - -msgid "Now" -msgstr "" - -msgid "Clock" -msgstr "" - -msgid "Choose a time" -msgstr "" - -msgid "Midnight" -msgstr "" - -msgid "6 a.m." -msgstr "" - -msgid "Noon" -msgstr "" - -msgid "Cancel" -msgstr "" - -msgid "Today" -msgstr "" - -msgid "Calendar" -msgstr "" - -msgid "Yesterday" -msgstr "" - -msgid "Tomorrow" -msgstr "" - -msgid "" -"January February March April May June July August September October November " -"December" -msgstr "" - -msgid "S M T W T F S" -msgstr "" - -msgid "Show" -msgstr "" - -msgid "Hide" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/uk/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/uk/LC_MESSAGES/django.mo deleted file mode 100644 index 731bd86f..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/uk/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/uk/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/uk/LC_MESSAGES/django.po deleted file mode 100644 index 593ccc35..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/uk/LC_MESSAGES/django.po +++ /dev/null @@ -1,730 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Oleksandr Chernihov , 2014 -# Andriy Sokolovskiy , 2015 -# Boryslav Larin , 2011 -# Денис Подлесный , 2016 -# Igor Melnyk, 2014,2017 -# Ivan Dmytrenko , 2019 -# Jannis Leidel , 2011 -# Kirill Gagarski , 2015 -# Max V. Stotsky , 2014 -# Mikhail Kolesnik , 2015 -# Mykola Zamkovoi , 2014 -# Sergiy Kuzmenko , 2011 -# tarasyyyk , 2018 -# Zoriana Zaiats, 2016 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-01-16 20:42+0100\n" -"PO-Revision-Date: 2019-02-18 21:37+0000\n" -"Last-Translator: Ivan Dmytrenko \n" -"Language-Team: Ukrainian (http://www.transifex.com/django/django/language/" -"uk/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: uk\n" -"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " -"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " -"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " -"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "Успішно видалено %(count)d %(items)s." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "Не вдається видалити %(name)s" - -msgid "Are you sure?" -msgstr "Ви впевнені?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Видалити обрані %(verbose_name_plural)s" - -msgid "Administration" -msgstr "Адміністрування" - -msgid "All" -msgstr "Всі" - -msgid "Yes" -msgstr "Так" - -msgid "No" -msgstr "Ні" - -msgid "Unknown" -msgstr "Невідомо" - -msgid "Any date" -msgstr "Будь-яка дата" - -msgid "Today" -msgstr "Сьогодні" - -msgid "Past 7 days" -msgstr "Останні 7 днів" - -msgid "This month" -msgstr "Цього місяця" - -msgid "This year" -msgstr "Цього року" - -msgid "No date" -msgstr "Без дати" - -msgid "Has date" -msgstr "Має дату" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Будь ласка, введіть правильні %(username)s і пароль для облікового запису " -"персоналу. Зауважте, що обидва поля можуть бути чутливі до регістру." - -msgid "Action:" -msgstr "Дія:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Додати ще %(verbose_name)s" - -msgid "Remove" -msgstr "Видалити" - -msgid "Addition" -msgstr "Додавання" - -msgid "Change" -msgstr "Змінити" - -msgid "Deletion" -msgstr "Видалення" - -msgid "action time" -msgstr "час дії" - -msgid "user" -msgstr "користувач" - -msgid "content type" -msgstr "тип вмісту" - -msgid "object id" -msgstr "id об'єкта" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "представлення об'єкта (repr)" - -msgid "action flag" -msgstr "позначка дії" - -msgid "change message" -msgstr "змінити повідомлення" - -msgid "log entry" -msgstr "запис у журналі" - -msgid "log entries" -msgstr "записи в журналі" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "Додано \"%(object)s\"." - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "Змінено \"%(object)s\" - %(changes)s" - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "Видалено \"%(object)s.\"" - -msgid "LogEntry Object" -msgstr "Об'єкт журнального запису" - -#, python-brace-format -msgid "Added {name} \"{object}\"." -msgstr "Додано {name} \"{object}\"." - -msgid "Added." -msgstr "Додано." - -msgid "and" -msgstr "та" - -#, python-brace-format -msgid "Changed {fields} for {name} \"{object}\"." -msgstr "Змінені {fields} для {name} \"{object}\"." - -#, python-brace-format -msgid "Changed {fields}." -msgstr "Змінені {fields}." - -#, python-brace-format -msgid "Deleted {name} \"{object}\"." -msgstr "Видалено {name} \"{object}\"." - -msgid "No fields changed." -msgstr "Поля не змінені." - -msgid "None" -msgstr "Ніщо" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" -"Затисніть клавішу \"Control\", або \"Command\" на Mac, щоб обрати більше " -"однієї опції." - -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "{name} \"{obj}\" було додано успішно." - -msgid "You may edit it again below." -msgstr "Ви можете відредагувати це знову." - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may add another {name} " -"below." -msgstr "" -"{name} \"{obj}\" було додано успішно. Нижче Ви можете додати інше {name}." - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." -msgstr "" -"{name} \"{obj}\" було змінено успішно. Нижче Ви можете редагувати його знову." - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" -"{name} \"{obj}\" було додано успішно. Нижче Ви можете редагувати його знову." - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may add another {name} " -"below." -msgstr "" -"{name} \"{obj}\" було змінено успішно. Нижче Ви можете додати інше {name}." - -#, python-brace-format -msgid "The {name} \"{obj}\" was changed successfully." -msgstr "{name} \"{obj}\" було змінено успішно." - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Для виконання дії необхідно обрати елемент. Жодний елемент не був змінений." - -msgid "No action selected." -msgstr "Дія не обрана." - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "%(name)s \"%(obj)s\" був видалений успішно." - -#, python-format -msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" -msgstr "%(name)s з ID \"%(key)s\" не існує. Можливо воно було видалене?" - -#, python-format -msgid "Add %s" -msgstr "Додати %s" - -#, python-format -msgid "Change %s" -msgstr "Змінити %s" - -#, python-format -msgid "View %s" -msgstr "Переглянути %s" - -msgid "Database error" -msgstr "Помилка бази даних" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s був успішно змінений." -msgstr[1] "%(count)s %(name)s були успішно змінені." -msgstr[2] "%(count)s %(name)s було успішно змінено." -msgstr[3] "%(count)s %(name)s було успішно змінено." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s обраний" -msgstr[1] "%(total_count)s обрані" -msgstr[2] "Усі %(total_count)s обрано" -msgstr[3] "Усі %(total_count)s обрано" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "0 з %(cnt)s обрано" - -#, python-format -msgid "Change history: %s" -msgstr "Історія змін: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"Видалення %(class_name)s %(instance)s вимагатиме видалення наступних " -"захищених пов'язаних об'єктів: %(related_objects)s" - -msgid "Django site admin" -msgstr "Django сайт адміністрування" - -msgid "Django administration" -msgstr "Django адміністрування" - -msgid "Site administration" -msgstr "Адміністрування сайта" - -msgid "Log in" -msgstr "Увійти" - -#, python-format -msgid "%(app)s administration" -msgstr "Адміністрування %(app)s" - -msgid "Page not found" -msgstr "Сторінка не знайдена" - -msgid "We're sorry, but the requested page could not be found." -msgstr "Нам шкода, але сторінка яку ви запросили, не знайдена." - -msgid "Home" -msgstr "Домівка" - -msgid "Server error" -msgstr "Помилка сервера" - -msgid "Server error (500)" -msgstr "Помилка сервера (500)" - -msgid "Server Error (500)" -msgstr "Помилка сервера (500)" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"Виникла помилка. Адміністратора сайту повідомлено електронною поштою. " -"Помилка буде виправлена ​​найближчим часом. Дякуємо за ваше терпіння." - -msgid "Run the selected action" -msgstr "Виконати обрану дію" - -msgid "Go" -msgstr "Вперед" - -msgid "Click here to select the objects across all pages" -msgstr "Натисніть тут, щоб вибрати об'єкти на всіх сторінках" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Обрати всі %(total_count)s %(module_name)s" - -msgid "Clear selection" -msgstr "Скинути вибір" - -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" -"Спочатку введіть ім'я користувача і пароль. Після цього ви зможете " -"редагувати більше опцій користувача." - -msgid "Enter a username and password." -msgstr "Введіть ім'я користувача і пароль." - -msgid "Change password" -msgstr "Змінити пароль" - -msgid "Please correct the error below." -msgstr "Будь ласка, виправіть помилку нижче." - -msgid "Please correct the errors below." -msgstr "Будь ласка, виправте помилки, вказані нижче." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "Введіть новий пароль для користувача %(username)s." - -msgid "Welcome," -msgstr "Вітаємо," - -msgid "View site" -msgstr "Дивитися сайт" - -msgid "Documentation" -msgstr "Документація" - -msgid "Log out" -msgstr "Вийти" - -#, python-format -msgid "Add %(name)s" -msgstr "Додати %(name)s" - -msgid "History" -msgstr "Історія" - -msgid "View on site" -msgstr "Дивитися на сайті" - -msgid "Filter" -msgstr "Відфільтрувати" - -msgid "Remove from sorting" -msgstr "Видалити з сортування" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Пріорітет сортування: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "Сортувати в іншому напрямку" - -msgid "Delete" -msgstr "Видалити" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Видалення %(object_name)s '%(escaped_object)s' призведе до видалення " -"пов'язаних об'єктів, але ваш реєстраційний запис не має дозволу видаляти " -"наступні типи об'єктів:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"Видалення %(object_name)s '%(escaped_object)s' вимагатиме видалення " -"наступних пов'язаних об'єктів:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Ви впевнені, що хочете видалити %(object_name)s \"%(escaped_object)s\"? Всі " -"пов'язані записи, що перелічені, будуть видалені:" - -msgid "Objects" -msgstr "Об'єкти" - -msgid "Yes, I'm sure" -msgstr "Так, я впевнений" - -msgid "No, take me back" -msgstr "Ні, повернутись назад" - -msgid "Delete multiple objects" -msgstr "Видалити кілька об'єктів" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Видалення обраних %(objects_name)s вимагатиме видалення пов'язаних об'єктів, " -"але ваш обліковий запис не має прав для видалення таких типів об'єктів:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Видалення обраних %(objects_name)s вимагатиме видалення наступних захищених " -"пов'язаних об'єктів:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Ви впевнені, що хочете видалити вибрані %(objects_name)s? Всі вказані " -"об'єкти та пов'язані з ними елементи будуть видалені:" - -msgid "View" -msgstr "Переглянути" - -msgid "Delete?" -msgstr "Видалити?" - -#, python-format -msgid " By %(filter_title)s " -msgstr "За %(filter_title)s" - -msgid "Summary" -msgstr "Резюме" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "Моделі у %(name)s додатку" - -msgid "Add" -msgstr "Додати" - -msgid "You don't have permission to view or edit anything." -msgstr "У вас немає дозволу на перегляд чи редагування чого-небудь." - -msgid "Recent actions" -msgstr "Недавні дії" - -msgid "My actions" -msgstr "Мої дії" - -msgid "None available" -msgstr "Немає" - -msgid "Unknown content" -msgstr "Невідомий зміст" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Щось не так з інсталяцією бази даних. Перевірте, що відповідні таблиці бази " -"даних створені та база даних може бути прочитана відповідним користувачем." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"Ви аутентифіковані як %(username)s, але вам не надано доступ до цієї " -"сторінки.\n" -"Ввійти в інший аккаунт?" - -msgid "Forgotten your password or username?" -msgstr "Забули пароль або ім'я користувача?" - -msgid "Date/time" -msgstr "Дата/час" - -msgid "User" -msgstr "Користувач" - -msgid "Action" -msgstr "Дія" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" -"Цей об'єкт не має історії змін. Напевно, він був доданий не через цей сайт " -"адміністрування." - -msgid "Show all" -msgstr "Показати всі" - -msgid "Save" -msgstr "Зберегти" - -msgid "Popup closing…" -msgstr "Закриття спливаючого вікна" - -msgid "Search" -msgstr "Пошук" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s результат" -msgstr[1] "%(counter)s результати" -msgstr[2] "%(counter)s результатів" -msgstr[3] "%(counter)s результатів" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "%(full_result_count)s всього" - -msgid "Save as new" -msgstr "Зберегти як нове" - -msgid "Save and add another" -msgstr "Зберегти і додати інше" - -msgid "Save and continue editing" -msgstr "Зберегти і продовжити редагування" - -msgid "Save and view" -msgstr "Зберегти і переглянути" - -msgid "Close" -msgstr "Закрити" - -#, python-format -msgid "Change selected %(model)s" -msgstr "Змінити обрану %(model)s" - -#, python-format -msgid "Add another %(model)s" -msgstr "Додати ще одну %(model)s" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Видалити обрану %(model)s" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Дякуємо за час, проведений сьогодні на сайті." - -msgid "Log in again" -msgstr "Увійти знову" - -msgid "Password change" -msgstr "Зміна паролю" - -msgid "Your password was changed." -msgstr "Ваш пароль було змінено." - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Будь ласка введіть ваш старий пароль, задля безпеки, потім введіть ваш новий " -"пароль двічі для перевірки." - -msgid "Change my password" -msgstr "Змінити мій пароль" - -msgid "Password reset" -msgstr "Перевстановлення паролю" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Пароль встановлено. Ви можете увійти зараз." - -msgid "Password reset confirmation" -msgstr "Підтвердження перевстановлення паролю" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Будь ласка, введіть ваш старий пароль, задля безпеки, потім введіть ваш " -"новий пароль двічі для перевірки." - -msgid "New password:" -msgstr "Новий пароль:" - -msgid "Confirm password:" -msgstr "Підтвердіть пароль:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Посилання на перевстановлення паролю було помилковим. Можливо тому, що воно " -"було вже використано. Будь ласка, замовте нове перевстановлення паролю." - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"На електронну адресу, яку ви ввели, надіслано ліста з інструкціями щодо " -"встановлення пароля, якщо обліковий запис з введеною адресою існує. Ви маєте " -"отримати його найближчим часом." - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Якщо Ви не отримали електронного листа, будь ласка переконайтеся, що ввели " -"адресу яку вказували при реєстрації та перевірте папку зі спамом." - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"Ви отримали цей лист через те, що зробили запит на перевстановлення пароля " -"для облікового запису користувача на %(site_name)s." - -msgid "Please go to the following page and choose a new password:" -msgstr "Будь ласка, перейдіть на цю сторінку, та оберіть новий пароль:" - -msgid "Your username, in case you've forgotten:" -msgstr "У разі, якщо ви забули, ваше ім'я користувача:" - -msgid "Thanks for using our site!" -msgstr "Дякуємо за користування нашим сайтом!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "Команда сайту %(site_name)s " - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" -"Забули пароль? Введіть свою email-адресу нижче і ми вишлемо інструкції по " -"встановленню нового." - -msgid "Email address:" -msgstr "Email адреса:" - -msgid "Reset my password" -msgstr "Перевстановіть мій пароль" - -msgid "All dates" -msgstr "Всі дати" - -#, python-format -msgid "Select %s" -msgstr "Вибрати %s" - -#, python-format -msgid "Select %s to change" -msgstr "Виберіть %s щоб змінити" - -#, python-format -msgid "Select %s to view" -msgstr "Вибрати %s для перегляду" - -msgid "Date:" -msgstr "Дата:" - -msgid "Time:" -msgstr "Час:" - -msgid "Lookup" -msgstr "Пошук" - -msgid "Currently:" -msgstr "На даний час:" - -msgid "Change:" -msgstr "Змінено:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/uk/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/uk/LC_MESSAGES/djangojs.mo deleted file mode 100644 index f70d010a..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/uk/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/uk/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/uk/LC_MESSAGES/djangojs.po deleted file mode 100644 index 502c5487..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/uk/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,230 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Oleksandr Chernihov , 2014 -# Boryslav Larin , 2011 -# Денис Подлесный , 2016 -# Jannis Leidel , 2011 -# panasoft , 2016 -# Sergey Lysach , 2011-2012 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-05-17 11:50+0200\n" -"PO-Revision-Date: 2017-09-19 16:41+0000\n" -"Last-Translator: Денис Подлесный \n" -"Language-Team: Ukrainian (http://www.transifex.com/django/django/language/" -"uk/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: uk\n" -"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " -"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " -"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " -"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" - -#, javascript-format -msgid "Available %s" -msgstr "В наявності %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Це список всіх доступних %s. Ви можете обрати деякі з них, виділивши їх у " -"полі нижче і натиснувшт кнопку \"Обрати\"." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "" -"Почніть вводити текст в цьому полі щоб відфільтрувати список доступних %s." - -msgid "Filter" -msgstr "Фільтр" - -msgid "Choose all" -msgstr "Обрати всі" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Натисніть щоб обрати всі %s відразу." - -msgid "Choose" -msgstr "Обрати" - -msgid "Remove" -msgstr "Видалити" - -#, javascript-format -msgid "Chosen %s" -msgstr "Обрано %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Це список обраних %s. Ви можете видалити деякі з них, виділивши їх у полі " -"нижче і натиснувши кнопку \"Видалити\"." - -msgid "Remove all" -msgstr "Видалити все" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Натисніть щоб видалити всі обрані %s відразу." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "Обрано %(sel)s з %(cnt)s" -msgstr[1] "Обрано %(sel)s з %(cnt)s" -msgstr[2] "Обрано %(sel)s з %(cnt)s" -msgstr[3] "Обрано %(sel)s з %(cnt)s" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Ви зробили якісь зміни у деяких полях. Якщо Ви виконаєте цю дію, всі " -"незбережені зміни буде втрачено." - -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 "" -"Ви обрали дію, але не зберегли зміни в окремих полях. Будь ласка, натисніть " -"ОК, щоб зберегти. Вам доведеться повторно запустити дію." - -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 "" -"Ви обрали дію і не зробили жодних змін у полях. Ви, напевно, шукаєте кнопку " -"\"Виконати\", а не \"Зберегти\"." - -msgid "Now" -msgstr "Зараз" - -msgid "Midnight" -msgstr "Північ" - -msgid "6 a.m." -msgstr "6" - -msgid "Noon" -msgstr "Полудень" - -msgid "6 p.m." -msgstr "18:00" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Примітка: Ви на %s годину попереду серверного часу." -msgstr[1] "Примітка: Ви на %s години попереду серверного часу." -msgstr[2] "Примітка: Ви на %s годин попереду серверного часу." -msgstr[3] "Примітка: Ви на %s годин попереду серверного часу." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Примітка: Ви на %s годину позаду серверного часу." -msgstr[1] "Примітка: Ви на %s години позаду серверного часу." -msgstr[2] "Примітка: Ви на %s годин позаду серверного часу." -msgstr[3] "Примітка: Ви на %s годин позаду серверного часу." - -msgid "Choose a Time" -msgstr "Оберіть час" - -msgid "Choose a time" -msgstr "Оберіть час" - -msgid "Cancel" -msgstr "Відмінити" - -msgid "Today" -msgstr "Сьогодні" - -msgid "Choose a Date" -msgstr "Оберіть дату" - -msgid "Yesterday" -msgstr "Вчора" - -msgid "Tomorrow" -msgstr "Завтра" - -msgid "January" -msgstr "січня" - -msgid "February" -msgstr "лютого" - -msgid "March" -msgstr "березня" - -msgid "April" -msgstr "квітня" - -msgid "May" -msgstr "травня" - -msgid "June" -msgstr "червня" - -msgid "July" -msgstr "липня" - -msgid "August" -msgstr "серпня" - -msgid "September" -msgstr "вересня" - -msgid "October" -msgstr "жовтня" - -msgid "November" -msgstr "листопада" - -msgid "December" -msgstr "грудня" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "Н" - -msgctxt "one letter Monday" -msgid "M" -msgstr "П" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "В" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "С" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "Ч" - -msgctxt "one letter Friday" -msgid "F" -msgstr "П" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "С" - -msgid "Show" -msgstr "Показати" - -msgid "Hide" -msgstr "Сховати" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ur/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ur/LC_MESSAGES/django.mo deleted file mode 100644 index 0735f5d6..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ur/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ur/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ur/LC_MESSAGES/django.po deleted file mode 100644 index 81ef1118..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ur/LC_MESSAGES/django.po +++ /dev/null @@ -1,661 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Mansoorulhaq Mansoor , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-09-19 16:40+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Urdu (http://www.transifex.com/django/django/language/ur/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ur\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "%(count)d %(items)s کو کامیابی سے مٹا دیا گیا۔" - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "%(name)s نہیں مٹایا جا سکتا" - -msgid "Are you sure?" -msgstr "آپ کو یقین ھے؟" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "منتخب شدہ %(verbose_name_plural)s مٹائیں" - -msgid "Administration" -msgstr "" - -msgid "All" -msgstr "تمام" - -msgid "Yes" -msgstr "ھاں" - -msgid "No" -msgstr "نھیں" - -msgid "Unknown" -msgstr "نامعلوم" - -msgid "Any date" -msgstr "کوئی تاریخ" - -msgid "Today" -msgstr "آج" - -msgid "Past 7 days" -msgstr "گزشتہ سات دن" - -msgid "This month" -msgstr "یہ مھینہ" - -msgid "This year" -msgstr "یہ سال" - -msgid "No date" -msgstr "" - -msgid "Has date" -msgstr "" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" - -msgid "Action:" -msgstr "کاروائی:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "دوسرا %(verbose_name)s درج کریں" - -msgid "Remove" -msgstr "خارج کریں" - -msgid "action time" -msgstr "کاروائی کا وقت" - -msgid "user" -msgstr "" - -msgid "content type" -msgstr "" - -msgid "object id" -msgstr "شے کا شناختی نمبر" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/3/library/functions.html#repr) -msgid "object repr" -msgstr "شے کا نمائندہ" - -msgid "action flag" -msgstr "کاروائی کا پرچم" - -msgid "change message" -msgstr "پیغام تبدیل کریں" - -msgid "log entry" -msgstr "لاگ کا اندراج" - -msgid "log entries" -msgstr "لاگ کے اندراج" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "" - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "" - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "" - -msgid "LogEntry Object" -msgstr "" - -#, python-brace-format -msgid "Added {name} \"{object}\"." -msgstr "" - -msgid "Added." -msgstr "" - -msgid "and" -msgstr "اور" - -#, python-brace-format -msgid "Changed {fields} for {name} \"{object}\"." -msgstr "" - -#, python-brace-format -msgid "Changed {fields}." -msgstr "" - -#, python-brace-format -msgid "Deleted {name} \"{object}\"." -msgstr "" - -msgid "No fields changed." -msgstr "کوئی خانہ تبدیل نھیں کیا گیا۔" - -msgid "None" -msgstr "کوئی نھیں" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was changed successfully." -msgstr "" - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"اشیاء پر کاروائی سرانجام دینے کے لئے ان کا منتخب ھونا ضروری ھے۔ کوئی شے " -"تبدیل نھیں کی گئی۔" - -msgid "No action selected." -msgstr "کوئی کاروائی منتخب نھیں کی گئی۔" - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "%(name)s \"%(obj)s\" کامیابی سے مٹایا گیا تھا۔" - -#, python-format -msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" -msgstr "" - -#, python-format -msgid "Add %s" -msgstr "%s کا اضافہ کریں" - -#, python-format -msgid "Change %s" -msgstr "%s تبدیل کریں" - -msgid "Database error" -msgstr "ڈیٹا بیس کی خرابی" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "%(count)s %(name)s کامیابی سے تبدیل کیا گیا تھا۔" -msgstr[1] "%(count)s %(name)s کامیابی سے تبدیل کیے گئے تھے۔" - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "%(total_count)s منتخب کیا گیا۔" -msgstr[1] "تمام %(total_count)s منتخب کئے گئے۔" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "%(cnt)s میں سے 0 منتخب کیا گیا۔" - -#, python-format -msgid "Change history: %s" -msgstr "%s کی تبدیلی کا تاریخ نامہ" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" - -msgid "Django site admin" -msgstr "منتظم برائے جینگو سائٹ" - -msgid "Django administration" -msgstr "انتظامیہ برائے جینگو سائٹ" - -msgid "Site administration" -msgstr "سائٹ کی انتظامیہ" - -msgid "Log in" -msgstr "اندر جائیں" - -#, python-format -msgid "%(app)s administration" -msgstr "" - -msgid "Page not found" -msgstr "صفحہ نھیں ملا" - -msgid "We're sorry, but the requested page could not be found." -msgstr "ھم معذرت خواہ ھیں، مطلوبہ صفحہ نھیں مل سکا۔" - -msgid "Home" -msgstr "گھر" - -msgid "Server error" -msgstr "سرور کی خرابی" - -msgid "Server error (500)" -msgstr "سرور کی خرابی (500)" - -msgid "Server Error (500)" -msgstr "سرور کی خرابی (500)" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" - -msgid "Run the selected action" -msgstr "منتخب شدہ کاروائیاں چلائیں" - -msgid "Go" -msgstr "جاؤ" - -msgid "Click here to select the objects across all pages" -msgstr "تمام صفحات میں سے اشیاء منتخب کرنے کے لئے یہاں کلک کریں۔" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "تمام %(total_count)s %(module_name)s منتخب کریں" - -msgid "Clear selection" -msgstr "انتخاب صاف کریں" - -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" -"پہلے نام صارف اور لفظ اجازت درج کریں۔ پھر آپ مزید صارف کے حقوق مدوّن کرنے کے " -"قابل ھوں گے۔" - -msgid "Enter a username and password." -msgstr "نام صارف اور لفظ اجازت درج کریں۔" - -msgid "Change password" -msgstr "لفظ اجازت تبدیل کریں" - -msgid "Please correct the error below." -msgstr "براہ کرم نیچے غلطیاں درست کریں۔" - -msgid "Please correct the errors below." -msgstr "" - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "صارف %(username)s کے لئے نیا لفظ اجازت درج کریں۔" - -msgid "Welcome," -msgstr "خوش آمدید،" - -msgid "View site" -msgstr "" - -msgid "Documentation" -msgstr "طریق استعمال" - -msgid "Log out" -msgstr "باہر جائیں" - -#, python-format -msgid "Add %(name)s" -msgstr "%(name)s کا اضافہ کریں" - -msgid "History" -msgstr "تاریخ نامہ" - -msgid "View on site" -msgstr "سائٹ پر مشاھدہ کریں" - -msgid "Filter" -msgstr "چھانٹیں" - -msgid "Remove from sorting" -msgstr "" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "" - -msgid "Toggle sorting" -msgstr "" - -msgid "Delete" -msgstr "مٹائیں" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"%(object_name)s '%(escaped_object)s' کو مٹانے کے نتیجے میں معتلقہ اشیاء مٹ " -"سکتی ھیں، مگر آپ کے کھاتے کو اشیاء کی مندرجہ ذیل اقسام مٹانے کا حق حاصل نھیں " -"ھے۔" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"%(object_name)s '%(escaped_object)s' کو مٹانے کے لئے مندرجہ ذیل محفوظ متعلقہ " -"اشیاء کو مٹانے کی ضرورت پڑ سکتی ھے۔" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"واقعی آپ %(object_name)s \"%(escaped_object)s\" کو مٹانا چاہتے ھیں۔ مندرجہ " -"ذیل تمام متعلقہ اجزاء مٹ جائیں گے۔" - -msgid "Objects" -msgstr "" - -msgid "Yes, I'm sure" -msgstr "ھاں، مجھے یقین ھے" - -msgid "No, take me back" -msgstr "" - -msgid "Delete multiple objects" -msgstr "متعدد اشیاء مٹائیں" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"منتخب شدہ %(objects_name)s کو مٹانے کے نتیجے میں متعلقہ اشیاء مٹ سکتی ھیں، " -"لیکن آپ کے کھاتے کو اشیاء کی مندرجہ ذیل اقسام کو مٹانے کا حق حاصل نھیں ھے۔" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"منتخب شدہ %(objects_name)s کو مٹانے کے لئے مندرجہ ذیل محفوظ شدہ اشیاء کو " -"مٹانے کی ضرورت پڑ سکتی ھے۔" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"واقعی آپ منتخب شدہ %(objects_name)s مٹانا چاھتے ھیں؟ مندرجہ ذیل اور ان سے " -"متعلقہ تمام اشیاء حذف ھو جائیں گی۔" - -msgid "Change" -msgstr "تدوین" - -msgid "Delete?" -msgstr "مٹاؤں؟" - -#, python-format -msgid " By %(filter_title)s " -msgstr "از %(filter_title)s" - -msgid "Summary" -msgstr "" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "" - -msgid "Add" -msgstr "اضافہ" - -msgid "You don't have permission to edit anything." -msgstr "آپ کو کوئی چیز مدوّن کرنے کا حق نھیں ھے۔" - -msgid "Recent actions" -msgstr "" - -msgid "My actions" -msgstr "" - -msgid "None available" -msgstr "کچھ دستیاب نھیں" - -msgid "Unknown content" -msgstr "نامعلوم مواد" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"آپ کی ڈیٹا بیس کی تنصیب میں کوئی چیز خراب ھے۔ یقین کر لیں کہ موزون ڈیٹا بیس " -"ٹیبل بنائے گئے تھے، اور یقین کر لیں کہ ڈیٹ بیس مناسب صارف کے پڑھے جانے کے " -"قابل ھے۔" - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" - -msgid "Forgotten your password or username?" -msgstr "" - -msgid "Date/time" -msgstr "تاریخ/وقت" - -msgid "User" -msgstr "صارف" - -msgid "Action" -msgstr "کاروائی" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" -"اس شے کا تبدیلی کا تاریخ نامہ نھیں ھے۔ اس کا غالباً بذریعہ اس منتظم سائٹ کے " -"اضافہ نھیں کیا گیا۔" - -msgid "Show all" -msgstr "تمام دکھائیں" - -msgid "Save" -msgstr "محفوظ کریں" - -msgid "Popup closing..." -msgstr "" - -#, python-format -msgid "Change selected %(model)s" -msgstr "" - -#, python-format -msgid "Add another %(model)s" -msgstr "" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "" - -msgid "Search" -msgstr "تلاش کریں" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s نتیجہ" -msgstr[1] "%(counter)s نتائج" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "کل %(full_result_count)s" - -msgid "Save as new" -msgstr "بطور نیا محفوظ کریں" - -msgid "Save and add another" -msgstr "محفوظ کریں اور مزید اضافہ کریں" - -msgid "Save and continue editing" -msgstr "محفوظ کریں اور تدوین جاری رکھیں" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "ویب سائٹ پر آج کچھ معیاری وقت خرچ کرنے کے لئے شکریہ۔" - -msgid "Log in again" -msgstr "دوبارہ اندر جائیں" - -msgid "Password change" -msgstr "لفظ اجازت کی تبدیلی" - -msgid "Your password was changed." -msgstr "آپ کا لفظ اجازت تبدیل کر دیا گیا تھا۔" - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"براہ کرم سیکیورٹی کی خاطر اپنا پرانا لفظ اجازت درج کریں اور پھر اپنا نیا لفظ " -"اجازت دو مرتبہ درج کریں تاکہ ھم توثیق کر سکیں کہ آپ نے اسے درست درج کیا ھے۔" - -msgid "Change my password" -msgstr "میرا لفظ تبدیل کریں" - -msgid "Password reset" -msgstr "لفظ اجازت کی دوبارہ ترتیب" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "" -"آپ کا لفظ اجازت مرتب کر دیا گیا ھے۔ آپ کو آگے بڑھنے اور اندر جانے کی اجازت " -"ھے۔" - -msgid "Password reset confirmation" -msgstr "لفظ اجازت دوبارہ مرتب کرنے کی توثیق" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"براہ مھربانی اپنا نیا لفظ اجازت دو مرتبہ درج کریں تاکہ تاکہ ھم تصدیق کر سکیں " -"کہ تم نے اسے درست درج کیا ھے۔" - -msgid "New password:" -msgstr "نیا لفظ اجازت:" - -msgid "Confirm password:" -msgstr "لفظ اجازت کی توثیق:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"لفظ اجازت دوبارہ مرتب کرنے کا رابطہ (لنک) غلط تھا، غالباً یہ پہلے ھی استعمال " -"کیا چکا تھا۔ براہ مھربانی نیا لفظ اجازت مرتب کرنے کی درخواست کریں۔" - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" - -msgid "Please go to the following page and choose a new password:" -msgstr "براہ مھربانی مندرجہ ذیل صفحے پر جائیں اور نیا لفظ اجازت پسند کریں:" - -msgid "Your username, in case you've forgotten:" -msgstr "نام صارف، بھول جانے کی صورت میں:" - -msgid "Thanks for using our site!" -msgstr "ھماری سائٹ استعمال کرنے کے لئے شکریہ" - -#, python-format -msgid "The %(site_name)s team" -msgstr "%(site_name)s کی ٹیم" - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" - -msgid "Email address:" -msgstr "" - -msgid "Reset my password" -msgstr "میرا لفظ اجازت دوبارہ مرتب کریں" - -msgid "All dates" -msgstr "تمام تاریخیں" - -#, python-format -msgid "Select %s" -msgstr "%s منتخب کریں" - -#, python-format -msgid "Select %s to change" -msgstr "تبدیل کرنے کے لئے %s منتخب کریں" - -msgid "Date:" -msgstr "تاریخ:" - -msgid "Time:" -msgstr "وقت:" - -msgid "Lookup" -msgstr "ڈھونڈیں" - -msgid "Currently:" -msgstr "" - -msgid "Change:" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ur/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ur/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 65de1984..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ur/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ur/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ur/LC_MESSAGES/djangojs.po deleted file mode 100644 index a4f5642c..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/ur/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,211 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Mansoorulhaq Mansoor , 2011 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" -"PO-Revision-Date: 2017-09-19 16:41+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Urdu (http://www.transifex.com/django/django/language/ur/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ur\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#, javascript-format -msgid "Available %s" -msgstr "دستیاب %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "" - -msgid "Filter" -msgstr "چھانٹیں" - -msgid "Choose all" -msgstr "سب منتخب کریں" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "" - -msgid "Choose" -msgstr "" - -msgid "Remove" -msgstr "خارج کریں" - -#, javascript-format -msgid "Chosen %s" -msgstr "منتخب شدہ %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" - -msgid "Remove all" -msgstr "" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "" - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(cnt)s میں سے %(sel)s منتخب کیا گیا" -msgstr[1] "%(cnt)s میں سے %(sel)s منتخب کیے گئے" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"آپ کے پاس ذاتی قابل تدوین خانوں میں غیر محفوظ تبدیلیاں موجود ھیں۔ اگر آپ " -"کوئی کاروائی کریں گے تو آپ کی غیر محفوظ تبدیلیاں ضائع ھو جائیں گی۔" - -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 "" -"آپ نے ایک کاروائی منتخب کی ھے لیکن ابھی تک آپ نے ذاتی خانوں میں اپنی " -"تبدیلیاں محفوظ نہیں کی ہیں براہ مھربانی محفوط کرنے کے لئے OK پر کلک کریں۔ آپ " -"کاوائی دوبارہ چلانے کی ضرورت ھوگی۔" - -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 "" -"آپ نے ایک کاروائی منتخب کی ھے، اور آپ نے ذاتی خانوں میں کوئی تبدیلی نہیں کی " -"غالباً آپ 'جاؤ' بٹن تلاش کر رھے ھیں بجائے 'مخفوظ کریں' بٹن کے۔" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "" -msgstr[1] "" - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "" -msgstr[1] "" - -msgid "Now" -msgstr "اب" - -msgid "Choose a Time" -msgstr "" - -msgid "Choose a time" -msgstr "وقت منتخب کریں" - -msgid "Midnight" -msgstr "نصف رات" - -msgid "6 a.m." -msgstr "6 ص" - -msgid "Noon" -msgstr "دوپھر" - -msgid "6 p.m." -msgstr "" - -msgid "Cancel" -msgstr "منسوخ کریں" - -msgid "Today" -msgstr "آج" - -msgid "Choose a Date" -msgstr "" - -msgid "Yesterday" -msgstr "گزشتہ کل" - -msgid "Tomorrow" -msgstr "آئندہ کل" - -msgid "January" -msgstr "" - -msgid "February" -msgstr "" - -msgid "March" -msgstr "" - -msgid "April" -msgstr "" - -msgid "May" -msgstr "" - -msgid "June" -msgstr "" - -msgid "July" -msgstr "" - -msgid "August" -msgstr "" - -msgid "September" -msgstr "" - -msgid "October" -msgstr "" - -msgid "November" -msgstr "" - -msgid "December" -msgstr "" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "" - -msgctxt "one letter Monday" -msgid "M" -msgstr "" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "" - -msgctxt "one letter Friday" -msgid "F" -msgstr "" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "" - -msgid "Show" -msgstr "دکھائیں" - -msgid "Hide" -msgstr "چھپائیں" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/uz/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/uz/LC_MESSAGES/django.mo deleted file mode 100644 index 66b854d9..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/uz/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/uz/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/uz/LC_MESSAGES/django.po deleted file mode 100644 index 767edf7f..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/uz/LC_MESSAGES/django.po +++ /dev/null @@ -1,657 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Anvar Ulugov , 2020 -# Bedilbek Khamidov , 2019 -# Claude Paroz , 2019 -# Sukhrobbek Ismatov , 2019 -# Yet Sum , 2019 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-08 17:27+0200\n" -"PO-Revision-Date: 2020-01-21 09:24+0000\n" -"Last-Translator: Anvar Ulugov \n" -"Language-Team: Uzbek (http://www.transifex.com/django/django/language/uz/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: uz\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "Muvaffaqiyatli %(count)d%(items)s o'chirildi." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "%(name)s o'chirib bo'lmaydi" - -msgid "Are you sure?" -msgstr "Ishonchingiz komilmi?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "%(verbose_name_plural)s tanlanganlarini o'chirish" - -msgid "Administration" -msgstr "Administratsiya" - -msgid "All" -msgstr "Hammasi" - -msgid "Yes" -msgstr "Ha" - -msgid "No" -msgstr "Yo'q" - -msgid "Unknown" -msgstr "Noma'lum" - -msgid "Any date" -msgstr "Istalgan kun" - -msgid "Today" -msgstr "Bugun" - -msgid "Past 7 days" -msgstr "O'tgan 7 kun" - -msgid "This month" -msgstr "Shu oyda" - -msgid "This year" -msgstr "Shu yilda" - -msgid "No date" -msgstr "Sanasi yo'q" - -msgid "Has date" -msgstr "Sanasi bor" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Xodimlar akkaunti uchun to'g'ri %(username)s va parolni kiriting. E'tibor " -"bering, har ikkala maydon ham harf katta-kichikligini hisobga olishi mumkin." - -msgid "Action:" -msgstr "Harakat:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Boshqa%(verbose_name)s qo‘shish" - -msgid "Remove" -msgstr "Olib tashlash" - -msgid "Addition" -msgstr " Qo'shish" - -msgid "Change" -msgstr "O'zgartirish" - -msgid "Deletion" -msgstr "O'chirish" - -msgid "action time" -msgstr "harakat vaqti" - -msgid "user" -msgstr "foydalanuvchi" - -msgid "content type" -msgstr "tarkib turi" - -msgid "object id" -msgstr "obyekt identifikatori" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "obyekt taqdimi" - -msgid "action flag" -msgstr "harakat bayrog'i" - -msgid "change message" -msgstr "xabarni o'zgartirish" - -msgid "log entry" -msgstr "" - -msgid "log entries" -msgstr "" - -#, python-format -msgid "Added “%(object)s”." -msgstr "" - -#, python-format -msgid "Changed “%(object)s” — %(changes)s" -msgstr "" - -#, python-format -msgid "Deleted “%(object)s.”" -msgstr "" - -msgid "LogEntry Object" -msgstr "" - -#, python-brace-format -msgid "Added {name} “{object}”." -msgstr "" - -msgid "Added." -msgstr "" - -msgid "and" -msgstr "" - -#, python-brace-format -msgid "Changed {fields} for {name} “{object}”." -msgstr "" - -#, python-brace-format -msgid "Changed {fields}." -msgstr "" - -#, python-brace-format -msgid "Deleted {name} “{object}”." -msgstr "" - -msgid "No fields changed." -msgstr "" - -msgid "None" -msgstr "Bo'sh" - -msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." -msgstr "" - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully." -msgstr "" - -msgid "You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} “{obj}” was added successfully. You may add another {name} below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} “{obj}” was changed successfully." -msgstr "{name} \"{obj}\" muvaffaqiyatli o'zgartirildi." - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" - -msgid "No action selected." -msgstr "" - -#, python-format -msgid "The %(name)s “%(obj)s” was deleted successfully." -msgstr "%(name)s%(obj)smuvaffaqiyatli o'chirildi" - -#, python-format -msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" -msgstr "" - -#, python-format -msgid "Add %s" -msgstr "Qo'shish %s" - -#, python-format -msgid "Change %s" -msgstr "O'zgartirish %s" - -#, python-format -msgid "View %s" -msgstr "Ko'rish %s" - -msgid "Database error" -msgstr "" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "" - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "" - -#, python-format -msgid "Change history: %s" -msgstr "" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" - -msgid "Django site admin" -msgstr "" - -msgid "Django administration" -msgstr "" - -msgid "Site administration" -msgstr "" - -msgid "Log in" -msgstr "" - -#, python-format -msgid "%(app)s administration" -msgstr "" - -msgid "Page not found" -msgstr "" - -msgid "We’re sorry, but the requested page could not be found." -msgstr "" - -msgid "Home" -msgstr "" - -msgid "Server error" -msgstr "Server xatoligi" - -msgid "Server error (500)" -msgstr "Server xatoligi (500)" - -msgid "Server Error (500)" -msgstr "Server xatoligi (500)" - -msgid "" -"There’s been an error. It’s been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" - -msgid "Run the selected action" -msgstr "Tanlangan faoliyatni ishga tushirish" - -msgid "Go" -msgstr "" - -msgid "Click here to select the objects across all pages" -msgstr "" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "" - -msgid "Clear selection" -msgstr "" - -msgid "" -"First, enter a username and password. Then, you’ll be able to edit more user " -"options." -msgstr "" - -msgid "Enter a username and password." -msgstr "Username va parolni kiritish" - -msgid "Change password" -msgstr "Parolni o'zgartirish" - -msgid "Please correct the error below." -msgstr "" - -msgid "Please correct the errors below." -msgstr "" - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "" - -msgid "Welcome," -msgstr "Xush kelibsiz," - -msgid "View site" -msgstr "Saytni ko'rish" - -msgid "Documentation" -msgstr "Qo'llanma" - -msgid "Log out" -msgstr "Chiqish" - -#, python-format -msgid "Add %(name)s" -msgstr "" - -msgid "History" -msgstr "" - -msgid "View on site" -msgstr "Saytda ko'rish" - -msgid "Filter" -msgstr "Saralash" - -msgid "Remove from sorting" -msgstr "Tartiblashdan chiqarish" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "" - -msgid "Toggle sorting" -msgstr "" - -msgid "Delete" -msgstr "O'chirish" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" - -msgid "Objects" -msgstr "" - -msgid "Yes, I’m sure" -msgstr "" - -msgid "No, take me back" -msgstr "" - -msgid "Delete multiple objects" -msgstr "" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" - -msgid "View" -msgstr "Ko'rish" - -msgid "Delete?" -msgstr "O'chirasizmi?" - -#, python-format -msgid " By %(filter_title)s " -msgstr "" - -msgid "Summary" -msgstr "Xulosa" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "" - -msgid "Add" -msgstr "Qo'shish" - -msgid "You don’t have permission to view or edit anything." -msgstr "" - -msgid "Recent actions" -msgstr "So'ngi harakatlar" - -msgid "My actions" -msgstr "Mening harakatlarim" - -msgid "None available" -msgstr "" - -msgid "Unknown content" -msgstr "" - -msgid "" -"Something’s wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" - -msgid "Forgotten your password or username?" -msgstr "" - -msgid "Date/time" -msgstr "" - -msgid "User" -msgstr "" - -msgid "Action" -msgstr "" - -msgid "" -"This object doesn’t have a change history. It probably wasn’t added via this " -"admin site." -msgstr "" - -msgid "Show all" -msgstr "" - -msgid "Save" -msgstr "Saqlash" - -msgid "Popup closing…" -msgstr "" - -msgid "Search" -msgstr "Izlash" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "" - -msgid "Save as new" -msgstr "" - -msgid "Save and add another" -msgstr "" - -msgid "Save and continue editing" -msgstr "" - -msgid "Save and view" -msgstr "" - -msgid "Close" -msgstr "" - -#, python-format -msgid "Change selected %(model)s" -msgstr "" - -#, python-format -msgid "Add another %(model)s" -msgstr "" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "" - -msgid "Log in again" -msgstr "" - -msgid "Password change" -msgstr "" - -msgid "Your password was changed." -msgstr "" - -msgid "" -"Please enter your old password, for security’s sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" - -msgid "Change my password" -msgstr "" - -msgid "Password reset" -msgstr "" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "" - -msgid "Password reset confirmation" -msgstr "" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" - -msgid "New password:" -msgstr "" - -msgid "Confirm password:" -msgstr "" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" - -msgid "" -"We’ve emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" - -msgid "" -"If you don’t receive an email, please make sure you’ve entered the address " -"you registered with, and check your spam folder." -msgstr "" - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" - -msgid "Please go to the following page and choose a new password:" -msgstr "" - -msgid "Your username, in case you’ve forgotten:" -msgstr "" - -msgid "Thanks for using our site!" -msgstr "" - -#, python-format -msgid "The %(site_name)s team" -msgstr "" - -msgid "" -"Forgotten your password? Enter your email address below, and we’ll email " -"instructions for setting a new one." -msgstr "" - -msgid "Email address:" -msgstr "" - -msgid "Reset my password" -msgstr "" - -msgid "All dates" -msgstr "" - -#, python-format -msgid "Select %s" -msgstr "" - -#, python-format -msgid "Select %s to change" -msgstr "" - -#, python-format -msgid "Select %s to view" -msgstr "" - -msgid "Date:" -msgstr "" - -msgid "Time:" -msgstr "" - -msgid "Lookup" -msgstr "" - -msgid "Currently:" -msgstr "" - -msgid "Change:" -msgstr "" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/uz/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/uz/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 914da081..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/uz/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/uz/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/uz/LC_MESSAGES/djangojs.po deleted file mode 100644 index 05e46414..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/uz/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,218 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Otabek Umurzakov , 2019 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-05-17 11:50+0200\n" -"PO-Revision-Date: 2019-12-13 21:48+0000\n" -"Last-Translator: Otabek Umurzakov \n" -"Language-Team: Uzbek (http://www.transifex.com/django/django/language/uz/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: uz\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#, javascript-format -msgid "Available %s" -msgstr "Mavjud %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Bu mavjud %s ro'yxati. Siz ulardan ba'zilarini quyidagi maydonchada " -"belgilab, so'ng ikkala maydonlar orasidagi \"Tanlash\" ko'rsatkichiga bosish " -"orqali tanlashingiz mumkin." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "" -"Mavjud bo'lgan %s larni ro'yxatini filtrlash uchun ushbu maydonchaga " -"kiriting." - -msgid "Filter" -msgstr "Filtrlash" - -msgid "Choose all" -msgstr "Barchasini tanlash" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Barcha %s larni birdan tanlash uchun bosing." - -msgid "Choose" -msgstr "Tanlash" - -msgid "Remove" -msgstr "O'chirish" - -#, javascript-format -msgid "Chosen %s" -msgstr "Tanlangan %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Bu tanlangan %s ro'yxati. Siz ulardan ba'zilarini quyidagi maydonchada " -"belgilab, so'ng ikkala maydonlar orasidagi \"O'chirish\" ko'rsatkichiga " -"bosish orqali o'chirishingiz mumkin." - -msgid "Remove all" -msgstr "Barchasini o'chirish" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Barcha tanlangan %s larni birdan o'chirib tashlash uchun bosing." - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(cnt)s dan %(sel)s tanlandi" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Siz alohida tahrirlash mumkin bo'lgan maydonlarda saqlanmagan " -"o‘zgarishlaringiz mavjud. Agar siz harakatni ishga tushirsangiz, saqlanmagan " -"o'zgarishlaringiz yo'qotiladi." - -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 "" -"Siz harakatni tanladingiz, lekin hali ham o'zgartirishlaringizni alohida " -"maydonlarga saqlamadingiz. Iltimos saqlash uchun OK ni bosing. Harakatni " -"qayta ishga tushurishingiz kerak bo'ladi." - -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 "" -"Siz harakatni tanladingiz va alohida maydonlarda hech qanday o'zgartirishlar " -"kiritmadingiz. Ehtimol siz Saqlash tugmasini emas, balki O'tish tugmasini " -"qidirmoqdasiz." - -msgid "Now" -msgstr "Hozir" - -msgid "Midnight" -msgstr "Yarim tun" - -msgid "6 a.m." -msgstr "6 t.o." - -msgid "Noon" -msgstr "Kun o'rtasi" - -msgid "6 p.m." -msgstr "6 t.k." - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "Eslatma: Siz server vaqtidan %s soat oldindasiz." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "Eslatma: Siz server vaqtidan %s soat orqadasiz." - -msgid "Choose a Time" -msgstr "Vaqtni tanlang" - -msgid "Choose a time" -msgstr "Vaqtni tanlang" - -msgid "Cancel" -msgstr "Bekor qilish" - -msgid "Today" -msgstr "Bugun" - -msgid "Choose a Date" -msgstr "Sanani tanlang" - -msgid "Yesterday" -msgstr "Kecha" - -msgid "Tomorrow" -msgstr "Ertaga" - -msgid "January" -msgstr "Yanvar" - -msgid "February" -msgstr "Fevral" - -msgid "March" -msgstr "Mart" - -msgid "April" -msgstr "Aprel" - -msgid "May" -msgstr "May" - -msgid "June" -msgstr "Iyun" - -msgid "July" -msgstr "Iyul" - -msgid "August" -msgstr "Avgust" - -msgid "September" -msgstr "Sentabr" - -msgid "October" -msgstr "Oktabr" - -msgid "November" -msgstr "Noyabr" - -msgid "December" -msgstr "Dekabr" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "S" - -msgctxt "one letter Monday" -msgid "M" -msgstr "M" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "T" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "W" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "T" - -msgctxt "one letter Friday" -msgid "F" -msgstr "F" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "S" - -msgid "Show" -msgstr "Ko'rsatish" - -msgid "Hide" -msgstr "Yashirish" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/vi/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/vi/LC_MESSAGES/django.mo deleted file mode 100644 index 298498a4..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/vi/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/vi/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/vi/LC_MESSAGES/django.po deleted file mode 100644 index 68fd78c6..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/vi/LC_MESSAGES/django.po +++ /dev/null @@ -1,702 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Dimitris Glezos , 2012 -# Jannis Leidel , 2011 -# Thanh Le Viet , 2013 -# Tran , 2011 -# Tran Van , 2011-2013,2016,2018 -# Vuong Nguyen , 2011 -# xgenvn , 2014 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-01-16 20:42+0100\n" -"PO-Revision-Date: 2019-01-18 00:36+0000\n" -"Last-Translator: Ramiro Morales\n" -"Language-Team: Vietnamese (http://www.transifex.com/django/django/language/" -"vi/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: vi\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "Đã xóa thành công %(count)d %(items)s ." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "Không thể xóa %(name)s" - -msgid "Are you sure?" -msgstr "Bạn có chắc chắn không?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "Xóa các %(verbose_name_plural)s đã chọn" - -msgid "Administration" -msgstr "Quản trị website" - -msgid "All" -msgstr "Tất cả" - -msgid "Yes" -msgstr "Có" - -msgid "No" -msgstr "Không" - -msgid "Unknown" -msgstr "Chưa xác định" - -msgid "Any date" -msgstr "Bất kì ngày nào" - -msgid "Today" -msgstr "Hôm nay" - -msgid "Past 7 days" -msgstr "7 ngày trước" - -msgid "This month" -msgstr "Tháng này" - -msgid "This year" -msgstr "Năm nay" - -msgid "No date" -msgstr "" - -msgid "Has date" -msgstr "" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "" -"Bạn hãy nhập đúng %(username)s và mật khẩu. (Có phân biệt chữ hoa, thường)" - -msgid "Action:" -msgstr "Hoạt động:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "Thêm một %(verbose_name)s " - -msgid "Remove" -msgstr "Gỡ bỏ" - -msgid "Addition" -msgstr "" - -msgid "Change" -msgstr "Thay đổi" - -msgid "Deletion" -msgstr "" - -msgid "action time" -msgstr "Thời gian tác động" - -msgid "user" -msgstr "" - -msgid "content type" -msgstr "kiểu nội dung" - -msgid "object id" -msgstr "Mã đối tượng" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "đối tượng repr" - -msgid "action flag" -msgstr "hiệu hành động" - -msgid "change message" -msgstr "thay đổi tin nhắn" - -msgid "log entry" -msgstr "đăng nhập" - -msgid "log entries" -msgstr "mục đăng nhập" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "Thêm \"%(object)s\"." - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "Đã thay đổi \"%(object)s\" - %(changes)s" - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "Đối tượng \"%(object)s.\" đã được xoá." - -msgid "LogEntry Object" -msgstr "LogEntry Object" - -#, python-brace-format -msgid "Added {name} \"{object}\"." -msgstr "{name} \"{object}\" đã được thêm vào." - -msgid "Added." -msgstr "Được thêm." - -msgid "and" -msgstr "và" - -#, python-brace-format -msgid "Changed {fields} for {name} \"{object}\"." -msgstr "" - -#, python-brace-format -msgid "Changed {fields}." -msgstr "" - -#, python-brace-format -msgid "Deleted {name} \"{object}\"." -msgstr "" - -msgid "No fields changed." -msgstr "Không có trường nào thay đổi" - -msgid "None" -msgstr "Không" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "" -"Giữ phím \"Control\", hoặc \"Command\" trên Mac, để chọn nhiều hơn một." - -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "" - -msgid "You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may add another {name} " -"below." -msgstr "" - -#, python-brace-format -msgid "The {name} \"{obj}\" was changed successfully." -msgstr "" - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "" -"Mục tiêu phải được chọn mới có thể thực hiện hành động trên chúng. Không có " -"mục tiêu nào đã được thay đổi." - -msgid "No action selected." -msgstr "Không có hoạt động nào được lựa chọn." - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "%(name)s \"%(obj)s\" đã được xóa thành công." - -#, python-format -msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" -msgstr "" - -#, python-format -msgid "Add %s" -msgstr "Thêm %s" - -#, python-format -msgid "Change %s" -msgstr "Thay đổi %s" - -#, python-format -msgid "View %s" -msgstr "" - -msgid "Database error" -msgstr "Cơ sở dữ liệu bị lỗi" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] " %(count)s %(name)s đã được thay đổi thành công." - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "Tất cả %(total_count)s đã được chọn" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "0 của %(cnt)s được chọn" - -#, python-format -msgid "Change history: %s" -msgstr "Lịch sử thay đổi: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"Xóa %(class_name)s %(instance)s sẽ tự động xóa các đối tượng liên quan sau: " -"%(related_objects)s" - -msgid "Django site admin" -msgstr "Trang web admin Django" - -msgid "Django administration" -msgstr "Trang quản trị cho Django" - -msgid "Site administration" -msgstr "Site quản trị hệ thống." - -msgid "Log in" -msgstr "Đăng nhập" - -#, python-format -msgid "%(app)s administration" -msgstr "Quản lý %(app)s" - -msgid "Page not found" -msgstr "Không tìm thấy trang nào" - -msgid "We're sorry, but the requested page could not be found." -msgstr "Xin lỗi bạn! Trang mà bạn yêu cầu không tìm thấy." - -msgid "Home" -msgstr "Trang chủ" - -msgid "Server error" -msgstr "Lỗi máy chủ" - -msgid "Server error (500)" -msgstr "Lỗi máy chủ (500)" - -msgid "Server Error (500)" -msgstr "Lỗi máy chủ (500)" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"Có lỗi xảy ra. Lỗi sẽ được gửi đến quản trị website qua email và sẽ được " -"khắc phục sớm. Cám ơn bạn." - -msgid "Run the selected action" -msgstr "Bắt đầu hành động lựa chọn" - -msgid "Go" -msgstr "Đi đến" - -msgid "Click here to select the objects across all pages" -msgstr "Click vào đây để lựa chọn các đối tượng trên tất cả các trang" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "Hãy chọn tất cả %(total_count)s %(module_name)s" - -msgid "Clear selection" -msgstr "Xóa lựa chọn" - -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "" -"Đầu tiên, điền tên đăng nhập và mật khẩu. Sau đó bạn mới có thể chỉnh sửa " -"nhiều hơn lựa chọn của người dùng." - -msgid "Enter a username and password." -msgstr "Điền tên đăng nhập và mật khẩu." - -msgid "Change password" -msgstr "Đổi mật khẩu" - -msgid "Please correct the error below." -msgstr "Hãy sửa lỗi sai dưới đây" - -msgid "Please correct the errors below." -msgstr "Hãy chỉnh sửa lại các lỗi sau." - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "Hãy nhập mật khẩu mới cho người sử dụng %(username)s." - -msgid "Welcome," -msgstr "Chào mừng bạn," - -msgid "View site" -msgstr "" - -msgid "Documentation" -msgstr "Tài liệu" - -msgid "Log out" -msgstr "Thoát" - -#, python-format -msgid "Add %(name)s" -msgstr "Thêm vào %(name)s" - -msgid "History" -msgstr "Bản ghi nhớ" - -msgid "View on site" -msgstr "Xem trên trang web" - -msgid "Filter" -msgstr "Bộ lọc" - -msgid "Remove from sorting" -msgstr "Bỏ khỏi sắp xếp" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "Sắp xếp theo:%(priority_number)s" - -msgid "Toggle sorting" -msgstr "Hoán đổi sắp xếp" - -msgid "Delete" -msgstr "Xóa" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"Xóa %(object_name)s '%(escaped_object)s' sẽ làm mất những dữ liệu có liên " -"quan. Tài khoản của bạn không được cấp quyển xóa những dữ liệu đi kèm theo." - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"Xóa các %(object_name)s ' %(escaped_object)s ' sẽ bắt buộc xóa các đối " -"tượng được bảo vệ sau đây:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"Bạn có chắc là muốn xóa %(object_name)s \"%(escaped_object)s\"?Tất cả những " -"dữ liệu đi kèm dưới đây cũng sẽ bị mất:" - -msgid "Objects" -msgstr "Đối tượng" - -msgid "Yes, I'm sure" -msgstr "Có, tôi chắc chắn." - -msgid "No, take me back" -msgstr "" - -msgid "Delete multiple objects" -msgstr "Xóa nhiều đối tượng" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"Xóa các %(objects_name)s sẽ bắt buộc xóa các đối tượng liên quan, nhưng tài " -"khoản của bạn không có quyền xóa các loại đối tượng sau đây:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "" -"Xóa các %(objects_name)s sẽ bắt buộc xóa các đối tượng đã được bảo vệ sau " -"đây:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"Bạn chắc chắn muốn xóa những lựa chọn %(objects_name)s? Tất cả những đối " -"tượng sau và những đối tượng liên quan sẽ được xóa:" - -msgid "View" -msgstr "" - -msgid "Delete?" -msgstr "Bạn muốn xóa?" - -#, python-format -msgid " By %(filter_title)s " -msgstr "Bởi %(filter_title)s " - -msgid "Summary" -msgstr "" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "Các mô models trong %(name)s" - -msgid "Add" -msgstr "Thêm vào" - -msgid "You don't have permission to view or edit anything." -msgstr "" - -msgid "Recent actions" -msgstr "" - -msgid "My actions" -msgstr "" - -msgid "None available" -msgstr "Không có sẵn" - -msgid "Unknown content" -msgstr "Không biết nội dung" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"Một vài lỗi với cơ sở dữ liệu cài đặt của bạn. Hãy chắc chắn bảng biểu dữ " -"liệu được tạo phù hợp và dữ liệu có thể được đọc bởi những người sử dụng phù " -"hợp." - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"Bạn đã xác thực bằng tài khoản %(username)s, nhưng không đủ quyền để truy " -"cập trang này. Bạn có muốn đăng nhập bằng một tài khoản khác?" - -msgid "Forgotten your password or username?" -msgstr "Bạn quên mật khẩu hoặc tài khoản?" - -msgid "Date/time" -msgstr "Ngày/giờ" - -msgid "User" -msgstr "Người dùng" - -msgid "Action" -msgstr "Hành động" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "" -"Đối tượng này không có một lịch sử thay đổi. Nó có lẽ đã không được thêm vào " -"qua trang web admin." - -msgid "Show all" -msgstr "Hiện tất cả" - -msgid "Save" -msgstr "Lưu lại" - -msgid "Popup closing…" -msgstr "" - -msgid "Search" -msgstr "Tìm kiếm" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s kết quả" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "tổng số %(full_result_count)s" - -msgid "Save as new" -msgstr "Lưu mới" - -msgid "Save and add another" -msgstr "Lưu và thêm mới" - -msgid "Save and continue editing" -msgstr "Lưu và tiếp tục chỉnh sửa" - -msgid "Save and view" -msgstr "" - -msgid "Close" -msgstr "" - -#, python-format -msgid "Change selected %(model)s" -msgstr "" - -#, python-format -msgid "Add another %(model)s" -msgstr "Thêm %(model)s khác" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "Xóa %(model)s đã chọn" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "Cảm ơn bạn đã dành thời gian với website này" - -msgid "Log in again" -msgstr "Đăng nhập lại" - -msgid "Password change" -msgstr "Thay đổi mật khẩu" - -msgid "Your password was changed." -msgstr "Mật khẩu của bạn đã được thay đổi" - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"Hãy nhập lại mật khẩu cũ và sau đó nhập mật khẩu mới hai lần để chúng tôi có " -"thể kiểm tra lại xem bạn đã gõ chính xác hay chưa." - -msgid "Change my password" -msgstr "Thay đổi mật khẩu" - -msgid "Password reset" -msgstr "Lập lại mật khẩu" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "Mật khẩu của bạn đã được lập lại. Bạn hãy thử đăng nhập." - -msgid "Password reset confirmation" -msgstr "Xác nhận việc lập lại mật khẩu" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "" -"Hãy nhập mật khẩu mới hai lần để chúng tôi có thể kiểm tra xem bạn đã gõ " -"chính xác chưa" - -msgid "New password:" -msgstr "Mật khẩu mới" - -msgid "Confirm password:" -msgstr "Nhập lại mật khẩu:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "" -"Liên kết đặt lại mật khẩu không hợp lệ, có thể vì nó đã được sử dụng. Xin " -"vui lòng yêu cầu đặt lại mật khẩu mới." - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" -"Nếu bạn không nhận được email, hãy kiểm tra lại địa chỉ email mà bạn dùng để " -"đăng kí hoặc kiểm tra trong thư mục spam/rác" - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "" -"Bạn nhận được email này vì bạn đã yêu cầu làm mới lại mật khẩu cho tài khoản " -"của bạn tại %(site_name)s." - -msgid "Please go to the following page and choose a new password:" -msgstr "Hãy vào đường link dưới đây và chọn một mật khẩu mới" - -msgid "Your username, in case you've forgotten:" -msgstr "Tên đăng nhập của bạn, trường hợp bạn quên nó:" - -msgid "Thanks for using our site!" -msgstr "Cảm ơn bạn đã sử dụng website của chúng tôi!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "Đội của %(site_name)s" - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" -"Quên mật khẩu? Nhập địa chỉ email vào ô dưới đây. Chúng tôi sẽ email cho bạn " -"hướng dẫn cách thiết lập mật khẩu mới." - -msgid "Email address:" -msgstr "Địa chỉ Email:" - -msgid "Reset my password" -msgstr "Làm lại mật khẩu" - -msgid "All dates" -msgstr "Tất cả các ngày" - -#, python-format -msgid "Select %s" -msgstr "Chọn %s" - -#, python-format -msgid "Select %s to change" -msgstr "Chọn %s để thay đổi" - -#, python-format -msgid "Select %s to view" -msgstr "" - -msgid "Date:" -msgstr "Ngày:" - -msgid "Time:" -msgstr "Giờ:" - -msgid "Lookup" -msgstr "Tìm" - -msgid "Currently:" -msgstr "Hiện nay:" - -msgid "Change:" -msgstr "Thay đổi:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/vi/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/vi/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 7588ed6c..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/vi/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/vi/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/vi/LC_MESSAGES/djangojs.po deleted file mode 100644 index d2155ca4..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/vi/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,220 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Jannis Leidel , 2011 -# Tran , 2011 -# Tran Van , 2013 -# Vuong Nguyen , 2011 -# xgenvn , 2014 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" -"PO-Revision-Date: 2017-09-23 18:54+0000\n" -"Last-Translator: Jannis Leidel \n" -"Language-Team: Vietnamese (http://www.transifex.com/django/django/language/" -"vi/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: vi\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#, javascript-format -msgid "Available %s" -msgstr "Có sẵn %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"Danh sách các lựa chọn đang có %s. Bạn có thể chọn bằng bách click vào mũi " -"tên \"Chọn\" nằm giữa hai hộp." - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "Bạn hãy nhập vào ô này để lọc các danh sách sau %s." - -msgid "Filter" -msgstr "Lọc" - -msgid "Choose all" -msgstr "Chọn tất cả" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "Click để chọn tất cả %s ." - -msgid "Choose" -msgstr "Chọn" - -msgid "Remove" -msgstr "Xóa" - -#, javascript-format -msgid "Chosen %s" -msgstr "Chọn %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"Danh sách bạn đã chọn %s. Bạn có thể bỏ chọn bằng cách click vào mũi tên " -"\"Xoá\" nằm giữa hai ô." - -msgid "Remove all" -msgstr "Xoá tất cả" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "Click để bỏ chọn tất cả %s" - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] " %(sel)s của %(cnt)s được chọn" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"Bạn chưa lưu những trường đã chỉnh sửa. Nếu bạn chọn hành động này, những " -"chỉnh sửa chưa được lưu sẽ bị mất." - -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 "" -"Bạn đã lựa chọn một hành động, nhưng bạn không lưu thay đổi của bạn đến các " -"lĩnh vực cá nhân được nêu ra. Xin vui lòng click OK để lưu lại. Bạn sẽ cần " -"phải chạy lại các hành động." - -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 "" -"Bạn đã lựa chọn một hành động, và bạn đã không thực hiện bất kỳ thay đổi nào " -"trên các trường. Có lẽ bạn đang tìm kiếm nút bấm Go thay vì nút bấm Save." - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "" -"Lưu ý: Hiện tại bạn đang thấy thời gian trước %s giờ so với thời gian máy " -"chủ." - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "" -"Lưu ý: Hiện tại bạn đang thấy thời gian sau %s giờ so với thời gian máy chủ." - -msgid "Now" -msgstr "Bây giờ" - -msgid "Choose a Time" -msgstr "" - -msgid "Choose a time" -msgstr "Chọn giờ" - -msgid "Midnight" -msgstr "Nửa đêm" - -msgid "6 a.m." -msgstr "6 giờ sáng" - -msgid "Noon" -msgstr "Buổi trưa" - -msgid "6 p.m." -msgstr "" - -msgid "Cancel" -msgstr "Hủy bỏ" - -msgid "Today" -msgstr "Hôm nay" - -msgid "Choose a Date" -msgstr "" - -msgid "Yesterday" -msgstr "Hôm qua" - -msgid "Tomorrow" -msgstr "Ngày mai" - -msgid "January" -msgstr "" - -msgid "February" -msgstr "" - -msgid "March" -msgstr "" - -msgid "April" -msgstr "" - -msgid "May" -msgstr "" - -msgid "June" -msgstr "" - -msgid "July" -msgstr "" - -msgid "August" -msgstr "" - -msgid "September" -msgstr "" - -msgid "October" -msgstr "" - -msgid "November" -msgstr "" - -msgid "December" -msgstr "" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "" - -msgctxt "one letter Monday" -msgid "M" -msgstr "" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "" - -msgctxt "one letter Friday" -msgid "F" -msgstr "" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "" - -msgid "Show" -msgstr "Hiện ra" - -msgid "Hide" -msgstr "Dấu đi" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/zh_Hans/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/zh_Hans/LC_MESSAGES/django.mo deleted file mode 100644 index 1d6d75ab..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/zh_Hans/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/zh_Hans/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/zh_Hans/LC_MESSAGES/django.po deleted file mode 100644 index 773847bc..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/zh_Hans/LC_MESSAGES/django.po +++ /dev/null @@ -1,710 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Brian Wang , 2018 -# Fulong Sun , 2016 -# Jannis Leidel , 2011 -# Kevin Sze , 2012 -# Lele Long , 2011,2015 -# Le Yang , 2018 -# li beite , 2020 -# Liping Wang , 2016-2017 -# mozillazg , 2016 -# Ronald White , 2013-2014 -# Sean Lee , 2013 -# Sean Lee , 2013 -# slene , 2011 -# Suntravel Chris , 2019 -# Wentao Han , 2018,2020 -# xuyi wang , 2018 -# yf zhan , 2018 -# dykai , 2019 -# ced773123cfad7b4e8b79ca80f736af9, 2012 -# 嘉琪 方 <370358679@qq.com>, 2020 -# Kevin Sze , 2012 -# 考证 李 , 2020 -# 雨翌 , 2016 -# Ronald White , 2013 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-14 19:53+0200\n" -"PO-Revision-Date: 2020-09-11 01:47+0000\n" -"Last-Translator: 嘉琪 方 <370358679@qq.com>\n" -"Language-Team: Chinese (China) (http://www.transifex.com/django/django/" -"language/zh_CN/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "成功删除了 %(count)d 个 %(items)s" - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "无法删除 %(name)s" - -msgid "Are you sure?" -msgstr "你确定吗?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "删除所选的 %(verbose_name_plural)s" - -msgid "Administration" -msgstr "管理" - -msgid "All" -msgstr "全部" - -msgid "Yes" -msgstr "是" - -msgid "No" -msgstr "否" - -msgid "Unknown" -msgstr "未知" - -msgid "Any date" -msgstr "任意日期" - -msgid "Today" -msgstr "今天" - -msgid "Past 7 days" -msgstr "过去7天" - -msgid "This month" -msgstr "本月" - -msgid "This year" -msgstr "今年" - -msgid "No date" -msgstr "没有日期" - -msgid "Has date" -msgstr "具有日期" - -msgid "Empty" -msgstr "空" - -msgid "Not empty" -msgstr "非空" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "请输入一个正确的 %(username)s 和密码. 注意他们都是区分大小写的." - -msgid "Action:" -msgstr "动作" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "添加另一个 %(verbose_name)s" - -msgid "Remove" -msgstr "删除" - -msgid "Addition" -msgstr "添加" - -msgid "Change" -msgstr "修改" - -msgid "Deletion" -msgstr "删除" - -msgid "action time" -msgstr "操作时间" - -msgid "user" -msgstr "用户" - -msgid "content type" -msgstr "内容类型" - -msgid "object id" -msgstr "对象id" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/library/functions.html#repr) -msgid "object repr" -msgstr "对象表示" - -msgid "action flag" -msgstr "动作标志" - -msgid "change message" -msgstr "修改消息" - -msgid "log entry" -msgstr "日志记录" - -msgid "log entries" -msgstr "日志记录" - -#, python-format -msgid "Added “%(object)s”." -msgstr "添加了“%(object)s”。" - -#, python-format -msgid "Changed “%(object)s” — %(changes)s" -msgstr "修改了“%(object)s”—%(changes)s" - -#, python-format -msgid "Deleted “%(object)s.”" -msgstr "删除了“%(object)s”。" - -msgid "LogEntry Object" -msgstr "LogEntry对象" - -#, python-brace-format -msgid "Added {name} “{object}”." -msgstr "添加了 {name}“{object}”。" - -msgid "Added." -msgstr "已添加。" - -msgid "and" -msgstr "和" - -#, python-brace-format -msgid "Changed {fields} for {name} “{object}”." -msgstr "修改了 {name}“{object}”的 {fields}。" - -#, python-brace-format -msgid "Changed {fields}." -msgstr "已修改{fields}。" - -#, python-brace-format -msgid "Deleted {name} “{object}”." -msgstr "删除了 {name}“{object}”。" - -msgid "No fields changed." -msgstr "没有字段被修改。" - -msgid "None" -msgstr "无" - -msgid "Hold down “Control”, or “Command” on a Mac, to select more than one." -msgstr "按住 Control 键或 Mac 上的 Command 键来选择多项。" - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully." -msgstr "成功添加了 {name}“{obj}”。" - -msgid "You may edit it again below." -msgstr "您可以在下面再次编辑它." - -#, python-brace-format -msgid "" -"The {name} “{obj}” was added successfully. You may add another {name} below." -msgstr "成功添加了 {name}“{obj}”。你可以在下面添加另一个 {name}。" - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may edit it again below." -msgstr "成功修改了 {name}“{obj}”。你可以在下面再次编辑它。" - -#, python-brace-format -msgid "The {name} “{obj}” was added successfully. You may edit it again below." -msgstr "成功添加了 {name}“{obj}”。你可以在下面再次编辑它。" - -#, python-brace-format -msgid "" -"The {name} “{obj}” was changed successfully. You may add another {name} " -"below." -msgstr "成功修改了 {name}“{obj}”。你可以在下面添加另一个 {name}。" - -#, python-brace-format -msgid "The {name} “{obj}” was changed successfully." -msgstr "成功修改了 {name}“{obj}”。" - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "条目必须选中以对其进行操作。没有任何条目被更改。" - -msgid "No action selected." -msgstr "未选择动作" - -#, python-format -msgid "The %(name)s “%(obj)s” was deleted successfully." -msgstr "成功删除了 %(name)s“%(obj)s”。" - -#, python-format -msgid "%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?" -msgstr "ID 为“%(key)s”的 %(name)s 不存在。可能已经被删除了?" - -#, python-format -msgid "Add %s" -msgstr "增加 %s" - -#, python-format -msgid "Change %s" -msgstr "修改 %s" - -#, python-format -msgid "View %s" -msgstr "查看 %s" - -msgid "Database error" -msgstr "数据库错误" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "总共 %(count)s 个 %(name)s 变更成功。" - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "选中了 %(total_count)s 个" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "%(cnt)s 个中 0 个被选" - -#, python-format -msgid "Change history: %s" -msgstr "变更历史: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"删除 %(class_name)s %(instance)s 将需要删除以下受保护的相关对象: " -"%(related_objects)s" - -msgid "Django site admin" -msgstr "Django 站点管理员" - -msgid "Django administration" -msgstr "Django 管理" - -msgid "Site administration" -msgstr "站点管理" - -msgid "Log in" -msgstr "登录" - -#, python-format -msgid "%(app)s administration" -msgstr "%(app)s 管理" - -msgid "Page not found" -msgstr "页面没有找到" - -msgid "We’re sorry, but the requested page could not be found." -msgstr "非常抱歉,请求的页面不存在。" - -msgid "Home" -msgstr "首页" - -msgid "Server error" -msgstr "服务器错误" - -msgid "Server error (500)" -msgstr "服务器错误(500)" - -msgid "Server Error (500)" -msgstr "服务器错误 (500)" - -msgid "" -"There’s been an error. It’s been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"发生了错误,已经通过电子邮件报告给了网站管理员。我们会尽快修复,感谢您的耐心" -"等待。" - -msgid "Run the selected action" -msgstr "运行选中的动作" - -msgid "Go" -msgstr "执行" - -msgid "Click here to select the objects across all pages" -msgstr "点击此处选择所有页面中包含的对象。" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "选中所有的 %(total_count)s 个 %(module_name)s" - -msgid "Clear selection" -msgstr "清除选中" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "在应用程序 %(name)s 中的模型" - -msgid "Add" -msgstr "增加" - -msgid "View" -msgstr "查看" - -msgid "You don’t have permission to view or edit anything." -msgstr "你没有查看或编辑的权限。" - -msgid "" -"First, enter a username and password. Then, you’ll be able to edit more user " -"options." -msgstr "输入用户名和密码后,你将能够编辑更多的用户选项。" - -msgid "Enter a username and password." -msgstr "输入用户名和密码" - -msgid "Change password" -msgstr "修改密码" - -msgid "Please correct the error below." -msgstr "请更正下列错误。" - -msgid "Please correct the errors below." -msgstr "请更正下列错误。" - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "为用户 %(username)s 输入一个新的密码。" - -msgid "Welcome," -msgstr "欢迎," - -msgid "View site" -msgstr "查看站点" - -msgid "Documentation" -msgstr "文档" - -msgid "Log out" -msgstr "注销" - -#, python-format -msgid "Add %(name)s" -msgstr "增加 %(name)s" - -msgid "History" -msgstr "历史" - -msgid "View on site" -msgstr "在站点上查看" - -msgid "Filter" -msgstr "过滤器" - -msgid "Clear all filters" -msgstr "清除所有过滤器" - -msgid "Remove from sorting" -msgstr "删除排序" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "排序优先级: %(priority_number)s" - -msgid "Toggle sorting" -msgstr "正逆序切换" - -msgid "Delete" -msgstr "删除" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"删除 %(object_name)s '%(escaped_object)s' 会导致删除相关的对象,但你的帐号无" -"权删除下列类型的对象:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"要删除 %(object_name)s '%(escaped_object)s', 将要求删除以下受保护的相关对象:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"你确认想要删除 %(object_name)s \"%(escaped_object)s\"? 下列所有相关的项目都" -"将被删除:" - -msgid "Objects" -msgstr "对象" - -msgid "Yes, I’m sure" -msgstr "是的,我确定" - -msgid "No, take me back" -msgstr "不,返回" - -msgid "Delete multiple objects" -msgstr "删除多个对象" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"要删除所选的 %(objects_name)s 结果会删除相关对象, 但你的账户没有权限删除这类" -"对象:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "要删除所选的 %(objects_name)s, 将要求删除以下受保护的相关对象:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"请确认要删除选中的 %(objects_name)s 吗?以下所有对象和余它们相关的条目将都会" -"被删除:" - -msgid "Delete?" -msgstr "删除?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " 以 %(filter_title)s" - -msgid "Summary" -msgstr "概览" - -msgid "Recent actions" -msgstr "最近动作" - -msgid "My actions" -msgstr "我的动作" - -msgid "None available" -msgstr "无可用的" - -msgid "Unknown content" -msgstr "未知内容" - -msgid "" -"Something’s wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"数据库设置有误。请检查所需的数据库表格是否已经创建,以及数据库用户是否具有正" -"确的权限。" - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"您当前以%(username)s登录,但是没有这个页面的访问权限。您想使用另外一个账号登" -"录吗?" - -msgid "Forgotten your password or username?" -msgstr "忘记了您的密码或用户名?" - -msgid "Toggle navigation" -msgstr "切换导航" - -msgid "Date/time" -msgstr "日期/时间" - -msgid "User" -msgstr "用户" - -msgid "Action" -msgstr "动作" - -msgid "" -"This object doesn’t have a change history. It probably wasn’t added via this " -"admin site." -msgstr "此对象没有修改历史。它可能不是通过管理站点添加的。" - -msgid "Show all" -msgstr "显示全部" - -msgid "Save" -msgstr "保存" - -msgid "Popup closing…" -msgstr "弹窗关闭中..." - -msgid "Search" -msgstr "搜索" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s 条结果。" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "总共 %(full_result_count)s" - -msgid "Save as new" -msgstr "保存为新的" - -msgid "Save and add another" -msgstr "保存并增加另一个" - -msgid "Save and continue editing" -msgstr "保存并继续编辑" - -msgid "Save and view" -msgstr "保存并查看" - -msgid "Close" -msgstr "关闭" - -#, python-format -msgid "Change selected %(model)s" -msgstr "更改选中的%(model)s" - -#, python-format -msgid "Add another %(model)s" -msgstr "增加另一个 %(model)s" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "取消选中 %(model)s" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "感谢您今天在本站花费了一些宝贵时间。" - -msgid "Log in again" -msgstr "重新登录" - -msgid "Password change" -msgstr "密码修改" - -msgid "Your password was changed." -msgstr "你的密码已修改。" - -msgid "" -"Please enter your old password, for security’s sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "安全起见请输入你的旧密码。然后输入两次你的新密码以确保输入正确。" - -msgid "Change my password" -msgstr "修改我的密码" - -msgid "Password reset" -msgstr "密码重设" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "你的密码己经设置完成,现在你可以继续进行登录。" - -msgid "Password reset confirmation" -msgstr "密码重设确认" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "请输入两遍新密码,以便我们校验你输入的是否正确。" - -msgid "New password:" -msgstr "新密码:" - -msgid "Confirm password:" -msgstr "确认密码:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "密码重置链接无效,可能是因为它已使用。可以请求一次新的密码重置。" - -msgid "" -"We’ve emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"如果你所输入的电子邮箱存在对应的用户,我们将通过电子邮件向你发送设置密码的操" -"作步骤说明。你应该很快就会收到。" - -msgid "" -"If you don’t receive an email, please make sure you’ve entered the address " -"you registered with, and check your spam folder." -msgstr "" -"如果你没有收到电子邮件,请检查输入的是你注册的电子邮箱地址。另外,也请检查你" -"的垃圾邮件文件夹。" - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "你收到这封邮件是因为你请求重置你在网站 %(site_name)s上的用户账户密码。" - -msgid "Please go to the following page and choose a new password:" -msgstr "请访问该页面并选择一个新密码:" - -msgid "Your username, in case you’ve forgotten:" -msgstr "提醒一下,你的用户名是:" - -msgid "Thanks for using our site!" -msgstr "感谢使用我们的站点!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "%(site_name)s 团队" - -msgid "" -"Forgotten your password? Enter your email address below, and we’ll email " -"instructions for setting a new one." -msgstr "" -"忘记密码?在下面输入你的电子邮箱地址,我们将会把设置新密码的操作步骤说明通过" -"电子邮件发送给你。" - -msgid "Email address:" -msgstr "电子邮件地址:" - -msgid "Reset my password" -msgstr "重设我的密码" - -msgid "All dates" -msgstr "所有日期" - -#, python-format -msgid "Select %s" -msgstr "选择 %s" - -#, python-format -msgid "Select %s to change" -msgstr "选择 %s 来修改" - -#, python-format -msgid "Select %s to view" -msgstr "选择%s查看" - -msgid "Date:" -msgstr "日期:" - -msgid "Time:" -msgstr "时间:" - -msgid "Lookup" -msgstr "查询" - -msgid "Currently:" -msgstr "当前:" - -msgid "Change:" -msgstr "更改:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/zh_Hans/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/zh_Hans/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 14a98bee..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/zh_Hans/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/zh_Hans/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/zh_Hans/LC_MESSAGES/djangojs.po deleted file mode 100644 index 29f868cf..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/zh_Hans/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,221 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Bai HuanCheng , 2018 -# Jannis Leidel , 2011 -# Kewei Ma , 2016 -# Lele Long , 2011,2015 -# Liping Wang , 2016 -# matthew Yip , 2020 -# mozillazg , 2016 -# slene , 2011 -# spaceoi , 2016 -# ced773123cfad7b4e8b79ca80f736af9, 2012 -# Kevin Sze , 2012 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-11 20:56+0200\n" -"PO-Revision-Date: 2020-05-25 06:12+0000\n" -"Last-Translator: matthew Yip \n" -"Language-Team: Chinese (China) (http://www.transifex.com/django/django/" -"language/zh_CN/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#, javascript-format -msgid "Available %s" -msgstr "可用 %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"这是可用的%s列表。你可以在选择框下面进行选择,然后点击两选框之间的“选择”箭" -"头。" - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "在此框中键入以过滤可用的%s列表" - -msgid "Filter" -msgstr "过滤" - -msgid "Choose all" -msgstr "全选" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "点击选择全部%s。" - -msgid "Choose" -msgstr "选择" - -msgid "Remove" -msgstr "删除" - -#, javascript-format -msgid "Chosen %s" -msgstr "选中的 %s" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"这是选中的 %s 的列表。你可以在选择框下面进行选择,然后点击两选框之间的“删" -"除”箭头进行删除。" - -msgid "Remove all" -msgstr "删除全部" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "删除所有已选择的%s。" - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "选中了 %(cnt)s 个中的 %(sel)s 个" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "" -"你尚未保存一个可编辑栏位的变更. 如果你进行别的动作, 未保存的变更将会丢失." - -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 "" -"你已经选择一个动作,但是你没有保存你单独修改的地方。请点击OK保存。你需要再重" -"新跑这个动作。" - -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 "" -"你已经选择一个动作,但是没有单独修改任何一处。你可以选择'Go'按键而不" -"是'Save'按键。" - -msgid "Now" -msgstr "现在" - -msgid "Midnight" -msgstr "午夜" - -msgid "6 a.m." -msgstr "上午6点" - -msgid "Noon" -msgstr "正午" - -msgid "6 p.m." -msgstr "下午6点" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "注意:你比服务器时间超前 %s 个小时。" - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "注意:你比服务器时间滞后 %s 个小时。" - -msgid "Choose a Time" -msgstr "选择一个时间" - -msgid "Choose a time" -msgstr "选择一个时间" - -msgid "Cancel" -msgstr "取消" - -msgid "Today" -msgstr "今天" - -msgid "Choose a Date" -msgstr "选择一个日期" - -msgid "Yesterday" -msgstr "昨天" - -msgid "Tomorrow" -msgstr "明天" - -msgid "January" -msgstr "一月" - -msgid "February" -msgstr "二月" - -msgid "March" -msgstr "三月" - -msgid "April" -msgstr "四月" - -msgid "May" -msgstr "五月" - -msgid "June" -msgstr "六月" - -msgid "July" -msgstr "七月" - -msgid "August" -msgstr "八月" - -msgid "September" -msgstr "九月" - -msgid "October" -msgstr "十月" - -msgid "November" -msgstr "十一月" - -msgid "December" -msgstr "十二月" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "S" - -msgctxt "one letter Monday" -msgid "M" -msgstr "M" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "T" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "W" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "T" - -msgctxt "one letter Friday" -msgid "F" -msgstr "F" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "S" - -msgid "Show" -msgstr "显示" - -msgid "Hide" -msgstr "隐藏" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/zh_Hant/LC_MESSAGES/django.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/zh_Hant/LC_MESSAGES/django.mo deleted file mode 100644 index a96ef9a0..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/zh_Hant/LC_MESSAGES/django.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/zh_Hant/LC_MESSAGES/django.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/zh_Hant/LC_MESSAGES/django.po deleted file mode 100644 index a2a1d9a3..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/zh_Hant/LC_MESSAGES/django.po +++ /dev/null @@ -1,660 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# Chen Chun-Chia , 2015 -# ilay , 2012 -# Jannis Leidel , 2011 -# mail6543210 , 2013-2014 -# ming hsien tzang , 2011 -# tcc , 2011 -# Tzu-ping Chung , 2016-2017 -# Yeh-Yung , 2013 -# Yeh-Yung , 2012 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-19 16:49+0100\n" -"PO-Revision-Date: 2017-09-19 16:40+0000\n" -"Last-Translator: Tzu-ping Chung \n" -"Language-Team: Chinese (Taiwan) (http://www.transifex.com/django/django/" -"language/zh_TW/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_TW\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#, python-format -msgid "Successfully deleted %(count)d %(items)s." -msgstr "成功的刪除了 %(count)d 個 %(items)s." - -#, python-format -msgid "Cannot delete %(name)s" -msgstr "無法刪除 %(name)s" - -msgid "Are you sure?" -msgstr "你確定嗎?" - -#, python-format -msgid "Delete selected %(verbose_name_plural)s" -msgstr "刪除所選的 %(verbose_name_plural)s" - -msgid "Administration" -msgstr "管理" - -msgid "All" -msgstr "全部" - -msgid "Yes" -msgstr "是" - -msgid "No" -msgstr "否" - -msgid "Unknown" -msgstr "未知" - -msgid "Any date" -msgstr "任何日期" - -msgid "Today" -msgstr "今天" - -msgid "Past 7 days" -msgstr "過去 7 天" - -msgid "This month" -msgstr "本月" - -msgid "This year" -msgstr "今年" - -msgid "No date" -msgstr "沒有日期" - -msgid "Has date" -msgstr "有日期" - -#, python-format -msgid "" -"Please enter the correct %(username)s and password for a staff account. Note " -"that both fields may be case-sensitive." -msgstr "請輸入正確的工作人員%(username)s及密碼。請注意兩者皆區分大小寫。" - -msgid "Action:" -msgstr "動作:" - -#, python-format -msgid "Add another %(verbose_name)s" -msgstr "新增其它 %(verbose_name)s" - -msgid "Remove" -msgstr "移除" - -msgid "action time" -msgstr "動作時間" - -msgid "user" -msgstr "使用者" - -msgid "content type" -msgstr "內容類型" - -msgid "object id" -msgstr "物件 id" - -#. Translators: 'repr' means representation -#. (https://docs.python.org/3/library/functions.html#repr) -msgid "object repr" -msgstr "物件 repr" - -msgid "action flag" -msgstr "動作旗標" - -msgid "change message" -msgstr "變更訊息" - -msgid "log entry" -msgstr "紀錄項目" - -msgid "log entries" -msgstr "紀錄項目" - -#, python-format -msgid "Added \"%(object)s\"." -msgstr "\"%(object)s\" 已新增。" - -#, python-format -msgid "Changed \"%(object)s\" - %(changes)s" -msgstr "\"%(object)s\" - %(changes)s 已變更。" - -#, python-format -msgid "Deleted \"%(object)s.\"" -msgstr "\"%(object)s\" 已刪除。" - -msgid "LogEntry Object" -msgstr "紀錄項目" - -#, python-brace-format -msgid "Added {name} \"{object}\"." -msgstr "{name} \"{object}\" 已新增。" - -msgid "Added." -msgstr "已新增。" - -msgid "and" -msgstr "和" - -#, python-brace-format -msgid "Changed {fields} for {name} \"{object}\"." -msgstr "{name} \"{object}\" 的 {fields} 已變更。" - -#, python-brace-format -msgid "Changed {fields}." -msgstr "{fields} 已變更。" - -#, python-brace-format -msgid "Deleted {name} \"{object}\"." -msgstr "{name} \"{object}\" 已刪除。" - -msgid "No fields changed." -msgstr "沒有欄位被變更。" - -msgid "None" -msgstr "無" - -msgid "" -"Hold down \"Control\", or \"Command\" on a Mac, to select more than one." -msgstr "按住 \"Control\" 或 \"Command\" (Mac),可選取多個值" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may edit it again below." -msgstr "{name} \"{obj}\" 新增成功。你可以在下面再次編輯它。" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was added successfully. You may add another {name} " -"below." -msgstr "{name} \"{obj}\" 新增成功。你可以在下方加入其他 {name}。" - -#, python-brace-format -msgid "The {name} \"{obj}\" was added successfully." -msgstr "{name} \"{obj}\" 已成功新增。" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may edit it again below." -msgstr "{name} \"{obj}\" 變更成功。你可以在下方再次編輯。" - -#, python-brace-format -msgid "" -"The {name} \"{obj}\" was changed successfully. You may add another {name} " -"below." -msgstr "{name} \"{obj}\" 變更成功。你可以在下方加入其他 {name}。" - -#, python-brace-format -msgid "The {name} \"{obj}\" was changed successfully." -msgstr "{name} \"{obj}\" 已成功變更。" - -msgid "" -"Items must be selected in order to perform actions on them. No items have " -"been changed." -msgstr "必須要有項目被選到才能對它們進行動作。沒有項目變更。" - -msgid "No action selected." -msgstr "沒有動作被選。" - -#, python-format -msgid "The %(name)s \"%(obj)s\" was deleted successfully." -msgstr "%(name)s \"%(obj)s\" 已成功刪除。" - -#, python-format -msgid "%(name)s with ID \"%(key)s\" doesn't exist. Perhaps it was deleted?" -msgstr "不存在 ID 為「%(key)s」的 %(name)s。或許它已被刪除?" - -#, python-format -msgid "Add %s" -msgstr "新增 %s" - -#, python-format -msgid "Change %s" -msgstr "變更 %s" - -msgid "Database error" -msgstr "資料庫錯誤" - -#, python-format -msgid "%(count)s %(name)s was changed successfully." -msgid_plural "%(count)s %(name)s were changed successfully." -msgstr[0] "共 %(count)s %(name)s 已變更成功。" - -#, python-format -msgid "%(total_count)s selected" -msgid_plural "All %(total_count)s selected" -msgstr[0] "全部 %(total_count)s 個被選" - -#, python-format -msgid "0 of %(cnt)s selected" -msgstr "%(cnt)s 中 0 個被選" - -#, python-format -msgid "Change history: %s" -msgstr "變更歷史: %s" - -#. Translators: Model verbose name and instance representation, -#. suitable to be an item in a list. -#, python-format -msgid "%(class_name)s %(instance)s" -msgstr "%(class_name)s %(instance)s" - -#, python-format -msgid "" -"Deleting %(class_name)s %(instance)s would require deleting the following " -"protected related objects: %(related_objects)s" -msgstr "" -"刪除 %(class_name)s %(instance)s 將會同時刪除下面受保護的相關物件:" -"%(related_objects)s" - -msgid "Django site admin" -msgstr "Django 網站管理" - -msgid "Django administration" -msgstr "Django 管理" - -msgid "Site administration" -msgstr "網站管理" - -msgid "Log in" -msgstr "登入" - -#, python-format -msgid "%(app)s administration" -msgstr "%(app)s 管理" - -msgid "Page not found" -msgstr "頁面沒有找到" - -msgid "We're sorry, but the requested page could not be found." -msgstr "很抱歉,請求頁面無法找到。" - -msgid "Home" -msgstr "首頁" - -msgid "Server error" -msgstr "伺服器錯誤" - -msgid "Server error (500)" -msgstr "伺服器錯誤 (500)" - -msgid "Server Error (500)" -msgstr "伺服器錯誤 (500)" - -msgid "" -"There's been an error. It's been reported to the site administrators via " -"email and should be fixed shortly. Thanks for your patience." -msgstr "" -"存在一個錯誤。已透過電子郵件回報給網站管理員,並且應該很快就會被修正。謝謝你" -"的關心。" - -msgid "Run the selected action" -msgstr "執行選擇的動作" - -msgid "Go" -msgstr "去" - -msgid "Click here to select the objects across all pages" -msgstr "點選這裡可選取全部頁面的物件" - -#, python-format -msgid "Select all %(total_count)s %(module_name)s" -msgstr "選擇全部 %(total_count)s %(module_name)s" - -msgid "Clear selection" -msgstr "清除選擇" - -msgid "" -"First, enter a username and password. Then, you'll be able to edit more user " -"options." -msgstr "首先,輸入一個使用者名稱和密碼。然後你可以編輯更多使用者選項。" - -msgid "Enter a username and password." -msgstr "輸入一個使用者名稱和密碼。" - -msgid "Change password" -msgstr "變更密碼" - -msgid "Please correct the error below." -msgstr "請更正下面的錯誤。" - -msgid "Please correct the errors below." -msgstr "請修正以下錯誤" - -#, python-format -msgid "Enter a new password for the user %(username)s." -msgstr "為使用者%(username)s輸入一個新的密碼。" - -msgid "Welcome," -msgstr "歡迎," - -msgid "View site" -msgstr "檢視網站" - -msgid "Documentation" -msgstr "文件" - -msgid "Log out" -msgstr "登出" - -#, python-format -msgid "Add %(name)s" -msgstr "新增 %(name)s" - -msgid "History" -msgstr "歷史" - -msgid "View on site" -msgstr "在網站上檢視" - -msgid "Filter" -msgstr "過濾器" - -msgid "Remove from sorting" -msgstr "從排序中移除" - -#, python-format -msgid "Sorting priority: %(priority_number)s" -msgstr "優先排序:%(priority_number)s" - -msgid "Toggle sorting" -msgstr "切換排序" - -msgid "Delete" -msgstr "刪除" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would result in deleting " -"related objects, but your account doesn't have permission to delete the " -"following types of objects:" -msgstr "" -"刪除 %(object_name)s '%(escaped_object)s' 會把相關的物件也刪除,不過你的帳號" -"並沒有刪除以下型態物件的權限:" - -#, python-format -msgid "" -"Deleting the %(object_name)s '%(escaped_object)s' would require deleting the " -"following protected related objects:" -msgstr "" -"要刪除 %(object_name)s '%(escaped_object)s', 將要求刪除下面受保護的相關物件:" - -#, python-format -msgid "" -"Are you sure you want to delete the %(object_name)s \"%(escaped_object)s\"? " -"All of the following related items will be deleted:" -msgstr "" -"你確定想要刪除 %(object_name)s \"%(escaped_object)s\"?以下所有的相關項目都會" -"被刪除:" - -msgid "Objects" -msgstr "物件" - -msgid "Yes, I'm sure" -msgstr "是的,我確定" - -msgid "No, take me back" -msgstr "不,請帶我回去" - -msgid "Delete multiple objects" -msgstr "刪除多個物件" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would result in deleting related " -"objects, but your account doesn't have permission to delete the following " -"types of objects:" -msgstr "" -"要刪除所選的 %(objects_name)s, 結果會刪除相關物件, 但你的帳號無權刪除下面物件" -"型態:" - -#, python-format -msgid "" -"Deleting the selected %(objects_name)s would require deleting the following " -"protected related objects:" -msgstr "要刪除所選的 %(objects_name)s, 將要求刪除下面受保護的相關物件:" - -#, python-format -msgid "" -"Are you sure you want to delete the selected %(objects_name)s? All of the " -"following objects and their related items will be deleted:" -msgstr "" -"你是否確定要刪除已選的 %(objects_name)s? 下面全部物件及其相關項目都將被刪除:" - -msgid "Change" -msgstr "變更" - -msgid "Delete?" -msgstr "刪除?" - -#, python-format -msgid " By %(filter_title)s " -msgstr " 以 %(filter_title)s" - -msgid "Summary" -msgstr "總結" - -#, python-format -msgid "Models in the %(name)s application" -msgstr "%(name)s 應用程式中的Model" - -msgid "Add" -msgstr "新增" - -msgid "You don't have permission to edit anything." -msgstr "你沒有編輯任何東西的權限。" - -msgid "Recent actions" -msgstr "最近的動作" - -msgid "My actions" -msgstr "我的動作" - -msgid "None available" -msgstr "無可用的" - -msgid "Unknown content" -msgstr "未知內容" - -msgid "" -"Something's wrong with your database installation. Make sure the appropriate " -"database tables have been created, and make sure the database is readable by " -"the appropriate user." -msgstr "" -"你的資料庫安裝有錯誤。確定資料庫表格已經建立,並確定資料庫可被合適的使用者讀" -"取。" - -#, python-format -msgid "" -"You are authenticated as %(username)s, but are not authorized to access this " -"page. Would you like to login to a different account?" -msgstr "" -"您已認證為 %(username)s,但並沒有瀏覽此頁面的權限。您是否希望以其他帳號登入?" - -msgid "Forgotten your password or username?" -msgstr "忘了你的密碼或是使用者名稱?" - -msgid "Date/time" -msgstr "日期/時間" - -msgid "User" -msgstr "使用者" - -msgid "Action" -msgstr "動作" - -msgid "" -"This object doesn't have a change history. It probably wasn't added via this " -"admin site." -msgstr "這個物件沒有變更的歷史。它可能不是透過這個管理網站新增的。" - -msgid "Show all" -msgstr "顯示全部" - -msgid "Save" -msgstr "儲存" - -msgid "Popup closing..." -msgstr "關閉彈出視窗中⋯⋯" - -#, python-format -msgid "Change selected %(model)s" -msgstr "變更所選的 %(model)s" - -#, python-format -msgid "Add another %(model)s" -msgstr "新增其它 %(model)s" - -#, python-format -msgid "Delete selected %(model)s" -msgstr "刪除所選的 %(model)s" - -msgid "Search" -msgstr "搜尋" - -#, python-format -msgid "%(counter)s result" -msgid_plural "%(counter)s results" -msgstr[0] "%(counter)s 結果" - -#, python-format -msgid "%(full_result_count)s total" -msgstr "總共 %(full_result_count)s" - -msgid "Save as new" -msgstr "儲存為新的" - -msgid "Save and add another" -msgstr "儲存並新增另一個" - -msgid "Save and continue editing" -msgstr "儲存並繼續編輯" - -msgid "Thanks for spending some quality time with the Web site today." -msgstr "感謝你今天花了重要的時間停留在本網站。" - -msgid "Log in again" -msgstr "重新登入" - -msgid "Password change" -msgstr "密碼變更" - -msgid "Your password was changed." -msgstr "你的密碼已變更。" - -msgid "" -"Please enter your old password, for security's sake, and then enter your new " -"password twice so we can verify you typed it in correctly." -msgstr "" -"為了安全上的考量,請輸入你的舊密碼,再輸入新密碼兩次,讓我們核驗你已正確地輸" -"入。" - -msgid "Change my password" -msgstr "變更我的密碼" - -msgid "Password reset" -msgstr "密碼重設" - -msgid "Your password has been set. You may go ahead and log in now." -msgstr "你的密碼已設置,現在可以繼續登入。" - -msgid "Password reset confirmation" -msgstr "密碼重設確認" - -msgid "" -"Please enter your new password twice so we can verify you typed it in " -"correctly." -msgstr "請輸入你的新密碼兩次, 這樣我們才能檢查你的輸入是否正確。" - -msgid "New password:" -msgstr "新密碼:" - -msgid "Confirm password:" -msgstr "確認密碼:" - -msgid "" -"The password reset link was invalid, possibly because it has already been " -"used. Please request a new password reset." -msgstr "密碼重設連結無效,可能因為他已使用。請重新請求密碼重設。" - -msgid "" -"We've emailed you instructions for setting your password, if an account " -"exists with the email you entered. You should receive them shortly." -msgstr "" -"若您提交的電子郵件地址存在對應帳號,我們已寄出重設密碼的相關指示。您應該很快" -"就會收到。" - -msgid "" -"If you don't receive an email, please make sure you've entered the address " -"you registered with, and check your spam folder." -msgstr "" -"如果您未收到電子郵件,請確認您輸入的電子郵件地址與您註冊時輸入的一致,並檢查" -"您的垃圾郵件匣。" - -#, python-format -msgid "" -"You're receiving this email because you requested a password reset for your " -"user account at %(site_name)s." -msgstr "這封電子郵件來自 %(site_name)s,因為你要求為帳號重新設定密碼。" - -msgid "Please go to the following page and choose a new password:" -msgstr "請到該頁面選擇一個新的密碼:" - -msgid "Your username, in case you've forgotten:" -msgstr "你的使用者名稱,萬一你已經忘記的話:" - -msgid "Thanks for using our site!" -msgstr "感謝使用本網站!" - -#, python-format -msgid "The %(site_name)s team" -msgstr "%(site_name)s 團隊" - -msgid "" -"Forgotten your password? Enter your email address below, and we'll email " -"instructions for setting a new one." -msgstr "" -"忘記你的密碼? 請在下面輸入你的電子郵件位址, 然後我們會寄出設定新密碼的操作指" -"示。" - -msgid "Email address:" -msgstr "電子信箱:" - -msgid "Reset my password" -msgstr "重設我的密碼" - -msgid "All dates" -msgstr "所有日期" - -#, python-format -msgid "Select %s" -msgstr "選擇 %s" - -#, python-format -msgid "Select %s to change" -msgstr "選擇 %s 來變更" - -msgid "Date:" -msgstr "日期" - -msgid "Time:" -msgstr "時間" - -msgid "Lookup" -msgstr "查詢" - -msgid "Currently:" -msgstr "目前:" - -msgid "Change:" -msgstr "變動:" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/zh_Hant/LC_MESSAGES/djangojs.mo b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/zh_Hant/LC_MESSAGES/djangojs.mo deleted file mode 100644 index 9368f692..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/zh_Hant/LC_MESSAGES/djangojs.mo and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/zh_Hant/LC_MESSAGES/djangojs.po b/venv/lib/python3.8/site-packages/django/contrib/admin/locale/zh_Hant/LC_MESSAGES/djangojs.po deleted file mode 100644 index 48739ec0..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/locale/zh_Hant/LC_MESSAGES/djangojs.po +++ /dev/null @@ -1,213 +0,0 @@ -# This file is distributed under the same license as the Django package. -# -# Translators: -# ilay , 2012 -# mail6543210 , 2013 -# tcc , 2011 -# Tzu-ping Chung , 2016 -# Yeh-Yung , 2012 -msgid "" -msgstr "" -"Project-Id-Version: django\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-17 23:12+0200\n" -"PO-Revision-Date: 2017-09-19 16:41+0000\n" -"Last-Translator: Tzu-ping Chung \n" -"Language-Team: Chinese (Taiwan) (http://www.transifex.com/django/django/" -"language/zh_TW/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_TW\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#, javascript-format -msgid "Available %s" -msgstr "可用 %s" - -#, javascript-format -msgid "" -"This is the list of available %s. You may choose some by selecting them in " -"the box below and then clicking the \"Choose\" arrow between the two boxes." -msgstr "" -"可用的 %s 列表。你可以在下方的方框內選擇後,點擊兩個方框中的\"選取\"箭頭以選" -"取。" - -#, javascript-format -msgid "Type into this box to filter down the list of available %s." -msgstr "輸入到這個方框以過濾可用的 %s 列表。" - -msgid "Filter" -msgstr "過濾器" - -msgid "Choose all" -msgstr "全選" - -#, javascript-format -msgid "Click to choose all %s at once." -msgstr "點擊以一次選取所有的 %s" - -msgid "Choose" -msgstr "選取" - -msgid "Remove" -msgstr "移除" - -#, javascript-format -msgid "Chosen %s" -msgstr "%s 被選" - -#, javascript-format -msgid "" -"This is the list of chosen %s. You may remove some by selecting them in the " -"box below and then clicking the \"Remove\" arrow between the two boxes." -msgstr "" -"選取的 %s 列表。你可以在下方的方框內選擇後,點擊兩個方框中的\"移除\"箭頭以移" -"除。" - -msgid "Remove all" -msgstr "全部移除" - -#, javascript-format -msgid "Click to remove all chosen %s at once." -msgstr "點擊以一次移除所有選取的 %s" - -msgid "%(sel)s of %(cnt)s selected" -msgid_plural "%(sel)s of %(cnt)s selected" -msgstr[0] "%(cnt)s 中 %(sel)s 個被選" - -msgid "" -"You have unsaved changes on individual editable fields. If you run an " -"action, your unsaved changes will be lost." -msgstr "你尚未儲存一個可編輯欄位的變更。如果你執行動作, 未儲存的變更將會遺失。" - -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 "" -"你已選了一個動作, 但有一個可編輯欄位的變更尚未儲存。請點選 OK 進行儲存。你需" -"要重新執行該動作。" - -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 "" -"你已選了一個動作, 但沒有任何改變。你可能動到 '去' 按鈕, 而不是 '儲存' 按鈕。" - -#, javascript-format -msgid "Note: You are %s hour ahead of server time." -msgid_plural "Note: You are %s hours ahead of server time." -msgstr[0] "備註:您的電腦時間比伺服器快 %s 小時。" - -#, javascript-format -msgid "Note: You are %s hour behind server time." -msgid_plural "Note: You are %s hours behind server time." -msgstr[0] "備註:您的電腦時間比伺服器慢 %s 小時。" - -msgid "Now" -msgstr "現在" - -msgid "Choose a Time" -msgstr "選擇一個時間" - -msgid "Choose a time" -msgstr "選擇一個時間" - -msgid "Midnight" -msgstr "午夜" - -msgid "6 a.m." -msgstr "上午 6 點" - -msgid "Noon" -msgstr "中午" - -msgid "6 p.m." -msgstr "下午 6 點" - -msgid "Cancel" -msgstr "取消" - -msgid "Today" -msgstr "今天" - -msgid "Choose a Date" -msgstr "選擇一個日期" - -msgid "Yesterday" -msgstr "昨天" - -msgid "Tomorrow" -msgstr "明天" - -msgid "January" -msgstr "一月" - -msgid "February" -msgstr "二月" - -msgid "March" -msgstr "三月" - -msgid "April" -msgstr "四月" - -msgid "May" -msgstr "五月" - -msgid "June" -msgstr "六月" - -msgid "July" -msgstr "七月" - -msgid "August" -msgstr "八月" - -msgid "September" -msgstr "九月" - -msgid "October" -msgstr "十月" - -msgid "November" -msgstr "十一月" - -msgid "December" -msgstr "十二月" - -msgctxt "one letter Sunday" -msgid "S" -msgstr "日" - -msgctxt "one letter Monday" -msgid "M" -msgstr "一" - -msgctxt "one letter Tuesday" -msgid "T" -msgstr "二" - -msgctxt "one letter Wednesday" -msgid "W" -msgstr "三" - -msgctxt "one letter Thursday" -msgid "T" -msgstr "四" - -msgctxt "one letter Friday" -msgid "F" -msgstr "五" - -msgctxt "one letter Saturday" -msgid "S" -msgstr "六" - -msgid "Show" -msgstr "顯示" - -msgid "Hide" -msgstr "隱藏" diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/migrations/0001_initial.py b/venv/lib/python3.8/site-packages/django/contrib/admin/migrations/0001_initial.py deleted file mode 100644 index 78cd7a71..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/migrations/0001_initial.py +++ /dev/null @@ -1,47 +0,0 @@ -import django.contrib.admin.models -from django.conf import settings -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ('contenttypes', '__first__'), - ] - - operations = [ - migrations.CreateModel( - name='LogEntry', - fields=[ - ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), - ('action_time', models.DateTimeField(auto_now=True, verbose_name='action time')), - ('object_id', models.TextField(null=True, verbose_name='object id', blank=True)), - ('object_repr', models.CharField(max_length=200, verbose_name='object repr')), - ('action_flag', models.PositiveSmallIntegerField(verbose_name='action flag')), - ('change_message', models.TextField(verbose_name='change message', blank=True)), - ('content_type', models.ForeignKey( - to_field='id', - on_delete=models.SET_NULL, - blank=True, null=True, - to='contenttypes.ContentType', - verbose_name='content type', - )), - ('user', models.ForeignKey( - to=settings.AUTH_USER_MODEL, - on_delete=models.CASCADE, - verbose_name='user', - )), - ], - options={ - 'ordering': ['-action_time'], - 'db_table': 'django_admin_log', - 'verbose_name': 'log entry', - 'verbose_name_plural': 'log entries', - }, - bases=(models.Model,), - managers=[ - ('objects', django.contrib.admin.models.LogEntryManager()), - ], - ), - ] diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/migrations/0002_logentry_remove_auto_add.py b/venv/lib/python3.8/site-packages/django/contrib/admin/migrations/0002_logentry_remove_auto_add.py deleted file mode 100644 index a2b19162..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/migrations/0002_logentry_remove_auto_add.py +++ /dev/null @@ -1,22 +0,0 @@ -from django.db import migrations, models -from django.utils import timezone - - -class Migration(migrations.Migration): - - dependencies = [ - ('admin', '0001_initial'), - ] - - # No database changes; removes auto_add and adds default/editable. - operations = [ - migrations.AlterField( - model_name='logentry', - name='action_time', - field=models.DateTimeField( - verbose_name='action time', - default=timezone.now, - editable=False, - ), - ), - ] diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/migrations/0003_logentry_add_action_flag_choices.py b/venv/lib/python3.8/site-packages/django/contrib/admin/migrations/0003_logentry_add_action_flag_choices.py deleted file mode 100644 index a041a9de..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/migrations/0003_logentry_add_action_flag_choices.py +++ /dev/null @@ -1,20 +0,0 @@ -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('admin', '0002_logentry_remove_auto_add'), - ] - - # No database changes; adds choices to action_flag. - operations = [ - migrations.AlterField( - model_name='logentry', - name='action_flag', - field=models.PositiveSmallIntegerField( - choices=[(1, 'Addition'), (2, 'Change'), (3, 'Deletion')], - verbose_name='action flag', - ), - ), - ] diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/migrations/__init__.py b/venv/lib/python3.8/site-packages/django/contrib/admin/migrations/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/migrations/__pycache__/0001_initial.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/contrib/admin/migrations/__pycache__/0001_initial.cpython-38.pyc deleted file mode 100644 index 4a01a070..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/migrations/__pycache__/0001_initial.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/migrations/__pycache__/0002_logentry_remove_auto_add.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/contrib/admin/migrations/__pycache__/0002_logentry_remove_auto_add.cpython-38.pyc deleted file mode 100644 index 8a81cef2..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/migrations/__pycache__/0002_logentry_remove_auto_add.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/migrations/__pycache__/0003_logentry_add_action_flag_choices.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/contrib/admin/migrations/__pycache__/0003_logentry_add_action_flag_choices.cpython-38.pyc deleted file mode 100644 index 5c1f34b4..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/migrations/__pycache__/0003_logentry_add_action_flag_choices.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/migrations/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/contrib/admin/migrations/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index dd583aa3..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/migrations/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/models.py b/venv/lib/python3.8/site-packages/django/contrib/admin/models.py deleted file mode 100644 index a0fbb02a..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/models.py +++ /dev/null @@ -1,150 +0,0 @@ -import json - -from django.conf import settings -from django.contrib.admin.utils import quote -from django.contrib.contenttypes.models import ContentType -from django.db import models -from django.urls import NoReverseMatch, reverse -from django.utils import timezone -from django.utils.text import get_text_list -from django.utils.translation import gettext, gettext_lazy as _ - -ADDITION = 1 -CHANGE = 2 -DELETION = 3 - -ACTION_FLAG_CHOICES = ( - (ADDITION, _('Addition')), - (CHANGE, _('Change')), - (DELETION, _('Deletion')), -) - - -class LogEntryManager(models.Manager): - use_in_migrations = True - - def log_action(self, user_id, content_type_id, object_id, object_repr, action_flag, change_message=''): - if isinstance(change_message, list): - change_message = json.dumps(change_message) - return self.model.objects.create( - user_id=user_id, - content_type_id=content_type_id, - object_id=str(object_id), - object_repr=object_repr[:200], - action_flag=action_flag, - change_message=change_message, - ) - - -class LogEntry(models.Model): - action_time = models.DateTimeField( - _('action time'), - default=timezone.now, - editable=False, - ) - user = models.ForeignKey( - settings.AUTH_USER_MODEL, - models.CASCADE, - verbose_name=_('user'), - ) - content_type = models.ForeignKey( - ContentType, - models.SET_NULL, - verbose_name=_('content type'), - blank=True, null=True, - ) - object_id = models.TextField(_('object id'), blank=True, null=True) - # Translators: 'repr' means representation (https://docs.python.org/library/functions.html#repr) - object_repr = models.CharField(_('object repr'), max_length=200) - action_flag = models.PositiveSmallIntegerField(_('action flag'), choices=ACTION_FLAG_CHOICES) - # change_message is either a string or a JSON structure - change_message = models.TextField(_('change message'), blank=True) - - objects = LogEntryManager() - - class Meta: - verbose_name = _('log entry') - verbose_name_plural = _('log entries') - db_table = 'django_admin_log' - ordering = ['-action_time'] - - def __repr__(self): - return str(self.action_time) - - def __str__(self): - if self.is_addition(): - return gettext('Added “%(object)s”.') % {'object': self.object_repr} - elif self.is_change(): - return gettext('Changed “%(object)s” — %(changes)s') % { - 'object': self.object_repr, - 'changes': self.get_change_message(), - } - elif self.is_deletion(): - return gettext('Deleted “%(object)s.”') % {'object': self.object_repr} - - return gettext('LogEntry Object') - - def is_addition(self): - return self.action_flag == ADDITION - - def is_change(self): - return self.action_flag == CHANGE - - def is_deletion(self): - return self.action_flag == DELETION - - def get_change_message(self): - """ - If self.change_message is a JSON structure, interpret it as a change - string, properly translated. - """ - if self.change_message and self.change_message[0] == '[': - try: - change_message = json.loads(self.change_message) - except json.JSONDecodeError: - return self.change_message - messages = [] - for sub_message in change_message: - if 'added' in sub_message: - if sub_message['added']: - sub_message['added']['name'] = gettext(sub_message['added']['name']) - messages.append(gettext('Added {name} “{object}”.').format(**sub_message['added'])) - else: - messages.append(gettext('Added.')) - - elif 'changed' in sub_message: - sub_message['changed']['fields'] = get_text_list( - [gettext(field_name) for field_name in sub_message['changed']['fields']], gettext('and') - ) - if 'name' in sub_message['changed']: - sub_message['changed']['name'] = gettext(sub_message['changed']['name']) - messages.append(gettext('Changed {fields} for {name} “{object}”.').format( - **sub_message['changed'] - )) - else: - messages.append(gettext('Changed {fields}.').format(**sub_message['changed'])) - - elif 'deleted' in sub_message: - sub_message['deleted']['name'] = gettext(sub_message['deleted']['name']) - messages.append(gettext('Deleted {name} “{object}”.').format(**sub_message['deleted'])) - - change_message = ' '.join(msg[0].upper() + msg[1:] for msg in messages) - return change_message or gettext('No fields changed.') - else: - return self.change_message - - def get_edited_object(self): - """Return the edited object represented by this log entry.""" - return self.content_type.get_object_for_this_type(pk=self.object_id) - - def get_admin_url(self): - """ - Return the admin URL to edit the object represented by this log entry. - """ - if self.content_type and self.object_id: - url_name = 'admin:%s_%s_change' % (self.content_type.app_label, self.content_type.model) - try: - return reverse(url_name, args=(quote(self.object_id),)) - except NoReverseMatch: - pass - return None diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/options.py b/venv/lib/python3.8/site-packages/django/contrib/admin/options.py deleted file mode 100644 index f02a1701..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/options.py +++ /dev/null @@ -1,2198 +0,0 @@ -import copy -import json -import operator -import re -from functools import partial, reduce, update_wrapper -from urllib.parse import quote as urlquote - -from django import forms -from django.conf import settings -from django.contrib import messages -from django.contrib.admin import helpers, widgets -from django.contrib.admin.checks import ( - BaseModelAdminChecks, InlineModelAdminChecks, ModelAdminChecks, -) -from django.contrib.admin.exceptions import DisallowedModelAdminToField -from django.contrib.admin.templatetags.admin_urls import add_preserved_filters -from django.contrib.admin.utils import ( - NestedObjects, construct_change_message, flatten_fieldsets, - get_deleted_objects, lookup_needs_distinct, model_format_dict, - model_ngettext, quote, unquote, -) -from django.contrib.admin.views.autocomplete import AutocompleteJsonView -from django.contrib.admin.widgets import ( - AutocompleteSelect, AutocompleteSelectMultiple, -) -from django.contrib.auth import get_permission_codename -from django.core.exceptions import ( - FieldDoesNotExist, FieldError, PermissionDenied, ValidationError, -) -from django.core.paginator import Paginator -from django.db import models, router, transaction -from django.db.models.constants import LOOKUP_SEP -from django.forms.formsets import DELETION_FIELD_NAME, all_valid -from django.forms.models import ( - BaseInlineFormSet, inlineformset_factory, modelform_defines_fields, - modelform_factory, modelformset_factory, -) -from django.forms.widgets import CheckboxSelectMultiple, SelectMultiple -from django.http import HttpResponseRedirect -from django.http.response import HttpResponseBase -from django.template.response import SimpleTemplateResponse, TemplateResponse -from django.urls import reverse -from django.utils.decorators import method_decorator -from django.utils.html import format_html -from django.utils.http import urlencode -from django.utils.safestring import mark_safe -from django.utils.text import capfirst, format_lazy, get_text_list -from django.utils.translation import gettext as _, ngettext -from django.views.decorators.csrf import csrf_protect -from django.views.generic import RedirectView - -IS_POPUP_VAR = '_popup' -TO_FIELD_VAR = '_to_field' - - -HORIZONTAL, VERTICAL = 1, 2 - - -def get_content_type_for_model(obj): - # Since this module gets imported in the application's root package, - # it cannot import models from other applications at the module level. - from django.contrib.contenttypes.models import ContentType - return ContentType.objects.get_for_model(obj, for_concrete_model=False) - - -def get_ul_class(radio_style): - return 'radiolist' if radio_style == VERTICAL else 'radiolist inline' - - -class IncorrectLookupParameters(Exception): - pass - - -# Defaults for formfield_overrides. ModelAdmin subclasses can change this -# by adding to ModelAdmin.formfield_overrides. - -FORMFIELD_FOR_DBFIELD_DEFAULTS = { - models.DateTimeField: { - 'form_class': forms.SplitDateTimeField, - 'widget': widgets.AdminSplitDateTime - }, - models.DateField: {'widget': widgets.AdminDateWidget}, - models.TimeField: {'widget': widgets.AdminTimeWidget}, - models.TextField: {'widget': widgets.AdminTextareaWidget}, - models.URLField: {'widget': widgets.AdminURLFieldWidget}, - models.IntegerField: {'widget': widgets.AdminIntegerFieldWidget}, - models.BigIntegerField: {'widget': widgets.AdminBigIntegerFieldWidget}, - models.CharField: {'widget': widgets.AdminTextInputWidget}, - models.ImageField: {'widget': widgets.AdminFileWidget}, - models.FileField: {'widget': widgets.AdminFileWidget}, - models.EmailField: {'widget': widgets.AdminEmailInputWidget}, - models.UUIDField: {'widget': widgets.AdminUUIDInputWidget}, -} - -csrf_protect_m = method_decorator(csrf_protect) - - -class BaseModelAdmin(metaclass=forms.MediaDefiningClass): - """Functionality common to both ModelAdmin and InlineAdmin.""" - - autocomplete_fields = () - raw_id_fields = () - fields = None - exclude = None - fieldsets = None - form = forms.ModelForm - filter_vertical = () - filter_horizontal = () - radio_fields = {} - prepopulated_fields = {} - formfield_overrides = {} - readonly_fields = () - ordering = None - sortable_by = None - view_on_site = True - show_full_result_count = True - checks_class = BaseModelAdminChecks - - def check(self, **kwargs): - return self.checks_class().check(self, **kwargs) - - def __init__(self): - # Merge FORMFIELD_FOR_DBFIELD_DEFAULTS with the formfield_overrides - # rather than simply overwriting. - overrides = copy.deepcopy(FORMFIELD_FOR_DBFIELD_DEFAULTS) - for k, v in self.formfield_overrides.items(): - overrides.setdefault(k, {}).update(v) - self.formfield_overrides = overrides - - def formfield_for_dbfield(self, db_field, request, **kwargs): - """ - Hook for specifying the form Field instance for a given database Field - instance. - - If kwargs are given, they're passed to the form Field's constructor. - """ - # If the field specifies choices, we don't need to look for special - # admin widgets - we just need to use a select widget of some kind. - if db_field.choices: - return self.formfield_for_choice_field(db_field, request, **kwargs) - - # ForeignKey or ManyToManyFields - if isinstance(db_field, (models.ForeignKey, models.ManyToManyField)): - # Combine the field kwargs with any options for formfield_overrides. - # Make sure the passed in **kwargs override anything in - # formfield_overrides because **kwargs is more specific, and should - # always win. - if db_field.__class__ in self.formfield_overrides: - kwargs = {**self.formfield_overrides[db_field.__class__], **kwargs} - - # Get the correct formfield. - if isinstance(db_field, models.ForeignKey): - formfield = self.formfield_for_foreignkey(db_field, request, **kwargs) - elif isinstance(db_field, models.ManyToManyField): - formfield = self.formfield_for_manytomany(db_field, request, **kwargs) - - # For non-raw_id fields, wrap the widget with a wrapper that adds - # extra HTML -- the "add other" interface -- to the end of the - # rendered output. formfield can be None if it came from a - # OneToOneField with parent_link=True or a M2M intermediary. - if formfield and db_field.name not in self.raw_id_fields: - related_modeladmin = self.admin_site._registry.get(db_field.remote_field.model) - wrapper_kwargs = {} - if related_modeladmin: - wrapper_kwargs.update( - can_add_related=related_modeladmin.has_add_permission(request), - can_change_related=related_modeladmin.has_change_permission(request), - can_delete_related=related_modeladmin.has_delete_permission(request), - can_view_related=related_modeladmin.has_view_permission(request), - ) - formfield.widget = widgets.RelatedFieldWidgetWrapper( - formfield.widget, db_field.remote_field, self.admin_site, **wrapper_kwargs - ) - - return formfield - - # If we've got overrides for the formfield defined, use 'em. **kwargs - # passed to formfield_for_dbfield override the defaults. - for klass in db_field.__class__.mro(): - if klass in self.formfield_overrides: - kwargs = {**copy.deepcopy(self.formfield_overrides[klass]), **kwargs} - return db_field.formfield(**kwargs) - - # For any other type of field, just call its formfield() method. - return db_field.formfield(**kwargs) - - def formfield_for_choice_field(self, db_field, request, **kwargs): - """ - Get a form Field for a database Field that has declared choices. - """ - # If the field is named as a radio_field, use a RadioSelect - if db_field.name in self.radio_fields: - # Avoid stomping on custom widget/choices arguments. - if 'widget' not in kwargs: - kwargs['widget'] = widgets.AdminRadioSelect(attrs={ - 'class': get_ul_class(self.radio_fields[db_field.name]), - }) - if 'choices' not in kwargs: - kwargs['choices'] = db_field.get_choices( - include_blank=db_field.blank, - blank_choice=[('', _('None'))] - ) - return db_field.formfield(**kwargs) - - def get_field_queryset(self, db, db_field, request): - """ - If the ModelAdmin specifies ordering, the queryset should respect that - ordering. Otherwise don't specify the queryset, let the field decide - (return None in that case). - """ - related_admin = self.admin_site._registry.get(db_field.remote_field.model) - if related_admin is not None: - ordering = related_admin.get_ordering(request) - if ordering is not None and ordering != (): - return db_field.remote_field.model._default_manager.using(db).order_by(*ordering) - return None - - def formfield_for_foreignkey(self, db_field, request, **kwargs): - """ - Get a form Field for a ForeignKey. - """ - db = kwargs.get('using') - - if 'widget' not in kwargs: - if db_field.name in self.get_autocomplete_fields(request): - kwargs['widget'] = AutocompleteSelect(db_field.remote_field, self.admin_site, using=db) - elif db_field.name in self.raw_id_fields: - kwargs['widget'] = widgets.ForeignKeyRawIdWidget(db_field.remote_field, self.admin_site, using=db) - elif db_field.name in self.radio_fields: - kwargs['widget'] = widgets.AdminRadioSelect(attrs={ - 'class': get_ul_class(self.radio_fields[db_field.name]), - }) - kwargs['empty_label'] = _('None') if db_field.blank else None - - if 'queryset' not in kwargs: - queryset = self.get_field_queryset(db, db_field, request) - if queryset is not None: - kwargs['queryset'] = queryset - - return db_field.formfield(**kwargs) - - def formfield_for_manytomany(self, db_field, request, **kwargs): - """ - Get a form Field for a ManyToManyField. - """ - # If it uses an intermediary model that isn't auto created, don't show - # a field in admin. - if not db_field.remote_field.through._meta.auto_created: - return None - db = kwargs.get('using') - - if 'widget' not in kwargs: - autocomplete_fields = self.get_autocomplete_fields(request) - if db_field.name in autocomplete_fields: - kwargs['widget'] = AutocompleteSelectMultiple( - db_field.remote_field, - self.admin_site, - using=db, - ) - elif db_field.name in self.raw_id_fields: - kwargs['widget'] = widgets.ManyToManyRawIdWidget( - db_field.remote_field, - self.admin_site, - using=db, - ) - elif db_field.name in [*self.filter_vertical, *self.filter_horizontal]: - kwargs['widget'] = widgets.FilteredSelectMultiple( - db_field.verbose_name, - db_field.name in self.filter_vertical - ) - if 'queryset' not in kwargs: - queryset = self.get_field_queryset(db, db_field, request) - if queryset is not None: - kwargs['queryset'] = queryset - - form_field = db_field.formfield(**kwargs) - if (isinstance(form_field.widget, SelectMultiple) and - not isinstance(form_field.widget, (CheckboxSelectMultiple, AutocompleteSelectMultiple))): - msg = _('Hold down “Control”, or “Command” on a Mac, to select more than one.') - help_text = form_field.help_text - form_field.help_text = format_lazy('{} {}', help_text, msg) if help_text else msg - return form_field - - def get_autocomplete_fields(self, request): - """ - Return a list of ForeignKey and/or ManyToMany fields which should use - an autocomplete widget. - """ - return self.autocomplete_fields - - def get_view_on_site_url(self, obj=None): - if obj is None or not self.view_on_site: - return None - - if callable(self.view_on_site): - return self.view_on_site(obj) - elif self.view_on_site and hasattr(obj, 'get_absolute_url'): - # use the ContentType lookup if view_on_site is True - return reverse('admin:view_on_site', kwargs={ - 'content_type_id': get_content_type_for_model(obj).pk, - 'object_id': obj.pk - }) - - def get_empty_value_display(self): - """ - Return the empty_value_display set on ModelAdmin or AdminSite. - """ - try: - return mark_safe(self.empty_value_display) - except AttributeError: - return mark_safe(self.admin_site.empty_value_display) - - def get_exclude(self, request, obj=None): - """ - Hook for specifying exclude. - """ - return self.exclude - - def get_fields(self, request, obj=None): - """ - Hook for specifying fields. - """ - if self.fields: - return self.fields - # _get_form_for_get_fields() is implemented in subclasses. - form = self._get_form_for_get_fields(request, obj) - return [*form.base_fields, *self.get_readonly_fields(request, obj)] - - def get_fieldsets(self, request, obj=None): - """ - Hook for specifying fieldsets. - """ - if self.fieldsets: - return self.fieldsets - return [(None, {'fields': self.get_fields(request, obj)})] - - def get_inlines(self, request, obj): - """Hook for specifying custom inlines.""" - return self.inlines - - def get_ordering(self, request): - """ - Hook for specifying field ordering. - """ - return self.ordering or () # otherwise we might try to *None, which is bad ;) - - def get_readonly_fields(self, request, obj=None): - """ - Hook for specifying custom readonly fields. - """ - return self.readonly_fields - - def get_prepopulated_fields(self, request, obj=None): - """ - Hook for specifying custom prepopulated fields. - """ - return self.prepopulated_fields - - def get_queryset(self, request): - """ - Return a QuerySet of all model instances that can be edited by the - admin site. This is used by changelist_view. - """ - qs = self.model._default_manager.get_queryset() - # TODO: this should be handled by some parameter to the ChangeList. - ordering = self.get_ordering(request) - if ordering: - qs = qs.order_by(*ordering) - return qs - - def get_sortable_by(self, request): - """Hook for specifying which fields can be sorted in the changelist.""" - return self.sortable_by if self.sortable_by is not None else self.get_list_display(request) - - def lookup_allowed(self, lookup, value): - from django.contrib.admin.filters import SimpleListFilter - - model = self.model - # Check FKey lookups that are allowed, so that popups produced by - # ForeignKeyRawIdWidget, on the basis of ForeignKey.limit_choices_to, - # are allowed to work. - for fk_lookup in model._meta.related_fkey_lookups: - # As ``limit_choices_to`` can be a callable, invoke it here. - if callable(fk_lookup): - fk_lookup = fk_lookup() - if (lookup, value) in widgets.url_params_from_lookup_dict(fk_lookup).items(): - return True - - relation_parts = [] - prev_field = None - for part in lookup.split(LOOKUP_SEP): - try: - field = model._meta.get_field(part) - except FieldDoesNotExist: - # Lookups on nonexistent fields are ok, since they're ignored - # later. - break - # It is allowed to filter on values that would be found from local - # model anyways. For example, if you filter on employee__department__id, - # then the id value would be found already from employee__department_id. - if not prev_field or (prev_field.is_relation and - field not in prev_field.get_path_info()[-1].target_fields): - relation_parts.append(part) - if not getattr(field, 'get_path_info', None): - # This is not a relational field, so further parts - # must be transforms. - break - prev_field = field - model = field.get_path_info()[-1].to_opts.model - - if len(relation_parts) <= 1: - # Either a local field filter, or no fields at all. - return True - valid_lookups = {self.date_hierarchy} - for filter_item in self.list_filter: - if isinstance(filter_item, type) and issubclass(filter_item, SimpleListFilter): - valid_lookups.add(filter_item.parameter_name) - elif isinstance(filter_item, (list, tuple)): - valid_lookups.add(filter_item[0]) - else: - valid_lookups.add(filter_item) - - # Is it a valid relational lookup? - return not { - LOOKUP_SEP.join(relation_parts), - LOOKUP_SEP.join(relation_parts + [part]) - }.isdisjoint(valid_lookups) - - def to_field_allowed(self, request, to_field): - """ - Return True if the model associated with this admin should be - allowed to be referenced by the specified field. - """ - opts = self.model._meta - - try: - field = opts.get_field(to_field) - except FieldDoesNotExist: - return False - - # Always allow referencing the primary key since it's already possible - # to get this information from the change view URL. - if field.primary_key: - return True - - # Allow reverse relationships to models defining m2m fields if they - # target the specified field. - for many_to_many in opts.many_to_many: - if many_to_many.m2m_target_field_name() == to_field: - return True - - # Make sure at least one of the models registered for this site - # references this field through a FK or a M2M relationship. - registered_models = set() - for model, admin in self.admin_site._registry.items(): - registered_models.add(model) - for inline in admin.inlines: - registered_models.add(inline.model) - - related_objects = ( - f for f in opts.get_fields(include_hidden=True) - if (f.auto_created and not f.concrete) - ) - for related_object in related_objects: - related_model = related_object.related_model - remote_field = related_object.field.remote_field - if (any(issubclass(model, related_model) for model in registered_models) and - hasattr(remote_field, 'get_related_field') and - remote_field.get_related_field() == field): - return True - - return False - - def has_add_permission(self, request): - """ - Return True if the given request has permission to add an object. - Can be overridden by the user in subclasses. - """ - opts = self.opts - codename = get_permission_codename('add', opts) - return request.user.has_perm("%s.%s" % (opts.app_label, codename)) - - def has_change_permission(self, request, obj=None): - """ - Return True if the given request has permission to change the given - Django model instance, the default implementation doesn't examine the - `obj` parameter. - - Can be overridden by the user in subclasses. In such case it should - return True if the given request has permission to change the `obj` - model instance. If `obj` is None, this should return True if the given - request has permission to change *any* object of the given type. - """ - opts = self.opts - codename = get_permission_codename('change', opts) - return request.user.has_perm("%s.%s" % (opts.app_label, codename)) - - def has_delete_permission(self, request, obj=None): - """ - Return True if the given request has permission to change the given - Django model instance, the default implementation doesn't examine the - `obj` parameter. - - Can be overridden by the user in subclasses. In such case it should - return True if the given request has permission to delete the `obj` - model instance. If `obj` is None, this should return True if the given - request has permission to delete *any* object of the given type. - """ - opts = self.opts - codename = get_permission_codename('delete', opts) - return request.user.has_perm("%s.%s" % (opts.app_label, codename)) - - def has_view_permission(self, request, obj=None): - """ - Return True if the given request has permission to view the given - Django model instance. The default implementation doesn't examine the - `obj` parameter. - - If overridden by the user in subclasses, it should return True if the - given request has permission to view the `obj` model instance. If `obj` - is None, it should return True if the request has permission to view - any object of the given type. - """ - opts = self.opts - codename_view = get_permission_codename('view', opts) - codename_change = get_permission_codename('change', opts) - return ( - request.user.has_perm('%s.%s' % (opts.app_label, codename_view)) or - request.user.has_perm('%s.%s' % (opts.app_label, codename_change)) - ) - - def has_view_or_change_permission(self, request, obj=None): - return self.has_view_permission(request, obj) or self.has_change_permission(request, obj) - - def has_module_permission(self, request): - """ - Return True if the given request has any permission in the given - app label. - - Can be overridden by the user in subclasses. In such case it should - return True if the given request has permission to view the module on - the admin index page and access the module's index page. Overriding it - does not restrict access to the add, change or delete views. Use - `ModelAdmin.has_(add|change|delete)_permission` for that. - """ - return request.user.has_module_perms(self.opts.app_label) - - -class ModelAdmin(BaseModelAdmin): - """Encapsulate all admin options and functionality for a given model.""" - - list_display = ('__str__',) - list_display_links = () - list_filter = () - list_select_related = False - list_per_page = 100 - list_max_show_all = 200 - list_editable = () - search_fields = () - date_hierarchy = None - save_as = False - save_as_continue = True - save_on_top = False - paginator = Paginator - preserve_filters = True - inlines = [] - - # Custom templates (designed to be over-ridden in subclasses) - add_form_template = None - change_form_template = None - change_list_template = None - delete_confirmation_template = None - delete_selected_confirmation_template = None - object_history_template = None - popup_response_template = None - - # Actions - actions = [] - action_form = helpers.ActionForm - actions_on_top = True - actions_on_bottom = False - actions_selection_counter = True - checks_class = ModelAdminChecks - - def __init__(self, model, admin_site): - self.model = model - self.opts = model._meta - self.admin_site = admin_site - super().__init__() - - def __str__(self): - return "%s.%s" % (self.model._meta.app_label, self.__class__.__name__) - - def get_inline_instances(self, request, obj=None): - inline_instances = [] - for inline_class in self.get_inlines(request, obj): - inline = inline_class(self.model, self.admin_site) - if request: - if not (inline.has_view_or_change_permission(request, obj) or - inline.has_add_permission(request, obj) or - inline.has_delete_permission(request, obj)): - continue - if not inline.has_add_permission(request, obj): - inline.max_num = 0 - inline_instances.append(inline) - - return inline_instances - - def get_urls(self): - from django.urls import path - - def wrap(view): - def wrapper(*args, **kwargs): - return self.admin_site.admin_view(view)(*args, **kwargs) - wrapper.model_admin = self - return update_wrapper(wrapper, view) - - info = self.model._meta.app_label, self.model._meta.model_name - - return [ - path('', wrap(self.changelist_view), name='%s_%s_changelist' % info), - path('add/', wrap(self.add_view), name='%s_%s_add' % info), - path('autocomplete/', wrap(self.autocomplete_view), name='%s_%s_autocomplete' % info), - path('/history/', wrap(self.history_view), name='%s_%s_history' % info), - path('/delete/', wrap(self.delete_view), name='%s_%s_delete' % info), - path('/change/', wrap(self.change_view), name='%s_%s_change' % info), - # For backwards compatibility (was the change url before 1.9) - path('/', wrap(RedirectView.as_view( - pattern_name='%s:%s_%s_change' % ((self.admin_site.name,) + info) - ))), - ] - - @property - def urls(self): - return self.get_urls() - - @property - def media(self): - extra = '' if settings.DEBUG else '.min' - js = [ - 'vendor/jquery/jquery%s.js' % extra, - 'jquery.init.js', - 'core.js', - 'admin/RelatedObjectLookups.js', - 'actions%s.js' % extra, - 'urlify.js', - 'prepopulate%s.js' % extra, - 'vendor/xregexp/xregexp%s.js' % extra, - ] - return forms.Media(js=['admin/js/%s' % url for url in js]) - - def get_model_perms(self, request): - """ - Return a dict of all perms for this model. This dict has the keys - ``add``, ``change``, ``delete``, and ``view`` mapping to the True/False - for each of those actions. - """ - return { - 'add': self.has_add_permission(request), - 'change': self.has_change_permission(request), - 'delete': self.has_delete_permission(request), - 'view': self.has_view_permission(request), - } - - def _get_form_for_get_fields(self, request, obj): - return self.get_form(request, obj, fields=None) - - def get_form(self, request, obj=None, change=False, **kwargs): - """ - Return a Form class for use in the admin add view. This is used by - add_view and change_view. - """ - if 'fields' in kwargs: - fields = kwargs.pop('fields') - else: - fields = flatten_fieldsets(self.get_fieldsets(request, obj)) - excluded = self.get_exclude(request, obj) - exclude = [] if excluded is None else list(excluded) - readonly_fields = self.get_readonly_fields(request, obj) - exclude.extend(readonly_fields) - # Exclude all fields if it's a change form and the user doesn't have - # the change permission. - if change and hasattr(request, 'user') and not self.has_change_permission(request, obj): - exclude.extend(fields) - if excluded is None and hasattr(self.form, '_meta') and self.form._meta.exclude: - # Take the custom ModelForm's Meta.exclude into account only if the - # ModelAdmin doesn't define its own. - exclude.extend(self.form._meta.exclude) - # if exclude is an empty list we pass None to be consistent with the - # default on modelform_factory - exclude = exclude or None - - # Remove declared form fields which are in readonly_fields. - new_attrs = dict.fromkeys(f for f in readonly_fields if f in self.form.declared_fields) - form = type(self.form.__name__, (self.form,), new_attrs) - - defaults = { - 'form': form, - 'fields': fields, - 'exclude': exclude, - 'formfield_callback': partial(self.formfield_for_dbfield, request=request), - **kwargs, - } - - if defaults['fields'] is None and not modelform_defines_fields(defaults['form']): - defaults['fields'] = forms.ALL_FIELDS - - try: - return modelform_factory(self.model, **defaults) - except FieldError as e: - raise FieldError( - '%s. Check fields/fieldsets/exclude attributes of class %s.' - % (e, self.__class__.__name__) - ) - - def get_changelist(self, request, **kwargs): - """ - Return the ChangeList class for use on the changelist page. - """ - from django.contrib.admin.views.main import ChangeList - return ChangeList - - def get_changelist_instance(self, request): - """ - Return a `ChangeList` instance based on `request`. May raise - `IncorrectLookupParameters`. - """ - list_display = self.get_list_display(request) - list_display_links = self.get_list_display_links(request, list_display) - # Add the action checkboxes if any actions are available. - if self.get_actions(request): - list_display = ['action_checkbox', *list_display] - sortable_by = self.get_sortable_by(request) - ChangeList = self.get_changelist(request) - return ChangeList( - request, - self.model, - list_display, - list_display_links, - self.get_list_filter(request), - self.date_hierarchy, - self.get_search_fields(request), - self.get_list_select_related(request), - self.list_per_page, - self.list_max_show_all, - self.list_editable, - self, - sortable_by, - ) - - def get_object(self, request, object_id, from_field=None): - """ - Return an instance matching the field and value provided, the primary - key is used if no field is provided. Return ``None`` if no match is - found or the object_id fails validation. - """ - queryset = self.get_queryset(request) - model = queryset.model - field = model._meta.pk if from_field is None else model._meta.get_field(from_field) - try: - object_id = field.to_python(object_id) - return queryset.get(**{field.name: object_id}) - except (model.DoesNotExist, ValidationError, ValueError): - return None - - def get_changelist_form(self, request, **kwargs): - """ - Return a Form class for use in the Formset on the changelist page. - """ - defaults = { - 'formfield_callback': partial(self.formfield_for_dbfield, request=request), - **kwargs, - } - if defaults.get('fields') is None and not modelform_defines_fields(defaults.get('form')): - defaults['fields'] = forms.ALL_FIELDS - - return modelform_factory(self.model, **defaults) - - def get_changelist_formset(self, request, **kwargs): - """ - Return a FormSet class for use on the changelist page if list_editable - is used. - """ - defaults = { - 'formfield_callback': partial(self.formfield_for_dbfield, request=request), - **kwargs, - } - return modelformset_factory( - self.model, self.get_changelist_form(request), extra=0, - fields=self.list_editable, **defaults - ) - - def get_formsets_with_inlines(self, request, obj=None): - """ - Yield formsets and the corresponding inlines. - """ - for inline in self.get_inline_instances(request, obj): - yield inline.get_formset(request, obj), inline - - def get_paginator(self, request, queryset, per_page, orphans=0, allow_empty_first_page=True): - return self.paginator(queryset, per_page, orphans, allow_empty_first_page) - - def log_addition(self, request, object, message): - """ - Log that an object has been successfully added. - - The default implementation creates an admin LogEntry object. - """ - from django.contrib.admin.models import ADDITION, LogEntry - return LogEntry.objects.log_action( - user_id=request.user.pk, - content_type_id=get_content_type_for_model(object).pk, - object_id=object.pk, - object_repr=str(object), - action_flag=ADDITION, - change_message=message, - ) - - def log_change(self, request, object, message): - """ - Log that an object has been successfully changed. - - The default implementation creates an admin LogEntry object. - """ - from django.contrib.admin.models import CHANGE, LogEntry - return LogEntry.objects.log_action( - user_id=request.user.pk, - content_type_id=get_content_type_for_model(object).pk, - object_id=object.pk, - object_repr=str(object), - action_flag=CHANGE, - change_message=message, - ) - - def log_deletion(self, request, object, object_repr): - """ - Log that an object will be deleted. Note that this method must be - called before the deletion. - - The default implementation creates an admin LogEntry object. - """ - from django.contrib.admin.models import DELETION, LogEntry - return LogEntry.objects.log_action( - user_id=request.user.pk, - content_type_id=get_content_type_for_model(object).pk, - object_id=object.pk, - object_repr=object_repr, - action_flag=DELETION, - ) - - def action_checkbox(self, obj): - """ - A list_display column containing a checkbox widget. - """ - return helpers.checkbox.render(helpers.ACTION_CHECKBOX_NAME, str(obj.pk)) - action_checkbox.short_description = mark_safe('') - - def _get_base_actions(self): - """Return the list of actions, prior to any request-based filtering.""" - actions = [] - base_actions = (self.get_action(action) for action in self.actions or []) - # get_action might have returned None, so filter any of those out. - base_actions = [action for action in base_actions if action] - base_action_names = {name for _, name, _ in base_actions} - - # Gather actions from the admin site first - for (name, func) in self.admin_site.actions: - if name in base_action_names: - continue - description = getattr(func, 'short_description', name.replace('_', ' ')) - actions.append((func, name, description)) - # Add actions from this ModelAdmin. - actions.extend(base_actions) - return actions - - def _filter_actions_by_permissions(self, request, actions): - """Filter out any actions that the user doesn't have access to.""" - filtered_actions = [] - for action in actions: - callable = action[0] - if not hasattr(callable, 'allowed_permissions'): - filtered_actions.append(action) - continue - permission_checks = ( - getattr(self, 'has_%s_permission' % permission) - for permission in callable.allowed_permissions - ) - if any(has_permission(request) for has_permission in permission_checks): - filtered_actions.append(action) - return filtered_actions - - def get_actions(self, request): - """ - Return a dictionary mapping the names of all actions for this - ModelAdmin to a tuple of (callable, name, description) for each action. - """ - # If self.actions is set to None that means actions are disabled on - # this page. - if self.actions is None or IS_POPUP_VAR in request.GET: - return {} - actions = self._filter_actions_by_permissions(request, self._get_base_actions()) - return {name: (func, name, desc) for func, name, desc in actions} - - def get_action_choices(self, request, default_choices=models.BLANK_CHOICE_DASH): - """ - Return a list of choices for use in a form object. Each choice is a - tuple (name, description). - """ - choices = [] + default_choices - for func, name, description in self.get_actions(request).values(): - choice = (name, description % model_format_dict(self.opts)) - choices.append(choice) - return choices - - def get_action(self, action): - """ - Return a given action from a parameter, which can either be a callable, - or the name of a method on the ModelAdmin. Return is a tuple of - (callable, name, description). - """ - # If the action is a callable, just use it. - if callable(action): - func = action - action = action.__name__ - - # Next, look for a method. Grab it off self.__class__ to get an unbound - # method instead of a bound one; this ensures that the calling - # conventions are the same for functions and methods. - elif hasattr(self.__class__, action): - func = getattr(self.__class__, action) - - # Finally, look for a named method on the admin site - else: - try: - func = self.admin_site.get_action(action) - except KeyError: - return None - - if hasattr(func, 'short_description'): - description = func.short_description - else: - description = capfirst(action.replace('_', ' ')) - return func, action, description - - def get_list_display(self, request): - """ - Return a sequence containing the fields to be displayed on the - changelist. - """ - return self.list_display - - def get_list_display_links(self, request, list_display): - """ - Return a sequence containing the fields to be displayed as links - on the changelist. The list_display parameter is the list of fields - returned by get_list_display(). - """ - if self.list_display_links or self.list_display_links is None or not list_display: - return self.list_display_links - else: - # Use only the first item in list_display as link - return list(list_display)[:1] - - def get_list_filter(self, request): - """ - Return a sequence containing the fields to be displayed as filters in - the right sidebar of the changelist page. - """ - return self.list_filter - - def get_list_select_related(self, request): - """ - Return a list of fields to add to the select_related() part of the - changelist items query. - """ - return self.list_select_related - - def get_search_fields(self, request): - """ - Return a sequence containing the fields to be searched whenever - somebody submits a search query. - """ - return self.search_fields - - def get_search_results(self, request, queryset, search_term): - """ - Return a tuple containing a queryset to implement the search - and a boolean indicating if the results may contain duplicates. - """ - # Apply keyword searches. - def construct_search(field_name): - if field_name.startswith('^'): - return "%s__istartswith" % field_name[1:] - elif field_name.startswith('='): - return "%s__iexact" % field_name[1:] - elif field_name.startswith('@'): - return "%s__search" % field_name[1:] - # Use field_name if it includes a lookup. - opts = queryset.model._meta - lookup_fields = field_name.split(LOOKUP_SEP) - # Go through the fields, following all relations. - prev_field = None - for path_part in lookup_fields: - if path_part == 'pk': - path_part = opts.pk.name - try: - field = opts.get_field(path_part) - except FieldDoesNotExist: - # Use valid query lookups. - if prev_field and prev_field.get_lookup(path_part): - return field_name - else: - prev_field = field - if hasattr(field, 'get_path_info'): - # Update opts to follow the relation. - opts = field.get_path_info()[-1].to_opts - # Otherwise, use the field with icontains. - return "%s__icontains" % field_name - - use_distinct = False - search_fields = self.get_search_fields(request) - if search_fields and search_term: - orm_lookups = [construct_search(str(search_field)) - for search_field in search_fields] - for bit in search_term.split(): - or_queries = [models.Q(**{orm_lookup: bit}) - for orm_lookup in orm_lookups] - queryset = queryset.filter(reduce(operator.or_, or_queries)) - use_distinct |= any(lookup_needs_distinct(self.opts, search_spec) for search_spec in orm_lookups) - - return queryset, use_distinct - - def get_preserved_filters(self, request): - """ - Return the preserved filters querystring. - """ - match = request.resolver_match - if self.preserve_filters and match: - opts = self.model._meta - current_url = '%s:%s' % (match.app_name, match.url_name) - changelist_url = 'admin:%s_%s_changelist' % (opts.app_label, opts.model_name) - if current_url == changelist_url: - preserved_filters = request.GET.urlencode() - else: - preserved_filters = request.GET.get('_changelist_filters') - - if preserved_filters: - return urlencode({'_changelist_filters': preserved_filters}) - return '' - - def construct_change_message(self, request, form, formsets, add=False): - """ - Construct a JSON structure describing changes from a changed object. - """ - return construct_change_message(form, formsets, add) - - def message_user(self, request, message, level=messages.INFO, extra_tags='', - fail_silently=False): - """ - Send a message to the user. The default implementation - posts a message using the django.contrib.messages backend. - - Exposes almost the same API as messages.add_message(), but accepts the - positional arguments in a different order to maintain backwards - compatibility. For convenience, it accepts the `level` argument as - a string rather than the usual level number. - """ - if not isinstance(level, int): - # attempt to get the level if passed a string - try: - level = getattr(messages.constants, level.upper()) - except AttributeError: - levels = messages.constants.DEFAULT_TAGS.values() - levels_repr = ', '.join('`%s`' % level for level in levels) - raise ValueError( - 'Bad message level string: `%s`. Possible values are: %s' - % (level, levels_repr) - ) - - messages.add_message(request, level, message, extra_tags=extra_tags, fail_silently=fail_silently) - - def save_form(self, request, form, change): - """ - Given a ModelForm return an unsaved instance. ``change`` is True if - the object is being changed, and False if it's being added. - """ - return form.save(commit=False) - - def save_model(self, request, obj, form, change): - """ - Given a model instance save it to the database. - """ - obj.save() - - def delete_model(self, request, obj): - """ - Given a model instance delete it from the database. - """ - obj.delete() - - def delete_queryset(self, request, queryset): - """Given a queryset, delete it from the database.""" - queryset.delete() - - def save_formset(self, request, form, formset, change): - """ - Given an inline formset save it to the database. - """ - formset.save() - - def save_related(self, request, form, formsets, change): - """ - Given the ``HttpRequest``, the parent ``ModelForm`` instance, the - list of inline formsets and a boolean value based on whether the - parent is being added or changed, save the related objects to the - database. Note that at this point save_form() and save_model() have - already been called. - """ - form.save_m2m() - for formset in formsets: - self.save_formset(request, form, formset, change=change) - - def render_change_form(self, request, context, add=False, change=False, form_url='', obj=None): - opts = self.model._meta - app_label = opts.app_label - preserved_filters = self.get_preserved_filters(request) - form_url = add_preserved_filters({'preserved_filters': preserved_filters, 'opts': opts}, form_url) - view_on_site_url = self.get_view_on_site_url(obj) - has_editable_inline_admin_formsets = False - for inline in context['inline_admin_formsets']: - if inline.has_add_permission or inline.has_change_permission or inline.has_delete_permission: - has_editable_inline_admin_formsets = True - break - context.update({ - 'add': add, - 'change': change, - 'has_view_permission': self.has_view_permission(request, obj), - 'has_add_permission': self.has_add_permission(request), - 'has_change_permission': self.has_change_permission(request, obj), - 'has_delete_permission': self.has_delete_permission(request, obj), - 'has_editable_inline_admin_formsets': has_editable_inline_admin_formsets, - 'has_file_field': context['adminform'].form.is_multipart() or any( - admin_formset.formset.is_multipart() - for admin_formset in context['inline_admin_formsets'] - ), - 'has_absolute_url': view_on_site_url is not None, - 'absolute_url': view_on_site_url, - 'form_url': form_url, - 'opts': opts, - 'content_type_id': get_content_type_for_model(self.model).pk, - 'save_as': self.save_as, - 'save_on_top': self.save_on_top, - 'to_field_var': TO_FIELD_VAR, - 'is_popup_var': IS_POPUP_VAR, - 'app_label': app_label, - }) - if add and self.add_form_template is not None: - form_template = self.add_form_template - else: - form_template = self.change_form_template - - request.current_app = self.admin_site.name - - return TemplateResponse(request, form_template or [ - "admin/%s/%s/change_form.html" % (app_label, opts.model_name), - "admin/%s/change_form.html" % app_label, - "admin/change_form.html" - ], context) - - def response_add(self, request, obj, post_url_continue=None): - """ - Determine the HttpResponse for the add_view stage. - """ - opts = obj._meta - preserved_filters = self.get_preserved_filters(request) - obj_url = reverse( - 'admin:%s_%s_change' % (opts.app_label, opts.model_name), - args=(quote(obj.pk),), - current_app=self.admin_site.name, - ) - # Add a link to the object's change form if the user can edit the obj. - if self.has_change_permission(request, obj): - obj_repr = format_html('{}', urlquote(obj_url), obj) - else: - obj_repr = str(obj) - msg_dict = { - 'name': opts.verbose_name, - 'obj': obj_repr, - } - # Here, we distinguish between different save types by checking for - # the presence of keys in request.POST. - - if IS_POPUP_VAR in request.POST: - to_field = request.POST.get(TO_FIELD_VAR) - if to_field: - attr = str(to_field) - else: - attr = obj._meta.pk.attname - value = obj.serializable_value(attr) - popup_response_data = json.dumps({ - 'value': str(value), - 'obj': str(obj), - }) - return TemplateResponse(request, self.popup_response_template or [ - 'admin/%s/%s/popup_response.html' % (opts.app_label, opts.model_name), - 'admin/%s/popup_response.html' % opts.app_label, - 'admin/popup_response.html', - ], { - 'popup_response_data': popup_response_data, - }) - - elif "_continue" in request.POST or ( - # Redirecting after "Save as new". - "_saveasnew" in request.POST and self.save_as_continue and - self.has_change_permission(request, obj) - ): - msg = _('The {name} “{obj}” was added successfully.') - if self.has_change_permission(request, obj): - msg += ' ' + _('You may edit it again below.') - self.message_user(request, format_html(msg, **msg_dict), messages.SUCCESS) - if post_url_continue is None: - post_url_continue = obj_url - post_url_continue = add_preserved_filters( - {'preserved_filters': preserved_filters, 'opts': opts}, - post_url_continue - ) - return HttpResponseRedirect(post_url_continue) - - elif "_addanother" in request.POST: - msg = format_html( - _('The {name} “{obj}” was added successfully. You may add another {name} below.'), - **msg_dict - ) - self.message_user(request, msg, messages.SUCCESS) - redirect_url = request.path - redirect_url = add_preserved_filters({'preserved_filters': preserved_filters, 'opts': opts}, redirect_url) - return HttpResponseRedirect(redirect_url) - - else: - msg = format_html( - _('The {name} “{obj}” was added successfully.'), - **msg_dict - ) - self.message_user(request, msg, messages.SUCCESS) - return self.response_post_save_add(request, obj) - - def response_change(self, request, obj): - """ - Determine the HttpResponse for the change_view stage. - """ - - if IS_POPUP_VAR in request.POST: - opts = obj._meta - to_field = request.POST.get(TO_FIELD_VAR) - attr = str(to_field) if to_field else opts.pk.attname - value = request.resolver_match.kwargs['object_id'] - new_value = obj.serializable_value(attr) - popup_response_data = json.dumps({ - 'action': 'change', - 'value': str(value), - 'obj': str(obj), - 'new_value': str(new_value), - }) - return TemplateResponse(request, self.popup_response_template or [ - 'admin/%s/%s/popup_response.html' % (opts.app_label, opts.model_name), - 'admin/%s/popup_response.html' % opts.app_label, - 'admin/popup_response.html', - ], { - 'popup_response_data': popup_response_data, - }) - - opts = self.model._meta - preserved_filters = self.get_preserved_filters(request) - - msg_dict = { - 'name': opts.verbose_name, - 'obj': format_html('{}', urlquote(request.path), obj), - } - if "_continue" in request.POST: - msg = format_html( - _('The {name} “{obj}” was changed successfully. You may edit it again below.'), - **msg_dict - ) - self.message_user(request, msg, messages.SUCCESS) - redirect_url = request.path - redirect_url = add_preserved_filters({'preserved_filters': preserved_filters, 'opts': opts}, redirect_url) - return HttpResponseRedirect(redirect_url) - - elif "_saveasnew" in request.POST: - msg = format_html( - _('The {name} “{obj}” was added successfully. You may edit it again below.'), - **msg_dict - ) - self.message_user(request, msg, messages.SUCCESS) - redirect_url = reverse('admin:%s_%s_change' % - (opts.app_label, opts.model_name), - args=(obj.pk,), - current_app=self.admin_site.name) - redirect_url = add_preserved_filters({'preserved_filters': preserved_filters, 'opts': opts}, redirect_url) - return HttpResponseRedirect(redirect_url) - - elif "_addanother" in request.POST: - msg = format_html( - _('The {name} “{obj}” was changed successfully. You may add another {name} below.'), - **msg_dict - ) - self.message_user(request, msg, messages.SUCCESS) - redirect_url = reverse('admin:%s_%s_add' % - (opts.app_label, opts.model_name), - current_app=self.admin_site.name) - redirect_url = add_preserved_filters({'preserved_filters': preserved_filters, 'opts': opts}, redirect_url) - return HttpResponseRedirect(redirect_url) - - else: - msg = format_html( - _('The {name} “{obj}” was changed successfully.'), - **msg_dict - ) - self.message_user(request, msg, messages.SUCCESS) - return self.response_post_save_change(request, obj) - - def _response_post_save(self, request, obj): - opts = self.model._meta - if self.has_view_or_change_permission(request): - post_url = reverse('admin:%s_%s_changelist' % - (opts.app_label, opts.model_name), - current_app=self.admin_site.name) - preserved_filters = self.get_preserved_filters(request) - post_url = add_preserved_filters({'preserved_filters': preserved_filters, 'opts': opts}, post_url) - else: - post_url = reverse('admin:index', - current_app=self.admin_site.name) - return HttpResponseRedirect(post_url) - - def response_post_save_add(self, request, obj): - """ - Figure out where to redirect after the 'Save' button has been pressed - when adding a new object. - """ - return self._response_post_save(request, obj) - - def response_post_save_change(self, request, obj): - """ - Figure out where to redirect after the 'Save' button has been pressed - when editing an existing object. - """ - return self._response_post_save(request, obj) - - def response_action(self, request, queryset): - """ - Handle an admin action. This is called if a request is POSTed to the - changelist; it returns an HttpResponse if the action was handled, and - None otherwise. - """ - - # There can be multiple action forms on the page (at the top - # and bottom of the change list, for example). Get the action - # whose button was pushed. - try: - action_index = int(request.POST.get('index', 0)) - except ValueError: - action_index = 0 - - # Construct the action form. - data = request.POST.copy() - data.pop(helpers.ACTION_CHECKBOX_NAME, None) - data.pop("index", None) - - # Use the action whose button was pushed - try: - data.update({'action': data.getlist('action')[action_index]}) - except IndexError: - # If we didn't get an action from the chosen form that's invalid - # POST data, so by deleting action it'll fail the validation check - # below. So no need to do anything here - pass - - action_form = self.action_form(data, auto_id=None) - action_form.fields['action'].choices = self.get_action_choices(request) - - # If the form's valid we can handle the action. - if action_form.is_valid(): - action = action_form.cleaned_data['action'] - select_across = action_form.cleaned_data['select_across'] - func = self.get_actions(request)[action][0] - - # Get the list of selected PKs. If nothing's selected, we can't - # perform an action on it, so bail. Except we want to perform - # the action explicitly on all objects. - selected = request.POST.getlist(helpers.ACTION_CHECKBOX_NAME) - if not selected and not select_across: - # Reminder that something needs to be selected or nothing will happen - msg = _("Items must be selected in order to perform " - "actions on them. No items have been changed.") - self.message_user(request, msg, messages.WARNING) - return None - - if not select_across: - # Perform the action only on the selected objects - queryset = queryset.filter(pk__in=selected) - - response = func(self, request, queryset) - - # Actions may return an HttpResponse-like object, which will be - # used as the response from the POST. If not, we'll be a good - # little HTTP citizen and redirect back to the changelist page. - if isinstance(response, HttpResponseBase): - return response - else: - return HttpResponseRedirect(request.get_full_path()) - else: - msg = _("No action selected.") - self.message_user(request, msg, messages.WARNING) - return None - - def response_delete(self, request, obj_display, obj_id): - """ - Determine the HttpResponse for the delete_view stage. - """ - opts = self.model._meta - - if IS_POPUP_VAR in request.POST: - popup_response_data = json.dumps({ - 'action': 'delete', - 'value': str(obj_id), - }) - return TemplateResponse(request, self.popup_response_template or [ - 'admin/%s/%s/popup_response.html' % (opts.app_label, opts.model_name), - 'admin/%s/popup_response.html' % opts.app_label, - 'admin/popup_response.html', - ], { - 'popup_response_data': popup_response_data, - }) - - self.message_user( - request, - _('The %(name)s “%(obj)s” was deleted successfully.') % { - 'name': opts.verbose_name, - 'obj': obj_display, - }, - messages.SUCCESS, - ) - - if self.has_change_permission(request, None): - post_url = reverse( - 'admin:%s_%s_changelist' % (opts.app_label, opts.model_name), - current_app=self.admin_site.name, - ) - preserved_filters = self.get_preserved_filters(request) - post_url = add_preserved_filters( - {'preserved_filters': preserved_filters, 'opts': opts}, post_url - ) - else: - post_url = reverse('admin:index', current_app=self.admin_site.name) - return HttpResponseRedirect(post_url) - - def render_delete_form(self, request, context): - opts = self.model._meta - app_label = opts.app_label - - request.current_app = self.admin_site.name - context.update( - to_field_var=TO_FIELD_VAR, - is_popup_var=IS_POPUP_VAR, - media=self.media, - ) - - return TemplateResponse( - request, - self.delete_confirmation_template or [ - "admin/{}/{}/delete_confirmation.html".format(app_label, opts.model_name), - "admin/{}/delete_confirmation.html".format(app_label), - "admin/delete_confirmation.html", - ], - context, - ) - - def get_inline_formsets(self, request, formsets, inline_instances, obj=None): - # Edit permissions on parent model are required for editable inlines. - can_edit_parent = self.has_change_permission(request, obj) if obj else self.has_add_permission(request) - inline_admin_formsets = [] - for inline, formset in zip(inline_instances, formsets): - fieldsets = list(inline.get_fieldsets(request, obj)) - readonly = list(inline.get_readonly_fields(request, obj)) - if can_edit_parent: - has_add_permission = inline.has_add_permission(request, obj) - has_change_permission = inline.has_change_permission(request, obj) - has_delete_permission = inline.has_delete_permission(request, obj) - else: - # Disable all edit-permissions, and overide formset settings. - has_add_permission = has_change_permission = has_delete_permission = False - formset.extra = formset.max_num = 0 - has_view_permission = inline.has_view_permission(request, obj) - prepopulated = dict(inline.get_prepopulated_fields(request, obj)) - inline_admin_formset = helpers.InlineAdminFormSet( - inline, formset, fieldsets, prepopulated, readonly, model_admin=self, - has_add_permission=has_add_permission, has_change_permission=has_change_permission, - has_delete_permission=has_delete_permission, has_view_permission=has_view_permission, - ) - inline_admin_formsets.append(inline_admin_formset) - return inline_admin_formsets - - def get_changeform_initial_data(self, request): - """ - Get the initial form data from the request's GET params. - """ - initial = dict(request.GET.items()) - for k in initial: - try: - f = self.model._meta.get_field(k) - except FieldDoesNotExist: - continue - # We have to special-case M2Ms as a list of comma-separated PKs. - if isinstance(f, models.ManyToManyField): - initial[k] = initial[k].split(",") - return initial - - def _get_obj_does_not_exist_redirect(self, request, opts, object_id): - """ - Create a message informing the user that the object doesn't exist - and return a redirect to the admin index page. - """ - msg = _('%(name)s with ID “%(key)s” doesn’t exist. Perhaps it was deleted?') % { - 'name': opts.verbose_name, - 'key': unquote(object_id), - } - self.message_user(request, msg, messages.WARNING) - url = reverse('admin:index', current_app=self.admin_site.name) - return HttpResponseRedirect(url) - - @csrf_protect_m - def changeform_view(self, request, object_id=None, form_url='', extra_context=None): - with transaction.atomic(using=router.db_for_write(self.model)): - return self._changeform_view(request, object_id, form_url, extra_context) - - def _changeform_view(self, request, object_id, form_url, extra_context): - to_field = request.POST.get(TO_FIELD_VAR, request.GET.get(TO_FIELD_VAR)) - if to_field and not self.to_field_allowed(request, to_field): - raise DisallowedModelAdminToField("The field %s cannot be referenced." % to_field) - - model = self.model - opts = model._meta - - if request.method == 'POST' and '_saveasnew' in request.POST: - object_id = None - - add = object_id is None - - if add: - if not self.has_add_permission(request): - raise PermissionDenied - obj = None - - else: - obj = self.get_object(request, unquote(object_id), to_field) - - if request.method == 'POST': - if not self.has_change_permission(request, obj): - raise PermissionDenied - else: - if not self.has_view_or_change_permission(request, obj): - raise PermissionDenied - - if obj is None: - return self._get_obj_does_not_exist_redirect(request, opts, object_id) - - fieldsets = self.get_fieldsets(request, obj) - ModelForm = self.get_form( - request, obj, change=not add, fields=flatten_fieldsets(fieldsets) - ) - if request.method == 'POST': - form = ModelForm(request.POST, request.FILES, instance=obj) - form_validated = form.is_valid() - if form_validated: - new_object = self.save_form(request, form, change=not add) - else: - new_object = form.instance - formsets, inline_instances = self._create_formsets(request, new_object, change=not add) - if all_valid(formsets) and form_validated: - self.save_model(request, new_object, form, not add) - self.save_related(request, form, formsets, not add) - change_message = self.construct_change_message(request, form, formsets, add) - if add: - self.log_addition(request, new_object, change_message) - return self.response_add(request, new_object) - else: - self.log_change(request, new_object, change_message) - return self.response_change(request, new_object) - else: - form_validated = False - else: - if add: - initial = self.get_changeform_initial_data(request) - form = ModelForm(initial=initial) - formsets, inline_instances = self._create_formsets(request, form.instance, change=False) - else: - form = ModelForm(instance=obj) - formsets, inline_instances = self._create_formsets(request, obj, change=True) - - if not add and not self.has_change_permission(request, obj): - readonly_fields = flatten_fieldsets(fieldsets) - else: - readonly_fields = self.get_readonly_fields(request, obj) - adminForm = helpers.AdminForm( - form, - list(fieldsets), - # Clear prepopulated fields on a view-only form to avoid a crash. - self.get_prepopulated_fields(request, obj) if add or self.has_change_permission(request, obj) else {}, - readonly_fields, - model_admin=self) - media = self.media + adminForm.media - - inline_formsets = self.get_inline_formsets(request, formsets, inline_instances, obj) - for inline_formset in inline_formsets: - media = media + inline_formset.media - - if add: - title = _('Add %s') - elif self.has_change_permission(request, obj): - title = _('Change %s') - else: - title = _('View %s') - context = { - **self.admin_site.each_context(request), - 'title': title % opts.verbose_name, - 'adminform': adminForm, - 'object_id': object_id, - 'original': obj, - 'is_popup': IS_POPUP_VAR in request.POST or IS_POPUP_VAR in request.GET, - 'to_field': to_field, - 'media': media, - 'inline_admin_formsets': inline_formsets, - 'errors': helpers.AdminErrorList(form, formsets), - 'preserved_filters': self.get_preserved_filters(request), - } - - # Hide the "Save" and "Save and continue" buttons if "Save as New" was - # previously chosen to prevent the interface from getting confusing. - if request.method == 'POST' and not form_validated and "_saveasnew" in request.POST: - context['show_save'] = False - context['show_save_and_continue'] = False - # Use the change template instead of the add template. - add = False - - context.update(extra_context or {}) - - return self.render_change_form(request, context, add=add, change=not add, obj=obj, form_url=form_url) - - def autocomplete_view(self, request): - return AutocompleteJsonView.as_view(model_admin=self)(request) - - def add_view(self, request, form_url='', extra_context=None): - return self.changeform_view(request, None, form_url, extra_context) - - def change_view(self, request, object_id, form_url='', extra_context=None): - return self.changeform_view(request, object_id, form_url, extra_context) - - def _get_edited_object_pks(self, request, prefix): - """Return POST data values of list_editable primary keys.""" - pk_pattern = re.compile( - r'{}-\d+-{}$'.format(re.escape(prefix), self.model._meta.pk.name) - ) - return [value for key, value in request.POST.items() if pk_pattern.match(key)] - - def _get_list_editable_queryset(self, request, prefix): - """ - Based on POST data, return a queryset of the objects that were edited - via list_editable. - """ - object_pks = self._get_edited_object_pks(request, prefix) - queryset = self.get_queryset(request) - validate = queryset.model._meta.pk.to_python - try: - for pk in object_pks: - validate(pk) - except ValidationError: - # Disable the optimization if the POST data was tampered with. - return queryset - return queryset.filter(pk__in=object_pks) - - @csrf_protect_m - def changelist_view(self, request, extra_context=None): - """ - The 'change list' admin view for this model. - """ - from django.contrib.admin.views.main import ERROR_FLAG - opts = self.model._meta - app_label = opts.app_label - if not self.has_view_or_change_permission(request): - raise PermissionDenied - - try: - cl = self.get_changelist_instance(request) - except IncorrectLookupParameters: - # Wacky lookup parameters were given, so redirect to the main - # changelist page, without parameters, and pass an 'invalid=1' - # parameter via the query string. If wacky parameters were given - # and the 'invalid=1' parameter was already in the query string, - # something is screwed up with the database, so display an error - # page. - if ERROR_FLAG in request.GET: - return SimpleTemplateResponse('admin/invalid_setup.html', { - 'title': _('Database error'), - }) - return HttpResponseRedirect(request.path + '?' + ERROR_FLAG + '=1') - - # If the request was POSTed, this might be a bulk action or a bulk - # edit. Try to look up an action or confirmation first, but if this - # isn't an action the POST will fall through to the bulk edit check, - # below. - action_failed = False - selected = request.POST.getlist(helpers.ACTION_CHECKBOX_NAME) - - actions = self.get_actions(request) - # Actions with no confirmation - if (actions and request.method == 'POST' and - 'index' in request.POST and '_save' not in request.POST): - if selected: - response = self.response_action(request, queryset=cl.get_queryset(request)) - if response: - return response - else: - action_failed = True - else: - msg = _("Items must be selected in order to perform " - "actions on them. No items have been changed.") - self.message_user(request, msg, messages.WARNING) - action_failed = True - - # Actions with confirmation - if (actions and request.method == 'POST' and - helpers.ACTION_CHECKBOX_NAME in request.POST and - 'index' not in request.POST and '_save' not in request.POST): - if selected: - response = self.response_action(request, queryset=cl.get_queryset(request)) - if response: - return response - else: - action_failed = True - - if action_failed: - # Redirect back to the changelist page to avoid resubmitting the - # form if the user refreshes the browser or uses the "No, take - # me back" button on the action confirmation page. - return HttpResponseRedirect(request.get_full_path()) - - # If we're allowing changelist editing, we need to construct a formset - # for the changelist given all the fields to be edited. Then we'll - # use the formset to validate/process POSTed data. - formset = cl.formset = None - - # Handle POSTed bulk-edit data. - if request.method == 'POST' and cl.list_editable and '_save' in request.POST: - if not self.has_change_permission(request): - raise PermissionDenied - FormSet = self.get_changelist_formset(request) - modified_objects = self._get_list_editable_queryset(request, FormSet.get_default_prefix()) - formset = cl.formset = FormSet(request.POST, request.FILES, queryset=modified_objects) - if formset.is_valid(): - changecount = 0 - for form in formset.forms: - if form.has_changed(): - obj = self.save_form(request, form, change=True) - self.save_model(request, obj, form, change=True) - self.save_related(request, form, formsets=[], change=True) - change_msg = self.construct_change_message(request, form, None) - self.log_change(request, obj, change_msg) - changecount += 1 - - if changecount: - msg = ngettext( - "%(count)s %(name)s was changed successfully.", - "%(count)s %(name)s were changed successfully.", - changecount - ) % { - 'count': changecount, - 'name': model_ngettext(opts, changecount), - } - self.message_user(request, msg, messages.SUCCESS) - - return HttpResponseRedirect(request.get_full_path()) - - # Handle GET -- construct a formset for display. - elif cl.list_editable and self.has_change_permission(request): - FormSet = self.get_changelist_formset(request) - formset = cl.formset = FormSet(queryset=cl.result_list) - - # Build the list of media to be used by the formset. - if formset: - media = self.media + formset.media - else: - media = self.media - - # Build the action form and populate it with available actions. - if actions: - action_form = self.action_form(auto_id=None) - action_form.fields['action'].choices = self.get_action_choices(request) - media += action_form.media - else: - action_form = None - - selection_note_all = ngettext( - '%(total_count)s selected', - 'All %(total_count)s selected', - cl.result_count - ) - - context = { - **self.admin_site.each_context(request), - 'module_name': str(opts.verbose_name_plural), - 'selection_note': _('0 of %(cnt)s selected') % {'cnt': len(cl.result_list)}, - 'selection_note_all': selection_note_all % {'total_count': cl.result_count}, - 'title': cl.title, - 'is_popup': cl.is_popup, - 'to_field': cl.to_field, - 'cl': cl, - 'media': media, - 'has_add_permission': self.has_add_permission(request), - 'opts': cl.opts, - 'action_form': action_form, - 'actions_on_top': self.actions_on_top, - 'actions_on_bottom': self.actions_on_bottom, - 'actions_selection_counter': self.actions_selection_counter, - 'preserved_filters': self.get_preserved_filters(request), - **(extra_context or {}), - } - - request.current_app = self.admin_site.name - - return TemplateResponse(request, self.change_list_template or [ - 'admin/%s/%s/change_list.html' % (app_label, opts.model_name), - 'admin/%s/change_list.html' % app_label, - 'admin/change_list.html' - ], context) - - def get_deleted_objects(self, objs, request): - """ - Hook for customizing the delete process for the delete view and the - "delete selected" action. - """ - return get_deleted_objects(objs, request, self.admin_site) - - @csrf_protect_m - def delete_view(self, request, object_id, extra_context=None): - with transaction.atomic(using=router.db_for_write(self.model)): - return self._delete_view(request, object_id, extra_context) - - def _delete_view(self, request, object_id, extra_context): - "The 'delete' admin view for this model." - opts = self.model._meta - app_label = opts.app_label - - to_field = request.POST.get(TO_FIELD_VAR, request.GET.get(TO_FIELD_VAR)) - if to_field and not self.to_field_allowed(request, to_field): - raise DisallowedModelAdminToField("The field %s cannot be referenced." % to_field) - - obj = self.get_object(request, unquote(object_id), to_field) - - if not self.has_delete_permission(request, obj): - raise PermissionDenied - - if obj is None: - return self._get_obj_does_not_exist_redirect(request, opts, object_id) - - # Populate deleted_objects, a data structure of all related objects that - # will also be deleted. - deleted_objects, model_count, perms_needed, protected = self.get_deleted_objects([obj], request) - - if request.POST and not protected: # The user has confirmed the deletion. - if perms_needed: - raise PermissionDenied - obj_display = str(obj) - attr = str(to_field) if to_field else opts.pk.attname - obj_id = obj.serializable_value(attr) - self.log_deletion(request, obj, obj_display) - self.delete_model(request, obj) - - return self.response_delete(request, obj_display, obj_id) - - object_name = str(opts.verbose_name) - - if perms_needed or protected: - title = _("Cannot delete %(name)s") % {"name": object_name} - else: - title = _("Are you sure?") - - context = { - **self.admin_site.each_context(request), - 'title': title, - 'object_name': object_name, - 'object': obj, - 'deleted_objects': deleted_objects, - 'model_count': dict(model_count).items(), - 'perms_lacking': perms_needed, - 'protected': protected, - 'opts': opts, - 'app_label': app_label, - 'preserved_filters': self.get_preserved_filters(request), - 'is_popup': IS_POPUP_VAR in request.POST or IS_POPUP_VAR in request.GET, - 'to_field': to_field, - **(extra_context or {}), - } - - return self.render_delete_form(request, context) - - def history_view(self, request, object_id, extra_context=None): - "The 'history' admin view for this model." - from django.contrib.admin.models import LogEntry - - # First check if the user can see this history. - model = self.model - obj = self.get_object(request, unquote(object_id)) - if obj is None: - return self._get_obj_does_not_exist_redirect(request, model._meta, object_id) - - if not self.has_view_or_change_permission(request, obj): - raise PermissionDenied - - # Then get the history for this object. - opts = model._meta - app_label = opts.app_label - action_list = LogEntry.objects.filter( - object_id=unquote(object_id), - content_type=get_content_type_for_model(model) - ).select_related().order_by('action_time') - - context = { - **self.admin_site.each_context(request), - 'title': _('Change history: %s') % obj, - 'action_list': action_list, - 'module_name': str(capfirst(opts.verbose_name_plural)), - 'object': obj, - 'opts': opts, - 'preserved_filters': self.get_preserved_filters(request), - **(extra_context or {}), - } - - request.current_app = self.admin_site.name - - return TemplateResponse(request, self.object_history_template or [ - "admin/%s/%s/object_history.html" % (app_label, opts.model_name), - "admin/%s/object_history.html" % app_label, - "admin/object_history.html" - ], context) - - def _create_formsets(self, request, obj, change): - "Helper function to generate formsets for add/change_view." - formsets = [] - inline_instances = [] - prefixes = {} - get_formsets_args = [request] - if change: - get_formsets_args.append(obj) - for FormSet, inline in self.get_formsets_with_inlines(*get_formsets_args): - prefix = FormSet.get_default_prefix() - prefixes[prefix] = prefixes.get(prefix, 0) + 1 - if prefixes[prefix] != 1 or not prefix: - prefix = "%s-%s" % (prefix, prefixes[prefix]) - formset_params = { - 'instance': obj, - 'prefix': prefix, - 'queryset': inline.get_queryset(request), - } - if request.method == 'POST': - formset_params.update({ - 'data': request.POST.copy(), - 'files': request.FILES, - 'save_as_new': '_saveasnew' in request.POST - }) - formset = FormSet(**formset_params) - - def user_deleted_form(request, obj, formset, index): - """Return whether or not the user deleted the form.""" - return ( - inline.has_delete_permission(request, obj) and - '{}-{}-DELETE'.format(formset.prefix, index) in request.POST - ) - - # Bypass validation of each view-only inline form (since the form's - # data won't be in request.POST), unless the form was deleted. - if not inline.has_change_permission(request, obj if change else None): - for index, form in enumerate(formset.initial_forms): - if user_deleted_form(request, obj, formset, index): - continue - form._errors = {} - form.cleaned_data = form.initial - formsets.append(formset) - inline_instances.append(inline) - return formsets, inline_instances - - -class InlineModelAdmin(BaseModelAdmin): - """ - Options for inline editing of ``model`` instances. - - Provide ``fk_name`` to specify the attribute name of the ``ForeignKey`` - from ``model`` to its parent. This is required if ``model`` has more than - one ``ForeignKey`` to its parent. - """ - model = None - fk_name = None - formset = BaseInlineFormSet - extra = 3 - min_num = None - max_num = None - template = None - verbose_name = None - verbose_name_plural = None - can_delete = True - show_change_link = False - checks_class = InlineModelAdminChecks - classes = None - - def __init__(self, parent_model, admin_site): - self.admin_site = admin_site - self.parent_model = parent_model - self.opts = self.model._meta - self.has_registered_model = admin_site.is_registered(self.model) - super().__init__() - if self.verbose_name is None: - self.verbose_name = self.model._meta.verbose_name - if self.verbose_name_plural is None: - self.verbose_name_plural = self.model._meta.verbose_name_plural - - @property - def media(self): - extra = '' if settings.DEBUG else '.min' - js = ['vendor/jquery/jquery%s.js' % extra, 'jquery.init.js', - 'inlines%s.js' % extra] - if self.filter_vertical or self.filter_horizontal: - js.extend(['SelectBox.js', 'SelectFilter2.js']) - if self.classes and 'collapse' in self.classes: - js.append('collapse%s.js' % extra) - return forms.Media(js=['admin/js/%s' % url for url in js]) - - def get_extra(self, request, obj=None, **kwargs): - """Hook for customizing the number of extra inline forms.""" - return self.extra - - def get_min_num(self, request, obj=None, **kwargs): - """Hook for customizing the min number of inline forms.""" - return self.min_num - - def get_max_num(self, request, obj=None, **kwargs): - """Hook for customizing the max number of extra inline forms.""" - return self.max_num - - def get_formset(self, request, obj=None, **kwargs): - """Return a BaseInlineFormSet class for use in admin add/change views.""" - if 'fields' in kwargs: - fields = kwargs.pop('fields') - else: - fields = flatten_fieldsets(self.get_fieldsets(request, obj)) - excluded = self.get_exclude(request, obj) - exclude = [] if excluded is None else list(excluded) - exclude.extend(self.get_readonly_fields(request, obj)) - if excluded is None and hasattr(self.form, '_meta') and self.form._meta.exclude: - # Take the custom ModelForm's Meta.exclude into account only if the - # InlineModelAdmin doesn't define its own. - exclude.extend(self.form._meta.exclude) - # If exclude is an empty list we use None, since that's the actual - # default. - exclude = exclude or None - can_delete = self.can_delete and self.has_delete_permission(request, obj) - defaults = { - 'form': self.form, - 'formset': self.formset, - 'fk_name': self.fk_name, - 'fields': fields, - 'exclude': exclude, - 'formfield_callback': partial(self.formfield_for_dbfield, request=request), - 'extra': self.get_extra(request, obj, **kwargs), - 'min_num': self.get_min_num(request, obj, **kwargs), - 'max_num': self.get_max_num(request, obj, **kwargs), - 'can_delete': can_delete, - **kwargs, - } - - base_model_form = defaults['form'] - can_change = self.has_change_permission(request, obj) if request else True - can_add = self.has_add_permission(request, obj) if request else True - - class DeleteProtectedModelForm(base_model_form): - - def hand_clean_DELETE(self): - """ - We don't validate the 'DELETE' field itself because on - templates it's not rendered using the field information, but - just using a generic "deletion_field" of the InlineModelAdmin. - """ - if self.cleaned_data.get(DELETION_FIELD_NAME, False): - using = router.db_for_write(self._meta.model) - collector = NestedObjects(using=using) - if self.instance._state.adding: - return - collector.collect([self.instance]) - if collector.protected: - objs = [] - for p in collector.protected: - objs.append( - # Translators: Model verbose name and instance representation, - # suitable to be an item in a list. - _('%(class_name)s %(instance)s') % { - 'class_name': p._meta.verbose_name, - 'instance': p} - ) - params = { - 'class_name': self._meta.model._meta.verbose_name, - 'instance': self.instance, - 'related_objects': get_text_list(objs, _('and')), - } - msg = _("Deleting %(class_name)s %(instance)s would require " - "deleting the following protected related objects: " - "%(related_objects)s") - raise ValidationError(msg, code='deleting_protected', params=params) - - def is_valid(self): - result = super().is_valid() - self.hand_clean_DELETE() - return result - - def has_changed(self): - # Protect against unauthorized edits. - if not can_change and not self.instance._state.adding: - return False - if not can_add and self.instance._state.adding: - return False - return super().has_changed() - - defaults['form'] = DeleteProtectedModelForm - - if defaults['fields'] is None and not modelform_defines_fields(defaults['form']): - defaults['fields'] = forms.ALL_FIELDS - - return inlineformset_factory(self.parent_model, self.model, **defaults) - - def _get_form_for_get_fields(self, request, obj=None): - return self.get_formset(request, obj, fields=None).form - - def get_queryset(self, request): - queryset = super().get_queryset(request) - if not self.has_view_or_change_permission(request): - queryset = queryset.none() - return queryset - - def _has_any_perms_for_target_model(self, request, perms): - """ - This method is called only when the ModelAdmin's model is for an - ManyToManyField's implicit through model (if self.opts.auto_created). - Return True if the user has any of the given permissions ('add', - 'change', etc.) for the model that points to the through model. - """ - opts = self.opts - # Find the target model of an auto-created many-to-many relationship. - for field in opts.fields: - if field.remote_field and field.remote_field.model != self.parent_model: - opts = field.remote_field.model._meta - break - return any( - request.user.has_perm('%s.%s' % (opts.app_label, get_permission_codename(perm, opts))) - for perm in perms - ) - - def has_add_permission(self, request, obj): - if self.opts.auto_created: - # Auto-created intermediate models don't have their own - # permissions. The user needs to have the change permission for the - # related model in order to be able to do anything with the - # intermediate model. - return self._has_any_perms_for_target_model(request, ['change']) - return super().has_add_permission(request) - - def has_change_permission(self, request, obj=None): - if self.opts.auto_created: - # Same comment as has_add_permission(). - return self._has_any_perms_for_target_model(request, ['change']) - return super().has_change_permission(request) - - def has_delete_permission(self, request, obj=None): - if self.opts.auto_created: - # Same comment as has_add_permission(). - return self._has_any_perms_for_target_model(request, ['change']) - return super().has_delete_permission(request, obj) - - def has_view_permission(self, request, obj=None): - if self.opts.auto_created: - # Same comment as has_add_permission(). The 'change' permission - # also implies the 'view' permission. - return self._has_any_perms_for_target_model(request, ['view', 'change']) - return super().has_view_permission(request) - - -class StackedInline(InlineModelAdmin): - template = 'admin/edit_inline/stacked.html' - - -class TabularInline(InlineModelAdmin): - template = 'admin/edit_inline/tabular.html' diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/sites.py b/venv/lib/python3.8/site-packages/django/contrib/admin/sites.py deleted file mode 100644 index 72aafe98..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/sites.py +++ /dev/null @@ -1,548 +0,0 @@ -import re -from functools import update_wrapper -from weakref import WeakSet - -from django.apps import apps -from django.contrib.admin import ModelAdmin, actions -from django.contrib.auth import REDIRECT_FIELD_NAME -from django.core.exceptions import ImproperlyConfigured -from django.db.models.base import ModelBase -from django.http import Http404, HttpResponseRedirect -from django.template.response import TemplateResponse -from django.urls import NoReverseMatch, reverse -from django.utils.functional import LazyObject -from django.utils.module_loading import import_string -from django.utils.text import capfirst -from django.utils.translation import gettext as _, gettext_lazy -from django.views.decorators.cache import never_cache -from django.views.decorators.csrf import csrf_protect -from django.views.i18n import JavaScriptCatalog - -all_sites = WeakSet() - - -class AlreadyRegistered(Exception): - pass - - -class NotRegistered(Exception): - pass - - -class AdminSite: - """ - An AdminSite object encapsulates an instance of the Django admin application, ready - to be hooked in to your URLconf. Models are registered with the AdminSite using the - register() method, and the get_urls() method can then be used to access Django view - functions that present a full admin interface for the collection of registered - models. - """ - - # Text to put at the end of each page's . - site_title = gettext_lazy('Django site admin') - - # Text to put in each page's <h1>. - site_header = gettext_lazy('Django administration') - - # Text to put at the top of the admin index page. - index_title = gettext_lazy('Site administration') - - # URL for the "View site" link at the top of each admin page. - site_url = '/' - - enable_nav_sidebar = True - - _empty_value_display = '-' - - login_form = None - index_template = None - app_index_template = None - login_template = None - logout_template = None - password_change_template = None - password_change_done_template = None - - def __init__(self, name='admin'): - self._registry = {} # model_class class -> admin_class instance - self.name = name - self._actions = {'delete_selected': actions.delete_selected} - self._global_actions = self._actions.copy() - all_sites.add(self) - - def check(self, app_configs): - """ - Run the system checks on all ModelAdmins, except if they aren't - customized at all. - """ - if app_configs is None: - app_configs = apps.get_app_configs() - app_configs = set(app_configs) # Speed up lookups below - - errors = [] - modeladmins = (o for o in self._registry.values() if o.__class__ is not ModelAdmin) - for modeladmin in modeladmins: - if modeladmin.model._meta.app_config in app_configs: - errors.extend(modeladmin.check()) - return errors - - def register(self, model_or_iterable, admin_class=None, **options): - """ - Register the given model(s) with the given admin class. - - The model(s) should be Model classes, not instances. - - If an admin class isn't given, use ModelAdmin (the default admin - options). If keyword arguments are given -- e.g., list_display -- - apply them as options to the admin class. - - If a model is already registered, raise AlreadyRegistered. - - If a model is abstract, raise ImproperlyConfigured. - """ - admin_class = admin_class or ModelAdmin - if isinstance(model_or_iterable, ModelBase): - model_or_iterable = [model_or_iterable] - for model in model_or_iterable: - if model._meta.abstract: - raise ImproperlyConfigured( - 'The model %s is abstract, so it cannot be registered with admin.' % model.__name__ - ) - - if model in self._registry: - registered_admin = str(self._registry[model]) - msg = 'The model %s is already registered ' % model.__name__ - if registered_admin.endswith('.ModelAdmin'): - # Most likely registered without a ModelAdmin subclass. - msg += 'in app %r.' % re.sub(r'\.ModelAdmin$', '', registered_admin) - else: - msg += 'with %r.' % registered_admin - raise AlreadyRegistered(msg) - - # Ignore the registration if the model has been - # swapped out. - if not model._meta.swapped: - # If we got **options then dynamically construct a subclass of - # admin_class with those **options. - if options: - # For reasons I don't quite understand, without a __module__ - # the created class appears to "live" in the wrong place, - # which causes issues later on. - options['__module__'] = __name__ - admin_class = type("%sAdmin" % model.__name__, (admin_class,), options) - - # Instantiate the admin class to save in the registry - self._registry[model] = admin_class(model, self) - - def unregister(self, model_or_iterable): - """ - Unregister the given model(s). - - If a model isn't already registered, raise NotRegistered. - """ - if isinstance(model_or_iterable, ModelBase): - model_or_iterable = [model_or_iterable] - for model in model_or_iterable: - if model not in self._registry: - raise NotRegistered('The model %s is not registered' % model.__name__) - del self._registry[model] - - def is_registered(self, model): - """ - Check if a model class is registered with this `AdminSite`. - """ - return model in self._registry - - def add_action(self, action, name=None): - """ - Register an action to be available globally. - """ - name = name or action.__name__ - self._actions[name] = action - self._global_actions[name] = action - - def disable_action(self, name): - """ - Disable a globally-registered action. Raise KeyError for invalid names. - """ - del self._actions[name] - - def get_action(self, name): - """ - Explicitly get a registered global action whether it's enabled or - not. Raise KeyError for invalid names. - """ - return self._global_actions[name] - - @property - def actions(self): - """ - Get all the enabled actions as an iterable of (name, func). - """ - return self._actions.items() - - @property - def empty_value_display(self): - return self._empty_value_display - - @empty_value_display.setter - def empty_value_display(self, empty_value_display): - self._empty_value_display = empty_value_display - - def has_permission(self, request): - """ - Return True if the given HttpRequest has permission to view - *at least one* page in the admin site. - """ - return request.user.is_active and request.user.is_staff - - def admin_view(self, view, cacheable=False): - """ - Decorator to create an admin view attached to this ``AdminSite``. This - wraps the view and provides permission checking by calling - ``self.has_permission``. - - You'll want to use this from within ``AdminSite.get_urls()``: - - class MyAdminSite(AdminSite): - - def get_urls(self): - from django.urls import path - - urls = super().get_urls() - urls += [ - path('my_view/', self.admin_view(some_view)) - ] - return urls - - By default, admin_views are marked non-cacheable using the - ``never_cache`` decorator. If the view can be safely cached, set - cacheable=True. - """ - def inner(request, *args, **kwargs): - if not self.has_permission(request): - if request.path == reverse('admin:logout', current_app=self.name): - index_path = reverse('admin:index', current_app=self.name) - return HttpResponseRedirect(index_path) - # Inner import to prevent django.contrib.admin (app) from - # importing django.contrib.auth.models.User (unrelated model). - from django.contrib.auth.views import redirect_to_login - return redirect_to_login( - request.get_full_path(), - reverse('admin:login', current_app=self.name) - ) - return view(request, *args, **kwargs) - if not cacheable: - inner = never_cache(inner) - # We add csrf_protect here so this function can be used as a utility - # function for any view, without having to repeat 'csrf_protect'. - if not getattr(view, 'csrf_exempt', False): - inner = csrf_protect(inner) - return update_wrapper(inner, view) - - def get_urls(self): - # Since this module gets imported in the application's root package, - # it cannot import models from other applications at the module level, - # and django.contrib.contenttypes.views imports ContentType. - from django.contrib.contenttypes import views as contenttype_views - from django.urls import include, path, re_path - - def wrap(view, cacheable=False): - def wrapper(*args, **kwargs): - return self.admin_view(view, cacheable)(*args, **kwargs) - wrapper.admin_site = self - return update_wrapper(wrapper, view) - - # Admin-site-wide views. - urlpatterns = [ - path('', wrap(self.index), name='index'), - path('login/', self.login, name='login'), - path('logout/', wrap(self.logout), name='logout'), - path('password_change/', wrap(self.password_change, cacheable=True), name='password_change'), - path( - 'password_change/done/', - wrap(self.password_change_done, cacheable=True), - name='password_change_done', - ), - path('jsi18n/', wrap(self.i18n_javascript, cacheable=True), name='jsi18n'), - path( - 'r/<int:content_type_id>/<path:object_id>/', - wrap(contenttype_views.shortcut), - name='view_on_site', - ), - ] - - # Add in each model's views, and create a list of valid URLS for the - # app_index - valid_app_labels = [] - for model, model_admin in self._registry.items(): - urlpatterns += [ - path('%s/%s/' % (model._meta.app_label, model._meta.model_name), include(model_admin.urls)), - ] - if model._meta.app_label not in valid_app_labels: - valid_app_labels.append(model._meta.app_label) - - # If there were ModelAdmins registered, we should have a list of app - # labels for which we need to allow access to the app_index view, - if valid_app_labels: - regex = r'^(?P<app_label>' + '|'.join(valid_app_labels) + ')/$' - urlpatterns += [ - re_path(regex, wrap(self.app_index), name='app_list'), - ] - return urlpatterns - - @property - def urls(self): - return self.get_urls(), 'admin', self.name - - def each_context(self, request): - """ - Return a dictionary of variables to put in the template context for - *every* page in the admin site. - - For sites running on a subpath, use the SCRIPT_NAME value if site_url - hasn't been customized. - """ - script_name = request.META['SCRIPT_NAME'] - site_url = script_name if self.site_url == '/' and script_name else self.site_url - return { - 'site_title': self.site_title, - 'site_header': self.site_header, - 'site_url': site_url, - 'has_permission': self.has_permission(request), - 'available_apps': self.get_app_list(request), - 'is_popup': False, - 'is_nav_sidebar_enabled': self.enable_nav_sidebar, - } - - def password_change(self, request, extra_context=None): - """ - Handle the "change password" task -- both form display and validation. - """ - from django.contrib.admin.forms import AdminPasswordChangeForm - from django.contrib.auth.views import PasswordChangeView - url = reverse('admin:password_change_done', current_app=self.name) - defaults = { - 'form_class': AdminPasswordChangeForm, - 'success_url': url, - 'extra_context': {**self.each_context(request), **(extra_context or {})}, - } - if self.password_change_template is not None: - defaults['template_name'] = self.password_change_template - request.current_app = self.name - return PasswordChangeView.as_view(**defaults)(request) - - def password_change_done(self, request, extra_context=None): - """ - Display the "success" page after a password change. - """ - from django.contrib.auth.views import PasswordChangeDoneView - defaults = { - 'extra_context': {**self.each_context(request), **(extra_context or {})}, - } - if self.password_change_done_template is not None: - defaults['template_name'] = self.password_change_done_template - request.current_app = self.name - return PasswordChangeDoneView.as_view(**defaults)(request) - - def i18n_javascript(self, request, extra_context=None): - """ - Display the i18n JavaScript that the Django admin requires. - - `extra_context` is unused but present for consistency with the other - admin views. - """ - return JavaScriptCatalog.as_view(packages=['django.contrib.admin'])(request) - - @never_cache - def logout(self, request, extra_context=None): - """ - Log out the user for the given HttpRequest. - - This should *not* assume the user is already logged in. - """ - from django.contrib.auth.views import LogoutView - defaults = { - 'extra_context': { - **self.each_context(request), - # Since the user isn't logged out at this point, the value of - # has_permission must be overridden. - 'has_permission': False, - **(extra_context or {}) - }, - } - if self.logout_template is not None: - defaults['template_name'] = self.logout_template - request.current_app = self.name - return LogoutView.as_view(**defaults)(request) - - @never_cache - def login(self, request, extra_context=None): - """ - Display the login form for the given HttpRequest. - """ - if request.method == 'GET' and self.has_permission(request): - # Already logged-in, redirect to admin index - index_path = reverse('admin:index', current_app=self.name) - return HttpResponseRedirect(index_path) - - # Since this module gets imported in the application's root package, - # it cannot import models from other applications at the module level, - # and django.contrib.admin.forms eventually imports User. - from django.contrib.admin.forms import AdminAuthenticationForm - from django.contrib.auth.views import LoginView - context = { - **self.each_context(request), - 'title': _('Log in'), - 'app_path': request.get_full_path(), - 'username': request.user.get_username(), - } - if (REDIRECT_FIELD_NAME not in request.GET and - REDIRECT_FIELD_NAME not in request.POST): - context[REDIRECT_FIELD_NAME] = reverse('admin:index', current_app=self.name) - context.update(extra_context or {}) - - defaults = { - 'extra_context': context, - 'authentication_form': self.login_form or AdminAuthenticationForm, - 'template_name': self.login_template or 'admin/login.html', - } - request.current_app = self.name - return LoginView.as_view(**defaults)(request) - - def _build_app_dict(self, request, label=None): - """ - Build the app dictionary. The optional `label` parameter filters models - of a specific app. - """ - app_dict = {} - - if label: - models = { - m: m_a for m, m_a in self._registry.items() - if m._meta.app_label == label - } - else: - models = self._registry - - for model, model_admin in models.items(): - app_label = model._meta.app_label - - has_module_perms = model_admin.has_module_permission(request) - if not has_module_perms: - continue - - perms = model_admin.get_model_perms(request) - - # Check whether user has any perm for this module. - # If so, add the module to the model_list. - if True not in perms.values(): - continue - - info = (app_label, model._meta.model_name) - model_dict = { - 'name': capfirst(model._meta.verbose_name_plural), - 'object_name': model._meta.object_name, - 'perms': perms, - 'admin_url': None, - 'add_url': None, - } - if perms.get('change') or perms.get('view'): - model_dict['view_only'] = not perms.get('change') - try: - model_dict['admin_url'] = reverse('admin:%s_%s_changelist' % info, current_app=self.name) - except NoReverseMatch: - pass - if perms.get('add'): - try: - model_dict['add_url'] = reverse('admin:%s_%s_add' % info, current_app=self.name) - except NoReverseMatch: - pass - - if app_label in app_dict: - app_dict[app_label]['models'].append(model_dict) - else: - app_dict[app_label] = { - 'name': apps.get_app_config(app_label).verbose_name, - 'app_label': app_label, - 'app_url': reverse( - 'admin:app_list', - kwargs={'app_label': app_label}, - current_app=self.name, - ), - 'has_module_perms': has_module_perms, - 'models': [model_dict], - } - - if label: - return app_dict.get(label) - return app_dict - - def get_app_list(self, request): - """ - Return a sorted list of all the installed apps that have been - registered in this site. - """ - app_dict = self._build_app_dict(request) - - # Sort the apps alphabetically. - app_list = sorted(app_dict.values(), key=lambda x: x['name'].lower()) - - # Sort the models alphabetically within each app. - for app in app_list: - app['models'].sort(key=lambda x: x['name']) - - return app_list - - @never_cache - def index(self, request, extra_context=None): - """ - Display the main admin index page, which lists all of the installed - apps that have been registered in this site. - """ - app_list = self.get_app_list(request) - - context = { - **self.each_context(request), - 'title': self.index_title, - 'app_list': app_list, - **(extra_context or {}), - } - - request.current_app = self.name - - return TemplateResponse(request, self.index_template or 'admin/index.html', context) - - def app_index(self, request, app_label, extra_context=None): - app_dict = self._build_app_dict(request, app_label) - if not app_dict: - raise Http404('The requested admin page does not exist.') - # Sort the models alphabetically within each app. - app_dict['models'].sort(key=lambda x: x['name']) - app_name = apps.get_app_config(app_label).verbose_name - context = { - **self.each_context(request), - 'title': _('%(app)s administration') % {'app': app_name}, - 'app_list': [app_dict], - 'app_label': app_label, - **(extra_context or {}), - } - - request.current_app = self.name - - return TemplateResponse(request, self.app_index_template or [ - 'admin/%s/app_index.html' % app_label, - 'admin/app_index.html' - ], context) - - -class DefaultAdminSite(LazyObject): - def _setup(self): - AdminSiteClass = import_string(apps.get_app_config('admin').default_site) - self._wrapped = AdminSiteClass() - - -# This global object represents the default admin site, for the common case. -# You can provide your own AdminSite using the (Simple)AdminConfig.default_site -# attribute. You can also instantiate AdminSite in your own code to create a -# custom admin site. -site = DefaultAdminSite() diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/css/autocomplete.css b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/css/autocomplete.css deleted file mode 100644 index 3ef95d15..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/css/autocomplete.css +++ /dev/null @@ -1,260 +0,0 @@ -select.admin-autocomplete { - width: 20em; -} - -.select2-container--admin-autocomplete.select2-container { - min-height: 30px; -} - -.select2-container--admin-autocomplete .select2-selection--single, -.select2-container--admin-autocomplete .select2-selection--multiple { - min-height: 30px; - padding: 0; -} - -.select2-container--admin-autocomplete.select2-container--focus .select2-selection, -.select2-container--admin-autocomplete.select2-container--open .select2-selection { - border-color: #999; - min-height: 30px; -} - -.select2-container--admin-autocomplete.select2-container--focus .select2-selection.select2-selection--single, -.select2-container--admin-autocomplete.select2-container--open .select2-selection.select2-selection--single { - padding: 0; -} - -.select2-container--admin-autocomplete.select2-container--focus .select2-selection.select2-selection--multiple, -.select2-container--admin-autocomplete.select2-container--open .select2-selection.select2-selection--multiple { - padding: 0; -} - -.select2-container--admin-autocomplete .select2-selection--single { - background-color: #fff; - border: 1px solid #ccc; - border-radius: 4px; -} - -.select2-container--admin-autocomplete .select2-selection--single .select2-selection__rendered { - color: #444; - line-height: 30px; -} - -.select2-container--admin-autocomplete .select2-selection--single .select2-selection__clear { - cursor: pointer; - float: right; - font-weight: bold; -} - -.select2-container--admin-autocomplete .select2-selection--single .select2-selection__placeholder { - color: #999; -} - -.select2-container--admin-autocomplete .select2-selection--single .select2-selection__arrow { - height: 26px; - position: absolute; - top: 1px; - right: 1px; - width: 20px; -} - -.select2-container--admin-autocomplete .select2-selection--single .select2-selection__arrow b { - border-color: #888 transparent transparent transparent; - border-style: solid; - border-width: 5px 4px 0 4px; - height: 0; - left: 50%; - margin-left: -4px; - margin-top: -2px; - position: absolute; - top: 50%; - width: 0; -} - -.select2-container--admin-autocomplete[dir="rtl"] .select2-selection--single .select2-selection__clear { - float: left; -} - -.select2-container--admin-autocomplete[dir="rtl"] .select2-selection--single .select2-selection__arrow { - left: 1px; - right: auto; -} - -.select2-container--admin-autocomplete.select2-container--disabled .select2-selection--single { - background-color: #eee; - cursor: default; -} - -.select2-container--admin-autocomplete.select2-container--disabled .select2-selection--single .select2-selection__clear { - display: none; -} - -.select2-container--admin-autocomplete.select2-container--open .select2-selection--single .select2-selection__arrow b { - border-color: transparent transparent #888 transparent; - border-width: 0 4px 5px 4px; -} - -.select2-container--admin-autocomplete .select2-selection--multiple { - background-color: white; - border: 1px solid #ccc; - border-radius: 4px; - cursor: text; -} - -.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__rendered { - box-sizing: border-box; - list-style: none; - margin: 0; - padding: 0 5px; - width: 100%; -} - -.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__rendered li { - list-style: none; -} - -.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__placeholder { - color: #999; - margin-top: 5px; - float: left; -} - -.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__clear { - cursor: pointer; - float: right; - font-weight: bold; - margin: 5px; -} - -.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__choice { - background-color: #e4e4e4; - border: 1px solid #ccc; - border-radius: 4px; - cursor: default; - float: left; - margin-right: 5px; - margin-top: 5px; - padding: 0 5px; -} - -.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__choice__remove { - color: #999; - cursor: pointer; - display: inline-block; - font-weight: bold; - margin-right: 2px; -} - -.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__choice__remove:hover { - color: #333; -} - -.select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder, .select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-search--inline { - float: right; -} - -.select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-selection__choice { - margin-left: 5px; - margin-right: auto; -} - -.select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { - margin-left: 2px; - margin-right: auto; -} - -.select2-container--admin-autocomplete.select2-container--focus .select2-selection--multiple { - border: solid #999 1px; - outline: 0; -} - -.select2-container--admin-autocomplete.select2-container--disabled .select2-selection--multiple { - background-color: #eee; - cursor: default; -} - -.select2-container--admin-autocomplete.select2-container--disabled .select2-selection__choice__remove { - display: none; -} - -.select2-container--admin-autocomplete.select2-container--open.select2-container--above .select2-selection--single, .select2-container--admin-autocomplete.select2-container--open.select2-container--above .select2-selection--multiple { - border-top-left-radius: 0; - border-top-right-radius: 0; -} - -.select2-container--admin-autocomplete.select2-container--open.select2-container--below .select2-selection--single, .select2-container--admin-autocomplete.select2-container--open.select2-container--below .select2-selection--multiple { - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; -} - -.select2-container--admin-autocomplete .select2-search--dropdown .select2-search__field { - border: 1px solid #ccc; -} - -.select2-container--admin-autocomplete .select2-search--inline .select2-search__field { - background: transparent; - border: none; - outline: 0; - box-shadow: none; - -webkit-appearance: textfield; -} - -.select2-container--admin-autocomplete .select2-results > .select2-results__options { - max-height: 200px; - overflow-y: auto; -} - -.select2-container--admin-autocomplete .select2-results__option[role=group] { - padding: 0; -} - -.select2-container--admin-autocomplete .select2-results__option[aria-disabled=true] { - color: #999; -} - -.select2-container--admin-autocomplete .select2-results__option[aria-selected=true] { - background-color: #ddd; -} - -.select2-container--admin-autocomplete .select2-results__option .select2-results__option { - padding-left: 1em; -} - -.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__group { - padding-left: 0; -} - -.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option { - margin-left: -1em; - padding-left: 2em; -} - -.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option .select2-results__option { - margin-left: -2em; - padding-left: 3em; -} - -.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { - margin-left: -3em; - padding-left: 4em; -} - -.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { - margin-left: -4em; - padding-left: 5em; -} - -.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { - margin-left: -5em; - padding-left: 6em; -} - -.select2-container--admin-autocomplete .select2-results__option--highlighted[aria-selected] { - background-color: #79aec8; - color: white; -} - -.select2-container--admin-autocomplete .select2-results__group { - cursor: default; - display: block; - padding: 6px; -} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/css/base.css b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/css/base.css deleted file mode 100644 index c4285195..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/css/base.css +++ /dev/null @@ -1,966 +0,0 @@ -/* - DJANGO Admin styles -*/ - -@import url(fonts.css); - -html, body { - height: 100%; -} - -body { - margin: 0; - padding: 0; - font-size: 14px; - font-family: "Roboto","Lucida Grande","DejaVu Sans","Bitstream Vera Sans",Verdana,Arial,sans-serif; - color: #333; - background: #fff; -} - -/* LINKS */ - -a:link, a:visited { - color: #447e9b; - text-decoration: none; -} - -a:focus, a:hover { - color: #036; -} - -a:focus { - text-decoration: underline; -} - -a img { - border: none; -} - -a.section:link, a.section:visited { - color: #fff; - text-decoration: none; -} - -a.section:focus, a.section:hover { - text-decoration: underline; -} - -/* GLOBAL DEFAULTS */ - -p, ol, ul, dl { - margin: .2em 0 .8em 0; -} - -p { - padding: 0; - line-height: 140%; -} - -h1,h2,h3,h4,h5 { - font-weight: bold; -} - -h1 { - margin: 0 0 20px; - font-weight: 300; - font-size: 20px; - color: #666; -} - -h2 { - font-size: 16px; - margin: 1em 0 .5em 0; -} - -h2.subhead { - font-weight: normal; - margin-top: 0; -} - -h3 { - font-size: 14px; - margin: .8em 0 .3em 0; - color: #666; - font-weight: bold; -} - -h4 { - font-size: 12px; - margin: 1em 0 .8em 0; - padding-bottom: 3px; -} - -h5 { - font-size: 10px; - margin: 1.5em 0 .5em 0; - color: #666; - text-transform: uppercase; - letter-spacing: 1px; -} - -ul > li { - list-style-type: square; - padding: 1px 0; -} - -li ul { - margin-bottom: 0; -} - -li, dt, dd { - font-size: 13px; - line-height: 20px; -} - -dt { - font-weight: bold; - margin-top: 4px; -} - -dd { - margin-left: 0; -} - -form { - margin: 0; - padding: 0; -} - -fieldset { - margin: 0; - min-width: 0; - padding: 0; - border: none; - border-top: 1px solid #eee; -} - -blockquote { - font-size: 11px; - color: #777; - margin-left: 2px; - padding-left: 10px; - border-left: 5px solid #ddd; -} - -code, pre { - font-family: "Bitstream Vera Sans Mono", Monaco, "Courier New", Courier, monospace; - color: #666; - font-size: 12px; - overflow-x: auto; -} - -pre.literal-block { - margin: 10px; - background: #eee; - padding: 6px 8px; -} - -code strong { - color: #930; -} - -hr { - clear: both; - color: #eee; - background-color: #eee; - height: 1px; - border: none; - margin: 0; - padding: 0; - font-size: 1px; - line-height: 1px; -} - -/* TEXT STYLES & MODIFIERS */ - -.small { - font-size: 11px; -} - -.mini { - font-size: 10px; -} - -.help, p.help, form p.help, div.help, form div.help, div.help li { - font-size: 11px; - color: #999; -} - -div.help ul { - margin-bottom: 0; -} - -.help-tooltip { - cursor: help; -} - -p img, h1 img, h2 img, h3 img, h4 img, td img { - vertical-align: middle; -} - -.quiet, a.quiet:link, a.quiet:visited { - color: #999; - font-weight: normal; -} - -.clear { - clear: both; -} - -.nowrap { - white-space: nowrap; -} - -/* TABLES */ - -table { - border-collapse: collapse; - border-color: #ccc; -} - -td, th { - font-size: 13px; - line-height: 16px; - border-bottom: 1px solid #eee; - vertical-align: top; - padding: 8px; - font-family: "Roboto", "Lucida Grande", Verdana, Arial, sans-serif; -} - -th { - font-weight: 600; - text-align: left; -} - -thead th, -tfoot td { - color: #666; - padding: 5px 10px; - font-size: 11px; - background: #fff; - border: none; - border-top: 1px solid #eee; - border-bottom: 1px solid #eee; -} - -tfoot td { - border-bottom: none; - border-top: 1px solid #eee; -} - -thead th.required { - color: #000; -} - -tr.alt { - background: #f6f6f6; -} - -tr:nth-child(odd), .row-form-errors { - background: #fff; -} - -tr:nth-child(even), -tr:nth-child(even) .errorlist, -tr:nth-child(odd) + .row-form-errors, -tr:nth-child(odd) + .row-form-errors .errorlist { - background: #f9f9f9; -} - -/* SORTABLE TABLES */ - -thead th { - padding: 5px 10px; - line-height: normal; - text-transform: uppercase; - background: #f6f6f6; -} - -thead th a:link, thead th a:visited { - color: #666; -} - -thead th.sorted { - background: #eee; -} - -thead th.sorted .text { - padding-right: 42px; -} - -table thead th .text span { - padding: 8px 10px; - display: block; -} - -table thead th .text a { - display: block; - cursor: pointer; - padding: 8px 10px; -} - -table thead th .text a:focus, table thead th .text a:hover { - background: #eee; -} - -thead th.sorted a.sortremove { - visibility: hidden; -} - -table thead th.sorted:hover a.sortremove { - visibility: visible; -} - -table thead th.sorted .sortoptions { - display: block; - padding: 9px 5px 0 5px; - float: right; - text-align: right; -} - -table thead th.sorted .sortpriority { - font-size: .8em; - min-width: 12px; - text-align: center; - vertical-align: 3px; - margin-left: 2px; - margin-right: 2px; -} - -table thead th.sorted .sortoptions a { - position: relative; - width: 14px; - height: 14px; - display: inline-block; - background: url(../img/sorting-icons.svg) 0 0 no-repeat; - background-size: 14px auto; -} - -table thead th.sorted .sortoptions a.sortremove { - background-position: 0 0; -} - -table thead th.sorted .sortoptions a.sortremove:after { - content: '\\'; - position: absolute; - top: -6px; - left: 3px; - font-weight: 200; - font-size: 18px; - color: #999; -} - -table thead th.sorted .sortoptions a.sortremove:focus:after, -table thead th.sorted .sortoptions a.sortremove:hover:after { - color: #447e9b; -} - -table thead th.sorted .sortoptions a.sortremove:focus, -table thead th.sorted .sortoptions a.sortremove:hover { - background-position: 0 -14px; -} - -table thead th.sorted .sortoptions a.ascending { - background-position: 0 -28px; -} - -table thead th.sorted .sortoptions a.ascending:focus, -table thead th.sorted .sortoptions a.ascending:hover { - background-position: 0 -42px; -} - -table thead th.sorted .sortoptions a.descending { - top: 1px; - background-position: 0 -56px; -} - -table thead th.sorted .sortoptions a.descending:focus, -table thead th.sorted .sortoptions a.descending:hover { - background-position: 0 -70px; -} - -/* FORM DEFAULTS */ - -input, textarea, select, .form-row p, form .button { - margin: 2px 0; - padding: 2px 3px; - vertical-align: middle; - font-family: "Roboto", "Lucida Grande", Verdana, Arial, sans-serif; - font-weight: normal; - font-size: 13px; -} -.form-row div.help { - padding: 2px 3px; -} - -textarea { - vertical-align: top; -} - -input[type=text], input[type=password], input[type=email], input[type=url], -input[type=number], input[type=tel], textarea, select, .vTextField { - border: 1px solid #ccc; - border-radius: 4px; - padding: 5px 6px; - margin-top: 0; -} - -input[type=text]:focus, input[type=password]:focus, input[type=email]:focus, -input[type=url]:focus, input[type=number]:focus, input[type=tel]:focus, -textarea:focus, select:focus, .vTextField:focus { - border-color: #999; -} - -select { - height: 30px; -} - -select[multiple] { - /* Allow HTML size attribute to override the height in the rule above. */ - height: auto; - min-height: 150px; -} - -/* FORM BUTTONS */ - -.button, input[type=submit], input[type=button], .submit-row input, a.button { - background: #79aec8; - padding: 10px 15px; - border: none; - border-radius: 4px; - color: #fff; - cursor: pointer; -} - -a.button { - padding: 4px 5px; -} - -.button:active, input[type=submit]:active, input[type=button]:active, -.button:focus, input[type=submit]:focus, input[type=button]:focus, -.button:hover, input[type=submit]:hover, input[type=button]:hover { - background: #609ab6; -} - -.button[disabled], input[type=submit][disabled], input[type=button][disabled] { - opacity: 0.4; -} - -.button.default, input[type=submit].default, .submit-row input.default { - float: right; - border: none; - font-weight: 400; - background: #417690; -} - -.button.default:active, input[type=submit].default:active, -.button.default:focus, input[type=submit].default:focus, -.button.default:hover, input[type=submit].default:hover { - background: #205067; -} - -.button[disabled].default, -input[type=submit][disabled].default, -input[type=button][disabled].default { - opacity: 0.4; -} - - -/* MODULES */ - -.module { - border: none; - margin-bottom: 30px; - background: #fff; -} - -.module p, .module ul, .module h3, .module h4, .module dl, .module pre { - padding-left: 10px; - padding-right: 10px; -} - -.module blockquote { - margin-left: 12px; -} - -.module ul, .module ol { - margin-left: 1.5em; -} - -.module h3 { - margin-top: .6em; -} - -.module h2, .module caption, .inline-group h2 { - margin: 0; - padding: 8px; - font-weight: 400; - font-size: 13px; - text-align: left; - background: #79aec8; - color: #fff; -} - -.module caption, -.inline-group h2 { - font-size: 12px; - letter-spacing: 0.5px; - text-transform: uppercase; -} - -.module table { - border-collapse: collapse; -} - -/* MESSAGES & ERRORS */ - -ul.messagelist { - padding: 0; - margin: 0; -} - -ul.messagelist li { - display: block; - font-weight: 400; - font-size: 13px; - padding: 10px 10px 10px 65px; - margin: 0 0 10px 0; - background: #dfd url(../img/icon-yes.svg) 40px 12px no-repeat; - background-size: 16px auto; - color: #333; -} - -ul.messagelist li.warning { - background: #ffc url(../img/icon-alert.svg) 40px 14px no-repeat; - background-size: 14px auto; -} - -ul.messagelist li.error { - background: #ffefef url(../img/icon-no.svg) 40px 12px no-repeat; - background-size: 16px auto; -} - -.errornote { - font-size: 14px; - font-weight: 700; - display: block; - padding: 10px 12px; - margin: 0 0 10px 0; - color: #ba2121; - border: 1px solid #ba2121; - border-radius: 4px; - background-color: #fff; - background-position: 5px 12px; -} - -ul.errorlist { - margin: 0 0 4px; - padding: 0; - color: #ba2121; - background: #fff; -} - -ul.errorlist li { - font-size: 13px; - display: block; - margin-bottom: 4px; -} - -ul.errorlist li:first-child { - margin-top: 0; -} - -ul.errorlist li a { - color: inherit; - text-decoration: underline; -} - -td ul.errorlist { - margin: 0; - padding: 0; -} - -td ul.errorlist li { - margin: 0; -} - -.form-row.errors { - margin: 0; - border: none; - border-bottom: 1px solid #eee; - background: none; -} - -.form-row.errors ul.errorlist li { - padding-left: 0; -} - -.errors input, .errors select, .errors textarea, -td ul.errorlist + input, td ul.errorlist + select, td ul.errorlist + textarea { - border: 1px solid #ba2121; -} - -.description { - font-size: 12px; - padding: 5px 0 0 12px; -} - -/* BREADCRUMBS */ - -div.breadcrumbs { - background: #79aec8; - padding: 10px 40px; - border: none; - font-size: 14px; - color: #c4dce8; - text-align: left; -} - -div.breadcrumbs a { - color: #fff; -} - -div.breadcrumbs a:focus, div.breadcrumbs a:hover { - color: #c4dce8; -} - -/* ACTION ICONS */ - -.viewlink, .inlineviewlink { - padding-left: 16px; - background: url(../img/icon-viewlink.svg) 0 1px no-repeat; -} - -.addlink { - padding-left: 16px; - background: url(../img/icon-addlink.svg) 0 1px no-repeat; -} - -.changelink, .inlinechangelink { - padding-left: 16px; - background: url(../img/icon-changelink.svg) 0 1px no-repeat; -} - -.deletelink { - padding-left: 16px; - background: url(../img/icon-deletelink.svg) 0 1px no-repeat; -} - -a.deletelink:link, a.deletelink:visited { - color: #CC3434; -} - -a.deletelink:focus, a.deletelink:hover { - color: #993333; - text-decoration: none; -} - -/* OBJECT TOOLS */ - -.object-tools { - font-size: 10px; - font-weight: bold; - padding-left: 0; - float: right; - position: relative; - margin-top: -48px; -} - -.form-row .object-tools { - margin-top: 5px; - margin-bottom: 5px; - float: none; - height: 2em; - padding-left: 3.5em; -} - -.object-tools li { - display: block; - float: left; - margin-left: 5px; - height: 16px; -} - -.object-tools a { - border-radius: 15px; -} - -.object-tools a:link, .object-tools a:visited { - display: block; - float: left; - padding: 3px 12px; - background: #999; - font-weight: 400; - font-size: 11px; - text-transform: uppercase; - letter-spacing: 0.5px; - color: #fff; -} - -.object-tools a:focus, .object-tools a:hover { - background-color: #417690; -} - -.object-tools a:focus{ - text-decoration: none; -} - -.object-tools a.viewsitelink, .object-tools a.golink,.object-tools a.addlink { - background-repeat: no-repeat; - background-position: right 7px center; - padding-right: 26px; -} - -.object-tools a.viewsitelink, .object-tools a.golink { - background-image: url(../img/tooltag-arrowright.svg); -} - -.object-tools a.addlink { - background-image: url(../img/tooltag-add.svg); -} - -/* OBJECT HISTORY */ - -table#change-history { - width: 100%; -} - -table#change-history tbody th { - width: 16em; -} - -/* PAGE STRUCTURE */ - -#container { - position: relative; - width: 100%; - min-width: 980px; - padding: 0; - display: flex; - flex-direction: column; - height: 100%; -} - -#container > div { - flex-shrink: 0; -} - -#container > .main { - display: flex; - flex: 1 0 auto; -} - -.main > .content { - flex: 1 0; - max-width: 100%; -} - -#content { - padding: 20px 40px; -} - -.dashboard #content { - width: 600px; -} - -#content-main { - float: left; - width: 100%; -} - -#content-related { - float: right; - width: 260px; - position: relative; - margin-right: -300px; -} - -#footer { - clear: both; - padding: 10px; -} - -/* COLUMN TYPES */ - -.colMS { - margin-right: 300px; -} - -.colSM { - margin-left: 300px; -} - -.colSM #content-related { - float: left; - margin-right: 0; - margin-left: -300px; -} - -.colSM #content-main { - float: right; -} - -.popup .colM { - width: auto; -} - -/* HEADER */ - -#header { - width: auto; - height: auto; - display: flex; - justify-content: space-between; - align-items: center; - padding: 10px 40px; - background: #417690; - color: #ffc; - overflow: hidden; -} - -#header a:link, #header a:visited { - color: #fff; -} - -#header a:focus , #header a:hover { - text-decoration: underline; -} - -#branding { - float: left; -} - -#branding h1 { - padding: 0; - margin: 0 20px 0 0; - font-weight: 300; - font-size: 24px; - color: #f5dd5d; -} - -#branding h1, #branding h1 a:link, #branding h1 a:visited { - color: #f5dd5d; -} - -#branding h2 { - padding: 0 10px; - font-size: 14px; - margin: -8px 0 8px 0; - font-weight: normal; - color: #ffc; -} - -#branding a:hover { - text-decoration: none; -} - -#user-tools { - float: right; - padding: 0; - margin: 0 0 0 20px; - font-weight: 300; - font-size: 11px; - letter-spacing: 0.5px; - text-transform: uppercase; - text-align: right; -} - -#user-tools a { - border-bottom: 1px solid rgba(255, 255, 255, 0.25); -} - -#user-tools a:focus, #user-tools a:hover { - text-decoration: none; - border-bottom-color: #79aec8; - color: #79aec8; -} - -/* SIDEBAR */ - -#content-related { - background: #f8f8f8; -} - -#content-related .module { - background: none; -} - -#content-related h3 { - font-size: 14px; - color: #666; - padding: 0 16px; - margin: 0 0 16px; -} - -#content-related h4 { - font-size: 13px; -} - -#content-related p { - padding-left: 16px; - padding-right: 16px; -} - -#content-related .actionlist { - padding: 0; - margin: 16px; -} - -#content-related .actionlist li { - line-height: 1.2; - margin-bottom: 10px; - padding-left: 18px; -} - -#content-related .module h2 { - background: none; - padding: 16px; - margin-bottom: 16px; - border-bottom: 1px solid #eaeaea; - font-size: 18px; - color: #333; -} - -.delete-confirmation form input[type="submit"] { - background: #ba2121; - border-radius: 4px; - padding: 10px 15px; - color: #fff; -} - -.delete-confirmation form input[type="submit"]:active, -.delete-confirmation form input[type="submit"]:focus, -.delete-confirmation form input[type="submit"]:hover { - background: #a41515; -} - -.delete-confirmation form .cancel-link { - display: inline-block; - vertical-align: middle; - height: 15px; - line-height: 15px; - background: #ddd; - border-radius: 4px; - padding: 10px 15px; - color: #333; - margin: 0 0 0 10px; -} - -.delete-confirmation form .cancel-link:active, -.delete-confirmation form .cancel-link:focus, -.delete-confirmation form .cancel-link:hover { - background: #ccc; -} - -/* POPUP */ -.popup #content { - padding: 20px; -} - -.popup #container { - min-width: 0; -} - -.popup #header { - padding: 10px 20px; -} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/css/changelists.css b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/css/changelists.css deleted file mode 100644 index a1642540..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/css/changelists.css +++ /dev/null @@ -1,355 +0,0 @@ -/* CHANGELISTS */ - -#changelist { - display: flex; - align-items: flex-start; - justify-content: space-between; -} - -#changelist .changelist-form-container { - flex: 1 1 auto; - min-width: 0; -} - -#changelist table { - width: 100%; -} - -.change-list .hiddenfields { display:none; } - -.change-list .filtered table { - border-right: none; -} - -.change-list .filtered { - min-height: 400px; -} - -.change-list .filtered .results, .change-list .filtered .paginator, -.filtered #toolbar, .filtered div.xfull { - width: auto; -} - -.change-list .filtered table tbody th { - padding-right: 1em; -} - -#changelist-form .results { - overflow-x: auto; - width: 100%; -} - -#changelist .toplinks { - border-bottom: 1px solid #ddd; -} - -#changelist .paginator { - color: #666; - border-bottom: 1px solid #eee; - background: #fff; - overflow: hidden; -} - -/* CHANGELIST TABLES */ - -#changelist table thead th { - padding: 0; - white-space: nowrap; - vertical-align: middle; -} - -#changelist table thead th.action-checkbox-column { - width: 1.5em; - text-align: center; -} - -#changelist table tbody td.action-checkbox { - text-align: center; -} - -#changelist table tfoot { - color: #666; -} - -/* TOOLBAR */ - -#toolbar { - padding: 8px 10px; - margin-bottom: 15px; - border-top: 1px solid #eee; - border-bottom: 1px solid #eee; - background: #f8f8f8; - color: #666; -} - -#toolbar form input { - border-radius: 4px; - font-size: 14px; - padding: 5px; - color: #333; -} - -#toolbar #searchbar { - height: 19px; - border: 1px solid #ccc; - padding: 2px 5px; - margin: 0; - vertical-align: top; - font-size: 13px; - max-width: 100%; -} - -#toolbar #searchbar:focus { - border-color: #999; -} - -#toolbar form input[type="submit"] { - border: 1px solid #ccc; - font-size: 13px; - padding: 4px 8px; - margin: 0; - vertical-align: middle; - background: #fff; - box-shadow: 0 -15px 20px -10px rgba(0, 0, 0, 0.15) inset; - cursor: pointer; - color: #333; -} - -#toolbar form input[type="submit"]:focus, -#toolbar form input[type="submit"]:hover { - border-color: #999; -} - -#changelist-search img { - vertical-align: middle; - margin-right: 4px; -} - -/* FILTER COLUMN */ - -#changelist-filter { - flex: 0 0 240px; - order: 1; - width: 240px; - background: #f8f8f8; - border-left: none; - margin: 0 0 0 30px; -} - -#changelist-filter h2 { - font-size: 14px; - text-transform: uppercase; - letter-spacing: 0.5px; - padding: 5px 15px; - margin-bottom: 12px; - border-bottom: none; -} - -#changelist-filter h3 { - font-weight: 400; - font-size: 14px; - padding: 0 15px; - margin-bottom: 10px; -} - -#changelist-filter ul { - margin: 5px 0; - padding: 0 15px 15px; - border-bottom: 1px solid #eaeaea; -} - -#changelist-filter ul:last-child { - border-bottom: none; -} - -#changelist-filter li { - list-style-type: none; - margin-left: 0; - padding-left: 0; -} - -#changelist-filter a { - display: block; - color: #999; - text-overflow: ellipsis; - overflow-x: hidden; -} - -#changelist-filter li.selected { - border-left: 5px solid #eaeaea; - padding-left: 10px; - margin-left: -15px; -} - -#changelist-filter li.selected a { - color: #5b80b2; -} - -#changelist-filter a:focus, #changelist-filter a:hover, -#changelist-filter li.selected a:focus, -#changelist-filter li.selected a:hover { - color: #036; -} - -#changelist-filter #changelist-filter-clear a { - font-size: 13px; - padding-bottom: 10px; - border-bottom: 1px solid #eaeaea; -} - -/* DATE DRILLDOWN */ - -.change-list ul.toplinks { - display: block; - float: left; - padding: 0; - margin: 0; - width: 100%; -} - -.change-list ul.toplinks li { - padding: 3px 6px; - font-weight: bold; - list-style-type: none; - display: inline-block; -} - -.change-list ul.toplinks .date-back a { - color: #999; -} - -.change-list ul.toplinks .date-back a:focus, -.change-list ul.toplinks .date-back a:hover { - color: #036; -} - -/* PAGINATOR */ - -.paginator { - font-size: 13px; - padding-top: 10px; - padding-bottom: 10px; - line-height: 22px; - margin: 0; - border-top: 1px solid #ddd; - width: 100%; -} - -.paginator a:link, .paginator a:visited { - padding: 2px 6px; - background: #79aec8; - text-decoration: none; - color: #fff; -} - -.paginator a.showall { - border: none; - background: none; - color: #5b80b2; -} - -.paginator a.showall:focus, .paginator a.showall:hover { - background: none; - color: #036; -} - -.paginator .end { - margin-right: 6px; -} - -.paginator .this-page { - padding: 2px 6px; - font-weight: bold; - font-size: 13px; - vertical-align: top; -} - -.paginator a:focus, .paginator a:hover { - color: white; - background: #036; -} - -/* ACTIONS */ - -.filtered .actions { - border-right: none; -} - -#changelist table input { - margin: 0; - vertical-align: baseline; -} - -#changelist table tbody tr.selected { - background-color: #FFFFCC; -} - -#changelist .actions { - padding: 10px; - background: #fff; - border-top: none; - border-bottom: none; - line-height: 24px; - color: #999; - width: 100%; -} - -#changelist .actions.selected { - background: #fffccf; - border-top: 1px solid #fffee8; - border-bottom: 1px solid #edecd6; -} - -#changelist .actions span.all, -#changelist .actions span.action-counter, -#changelist .actions span.clear, -#changelist .actions span.question { - font-size: 13px; - margin: 0 0.5em; - display: none; -} - -#changelist .actions:last-child { - border-bottom: none; -} - -#changelist .actions select { - vertical-align: top; - height: 24px; - background: none; - color: #000; - border: 1px solid #ccc; - border-radius: 4px; - font-size: 14px; - padding: 0 0 0 4px; - margin: 0; - margin-left: 10px; -} - -#changelist .actions select:focus { - border-color: #999; -} - -#changelist .actions label { - display: inline-block; - vertical-align: middle; - font-size: 13px; -} - -#changelist .actions .button { - font-size: 13px; - border: 1px solid #ccc; - border-radius: 4px; - background: #fff; - box-shadow: 0 -15px 20px -10px rgba(0, 0, 0, 0.15) inset; - cursor: pointer; - height: 24px; - line-height: 1; - padding: 4px 8px; - margin: 0; - color: #333; -} - -#changelist .actions .button:focus, #changelist .actions .button:hover { - border-color: #999; -} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/css/dashboard.css b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/css/dashboard.css deleted file mode 100644 index 91d6efde..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/css/dashboard.css +++ /dev/null @@ -1,26 +0,0 @@ -/* DASHBOARD */ - -.dashboard .module table th { - width: 100%; -} - -.dashboard .module table td { - white-space: nowrap; -} - -.dashboard .module table td a { - display: block; - padding-right: .6em; -} - -/* RECENT ACTIONS MODULE */ - -.module ul.actionlist { - margin-left: 0; -} - -ul.actionlist li { - list-style-type: none; - overflow: hidden; - text-overflow: ellipsis; -} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/css/fonts.css b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/css/fonts.css deleted file mode 100644 index c837e017..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/css/fonts.css +++ /dev/null @@ -1,20 +0,0 @@ -@font-face { - font-family: 'Roboto'; - src: url('../fonts/Roboto-Bold-webfont.woff'); - font-weight: 700; - font-style: normal; -} - -@font-face { - font-family: 'Roboto'; - src: url('../fonts/Roboto-Regular-webfont.woff'); - font-weight: 400; - font-style: normal; -} - -@font-face { - font-family: 'Roboto'; - src: url('../fonts/Roboto-Light-webfont.woff'); - font-weight: 300; - font-style: normal; -} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/css/forms.css b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/css/forms.css deleted file mode 100644 index 89d57482..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/css/forms.css +++ /dev/null @@ -1,527 +0,0 @@ -@import url('widgets.css'); - -/* FORM ROWS */ - -.form-row { - overflow: hidden; - padding: 10px; - font-size: 13px; - border-bottom: 1px solid #eee; -} - -.form-row img, .form-row input { - vertical-align: middle; -} - -.form-row label input[type="checkbox"] { - margin-top: 0; - vertical-align: 0; -} - -form .form-row p { - padding-left: 0; -} - -.hidden { - display: none; -} - -/* FORM LABELS */ - -label { - font-weight: normal; - color: #666; - font-size: 13px; -} - -.required label, label.required { - font-weight: bold; - color: #333; -} - -/* RADIO BUTTONS */ - -form ul.radiolist li { - list-style-type: none; -} - -form ul.radiolist label { - float: none; - display: inline; -} - -form ul.radiolist input[type="radio"] { - margin: -2px 4px 0 0; - padding: 0; -} - -form ul.inline { - margin-left: 0; - padding: 0; -} - -form ul.inline li { - float: left; - padding-right: 7px; -} - -/* ALIGNED FIELDSETS */ - -.aligned label { - display: block; - padding: 4px 10px 0 0; - float: left; - width: 160px; - word-wrap: break-word; - line-height: 1; -} - -.aligned label:not(.vCheckboxLabel):after { - content: ''; - display: inline-block; - vertical-align: middle; - height: 26px; -} - -.aligned label + p, .aligned label + div.help, .aligned label + div.readonly { - padding: 6px 0; - margin-top: 0; - margin-bottom: 0; - margin-left: 170px; -} - -.aligned ul label { - display: inline; - float: none; - width: auto; -} - -.aligned .form-row input { - margin-bottom: 0; -} - -.colMS .aligned .vLargeTextField, .colMS .aligned .vXMLLargeTextField { - width: 350px; -} - -form .aligned ul { - margin-left: 160px; - padding-left: 10px; -} - -form .aligned ul.radiolist { - display: inline-block; - margin: 0; - padding: 0; -} - -form .aligned p.help, -form .aligned div.help { - clear: left; - margin-top: 0; - margin-left: 160px; - padding-left: 10px; -} - -form .aligned label + p.help, -form .aligned label + div.help { - margin-left: 0; - padding-left: 0; -} - -form .aligned p.help:last-child, -form .aligned div.help:last-child { - margin-bottom: 0; - padding-bottom: 0; -} - -form .aligned input + p.help, -form .aligned textarea + p.help, -form .aligned select + p.help, -form .aligned input + div.help, -form .aligned textarea + div.help, -form .aligned select + div.help { - margin-left: 160px; - padding-left: 10px; -} - -form .aligned ul li { - list-style: none; -} - -form .aligned table p { - margin-left: 0; - padding-left: 0; -} - -.aligned .vCheckboxLabel { - float: none; - width: auto; - display: inline-block; - vertical-align: -3px; - padding: 0 0 5px 5px; -} - -.aligned .vCheckboxLabel + p.help, -.aligned .vCheckboxLabel + div.help { - margin-top: -4px; -} - -.colM .aligned .vLargeTextField, .colM .aligned .vXMLLargeTextField { - width: 610px; -} - -.checkbox-row p.help, -.checkbox-row div.help { - margin-left: 0; - padding-left: 0; -} - -fieldset .fieldBox { - float: left; - margin-right: 20px; -} - -/* WIDE FIELDSETS */ - -.wide label { - width: 200px; -} - -form .wide p, -form .wide input + p.help, -form .wide input + div.help { - margin-left: 200px; -} - -form .wide p.help, -form .wide div.help { - padding-left: 38px; -} - -form div.help ul { - padding-left: 0; - margin-left: 0; -} - -.colM fieldset.wide .vLargeTextField, .colM fieldset.wide .vXMLLargeTextField { - width: 450px; -} - -/* COLLAPSED FIELDSETS */ - -fieldset.collapsed * { - display: none; -} - -fieldset.collapsed h2, fieldset.collapsed { - display: block; -} - -fieldset.collapsed { - border: 1px solid #eee; - border-radius: 4px; - overflow: hidden; -} - -fieldset.collapsed h2 { - background: #f8f8f8; - color: #666; -} - -fieldset .collapse-toggle { - color: #fff; -} - -fieldset.collapsed .collapse-toggle { - background: transparent; - display: inline; - color: #447e9b; -} - -/* MONOSPACE TEXTAREAS */ - -fieldset.monospace textarea { - font-family: "Bitstream Vera Sans Mono", Monaco, "Courier New", Courier, monospace; -} - -/* SUBMIT ROW */ - -.submit-row { - padding: 12px 14px; - margin: 0 0 20px; - background: #f8f8f8; - border: 1px solid #eee; - border-radius: 4px; - text-align: right; - overflow: hidden; -} - -body.popup .submit-row { - overflow: auto; -} - -.submit-row input { - height: 35px; - line-height: 15px; - margin: 0 0 0 5px; -} - -.submit-row input.default { - margin: 0 0 0 8px; - text-transform: uppercase; -} - -.submit-row p { - margin: 0.3em; -} - -.submit-row p.deletelink-box { - float: left; - margin: 0; -} - -.submit-row a.deletelink { - display: block; - background: #ba2121; - border-radius: 4px; - padding: 10px 15px; - height: 15px; - line-height: 15px; - color: #fff; -} - -.submit-row a.closelink { - display: inline-block; - background: #bbbbbb; - border-radius: 4px; - padding: 10px 15px; - height: 15px; - line-height: 15px; - margin: 0 0 0 5px; - color: #fff; -} - -.submit-row a.deletelink:focus, -.submit-row a.deletelink:hover, -.submit-row a.deletelink:active { - background: #a41515; -} - -.submit-row a.closelink:focus, -.submit-row a.closelink:hover, -.submit-row a.closelink:active { - background: #aaaaaa; -} - -/* CUSTOM FORM FIELDS */ - -.vSelectMultipleField { - vertical-align: top; -} - -.vCheckboxField { - border: none; -} - -.vDateField, .vTimeField { - margin-right: 2px; - margin-bottom: 4px; -} - -.vDateField { - min-width: 6.85em; -} - -.vTimeField { - min-width: 4.7em; -} - -.vURLField { - width: 30em; -} - -.vLargeTextField, .vXMLLargeTextField { - width: 48em; -} - -.flatpages-flatpage #id_content { - height: 40.2em; -} - -.module table .vPositiveSmallIntegerField { - width: 2.2em; -} - -.vTextField, .vUUIDField { - width: 20em; -} - -.vIntegerField { - width: 5em; -} - -.vBigIntegerField { - width: 10em; -} - -.vForeignKeyRawIdAdminField { - width: 5em; -} - -/* INLINES */ - -.inline-group { - padding: 0; - margin: 0 0 30px; -} - -.inline-group thead th { - padding: 8px 10px; -} - -.inline-group .aligned label { - width: 160px; -} - -.inline-related { - position: relative; -} - -.inline-related h3 { - margin: 0; - color: #666; - padding: 5px; - font-size: 13px; - background: #f8f8f8; - border-top: 1px solid #eee; - border-bottom: 1px solid #eee; -} - -.inline-related h3 span.delete { - float: right; -} - -.inline-related h3 span.delete label { - margin-left: 2px; - font-size: 11px; -} - -.inline-related fieldset { - margin: 0; - background: #fff; - border: none; - width: 100%; -} - -.inline-related fieldset.module h3 { - margin: 0; - padding: 2px 5px 3px 5px; - font-size: 11px; - text-align: left; - font-weight: bold; - background: #bcd; - color: #fff; -} - -.inline-group .tabular fieldset.module { - border: none; -} - -.inline-related.tabular fieldset.module table { - width: 100%; - overflow-x: scroll; -} - -.last-related fieldset { - border: none; -} - -.inline-group .tabular tr.has_original td { - padding-top: 2em; -} - -.inline-group .tabular tr td.original { - padding: 2px 0 0 0; - width: 0; - _position: relative; -} - -.inline-group .tabular th.original { - width: 0px; - padding: 0; -} - -.inline-group .tabular td.original p { - position: absolute; - left: 0; - height: 1.1em; - padding: 2px 9px; - overflow: hidden; - font-size: 9px; - font-weight: bold; - color: #666; - _width: 700px; -} - -.inline-group ul.tools { - padding: 0; - margin: 0; - list-style: none; -} - -.inline-group ul.tools li { - display: inline; - padding: 0 5px; -} - -.inline-group div.add-row, -.inline-group .tabular tr.add-row td { - color: #666; - background: #f8f8f8; - padding: 8px 10px; - border-bottom: 1px solid #eee; -} - -.inline-group .tabular tr.add-row td { - padding: 8px 10px; - border-bottom: 1px solid #eee; -} - -.inline-group ul.tools a.add, -.inline-group div.add-row a, -.inline-group .tabular tr.add-row td a { - background: url(../img/icon-addlink.svg) 0 1px no-repeat; - padding-left: 16px; - font-size: 12px; -} - -.empty-form { - display: none; -} - -/* RELATED FIELD ADD ONE / LOOKUP */ - -.related-lookup { - margin-left: 5px; - display: inline-block; - vertical-align: middle; - background-repeat: no-repeat; - background-size: 14px; -} - -.related-lookup { - width: 16px; - height: 16px; - background-image: url(../img/search.svg); -} - -form .related-widget-wrapper ul { - display: inline-block; - margin-left: 0; - padding-left: 0; -} - -.clearable-file-input input { - margin-top: 0; -} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/css/login.css b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/css/login.css deleted file mode 100644 index 062b36e0..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/css/login.css +++ /dev/null @@ -1,79 +0,0 @@ -/* LOGIN FORM */ - -.login { - background: #f8f8f8; - height: auto; -} - -.login #header { - height: auto; - padding: 15px 16px; - justify-content: center; -} - -.login #header h1 { - font-size: 18px; -} - -.login #header h1 a { - color: #fff; -} - -.login #content { - padding: 20px 20px 0; -} - -.login #container { - background: #fff; - border: 1px solid #eaeaea; - border-radius: 4px; - overflow: hidden; - width: 28em; - min-width: 300px; - margin: 100px auto; - height: auto; -} - -.login #content-main { - width: 100%; -} - -.login .form-row { - padding: 4px 0; - float: left; - width: 100%; - border-bottom: none; -} - -.login .form-row label { - padding-right: 0.5em; - line-height: 2em; - font-size: 1em; - clear: both; - color: #333; -} - -.login .form-row #id_username, .login .form-row #id_password { - clear: both; - padding: 8px; - width: 100%; - box-sizing: border-box; -} - -.login span.help { - font-size: 10px; - display: block; -} - -.login .submit-row { - clear: both; - padding: 1em 0 0 9.4em; - margin: 0; - border: none; - background: none; - text-align: left; -} - -.login .password-reset-link { - text-align: center; -} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/css/nav_sidebar.css b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/css/nav_sidebar.css deleted file mode 100644 index 784d0874..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/css/nav_sidebar.css +++ /dev/null @@ -1,119 +0,0 @@ -.sticky { - position: sticky; - top: 0; - max-height: 100vh; -} - -.toggle-nav-sidebar { - z-index: 20; - left: 0; - display: flex; - align-items: center; - justify-content: center; - flex: 0 0 23px; - width: 23px; - border-right: 1px solid #eaeaea; - background-color: #ffffff; - cursor: pointer; - font-size: 20px; - color: #447e9b; - padding: 0; -} - -[dir="rtl"] .toggle-nav-sidebar { - border-left: 1px solid #eaeaea; - border-right: 0; -} - -.toggle-nav-sidebar:hover, -.toggle-nav-sidebar:focus { - background-color: #f6f6f6; -} - -#nav-sidebar { - z-index: 15; - flex: 0 0 275px; - left: -276px; - margin-left: -276px; - border-top: 1px solid transparent; - border-right: 1px solid #eaeaea; - background-color: #ffffff; - overflow: auto; -} - -[dir="rtl"] #nav-sidebar { - border-left: 1px solid #eaeaea; - border-right: 0; - left: 0; - margin-left: 0; - right: -276px; - margin-right: -276px; -} - -.toggle-nav-sidebar::before { - content: '\00BB'; -} - -.main.shifted .toggle-nav-sidebar::before { - content: '\00AB'; -} - -.main.shifted > #nav-sidebar { - left: 24px; - margin-left: 0; -} - -[dir="rtl"] .main.shifted > #nav-sidebar { - left: 0; - right: 24px; - margin-right: 0; -} - -#nav-sidebar .module th { - width: 100%; - overflow-wrap: anywhere; -} - -#nav-sidebar .module th, -#nav-sidebar .module caption { - padding-left: 16px; -} - -#nav-sidebar .module td { - white-space: nowrap; -} - -[dir="rtl"] #nav-sidebar .module th, -[dir="rtl"] #nav-sidebar .module caption { - padding-left: 8px; - padding-right: 16px; -} - -#nav-sidebar .current-app .section:link, -#nav-sidebar .current-app .section:visited { - color: #ffc; - font-weight: bold; -} - -#nav-sidebar .current-model { - background: #ffc; -} - -.main > #nav-sidebar + .content { - max-width: calc(100% - 23px); -} - -.main.shifted > #nav-sidebar + .content { - max-width: calc(100% - 299px); -} - -@media (max-width: 767px) { - #nav-sidebar, #toggle-nav-sidebar { - display: none; - } - - .main > #nav-sidebar + .content, - .main.shifted > #nav-sidebar + .content { - max-width: 100%; - } -} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/css/responsive.css b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/css/responsive.css deleted file mode 100644 index 053e8413..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/css/responsive.css +++ /dev/null @@ -1,1004 +0,0 @@ -/* Tablets */ - -input[type="submit"], button { - -webkit-appearance: none; - appearance: none; -} - -@media (max-width: 1024px) { - /* Basic */ - - html { - -webkit-text-size-adjust: 100%; - } - - td, th { - padding: 10px; - font-size: 14px; - } - - .small { - font-size: 12px; - } - - /* Layout */ - - #container { - min-width: 0; - } - - #content { - padding: 20px 30px 30px; - } - - div.breadcrumbs { - padding: 10px 30px; - } - - /* Header */ - - #header { - flex-direction: column; - padding: 15px 30px; - justify-content: flex-start; - } - - #branding h1 { - margin: 0 0 8px; - font-size: 20px; - line-height: 1.2; - } - - #user-tools { - margin: 0; - font-weight: 400; - line-height: 1.85; - text-align: left; - } - - #user-tools a { - display: inline-block; - line-height: 1.4; - } - - /* Dashboard */ - - .dashboard #content { - width: auto; - } - - #content-related { - margin-right: -290px; - } - - .colSM #content-related { - margin-left: -290px; - } - - .colMS { - margin-right: 290px; - } - - .colSM { - margin-left: 290px; - } - - .dashboard .module table td a { - padding-right: 0; - } - - td .changelink, td .addlink { - font-size: 13px; - } - - /* Changelist */ - - #toolbar { - border: none; - padding: 15px; - } - - #changelist-search > div { - display: flex; - flex-wrap: nowrap; - max-width: 480px; - } - - #changelist-search label { - line-height: 22px; - } - - #toolbar form #searchbar { - flex: 1 0 auto; - width: 0; - height: 22px; - margin: 0 10px 0 6px; - } - - #toolbar form input[type=submit] { - flex: 0 1 auto; - } - - #changelist-search .quiet { - width: 0; - flex: 1 0 auto; - margin: 5px 0 0 25px; - } - - #changelist .actions { - display: flex; - flex-wrap: wrap; - padding: 15px 0; - } - - #changelist .actions.selected { - border: none; - } - - #changelist .actions label { - display: flex; - } - - #changelist .actions select { - background: #fff; - } - - #changelist .actions .button { - min-width: 48px; - margin: 0 10px; - } - - #changelist .actions span.all, - #changelist .actions span.clear, - #changelist .actions span.question, - #changelist .actions span.action-counter { - font-size: 11px; - margin: 0 10px 0 0; - } - - #changelist-filter { - flex-basis: 200px; - } - - .change-list .filtered .results, - .change-list .filtered .paginator, - .filtered #toolbar, - .filtered .actions, - - #changelist .paginator { - border-top-color: #eee; - } - - #changelist .results + .paginator { - border-top: none; - } - - /* Forms */ - - label { - font-size: 14px; - } - - .form-row input[type=text], - .form-row input[type=password], - .form-row input[type=email], - .form-row input[type=url], - .form-row input[type=tel], - .form-row input[type=number], - .form-row textarea, - .form-row select, - .form-row .vTextField { - box-sizing: border-box; - margin: 0; - padding: 6px 8px; - min-height: 36px; - font-size: 14px; - } - - .form-row select { - height: 36px; - } - - .form-row select[multiple] { - height: auto; - min-height: 0; - } - - fieldset .fieldBox { - float: none; - margin: 0 -10px; - padding: 0 10px; - } - - fieldset .fieldBox + .fieldBox { - margin-top: 10px; - padding-top: 10px; - border-top: 1px solid #eee; - } - - textarea { - max-width: 100%; - max-height: 120px; - } - - .aligned label { - padding-top: 6px; - } - - .aligned .related-lookup, - .aligned .datetimeshortcuts, - .aligned .related-lookup + strong { - align-self: center; - margin-left: 15px; - } - - form .aligned ul.radiolist { - margin-left: 2px; - } - - /* Related widget */ - - .related-widget-wrapper { - float: none; - } - - .related-widget-wrapper-link + .selector { - max-width: calc(100% - 30px); - margin-right: 15px; - } - - select + .related-widget-wrapper-link, - .related-widget-wrapper-link + .related-widget-wrapper-link { - margin-left: 10px; - } - - /* Selector */ - - .selector { - display: flex; - width: 100%; - } - - .selector .selector-filter { - display: flex; - align-items: center; - } - - .selector .selector-filter label { - margin: 0 8px 0 0; - } - - .selector .selector-filter input { - width: auto; - min-height: 0; - flex: 1 1; - } - - .selector-available, .selector-chosen { - width: auto; - flex: 1 1; - display: flex; - flex-direction: column; - } - - .selector select { - width: 100%; - flex: 1 0 auto; - margin-bottom: 5px; - } - - .selector ul.selector-chooser { - width: 26px; - height: 52px; - padding: 2px 0; - margin: auto 15px; - border-radius: 20px; - transform: translateY(-10px); - } - - .selector-add, .selector-remove { - width: 20px; - height: 20px; - background-size: 20px auto; - } - - .selector-add { - background-position: 0 -120px; - } - - .selector-remove { - background-position: 0 -80px; - } - - a.selector-chooseall, a.selector-clearall { - align-self: center; - } - - .stacked { - flex-direction: column; - max-width: 480px; - } - - .stacked > * { - flex: 0 1 auto; - } - - .stacked select { - margin-bottom: 0; - } - - .stacked .selector-available, .stacked .selector-chosen { - width: auto; - } - - .stacked ul.selector-chooser { - width: 52px; - height: 26px; - padding: 0 2px; - margin: 15px auto; - transform: none; - } - - .stacked .selector-chooser li { - padding: 3px; - } - - .stacked .selector-add, .stacked .selector-remove { - background-size: 20px auto; - } - - .stacked .selector-add { - background-position: 0 -40px; - } - - .stacked .active.selector-add { - background-position: 0 -40px; - } - - .active.selector-add:focus, .active.selector-add:hover { - background-position: 0 -140px; - } - - .stacked .active.selector-add:focus, .stacked .active.selector-add:hover { - background-position: 0 -60px; - } - - .stacked .selector-remove { - background-position: 0 0; - } - - .stacked .active.selector-remove { - background-position: 0 0; - } - - .active.selector-remove:focus, .active.selector-remove:hover { - background-position: 0 -100px; - } - - .stacked .active.selector-remove:focus, .stacked .active.selector-remove:hover { - background-position: 0 -20px; - } - - .help-tooltip, .selector .help-icon { - display: none; - } - - form .form-row p.datetime { - width: 100%; - } - - .datetime input { - width: 50%; - max-width: 120px; - } - - .datetime span { - font-size: 13px; - } - - .datetime .timezonewarning { - display: block; - font-size: 11px; - color: #999; - } - - .datetimeshortcuts { - color: #ccc; - } - - .form-row .datetime input.vDateField, .form-row .datetime input.vTimeField { - width: 75%; - } - - .inline-group { - overflow: auto; - } - - /* Messages */ - - ul.messagelist li { - padding-left: 55px; - background-position: 30px 12px; - } - - ul.messagelist li.error { - background-position: 30px 12px; - } - - ul.messagelist li.warning { - background-position: 30px 14px; - } - - /* Login */ - - .login #header { - padding: 15px 20px; - } - - .login #branding h1 { - margin: 0; - } - - /* GIS */ - - div.olMap { - max-width: calc(100vw - 30px); - max-height: 300px; - } - - .olMap + .clear_features { - display: block; - margin-top: 10px; - } - - /* Docs */ - - .module table.xfull { - width: 100%; - } - - pre.literal-block { - overflow: auto; - } -} - -/* Mobile */ - -@media (max-width: 767px) { - /* Layout */ - - #header, #content, #footer { - padding: 15px; - } - - #footer:empty { - padding: 0; - } - - div.breadcrumbs { - padding: 10px 15px; - } - - /* Dashboard */ - - .colMS, .colSM { - margin: 0; - } - - #content-related, .colSM #content-related { - width: 100%; - margin: 0; - } - - #content-related .module { - margin-bottom: 0; - } - - #content-related .module h2 { - padding: 10px 15px; - font-size: 16px; - } - - /* Changelist */ - - #changelist { - align-items: stretch; - flex-direction: column; - } - - #toolbar { - padding: 10px; - } - - #changelist-filter { - margin-left: 0; - } - - #changelist .actions label { - flex: 1 1; - } - - #changelist .actions select { - flex: 1 0; - width: 100%; - } - - #changelist .actions span { - flex: 1 0 100%; - } - - #changelist-filter { - position: static; - width: auto; - margin-top: 30px; - } - - .object-tools { - float: none; - margin: 0 0 15px; - padding: 0; - overflow: hidden; - } - - .object-tools li { - height: auto; - margin-left: 0; - } - - .object-tools li + li { - margin-left: 15px; - } - - /* Forms */ - - .form-row { - padding: 15px 0; - } - - .aligned .form-row, - .aligned .form-row > div { - display: flex; - flex-wrap: wrap; - max-width: 100vw; - } - - .aligned .form-row > div { - width: calc(100vw - 30px); - } - - textarea { - max-width: none; - } - - .vURLField { - width: auto; - } - - fieldset .fieldBox + .fieldBox { - margin-top: 15px; - padding-top: 15px; - } - - fieldset.collapsed .form-row { - display: none; - } - - .aligned label { - width: 100%; - padding: 0 0 10px; - } - - .aligned label:after { - max-height: 0; - } - - .aligned .form-row input, - .aligned .form-row select, - .aligned .form-row textarea { - flex: 1 1 auto; - max-width: 100%; - } - - .aligned .checkbox-row { - align-items: center; - } - - .aligned .checkbox-row input { - flex: 0 1 auto; - margin: 0; - } - - .aligned .vCheckboxLabel { - flex: 1 0; - padding: 1px 0 0 5px; - } - - .aligned label + p, - .aligned label + div.help, - .aligned label + div.readonly { - padding: 0; - margin-left: 0; - } - - .aligned p.file-upload { - margin-left: 0; - font-size: 13px; - } - - span.clearable-file-input { - margin-left: 15px; - } - - span.clearable-file-input label { - font-size: 13px; - padding-bottom: 0; - } - - .aligned .timezonewarning { - flex: 1 0 100%; - margin-top: 5px; - } - - form .aligned .form-row div.help { - width: 100%; - margin: 5px 0 0; - padding: 0; - } - - form .aligned ul { - margin-left: 0; - padding-left: 0; - } - - form .aligned ul.radiolist { - margin-right: 15px; - margin-bottom: -3px; - } - - form .aligned ul.radiolist li + li { - margin-top: 5px; - } - - /* Related widget */ - - .related-widget-wrapper { - width: 100%; - display: flex; - align-items: flex-start; - } - - .related-widget-wrapper .selector { - order: 1; - } - - .related-widget-wrapper > a { - order: 2; - } - - .related-widget-wrapper .radiolist ~ a { - align-self: flex-end; - } - - .related-widget-wrapper > select ~ a { - align-self: center; - } - - select + .related-widget-wrapper-link, - .related-widget-wrapper-link + .related-widget-wrapper-link { - margin-left: 15px; - } - - /* Selector */ - - .selector { - flex-direction: column; - } - - .selector > * { - float: none; - } - - .selector-available, .selector-chosen { - margin-bottom: 0; - flex: 1 1 auto; - } - - .selector select { - max-height: 96px; - } - - .selector ul.selector-chooser { - display: block; - float: none; - width: 52px; - height: 26px; - padding: 0 2px; - margin: 15px auto 20px; - transform: none; - } - - .selector ul.selector-chooser li { - float: left; - } - - .selector-remove { - background-position: 0 0; - } - - .active.selector-remove:focus, .active.selector-remove:hover { - background-position: 0 -20px; - } - - .selector-add { - background-position: 0 -40px; - } - - .active.selector-add:focus, .active.selector-add:hover { - background-position: 0 -60px; - } - - /* Inlines */ - - .inline-group[data-inline-type="stacked"] .inline-related { - border: 2px solid #eee; - border-radius: 4px; - margin-top: 15px; - overflow: auto; - } - - .inline-group[data-inline-type="stacked"] .inline-related > * { - box-sizing: border-box; - } - - .inline-group[data-inline-type="stacked"] .inline-related + .inline-related { - margin-top: 30px; - } - - .inline-group[data-inline-type="stacked"] .inline-related .module { - padding: 0 10px; - } - - .inline-group[data-inline-type="stacked"] .inline-related .module .form-row:last-child { - border-bottom: none; - } - - .inline-group[data-inline-type="stacked"] .inline-related h3 { - padding: 10px; - border-top-width: 0; - border-bottom-width: 2px; - display: flex; - flex-wrap: wrap; - align-items: center; - } - - .inline-group[data-inline-type="stacked"] .inline-related h3 .inline_label { - margin-right: auto; - } - - .inline-group[data-inline-type="stacked"] .inline-related h3 span.delete { - float: none; - flex: 1 1 100%; - margin-top: 5px; - } - - .inline-group[data-inline-type="stacked"] .aligned .form-row > div:not([class]) { - width: 100%; - } - - .inline-group[data-inline-type="stacked"] .aligned label { - width: 100%; - } - - .inline-group[data-inline-type="stacked"] div.add-row { - margin-top: 15px; - border: 1px solid #eee; - border-radius: 4px; - } - - .inline-group div.add-row, - .inline-group .tabular tr.add-row td { - padding: 0; - } - - .inline-group div.add-row a, - .inline-group .tabular tr.add-row td a { - display: block; - padding: 8px 10px 8px 26px; - background-position: 8px 9px; - } - - /* Submit row */ - - .submit-row { - padding: 10px 10px 0; - margin: 0 0 15px; - display: flex; - flex-direction: column; - } - - .submit-row > * { - width: 100%; - } - - .submit-row input, .submit-row input.default, .submit-row a, .submit-row a.closelink { - float: none; - margin: 0 0 10px; - text-align: center; - } - - .submit-row a.closelink { - padding: 10px 0; - } - - .submit-row p.deletelink-box { - order: 4; - } - - /* Messages */ - - ul.messagelist li { - padding-left: 40px; - background-position: 15px 12px; - } - - ul.messagelist li.error { - background-position: 15px 12px; - } - - ul.messagelist li.warning { - background-position: 15px 14px; - } - - /* Paginator */ - - .paginator .this-page, .paginator a:link, .paginator a:visited { - padding: 4px 10px; - } - - /* Login */ - - body.login { - padding: 0 15px; - } - - .login #container { - width: auto; - max-width: 480px; - margin: 50px auto; - } - - .login #header, - .login #content { - padding: 15px; - } - - .login #content-main { - float: none; - } - - .login .form-row { - padding: 0; - } - - .login .form-row + .form-row { - margin-top: 15px; - } - - .login .form-row label { - display: block; - margin: 0 0 5px; - padding: 0; - line-height: 1.2; - } - - .login .submit-row { - padding: 15px 0 0; - } - - .login br, .login .submit-row label { - display: none; - } - - .login .submit-row input { - margin: 0; - text-transform: uppercase; - } - - .errornote { - margin: 0 0 20px; - padding: 8px 12px; - font-size: 13px; - } - - /* Calendar and clock */ - - .calendarbox, .clockbox { - position: fixed !important; - top: 50% !important; - left: 50% !important; - transform: translate(-50%, -50%); - margin: 0; - border: none; - overflow: visible; - } - - .calendarbox:before, .clockbox:before { - content: ''; - position: fixed; - top: 50%; - left: 50%; - width: 100vw; - height: 100vh; - background: rgba(0, 0, 0, 0.75); - transform: translate(-50%, -50%); - } - - .calendarbox > *, .clockbox > * { - position: relative; - z-index: 1; - } - - .calendarbox > div:first-child { - z-index: 2; - } - - .calendarbox .calendar, .clockbox h2 { - border-radius: 4px 4px 0 0; - overflow: hidden; - } - - .calendarbox .calendar-cancel, .clockbox .calendar-cancel { - border-radius: 0 0 4px 4px; - overflow: hidden; - } - - .calendar-shortcuts { - padding: 10px 0; - font-size: 12px; - line-height: 12px; - } - - .calendar-shortcuts a { - margin: 0 4px; - } - - .timelist a { - background: #fff; - padding: 4px; - } - - .calendar-cancel { - padding: 8px 10px; - } - - .clockbox h2 { - padding: 8px 15px; - } - - .calendar caption { - padding: 10px; - } - - .calendarbox .calendarnav-previous, .calendarbox .calendarnav-next { - z-index: 1; - top: 10px; - } - - /* History */ - - table#change-history tbody th, table#change-history tbody td { - font-size: 13px; - word-break: break-word; - } - - table#change-history tbody th { - width: auto; - } - - /* Docs */ - - table.model tbody th, table.model tbody td { - font-size: 13px; - word-break: break-word; - } -} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/css/responsive_rtl.css b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/css/responsive_rtl.css deleted file mode 100644 index 66d3c2f9..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/css/responsive_rtl.css +++ /dev/null @@ -1,80 +0,0 @@ -/* TABLETS */ - -@media (max-width: 1024px) { - [dir="rtl"] .colMS { - margin-right: 0; - } - - [dir="rtl"] #user-tools { - text-align: right; - } - - [dir="rtl"] #changelist .actions label { - padding-left: 10px; - padding-right: 0; - } - - [dir="rtl"] #changelist .actions select { - margin-left: 0; - margin-right: 15px; - } - - [dir="rtl"] .change-list .filtered .results, - [dir="rtl"] .change-list .filtered .paginator, - [dir="rtl"] .filtered #toolbar, - [dir="rtl"] .filtered div.xfull, - [dir="rtl"] .filtered .actions, - [dir="rtl"] #changelist-filter { - margin-left: 0; - } - - [dir="rtl"] .inline-group ul.tools a.add, - [dir="rtl"] .inline-group div.add-row a, - [dir="rtl"] .inline-group .tabular tr.add-row td a { - padding: 8px 26px 8px 10px; - background-position: calc(100% - 8px) 9px; - } - - [dir="rtl"] .related-widget-wrapper-link + .selector { - margin-right: 0; - margin-left: 15px; - } - - [dir="rtl"] .selector .selector-filter label { - margin-right: 0; - margin-left: 8px; - } - - [dir="rtl"] .object-tools li { - float: right; - } - - [dir="rtl"] .object-tools li + li { - margin-left: 0; - margin-right: 15px; - } - - [dir="rtl"] .dashboard .module table td a { - padding-left: 0; - padding-right: 16px; - } -} - -/* MOBILE */ - -@media (max-width: 767px) { - [dir="rtl"] .aligned .related-lookup, - [dir="rtl"] .aligned .datetimeshortcuts { - margin-left: 0; - margin-right: 15px; - } - - [dir="rtl"] .aligned ul { - margin-right: 0; - } - - [dir="rtl"] #changelist-filter { - margin-left: 0; - margin-right: 0; - } -} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/css/rtl.css b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/css/rtl.css deleted file mode 100644 index a40aad0c..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/css/rtl.css +++ /dev/null @@ -1,249 +0,0 @@ -body { - direction: rtl; -} - -/* LOGIN */ - -.login .form-row { - float: right; -} - -.login .form-row label { - float: right; - padding-left: 0.5em; - padding-right: 0; - text-align: left; -} - -.login .submit-row { - clear: both; - padding: 1em 9.4em 0 0; -} - -/* GLOBAL */ - -th { - text-align: right; -} - -.module h2, .module caption { - text-align: right; -} - -.module ul, .module ol { - margin-left: 0; - margin-right: 1.5em; -} - -.viewlink, .addlink, .changelink { - padding-left: 0; - padding-right: 16px; - background-position: 100% 1px; -} - -.deletelink { - padding-left: 0; - padding-right: 16px; - background-position: 100% 1px; -} - -.object-tools { - float: left; -} - -thead th:first-child, -tfoot td:first-child { - border-left: none; -} - -/* LAYOUT */ - -#user-tools { - right: auto; - left: 0; - text-align: left; -} - -div.breadcrumbs { - text-align: right; -} - -#content-main { - float: right; -} - -#content-related { - float: left; - margin-left: -300px; - margin-right: auto; -} - -.colMS { - margin-left: 300px; - margin-right: 0; -} - -/* SORTABLE TABLES */ - -table thead th.sorted .sortoptions { - float: left; -} - -thead th.sorted .text { - padding-right: 0; - padding-left: 42px; -} - -/* dashboard styles */ - -.dashboard .module table td a { - padding-left: .6em; - padding-right: 16px; -} - -/* changelists styles */ - -.change-list .filtered table { - border-left: none; - border-right: 0px none; -} - -#changelist-filter { - border-left: none; - border-right: none; - margin-left: 0; - margin-right: 30px; -} - -#changelist-filter li.selected { - border-left: none; - padding-left: 10px; - margin-left: 0; - border-right: 5px solid #eaeaea; - padding-right: 10px; - margin-right: -15px; -} - -#changelist table tbody td:first-child, #changelist table tbody th:first-child { - border-right: none; - border-left: none; -} - -/* FORMS */ - -.aligned label { - padding: 0 0 3px 1em; - float: right; -} - -.submit-row { - text-align: left -} - -.submit-row p.deletelink-box { - float: right; -} - -.submit-row input.default { - margin-left: 0; -} - -.vDateField, .vTimeField { - margin-left: 2px; -} - -.aligned .form-row input { - margin-left: 5px; -} - -form .aligned p.help, form .aligned div.help { - clear: right; -} - -form .aligned ul { - margin-right: 163px; - margin-left: 0; -} - -form ul.inline li { - float: right; - padding-right: 0; - padding-left: 7px; -} - -input[type=submit].default, .submit-row input.default { - float: left; -} - -fieldset .fieldBox { - float: right; - margin-left: 20px; - margin-right: 0; -} - -.errorlist li { - background-position: 100% 12px; - padding: 0; -} - -.errornote { - background-position: 100% 12px; - padding: 10px 12px; -} - -/* WIDGETS */ - -.calendarnav-previous { - top: 0; - left: auto; - right: 10px; -} - -.calendarnav-next { - top: 0; - right: auto; - left: 10px; -} - -.calendar caption, .calendarbox h2 { - text-align: center; -} - -.selector { - float: right; -} - -.selector .selector-filter { - text-align: right; -} - -.inline-deletelink { - float: left; -} - -form .form-row p.datetime { - overflow: hidden; -} - -.related-widget-wrapper { - float: right; -} - -/* MISC */ - -.inline-related h2, .inline-group h2 { - text-align: right -} - -.inline-related h3 span.delete { - padding-right: 20px; - padding-left: inherit; - left: 10px; - right: inherit; - float:left; -} - -.inline-related h3 span.delete label { - margin-left: inherit; - margin-right: 2px; -} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/css/vendor/select2/LICENSE-SELECT2.md b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/css/vendor/select2/LICENSE-SELECT2.md deleted file mode 100644 index 8cb8a2b1..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/css/vendor/select2/LICENSE-SELECT2.md +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2012-2017 Kevin Brown, Igor Vaynberg, and Select2 contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/css/vendor/select2/select2.css b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/css/vendor/select2/select2.css deleted file mode 100644 index 750b3207..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/css/vendor/select2/select2.css +++ /dev/null @@ -1,481 +0,0 @@ -.select2-container { - box-sizing: border-box; - display: inline-block; - margin: 0; - position: relative; - vertical-align: middle; } - .select2-container .select2-selection--single { - box-sizing: border-box; - cursor: pointer; - display: block; - height: 28px; - user-select: none; - -webkit-user-select: none; } - .select2-container .select2-selection--single .select2-selection__rendered { - display: block; - padding-left: 8px; - padding-right: 20px; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; } - .select2-container .select2-selection--single .select2-selection__clear { - position: relative; } - .select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered { - padding-right: 8px; - padding-left: 20px; } - .select2-container .select2-selection--multiple { - box-sizing: border-box; - cursor: pointer; - display: block; - min-height: 32px; - user-select: none; - -webkit-user-select: none; } - .select2-container .select2-selection--multiple .select2-selection__rendered { - display: inline-block; - overflow: hidden; - padding-left: 8px; - text-overflow: ellipsis; - white-space: nowrap; } - .select2-container .select2-search--inline { - float: left; } - .select2-container .select2-search--inline .select2-search__field { - box-sizing: border-box; - border: none; - font-size: 100%; - margin-top: 5px; - padding: 0; } - .select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button { - -webkit-appearance: none; } - -.select2-dropdown { - background-color: white; - border: 1px solid #aaa; - border-radius: 4px; - box-sizing: border-box; - display: block; - position: absolute; - left: -100000px; - width: 100%; - z-index: 1051; } - -.select2-results { - display: block; } - -.select2-results__options { - list-style: none; - margin: 0; - padding: 0; } - -.select2-results__option { - padding: 6px; - user-select: none; - -webkit-user-select: none; } - .select2-results__option[aria-selected] { - cursor: pointer; } - -.select2-container--open .select2-dropdown { - left: 0; } - -.select2-container--open .select2-dropdown--above { - border-bottom: none; - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; } - -.select2-container--open .select2-dropdown--below { - border-top: none; - border-top-left-radius: 0; - border-top-right-radius: 0; } - -.select2-search--dropdown { - display: block; - padding: 4px; } - .select2-search--dropdown .select2-search__field { - padding: 4px; - width: 100%; - box-sizing: border-box; } - .select2-search--dropdown .select2-search__field::-webkit-search-cancel-button { - -webkit-appearance: none; } - .select2-search--dropdown.select2-search--hide { - display: none; } - -.select2-close-mask { - border: 0; - margin: 0; - padding: 0; - display: block; - position: fixed; - left: 0; - top: 0; - min-height: 100%; - min-width: 100%; - height: auto; - width: auto; - opacity: 0; - z-index: 99; - background-color: #fff; - filter: alpha(opacity=0); } - -.select2-hidden-accessible { - border: 0 !important; - clip: rect(0 0 0 0) !important; - -webkit-clip-path: inset(50%) !important; - clip-path: inset(50%) !important; - height: 1px !important; - overflow: hidden !important; - padding: 0 !important; - position: absolute !important; - width: 1px !important; - white-space: nowrap !important; } - -.select2-container--default .select2-selection--single { - background-color: #fff; - border: 1px solid #aaa; - border-radius: 4px; } - .select2-container--default .select2-selection--single .select2-selection__rendered { - color: #444; - line-height: 28px; } - .select2-container--default .select2-selection--single .select2-selection__clear { - cursor: pointer; - float: right; - font-weight: bold; } - .select2-container--default .select2-selection--single .select2-selection__placeholder { - color: #999; } - .select2-container--default .select2-selection--single .select2-selection__arrow { - height: 26px; - position: absolute; - top: 1px; - right: 1px; - width: 20px; } - .select2-container--default .select2-selection--single .select2-selection__arrow b { - border-color: #888 transparent transparent transparent; - border-style: solid; - border-width: 5px 4px 0 4px; - height: 0; - left: 50%; - margin-left: -4px; - margin-top: -2px; - position: absolute; - top: 50%; - width: 0; } - -.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear { - float: left; } - -.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow { - left: 1px; - right: auto; } - -.select2-container--default.select2-container--disabled .select2-selection--single { - background-color: #eee; - cursor: default; } - .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear { - display: none; } - -.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b { - border-color: transparent transparent #888 transparent; - border-width: 0 4px 5px 4px; } - -.select2-container--default .select2-selection--multiple { - background-color: white; - border: 1px solid #aaa; - border-radius: 4px; - cursor: text; } - .select2-container--default .select2-selection--multiple .select2-selection__rendered { - box-sizing: border-box; - list-style: none; - margin: 0; - padding: 0 5px; - width: 100%; } - .select2-container--default .select2-selection--multiple .select2-selection__rendered li { - list-style: none; } - .select2-container--default .select2-selection--multiple .select2-selection__clear { - cursor: pointer; - float: right; - font-weight: bold; - margin-top: 5px; - margin-right: 10px; - padding: 1px; } - .select2-container--default .select2-selection--multiple .select2-selection__choice { - background-color: #e4e4e4; - border: 1px solid #aaa; - border-radius: 4px; - cursor: default; - float: left; - margin-right: 5px; - margin-top: 5px; - padding: 0 5px; } - .select2-container--default .select2-selection--multiple .select2-selection__choice__remove { - color: #999; - cursor: pointer; - display: inline-block; - font-weight: bold; - margin-right: 2px; } - .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover { - color: #333; } - -.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline { - float: right; } - -.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice { - margin-left: 5px; - margin-right: auto; } - -.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { - margin-left: 2px; - margin-right: auto; } - -.select2-container--default.select2-container--focus .select2-selection--multiple { - border: solid black 1px; - outline: 0; } - -.select2-container--default.select2-container--disabled .select2-selection--multiple { - background-color: #eee; - cursor: default; } - -.select2-container--default.select2-container--disabled .select2-selection__choice__remove { - display: none; } - -.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple { - border-top-left-radius: 0; - border-top-right-radius: 0; } - -.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple { - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; } - -.select2-container--default .select2-search--dropdown .select2-search__field { - border: 1px solid #aaa; } - -.select2-container--default .select2-search--inline .select2-search__field { - background: transparent; - border: none; - outline: 0; - box-shadow: none; - -webkit-appearance: textfield; } - -.select2-container--default .select2-results > .select2-results__options { - max-height: 200px; - overflow-y: auto; } - -.select2-container--default .select2-results__option[role=group] { - padding: 0; } - -.select2-container--default .select2-results__option[aria-disabled=true] { - color: #999; } - -.select2-container--default .select2-results__option[aria-selected=true] { - background-color: #ddd; } - -.select2-container--default .select2-results__option .select2-results__option { - padding-left: 1em; } - .select2-container--default .select2-results__option .select2-results__option .select2-results__group { - padding-left: 0; } - .select2-container--default .select2-results__option .select2-results__option .select2-results__option { - margin-left: -1em; - padding-left: 2em; } - .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option { - margin-left: -2em; - padding-left: 3em; } - .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { - margin-left: -3em; - padding-left: 4em; } - .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { - margin-left: -4em; - padding-left: 5em; } - .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { - margin-left: -5em; - padding-left: 6em; } - -.select2-container--default .select2-results__option--highlighted[aria-selected] { - background-color: #5897fb; - color: white; } - -.select2-container--default .select2-results__group { - cursor: default; - display: block; - padding: 6px; } - -.select2-container--classic .select2-selection--single { - background-color: #f7f7f7; - border: 1px solid #aaa; - border-radius: 4px; - outline: 0; - background-image: -webkit-linear-gradient(top, white 50%, #eeeeee 100%); - background-image: -o-linear-gradient(top, white 50%, #eeeeee 100%); - background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); } - .select2-container--classic .select2-selection--single:focus { - border: 1px solid #5897fb; } - .select2-container--classic .select2-selection--single .select2-selection__rendered { - color: #444; - line-height: 28px; } - .select2-container--classic .select2-selection--single .select2-selection__clear { - cursor: pointer; - float: right; - font-weight: bold; - margin-right: 10px; } - .select2-container--classic .select2-selection--single .select2-selection__placeholder { - color: #999; } - .select2-container--classic .select2-selection--single .select2-selection__arrow { - background-color: #ddd; - border: none; - border-left: 1px solid #aaa; - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; - height: 26px; - position: absolute; - top: 1px; - right: 1px; - width: 20px; - background-image: -webkit-linear-gradient(top, #eeeeee 50%, #cccccc 100%); - background-image: -o-linear-gradient(top, #eeeeee 50%, #cccccc 100%); - background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); } - .select2-container--classic .select2-selection--single .select2-selection__arrow b { - border-color: #888 transparent transparent transparent; - border-style: solid; - border-width: 5px 4px 0 4px; - height: 0; - left: 50%; - margin-left: -4px; - margin-top: -2px; - position: absolute; - top: 50%; - width: 0; } - -.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear { - float: left; } - -.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow { - border: none; - border-right: 1px solid #aaa; - border-radius: 0; - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; - left: 1px; - right: auto; } - -.select2-container--classic.select2-container--open .select2-selection--single { - border: 1px solid #5897fb; } - .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow { - background: transparent; - border: none; } - .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b { - border-color: transparent transparent #888 transparent; - border-width: 0 4px 5px 4px; } - -.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single { - border-top: none; - border-top-left-radius: 0; - border-top-right-radius: 0; - background-image: -webkit-linear-gradient(top, white 0%, #eeeeee 50%); - background-image: -o-linear-gradient(top, white 0%, #eeeeee 50%); - background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); } - -.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single { - border-bottom: none; - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; - background-image: -webkit-linear-gradient(top, #eeeeee 50%, white 100%); - background-image: -o-linear-gradient(top, #eeeeee 50%, white 100%); - background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); } - -.select2-container--classic .select2-selection--multiple { - background-color: white; - border: 1px solid #aaa; - border-radius: 4px; - cursor: text; - outline: 0; } - .select2-container--classic .select2-selection--multiple:focus { - border: 1px solid #5897fb; } - .select2-container--classic .select2-selection--multiple .select2-selection__rendered { - list-style: none; - margin: 0; - padding: 0 5px; } - .select2-container--classic .select2-selection--multiple .select2-selection__clear { - display: none; } - .select2-container--classic .select2-selection--multiple .select2-selection__choice { - background-color: #e4e4e4; - border: 1px solid #aaa; - border-radius: 4px; - cursor: default; - float: left; - margin-right: 5px; - margin-top: 5px; - padding: 0 5px; } - .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove { - color: #888; - cursor: pointer; - display: inline-block; - font-weight: bold; - margin-right: 2px; } - .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover { - color: #555; } - -.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice { - float: right; - margin-left: 5px; - margin-right: auto; } - -.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { - margin-left: 2px; - margin-right: auto; } - -.select2-container--classic.select2-container--open .select2-selection--multiple { - border: 1px solid #5897fb; } - -.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple { - border-top: none; - border-top-left-radius: 0; - border-top-right-radius: 0; } - -.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple { - border-bottom: none; - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; } - -.select2-container--classic .select2-search--dropdown .select2-search__field { - border: 1px solid #aaa; - outline: 0; } - -.select2-container--classic .select2-search--inline .select2-search__field { - outline: 0; - box-shadow: none; } - -.select2-container--classic .select2-dropdown { - background-color: white; - border: 1px solid transparent; } - -.select2-container--classic .select2-dropdown--above { - border-bottom: none; } - -.select2-container--classic .select2-dropdown--below { - border-top: none; } - -.select2-container--classic .select2-results > .select2-results__options { - max-height: 200px; - overflow-y: auto; } - -.select2-container--classic .select2-results__option[role=group] { - padding: 0; } - -.select2-container--classic .select2-results__option[aria-disabled=true] { - color: grey; } - -.select2-container--classic .select2-results__option--highlighted[aria-selected] { - background-color: #3875d7; - color: white; } - -.select2-container--classic .select2-results__group { - cursor: default; - display: block; - padding: 6px; } - -.select2-container--classic.select2-container--open .select2-dropdown { - border-color: #5897fb; } diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/css/vendor/select2/select2.min.css b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/css/vendor/select2/select2.min.css deleted file mode 100644 index 7c18ad59..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/css/vendor/select2/select2.min.css +++ /dev/null @@ -1 +0,0 @@ -.select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:white;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff;filter:alpha(opacity=0)}.select2-hidden-accessible{border:0 !important;clip:rect(0 0 0 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;height:1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--default .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-top:5px;margin-right:10px;padding:1px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline{float:right}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:solid black 1px;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--single,.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--single,.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:transparent;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:white}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #aaa;border-radius:4px;outline:0;background-image:-webkit-linear-gradient(top, #fff 50%, #eee 100%);background-image:-o-linear-gradient(top, #fff 50%, #eee 100%);background-image:linear-gradient(to bottom, #fff 50%, #eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-right:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #aaa;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-linear-gradient(top, #eee 50%, #ccc 100%);background-image:-o-linear-gradient(top, #eee 50%, #ccc 100%);background-image:linear-gradient(to bottom, #eee 50%, #ccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0)}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #aaa;border-radius:0;border-top-left-radius:4px;border-bottom-left-radius:4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:transparent;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-linear-gradient(top, #fff 0%, #eee 50%);background-image:-o-linear-gradient(top, #fff 0%, #eee 50%);background-image:linear-gradient(to bottom, #fff 0%, #eee 50%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-linear-gradient(top, #eee 50%, #fff 100%);background-image:-o-linear-gradient(top, #eee 50%, #fff 100%);background-image:linear-gradient(to bottom, #eee 50%, #fff 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0)}.select2-container--classic .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice{float:right;margin-left:5px;margin-right:auto}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/css/widgets.css b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/css/widgets.css deleted file mode 100644 index 14ef12db..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/css/widgets.css +++ /dev/null @@ -1,574 +0,0 @@ -/* SELECTOR (FILTER INTERFACE) */ - -.selector { - width: 800px; - float: left; -} - -.selector select { - width: 380px; - height: 17.2em; -} - -.selector-available, .selector-chosen { - float: left; - width: 380px; - text-align: center; - margin-bottom: 5px; -} - -.selector-chosen select { - border-top: none; -} - -.selector-available h2, .selector-chosen h2 { - border: 1px solid #ccc; - border-radius: 4px 4px 0 0; -} - -.selector-chosen h2 { - background: #79aec8; - color: #fff; -} - -.selector .selector-available h2 { - background: #f8f8f8; - color: #666; -} - -.selector .selector-filter { - background: white; - border: 1px solid #ccc; - border-width: 0 1px; - padding: 8px; - color: #999; - font-size: 10px; - margin: 0; - text-align: left; -} - -.selector .selector-filter label, -.inline-group .aligned .selector .selector-filter label { - float: left; - margin: 7px 0 0; - width: 18px; - height: 18px; - padding: 0; - overflow: hidden; - line-height: 1; -} - -.selector .selector-available input { - width: 320px; - margin-left: 8px; -} - -.selector ul.selector-chooser { - float: left; - width: 22px; - background-color: #eee; - border-radius: 10px; - margin: 10em 5px 0 5px; - padding: 0; -} - -.selector-chooser li { - margin: 0; - padding: 3px; - list-style-type: none; -} - -.selector select { - padding: 0 10px; - margin: 0 0 10px; - border-radius: 0 0 4px 4px; -} - -.selector-add, .selector-remove { - width: 16px; - height: 16px; - display: block; - text-indent: -3000px; - overflow: hidden; - cursor: default; - opacity: 0.3; -} - -.active.selector-add, .active.selector-remove { - opacity: 1; -} - -.active.selector-add:hover, .active.selector-remove:hover { - cursor: pointer; -} - -.selector-add { - background: url(../img/selector-icons.svg) 0 -96px no-repeat; -} - -.active.selector-add:focus, .active.selector-add:hover { - background-position: 0 -112px; -} - -.selector-remove { - background: url(../img/selector-icons.svg) 0 -64px no-repeat; -} - -.active.selector-remove:focus, .active.selector-remove:hover { - background-position: 0 -80px; -} - -a.selector-chooseall, a.selector-clearall { - display: inline-block; - height: 16px; - text-align: left; - margin: 1px auto 3px; - overflow: hidden; - font-weight: bold; - line-height: 16px; - color: #666; - text-decoration: none; - opacity: 0.3; -} - -a.active.selector-chooseall:focus, a.active.selector-clearall:focus, -a.active.selector-chooseall:hover, a.active.selector-clearall:hover { - color: #447e9b; -} - -a.active.selector-chooseall, a.active.selector-clearall { - opacity: 1; -} - -a.active.selector-chooseall:hover, a.active.selector-clearall:hover { - cursor: pointer; -} - -a.selector-chooseall { - padding: 0 18px 0 0; - background: url(../img/selector-icons.svg) right -160px no-repeat; - cursor: default; -} - -a.active.selector-chooseall:focus, a.active.selector-chooseall:hover { - background-position: 100% -176px; -} - -a.selector-clearall { - padding: 0 0 0 18px; - background: url(../img/selector-icons.svg) 0 -128px no-repeat; - cursor: default; -} - -a.active.selector-clearall:focus, a.active.selector-clearall:hover { - background-position: 0 -144px; -} - -/* STACKED SELECTORS */ - -.stacked { - float: left; - width: 490px; -} - -.stacked select { - width: 480px; - height: 10.1em; -} - -.stacked .selector-available, .stacked .selector-chosen { - width: 480px; -} - -.stacked .selector-available { - margin-bottom: 0; -} - -.stacked .selector-available input { - width: 422px; -} - -.stacked ul.selector-chooser { - height: 22px; - width: 50px; - margin: 0 0 10px 40%; - background-color: #eee; - border-radius: 10px; -} - -.stacked .selector-chooser li { - float: left; - padding: 3px 3px 3px 5px; -} - -.stacked .selector-chooseall, .stacked .selector-clearall { - display: none; -} - -.stacked .selector-add { - background: url(../img/selector-icons.svg) 0 -32px no-repeat; - cursor: default; -} - -.stacked .active.selector-add { - background-position: 0 -32px; - cursor: pointer; -} - -.stacked .active.selector-add:focus, .stacked .active.selector-add:hover { - background-position: 0 -48px; - cursor: pointer; -} - -.stacked .selector-remove { - background: url(../img/selector-icons.svg) 0 0 no-repeat; - cursor: default; -} - -.stacked .active.selector-remove { - background-position: 0 0px; - cursor: pointer; -} - -.stacked .active.selector-remove:focus, .stacked .active.selector-remove:hover { - background-position: 0 -16px; - cursor: pointer; -} - -.selector .help-icon { - background: url(../img/icon-unknown.svg) 0 0 no-repeat; - display: inline-block; - vertical-align: middle; - margin: -2px 0 0 2px; - width: 13px; - height: 13px; -} - -.selector .selector-chosen .help-icon { - background: url(../img/icon-unknown-alt.svg) 0 0 no-repeat; -} - -.selector .search-label-icon { - background: url(../img/search.svg) 0 0 no-repeat; - display: inline-block; - height: 18px; - width: 18px; -} - -/* DATE AND TIME */ - -p.datetime { - line-height: 20px; - margin: 0; - padding: 0; - color: #666; - font-weight: bold; -} - -.datetime span { - white-space: nowrap; - font-weight: normal; - font-size: 11px; - color: #ccc; -} - -.datetime input, .form-row .datetime input.vDateField, .form-row .datetime input.vTimeField { - margin-left: 5px; - margin-bottom: 4px; -} - -table p.datetime { - font-size: 11px; - margin-left: 0; - padding-left: 0; -} - -.datetimeshortcuts .clock-icon, .datetimeshortcuts .date-icon { - position: relative; - display: inline-block; - vertical-align: middle; - height: 16px; - width: 16px; - overflow: hidden; -} - -.datetimeshortcuts .clock-icon { - background: url(../img/icon-clock.svg) 0 0 no-repeat; -} - -.datetimeshortcuts a:focus .clock-icon, -.datetimeshortcuts a:hover .clock-icon { - background-position: 0 -16px; -} - -.datetimeshortcuts .date-icon { - background: url(../img/icon-calendar.svg) 0 0 no-repeat; - top: -1px; -} - -.datetimeshortcuts a:focus .date-icon, -.datetimeshortcuts a:hover .date-icon { - background-position: 0 -16px; -} - -.timezonewarning { - font-size: 11px; - color: #999; -} - -/* URL */ - -p.url { - line-height: 20px; - margin: 0; - padding: 0; - color: #666; - font-size: 11px; - font-weight: bold; -} - -.url a { - font-weight: normal; -} - -/* FILE UPLOADS */ - -p.file-upload { - line-height: 20px; - margin: 0; - padding: 0; - color: #666; - font-size: 11px; - font-weight: bold; -} - -.aligned p.file-upload { - margin-left: 170px; -} - -.file-upload a { - font-weight: normal; -} - -.file-upload .deletelink { - margin-left: 5px; -} - -span.clearable-file-input label { - color: #333; - font-size: 11px; - display: inline; - float: none; -} - -/* CALENDARS & CLOCKS */ - -.calendarbox, .clockbox { - margin: 5px auto; - font-size: 12px; - width: 19em; - text-align: center; - background: white; - border: 1px solid #ddd; - border-radius: 4px; - box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15); - overflow: hidden; - position: relative; -} - -.clockbox { - width: auto; -} - -.calendar { - margin: 0; - padding: 0; -} - -.calendar table { - margin: 0; - padding: 0; - border-collapse: collapse; - background: white; - width: 100%; -} - -.calendar caption, .calendarbox h2 { - margin: 0; - text-align: center; - border-top: none; - background: #f5dd5d; - font-weight: 700; - font-size: 12px; - color: #333; -} - -.calendar th { - padding: 8px 5px; - background: #f8f8f8; - border-bottom: 1px solid #ddd; - font-weight: 400; - font-size: 12px; - text-align: center; - color: #666; -} - -.calendar td { - font-weight: 400; - font-size: 12px; - text-align: center; - padding: 0; - border-top: 1px solid #eee; - border-bottom: none; -} - -.calendar td.selected a { - background: #79aec8; - color: #fff; -} - -.calendar td.nonday { - background: #f8f8f8; -} - -.calendar td.today a { - font-weight: 700; -} - -.calendar td a, .timelist a { - display: block; - font-weight: 400; - padding: 6px; - text-decoration: none; - color: #444; -} - -.calendar td a:focus, .timelist a:focus, -.calendar td a:hover, .timelist a:hover { - background: #79aec8; - color: white; -} - -.calendar td a:active, .timelist a:active { - background: #417690; - color: white; -} - -.calendarnav { - font-size: 10px; - text-align: center; - color: #ccc; - margin: 0; - padding: 1px 3px; -} - -.calendarnav a:link, #calendarnav a:visited, -#calendarnav a:focus, #calendarnav a:hover { - color: #999; -} - -.calendar-shortcuts { - background: white; - font-size: 11px; - line-height: 11px; - border-top: 1px solid #eee; - padding: 8px 0; - color: #ccc; -} - -.calendarbox .calendarnav-previous, .calendarbox .calendarnav-next { - display: block; - position: absolute; - top: 8px; - width: 15px; - height: 15px; - text-indent: -9999px; - padding: 0; -} - -.calendarnav-previous { - left: 10px; - background: url(../img/calendar-icons.svg) 0 0 no-repeat; -} - -.calendarbox .calendarnav-previous:focus, -.calendarbox .calendarnav-previous:hover { - background-position: 0 -15px; -} - -.calendarnav-next { - right: 10px; - background: url(../img/calendar-icons.svg) 0 -30px no-repeat; -} - -.calendarbox .calendarnav-next:focus, -.calendarbox .calendarnav-next:hover { - background-position: 0 -45px; -} - -.calendar-cancel { - margin: 0; - padding: 4px 0; - font-size: 12px; - background: #eee; - border-top: 1px solid #ddd; - color: #333; -} - -.calendar-cancel:focus, .calendar-cancel:hover { - background: #ddd; -} - -.calendar-cancel a { - color: black; - display: block; -} - -ul.timelist, .timelist li { - list-style-type: none; - margin: 0; - padding: 0; -} - -.timelist a { - padding: 2px; -} - -/* EDIT INLINE */ - -.inline-deletelink { - float: right; - text-indent: -9999px; - background: url(../img/inline-delete.svg) 0 0 no-repeat; - width: 16px; - height: 16px; - border: 0px none; -} - -.inline-deletelink:focus, .inline-deletelink:hover { - cursor: pointer; -} - -/* RELATED WIDGET WRAPPER */ -.related-widget-wrapper { - float: left; /* display properly in form rows with multiple fields */ - overflow: hidden; /* clear floated contents */ -} - -.related-widget-wrapper-link { - opacity: 0.3; -} - -.related-widget-wrapper-link:link { - opacity: .8; -} - -.related-widget-wrapper-link:link:focus, -.related-widget-wrapper-link:link:hover { - opacity: 1; -} - -select + .related-widget-wrapper-link, -.related-widget-wrapper-link + .related-widget-wrapper-link { - margin-left: 7px; -} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/fonts/LICENSE.txt b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/fonts/LICENSE.txt deleted file mode 100644 index 75b52484..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/fonts/LICENSE.txt +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/fonts/README.txt b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/fonts/README.txt deleted file mode 100644 index b247bef3..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/fonts/README.txt +++ /dev/null @@ -1,3 +0,0 @@ -Roboto webfont source: https://www.google.com/fonts/specimen/Roboto -WOFF files extracted using https://github.com/majodev/google-webfonts-helper -Weights used in this project: Light (300), Regular (400), Bold (700) diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/fonts/Roboto-Bold-webfont.woff b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/fonts/Roboto-Bold-webfont.woff deleted file mode 100644 index 6e0f5626..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/fonts/Roboto-Bold-webfont.woff and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/fonts/Roboto-Light-webfont.woff b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/fonts/Roboto-Light-webfont.woff deleted file mode 100644 index b9e99185..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/fonts/Roboto-Light-webfont.woff and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/fonts/Roboto-Regular-webfont.woff b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/fonts/Roboto-Regular-webfont.woff deleted file mode 100644 index 96c1986f..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/fonts/Roboto-Regular-webfont.woff and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/LICENSE b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/LICENSE deleted file mode 100644 index a4faaa1d..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014 Code Charm Ltd - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/README.txt b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/README.txt deleted file mode 100644 index 4eb2e492..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/README.txt +++ /dev/null @@ -1,7 +0,0 @@ -All icons are taken from Font Awesome (http://fontawesome.io/) project. -The Font Awesome font is licensed under the SIL OFL 1.1: -- https://scripts.sil.org/OFL - -SVG icons source: https://github.com/encharm/Font-Awesome-SVG-PNG -Font-Awesome-SVG-PNG is licensed under the MIT license (see file license -in current folder). diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/calendar-icons.svg b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/calendar-icons.svg deleted file mode 100644 index dbf21c39..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/calendar-icons.svg +++ /dev/null @@ -1,14 +0,0 @@ -<svg width="15" height="60" viewBox="0 0 1792 7168" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> - <defs> - <g id="previous"> - <path d="M1037 1395l102-102q19-19 19-45t-19-45l-307-307 307-307q19-19 19-45t-19-45l-102-102q-19-19-45-19t-45 19l-454 454q-19 19-19 45t19 45l454 454q19 19 45 19t45-19zm627-499q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> - </g> - <g id="next"> - <path d="M845 1395l454-454q19-19 19-45t-19-45l-454-454q-19-19-45-19t-45 19l-102 102q-19 19-19 45t19 45l307 307-307 307q-19 19-19 45t19 45l102 102q19 19 45 19t45-19zm819-499q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> - </g> - </defs> - <use xlink:href="#previous" x="0" y="0" fill="#333333" /> - <use xlink:href="#previous" x="0" y="1792" fill="#000000" /> - <use xlink:href="#next" x="0" y="3584" fill="#333333" /> - <use xlink:href="#next" x="0" y="5376" fill="#000000" /> -</svg> diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/gis/move_vertex_off.svg b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/gis/move_vertex_off.svg deleted file mode 100644 index 228854f3..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/gis/move_vertex_off.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="24" height="22" viewBox="0 0 847 779" xmlns="http://www.w3.org/2000/svg"><g><path fill="#EBECE6" d="M120 1h607c66 0 120 54 120 120v536c0 66-54 120-120 120h-607c-66 0-120-54-120-120v-536c0-66 54-120 120-120z"/><path fill="#9E9E93" d="M120 1h607c66 0 120 54 120 120v536c0 66-54 120-120 120h-607c-66 0-120-54-120-120v-536c0-66 54-120 120-120zm607 25h-607c-26 0-50 11-67 28-17 18-28 41-28 67v536c0 27 11 50 28 68 17 17 41 27 67 27h607c26 0 49-10 67-27 17-18 28-41 28-68v-536c0-26-11-49-28-67-18-17-41-28-67-28z"/><path stroke="#A9A8A4" stroke-width="20" d="M706 295l-68 281"/><path stroke="#E47474" stroke-width="20" d="M316 648l390-353M141 435l175 213"/><path stroke="#C9C9C9" stroke-width="20" d="M319 151l-178 284M706 295l-387-144"/><g fill="#040405"><path d="M319 111c22 0 40 18 40 40s-18 40-40 40-40-18-40-40 18-40 40-40zM141 395c22 0 40 18 40 40s-18 40-40 40c-23 0-41-18-41-40s18-40 41-40zM316 608c22 0 40 18 40 40 0 23-18 41-40 41s-40-18-40-41c0-22 18-40 40-40zM706 254c22 0 40 18 40 41 0 22-18 40-40 40s-40-18-40-40c0-23 18-41 40-41zM638 536c22 0 40 18 40 40s-18 40-40 40-40-18-40-40 18-40 40-40z"/></g></g></svg> \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/gis/move_vertex_on.svg b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/gis/move_vertex_on.svg deleted file mode 100644 index 96b87fdd..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/gis/move_vertex_on.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="24" height="22" viewBox="0 0 847 779" xmlns="http://www.w3.org/2000/svg"><g><path fill="#F1C02A" d="M120 1h607c66 0 120 54 120 120v536c0 66-54 120-120 120h-607c-66 0-120-54-120-120v-536c0-66 54-120 120-120z"/><path fill="#9E9E93" d="M120 1h607c66 0 120 54 120 120v536c0 66-54 120-120 120h-607c-66 0-120-54-120-120v-536c0-66 54-120 120-120zm607 25h-607c-26 0-50 11-67 28-17 18-28 41-28 67v536c0 27 11 50 28 68 17 17 41 27 67 27h607c26 0 49-10 67-27 17-18 28-41 28-68v-536c0-26-11-49-28-67-18-17-41-28-67-28z"/><path stroke="#A9A8A4" stroke-width="20" d="M706 295l-68 281"/><path stroke="#E47474" stroke-width="20" d="M316 648l390-353M141 435l175 213"/><path stroke="#C9A741" stroke-width="20" d="M319 151l-178 284M706 295l-387-144"/><g fill="#040405"><path d="M319 111c22 0 40 18 40 40s-18 40-40 40-40-18-40-40 18-40 40-40zM141 395c22 0 40 18 40 40s-18 40-40 40c-23 0-41-18-41-40s18-40 41-40zM316 608c22 0 40 18 40 40 0 23-18 41-40 41s-40-18-40-41c0-22 18-40 40-40zM706 254c22 0 40 18 40 41 0 22-18 40-40 40s-40-18-40-40c0-23 18-41 40-41zM638 536c22 0 40 18 40 40s-18 40-40 40-40-18-40-40 18-40 40-40z"/></g></g></svg> \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/icon-addlink.svg b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/icon-addlink.svg deleted file mode 100644 index e004fb16..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/icon-addlink.svg +++ /dev/null @@ -1,3 +0,0 @@ -<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> - <path fill="#70bf2b" d="M1600 796v192q0 40-28 68t-68 28h-416v416q0 40-28 68t-68 28h-192q-40 0-68-28t-28-68v-416h-416q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h416v-416q0-40 28-68t68-28h192q40 0 68 28t28 68v416h416q40 0 68 28t28 68z"/> -</svg> diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/icon-alert.svg b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/icon-alert.svg deleted file mode 100644 index e51ea83f..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/icon-alert.svg +++ /dev/null @@ -1,3 +0,0 @@ -<svg width="14" height="14" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> - <path fill="#efb80b" d="M1024 1375v-190q0-14-9.5-23.5t-22.5-9.5h-192q-13 0-22.5 9.5t-9.5 23.5v190q0 14 9.5 23.5t22.5 9.5h192q13 0 22.5-9.5t9.5-23.5zm-2-374l18-459q0-12-10-19-13-11-24-11h-220q-11 0-24 11-10 7-10 21l17 457q0 10 10 16.5t24 6.5h185q14 0 23.5-6.5t10.5-16.5zm-14-934l768 1408q35 63-2 126-17 29-46.5 46t-63.5 17h-1536q-34 0-63.5-17t-46.5-46q-37-63-2-126l768-1408q17-31 47-49t65-18 65 18 47 49z"/> -</svg> diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/icon-calendar.svg b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/icon-calendar.svg deleted file mode 100644 index 97910a99..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/icon-calendar.svg +++ /dev/null @@ -1,9 +0,0 @@ -<svg width="16" height="32" viewBox="0 0 1792 3584" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> - <defs> - <g id="icon"> - <path d="M192 1664h288v-288h-288v288zm352 0h320v-288h-320v288zm-352-352h288v-320h-288v320zm352 0h320v-320h-320v320zm-352-384h288v-288h-288v288zm736 736h320v-288h-320v288zm-384-736h320v-288h-320v288zm768 736h288v-288h-288v288zm-384-352h320v-320h-320v320zm-352-864v-288q0-13-9.5-22.5t-22.5-9.5h-64q-13 0-22.5 9.5t-9.5 22.5v288q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5-9.5t9.5-22.5zm736 864h288v-320h-288v320zm-384-384h320v-288h-320v288zm384 0h288v-288h-288v288zm32-480v-288q0-13-9.5-22.5t-22.5-9.5h-64q-13 0-22.5 9.5t-9.5 22.5v288q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5-9.5t9.5-22.5zm384-64v1280q0 52-38 90t-90 38h-1408q-52 0-90-38t-38-90v-1280q0-52 38-90t90-38h128v-96q0-66 47-113t113-47h64q66 0 113 47t47 113v96h384v-96q0-66 47-113t113-47h64q66 0 113 47t47 113v96h128q52 0 90 38t38 90z"/> - </g> - </defs> - <use xlink:href="#icon" x="0" y="0" fill="#447e9b" /> - <use xlink:href="#icon" x="0" y="1792" fill="#003366" /> -</svg> diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/icon-changelink.svg b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/icon-changelink.svg deleted file mode 100644 index bbb137aa..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/icon-changelink.svg +++ /dev/null @@ -1,3 +0,0 @@ -<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> - <path fill="#efb80b" d="M491 1536l91-91-235-235-91 91v107h128v128h107zm523-928q0-22-22-22-10 0-17 7l-542 542q-7 7-7 17 0 22 22 22 10 0 17-7l542-542q7-7 7-17zm-54-192l416 416-832 832h-416v-416zm683 96q0 53-37 90l-166 166-416-416 166-165q36-38 90-38 53 0 91 38l235 234q37 39 37 91z"/> -</svg> diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/icon-clock.svg b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/icon-clock.svg deleted file mode 100644 index bf9985d3..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/icon-clock.svg +++ /dev/null @@ -1,9 +0,0 @@ -<svg width="16" height="32" viewBox="0 0 1792 3584" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> - <defs> - <g id="icon"> - <path d="M1024 544v448q0 14-9 23t-23 9h-320q-14 0-23-9t-9-23v-64q0-14 9-23t23-9h224v-352q0-14 9-23t23-9h64q14 0 23 9t9 23zm416 352q0-148-73-273t-198-198-273-73-273 73-198 198-73 273 73 273 198 198 273 73 273-73 198-198 73-273zm224 0q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> - </g> - </defs> - <use xlink:href="#icon" x="0" y="0" fill="#447e9b" /> - <use xlink:href="#icon" x="0" y="1792" fill="#003366" /> -</svg> diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/icon-deletelink.svg b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/icon-deletelink.svg deleted file mode 100644 index 4059b155..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/icon-deletelink.svg +++ /dev/null @@ -1,3 +0,0 @@ -<svg width="14" height="14" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> - <path fill="#dd4646" d="M1490 1322q0 40-28 68l-136 136q-28 28-68 28t-68-28l-294-294-294 294q-28 28-68 28t-68-28l-136-136q-28-28-28-68t28-68l294-294-294-294q-28-28-28-68t28-68l136-136q28-28 68-28t68 28l294 294 294-294q28-28 68-28t68 28l136 136q28 28 28 68t-28 68l-294 294 294 294q28 28 28 68z"/> -</svg> diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/icon-no.svg b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/icon-no.svg deleted file mode 100644 index 2e0d3832..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/icon-no.svg +++ /dev/null @@ -1,3 +0,0 @@ -<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> - <path fill="#dd4646" d="M1277 1122q0-26-19-45l-181-181 181-181q19-19 19-45 0-27-19-46l-90-90q-19-19-46-19-26 0-45 19l-181 181-181-181q-19-19-45-19-27 0-46 19l-90 90q-19 19-19 46 0 26 19 45l181 181-181 181q-19 19-19 45 0 27 19 46l90 90q19 19 46 19 26 0 45-19l181-181 181 181q19 19 45 19 27 0 46-19l90-90q19-19 19-46zm387-226q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> -</svg> diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/icon-unknown-alt.svg b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/icon-unknown-alt.svg deleted file mode 100644 index 1c6b99fc..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/icon-unknown-alt.svg +++ /dev/null @@ -1,3 +0,0 @@ -<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> - <path fill="#ffffff" d="M1024 1376v-192q0-14-9-23t-23-9h-192q-14 0-23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23-9t9-23zm256-672q0-88-55.5-163t-138.5-116-170-41q-243 0-371 213-15 24 8 42l132 100q7 6 19 6 16 0 25-12 53-68 86-92 34-24 86-24 48 0 85.5 26t37.5 59q0 38-20 61t-68 45q-63 28-115.5 86.5t-52.5 125.5v36q0 14 9 23t23 9h192q14 0 23-9t9-23q0-19 21.5-49.5t54.5-49.5q32-18 49-28.5t46-35 44.5-48 28-60.5 12.5-81zm384 192q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> -</svg> diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/icon-unknown.svg b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/icon-unknown.svg deleted file mode 100644 index 50b4f972..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/icon-unknown.svg +++ /dev/null @@ -1,3 +0,0 @@ -<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> - <path fill="#666666" d="M1024 1376v-192q0-14-9-23t-23-9h-192q-14 0-23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23-9t9-23zm256-672q0-88-55.5-163t-138.5-116-170-41q-243 0-371 213-15 24 8 42l132 100q7 6 19 6 16 0 25-12 53-68 86-92 34-24 86-24 48 0 85.5 26t37.5 59q0 38-20 61t-68 45q-63 28-115.5 86.5t-52.5 125.5v36q0 14 9 23t23 9h192q14 0 23-9t9-23q0-19 21.5-49.5t54.5-49.5q32-18 49-28.5t46-35 44.5-48 28-60.5 12.5-81zm384 192q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> -</svg> diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/icon-viewlink.svg b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/icon-viewlink.svg deleted file mode 100644 index a1ca1d3f..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/icon-viewlink.svg +++ /dev/null @@ -1,3 +0,0 @@ -<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> - <path fill="#2b70bf" d="M1664 960q-152-236-381-353 61 104 61 225 0 185-131.5 316.5t-316.5 131.5-316.5-131.5-131.5-316.5q0-121 61-225-229 117-381 353 133 205 333.5 326.5t434.5 121.5 434.5-121.5 333.5-326.5zm-720-384q0-20-14-34t-34-14q-125 0-214.5 89.5t-89.5 214.5q0 20 14 34t34 14 34-14 14-34q0-86 61-147t147-61q20 0 34-14t14-34zm848 384q0 34-20 69-140 230-376.5 368.5t-499.5 138.5-499.5-139-376.5-368q-20-35-20-69t20-69q140-229 376.5-368t499.5-139 499.5 139 376.5 368q20 35 20 69z"/> -</svg> diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/icon-yes.svg b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/icon-yes.svg deleted file mode 100644 index 5883d877..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/icon-yes.svg +++ /dev/null @@ -1,3 +0,0 @@ -<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> - <path fill="#70bf2b" d="M1412 734q0-28-18-46l-91-90q-19-19-45-19t-45 19l-408 407-226-226q-19-19-45-19t-45 19l-91 90q-18 18-18 46 0 27 18 45l362 362q19 19 45 19 27 0 46-19l543-543q18-18 18-45zm252 162q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> -</svg> diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/inline-delete.svg b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/inline-delete.svg deleted file mode 100644 index 17d1ad67..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/inline-delete.svg +++ /dev/null @@ -1,3 +0,0 @@ -<svg width="16" height="16" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> - <path fill="#999999" d="M1277 1122q0-26-19-45l-181-181 181-181q19-19 19-45 0-27-19-46l-90-90q-19-19-46-19-26 0-45 19l-181 181-181-181q-19-19-45-19-27 0-46 19l-90 90q-19 19-19 46 0 26 19 45l181 181-181 181q-19 19-19 45 0 27 19 46l90 90q19 19 46 19 26 0 45-19l181-181 181 181q19 19 45 19 27 0 46-19l90-90q19-19 19-46zm387-226q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> -</svg> diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/search.svg b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/search.svg deleted file mode 100644 index c8c69b2a..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/search.svg +++ /dev/null @@ -1,3 +0,0 @@ -<svg width="15" height="15" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> - <path fill="#555555" d="M1216 832q0-185-131.5-316.5t-316.5-131.5-316.5 131.5-131.5 316.5 131.5 316.5 316.5 131.5 316.5-131.5 131.5-316.5zm512 832q0 52-38 90t-90 38q-54 0-90-38l-343-342q-179 124-399 124-143 0-273.5-55.5t-225-150-150-225-55.5-273.5 55.5-273.5 150-225 225-150 273.5-55.5 273.5 55.5 225 150 150 225 55.5 273.5q0 220-124 399l343 343q37 37 37 90z"/> -</svg> diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/selector-icons.svg b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/selector-icons.svg deleted file mode 100644 index 926b8e21..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/selector-icons.svg +++ /dev/null @@ -1,34 +0,0 @@ -<svg width="16" height="192" viewBox="0 0 1792 21504" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> - <defs> - <g id="up"> - <path d="M1412 895q0-27-18-45l-362-362-91-91q-18-18-45-18t-45 18l-91 91-362 362q-18 18-18 45t18 45l91 91q18 18 45 18t45-18l189-189v502q0 26 19 45t45 19h128q26 0 45-19t19-45v-502l189 189q19 19 45 19t45-19l91-91q18-18 18-45zm252 1q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> - </g> - <g id="down"> - <path d="M1412 897q0-27-18-45l-91-91q-18-18-45-18t-45 18l-189 189v-502q0-26-19-45t-45-19h-128q-26 0-45 19t-19 45v502l-189-189q-19-19-45-19t-45 19l-91 91q-18 18-18 45t18 45l362 362 91 91q18 18 45 18t45-18l91-91 362-362q18-18 18-45zm252-1q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> - </g> - <g id="left"> - <path d="M1408 960v-128q0-26-19-45t-45-19h-502l189-189q19-19 19-45t-19-45l-91-91q-18-18-45-18t-45 18l-362 362-91 91q-18 18-18 45t18 45l91 91 362 362q18 18 45 18t45-18l91-91q18-18 18-45t-18-45l-189-189h502q26 0 45-19t19-45zm256-64q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> - </g> - <g id="right"> - <path d="M1413 896q0-27-18-45l-91-91-362-362q-18-18-45-18t-45 18l-91 91q-18 18-18 45t18 45l189 189h-502q-26 0-45 19t-19 45v128q0 26 19 45t45 19h502l-189 189q-19 19-19 45t19 45l91 91q18 18 45 18t45-18l362-362 91-91q18-18 18-45zm251 0q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> - </g> - <g id="clearall"> - <path transform="translate(336, 336) scale(0.75)" d="M1037 1395l102-102q19-19 19-45t-19-45l-307-307 307-307q19-19 19-45t-19-45l-102-102q-19-19-45-19t-45 19l-454 454q-19 19-19 45t19 45l454 454q19 19 45 19t45-19zm627-499q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> - </g> - <g id="chooseall"> - <path transform="translate(336, 336) scale(0.75)" d="M845 1395l454-454q19-19 19-45t-19-45l-454-454q-19-19-45-19t-45 19l-102 102q-19 19-19 45t19 45l307 307-307 307q-19 19-19 45t19 45l102 102q19 19 45 19t45-19zm819-499q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> - </g> - </defs> - <use xlink:href="#up" x="0" y="0" fill="#666666" /> - <use xlink:href="#up" x="0" y="1792" fill="#447e9b" /> - <use xlink:href="#down" x="0" y="3584" fill="#666666" /> - <use xlink:href="#down" x="0" y="5376" fill="#447e9b" /> - <use xlink:href="#left" x="0" y="7168" fill="#666666" /> - <use xlink:href="#left" x="0" y="8960" fill="#447e9b" /> - <use xlink:href="#right" x="0" y="10752" fill="#666666" /> - <use xlink:href="#right" x="0" y="12544" fill="#447e9b" /> - <use xlink:href="#clearall" x="0" y="14336" fill="#666666" /> - <use xlink:href="#clearall" x="0" y="16128" fill="#447e9b" /> - <use xlink:href="#chooseall" x="0" y="17920" fill="#666666" /> - <use xlink:href="#chooseall" x="0" y="19712" fill="#447e9b" /> -</svg> diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/sorting-icons.svg b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/sorting-icons.svg deleted file mode 100644 index 7c31ec91..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/sorting-icons.svg +++ /dev/null @@ -1,19 +0,0 @@ -<svg width="14" height="84" viewBox="0 0 1792 10752" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> - <defs> - <g id="sort"> - <path d="M1408 1088q0 26-19 45l-448 448q-19 19-45 19t-45-19l-448-448q-19-19-19-45t19-45 45-19h896q26 0 45 19t19 45zm0-384q0 26-19 45t-45 19h-896q-26 0-45-19t-19-45 19-45l448-448q19-19 45-19t45 19l448 448q19 19 19 45z"/> - </g> - <g id="ascending"> - <path d="M1408 1216q0 26-19 45t-45 19h-896q-26 0-45-19t-19-45 19-45l448-448q19-19 45-19t45 19l448 448q19 19 19 45z"/> - </g> - <g id="descending"> - <path d="M1408 704q0 26-19 45l-448 448q-19 19-45 19t-45-19l-448-448q-19-19-19-45t19-45 45-19h896q26 0 45 19t19 45z"/> - </g> - </defs> - <use xlink:href="#sort" x="0" y="0" fill="#999999" /> - <use xlink:href="#sort" x="0" y="1792" fill="#447e9b" /> - <use xlink:href="#ascending" x="0" y="3584" fill="#999999" /> - <use xlink:href="#ascending" x="0" y="5376" fill="#447e9b" /> - <use xlink:href="#descending" x="0" y="7168" fill="#999999" /> - <use xlink:href="#descending" x="0" y="8960" fill="#447e9b" /> -</svg> diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/tooltag-add.svg b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/tooltag-add.svg deleted file mode 100644 index 1ca64ae5..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/tooltag-add.svg +++ /dev/null @@ -1,3 +0,0 @@ -<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> - <path fill="#ffffff" d="M1600 736v192q0 40-28 68t-68 28h-416v416q0 40-28 68t-68 28h-192q-40 0-68-28t-28-68v-416h-416q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h416v-416q0-40 28-68t68-28h192q40 0 68 28t28 68v416h416q40 0 68 28t28 68z"/> -</svg> diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/tooltag-arrowright.svg b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/tooltag-arrowright.svg deleted file mode 100644 index b664d619..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/img/tooltag-arrowright.svg +++ /dev/null @@ -1,3 +0,0 @@ -<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> - <path fill="#ffffff" d="M1363 877l-742 742q-19 19-45 19t-45-19l-166-166q-19-19-19-45t19-45l531-531-531-531q-19-19-19-45t19-45l166-166q19-19 45-19t45 19l742 742q19 19 19 45t-19 45z"/> -</svg> diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/SelectBox.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/SelectBox.js deleted file mode 100644 index 1927b4ce..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/SelectBox.js +++ /dev/null @@ -1,110 +0,0 @@ -'use strict'; -{ - const SelectBox = { - cache: {}, - init: function(id) { - const box = document.getElementById(id); - SelectBox.cache[id] = []; - const cache = SelectBox.cache[id]; - for (const node of box.options) { - cache.push({value: node.value, text: node.text, displayed: 1}); - } - }, - redisplay: function(id) { - // Repopulate HTML select box from cache - const box = document.getElementById(id); - box.innerHTML = ''; - for (const node of SelectBox.cache[id]) { - if (node.displayed) { - const new_option = new Option(node.text, node.value, false, false); - // Shows a tooltip when hovering over the option - new_option.title = node.text; - box.appendChild(new_option); - } - } - }, - filter: function(id, text) { - // Redisplay the HTML select box, displaying only the choices containing ALL - // the words in text. (It's an AND search.) - const tokens = text.toLowerCase().split(/\s+/); - for (const node of SelectBox.cache[id]) { - node.displayed = 1; - const node_text = node.text.toLowerCase(); - for (const token of tokens) { - if (node_text.indexOf(token) === -1) { - node.displayed = 0; - break; // Once the first token isn't found we're done - } - } - } - SelectBox.redisplay(id); - }, - delete_from_cache: function(id, value) { - let delete_index = null; - const cache = SelectBox.cache[id]; - for (const [i, node] of cache.entries()) { - if (node.value === value) { - delete_index = i; - break; - } - } - cache.splice(delete_index, 1); - }, - add_to_cache: function(id, option) { - SelectBox.cache[id].push({value: option.value, text: option.text, displayed: 1}); - }, - cache_contains: function(id, value) { - // Check if an item is contained in the cache - for (const node of SelectBox.cache[id]) { - if (node.value === value) { - return true; - } - } - return false; - }, - move: function(from, to) { - const from_box = document.getElementById(from); - for (const option of from_box.options) { - const option_value = option.value; - if (option.selected && SelectBox.cache_contains(from, option_value)) { - SelectBox.add_to_cache(to, {value: option_value, text: option.text, displayed: 1}); - SelectBox.delete_from_cache(from, option_value); - } - } - SelectBox.redisplay(from); - SelectBox.redisplay(to); - }, - move_all: function(from, to) { - const from_box = document.getElementById(from); - for (const option of from_box.options) { - const option_value = option.value; - if (SelectBox.cache_contains(from, option_value)) { - SelectBox.add_to_cache(to, {value: option_value, text: option.text, displayed: 1}); - SelectBox.delete_from_cache(from, option_value); - } - } - SelectBox.redisplay(from); - SelectBox.redisplay(to); - }, - sort: function(id) { - SelectBox.cache[id].sort(function(a, b) { - a = a.text.toLowerCase(); - b = b.text.toLowerCase(); - if (a > b) { - return 1; - } - if (a < b) { - return -1; - } - return 0; - } ); - }, - select_all: function(id) { - const box = document.getElementById(id); - for (const option of box.options) { - option.selected = true; - } - } - }; - window.SelectBox = SelectBox; -} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/SelectFilter2.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/SelectFilter2.js deleted file mode 100644 index 6c709a08..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/SelectFilter2.js +++ /dev/null @@ -1,236 +0,0 @@ -/*global SelectBox, gettext, interpolate, quickElement, SelectFilter*/ -/* -SelectFilter2 - Turns a multiple-select box into a filter interface. - -Requires core.js and SelectBox.js. -*/ -'use strict'; -{ - window.SelectFilter = { - init: function(field_id, field_name, is_stacked) { - if (field_id.match(/__prefix__/)) { - // Don't initialize on empty forms. - return; - } - const from_box = document.getElementById(field_id); - from_box.id += '_from'; // change its ID - from_box.className = 'filtered'; - - for (const p of from_box.parentNode.getElementsByTagName('p')) { - if (p.classList.contains("info")) { - // Remove <p class="info">, because it just gets in the way. - from_box.parentNode.removeChild(p); - } else if (p.classList.contains("help")) { - // Move help text up to the top so it isn't below the select - // boxes or wrapped off on the side to the right of the add - // button: - from_box.parentNode.insertBefore(p, from_box.parentNode.firstChild); - } - } - - // <div class="selector"> or <div class="selector stacked"> - const selector_div = quickElement('div', from_box.parentNode); - selector_div.className = is_stacked ? 'selector stacked' : 'selector'; - - // <div class="selector-available"> - const selector_available = quickElement('div', selector_div); - selector_available.className = 'selector-available'; - const title_available = quickElement('h2', selector_available, interpolate(gettext('Available %s') + ' ', [field_name])); - quickElement( - 'span', title_available, '', - 'class', 'help help-tooltip help-icon', - 'title', interpolate( - gettext( - 'This is the list of available %s. You may choose some by ' + - 'selecting them in the box below and then clicking the ' + - '"Choose" arrow between the two boxes.' - ), - [field_name] - ) - ); - - const filter_p = quickElement('p', selector_available, '', 'id', field_id + '_filter'); - filter_p.className = 'selector-filter'; - - const search_filter_label = quickElement('label', filter_p, '', 'for', field_id + '_input'); - - quickElement( - 'span', search_filter_label, '', - 'class', 'help-tooltip search-label-icon', - 'title', interpolate(gettext("Type into this box to filter down the list of available %s."), [field_name]) - ); - - filter_p.appendChild(document.createTextNode(' ')); - - const filter_input = quickElement('input', filter_p, '', 'type', 'text', 'placeholder', gettext("Filter")); - filter_input.id = field_id + '_input'; - - selector_available.appendChild(from_box); - const choose_all = quickElement('a', selector_available, gettext('Choose all'), 'title', interpolate(gettext('Click to choose all %s at once.'), [field_name]), 'href', '#', 'id', field_id + '_add_all_link'); - choose_all.className = 'selector-chooseall'; - - // <ul class="selector-chooser"> - const selector_chooser = quickElement('ul', selector_div); - selector_chooser.className = 'selector-chooser'; - const add_link = quickElement('a', quickElement('li', selector_chooser), gettext('Choose'), 'title', gettext('Choose'), 'href', '#', 'id', field_id + '_add_link'); - add_link.className = 'selector-add'; - const remove_link = quickElement('a', quickElement('li', selector_chooser), gettext('Remove'), 'title', gettext('Remove'), 'href', '#', 'id', field_id + '_remove_link'); - remove_link.className = 'selector-remove'; - - // <div class="selector-chosen"> - const selector_chosen = quickElement('div', selector_div); - selector_chosen.className = 'selector-chosen'; - const title_chosen = quickElement('h2', selector_chosen, interpolate(gettext('Chosen %s') + ' ', [field_name])); - quickElement( - 'span', title_chosen, '', - 'class', 'help help-tooltip help-icon', - 'title', interpolate( - gettext( - 'This is the list of chosen %s. You may remove some by ' + - 'selecting them in the box below and then clicking the ' + - '"Remove" arrow between the two boxes.' - ), - [field_name] - ) - ); - - const to_box = quickElement('select', selector_chosen, '', 'id', field_id + '_to', 'multiple', '', 'size', from_box.size, 'name', from_box.name); - to_box.className = 'filtered'; - const clear_all = quickElement('a', selector_chosen, gettext('Remove all'), 'title', interpolate(gettext('Click to remove all chosen %s at once.'), [field_name]), 'href', '#', 'id', field_id + '_remove_all_link'); - clear_all.className = 'selector-clearall'; - - from_box.name = from_box.name + '_old'; - - // Set up the JavaScript event handlers for the select box filter interface - const move_selection = function(e, elem, move_func, from, to) { - if (elem.classList.contains('active')) { - move_func(from, to); - SelectFilter.refresh_icons(field_id); - } - e.preventDefault(); - }; - choose_all.addEventListener('click', function(e) { - move_selection(e, this, SelectBox.move_all, field_id + '_from', field_id + '_to'); - }); - add_link.addEventListener('click', function(e) { - move_selection(e, this, SelectBox.move, field_id + '_from', field_id + '_to'); - }); - remove_link.addEventListener('click', function(e) { - move_selection(e, this, SelectBox.move, field_id + '_to', field_id + '_from'); - }); - clear_all.addEventListener('click', function(e) { - move_selection(e, this, SelectBox.move_all, field_id + '_to', field_id + '_from'); - }); - filter_input.addEventListener('keypress', function(e) { - SelectFilter.filter_key_press(e, field_id); - }); - filter_input.addEventListener('keyup', function(e) { - SelectFilter.filter_key_up(e, field_id); - }); - filter_input.addEventListener('keydown', function(e) { - SelectFilter.filter_key_down(e, field_id); - }); - selector_div.addEventListener('change', function(e) { - if (e.target.tagName === 'SELECT') { - SelectFilter.refresh_icons(field_id); - } - }); - selector_div.addEventListener('dblclick', function(e) { - if (e.target.tagName === 'OPTION') { - if (e.target.closest('select').id === field_id + '_to') { - SelectBox.move(field_id + '_to', field_id + '_from'); - } else { - SelectBox.move(field_id + '_from', field_id + '_to'); - } - SelectFilter.refresh_icons(field_id); - } - }); - from_box.closest('form').addEventListener('submit', function() { - SelectBox.select_all(field_id + '_to'); - }); - SelectBox.init(field_id + '_from'); - SelectBox.init(field_id + '_to'); - // Move selected from_box options to to_box - SelectBox.move(field_id + '_from', field_id + '_to'); - - if (!is_stacked) { - // In horizontal mode, give the same height to the two boxes. - const j_from_box = document.getElementById(field_id + '_from'); - const j_to_box = document.getElementById(field_id + '_to'); - let height = filter_p.offsetHeight + j_from_box.offsetHeight; - - const j_to_box_style = window.getComputedStyle(j_to_box); - if (j_to_box_style.getPropertyValue('box-sizing') === 'border-box') { - // Add the padding and border to the final height. - height += parseInt(j_to_box_style.getPropertyValue('padding-top'), 10) - + parseInt(j_to_box_style.getPropertyValue('padding-bottom'), 10) - + parseInt(j_to_box_style.getPropertyValue('border-top-width'), 10) - + parseInt(j_to_box_style.getPropertyValue('border-bottom-width'), 10); - } - - j_to_box.style.height = height + 'px'; - } - - // Initial icon refresh - SelectFilter.refresh_icons(field_id); - }, - any_selected: function(field) { - // Temporarily add the required attribute and check validity. - field.required = true; - const any_selected = field.checkValidity(); - field.required = false; - return any_selected; - }, - refresh_icons: function(field_id) { - const from = document.getElementById(field_id + '_from'); - const to = document.getElementById(field_id + '_to'); - // Active if at least one item is selected - document.getElementById(field_id + '_add_link').classList.toggle('active', SelectFilter.any_selected(from)); - document.getElementById(field_id + '_remove_link').classList.toggle('active', SelectFilter.any_selected(to)); - // Active if the corresponding box isn't empty - document.getElementById(field_id + '_add_all_link').classList.toggle('active', from.querySelector('option')); - document.getElementById(field_id + '_remove_all_link').classList.toggle('active', to.querySelector('option')); - }, - filter_key_press: function(event, field_id) { - const from = document.getElementById(field_id + '_from'); - // don't submit form if user pressed Enter - if ((event.which && event.which === 13) || (event.keyCode && event.keyCode === 13)) { - from.selectedIndex = 0; - SelectBox.move(field_id + '_from', field_id + '_to'); - from.selectedIndex = 0; - event.preventDefault(); - } - }, - filter_key_up: function(event, field_id) { - const from = document.getElementById(field_id + '_from'); - const temp = from.selectedIndex; - SelectBox.filter(field_id + '_from', document.getElementById(field_id + '_input').value); - from.selectedIndex = temp; - }, - filter_key_down: function(event, field_id) { - const from = document.getElementById(field_id + '_from'); - // right arrow -- move across - if ((event.which && event.which === 39) || (event.keyCode && event.keyCode === 39)) { - const old_index = from.selectedIndex; - SelectBox.move(field_id + '_from', field_id + '_to'); - from.selectedIndex = (old_index === from.length) ? from.length - 1 : old_index; - return; - } - // down arrow -- wrap around - if ((event.which && event.which === 40) || (event.keyCode && event.keyCode === 40)) { - from.selectedIndex = (from.length === from.selectedIndex + 1) ? 0 : from.selectedIndex + 1; - } - // up arrow -- wrap around - if ((event.which && event.which === 38) || (event.keyCode && event.keyCode === 38)) { - from.selectedIndex = (from.selectedIndex === 0) ? from.length - 1 : from.selectedIndex - 1; - } - } - }; - - window.addEventListener('load', function(e) { - document.querySelectorAll('select.selectfilter, select.selectfilterstacked').forEach(function(el) { - const data = el.dataset; - SelectFilter.init(el.id, data.fieldName, parseInt(data.isStacked, 10)); - }); - }); -} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/actions.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/actions.js deleted file mode 100644 index dae69920..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/actions.js +++ /dev/null @@ -1,154 +0,0 @@ -/*global gettext, interpolate, ngettext*/ -'use strict'; -{ - const $ = django.jQuery; - let lastChecked; - - $.fn.actions = function(opts) { - const options = $.extend({}, $.fn.actions.defaults, opts); - const actionCheckboxes = $(this); - let list_editable_changed = false; - const showQuestion = function() { - $(options.acrossClears).hide(); - $(options.acrossQuestions).show(); - $(options.allContainer).hide(); - }, - showClear = function() { - $(options.acrossClears).show(); - $(options.acrossQuestions).hide(); - $(options.actionContainer).toggleClass(options.selectedClass); - $(options.allContainer).show(); - $(options.counterContainer).hide(); - }, - reset = function() { - $(options.acrossClears).hide(); - $(options.acrossQuestions).hide(); - $(options.allContainer).hide(); - $(options.counterContainer).show(); - }, - clearAcross = function() { - reset(); - $(options.acrossInput).val(0); - $(options.actionContainer).removeClass(options.selectedClass); - }, - checker = function(checked) { - if (checked) { - showQuestion(); - } else { - reset(); - } - $(actionCheckboxes).prop("checked", checked) - .parent().parent().toggleClass(options.selectedClass, checked); - }, - updateCounter = function() { - const sel = $(actionCheckboxes).filter(":checked").length; - // data-actions-icnt is defined in the generated HTML - // and contains the total amount of objects in the queryset - const actions_icnt = $('.action-counter').data('actionsIcnt'); - $(options.counterContainer).html(interpolate( - ngettext('%(sel)s of %(cnt)s selected', '%(sel)s of %(cnt)s selected', sel), { - sel: sel, - cnt: actions_icnt - }, true)); - $(options.allToggle).prop("checked", function() { - let value; - if (sel === actionCheckboxes.length) { - value = true; - showQuestion(); - } else { - value = false; - clearAcross(); - } - return value; - }); - }; - // Show counter by default - $(options.counterContainer).show(); - // Check state of checkboxes and reinit state if needed - $(this).filter(":checked").each(function(i) { - $(this).parent().parent().toggleClass(options.selectedClass); - updateCounter(); - if ($(options.acrossInput).val() === 1) { - showClear(); - } - }); - $(options.allToggle).show().on('click', function() { - checker($(this).prop("checked")); - updateCounter(); - }); - $("a", options.acrossQuestions).on('click', function(event) { - event.preventDefault(); - $(options.acrossInput).val(1); - showClear(); - }); - $("a", options.acrossClears).on('click', function(event) { - event.preventDefault(); - $(options.allToggle).prop("checked", false); - clearAcross(); - checker(0); - updateCounter(); - }); - lastChecked = null; - $(actionCheckboxes).on('click', function(event) { - if (!event) { event = window.event; } - const target = event.target ? event.target : event.srcElement; - if (lastChecked && $.data(lastChecked) !== $.data(target) && event.shiftKey === true) { - let inrange = false; - $(lastChecked).prop("checked", target.checked) - .parent().parent().toggleClass(options.selectedClass, target.checked); - $(actionCheckboxes).each(function() { - if ($.data(this) === $.data(lastChecked) || $.data(this) === $.data(target)) { - inrange = (inrange) ? false : true; - } - if (inrange) { - $(this).prop("checked", target.checked) - .parent().parent().toggleClass(options.selectedClass, target.checked); - } - }); - } - $(target).parent().parent().toggleClass(options.selectedClass, target.checked); - lastChecked = target; - updateCounter(); - }); - $('form#changelist-form table#result_list tr').on('change', 'td:gt(0) :input', function() { - list_editable_changed = true; - }); - $('form#changelist-form button[name="index"]').on('click', function(event) { - if (list_editable_changed) { - return confirm(gettext("You have unsaved changes on individual editable fields. If you run an action, your unsaved changes will be lost.")); - } - }); - $('form#changelist-form input[name="_save"]').on('click', function(event) { - let action_changed = false; - $('select option:selected', options.actionContainer).each(function() { - if ($(this).val()) { - action_changed = true; - } - }); - if (action_changed) { - if (list_editable_changed) { - return confirm(gettext("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.")); - } else { - return confirm(gettext("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.")); - } - } - }); - }; - /* Setup plugin defaults */ - $.fn.actions.defaults = { - actionContainer: "div.actions", - counterContainer: "span.action-counter", - allContainer: "div.actions span.all", - acrossInput: "div.actions input.select-across", - acrossQuestions: "div.actions span.question", - acrossClears: "div.actions span.clear", - allToggle: "#action-toggle", - selectedClass: "selected" - }; - $(document).ready(function() { - const $actionsEls = $('tr input.action-select'); - if ($actionsEls.length > 0) { - $actionsEls.actions(); - } - }); -} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/actions.min.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/actions.min.js deleted file mode 100644 index 29fd0d8c..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/actions.min.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict';{const a=django.jQuery;let e;a.fn.actions=function(g){const b=a.extend({},a.fn.actions.defaults,g),f=a(this);let k=!1;const l=function(){a(b.acrossClears).hide();a(b.acrossQuestions).show();a(b.allContainer).hide()},m=function(){a(b.acrossClears).show();a(b.acrossQuestions).hide();a(b.actionContainer).toggleClass(b.selectedClass);a(b.allContainer).show();a(b.counterContainer).hide()},n=function(){a(b.acrossClears).hide();a(b.acrossQuestions).hide();a(b.allContainer).hide();a(b.counterContainer).show()}, -p=function(){n();a(b.acrossInput).val(0);a(b.actionContainer).removeClass(b.selectedClass)},q=function(c){c?l():n();a(f).prop("checked",c).parent().parent().toggleClass(b.selectedClass,c)},h=function(){const c=a(f).filter(":checked").length,d=a(".action-counter").data("actionsIcnt");a(b.counterContainer).html(interpolate(ngettext("%(sel)s of %(cnt)s selected","%(sel)s of %(cnt)s selected",c),{sel:c,cnt:d},!0));a(b.allToggle).prop("checked",function(){let a;c===f.length?(a=!0,l()):(a=!1,p());return a})}; -a(b.counterContainer).show();a(this).filter(":checked").each(function(c){a(this).parent().parent().toggleClass(b.selectedClass);h();1===a(b.acrossInput).val()&&m()});a(b.allToggle).show().on("click",function(){q(a(this).prop("checked"));h()});a("a",b.acrossQuestions).on("click",function(c){c.preventDefault();a(b.acrossInput).val(1);m()});a("a",b.acrossClears).on("click",function(c){c.preventDefault();a(b.allToggle).prop("checked",!1);p();q(0);h()});e=null;a(f).on("click",function(c){c||(c=window.event); -const d=c.target?c.target:c.srcElement;if(e&&a.data(e)!==a.data(d)&&!0===c.shiftKey){let c=!1;a(e).prop("checked",d.checked).parent().parent().toggleClass(b.selectedClass,d.checked);a(f).each(function(){if(a.data(this)===a.data(e)||a.data(this)===a.data(d))c=c?!1:!0;c&&a(this).prop("checked",d.checked).parent().parent().toggleClass(b.selectedClass,d.checked)})}a(d).parent().parent().toggleClass(b.selectedClass,d.checked);e=d;h()});a("form#changelist-form table#result_list tr").on("change","td:gt(0) :input", -function(){k=!0});a('form#changelist-form button[name="index"]').on("click",function(a){if(k)return confirm(gettext("You have unsaved changes on individual editable fields. If you run an action, your unsaved changes will be lost."))});a('form#changelist-form input[name="_save"]').on("click",function(c){let d=!1;a("select option:selected",b.actionContainer).each(function(){a(this).val()&&(d=!0)});if(d)return k?confirm(gettext("You have selected an action, but you haven\u2019t saved your changes to individual fields yet. Please click OK to save. You\u2019ll need to re-run the action.")): -confirm(gettext("You have selected an action, and you haven\u2019t made any changes on individual fields. You\u2019re probably looking for the Go button rather than the Save button."))})};a.fn.actions.defaults={actionContainer:"div.actions",counterContainer:"span.action-counter",allContainer:"div.actions span.all",acrossInput:"div.actions input.select-across",acrossQuestions:"div.actions span.question",acrossClears:"div.actions span.clear",allToggle:"#action-toggle",selectedClass:"selected"};a(document).ready(function(){const g= -a("tr input.action-select");0<g.length&&g.actions()})}; diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js deleted file mode 100644 index 28de4797..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js +++ /dev/null @@ -1,417 +0,0 @@ -/*global Calendar, findPosX, findPosY, get_format, gettext, gettext_noop, interpolate, ngettext, quickElement*/ -// Inserts shortcut buttons after all of the following: -// <input type="text" class="vDateField"> -// <input type="text" class="vTimeField"> -'use strict'; -{ - const DateTimeShortcuts = { - calendars: [], - calendarInputs: [], - clockInputs: [], - clockHours: { - default_: [ - [gettext_noop('Now'), -1], - [gettext_noop('Midnight'), 0], - [gettext_noop('6 a.m.'), 6], - [gettext_noop('Noon'), 12], - [gettext_noop('6 p.m.'), 18] - ] - }, - dismissClockFunc: [], - dismissCalendarFunc: [], - calendarDivName1: 'calendarbox', // name of calendar <div> that gets toggled - calendarDivName2: 'calendarin', // name of <div> that contains calendar - calendarLinkName: 'calendarlink', // name of the link that is used to toggle - clockDivName: 'clockbox', // name of clock <div> that gets toggled - clockLinkName: 'clocklink', // name of the link that is used to toggle - shortCutsClass: 'datetimeshortcuts', // class of the clock and cal shortcuts - timezoneWarningClass: 'timezonewarning', // class of the warning for timezone mismatch - timezoneOffset: 0, - init: function() { - const body = document.getElementsByTagName('body')[0]; - const serverOffset = body.dataset.adminUtcOffset; - if (serverOffset) { - const localOffset = new Date().getTimezoneOffset() * -60; - DateTimeShortcuts.timezoneOffset = localOffset - serverOffset; - } - - for (const inp of document.getElementsByTagName('input')) { - if (inp.type === 'text' && inp.classList.contains('vTimeField')) { - DateTimeShortcuts.addClock(inp); - DateTimeShortcuts.addTimezoneWarning(inp); - } - else if (inp.type === 'text' && inp.classList.contains('vDateField')) { - DateTimeShortcuts.addCalendar(inp); - DateTimeShortcuts.addTimezoneWarning(inp); - } - } - }, - // Return the current time while accounting for the server timezone. - now: function() { - const body = document.getElementsByTagName('body')[0]; - const serverOffset = body.dataset.adminUtcOffset; - if (serverOffset) { - const localNow = new Date(); - const localOffset = localNow.getTimezoneOffset() * -60; - localNow.setTime(localNow.getTime() + 1000 * (serverOffset - localOffset)); - return localNow; - } else { - return new Date(); - } - }, - // Add a warning when the time zone in the browser and backend do not match. - addTimezoneWarning: function(inp) { - const warningClass = DateTimeShortcuts.timezoneWarningClass; - let timezoneOffset = DateTimeShortcuts.timezoneOffset / 3600; - - // Only warn if there is a time zone mismatch. - if (!timezoneOffset) { - return; - } - - // Check if warning is already there. - if (inp.parentNode.querySelectorAll('.' + warningClass).length) { - return; - } - - let message; - if (timezoneOffset > 0) { - message = ngettext( - 'Note: You are %s hour ahead of server time.', - 'Note: You are %s hours ahead of server time.', - timezoneOffset - ); - } - else { - timezoneOffset *= -1; - message = ngettext( - 'Note: You are %s hour behind server time.', - 'Note: You are %s hours behind server time.', - timezoneOffset - ); - } - message = interpolate(message, [timezoneOffset]); - - const warning = document.createElement('span'); - warning.className = warningClass; - warning.textContent = message; - inp.parentNode.appendChild(document.createElement('br')); - inp.parentNode.appendChild(warning); - }, - // Add clock widget to a given field - addClock: function(inp) { - const num = DateTimeShortcuts.clockInputs.length; - DateTimeShortcuts.clockInputs[num] = inp; - DateTimeShortcuts.dismissClockFunc[num] = function() { DateTimeShortcuts.dismissClock(num); return true; }; - - // Shortcut links (clock icon and "Now" link) - const shortcuts_span = document.createElement('span'); - shortcuts_span.className = DateTimeShortcuts.shortCutsClass; - inp.parentNode.insertBefore(shortcuts_span, inp.nextSibling); - const now_link = document.createElement('a'); - now_link.href = "#"; - now_link.textContent = gettext('Now'); - now_link.addEventListener('click', function(e) { - e.preventDefault(); - DateTimeShortcuts.handleClockQuicklink(num, -1); - }); - const clock_link = document.createElement('a'); - clock_link.href = '#'; - clock_link.id = DateTimeShortcuts.clockLinkName + num; - clock_link.addEventListener('click', function(e) { - e.preventDefault(); - // avoid triggering the document click handler to dismiss the clock - e.stopPropagation(); - DateTimeShortcuts.openClock(num); - }); - - quickElement( - 'span', clock_link, '', - 'class', 'clock-icon', - 'title', gettext('Choose a Time') - ); - shortcuts_span.appendChild(document.createTextNode('\u00A0')); - shortcuts_span.appendChild(now_link); - shortcuts_span.appendChild(document.createTextNode('\u00A0|\u00A0')); - shortcuts_span.appendChild(clock_link); - - // Create clock link div - // - // Markup looks like: - // <div id="clockbox1" class="clockbox module"> - // <h2>Choose a time</h2> - // <ul class="timelist"> - // <li><a href="#">Now</a></li> - // <li><a href="#">Midnight</a></li> - // <li><a href="#">6 a.m.</a></li> - // <li><a href="#">Noon</a></li> - // <li><a href="#">6 p.m.</a></li> - // </ul> - // <p class="calendar-cancel"><a href="#">Cancel</a></p> - // </div> - - const clock_box = document.createElement('div'); - clock_box.style.display = 'none'; - clock_box.style.position = 'absolute'; - clock_box.className = 'clockbox module'; - clock_box.id = DateTimeShortcuts.clockDivName + num; - document.body.appendChild(clock_box); - clock_box.addEventListener('click', function(e) { e.stopPropagation(); }); - - quickElement('h2', clock_box, gettext('Choose a time')); - const time_list = quickElement('ul', clock_box); - time_list.className = 'timelist'; - // The list of choices can be overridden in JavaScript like this: - // DateTimeShortcuts.clockHours.name = [['3 a.m.', 3]]; - // where name is the name attribute of the <input>. - const name = typeof DateTimeShortcuts.clockHours[inp.name] === 'undefined' ? 'default_' : inp.name; - DateTimeShortcuts.clockHours[name].forEach(function(element) { - const time_link = quickElement('a', quickElement('li', time_list), gettext(element[0]), 'href', '#'); - time_link.addEventListener('click', function(e) { - e.preventDefault(); - DateTimeShortcuts.handleClockQuicklink(num, element[1]); - }); - }); - - const cancel_p = quickElement('p', clock_box); - cancel_p.className = 'calendar-cancel'; - const cancel_link = quickElement('a', cancel_p, gettext('Cancel'), 'href', '#'); - cancel_link.addEventListener('click', function(e) { - e.preventDefault(); - DateTimeShortcuts.dismissClock(num); - }); - - document.addEventListener('keyup', function(event) { - if (event.which === 27) { - // ESC key closes popup - DateTimeShortcuts.dismissClock(num); - event.preventDefault(); - } - }); - }, - openClock: function(num) { - const clock_box = document.getElementById(DateTimeShortcuts.clockDivName + num); - const clock_link = document.getElementById(DateTimeShortcuts.clockLinkName + num); - - // Recalculate the clockbox position - // is it left-to-right or right-to-left layout ? - if (window.getComputedStyle(document.body).direction !== 'rtl') { - clock_box.style.left = findPosX(clock_link) + 17 + 'px'; - } - else { - // since style's width is in em, it'd be tough to calculate - // px value of it. let's use an estimated px for now - clock_box.style.left = findPosX(clock_link) - 110 + 'px'; - } - clock_box.style.top = Math.max(0, findPosY(clock_link) - 30) + 'px'; - - // Show the clock box - clock_box.style.display = 'block'; - document.addEventListener('click', DateTimeShortcuts.dismissClockFunc[num]); - }, - dismissClock: function(num) { - document.getElementById(DateTimeShortcuts.clockDivName + num).style.display = 'none'; - document.removeEventListener('click', DateTimeShortcuts.dismissClockFunc[num]); - }, - handleClockQuicklink: function(num, val) { - let d; - if (val === -1) { - d = DateTimeShortcuts.now(); - } - else { - d = new Date(1970, 1, 1, val, 0, 0, 0); - } - DateTimeShortcuts.clockInputs[num].value = d.strftime(get_format('TIME_INPUT_FORMATS')[0]); - DateTimeShortcuts.clockInputs[num].focus(); - DateTimeShortcuts.dismissClock(num); - }, - // Add calendar widget to a given field. - addCalendar: function(inp) { - const num = DateTimeShortcuts.calendars.length; - - DateTimeShortcuts.calendarInputs[num] = inp; - DateTimeShortcuts.dismissCalendarFunc[num] = function() { DateTimeShortcuts.dismissCalendar(num); return true; }; - - // Shortcut links (calendar icon and "Today" link) - const shortcuts_span = document.createElement('span'); - shortcuts_span.className = DateTimeShortcuts.shortCutsClass; - inp.parentNode.insertBefore(shortcuts_span, inp.nextSibling); - const today_link = document.createElement('a'); - today_link.href = '#'; - today_link.appendChild(document.createTextNode(gettext('Today'))); - today_link.addEventListener('click', function(e) { - e.preventDefault(); - DateTimeShortcuts.handleCalendarQuickLink(num, 0); - }); - const cal_link = document.createElement('a'); - cal_link.href = '#'; - cal_link.id = DateTimeShortcuts.calendarLinkName + num; - cal_link.addEventListener('click', function(e) { - e.preventDefault(); - // avoid triggering the document click handler to dismiss the calendar - e.stopPropagation(); - DateTimeShortcuts.openCalendar(num); - }); - quickElement( - 'span', cal_link, '', - 'class', 'date-icon', - 'title', gettext('Choose a Date') - ); - shortcuts_span.appendChild(document.createTextNode('\u00A0')); - shortcuts_span.appendChild(today_link); - shortcuts_span.appendChild(document.createTextNode('\u00A0|\u00A0')); - shortcuts_span.appendChild(cal_link); - - // Create calendarbox div. - // - // Markup looks like: - // - // <div id="calendarbox3" class="calendarbox module"> - // <h2> - // <a href="#" class="link-previous">‹</a> - // <a href="#" class="link-next">›</a> February 2003 - // </h2> - // <div class="calendar" id="calendarin3"> - // <!-- (cal) --> - // </div> - // <div class="calendar-shortcuts"> - // <a href="#">Yesterday</a> | <a href="#">Today</a> | <a href="#">Tomorrow</a> - // </div> - // <p class="calendar-cancel"><a href="#">Cancel</a></p> - // </div> - const cal_box = document.createElement('div'); - cal_box.style.display = 'none'; - cal_box.style.position = 'absolute'; - cal_box.className = 'calendarbox module'; - cal_box.id = DateTimeShortcuts.calendarDivName1 + num; - document.body.appendChild(cal_box); - cal_box.addEventListener('click', function(e) { e.stopPropagation(); }); - - // next-prev links - const cal_nav = quickElement('div', cal_box); - const cal_nav_prev = quickElement('a', cal_nav, '<', 'href', '#'); - cal_nav_prev.className = 'calendarnav-previous'; - cal_nav_prev.addEventListener('click', function(e) { - e.preventDefault(); - DateTimeShortcuts.drawPrev(num); - }); - - const cal_nav_next = quickElement('a', cal_nav, '>', 'href', '#'); - cal_nav_next.className = 'calendarnav-next'; - cal_nav_next.addEventListener('click', function(e) { - e.preventDefault(); - DateTimeShortcuts.drawNext(num); - }); - - // main box - const cal_main = quickElement('div', cal_box, '', 'id', DateTimeShortcuts.calendarDivName2 + num); - cal_main.className = 'calendar'; - DateTimeShortcuts.calendars[num] = new Calendar(DateTimeShortcuts.calendarDivName2 + num, DateTimeShortcuts.handleCalendarCallback(num)); - DateTimeShortcuts.calendars[num].drawCurrent(); - - // calendar shortcuts - const shortcuts = quickElement('div', cal_box); - shortcuts.className = 'calendar-shortcuts'; - let day_link = quickElement('a', shortcuts, gettext('Yesterday'), 'href', '#'); - day_link.addEventListener('click', function(e) { - e.preventDefault(); - DateTimeShortcuts.handleCalendarQuickLink(num, -1); - }); - shortcuts.appendChild(document.createTextNode('\u00A0|\u00A0')); - day_link = quickElement('a', shortcuts, gettext('Today'), 'href', '#'); - day_link.addEventListener('click', function(e) { - e.preventDefault(); - DateTimeShortcuts.handleCalendarQuickLink(num, 0); - }); - shortcuts.appendChild(document.createTextNode('\u00A0|\u00A0')); - day_link = quickElement('a', shortcuts, gettext('Tomorrow'), 'href', '#'); - day_link.addEventListener('click', function(e) { - e.preventDefault(); - DateTimeShortcuts.handleCalendarQuickLink(num, +1); - }); - - // cancel bar - const cancel_p = quickElement('p', cal_box); - cancel_p.className = 'calendar-cancel'; - const cancel_link = quickElement('a', cancel_p, gettext('Cancel'), 'href', '#'); - cancel_link.addEventListener('click', function(e) { - e.preventDefault(); - DateTimeShortcuts.dismissCalendar(num); - }); - document.addEventListener('keyup', function(event) { - if (event.which === 27) { - // ESC key closes popup - DateTimeShortcuts.dismissCalendar(num); - event.preventDefault(); - } - }); - }, - openCalendar: function(num) { - const cal_box = document.getElementById(DateTimeShortcuts.calendarDivName1 + num); - const cal_link = document.getElementById(DateTimeShortcuts.calendarLinkName + num); - const inp = DateTimeShortcuts.calendarInputs[num]; - - // Determine if the current value in the input has a valid date. - // If so, draw the calendar with that date's year and month. - if (inp.value) { - const format = get_format('DATE_INPUT_FORMATS')[0]; - const selected = inp.value.strptime(format); - const year = selected.getUTCFullYear(); - const month = selected.getUTCMonth() + 1; - const re = /\d{4}/; - if (re.test(year.toString()) && month >= 1 && month <= 12) { - DateTimeShortcuts.calendars[num].drawDate(month, year, selected); - } - } - - // Recalculate the clockbox position - // is it left-to-right or right-to-left layout ? - if (window.getComputedStyle(document.body).direction !== 'rtl') { - cal_box.style.left = findPosX(cal_link) + 17 + 'px'; - } - else { - // since style's width is in em, it'd be tough to calculate - // px value of it. let's use an estimated px for now - cal_box.style.left = findPosX(cal_link) - 180 + 'px'; - } - cal_box.style.top = Math.max(0, findPosY(cal_link) - 75) + 'px'; - - cal_box.style.display = 'block'; - document.addEventListener('click', DateTimeShortcuts.dismissCalendarFunc[num]); - }, - dismissCalendar: function(num) { - document.getElementById(DateTimeShortcuts.calendarDivName1 + num).style.display = 'none'; - document.removeEventListener('click', DateTimeShortcuts.dismissCalendarFunc[num]); - }, - drawPrev: function(num) { - DateTimeShortcuts.calendars[num].drawPreviousMonth(); - }, - drawNext: function(num) { - DateTimeShortcuts.calendars[num].drawNextMonth(); - }, - handleCalendarCallback: function(num) { - let format = get_format('DATE_INPUT_FORMATS')[0]; - // the format needs to be escaped a little - format = format.replace('\\', '\\\\') - .replace('\r', '\\r') - .replace('\n', '\\n') - .replace('\t', '\\t') - .replace("'", "\\'"); - return function(y, m, d) { - DateTimeShortcuts.calendarInputs[num].value = new Date(y, m - 1, d).strftime(format); - DateTimeShortcuts.calendarInputs[num].focus(); - document.getElementById(DateTimeShortcuts.calendarDivName1 + num).style.display = 'none'; - }; - }, - handleCalendarQuickLink: function(num, offset) { - const d = DateTimeShortcuts.now(); - d.setDate(d.getDate() + offset); - DateTimeShortcuts.calendarInputs[num].value = d.strftime(get_format('DATE_INPUT_FORMATS')[0]); - DateTimeShortcuts.calendarInputs[num].focus(); - DateTimeShortcuts.dismissCalendar(num); - } - }; - - window.addEventListener('load', DateTimeShortcuts.init); - window.DateTimeShortcuts = DateTimeShortcuts; -} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/admin/RelatedObjectLookups.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/admin/RelatedObjectLookups.js deleted file mode 100644 index 8c95df7c..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/admin/RelatedObjectLookups.js +++ /dev/null @@ -1,159 +0,0 @@ -/*global SelectBox, interpolate*/ -// Handles related-objects functionality: lookup link for raw_id_fields -// and Add Another links. -'use strict'; -{ - const $ = django.jQuery; - - function showAdminPopup(triggeringLink, name_regexp, add_popup) { - const name = triggeringLink.id.replace(name_regexp, ''); - let href = triggeringLink.href; - if (add_popup) { - if (href.indexOf('?') === -1) { - href += '?_popup=1'; - } else { - href += '&_popup=1'; - } - } - const win = window.open(href, name, 'height=500,width=800,resizable=yes,scrollbars=yes'); - win.focus(); - return false; - } - - function showRelatedObjectLookupPopup(triggeringLink) { - return showAdminPopup(triggeringLink, /^lookup_/, true); - } - - function dismissRelatedLookupPopup(win, chosenId) { - const name = win.name; - const elem = document.getElementById(name); - if (elem.classList.contains('vManyToManyRawIdAdminField') && elem.value) { - elem.value += ',' + chosenId; - } else { - document.getElementById(name).value = chosenId; - } - win.close(); - } - - function showRelatedObjectPopup(triggeringLink) { - return showAdminPopup(triggeringLink, /^(change|add|delete)_/, false); - } - - function updateRelatedObjectLinks(triggeringLink) { - const $this = $(triggeringLink); - const siblings = $this.nextAll('.view-related, .change-related, .delete-related'); - if (!siblings.length) { - return; - } - const value = $this.val(); - if (value) { - siblings.each(function() { - const elm = $(this); - elm.attr('href', elm.attr('data-href-template').replace('__fk__', value)); - }); - } else { - siblings.removeAttr('href'); - } - } - - function dismissAddRelatedObjectPopup(win, newId, newRepr) { - const name = win.name; - const elem = document.getElementById(name); - if (elem) { - const elemName = elem.nodeName.toUpperCase(); - if (elemName === 'SELECT') { - elem.options[elem.options.length] = new Option(newRepr, newId, true, true); - } else if (elemName === 'INPUT') { - if (elem.classList.contains('vManyToManyRawIdAdminField') && elem.value) { - elem.value += ',' + newId; - } else { - elem.value = newId; - } - } - // Trigger a change event to update related links if required. - $(elem).trigger('change'); - } else { - const toId = name + "_to"; - const o = new Option(newRepr, newId); - SelectBox.add_to_cache(toId, o); - SelectBox.redisplay(toId); - } - win.close(); - } - - function dismissChangeRelatedObjectPopup(win, objId, newRepr, newId) { - const id = win.name.replace(/^edit_/, ''); - const selectsSelector = interpolate('#%s, #%s_from, #%s_to', [id, id, id]); - const selects = $(selectsSelector); - selects.find('option').each(function() { - if (this.value === objId) { - this.textContent = newRepr; - this.value = newId; - } - }); - selects.next().find('.select2-selection__rendered').each(function() { - // The element can have a clear button as a child. - // Use the lastChild to modify only the displayed value. - this.lastChild.textContent = newRepr; - this.title = newRepr; - }); - win.close(); - } - - function dismissDeleteRelatedObjectPopup(win, objId) { - const id = win.name.replace(/^delete_/, ''); - const selectsSelector = interpolate('#%s, #%s_from, #%s_to', [id, id, id]); - const selects = $(selectsSelector); - selects.find('option').each(function() { - if (this.value === objId) { - $(this).remove(); - } - }).trigger('change'); - win.close(); - } - - window.showRelatedObjectLookupPopup = showRelatedObjectLookupPopup; - window.dismissRelatedLookupPopup = dismissRelatedLookupPopup; - window.showRelatedObjectPopup = showRelatedObjectPopup; - window.updateRelatedObjectLinks = updateRelatedObjectLinks; - window.dismissAddRelatedObjectPopup = dismissAddRelatedObjectPopup; - window.dismissChangeRelatedObjectPopup = dismissChangeRelatedObjectPopup; - window.dismissDeleteRelatedObjectPopup = dismissDeleteRelatedObjectPopup; - - // Kept for backward compatibility - window.showAddAnotherPopup = showRelatedObjectPopup; - window.dismissAddAnotherPopup = dismissAddRelatedObjectPopup; - - $(document).ready(function() { - $("a[data-popup-opener]").on('click', function(event) { - event.preventDefault(); - opener.dismissRelatedLookupPopup(window, $(this).data("popup-opener")); - }); - $('body').on('click', '.related-widget-wrapper-link', function(e) { - e.preventDefault(); - if (this.href) { - const event = $.Event('django:show-related', {href: this.href}); - $(this).trigger(event); - if (!event.isDefaultPrevented()) { - showRelatedObjectPopup(this); - } - } - }); - $('body').on('change', '.related-widget-wrapper select', function(e) { - const event = $.Event('django:update-related'); - $(this).trigger(event); - if (!event.isDefaultPrevented()) { - updateRelatedObjectLinks(this); - } - }); - $('.related-widget-wrapper select').trigger('change'); - $('body').on('click', '.related-lookup', function(e) { - e.preventDefault(); - const event = $.Event('django:lookup-related'); - $(this).trigger(event); - if (!event.isDefaultPrevented()) { - showRelatedObjectLookupPopup(this); - } - }); - }); -} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/autocomplete.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/autocomplete.js deleted file mode 100644 index c922b303..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/autocomplete.js +++ /dev/null @@ -1,38 +0,0 @@ -'use strict'; -{ - const $ = django.jQuery; - const init = function($element, options) { - const settings = $.extend({ - ajax: { - data: function(params) { - return { - term: params.term, - page: params.page - }; - } - } - }, options); - $element.select2(settings); - }; - - $.fn.djangoAdminSelect2 = function(options) { - const settings = $.extend({}, options); - $.each(this, function(i, element) { - const $element = $(element); - init($element, settings); - }); - return this; - }; - - $(function() { - // Initialize all autocomplete widgets except the one in the template - // form used when a new formset is added. - $('.admin-autocomplete').not('[name*=__prefix__]').djangoAdminSelect2(); - }); - - $(document).on('formset:added', (function() { - return function(event, $newFormset) { - return $newFormset.find('.admin-autocomplete').djangoAdminSelect2(); - }; - })(this)); -} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/calendar.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/calendar.js deleted file mode 100644 index 64598bbb..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/calendar.js +++ /dev/null @@ -1,207 +0,0 @@ -/*global gettext, pgettext, get_format, quickElement, removeChildren*/ -/* -calendar.js - Calendar functions by Adrian Holovaty -depends on core.js for utility functions like removeChildren or quickElement -*/ -'use strict'; -{ - // CalendarNamespace -- Provides a collection of HTML calendar-related helper functions - const CalendarNamespace = { - monthsOfYear: [ - gettext('January'), - gettext('February'), - gettext('March'), - gettext('April'), - gettext('May'), - gettext('June'), - gettext('July'), - gettext('August'), - gettext('September'), - gettext('October'), - gettext('November'), - gettext('December') - ], - daysOfWeek: [ - pgettext('one letter Sunday', 'S'), - pgettext('one letter Monday', 'M'), - pgettext('one letter Tuesday', 'T'), - pgettext('one letter Wednesday', 'W'), - pgettext('one letter Thursday', 'T'), - pgettext('one letter Friday', 'F'), - pgettext('one letter Saturday', 'S') - ], - firstDayOfWeek: parseInt(get_format('FIRST_DAY_OF_WEEK')), - isLeapYear: function(year) { - return (((year % 4) === 0) && ((year % 100) !== 0 ) || ((year % 400) === 0)); - }, - getDaysInMonth: function(month, year) { - let days; - if (month === 1 || month === 3 || month === 5 || month === 7 || month === 8 || month === 10 || month === 12) { - days = 31; - } - else if (month === 4 || month === 6 || month === 9 || month === 11) { - days = 30; - } - else if (month === 2 && CalendarNamespace.isLeapYear(year)) { - days = 29; - } - else { - days = 28; - } - return days; - }, - draw: function(month, year, div_id, callback, selected) { // month = 1-12, year = 1-9999 - const today = new Date(); - const todayDay = today.getDate(); - const todayMonth = today.getMonth() + 1; - const todayYear = today.getFullYear(); - let todayClass = ''; - - // Use UTC functions here because the date field does not contain time - // and using the UTC function variants prevent the local time offset - // from altering the date, specifically the day field. For example: - // - // ``` - // var x = new Date('2013-10-02'); - // var day = x.getDate(); - // ``` - // - // The day variable above will be 1 instead of 2 in, say, US Pacific time - // zone. - let isSelectedMonth = false; - if (typeof selected !== 'undefined') { - isSelectedMonth = (selected.getUTCFullYear() === year && (selected.getUTCMonth() + 1) === month); - } - - month = parseInt(month); - year = parseInt(year); - const calDiv = document.getElementById(div_id); - removeChildren(calDiv); - const calTable = document.createElement('table'); - quickElement('caption', calTable, CalendarNamespace.monthsOfYear[month - 1] + ' ' + year); - const tableBody = quickElement('tbody', calTable); - - // Draw days-of-week header - let tableRow = quickElement('tr', tableBody); - for (let i = 0; i < 7; i++) { - quickElement('th', tableRow, CalendarNamespace.daysOfWeek[(i + CalendarNamespace.firstDayOfWeek) % 7]); - } - - const startingPos = new Date(year, month - 1, 1 - CalendarNamespace.firstDayOfWeek).getDay(); - const days = CalendarNamespace.getDaysInMonth(month, year); - - let nonDayCell; - - // Draw blanks before first of month - tableRow = quickElement('tr', tableBody); - for (let i = 0; i < startingPos; i++) { - nonDayCell = quickElement('td', tableRow, ' '); - nonDayCell.className = "nonday"; - } - - function calendarMonth(y, m) { - function onClick(e) { - e.preventDefault(); - callback(y, m, this.textContent); - } - return onClick; - } - - // Draw days of month - let currentDay = 1; - for (let i = startingPos; currentDay <= days; i++) { - if (i % 7 === 0 && currentDay !== 1) { - tableRow = quickElement('tr', tableBody); - } - if ((currentDay === todayDay) && (month === todayMonth) && (year === todayYear)) { - todayClass = 'today'; - } else { - todayClass = ''; - } - - // use UTC function; see above for explanation. - if (isSelectedMonth && currentDay === selected.getUTCDate()) { - if (todayClass !== '') { - todayClass += " "; - } - todayClass += "selected"; - } - - const cell = quickElement('td', tableRow, '', 'class', todayClass); - const link = quickElement('a', cell, currentDay, 'href', '#'); - link.addEventListener('click', calendarMonth(year, month)); - currentDay++; - } - - // Draw blanks after end of month (optional, but makes for valid code) - while (tableRow.childNodes.length < 7) { - nonDayCell = quickElement('td', tableRow, ' '); - nonDayCell.className = "nonday"; - } - - calDiv.appendChild(calTable); - } - }; - - // Calendar -- A calendar instance - function Calendar(div_id, callback, selected) { - // div_id (string) is the ID of the element in which the calendar will - // be displayed - // callback (string) is the name of a JavaScript function that will be - // called with the parameters (year, month, day) when a day in the - // calendar is clicked - this.div_id = div_id; - this.callback = callback; - this.today = new Date(); - this.currentMonth = this.today.getMonth() + 1; - this.currentYear = this.today.getFullYear(); - if (typeof selected !== 'undefined') { - this.selected = selected; - } - } - Calendar.prototype = { - drawCurrent: function() { - CalendarNamespace.draw(this.currentMonth, this.currentYear, this.div_id, this.callback, this.selected); - }, - drawDate: function(month, year, selected) { - this.currentMonth = month; - this.currentYear = year; - - if(selected) { - this.selected = selected; - } - - this.drawCurrent(); - }, - drawPreviousMonth: function() { - if (this.currentMonth === 1) { - this.currentMonth = 12; - this.currentYear--; - } - else { - this.currentMonth--; - } - this.drawCurrent(); - }, - drawNextMonth: function() { - if (this.currentMonth === 12) { - this.currentMonth = 1; - this.currentYear++; - } - else { - this.currentMonth++; - } - this.drawCurrent(); - }, - drawPreviousYear: function() { - this.currentYear--; - this.drawCurrent(); - }, - drawNextYear: function() { - this.currentYear++; - this.drawCurrent(); - } - }; - window.Calendar = Calendar; - window.CalendarNamespace = CalendarNamespace; -} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/cancel.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/cancel.js deleted file mode 100644 index cfe06c27..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/cancel.js +++ /dev/null @@ -1,28 +0,0 @@ -'use strict'; -{ - // Call function fn when the DOM is loaded and ready. If it is already - // loaded, call the function now. - // http://youmightnotneedjquery.com/#ready - function ready(fn) { - if (document.readyState !== 'loading') { - fn(); - } else { - document.addEventListener('DOMContentLoaded', fn); - } - } - - ready(function() { - function handleClick(event) { - event.preventDefault(); - if (window.location.search.indexOf('&_popup=1') === -1) { - window.history.back(); // Go back if not a popup. - } else { - window.close(); // Otherwise, close the popup. - } - } - - document.querySelectorAll('.cancel-link').forEach(function(el) { - el.addEventListener('click', handleClick); - }); - }); -} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/change_form.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/change_form.js deleted file mode 100644 index 96a4c62e..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/change_form.js +++ /dev/null @@ -1,16 +0,0 @@ -'use strict'; -{ - const inputTags = ['BUTTON', 'INPUT', 'SELECT', 'TEXTAREA']; - const modelName = document.getElementById('django-admin-form-add-constants').dataset.modelName; - if (modelName) { - const form = document.getElementById(modelName + '_form'); - for (const element of form.elements) { - // HTMLElement.offsetParent returns null when the element is not - // rendered. - if (inputTags.includes(element.tagName) && !element.disabled && element.offsetParent) { - element.focus(); - break; - } - } - } -} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/collapse.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/collapse.js deleted file mode 100644 index c6c7b0f6..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/collapse.js +++ /dev/null @@ -1,43 +0,0 @@ -/*global gettext*/ -'use strict'; -{ - window.addEventListener('load', function() { - // Add anchor tag for Show/Hide link - const fieldsets = document.querySelectorAll('fieldset.collapse'); - for (const [i, elem] of fieldsets.entries()) { - // Don't hide if fields in this fieldset have errors - if (elem.querySelectorAll('div.errors, ul.errorlist').length === 0) { - elem.classList.add('collapsed'); - const h2 = elem.querySelector('h2'); - const link = document.createElement('a'); - link.id = 'fieldsetcollapser' + i; - link.className = 'collapse-toggle'; - link.href = '#'; - link.textContent = gettext('Show'); - h2.appendChild(document.createTextNode(' (')); - h2.appendChild(link); - h2.appendChild(document.createTextNode(')')); - } - } - // Add toggle to hide/show anchor tag - const toggleFunc = function(ev) { - if (ev.target.matches('.collapse-toggle')) { - ev.preventDefault(); - ev.stopPropagation(); - const fieldset = ev.target.closest('fieldset'); - if (fieldset.classList.contains('collapsed')) { - // Show - ev.target.textContent = gettext('Hide'); - fieldset.classList.remove('collapsed'); - } else { - // Hide - ev.target.textContent = gettext('Show'); - fieldset.classList.add('collapsed'); - } - } - }; - document.querySelectorAll('fieldset.module').forEach(function(el) { - el.addEventListener('click', toggleFunc); - }); - }); -} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/collapse.min.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/collapse.min.js deleted file mode 100644 index 06201c59..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/collapse.min.js +++ /dev/null @@ -1,2 +0,0 @@ -'use strict';window.addEventListener("load",function(){var c=document.querySelectorAll("fieldset.collapse");for(const [a,b]of c.entries())if(0===b.querySelectorAll("div.errors, ul.errorlist").length){b.classList.add("collapsed");c=b.querySelector("h2");const d=document.createElement("a");d.id="fieldsetcollapser"+a;d.className="collapse-toggle";d.href="#";d.textContent=gettext("Show");c.appendChild(document.createTextNode(" ("));c.appendChild(d);c.appendChild(document.createTextNode(")"))}const e= -function(a){if(a.target.matches(".collapse-toggle")){a.preventDefault();a.stopPropagation();const b=a.target.closest("fieldset");b.classList.contains("collapsed")?(a.target.textContent=gettext("Hide"),b.classList.remove("collapsed")):(a.target.textContent=gettext("Show"),b.classList.add("collapsed"))}};document.querySelectorAll("fieldset.module").forEach(function(a){a.addEventListener("click",e)})}); diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/core.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/core.js deleted file mode 100644 index 8ef27b34..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/core.js +++ /dev/null @@ -1,163 +0,0 @@ -// Core javascript helper functions -'use strict'; - -// quickElement(tagType, parentReference [, textInChildNode, attribute, attributeValue ...]); -function quickElement() { - const obj = document.createElement(arguments[0]); - if (arguments[2]) { - const textNode = document.createTextNode(arguments[2]); - obj.appendChild(textNode); - } - const len = arguments.length; - for (let i = 3; i < len; i += 2) { - obj.setAttribute(arguments[i], arguments[i + 1]); - } - arguments[1].appendChild(obj); - return obj; -} - -// "a" is reference to an object -function removeChildren(a) { - while (a.hasChildNodes()) { - a.removeChild(a.lastChild); - } -} - -// ---------------------------------------------------------------------------- -// Find-position functions by PPK -// See https://www.quirksmode.org/js/findpos.html -// ---------------------------------------------------------------------------- -function findPosX(obj) { - let curleft = 0; - if (obj.offsetParent) { - while (obj.offsetParent) { - curleft += obj.offsetLeft - obj.scrollLeft; - obj = obj.offsetParent; - } - } else if (obj.x) { - curleft += obj.x; - } - return curleft; -} - -function findPosY(obj) { - let curtop = 0; - if (obj.offsetParent) { - while (obj.offsetParent) { - curtop += obj.offsetTop - obj.scrollTop; - obj = obj.offsetParent; - } - } else if (obj.y) { - curtop += obj.y; - } - return curtop; -} - -//----------------------------------------------------------------------------- -// Date object extensions -// ---------------------------------------------------------------------------- -{ - Date.prototype.getTwelveHours = function() { - return this.getHours() % 12 || 12; - }; - - Date.prototype.getTwoDigitMonth = function() { - return (this.getMonth() < 9) ? '0' + (this.getMonth() + 1) : (this.getMonth() + 1); - }; - - Date.prototype.getTwoDigitDate = function() { - return (this.getDate() < 10) ? '0' + this.getDate() : this.getDate(); - }; - - Date.prototype.getTwoDigitTwelveHour = function() { - return (this.getTwelveHours() < 10) ? '0' + this.getTwelveHours() : this.getTwelveHours(); - }; - - Date.prototype.getTwoDigitHour = function() { - return (this.getHours() < 10) ? '0' + this.getHours() : this.getHours(); - }; - - Date.prototype.getTwoDigitMinute = function() { - return (this.getMinutes() < 10) ? '0' + this.getMinutes() : this.getMinutes(); - }; - - Date.prototype.getTwoDigitSecond = function() { - return (this.getSeconds() < 10) ? '0' + this.getSeconds() : this.getSeconds(); - }; - - Date.prototype.getFullMonthName = function() { - return typeof window.CalendarNamespace === "undefined" - ? this.getTwoDigitMonth() - : window.CalendarNamespace.monthsOfYear[this.getMonth()]; - }; - - Date.prototype.strftime = function(format) { - const fields = { - B: this.getFullMonthName(), - c: this.toString(), - d: this.getTwoDigitDate(), - H: this.getTwoDigitHour(), - I: this.getTwoDigitTwelveHour(), - m: this.getTwoDigitMonth(), - M: this.getTwoDigitMinute(), - p: (this.getHours() >= 12) ? 'PM' : 'AM', - S: this.getTwoDigitSecond(), - w: '0' + this.getDay(), - x: this.toLocaleDateString(), - X: this.toLocaleTimeString(), - y: ('' + this.getFullYear()).substr(2, 4), - Y: '' + this.getFullYear(), - '%': '%' - }; - let result = '', i = 0; - while (i < format.length) { - if (format.charAt(i) === '%') { - result = result + fields[format.charAt(i + 1)]; - ++i; - } - else { - result = result + format.charAt(i); - } - ++i; - } - return result; - }; - - // ---------------------------------------------------------------------------- - // String object extensions - // ---------------------------------------------------------------------------- - String.prototype.strptime = function(format) { - const split_format = format.split(/[.\-/]/); - const date = this.split(/[.\-/]/); - let i = 0; - let day, month, year; - while (i < split_format.length) { - switch (split_format[i]) { - case "%d": - day = date[i]; - break; - case "%m": - month = date[i] - 1; - break; - case "%Y": - year = date[i]; - break; - case "%y": - // A %y value in the range of [00, 68] is in the current - // century, while [69, 99] is in the previous century, - // according to the Open Group Specification. - if (parseInt(date[i], 10) >= 69) { - year = date[i]; - } else { - year = (new Date(Date.UTC(date[i], 0))).getUTCFullYear() + 100; - } - break; - } - ++i; - } - // Create Date object from UTC since the parsed value is supposed to be - // in UTC, not local time. Also, the calendar uses UTC functions for - // date extraction. - return new Date(Date.UTC(year, month, day)); - }; -} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/inlines.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/inlines.js deleted file mode 100644 index 82ec0272..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/inlines.js +++ /dev/null @@ -1,348 +0,0 @@ -/*global DateTimeShortcuts, SelectFilter*/ -/** - * Django admin inlines - * - * Based on jQuery Formset 1.1 - * @author Stanislaus Madueke (stan DOT madueke AT gmail DOT com) - * @requires jQuery 1.2.6 or later - * - * Copyright (c) 2009, Stanislaus Madueke - * All rights reserved. - * - * Spiced up with Code from Zain Memon's GSoC project 2009 - * and modified for Django by Jannis Leidel, Travis Swicegood and Julien Phalip. - * - * Licensed under the New BSD License - * See: https://opensource.org/licenses/bsd-license.php - */ -'use strict'; -{ - const $ = django.jQuery; - $.fn.formset = function(opts) { - const options = $.extend({}, $.fn.formset.defaults, opts); - const $this = $(this); - const $parent = $this.parent(); - const updateElementIndex = function(el, prefix, ndx) { - const id_regex = new RegExp("(" + prefix + "-(\\d+|__prefix__))"); - const replacement = prefix + "-" + ndx; - if ($(el).prop("for")) { - $(el).prop("for", $(el).prop("for").replace(id_regex, replacement)); - } - if (el.id) { - el.id = el.id.replace(id_regex, replacement); - } - if (el.name) { - el.name = el.name.replace(id_regex, replacement); - } - }; - const totalForms = $("#id_" + options.prefix + "-TOTAL_FORMS").prop("autocomplete", "off"); - let nextIndex = parseInt(totalForms.val(), 10); - const maxForms = $("#id_" + options.prefix + "-MAX_NUM_FORMS").prop("autocomplete", "off"); - const minForms = $("#id_" + options.prefix + "-MIN_NUM_FORMS").prop("autocomplete", "off"); - let addButton; - - /** - * The "Add another MyModel" button below the inline forms. - */ - const addInlineAddButton = function() { - if (addButton === null) { - if ($this.prop("tagName") === "TR") { - // If forms are laid out as table rows, insert the - // "add" button in a new table row: - const numCols = $this.eq(-1).children().length; - $parent.append('<tr class="' + options.addCssClass + '"><td colspan="' + numCols + '"><a href="#">' + options.addText + "</a></tr>"); - addButton = $parent.find("tr:last a"); - } else { - // Otherwise, insert it immediately after the last form: - $this.filter(":last").after('<div class="' + options.addCssClass + '"><a href="#">' + options.addText + "</a></div>"); - addButton = $this.filter(":last").next().find("a"); - } - } - addButton.on('click', addInlineClickHandler); - }; - - const addInlineClickHandler = function(e) { - e.preventDefault(); - const template = $("#" + options.prefix + "-empty"); - const row = template.clone(true); - row.removeClass(options.emptyCssClass) - .addClass(options.formCssClass) - .attr("id", options.prefix + "-" + nextIndex); - addInlineDeleteButton(row); - row.find("*").each(function() { - updateElementIndex(this, options.prefix, totalForms.val()); - }); - // Insert the new form when it has been fully edited. - row.insertBefore($(template)); - // Update number of total forms. - $(totalForms).val(parseInt(totalForms.val(), 10) + 1); - nextIndex += 1; - // Hide the add button if there's a limit and it's been reached. - if ((maxForms.val() !== '') && (maxForms.val() - totalForms.val()) <= 0) { - addButton.parent().hide(); - } - // Show the remove buttons if there are more than min_num. - toggleDeleteButtonVisibility(row.closest('.inline-group')); - - // Pass the new form to the post-add callback, if provided. - if (options.added) { - options.added(row); - } - $(document).trigger('formset:added', [row, options.prefix]); - }; - - /** - * The "X" button that is part of every unsaved inline. - * (When saved, it is replaced with a "Delete" checkbox.) - */ - const addInlineDeleteButton = function(row) { - if (row.is("tr")) { - // If the forms are laid out in table rows, insert - // the remove button into the last table cell: - row.children(":last").append('<div><a class="' + options.deleteCssClass + '" href="#">' + options.deleteText + "</a></div>"); - } else if (row.is("ul") || row.is("ol")) { - // If they're laid out as an ordered/unordered list, - // insert an <li> after the last list item: - row.append('<li><a class="' + options.deleteCssClass + '" href="#">' + options.deleteText + "</a></li>"); - } else { - // Otherwise, just insert the remove button as the - // last child element of the form's container: - row.children(":first").append('<span><a class="' + options.deleteCssClass + '" href="#">' + options.deleteText + "</a></span>"); - } - // Add delete handler for each row. - row.find("a." + options.deleteCssClass).on('click', inlineDeleteHandler.bind(this)); - }; - - const inlineDeleteHandler = function(e1) { - e1.preventDefault(); - const deleteButton = $(e1.target); - const row = deleteButton.closest('.' + options.formCssClass); - const inlineGroup = row.closest('.inline-group'); - // Remove the parent form containing this button, - // and also remove the relevant row with non-field errors: - const prevRow = row.prev(); - if (prevRow.length && prevRow.hasClass('row-form-errors')) { - prevRow.remove(); - } - row.remove(); - nextIndex -= 1; - // Pass the deleted form to the post-delete callback, if provided. - if (options.removed) { - options.removed(row); - } - $(document).trigger('formset:removed', [row, options.prefix]); - // Update the TOTAL_FORMS form count. - const forms = $("." + options.formCssClass); - $("#id_" + options.prefix + "-TOTAL_FORMS").val(forms.length); - // Show add button again once below maximum number. - if ((maxForms.val() === '') || (maxForms.val() - forms.length) > 0) { - addButton.parent().show(); - } - // Hide the remove buttons if at min_num. - toggleDeleteButtonVisibility(inlineGroup); - // Also, update names and ids for all remaining form controls so - // they remain in sequence: - let i, formCount; - const updateElementCallback = function() { - updateElementIndex(this, options.prefix, i); - }; - for (i = 0, formCount = forms.length; i < formCount; i++) { - updateElementIndex($(forms).get(i), options.prefix, i); - $(forms.get(i)).find("*").each(updateElementCallback); - } - }; - - const toggleDeleteButtonVisibility = function(inlineGroup) { - if ((minForms.val() !== '') && (minForms.val() - totalForms.val()) >= 0) { - inlineGroup.find('.inline-deletelink').hide(); - } else { - inlineGroup.find('.inline-deletelink').show(); - } - }; - - $this.each(function(i) { - $(this).not("." + options.emptyCssClass).addClass(options.formCssClass); - }); - - // Create the delete buttons for all unsaved inlines: - $this.filter('.' + options.formCssClass + ':not(.has_original):not(.' + options.emptyCssClass + ')').each(function() { - addInlineDeleteButton($(this)); - }); - toggleDeleteButtonVisibility($this); - - // Create the add button, initially hidden. - addButton = options.addButton; - addInlineAddButton(); - - // Show the add button if allowed to add more items. - // Note that max_num = None translates to a blank string. - const showAddButton = maxForms.val() === '' || (maxForms.val() - totalForms.val()) > 0; - if ($this.length && showAddButton) { - addButton.parent().show(); - } else { - addButton.parent().hide(); - } - - return this; - }; - - /* Setup plugin defaults */ - $.fn.formset.defaults = { - prefix: "form", // The form prefix for your django formset - addText: "add another", // Text for the add link - deleteText: "remove", // Text for the delete link - addCssClass: "add-row", // CSS class applied to the add link - deleteCssClass: "delete-row", // CSS class applied to the delete link - emptyCssClass: "empty-row", // CSS class applied to the empty row - formCssClass: "dynamic-form", // CSS class applied to each form in a formset - added: null, // Function called each time a new form is added - removed: null, // Function called each time a form is deleted - addButton: null // Existing add button to use - }; - - - // Tabular inlines --------------------------------------------------------- - $.fn.tabularFormset = function(selector, options) { - const $rows = $(this); - - const reinitDateTimeShortCuts = function() { - // Reinitialize the calendar and clock widgets by force - if (typeof DateTimeShortcuts !== "undefined") { - $(".datetimeshortcuts").remove(); - DateTimeShortcuts.init(); - } - }; - - const updateSelectFilter = function() { - // If any SelectFilter widgets are a part of the new form, - // instantiate a new SelectFilter instance for it. - if (typeof SelectFilter !== 'undefined') { - $('.selectfilter').each(function(index, value) { - const namearr = value.name.split('-'); - SelectFilter.init(value.id, namearr[namearr.length - 1], false); - }); - $('.selectfilterstacked').each(function(index, value) { - const namearr = value.name.split('-'); - SelectFilter.init(value.id, namearr[namearr.length - 1], true); - }); - } - }; - - const initPrepopulatedFields = function(row) { - row.find('.prepopulated_field').each(function() { - const field = $(this), - input = field.find('input, select, textarea'), - dependency_list = input.data('dependency_list') || [], - dependencies = []; - $.each(dependency_list, function(i, field_name) { - dependencies.push('#' + row.find('.field-' + field_name).find('input, select, textarea').attr('id')); - }); - if (dependencies.length) { - input.prepopulate(dependencies, input.attr('maxlength')); - } - }); - }; - - $rows.formset({ - prefix: options.prefix, - addText: options.addText, - formCssClass: "dynamic-" + options.prefix, - deleteCssClass: "inline-deletelink", - deleteText: options.deleteText, - emptyCssClass: "empty-form", - added: function(row) { - initPrepopulatedFields(row); - reinitDateTimeShortCuts(); - updateSelectFilter(); - }, - addButton: options.addButton - }); - - return $rows; - }; - - // Stacked inlines --------------------------------------------------------- - $.fn.stackedFormset = function(selector, options) { - const $rows = $(this); - const updateInlineLabel = function(row) { - $(selector).find(".inline_label").each(function(i) { - const count = i + 1; - $(this).html($(this).html().replace(/(#\d+)/g, "#" + count)); - }); - }; - - const reinitDateTimeShortCuts = function() { - // Reinitialize the calendar and clock widgets by force, yuck. - if (typeof DateTimeShortcuts !== "undefined") { - $(".datetimeshortcuts").remove(); - DateTimeShortcuts.init(); - } - }; - - const updateSelectFilter = function() { - // If any SelectFilter widgets were added, instantiate a new instance. - if (typeof SelectFilter !== "undefined") { - $(".selectfilter").each(function(index, value) { - const namearr = value.name.split('-'); - SelectFilter.init(value.id, namearr[namearr.length - 1], false); - }); - $(".selectfilterstacked").each(function(index, value) { - const namearr = value.name.split('-'); - SelectFilter.init(value.id, namearr[namearr.length - 1], true); - }); - } - }; - - const initPrepopulatedFields = function(row) { - row.find('.prepopulated_field').each(function() { - const field = $(this), - input = field.find('input, select, textarea'), - dependency_list = input.data('dependency_list') || [], - dependencies = []; - $.each(dependency_list, function(i, field_name) { - dependencies.push('#' + row.find('.form-row .field-' + field_name).find('input, select, textarea').attr('id')); - }); - if (dependencies.length) { - input.prepopulate(dependencies, input.attr('maxlength')); - } - }); - }; - - $rows.formset({ - prefix: options.prefix, - addText: options.addText, - formCssClass: "dynamic-" + options.prefix, - deleteCssClass: "inline-deletelink", - deleteText: options.deleteText, - emptyCssClass: "empty-form", - removed: updateInlineLabel, - added: function(row) { - initPrepopulatedFields(row); - reinitDateTimeShortCuts(); - updateSelectFilter(); - updateInlineLabel(row); - }, - addButton: options.addButton - }); - - return $rows; - }; - - $(document).ready(function() { - $(".js-inline-admin-formset").each(function() { - const data = $(this).data(), - inlineOptions = data.inlineFormset; - let selector; - switch(data.inlineType) { - case "stacked": - selector = inlineOptions.name + "-group .inline-related"; - $(selector).stackedFormset(selector, inlineOptions.options); - break; - case "tabular": - selector = inlineOptions.name + "-group .tabular.inline-related tbody:first > tr.form-row"; - $(selector).tabularFormset(selector, inlineOptions.options); - break; - } - }); - }); -} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/inlines.min.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/inlines.min.js deleted file mode 100644 index fc6dddc6..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/inlines.min.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict';{const b=django.jQuery;b.fn.formset=function(c){const a=b.extend({},b.fn.formset.defaults,c),e=b(this),l=e.parent(),m=function(a,d,h){const g=new RegExp("("+d+"-(\\d+|__prefix__))");d=d+"-"+h;b(a).prop("for")&&b(a).prop("for",b(a).prop("for").replace(g,d));a.id&&(a.id=a.id.replace(g,d));a.name&&(a.name=a.name.replace(g,d))},f=b("#id_"+a.prefix+"-TOTAL_FORMS").prop("autocomplete","off");let n=parseInt(f.val(),10);const h=b("#id_"+a.prefix+"-MAX_NUM_FORMS").prop("autocomplete","off"),q= -b("#id_"+a.prefix+"-MIN_NUM_FORMS").prop("autocomplete","off");let k;const t=function(g){g.preventDefault();g=b("#"+a.prefix+"-empty");const d=g.clone(!0);d.removeClass(a.emptyCssClass).addClass(a.formCssClass).attr("id",a.prefix+"-"+n);r(d);d.find("*").each(function(){m(this,a.prefix,f.val())});d.insertBefore(b(g));b(f).val(parseInt(f.val(),10)+1);n+=1;""!==h.val()&&0>=h.val()-f.val()&&k.parent().hide();p(d.closest(".inline-group"));a.added&&a.added(d);b(document).trigger("formset:added",[d,a.prefix])}, -r=function(b){b.is("tr")?b.children(":last").append('<div><a class="'+a.deleteCssClass+'" href="#">'+a.deleteText+"</a></div>"):b.is("ul")||b.is("ol")?b.append('<li><a class="'+a.deleteCssClass+'" href="#">'+a.deleteText+"</a></li>"):b.children(":first").append('<span><a class="'+a.deleteCssClass+'" href="#">'+a.deleteText+"</a></span>");b.find("a."+a.deleteCssClass).on("click",u.bind(this))},u=function(g){g.preventDefault();var d=b(g.target).closest("."+a.formCssClass);g=d.closest(".inline-group"); -var f=d.prev();f.length&&f.hasClass("row-form-errors")&&f.remove();d.remove();--n;a.removed&&a.removed(d);b(document).trigger("formset:removed",[d,a.prefix]);d=b("."+a.formCssClass);b("#id_"+a.prefix+"-TOTAL_FORMS").val(d.length);(""===h.val()||0<h.val()-d.length)&&k.parent().show();p(g);let c;f=function(){m(this,a.prefix,c)};c=0;for(g=d.length;c<g;c++)m(b(d).get(c),a.prefix,c),b(d.get(c)).find("*").each(f)},p=function(a){""!==q.val()&&0<=q.val()-f.val()?a.find(".inline-deletelink").hide():a.find(".inline-deletelink").show()}; -e.each(function(c){b(this).not("."+a.emptyCssClass).addClass(a.formCssClass)});e.filter("."+a.formCssClass+":not(.has_original):not(."+a.emptyCssClass+")").each(function(){r(b(this))});p(e);k=a.addButton;(function(){if(null===k)if("TR"===e.prop("tagName")){const b=e.eq(-1).children().length;l.append('<tr class="'+a.addCssClass+'"><td colspan="'+b+'"><a href="#">'+a.addText+"</a></tr>");k=l.find("tr:last a")}else e.filter(":last").after('<div class="'+a.addCssClass+'"><a href="#">'+a.addText+"</a></div>"), -k=e.filter(":last").next().find("a");k.on("click",t)})();c=""===h.val()||0<h.val()-f.val();e.length&&c?k.parent().show():k.parent().hide();return this};b.fn.formset.defaults={prefix:"form",addText:"add another",deleteText:"remove",addCssClass:"add-row",deleteCssClass:"delete-row",emptyCssClass:"empty-row",formCssClass:"dynamic-form",added:null,removed:null,addButton:null};b.fn.tabularFormset=function(c,a){c=b(this);const e=function(){"undefined"!==typeof SelectFilter&&(b(".selectfilter").each(function(a, -b){a=b.name.split("-");SelectFilter.init(b.id,a[a.length-1],!1)}),b(".selectfilterstacked").each(function(a,b){a=b.name.split("-");SelectFilter.init(b.id,a[a.length-1],!0)}))},l=function(a){a.find(".prepopulated_field").each(function(){const c=b(this).find("input, select, textarea"),n=c.data("dependency_list")||[],h=[];b.each(n,function(b,c){h.push("#"+a.find(".field-"+c).find("input, select, textarea").attr("id"))});h.length&&c.prepopulate(h,c.attr("maxlength"))})};c.formset({prefix:a.prefix,addText:a.addText, -formCssClass:"dynamic-"+a.prefix,deleteCssClass:"inline-deletelink",deleteText:a.deleteText,emptyCssClass:"empty-form",added:function(a){l(a);"undefined"!==typeof DateTimeShortcuts&&(b(".datetimeshortcuts").remove(),DateTimeShortcuts.init());e()},addButton:a.addButton});return c};b.fn.stackedFormset=function(c,a){const e=b(this),l=function(a){b(c).find(".inline_label").each(function(a){a+=1;b(this).html(b(this).html().replace(/(#\d+)/g,"#"+a))})},m=function(){"undefined"!==typeof SelectFilter&&(b(".selectfilter").each(function(a, -b){a=b.name.split("-");SelectFilter.init(b.id,a[a.length-1],!1)}),b(".selectfilterstacked").each(function(a,b){a=b.name.split("-");SelectFilter.init(b.id,a[a.length-1],!0)}))},f=function(a){a.find(".prepopulated_field").each(function(){const c=b(this).find("input, select, textarea"),f=c.data("dependency_list")||[],e=[];b.each(f,function(b,c){e.push("#"+a.find(".form-row .field-"+c).find("input, select, textarea").attr("id"))});e.length&&c.prepopulate(e,c.attr("maxlength"))})};e.formset({prefix:a.prefix, -addText:a.addText,formCssClass:"dynamic-"+a.prefix,deleteCssClass:"inline-deletelink",deleteText:a.deleteText,emptyCssClass:"empty-form",removed:l,added:function(a){f(a);"undefined"!==typeof DateTimeShortcuts&&(b(".datetimeshortcuts").remove(),DateTimeShortcuts.init());m();l(a)},addButton:a.addButton});return e};b(document).ready(function(){b(".js-inline-admin-formset").each(function(){var c=b(this).data();const a=c.inlineFormset;switch(c.inlineType){case "stacked":c=a.name+"-group .inline-related"; -b(c).stackedFormset(c,a.options);break;case "tabular":c=a.name+"-group .tabular.inline-related tbody:first > tr.form-row",b(c).tabularFormset(c,a.options)}})})}; diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/jquery.init.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/jquery.init.js deleted file mode 100644 index f40b27f4..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/jquery.init.js +++ /dev/null @@ -1,8 +0,0 @@ -/*global jQuery:false*/ -'use strict'; -/* Puts the included jQuery into our own namespace using noConflict and passing - * it 'true'. This ensures that the included jQuery doesn't pollute the global - * namespace (i.e. this preserves pre-existing values for both window.$ and - * window.jQuery). - */ -window.django = {jQuery: jQuery.noConflict(true)}; diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/nav_sidebar.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/nav_sidebar.js deleted file mode 100644 index efaa7214..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/nav_sidebar.js +++ /dev/null @@ -1,39 +0,0 @@ -'use strict'; -{ - const toggleNavSidebar = document.getElementById('toggle-nav-sidebar'); - if (toggleNavSidebar !== null) { - const navLinks = document.querySelectorAll('#nav-sidebar a'); - function disableNavLinkTabbing() { - for (const navLink of navLinks) { - navLink.tabIndex = -1; - } - } - function enableNavLinkTabbing() { - for (const navLink of navLinks) { - navLink.tabIndex = 0; - } - } - - const main = document.getElementById('main'); - let navSidebarIsOpen = localStorage.getItem('django.admin.navSidebarIsOpen'); - if (navSidebarIsOpen === null) { - navSidebarIsOpen = 'true'; - } - if (navSidebarIsOpen === 'false') { - disableNavLinkTabbing(); - } - main.classList.toggle('shifted', navSidebarIsOpen === 'true'); - - toggleNavSidebar.addEventListener('click', function() { - if (navSidebarIsOpen === 'true') { - navSidebarIsOpen = 'false'; - disableNavLinkTabbing(); - } else { - navSidebarIsOpen = 'true'; - enableNavLinkTabbing(); - } - localStorage.setItem('django.admin.navSidebarIsOpen', navSidebarIsOpen); - main.classList.toggle('shifted'); - }); - } -} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/popup_response.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/popup_response.js deleted file mode 100644 index 2b1d3dd3..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/popup_response.js +++ /dev/null @@ -1,16 +0,0 @@ -/*global opener */ -'use strict'; -{ - const initData = JSON.parse(document.getElementById('django-admin-popup-response-constants').dataset.popupResponse); - switch(initData.action) { - case 'change': - opener.dismissChangeRelatedObjectPopup(window, initData.value, initData.obj, initData.new_value); - break; - case 'delete': - opener.dismissDeleteRelatedObjectPopup(window, initData.value); - break; - default: - opener.dismissAddRelatedObjectPopup(window, initData.value, initData.obj); - break; - } -} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/prepopulate.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/prepopulate.js deleted file mode 100644 index 89e95ab4..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/prepopulate.js +++ /dev/null @@ -1,43 +0,0 @@ -/*global URLify*/ -'use strict'; -{ - const $ = django.jQuery; - $.fn.prepopulate = function(dependencies, maxLength, allowUnicode) { - /* - Depends on urlify.js - Populates a selected field with the values of the dependent fields, - URLifies and shortens the string. - dependencies - array of dependent fields ids - maxLength - maximum length of the URLify'd string - allowUnicode - Unicode support of the URLify'd string - */ - return this.each(function() { - const prepopulatedField = $(this); - - const populate = function() { - // Bail if the field's value has been changed by the user - if (prepopulatedField.data('_changed')) { - return; - } - - const values = []; - $.each(dependencies, function(i, field) { - field = $(field); - if (field.val().length > 0) { - values.push(field.val()); - } - }); - prepopulatedField.val(URLify(values.join(' '), maxLength, allowUnicode)); - }; - - prepopulatedField.data('_changed', false); - prepopulatedField.on('change', function() { - prepopulatedField.data('_changed', true); - }); - - if (!prepopulatedField.val()) { - $(dependencies.join(',')).on('keyup change focus', populate); - } - }); - }; -} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/prepopulate.min.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/prepopulate.min.js deleted file mode 100644 index 11ead499..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/prepopulate.min.js +++ /dev/null @@ -1 +0,0 @@ -'use strict';{const b=django.jQuery;b.fn.prepopulate=function(d,f,g){return this.each(function(){const a=b(this),h=function(){if(!a.data("_changed")){var e=[];b.each(d,function(a,c){c=b(c);0<c.val().length&&e.push(c.val())});a.val(URLify(e.join(" "),f,g))}};a.data("_changed",!1);a.on("change",function(){a.data("_changed",!0)});if(!a.val())b(d.join(",")).on("keyup change focus",h)})}}; diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/prepopulate_init.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/prepopulate_init.js deleted file mode 100644 index 72ebdcf5..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/prepopulate_init.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; -{ - const $ = django.jQuery; - const fields = $('#django-admin-prepopulated-fields-constants').data('prepopulatedFields'); - $.each(fields, function(index, field) { - $('.empty-form .form-row .field-' + field.name + ', .empty-form.form-row .field-' + field.name).addClass('prepopulated_field'); - $(field.id).data('dependency_list', field.dependency_list).prepopulate( - field.dependency_ids, field.maxLength, field.allowUnicode - ); - }); -} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/urlify.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/urlify.js deleted file mode 100644 index 7faa6591..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/urlify.js +++ /dev/null @@ -1,185 +0,0 @@ -/*global XRegExp*/ -'use strict'; -{ - const LATIN_MAP = { - 'À': 'A', 'Á': 'A', 'Â': 'A', 'Ã': 'A', 'Ä': 'A', 'Å': 'A', 'Æ': 'AE', - 'Ç': 'C', 'È': 'E', 'É': 'E', 'Ê': 'E', 'Ë': 'E', 'Ì': 'I', 'Í': 'I', - 'Î': 'I', 'Ï': 'I', 'Ð': 'D', 'Ñ': 'N', 'Ò': 'O', 'Ó': 'O', 'Ô': 'O', - 'Õ': 'O', 'Ö': 'O', 'Ő': 'O', 'Ø': 'O', 'Ù': 'U', 'Ú': 'U', 'Û': 'U', - 'Ü': 'U', 'Ű': 'U', 'Ý': 'Y', 'Þ': 'TH', 'Ÿ': 'Y', 'ß': 'ss', 'à': 'a', - 'á': 'a', 'â': 'a', 'ã': 'a', 'ä': 'a', 'å': 'a', 'æ': 'ae', 'ç': 'c', - 'è': 'e', 'é': 'e', 'ê': 'e', 'ë': 'e', 'ì': 'i', 'í': 'i', 'î': 'i', - 'ï': 'i', 'ð': 'd', 'ñ': 'n', 'ò': 'o', 'ó': 'o', 'ô': 'o', 'õ': 'o', - 'ö': 'o', 'ő': 'o', 'ø': 'o', 'ù': 'u', 'ú': 'u', 'û': 'u', 'ü': 'u', - 'ű': 'u', 'ý': 'y', 'þ': 'th', 'ÿ': 'y' - }; - const LATIN_SYMBOLS_MAP = { - '©': '(c)' - }; - const GREEK_MAP = { - 'α': 'a', 'β': 'b', 'γ': 'g', 'δ': 'd', 'ε': 'e', 'ζ': 'z', 'η': 'h', - 'θ': '8', 'ι': 'i', 'κ': 'k', 'λ': 'l', 'μ': 'm', 'ν': 'n', 'ξ': '3', - 'ο': 'o', 'π': 'p', 'ρ': 'r', 'σ': 's', 'τ': 't', 'υ': 'y', 'φ': 'f', - 'χ': 'x', 'ψ': 'ps', 'ω': 'w', 'ά': 'a', 'έ': 'e', 'ί': 'i', 'ό': 'o', - 'ύ': 'y', 'ή': 'h', 'ώ': 'w', 'ς': 's', 'ϊ': 'i', 'ΰ': 'y', 'ϋ': 'y', - 'ΐ': 'i', 'Α': 'A', 'Β': 'B', 'Γ': 'G', 'Δ': 'D', 'Ε': 'E', 'Ζ': 'Z', - 'Η': 'H', 'Θ': '8', 'Ι': 'I', 'Κ': 'K', 'Λ': 'L', 'Μ': 'M', 'Ν': 'N', - 'Ξ': '3', 'Ο': 'O', 'Π': 'P', 'Ρ': 'R', 'Σ': 'S', 'Τ': 'T', 'Υ': 'Y', - 'Φ': 'F', 'Χ': 'X', 'Ψ': 'PS', 'Ω': 'W', 'Ά': 'A', 'Έ': 'E', 'Ί': 'I', - 'Ό': 'O', 'Ύ': 'Y', 'Ή': 'H', 'Ώ': 'W', 'Ϊ': 'I', 'Ϋ': 'Y' - }; - const TURKISH_MAP = { - 'ş': 's', 'Ş': 'S', 'ı': 'i', 'İ': 'I', 'ç': 'c', 'Ç': 'C', 'ü': 'u', - 'Ü': 'U', 'ö': 'o', 'Ö': 'O', 'ğ': 'g', 'Ğ': 'G' - }; - const ROMANIAN_MAP = { - 'ă': 'a', 'î': 'i', 'ș': 's', 'ț': 't', 'â': 'a', - 'Ă': 'A', 'Î': 'I', 'Ș': 'S', 'Ț': 'T', 'Â': 'A' - }; - const RUSSIAN_MAP = { - 'а': 'a', 'б': 'b', 'в': 'v', 'г': 'g', 'д': 'd', 'е': 'e', 'ё': 'yo', - 'ж': 'zh', 'з': 'z', 'и': 'i', 'й': 'j', 'к': 'k', 'л': 'l', 'м': 'm', - 'н': 'n', 'о': 'o', 'п': 'p', 'р': 'r', 'с': 's', 'т': 't', 'у': 'u', - 'ф': 'f', 'х': 'h', 'ц': 'c', 'ч': 'ch', 'ш': 'sh', 'щ': 'sh', 'ъ': '', - 'ы': 'y', 'ь': '', 'э': 'e', 'ю': 'yu', 'я': 'ya', - 'А': 'A', 'Б': 'B', 'В': 'V', 'Г': 'G', 'Д': 'D', 'Е': 'E', 'Ё': 'Yo', - 'Ж': 'Zh', 'З': 'Z', 'И': 'I', 'Й': 'J', 'К': 'K', 'Л': 'L', 'М': 'M', - 'Н': 'N', 'О': 'O', 'П': 'P', 'Р': 'R', 'С': 'S', 'Т': 'T', 'У': 'U', - 'Ф': 'F', 'Х': 'H', 'Ц': 'C', 'Ч': 'Ch', 'Ш': 'Sh', 'Щ': 'Sh', 'Ъ': '', - 'Ы': 'Y', 'Ь': '', 'Э': 'E', 'Ю': 'Yu', 'Я': 'Ya' - }; - const UKRAINIAN_MAP = { - 'Є': 'Ye', 'І': 'I', 'Ї': 'Yi', 'Ґ': 'G', 'є': 'ye', 'і': 'i', - 'ї': 'yi', 'ґ': 'g' - }; - const CZECH_MAP = { - 'č': 'c', 'ď': 'd', 'ě': 'e', 'ň': 'n', 'ř': 'r', 'š': 's', 'ť': 't', - 'ů': 'u', 'ž': 'z', 'Č': 'C', 'Ď': 'D', 'Ě': 'E', 'Ň': 'N', 'Ř': 'R', - 'Š': 'S', 'Ť': 'T', 'Ů': 'U', 'Ž': 'Z' - }; - const SLOVAK_MAP = { - 'á': 'a', 'ä': 'a', 'č': 'c', 'ď': 'd', 'é': 'e', 'í': 'i', 'ľ': 'l', - 'ĺ': 'l', 'ň': 'n', 'ó': 'o', 'ô': 'o', 'ŕ': 'r', 'š': 's', 'ť': 't', - 'ú': 'u', 'ý': 'y', 'ž': 'z', - 'Á': 'a', 'Ä': 'A', 'Č': 'C', 'Ď': 'D', 'É': 'E', 'Í': 'I', 'Ľ': 'L', - 'Ĺ': 'L', 'Ň': 'N', 'Ó': 'O', 'Ô': 'O', 'Ŕ': 'R', 'Š': 'S', 'Ť': 'T', - 'Ú': 'U', 'Ý': 'Y', 'Ž': 'Z' - }; - const POLISH_MAP = { - 'ą': 'a', 'ć': 'c', 'ę': 'e', 'ł': 'l', 'ń': 'n', 'ó': 'o', 'ś': 's', - 'ź': 'z', 'ż': 'z', - 'Ą': 'A', 'Ć': 'C', 'Ę': 'E', 'Ł': 'L', 'Ń': 'N', 'Ó': 'O', 'Ś': 'S', - 'Ź': 'Z', 'Ż': 'Z' - }; - const LATVIAN_MAP = { - 'ā': 'a', 'č': 'c', 'ē': 'e', 'ģ': 'g', 'ī': 'i', 'ķ': 'k', 'ļ': 'l', - 'ņ': 'n', 'š': 's', 'ū': 'u', 'ž': 'z', - 'Ā': 'A', 'Č': 'C', 'Ē': 'E', 'Ģ': 'G', 'Ī': 'I', 'Ķ': 'K', 'Ļ': 'L', - 'Ņ': 'N', 'Š': 'S', 'Ū': 'U', 'Ž': 'Z' - }; - const ARABIC_MAP = { - 'أ': 'a', 'ب': 'b', 'ت': 't', 'ث': 'th', 'ج': 'g', 'ح': 'h', 'خ': 'kh', 'د': 'd', - 'ذ': 'th', 'ر': 'r', 'ز': 'z', 'س': 's', 'ش': 'sh', 'ص': 's', 'ض': 'd', 'ط': 't', - 'ظ': 'th', 'ع': 'aa', 'غ': 'gh', 'ف': 'f', 'ق': 'k', 'ك': 'k', 'ل': 'l', 'م': 'm', - 'ن': 'n', 'ه': 'h', 'و': 'o', 'ي': 'y' - }; - const LITHUANIAN_MAP = { - 'ą': 'a', 'č': 'c', 'ę': 'e', 'ė': 'e', 'į': 'i', 'š': 's', 'ų': 'u', - 'ū': 'u', 'ž': 'z', - 'Ą': 'A', 'Č': 'C', 'Ę': 'E', 'Ė': 'E', 'Į': 'I', 'Š': 'S', 'Ų': 'U', - 'Ū': 'U', 'Ž': 'Z' - }; - const SERBIAN_MAP = { - 'ђ': 'dj', 'ј': 'j', 'љ': 'lj', 'њ': 'nj', 'ћ': 'c', 'џ': 'dz', - 'đ': 'dj', 'Ђ': 'Dj', 'Ј': 'j', 'Љ': 'Lj', 'Њ': 'Nj', 'Ћ': 'C', - 'Џ': 'Dz', 'Đ': 'Dj' - }; - const AZERBAIJANI_MAP = { - 'ç': 'c', 'ə': 'e', 'ğ': 'g', 'ı': 'i', 'ö': 'o', 'ş': 's', 'ü': 'u', - 'Ç': 'C', 'Ə': 'E', 'Ğ': 'G', 'İ': 'I', 'Ö': 'O', 'Ş': 'S', 'Ü': 'U' - }; - const GEORGIAN_MAP = { - 'ა': 'a', 'ბ': 'b', 'გ': 'g', 'დ': 'd', 'ე': 'e', 'ვ': 'v', 'ზ': 'z', - 'თ': 't', 'ი': 'i', 'კ': 'k', 'ლ': 'l', 'მ': 'm', 'ნ': 'n', 'ო': 'o', - 'პ': 'p', 'ჟ': 'j', 'რ': 'r', 'ს': 's', 'ტ': 't', 'უ': 'u', 'ფ': 'f', - 'ქ': 'q', 'ღ': 'g', 'ყ': 'y', 'შ': 'sh', 'ჩ': 'ch', 'ც': 'c', 'ძ': 'dz', - 'წ': 'w', 'ჭ': 'ch', 'ხ': 'x', 'ჯ': 'j', 'ჰ': 'h' - }; - - const ALL_DOWNCODE_MAPS = [ - LATIN_MAP, - LATIN_SYMBOLS_MAP, - GREEK_MAP, - TURKISH_MAP, - ROMANIAN_MAP, - RUSSIAN_MAP, - UKRAINIAN_MAP, - CZECH_MAP, - SLOVAK_MAP, - POLISH_MAP, - LATVIAN_MAP, - ARABIC_MAP, - LITHUANIAN_MAP, - SERBIAN_MAP, - AZERBAIJANI_MAP, - GEORGIAN_MAP - ]; - - const Downcoder = { - 'Initialize': function() { - if (Downcoder.map) { // already made - return; - } - Downcoder.map = {}; - for (const lookup of ALL_DOWNCODE_MAPS) { - Object.assign(Downcoder.map, lookup); - } - Downcoder.chars = Object.keys(Downcoder.map); - Downcoder.regex = new RegExp(Downcoder.chars.join('|'), 'g'); - } - }; - - function downcode(slug) { - Downcoder.Initialize(); - return slug.replace(Downcoder.regex, function(m) { - return Downcoder.map[m]; - }); - } - - - function URLify(s, num_chars, allowUnicode) { - // changes, e.g., "Petty theft" to "petty-theft" - // remove all these words from the string before urlifying - if (!allowUnicode) { - s = downcode(s); - } - const hasUnicodeChars = /[^\u0000-\u007f]/.test(s); - // Remove English words only if the string contains ASCII (English) - // characters. - if (!hasUnicodeChars) { - const removeList = [ - "a", "an", "as", "at", "before", "but", "by", "for", "from", - "is", "in", "into", "like", "of", "off", "on", "onto", "per", - "since", "than", "the", "this", "that", "to", "up", "via", - "with" - ]; - const r = new RegExp('\\b(' + removeList.join('|') + ')\\b', 'gi'); - s = s.replace(r, ''); - } - s = s.toLowerCase(); // convert to lowercase - // if downcode doesn't hit, the char will be stripped here - if (allowUnicode) { - // Keep Unicode letters including both lowercase and uppercase - // characters, whitespace, and dash; remove other characters. - s = XRegExp.replace(s, XRegExp('[^-_\\p{L}\\p{N}\\s]', 'g'), ''); - } else { - s = s.replace(/[^-\w\s]/g, ''); // remove unneeded chars - } - s = s.replace(/^\s+|\s+$/g, ''); // trim leading/trailing spaces - s = s.replace(/[-\s]+/g, '-'); // convert spaces to hyphens - s = s.substring(0, num_chars); // trim to first num_chars chars - s = s.replace(/-+$/g, ''); // trim any trailing hyphens - return s; - } - window.URLify = URLify; -} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/LICENSE.txt b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/LICENSE.txt deleted file mode 100644 index e3dbacb9..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/LICENSE.txt +++ /dev/null @@ -1,20 +0,0 @@ -Copyright JS Foundation and other contributors, https://js.foundation/ - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/jquery.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/jquery.js deleted file mode 100644 index 50937333..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/jquery.js +++ /dev/null @@ -1,10872 +0,0 @@ -/*! - * jQuery JavaScript Library v3.5.1 - * https://jquery.com/ - * - * Includes Sizzle.js - * https://sizzlejs.com/ - * - * Copyright JS Foundation and other contributors - * Released under the MIT license - * https://jquery.org/license - * - * Date: 2020-05-04T22:49Z - */ -( function( global, factory ) { - - "use strict"; - - if ( typeof module === "object" && typeof module.exports === "object" ) { - - // For CommonJS and CommonJS-like environments where a proper `window` - // is present, execute the factory and get jQuery. - // For environments that do not have a `window` with a `document` - // (such as Node.js), expose a factory as module.exports. - // This accentuates the need for the creation of a real `window`. - // e.g. var jQuery = require("jquery")(window); - // See ticket #14549 for more info. - module.exports = global.document ? - factory( global, true ) : - function( w ) { - if ( !w.document ) { - throw new Error( "jQuery requires a window with a document" ); - } - return factory( w ); - }; - } else { - factory( global ); - } - -// Pass this if window is not defined yet -} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { - -// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 -// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode -// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common -// enough that all such attempts are guarded in a try block. -"use strict"; - -var arr = []; - -var getProto = Object.getPrototypeOf; - -var slice = arr.slice; - -var flat = arr.flat ? function( array ) { - return arr.flat.call( array ); -} : function( array ) { - return arr.concat.apply( [], array ); -}; - - -var push = arr.push; - -var indexOf = arr.indexOf; - -var class2type = {}; - -var toString = class2type.toString; - -var hasOwn = class2type.hasOwnProperty; - -var fnToString = hasOwn.toString; - -var ObjectFunctionString = fnToString.call( Object ); - -var support = {}; - -var isFunction = function isFunction( obj ) { - - // Support: Chrome <=57, Firefox <=52 - // In some browsers, typeof returns "function" for HTML <object> elements - // (i.e., `typeof document.createElement( "object" ) === "function"`). - // We don't want to classify *any* DOM node as a function. - return typeof obj === "function" && typeof obj.nodeType !== "number"; - }; - - -var isWindow = function isWindow( obj ) { - return obj != null && obj === obj.window; - }; - - -var document = window.document; - - - - var preservedScriptAttributes = { - type: true, - src: true, - nonce: true, - noModule: true - }; - - function DOMEval( code, node, doc ) { - doc = doc || document; - - var i, val, - script = doc.createElement( "script" ); - - script.text = code; - if ( node ) { - for ( i in preservedScriptAttributes ) { - - // Support: Firefox 64+, Edge 18+ - // Some browsers don't support the "nonce" property on scripts. - // On the other hand, just using `getAttribute` is not enough as - // the `nonce` attribute is reset to an empty string whenever it - // becomes browsing-context connected. - // See https://github.com/whatwg/html/issues/2369 - // See https://html.spec.whatwg.org/#nonce-attributes - // The `node.getAttribute` check was added for the sake of - // `jQuery.globalEval` so that it can fake a nonce-containing node - // via an object. - val = node[ i ] || node.getAttribute && node.getAttribute( i ); - if ( val ) { - script.setAttribute( i, val ); - } - } - } - doc.head.appendChild( script ).parentNode.removeChild( script ); - } - - -function toType( obj ) { - if ( obj == null ) { - return obj + ""; - } - - // Support: Android <=2.3 only (functionish RegExp) - return typeof obj === "object" || typeof obj === "function" ? - class2type[ toString.call( obj ) ] || "object" : - typeof obj; -} -/* global Symbol */ -// Defining this global in .eslintrc.json would create a danger of using the global -// unguarded in another place, it seems safer to define global only for this module - - - -var - version = "3.5.1", - - // Define a local copy of jQuery - jQuery = function( selector, context ) { - - // The jQuery object is actually just the init constructor 'enhanced' - // Need init if jQuery is called (just allow error to be thrown if not included) - return new jQuery.fn.init( selector, context ); - }; - -jQuery.fn = jQuery.prototype = { - - // The current version of jQuery being used - jquery: version, - - constructor: jQuery, - - // The default length of a jQuery object is 0 - length: 0, - - toArray: function() { - return slice.call( this ); - }, - - // Get the Nth element in the matched element set OR - // Get the whole matched element set as a clean array - get: function( num ) { - - // Return all the elements in a clean array - if ( num == null ) { - return slice.call( this ); - } - - // Return just the one element from the set - return num < 0 ? this[ num + this.length ] : this[ num ]; - }, - - // Take an array of elements and push it onto the stack - // (returning the new matched element set) - pushStack: function( elems ) { - - // Build a new jQuery matched element set - var ret = jQuery.merge( this.constructor(), elems ); - - // Add the old object onto the stack (as a reference) - ret.prevObject = this; - - // Return the newly-formed element set - return ret; - }, - - // Execute a callback for every element in the matched set. - each: function( callback ) { - return jQuery.each( this, callback ); - }, - - map: function( callback ) { - return this.pushStack( jQuery.map( this, function( elem, i ) { - return callback.call( elem, i, elem ); - } ) ); - }, - - slice: function() { - return this.pushStack( slice.apply( this, arguments ) ); - }, - - first: function() { - return this.eq( 0 ); - }, - - last: function() { - return this.eq( -1 ); - }, - - even: function() { - return this.pushStack( jQuery.grep( this, function( _elem, i ) { - return ( i + 1 ) % 2; - } ) ); - }, - - odd: function() { - return this.pushStack( jQuery.grep( this, function( _elem, i ) { - return i % 2; - } ) ); - }, - - eq: function( i ) { - var len = this.length, - j = +i + ( i < 0 ? len : 0 ); - return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); - }, - - end: function() { - return this.prevObject || this.constructor(); - }, - - // For internal use only. - // Behaves like an Array's method, not like a jQuery method. - push: push, - sort: arr.sort, - splice: arr.splice -}; - -jQuery.extend = jQuery.fn.extend = function() { - var options, name, src, copy, copyIsArray, clone, - target = arguments[ 0 ] || {}, - i = 1, - length = arguments.length, - deep = false; - - // Handle a deep copy situation - if ( typeof target === "boolean" ) { - deep = target; - - // Skip the boolean and the target - target = arguments[ i ] || {}; - i++; - } - - // Handle case when target is a string or something (possible in deep copy) - if ( typeof target !== "object" && !isFunction( target ) ) { - target = {}; - } - - // Extend jQuery itself if only one argument is passed - if ( i === length ) { - target = this; - i--; - } - - for ( ; i < length; i++ ) { - - // Only deal with non-null/undefined values - if ( ( options = arguments[ i ] ) != null ) { - - // Extend the base object - for ( name in options ) { - copy = options[ name ]; - - // Prevent Object.prototype pollution - // Prevent never-ending loop - if ( name === "__proto__" || target === copy ) { - continue; - } - - // Recurse if we're merging plain objects or arrays - if ( deep && copy && ( jQuery.isPlainObject( copy ) || - ( copyIsArray = Array.isArray( copy ) ) ) ) { - src = target[ name ]; - - // Ensure proper type for the source value - if ( copyIsArray && !Array.isArray( src ) ) { - clone = []; - } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) { - clone = {}; - } else { - clone = src; - } - copyIsArray = false; - - // Never move original objects, clone them - target[ name ] = jQuery.extend( deep, clone, copy ); - - // Don't bring in undefined values - } else if ( copy !== undefined ) { - target[ name ] = copy; - } - } - } - } - - // Return the modified object - return target; -}; - -jQuery.extend( { - - // Unique for each copy of jQuery on the page - expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), - - // Assume jQuery is ready without the ready module - isReady: true, - - error: function( msg ) { - throw new Error( msg ); - }, - - noop: function() {}, - - isPlainObject: function( obj ) { - var proto, Ctor; - - // Detect obvious negatives - // Use toString instead of jQuery.type to catch host objects - if ( !obj || toString.call( obj ) !== "[object Object]" ) { - return false; - } - - proto = getProto( obj ); - - // Objects with no prototype (e.g., `Object.create( null )`) are plain - if ( !proto ) { - return true; - } - - // Objects with prototype are plain iff they were constructed by a global Object function - Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; - return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; - }, - - isEmptyObject: function( obj ) { - var name; - - for ( name in obj ) { - return false; - } - return true; - }, - - // Evaluates a script in a provided context; falls back to the global one - // if not specified. - globalEval: function( code, options, doc ) { - DOMEval( code, { nonce: options && options.nonce }, doc ); - }, - - each: function( obj, callback ) { - var length, i = 0; - - if ( isArrayLike( obj ) ) { - length = obj.length; - for ( ; i < length; i++ ) { - if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { - break; - } - } - } else { - for ( i in obj ) { - if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { - break; - } - } - } - - return obj; - }, - - // results is for internal usage only - makeArray: function( arr, results ) { - var ret = results || []; - - if ( arr != null ) { - if ( isArrayLike( Object( arr ) ) ) { - jQuery.merge( ret, - typeof arr === "string" ? - [ arr ] : arr - ); - } else { - push.call( ret, arr ); - } - } - - return ret; - }, - - inArray: function( elem, arr, i ) { - return arr == null ? -1 : indexOf.call( arr, elem, i ); - }, - - // Support: Android <=4.0 only, PhantomJS 1 only - // push.apply(_, arraylike) throws on ancient WebKit - merge: function( first, second ) { - var len = +second.length, - j = 0, - i = first.length; - - for ( ; j < len; j++ ) { - first[ i++ ] = second[ j ]; - } - - first.length = i; - - return first; - }, - - grep: function( elems, callback, invert ) { - var callbackInverse, - matches = [], - i = 0, - length = elems.length, - callbackExpect = !invert; - - // Go through the array, only saving the items - // that pass the validator function - for ( ; i < length; i++ ) { - callbackInverse = !callback( elems[ i ], i ); - if ( callbackInverse !== callbackExpect ) { - matches.push( elems[ i ] ); - } - } - - return matches; - }, - - // arg is for internal usage only - map: function( elems, callback, arg ) { - var length, value, - i = 0, - ret = []; - - // Go through the array, translating each of the items to their new values - if ( isArrayLike( elems ) ) { - length = elems.length; - for ( ; i < length; i++ ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret.push( value ); - } - } - - // Go through every key on the object, - } else { - for ( i in elems ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret.push( value ); - } - } - } - - // Flatten any nested arrays - return flat( ret ); - }, - - // A global GUID counter for objects - guid: 1, - - // jQuery.support is not used in Core but other projects attach their - // properties to it so it needs to exist. - support: support -} ); - -if ( typeof Symbol === "function" ) { - jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; -} - -// Populate the class2type map -jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), -function( _i, name ) { - class2type[ "[object " + name + "]" ] = name.toLowerCase(); -} ); - -function isArrayLike( obj ) { - - // Support: real iOS 8.2 only (not reproducible in simulator) - // `in` check used to prevent JIT error (gh-2145) - // hasOwn isn't used here due to false negatives - // regarding Nodelist length in IE - var length = !!obj && "length" in obj && obj.length, - type = toType( obj ); - - if ( isFunction( obj ) || isWindow( obj ) ) { - return false; - } - - return type === "array" || length === 0 || - typeof length === "number" && length > 0 && ( length - 1 ) in obj; -} -var Sizzle = -/*! - * Sizzle CSS Selector Engine v2.3.5 - * https://sizzlejs.com/ - * - * Copyright JS Foundation and other contributors - * Released under the MIT license - * https://js.foundation/ - * - * Date: 2020-03-14 - */ -( function( window ) { -var i, - support, - Expr, - getText, - isXML, - tokenize, - compile, - select, - outermostContext, - sortInput, - hasDuplicate, - - // Local document vars - setDocument, - document, - docElem, - documentIsHTML, - rbuggyQSA, - rbuggyMatches, - matches, - contains, - - // Instance-specific data - expando = "sizzle" + 1 * new Date(), - preferredDoc = window.document, - dirruns = 0, - done = 0, - classCache = createCache(), - tokenCache = createCache(), - compilerCache = createCache(), - nonnativeSelectorCache = createCache(), - sortOrder = function( a, b ) { - if ( a === b ) { - hasDuplicate = true; - } - return 0; - }, - - // Instance methods - hasOwn = ( {} ).hasOwnProperty, - arr = [], - pop = arr.pop, - pushNative = arr.push, - push = arr.push, - slice = arr.slice, - - // Use a stripped-down indexOf as it's faster than native - // https://jsperf.com/thor-indexof-vs-for/5 - indexOf = function( list, elem ) { - var i = 0, - len = list.length; - for ( ; i < len; i++ ) { - if ( list[ i ] === elem ) { - return i; - } - } - return -1; - }, - - booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|" + - "ismap|loop|multiple|open|readonly|required|scoped", - - // Regular expressions - - // http://www.w3.org/TR/css3-selectors/#whitespace - whitespace = "[\\x20\\t\\r\\n\\f]", - - // https://www.w3.org/TR/css-syntax-3/#ident-token-diagram - identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace + - "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", - - // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors - attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + - - // Operator (capture 2) - "*([*^$|!~]?=)" + whitespace + - - // "Attribute values must be CSS identifiers [capture 5] - // or strings [capture 3 or capture 4]" - "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + - whitespace + "*\\]", - - pseudos = ":(" + identifier + ")(?:\\((" + - - // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: - // 1. quoted (capture 3; capture 4 or capture 5) - "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + - - // 2. simple (capture 6) - "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + - - // 3. anything else (capture 2) - ".*" + - ")\\)|)", - - // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter - rwhitespace = new RegExp( whitespace + "+", "g" ), - rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + - whitespace + "+$", "g" ), - - rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), - rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + - "*" ), - rdescend = new RegExp( whitespace + "|>" ), - - rpseudo = new RegExp( pseudos ), - ridentifier = new RegExp( "^" + identifier + "$" ), - - matchExpr = { - "ID": new RegExp( "^#(" + identifier + ")" ), - "CLASS": new RegExp( "^\\.(" + identifier + ")" ), - "TAG": new RegExp( "^(" + identifier + "|[*])" ), - "ATTR": new RegExp( "^" + attributes ), - "PSEUDO": new RegExp( "^" + pseudos ), - "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + - whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + - whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), - "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), - - // For use in libraries implementing .is() - // We use this for POS matching in `select` - "needsContext": new RegExp( "^" + whitespace + - "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace + - "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) - }, - - rhtml = /HTML$/i, - rinputs = /^(?:input|select|textarea|button)$/i, - rheader = /^h\d$/i, - - rnative = /^[^{]+\{\s*\[native \w/, - - // Easily-parseable/retrievable ID or TAG or CLASS selectors - rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, - - rsibling = /[+~]/, - - // CSS escapes - // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters - runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\([^\\r\\n\\f])", "g" ), - funescape = function( escape, nonHex ) { - var high = "0x" + escape.slice( 1 ) - 0x10000; - - return nonHex ? - - // Strip the backslash prefix from a non-hex escape sequence - nonHex : - - // Replace a hexadecimal escape sequence with the encoded Unicode code point - // Support: IE <=11+ - // For values outside the Basic Multilingual Plane (BMP), manually construct a - // surrogate pair - high < 0 ? - String.fromCharCode( high + 0x10000 ) : - String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); - }, - - // CSS string/identifier serialization - // https://drafts.csswg.org/cssom/#common-serializing-idioms - rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, - fcssescape = function( ch, asCodePoint ) { - if ( asCodePoint ) { - - // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER - if ( ch === "\0" ) { - return "\uFFFD"; - } - - // Control characters and (dependent upon position) numbers get escaped as code points - return ch.slice( 0, -1 ) + "\\" + - ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; - } - - // Other potentially-special ASCII characters get backslash-escaped - return "\\" + ch; - }, - - // Used for iframes - // See setDocument() - // Removing the function wrapper causes a "Permission Denied" - // error in IE - unloadHandler = function() { - setDocument(); - }, - - inDisabledFieldset = addCombinator( - function( elem ) { - return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset"; - }, - { dir: "parentNode", next: "legend" } - ); - -// Optimize for push.apply( _, NodeList ) -try { - push.apply( - ( arr = slice.call( preferredDoc.childNodes ) ), - preferredDoc.childNodes - ); - - // Support: Android<4.0 - // Detect silently failing push.apply - // eslint-disable-next-line no-unused-expressions - arr[ preferredDoc.childNodes.length ].nodeType; -} catch ( e ) { - push = { apply: arr.length ? - - // Leverage slice if possible - function( target, els ) { - pushNative.apply( target, slice.call( els ) ); - } : - - // Support: IE<9 - // Otherwise append directly - function( target, els ) { - var j = target.length, - i = 0; - - // Can't trust NodeList.length - while ( ( target[ j++ ] = els[ i++ ] ) ) {} - target.length = j - 1; - } - }; -} - -function Sizzle( selector, context, results, seed ) { - var m, i, elem, nid, match, groups, newSelector, - newContext = context && context.ownerDocument, - - // nodeType defaults to 9, since context defaults to document - nodeType = context ? context.nodeType : 9; - - results = results || []; - - // Return early from calls with invalid selector or context - if ( typeof selector !== "string" || !selector || - nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { - - return results; - } - - // Try to shortcut find operations (as opposed to filters) in HTML documents - if ( !seed ) { - setDocument( context ); - context = context || document; - - if ( documentIsHTML ) { - - // If the selector is sufficiently simple, try using a "get*By*" DOM method - // (excepting DocumentFragment context, where the methods don't exist) - if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) { - - // ID selector - if ( ( m = match[ 1 ] ) ) { - - // Document context - if ( nodeType === 9 ) { - if ( ( elem = context.getElementById( m ) ) ) { - - // Support: IE, Opera, Webkit - // TODO: identify versions - // getElementById can match elements by name instead of ID - if ( elem.id === m ) { - results.push( elem ); - return results; - } - } else { - return results; - } - - // Element context - } else { - - // Support: IE, Opera, Webkit - // TODO: identify versions - // getElementById can match elements by name instead of ID - if ( newContext && ( elem = newContext.getElementById( m ) ) && - contains( context, elem ) && - elem.id === m ) { - - results.push( elem ); - return results; - } - } - - // Type selector - } else if ( match[ 2 ] ) { - push.apply( results, context.getElementsByTagName( selector ) ); - return results; - - // Class selector - } else if ( ( m = match[ 3 ] ) && support.getElementsByClassName && - context.getElementsByClassName ) { - - push.apply( results, context.getElementsByClassName( m ) ); - return results; - } - } - - // Take advantage of querySelectorAll - if ( support.qsa && - !nonnativeSelectorCache[ selector + " " ] && - ( !rbuggyQSA || !rbuggyQSA.test( selector ) ) && - - // Support: IE 8 only - // Exclude object elements - ( nodeType !== 1 || context.nodeName.toLowerCase() !== "object" ) ) { - - newSelector = selector; - newContext = context; - - // qSA considers elements outside a scoping root when evaluating child or - // descendant combinators, which is not what we want. - // In such cases, we work around the behavior by prefixing every selector in the - // list with an ID selector referencing the scope context. - // The technique has to be used as well when a leading combinator is used - // as such selectors are not recognized by querySelectorAll. - // Thanks to Andrew Dupont for this technique. - if ( nodeType === 1 && - ( rdescend.test( selector ) || rcombinators.test( selector ) ) ) { - - // Expand context for sibling selectors - newContext = rsibling.test( selector ) && testContext( context.parentNode ) || - context; - - // We can use :scope instead of the ID hack if the browser - // supports it & if we're not changing the context. - if ( newContext !== context || !support.scope ) { - - // Capture the context ID, setting it first if necessary - if ( ( nid = context.getAttribute( "id" ) ) ) { - nid = nid.replace( rcssescape, fcssescape ); - } else { - context.setAttribute( "id", ( nid = expando ) ); - } - } - - // Prefix every selector in the list - groups = tokenize( selector ); - i = groups.length; - while ( i-- ) { - groups[ i ] = ( nid ? "#" + nid : ":scope" ) + " " + - toSelector( groups[ i ] ); - } - newSelector = groups.join( "," ); - } - - try { - push.apply( results, - newContext.querySelectorAll( newSelector ) - ); - return results; - } catch ( qsaError ) { - nonnativeSelectorCache( selector, true ); - } finally { - if ( nid === expando ) { - context.removeAttribute( "id" ); - } - } - } - } - } - - // All others - return select( selector.replace( rtrim, "$1" ), context, results, seed ); -} - -/** - * Create key-value caches of limited size - * @returns {function(string, object)} Returns the Object data after storing it on itself with - * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) - * deleting the oldest entry - */ -function createCache() { - var keys = []; - - function cache( key, value ) { - - // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) - if ( keys.push( key + " " ) > Expr.cacheLength ) { - - // Only keep the most recent entries - delete cache[ keys.shift() ]; - } - return ( cache[ key + " " ] = value ); - } - return cache; -} - -/** - * Mark a function for special use by Sizzle - * @param {Function} fn The function to mark - */ -function markFunction( fn ) { - fn[ expando ] = true; - return fn; -} - -/** - * Support testing using an element - * @param {Function} fn Passed the created element and returns a boolean result - */ -function assert( fn ) { - var el = document.createElement( "fieldset" ); - - try { - return !!fn( el ); - } catch ( e ) { - return false; - } finally { - - // Remove from its parent by default - if ( el.parentNode ) { - el.parentNode.removeChild( el ); - } - - // release memory in IE - el = null; - } -} - -/** - * Adds the same handler for all of the specified attrs - * @param {String} attrs Pipe-separated list of attributes - * @param {Function} handler The method that will be applied - */ -function addHandle( attrs, handler ) { - var arr = attrs.split( "|" ), - i = arr.length; - - while ( i-- ) { - Expr.attrHandle[ arr[ i ] ] = handler; - } -} - -/** - * Checks document order of two siblings - * @param {Element} a - * @param {Element} b - * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b - */ -function siblingCheck( a, b ) { - var cur = b && a, - diff = cur && a.nodeType === 1 && b.nodeType === 1 && - a.sourceIndex - b.sourceIndex; - - // Use IE sourceIndex if available on both nodes - if ( diff ) { - return diff; - } - - // Check if b follows a - if ( cur ) { - while ( ( cur = cur.nextSibling ) ) { - if ( cur === b ) { - return -1; - } - } - } - - return a ? 1 : -1; -} - -/** - * Returns a function to use in pseudos for input types - * @param {String} type - */ -function createInputPseudo( type ) { - return function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === type; - }; -} - -/** - * Returns a function to use in pseudos for buttons - * @param {String} type - */ -function createButtonPseudo( type ) { - return function( elem ) { - var name = elem.nodeName.toLowerCase(); - return ( name === "input" || name === "button" ) && elem.type === type; - }; -} - -/** - * Returns a function to use in pseudos for :enabled/:disabled - * @param {Boolean} disabled true for :disabled; false for :enabled - */ -function createDisabledPseudo( disabled ) { - - // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable - return function( elem ) { - - // Only certain elements can match :enabled or :disabled - // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled - // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled - if ( "form" in elem ) { - - // Check for inherited disabledness on relevant non-disabled elements: - // * listed form-associated elements in a disabled fieldset - // https://html.spec.whatwg.org/multipage/forms.html#category-listed - // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled - // * option elements in a disabled optgroup - // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled - // All such elements have a "form" property. - if ( elem.parentNode && elem.disabled === false ) { - - // Option elements defer to a parent optgroup if present - if ( "label" in elem ) { - if ( "label" in elem.parentNode ) { - return elem.parentNode.disabled === disabled; - } else { - return elem.disabled === disabled; - } - } - - // Support: IE 6 - 11 - // Use the isDisabled shortcut property to check for disabled fieldset ancestors - return elem.isDisabled === disabled || - - // Where there is no isDisabled, check manually - /* jshint -W018 */ - elem.isDisabled !== !disabled && - inDisabledFieldset( elem ) === disabled; - } - - return elem.disabled === disabled; - - // Try to winnow out elements that can't be disabled before trusting the disabled property. - // Some victims get caught in our net (label, legend, menu, track), but it shouldn't - // even exist on them, let alone have a boolean value. - } else if ( "label" in elem ) { - return elem.disabled === disabled; - } - - // Remaining elements are neither :enabled nor :disabled - return false; - }; -} - -/** - * Returns a function to use in pseudos for positionals - * @param {Function} fn - */ -function createPositionalPseudo( fn ) { - return markFunction( function( argument ) { - argument = +argument; - return markFunction( function( seed, matches ) { - var j, - matchIndexes = fn( [], seed.length, argument ), - i = matchIndexes.length; - - // Match elements found at the specified indexes - while ( i-- ) { - if ( seed[ ( j = matchIndexes[ i ] ) ] ) { - seed[ j ] = !( matches[ j ] = seed[ j ] ); - } - } - } ); - } ); -} - -/** - * Checks a node for validity as a Sizzle context - * @param {Element|Object=} context - * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value - */ -function testContext( context ) { - return context && typeof context.getElementsByTagName !== "undefined" && context; -} - -// Expose support vars for convenience -support = Sizzle.support = {}; - -/** - * Detects XML nodes - * @param {Element|Object} elem An element or a document - * @returns {Boolean} True iff elem is a non-HTML XML node - */ -isXML = Sizzle.isXML = function( elem ) { - var namespace = elem.namespaceURI, - docElem = ( elem.ownerDocument || elem ).documentElement; - - // Support: IE <=8 - // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes - // https://bugs.jquery.com/ticket/4833 - return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" ); -}; - -/** - * Sets document-related variables once based on the current document - * @param {Element|Object} [doc] An element or document object to use to set the document - * @returns {Object} Returns the current document - */ -setDocument = Sizzle.setDocument = function( node ) { - var hasCompare, subWindow, - doc = node ? node.ownerDocument || node : preferredDoc; - - // Return early if doc is invalid or already selected - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) { - return document; - } - - // Update global variables - document = doc; - docElem = document.documentElement; - documentIsHTML = !isXML( document ); - - // Support: IE 9 - 11+, Edge 12 - 18+ - // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( preferredDoc != document && - ( subWindow = document.defaultView ) && subWindow.top !== subWindow ) { - - // Support: IE 11, Edge - if ( subWindow.addEventListener ) { - subWindow.addEventListener( "unload", unloadHandler, false ); - - // Support: IE 9 - 10 only - } else if ( subWindow.attachEvent ) { - subWindow.attachEvent( "onunload", unloadHandler ); - } - } - - // Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only, - // Safari 4 - 5 only, Opera <=11.6 - 12.x only - // IE/Edge & older browsers don't support the :scope pseudo-class. - // Support: Safari 6.0 only - // Safari 6.0 supports :scope but it's an alias of :root there. - support.scope = assert( function( el ) { - docElem.appendChild( el ).appendChild( document.createElement( "div" ) ); - return typeof el.querySelectorAll !== "undefined" && - !el.querySelectorAll( ":scope fieldset div" ).length; - } ); - - /* Attributes - ---------------------------------------------------------------------- */ - - // Support: IE<8 - // Verify that getAttribute really returns attributes and not properties - // (excepting IE8 booleans) - support.attributes = assert( function( el ) { - el.className = "i"; - return !el.getAttribute( "className" ); - } ); - - /* getElement(s)By* - ---------------------------------------------------------------------- */ - - // Check if getElementsByTagName("*") returns only elements - support.getElementsByTagName = assert( function( el ) { - el.appendChild( document.createComment( "" ) ); - return !el.getElementsByTagName( "*" ).length; - } ); - - // Support: IE<9 - support.getElementsByClassName = rnative.test( document.getElementsByClassName ); - - // Support: IE<10 - // Check if getElementById returns elements by name - // The broken getElementById methods don't pick up programmatically-set names, - // so use a roundabout getElementsByName test - support.getById = assert( function( el ) { - docElem.appendChild( el ).id = expando; - return !document.getElementsByName || !document.getElementsByName( expando ).length; - } ); - - // ID filter and find - if ( support.getById ) { - Expr.filter[ "ID" ] = function( id ) { - var attrId = id.replace( runescape, funescape ); - return function( elem ) { - return elem.getAttribute( "id" ) === attrId; - }; - }; - Expr.find[ "ID" ] = function( id, context ) { - if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { - var elem = context.getElementById( id ); - return elem ? [ elem ] : []; - } - }; - } else { - Expr.filter[ "ID" ] = function( id ) { - var attrId = id.replace( runescape, funescape ); - return function( elem ) { - var node = typeof elem.getAttributeNode !== "undefined" && - elem.getAttributeNode( "id" ); - return node && node.value === attrId; - }; - }; - - // Support: IE 6 - 7 only - // getElementById is not reliable as a find shortcut - Expr.find[ "ID" ] = function( id, context ) { - if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { - var node, i, elems, - elem = context.getElementById( id ); - - if ( elem ) { - - // Verify the id attribute - node = elem.getAttributeNode( "id" ); - if ( node && node.value === id ) { - return [ elem ]; - } - - // Fall back on getElementsByName - elems = context.getElementsByName( id ); - i = 0; - while ( ( elem = elems[ i++ ] ) ) { - node = elem.getAttributeNode( "id" ); - if ( node && node.value === id ) { - return [ elem ]; - } - } - } - - return []; - } - }; - } - - // Tag - Expr.find[ "TAG" ] = support.getElementsByTagName ? - function( tag, context ) { - if ( typeof context.getElementsByTagName !== "undefined" ) { - return context.getElementsByTagName( tag ); - - // DocumentFragment nodes don't have gEBTN - } else if ( support.qsa ) { - return context.querySelectorAll( tag ); - } - } : - - function( tag, context ) { - var elem, - tmp = [], - i = 0, - - // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too - results = context.getElementsByTagName( tag ); - - // Filter out possible comments - if ( tag === "*" ) { - while ( ( elem = results[ i++ ] ) ) { - if ( elem.nodeType === 1 ) { - tmp.push( elem ); - } - } - - return tmp; - } - return results; - }; - - // Class - Expr.find[ "CLASS" ] = support.getElementsByClassName && function( className, context ) { - if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { - return context.getElementsByClassName( className ); - } - }; - - /* QSA/matchesSelector - ---------------------------------------------------------------------- */ - - // QSA and matchesSelector support - - // matchesSelector(:active) reports false when true (IE9/Opera 11.5) - rbuggyMatches = []; - - // qSa(:focus) reports false when true (Chrome 21) - // We allow this because of a bug in IE8/9 that throws an error - // whenever `document.activeElement` is accessed on an iframe - // So, we allow :focus to pass through QSA all the time to avoid the IE error - // See https://bugs.jquery.com/ticket/13378 - rbuggyQSA = []; - - if ( ( support.qsa = rnative.test( document.querySelectorAll ) ) ) { - - // Build QSA regex - // Regex strategy adopted from Diego Perini - assert( function( el ) { - - var input; - - // Select is set to empty string on purpose - // This is to test IE's treatment of not explicitly - // setting a boolean content attribute, - // since its presence should be enough - // https://bugs.jquery.com/ticket/12359 - docElem.appendChild( el ).innerHTML = "<a id='" + expando + "'></a>" + - "<select id='" + expando + "-\r\\' msallowcapture=''>" + - "<option selected=''></option></select>"; - - // Support: IE8, Opera 11-12.16 - // Nothing should be selected when empty strings follow ^= or $= or *= - // The test attribute must be unknown in Opera but "safe" for WinRT - // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section - if ( el.querySelectorAll( "[msallowcapture^='']" ).length ) { - rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); - } - - // Support: IE8 - // Boolean attributes and "value" are not treated correctly - if ( !el.querySelectorAll( "[selected]" ).length ) { - rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); - } - - // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ - if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { - rbuggyQSA.push( "~=" ); - } - - // Support: IE 11+, Edge 15 - 18+ - // IE 11/Edge don't find elements on a `[name='']` query in some cases. - // Adding a temporary attribute to the document before the selection works - // around the issue. - // Interestingly, IE 10 & older don't seem to have the issue. - input = document.createElement( "input" ); - input.setAttribute( "name", "" ); - el.appendChild( input ); - if ( !el.querySelectorAll( "[name='']" ).length ) { - rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" + - whitespace + "*(?:''|\"\")" ); - } - - // Webkit/Opera - :checked should return selected option elements - // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked - // IE8 throws error here and will not see later tests - if ( !el.querySelectorAll( ":checked" ).length ) { - rbuggyQSA.push( ":checked" ); - } - - // Support: Safari 8+, iOS 8+ - // https://bugs.webkit.org/show_bug.cgi?id=136851 - // In-page `selector#id sibling-combinator selector` fails - if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { - rbuggyQSA.push( ".#.+[+~]" ); - } - - // Support: Firefox <=3.6 - 5 only - // Old Firefox doesn't throw on a badly-escaped identifier. - el.querySelectorAll( "\\\f" ); - rbuggyQSA.push( "[\\r\\n\\f]" ); - } ); - - assert( function( el ) { - el.innerHTML = "<a href='' disabled='disabled'></a>" + - "<select disabled='disabled'><option/></select>"; - - // Support: Windows 8 Native Apps - // The type and name attributes are restricted during .innerHTML assignment - var input = document.createElement( "input" ); - input.setAttribute( "type", "hidden" ); - el.appendChild( input ).setAttribute( "name", "D" ); - - // Support: IE8 - // Enforce case-sensitivity of name attribute - if ( el.querySelectorAll( "[name=d]" ).length ) { - rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); - } - - // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) - // IE8 throws error here and will not see later tests - if ( el.querySelectorAll( ":enabled" ).length !== 2 ) { - rbuggyQSA.push( ":enabled", ":disabled" ); - } - - // Support: IE9-11+ - // IE's :disabled selector does not pick up the children of disabled fieldsets - docElem.appendChild( el ).disabled = true; - if ( el.querySelectorAll( ":disabled" ).length !== 2 ) { - rbuggyQSA.push( ":enabled", ":disabled" ); - } - - // Support: Opera 10 - 11 only - // Opera 10-11 does not throw on post-comma invalid pseudos - el.querySelectorAll( "*,:x" ); - rbuggyQSA.push( ",.*:" ); - } ); - } - - if ( ( support.matchesSelector = rnative.test( ( matches = docElem.matches || - docElem.webkitMatchesSelector || - docElem.mozMatchesSelector || - docElem.oMatchesSelector || - docElem.msMatchesSelector ) ) ) ) { - - assert( function( el ) { - - // Check to see if it's possible to do matchesSelector - // on a disconnected node (IE 9) - support.disconnectedMatch = matches.call( el, "*" ); - - // This should fail with an exception - // Gecko does not error, returns false instead - matches.call( el, "[s!='']:x" ); - rbuggyMatches.push( "!=", pseudos ); - } ); - } - - rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) ); - rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join( "|" ) ); - - /* Contains - ---------------------------------------------------------------------- */ - hasCompare = rnative.test( docElem.compareDocumentPosition ); - - // Element contains another - // Purposefully self-exclusive - // As in, an element does not contain itself - contains = hasCompare || rnative.test( docElem.contains ) ? - function( a, b ) { - var adown = a.nodeType === 9 ? a.documentElement : a, - bup = b && b.parentNode; - return a === bup || !!( bup && bup.nodeType === 1 && ( - adown.contains ? - adown.contains( bup ) : - a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 - ) ); - } : - function( a, b ) { - if ( b ) { - while ( ( b = b.parentNode ) ) { - if ( b === a ) { - return true; - } - } - } - return false; - }; - - /* Sorting - ---------------------------------------------------------------------- */ - - // Document order sorting - sortOrder = hasCompare ? - function( a, b ) { - - // Flag for duplicate removal - if ( a === b ) { - hasDuplicate = true; - return 0; - } - - // Sort on method existence if only one input has compareDocumentPosition - var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; - if ( compare ) { - return compare; - } - - // Calculate position if both inputs belong to the same document - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - compare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ? - a.compareDocumentPosition( b ) : - - // Otherwise we know they are disconnected - 1; - - // Disconnected nodes - if ( compare & 1 || - ( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) { - - // Choose the first element that is related to our preferred document - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( a == document || a.ownerDocument == preferredDoc && - contains( preferredDoc, a ) ) { - return -1; - } - - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( b == document || b.ownerDocument == preferredDoc && - contains( preferredDoc, b ) ) { - return 1; - } - - // Maintain original order - return sortInput ? - ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : - 0; - } - - return compare & 4 ? -1 : 1; - } : - function( a, b ) { - - // Exit early if the nodes are identical - if ( a === b ) { - hasDuplicate = true; - return 0; - } - - var cur, - i = 0, - aup = a.parentNode, - bup = b.parentNode, - ap = [ a ], - bp = [ b ]; - - // Parentless nodes are either documents or disconnected - if ( !aup || !bup ) { - - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - /* eslint-disable eqeqeq */ - return a == document ? -1 : - b == document ? 1 : - /* eslint-enable eqeqeq */ - aup ? -1 : - bup ? 1 : - sortInput ? - ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : - 0; - - // If the nodes are siblings, we can do a quick check - } else if ( aup === bup ) { - return siblingCheck( a, b ); - } - - // Otherwise we need full lists of their ancestors for comparison - cur = a; - while ( ( cur = cur.parentNode ) ) { - ap.unshift( cur ); - } - cur = b; - while ( ( cur = cur.parentNode ) ) { - bp.unshift( cur ); - } - - // Walk down the tree looking for a discrepancy - while ( ap[ i ] === bp[ i ] ) { - i++; - } - - return i ? - - // Do a sibling check if the nodes have a common ancestor - siblingCheck( ap[ i ], bp[ i ] ) : - - // Otherwise nodes in our document sort first - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - /* eslint-disable eqeqeq */ - ap[ i ] == preferredDoc ? -1 : - bp[ i ] == preferredDoc ? 1 : - /* eslint-enable eqeqeq */ - 0; - }; - - return document; -}; - -Sizzle.matches = function( expr, elements ) { - return Sizzle( expr, null, null, elements ); -}; - -Sizzle.matchesSelector = function( elem, expr ) { - setDocument( elem ); - - if ( support.matchesSelector && documentIsHTML && - !nonnativeSelectorCache[ expr + " " ] && - ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && - ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { - - try { - var ret = matches.call( elem, expr ); - - // IE 9's matchesSelector returns false on disconnected nodes - if ( ret || support.disconnectedMatch || - - // As well, disconnected nodes are said to be in a document - // fragment in IE 9 - elem.document && elem.document.nodeType !== 11 ) { - return ret; - } - } catch ( e ) { - nonnativeSelectorCache( expr, true ); - } - } - - return Sizzle( expr, document, null, [ elem ] ).length > 0; -}; - -Sizzle.contains = function( context, elem ) { - - // Set document vars if needed - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( ( context.ownerDocument || context ) != document ) { - setDocument( context ); - } - return contains( context, elem ); -}; - -Sizzle.attr = function( elem, name ) { - - // Set document vars if needed - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( ( elem.ownerDocument || elem ) != document ) { - setDocument( elem ); - } - - var fn = Expr.attrHandle[ name.toLowerCase() ], - - // Don't get fooled by Object.prototype properties (jQuery #13807) - val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? - fn( elem, name, !documentIsHTML ) : - undefined; - - return val !== undefined ? - val : - support.attributes || !documentIsHTML ? - elem.getAttribute( name ) : - ( val = elem.getAttributeNode( name ) ) && val.specified ? - val.value : - null; -}; - -Sizzle.escape = function( sel ) { - return ( sel + "" ).replace( rcssescape, fcssescape ); -}; - -Sizzle.error = function( msg ) { - throw new Error( "Syntax error, unrecognized expression: " + msg ); -}; - -/** - * Document sorting and removing duplicates - * @param {ArrayLike} results - */ -Sizzle.uniqueSort = function( results ) { - var elem, - duplicates = [], - j = 0, - i = 0; - - // Unless we *know* we can detect duplicates, assume their presence - hasDuplicate = !support.detectDuplicates; - sortInput = !support.sortStable && results.slice( 0 ); - results.sort( sortOrder ); - - if ( hasDuplicate ) { - while ( ( elem = results[ i++ ] ) ) { - if ( elem === results[ i ] ) { - j = duplicates.push( i ); - } - } - while ( j-- ) { - results.splice( duplicates[ j ], 1 ); - } - } - - // Clear input after sorting to release objects - // See https://github.com/jquery/sizzle/pull/225 - sortInput = null; - - return results; -}; - -/** - * Utility function for retrieving the text value of an array of DOM nodes - * @param {Array|Element} elem - */ -getText = Sizzle.getText = function( elem ) { - var node, - ret = "", - i = 0, - nodeType = elem.nodeType; - - if ( !nodeType ) { - - // If no nodeType, this is expected to be an array - while ( ( node = elem[ i++ ] ) ) { - - // Do not traverse comment nodes - ret += getText( node ); - } - } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { - - // Use textContent for elements - // innerText usage removed for consistency of new lines (jQuery #11153) - if ( typeof elem.textContent === "string" ) { - return elem.textContent; - } else { - - // Traverse its children - for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { - ret += getText( elem ); - } - } - } else if ( nodeType === 3 || nodeType === 4 ) { - return elem.nodeValue; - } - - // Do not include comment or processing instruction nodes - - return ret; -}; - -Expr = Sizzle.selectors = { - - // Can be adjusted by the user - cacheLength: 50, - - createPseudo: markFunction, - - match: matchExpr, - - attrHandle: {}, - - find: {}, - - relative: { - ">": { dir: "parentNode", first: true }, - " ": { dir: "parentNode" }, - "+": { dir: "previousSibling", first: true }, - "~": { dir: "previousSibling" } - }, - - preFilter: { - "ATTR": function( match ) { - match[ 1 ] = match[ 1 ].replace( runescape, funescape ); - - // Move the given value to match[3] whether quoted or unquoted - match[ 3 ] = ( match[ 3 ] || match[ 4 ] || - match[ 5 ] || "" ).replace( runescape, funescape ); - - if ( match[ 2 ] === "~=" ) { - match[ 3 ] = " " + match[ 3 ] + " "; - } - - return match.slice( 0, 4 ); - }, - - "CHILD": function( match ) { - - /* matches from matchExpr["CHILD"] - 1 type (only|nth|...) - 2 what (child|of-type) - 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) - 4 xn-component of xn+y argument ([+-]?\d*n|) - 5 sign of xn-component - 6 x of xn-component - 7 sign of y-component - 8 y of y-component - */ - match[ 1 ] = match[ 1 ].toLowerCase(); - - if ( match[ 1 ].slice( 0, 3 ) === "nth" ) { - - // nth-* requires argument - if ( !match[ 3 ] ) { - Sizzle.error( match[ 0 ] ); - } - - // numeric x and y parameters for Expr.filter.CHILD - // remember that false/true cast respectively to 0/1 - match[ 4 ] = +( match[ 4 ] ? - match[ 5 ] + ( match[ 6 ] || 1 ) : - 2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" ) ); - match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" ); - - // other types prohibit arguments - } else if ( match[ 3 ] ) { - Sizzle.error( match[ 0 ] ); - } - - return match; - }, - - "PSEUDO": function( match ) { - var excess, - unquoted = !match[ 6 ] && match[ 2 ]; - - if ( matchExpr[ "CHILD" ].test( match[ 0 ] ) ) { - return null; - } - - // Accept quoted arguments as-is - if ( match[ 3 ] ) { - match[ 2 ] = match[ 4 ] || match[ 5 ] || ""; - - // Strip excess characters from unquoted arguments - } else if ( unquoted && rpseudo.test( unquoted ) && - - // Get excess from tokenize (recursively) - ( excess = tokenize( unquoted, true ) ) && - - // advance to the next closing parenthesis - ( excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length ) ) { - - // excess is a negative index - match[ 0 ] = match[ 0 ].slice( 0, excess ); - match[ 2 ] = unquoted.slice( 0, excess ); - } - - // Return only captures needed by the pseudo filter method (type and argument) - return match.slice( 0, 3 ); - } - }, - - filter: { - - "TAG": function( nodeNameSelector ) { - var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); - return nodeNameSelector === "*" ? - function() { - return true; - } : - function( elem ) { - return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; - }; - }, - - "CLASS": function( className ) { - var pattern = classCache[ className + " " ]; - - return pattern || - ( pattern = new RegExp( "(^|" + whitespace + - ")" + className + "(" + whitespace + "|$)" ) ) && classCache( - className, function( elem ) { - return pattern.test( - typeof elem.className === "string" && elem.className || - typeof elem.getAttribute !== "undefined" && - elem.getAttribute( "class" ) || - "" - ); - } ); - }, - - "ATTR": function( name, operator, check ) { - return function( elem ) { - var result = Sizzle.attr( elem, name ); - - if ( result == null ) { - return operator === "!="; - } - if ( !operator ) { - return true; - } - - result += ""; - - /* eslint-disable max-len */ - - return operator === "=" ? result === check : - operator === "!=" ? result !== check : - operator === "^=" ? check && result.indexOf( check ) === 0 : - operator === "*=" ? check && result.indexOf( check ) > -1 : - operator === "$=" ? check && result.slice( -check.length ) === check : - operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : - operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : - false; - /* eslint-enable max-len */ - - }; - }, - - "CHILD": function( type, what, _argument, first, last ) { - var simple = type.slice( 0, 3 ) !== "nth", - forward = type.slice( -4 ) !== "last", - ofType = what === "of-type"; - - return first === 1 && last === 0 ? - - // Shortcut for :nth-*(n) - function( elem ) { - return !!elem.parentNode; - } : - - function( elem, _context, xml ) { - var cache, uniqueCache, outerCache, node, nodeIndex, start, - dir = simple !== forward ? "nextSibling" : "previousSibling", - parent = elem.parentNode, - name = ofType && elem.nodeName.toLowerCase(), - useCache = !xml && !ofType, - diff = false; - - if ( parent ) { - - // :(first|last|only)-(child|of-type) - if ( simple ) { - while ( dir ) { - node = elem; - while ( ( node = node[ dir ] ) ) { - if ( ofType ? - node.nodeName.toLowerCase() === name : - node.nodeType === 1 ) { - - return false; - } - } - - // Reverse direction for :only-* (if we haven't yet done so) - start = dir = type === "only" && !start && "nextSibling"; - } - return true; - } - - start = [ forward ? parent.firstChild : parent.lastChild ]; - - // non-xml :nth-child(...) stores cache data on `parent` - if ( forward && useCache ) { - - // Seek `elem` from a previously-cached index - - // ...in a gzip-friendly way - node = parent; - outerCache = node[ expando ] || ( node[ expando ] = {} ); - - // Support: IE <9 only - // Defend against cloned attroperties (jQuery gh-1709) - uniqueCache = outerCache[ node.uniqueID ] || - ( outerCache[ node.uniqueID ] = {} ); - - cache = uniqueCache[ type ] || []; - nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; - diff = nodeIndex && cache[ 2 ]; - node = nodeIndex && parent.childNodes[ nodeIndex ]; - - while ( ( node = ++nodeIndex && node && node[ dir ] || - - // Fallback to seeking `elem` from the start - ( diff = nodeIndex = 0 ) || start.pop() ) ) { - - // When found, cache indexes on `parent` and break - if ( node.nodeType === 1 && ++diff && node === elem ) { - uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; - break; - } - } - - } else { - - // Use previously-cached element index if available - if ( useCache ) { - - // ...in a gzip-friendly way - node = elem; - outerCache = node[ expando ] || ( node[ expando ] = {} ); - - // Support: IE <9 only - // Defend against cloned attroperties (jQuery gh-1709) - uniqueCache = outerCache[ node.uniqueID ] || - ( outerCache[ node.uniqueID ] = {} ); - - cache = uniqueCache[ type ] || []; - nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; - diff = nodeIndex; - } - - // xml :nth-child(...) - // or :nth-last-child(...) or :nth(-last)?-of-type(...) - if ( diff === false ) { - - // Use the same loop as above to seek `elem` from the start - while ( ( node = ++nodeIndex && node && node[ dir ] || - ( diff = nodeIndex = 0 ) || start.pop() ) ) { - - if ( ( ofType ? - node.nodeName.toLowerCase() === name : - node.nodeType === 1 ) && - ++diff ) { - - // Cache the index of each encountered element - if ( useCache ) { - outerCache = node[ expando ] || - ( node[ expando ] = {} ); - - // Support: IE <9 only - // Defend against cloned attroperties (jQuery gh-1709) - uniqueCache = outerCache[ node.uniqueID ] || - ( outerCache[ node.uniqueID ] = {} ); - - uniqueCache[ type ] = [ dirruns, diff ]; - } - - if ( node === elem ) { - break; - } - } - } - } - } - - // Incorporate the offset, then check against cycle size - diff -= last; - return diff === first || ( diff % first === 0 && diff / first >= 0 ); - } - }; - }, - - "PSEUDO": function( pseudo, argument ) { - - // pseudo-class names are case-insensitive - // http://www.w3.org/TR/selectors/#pseudo-classes - // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters - // Remember that setFilters inherits from pseudos - var args, - fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || - Sizzle.error( "unsupported pseudo: " + pseudo ); - - // The user may use createPseudo to indicate that - // arguments are needed to create the filter function - // just as Sizzle does - if ( fn[ expando ] ) { - return fn( argument ); - } - - // But maintain support for old signatures - if ( fn.length > 1 ) { - args = [ pseudo, pseudo, "", argument ]; - return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? - markFunction( function( seed, matches ) { - var idx, - matched = fn( seed, argument ), - i = matched.length; - while ( i-- ) { - idx = indexOf( seed, matched[ i ] ); - seed[ idx ] = !( matches[ idx ] = matched[ i ] ); - } - } ) : - function( elem ) { - return fn( elem, 0, args ); - }; - } - - return fn; - } - }, - - pseudos: { - - // Potentially complex pseudos - "not": markFunction( function( selector ) { - - // Trim the selector passed to compile - // to avoid treating leading and trailing - // spaces as combinators - var input = [], - results = [], - matcher = compile( selector.replace( rtrim, "$1" ) ); - - return matcher[ expando ] ? - markFunction( function( seed, matches, _context, xml ) { - var elem, - unmatched = matcher( seed, null, xml, [] ), - i = seed.length; - - // Match elements unmatched by `matcher` - while ( i-- ) { - if ( ( elem = unmatched[ i ] ) ) { - seed[ i ] = !( matches[ i ] = elem ); - } - } - } ) : - function( elem, _context, xml ) { - input[ 0 ] = elem; - matcher( input, null, xml, results ); - - // Don't keep the element (issue #299) - input[ 0 ] = null; - return !results.pop(); - }; - } ), - - "has": markFunction( function( selector ) { - return function( elem ) { - return Sizzle( selector, elem ).length > 0; - }; - } ), - - "contains": markFunction( function( text ) { - text = text.replace( runescape, funescape ); - return function( elem ) { - return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1; - }; - } ), - - // "Whether an element is represented by a :lang() selector - // is based solely on the element's language value - // being equal to the identifier C, - // or beginning with the identifier C immediately followed by "-". - // The matching of C against the element's language value is performed case-insensitively. - // The identifier C does not have to be a valid language name." - // http://www.w3.org/TR/selectors/#lang-pseudo - "lang": markFunction( function( lang ) { - - // lang value must be a valid identifier - if ( !ridentifier.test( lang || "" ) ) { - Sizzle.error( "unsupported lang: " + lang ); - } - lang = lang.replace( runescape, funescape ).toLowerCase(); - return function( elem ) { - var elemLang; - do { - if ( ( elemLang = documentIsHTML ? - elem.lang : - elem.getAttribute( "xml:lang" ) || elem.getAttribute( "lang" ) ) ) { - - elemLang = elemLang.toLowerCase(); - return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; - } - } while ( ( elem = elem.parentNode ) && elem.nodeType === 1 ); - return false; - }; - } ), - - // Miscellaneous - "target": function( elem ) { - var hash = window.location && window.location.hash; - return hash && hash.slice( 1 ) === elem.id; - }, - - "root": function( elem ) { - return elem === docElem; - }, - - "focus": function( elem ) { - return elem === document.activeElement && - ( !document.hasFocus || document.hasFocus() ) && - !!( elem.type || elem.href || ~elem.tabIndex ); - }, - - // Boolean properties - "enabled": createDisabledPseudo( false ), - "disabled": createDisabledPseudo( true ), - - "checked": function( elem ) { - - // In CSS3, :checked should return both checked and selected elements - // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked - var nodeName = elem.nodeName.toLowerCase(); - return ( nodeName === "input" && !!elem.checked ) || - ( nodeName === "option" && !!elem.selected ); - }, - - "selected": function( elem ) { - - // Accessing this property makes selected-by-default - // options in Safari work properly - if ( elem.parentNode ) { - // eslint-disable-next-line no-unused-expressions - elem.parentNode.selectedIndex; - } - - return elem.selected === true; - }, - - // Contents - "empty": function( elem ) { - - // http://www.w3.org/TR/selectors/#empty-pseudo - // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), - // but not by others (comment: 8; processing instruction: 7; etc.) - // nodeType < 6 works because attributes (2) do not appear as children - for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { - if ( elem.nodeType < 6 ) { - return false; - } - } - return true; - }, - - "parent": function( elem ) { - return !Expr.pseudos[ "empty" ]( elem ); - }, - - // Element/input types - "header": function( elem ) { - return rheader.test( elem.nodeName ); - }, - - "input": function( elem ) { - return rinputs.test( elem.nodeName ); - }, - - "button": function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === "button" || name === "button"; - }, - - "text": function( elem ) { - var attr; - return elem.nodeName.toLowerCase() === "input" && - elem.type === "text" && - - // Support: IE<8 - // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" - ( ( attr = elem.getAttribute( "type" ) ) == null || - attr.toLowerCase() === "text" ); - }, - - // Position-in-collection - "first": createPositionalPseudo( function() { - return [ 0 ]; - } ), - - "last": createPositionalPseudo( function( _matchIndexes, length ) { - return [ length - 1 ]; - } ), - - "eq": createPositionalPseudo( function( _matchIndexes, length, argument ) { - return [ argument < 0 ? argument + length : argument ]; - } ), - - "even": createPositionalPseudo( function( matchIndexes, length ) { - var i = 0; - for ( ; i < length; i += 2 ) { - matchIndexes.push( i ); - } - return matchIndexes; - } ), - - "odd": createPositionalPseudo( function( matchIndexes, length ) { - var i = 1; - for ( ; i < length; i += 2 ) { - matchIndexes.push( i ); - } - return matchIndexes; - } ), - - "lt": createPositionalPseudo( function( matchIndexes, length, argument ) { - var i = argument < 0 ? - argument + length : - argument > length ? - length : - argument; - for ( ; --i >= 0; ) { - matchIndexes.push( i ); - } - return matchIndexes; - } ), - - "gt": createPositionalPseudo( function( matchIndexes, length, argument ) { - var i = argument < 0 ? argument + length : argument; - for ( ; ++i < length; ) { - matchIndexes.push( i ); - } - return matchIndexes; - } ) - } -}; - -Expr.pseudos[ "nth" ] = Expr.pseudos[ "eq" ]; - -// Add button/input type pseudos -for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { - Expr.pseudos[ i ] = createInputPseudo( i ); -} -for ( i in { submit: true, reset: true } ) { - Expr.pseudos[ i ] = createButtonPseudo( i ); -} - -// Easy API for creating new setFilters -function setFilters() {} -setFilters.prototype = Expr.filters = Expr.pseudos; -Expr.setFilters = new setFilters(); - -tokenize = Sizzle.tokenize = function( selector, parseOnly ) { - var matched, match, tokens, type, - soFar, groups, preFilters, - cached = tokenCache[ selector + " " ]; - - if ( cached ) { - return parseOnly ? 0 : cached.slice( 0 ); - } - - soFar = selector; - groups = []; - preFilters = Expr.preFilter; - - while ( soFar ) { - - // Comma and first run - if ( !matched || ( match = rcomma.exec( soFar ) ) ) { - if ( match ) { - - // Don't consume trailing commas as valid - soFar = soFar.slice( match[ 0 ].length ) || soFar; - } - groups.push( ( tokens = [] ) ); - } - - matched = false; - - // Combinators - if ( ( match = rcombinators.exec( soFar ) ) ) { - matched = match.shift(); - tokens.push( { - value: matched, - - // Cast descendant combinators to space - type: match[ 0 ].replace( rtrim, " " ) - } ); - soFar = soFar.slice( matched.length ); - } - - // Filters - for ( type in Expr.filter ) { - if ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] || - ( match = preFilters[ type ]( match ) ) ) ) { - matched = match.shift(); - tokens.push( { - value: matched, - type: type, - matches: match - } ); - soFar = soFar.slice( matched.length ); - } - } - - if ( !matched ) { - break; - } - } - - // Return the length of the invalid excess - // if we're just parsing - // Otherwise, throw an error or return tokens - return parseOnly ? - soFar.length : - soFar ? - Sizzle.error( selector ) : - - // Cache the tokens - tokenCache( selector, groups ).slice( 0 ); -}; - -function toSelector( tokens ) { - var i = 0, - len = tokens.length, - selector = ""; - for ( ; i < len; i++ ) { - selector += tokens[ i ].value; - } - return selector; -} - -function addCombinator( matcher, combinator, base ) { - var dir = combinator.dir, - skip = combinator.next, - key = skip || dir, - checkNonElements = base && key === "parentNode", - doneName = done++; - - return combinator.first ? - - // Check against closest ancestor/preceding element - function( elem, context, xml ) { - while ( ( elem = elem[ dir ] ) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - return matcher( elem, context, xml ); - } - } - return false; - } : - - // Check against all ancestor/preceding elements - function( elem, context, xml ) { - var oldCache, uniqueCache, outerCache, - newCache = [ dirruns, doneName ]; - - // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching - if ( xml ) { - while ( ( elem = elem[ dir ] ) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - if ( matcher( elem, context, xml ) ) { - return true; - } - } - } - } else { - while ( ( elem = elem[ dir ] ) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - outerCache = elem[ expando ] || ( elem[ expando ] = {} ); - - // Support: IE <9 only - // Defend against cloned attroperties (jQuery gh-1709) - uniqueCache = outerCache[ elem.uniqueID ] || - ( outerCache[ elem.uniqueID ] = {} ); - - if ( skip && skip === elem.nodeName.toLowerCase() ) { - elem = elem[ dir ] || elem; - } else if ( ( oldCache = uniqueCache[ key ] ) && - oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { - - // Assign to newCache so results back-propagate to previous elements - return ( newCache[ 2 ] = oldCache[ 2 ] ); - } else { - - // Reuse newcache so results back-propagate to previous elements - uniqueCache[ key ] = newCache; - - // A match means we're done; a fail means we have to keep checking - if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) { - return true; - } - } - } - } - } - return false; - }; -} - -function elementMatcher( matchers ) { - return matchers.length > 1 ? - function( elem, context, xml ) { - var i = matchers.length; - while ( i-- ) { - if ( !matchers[ i ]( elem, context, xml ) ) { - return false; - } - } - return true; - } : - matchers[ 0 ]; -} - -function multipleContexts( selector, contexts, results ) { - var i = 0, - len = contexts.length; - for ( ; i < len; i++ ) { - Sizzle( selector, contexts[ i ], results ); - } - return results; -} - -function condense( unmatched, map, filter, context, xml ) { - var elem, - newUnmatched = [], - i = 0, - len = unmatched.length, - mapped = map != null; - - for ( ; i < len; i++ ) { - if ( ( elem = unmatched[ i ] ) ) { - if ( !filter || filter( elem, context, xml ) ) { - newUnmatched.push( elem ); - if ( mapped ) { - map.push( i ); - } - } - } - } - - return newUnmatched; -} - -function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { - if ( postFilter && !postFilter[ expando ] ) { - postFilter = setMatcher( postFilter ); - } - if ( postFinder && !postFinder[ expando ] ) { - postFinder = setMatcher( postFinder, postSelector ); - } - return markFunction( function( seed, results, context, xml ) { - var temp, i, elem, - preMap = [], - postMap = [], - preexisting = results.length, - - // Get initial elements from seed or context - elems = seed || multipleContexts( - selector || "*", - context.nodeType ? [ context ] : context, - [] - ), - - // Prefilter to get matcher input, preserving a map for seed-results synchronization - matcherIn = preFilter && ( seed || !selector ) ? - condense( elems, preMap, preFilter, context, xml ) : - elems, - - matcherOut = matcher ? - - // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, - postFinder || ( seed ? preFilter : preexisting || postFilter ) ? - - // ...intermediate processing is necessary - [] : - - // ...otherwise use results directly - results : - matcherIn; - - // Find primary matches - if ( matcher ) { - matcher( matcherIn, matcherOut, context, xml ); - } - - // Apply postFilter - if ( postFilter ) { - temp = condense( matcherOut, postMap ); - postFilter( temp, [], context, xml ); - - // Un-match failing elements by moving them back to matcherIn - i = temp.length; - while ( i-- ) { - if ( ( elem = temp[ i ] ) ) { - matcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem ); - } - } - } - - if ( seed ) { - if ( postFinder || preFilter ) { - if ( postFinder ) { - - // Get the final matcherOut by condensing this intermediate into postFinder contexts - temp = []; - i = matcherOut.length; - while ( i-- ) { - if ( ( elem = matcherOut[ i ] ) ) { - - // Restore matcherIn since elem is not yet a final match - temp.push( ( matcherIn[ i ] = elem ) ); - } - } - postFinder( null, ( matcherOut = [] ), temp, xml ); - } - - // Move matched elements from seed to results to keep them synchronized - i = matcherOut.length; - while ( i-- ) { - if ( ( elem = matcherOut[ i ] ) && - ( temp = postFinder ? indexOf( seed, elem ) : preMap[ i ] ) > -1 ) { - - seed[ temp ] = !( results[ temp ] = elem ); - } - } - } - - // Add elements to results, through postFinder if defined - } else { - matcherOut = condense( - matcherOut === results ? - matcherOut.splice( preexisting, matcherOut.length ) : - matcherOut - ); - if ( postFinder ) { - postFinder( null, results, matcherOut, xml ); - } else { - push.apply( results, matcherOut ); - } - } - } ); -} - -function matcherFromTokens( tokens ) { - var checkContext, matcher, j, - len = tokens.length, - leadingRelative = Expr.relative[ tokens[ 0 ].type ], - implicitRelative = leadingRelative || Expr.relative[ " " ], - i = leadingRelative ? 1 : 0, - - // The foundational matcher ensures that elements are reachable from top-level context(s) - matchContext = addCombinator( function( elem ) { - return elem === checkContext; - }, implicitRelative, true ), - matchAnyContext = addCombinator( function( elem ) { - return indexOf( checkContext, elem ) > -1; - }, implicitRelative, true ), - matchers = [ function( elem, context, xml ) { - var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( - ( checkContext = context ).nodeType ? - matchContext( elem, context, xml ) : - matchAnyContext( elem, context, xml ) ); - - // Avoid hanging onto element (issue #299) - checkContext = null; - return ret; - } ]; - - for ( ; i < len; i++ ) { - if ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) { - matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ]; - } else { - matcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches ); - - // Return special upon seeing a positional matcher - if ( matcher[ expando ] ) { - - // Find the next relative operator (if any) for proper handling - j = ++i; - for ( ; j < len; j++ ) { - if ( Expr.relative[ tokens[ j ].type ] ) { - break; - } - } - return setMatcher( - i > 1 && elementMatcher( matchers ), - i > 1 && toSelector( - - // If the preceding token was a descendant combinator, insert an implicit any-element `*` - tokens - .slice( 0, i - 1 ) - .concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } ) - ).replace( rtrim, "$1" ), - matcher, - i < j && matcherFromTokens( tokens.slice( i, j ) ), - j < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ), - j < len && toSelector( tokens ) - ); - } - matchers.push( matcher ); - } - } - - return elementMatcher( matchers ); -} - -function matcherFromGroupMatchers( elementMatchers, setMatchers ) { - var bySet = setMatchers.length > 0, - byElement = elementMatchers.length > 0, - superMatcher = function( seed, context, xml, results, outermost ) { - var elem, j, matcher, - matchedCount = 0, - i = "0", - unmatched = seed && [], - setMatched = [], - contextBackup = outermostContext, - - // We must always have either seed elements or outermost context - elems = seed || byElement && Expr.find[ "TAG" ]( "*", outermost ), - - // Use integer dirruns iff this is the outermost matcher - dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ), - len = elems.length; - - if ( outermost ) { - - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - outermostContext = context == document || context || outermost; - } - - // Add elements passing elementMatchers directly to results - // Support: IE<9, Safari - // Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id - for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) { - if ( byElement && elem ) { - j = 0; - - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( !context && elem.ownerDocument != document ) { - setDocument( elem ); - xml = !documentIsHTML; - } - while ( ( matcher = elementMatchers[ j++ ] ) ) { - if ( matcher( elem, context || document, xml ) ) { - results.push( elem ); - break; - } - } - if ( outermost ) { - dirruns = dirrunsUnique; - } - } - - // Track unmatched elements for set filters - if ( bySet ) { - - // They will have gone through all possible matchers - if ( ( elem = !matcher && elem ) ) { - matchedCount--; - } - - // Lengthen the array for every element, matched or not - if ( seed ) { - unmatched.push( elem ); - } - } - } - - // `i` is now the count of elements visited above, and adding it to `matchedCount` - // makes the latter nonnegative. - matchedCount += i; - - // Apply set filters to unmatched elements - // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` - // equals `i`), unless we didn't visit _any_ elements in the above loop because we have - // no element matchers and no seed. - // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that - // case, which will result in a "00" `matchedCount` that differs from `i` but is also - // numerically zero. - if ( bySet && i !== matchedCount ) { - j = 0; - while ( ( matcher = setMatchers[ j++ ] ) ) { - matcher( unmatched, setMatched, context, xml ); - } - - if ( seed ) { - - // Reintegrate element matches to eliminate the need for sorting - if ( matchedCount > 0 ) { - while ( i-- ) { - if ( !( unmatched[ i ] || setMatched[ i ] ) ) { - setMatched[ i ] = pop.call( results ); - } - } - } - - // Discard index placeholder values to get only actual matches - setMatched = condense( setMatched ); - } - - // Add matches to results - push.apply( results, setMatched ); - - // Seedless set matches succeeding multiple successful matchers stipulate sorting - if ( outermost && !seed && setMatched.length > 0 && - ( matchedCount + setMatchers.length ) > 1 ) { - - Sizzle.uniqueSort( results ); - } - } - - // Override manipulation of globals by nested matchers - if ( outermost ) { - dirruns = dirrunsUnique; - outermostContext = contextBackup; - } - - return unmatched; - }; - - return bySet ? - markFunction( superMatcher ) : - superMatcher; -} - -compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { - var i, - setMatchers = [], - elementMatchers = [], - cached = compilerCache[ selector + " " ]; - - if ( !cached ) { - - // Generate a function of recursive functions that can be used to check each element - if ( !match ) { - match = tokenize( selector ); - } - i = match.length; - while ( i-- ) { - cached = matcherFromTokens( match[ i ] ); - if ( cached[ expando ] ) { - setMatchers.push( cached ); - } else { - elementMatchers.push( cached ); - } - } - - // Cache the compiled function - cached = compilerCache( - selector, - matcherFromGroupMatchers( elementMatchers, setMatchers ) - ); - - // Save selector and tokenization - cached.selector = selector; - } - return cached; -}; - -/** - * A low-level selection function that works with Sizzle's compiled - * selector functions - * @param {String|Function} selector A selector or a pre-compiled - * selector function built with Sizzle.compile - * @param {Element} context - * @param {Array} [results] - * @param {Array} [seed] A set of elements to match against - */ -select = Sizzle.select = function( selector, context, results, seed ) { - var i, tokens, token, type, find, - compiled = typeof selector === "function" && selector, - match = !seed && tokenize( ( selector = compiled.selector || selector ) ); - - results = results || []; - - // Try to minimize operations if there is only one selector in the list and no seed - // (the latter of which guarantees us context) - if ( match.length === 1 ) { - - // Reduce context if the leading compound selector is an ID - tokens = match[ 0 ] = match[ 0 ].slice( 0 ); - if ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === "ID" && - context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) { - - context = ( Expr.find[ "ID" ]( token.matches[ 0 ] - .replace( runescape, funescape ), context ) || [] )[ 0 ]; - if ( !context ) { - return results; - - // Precompiled matchers will still verify ancestry, so step up a level - } else if ( compiled ) { - context = context.parentNode; - } - - selector = selector.slice( tokens.shift().value.length ); - } - - // Fetch a seed set for right-to-left matching - i = matchExpr[ "needsContext" ].test( selector ) ? 0 : tokens.length; - while ( i-- ) { - token = tokens[ i ]; - - // Abort if we hit a combinator - if ( Expr.relative[ ( type = token.type ) ] ) { - break; - } - if ( ( find = Expr.find[ type ] ) ) { - - // Search, expanding context for leading sibling combinators - if ( ( seed = find( - token.matches[ 0 ].replace( runescape, funescape ), - rsibling.test( tokens[ 0 ].type ) && testContext( context.parentNode ) || - context - ) ) ) { - - // If seed is empty or no tokens remain, we can return early - tokens.splice( i, 1 ); - selector = seed.length && toSelector( tokens ); - if ( !selector ) { - push.apply( results, seed ); - return results; - } - - break; - } - } - } - } - - // Compile and execute a filtering function if one is not provided - // Provide `match` to avoid retokenization if we modified the selector above - ( compiled || compile( selector, match ) )( - seed, - context, - !documentIsHTML, - results, - !context || rsibling.test( selector ) && testContext( context.parentNode ) || context - ); - return results; -}; - -// One-time assignments - -// Sort stability -support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando; - -// Support: Chrome 14-35+ -// Always assume duplicates if they aren't passed to the comparison function -support.detectDuplicates = !!hasDuplicate; - -// Initialize against the default document -setDocument(); - -// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) -// Detached nodes confoundingly follow *each other* -support.sortDetached = assert( function( el ) { - - // Should return 1, but returns 4 (following) - return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1; -} ); - -// Support: IE<8 -// Prevent attribute/property "interpolation" -// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx -if ( !assert( function( el ) { - el.innerHTML = "<a href='#'></a>"; - return el.firstChild.getAttribute( "href" ) === "#"; -} ) ) { - addHandle( "type|href|height|width", function( elem, name, isXML ) { - if ( !isXML ) { - return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); - } - } ); -} - -// Support: IE<9 -// Use defaultValue in place of getAttribute("value") -if ( !support.attributes || !assert( function( el ) { - el.innerHTML = "<input/>"; - el.firstChild.setAttribute( "value", "" ); - return el.firstChild.getAttribute( "value" ) === ""; -} ) ) { - addHandle( "value", function( elem, _name, isXML ) { - if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { - return elem.defaultValue; - } - } ); -} - -// Support: IE<9 -// Use getAttributeNode to fetch booleans when getAttribute lies -if ( !assert( function( el ) { - return el.getAttribute( "disabled" ) == null; -} ) ) { - addHandle( booleans, function( elem, name, isXML ) { - var val; - if ( !isXML ) { - return elem[ name ] === true ? name.toLowerCase() : - ( val = elem.getAttributeNode( name ) ) && val.specified ? - val.value : - null; - } - } ); -} - -return Sizzle; - -} )( window ); - - - -jQuery.find = Sizzle; -jQuery.expr = Sizzle.selectors; - -// Deprecated -jQuery.expr[ ":" ] = jQuery.expr.pseudos; -jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; -jQuery.text = Sizzle.getText; -jQuery.isXMLDoc = Sizzle.isXML; -jQuery.contains = Sizzle.contains; -jQuery.escapeSelector = Sizzle.escape; - - - - -var dir = function( elem, dir, until ) { - var matched = [], - truncate = until !== undefined; - - while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { - if ( elem.nodeType === 1 ) { - if ( truncate && jQuery( elem ).is( until ) ) { - break; - } - matched.push( elem ); - } - } - return matched; -}; - - -var siblings = function( n, elem ) { - var matched = []; - - for ( ; n; n = n.nextSibling ) { - if ( n.nodeType === 1 && n !== elem ) { - matched.push( n ); - } - } - - return matched; -}; - - -var rneedsContext = jQuery.expr.match.needsContext; - - - -function nodeName( elem, name ) { - - return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); - -}; -var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); - - - -// Implement the identical functionality for filter and not -function winnow( elements, qualifier, not ) { - if ( isFunction( qualifier ) ) { - return jQuery.grep( elements, function( elem, i ) { - return !!qualifier.call( elem, i, elem ) !== not; - } ); - } - - // Single element - if ( qualifier.nodeType ) { - return jQuery.grep( elements, function( elem ) { - return ( elem === qualifier ) !== not; - } ); - } - - // Arraylike of elements (jQuery, arguments, Array) - if ( typeof qualifier !== "string" ) { - return jQuery.grep( elements, function( elem ) { - return ( indexOf.call( qualifier, elem ) > -1 ) !== not; - } ); - } - - // Filtered directly for both simple and complex selectors - return jQuery.filter( qualifier, elements, not ); -} - -jQuery.filter = function( expr, elems, not ) { - var elem = elems[ 0 ]; - - if ( not ) { - expr = ":not(" + expr + ")"; - } - - if ( elems.length === 1 && elem.nodeType === 1 ) { - return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; - } - - return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { - return elem.nodeType === 1; - } ) ); -}; - -jQuery.fn.extend( { - find: function( selector ) { - var i, ret, - len = this.length, - self = this; - - if ( typeof selector !== "string" ) { - return this.pushStack( jQuery( selector ).filter( function() { - for ( i = 0; i < len; i++ ) { - if ( jQuery.contains( self[ i ], this ) ) { - return true; - } - } - } ) ); - } - - ret = this.pushStack( [] ); - - for ( i = 0; i < len; i++ ) { - jQuery.find( selector, self[ i ], ret ); - } - - return len > 1 ? jQuery.uniqueSort( ret ) : ret; - }, - filter: function( selector ) { - return this.pushStack( winnow( this, selector || [], false ) ); - }, - not: function( selector ) { - return this.pushStack( winnow( this, selector || [], true ) ); - }, - is: function( selector ) { - return !!winnow( - this, - - // If this is a positional/relative selector, check membership in the returned set - // so $("p:first").is("p:last") won't return true for a doc with two "p". - typeof selector === "string" && rneedsContext.test( selector ) ? - jQuery( selector ) : - selector || [], - false - ).length; - } -} ); - - -// Initialize a jQuery object - - -// A central reference to the root jQuery(document) -var rootjQuery, - - // A simple way to check for HTML strings - // Prioritize #id over <tag> to avoid XSS via location.hash (#9521) - // Strict HTML recognition (#11290: must start with <) - // Shortcut simple #id case for speed - rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, - - init = jQuery.fn.init = function( selector, context, root ) { - var match, elem; - - // HANDLE: $(""), $(null), $(undefined), $(false) - if ( !selector ) { - return this; - } - - // Method init() accepts an alternate rootjQuery - // so migrate can support jQuery.sub (gh-2101) - root = root || rootjQuery; - - // Handle HTML strings - if ( typeof selector === "string" ) { - if ( selector[ 0 ] === "<" && - selector[ selector.length - 1 ] === ">" && - selector.length >= 3 ) { - - // Assume that strings that start and end with <> are HTML and skip the regex check - match = [ null, selector, null ]; - - } else { - match = rquickExpr.exec( selector ); - } - - // Match html or make sure no context is specified for #id - if ( match && ( match[ 1 ] || !context ) ) { - - // HANDLE: $(html) -> $(array) - if ( match[ 1 ] ) { - context = context instanceof jQuery ? context[ 0 ] : context; - - // Option to run scripts is true for back-compat - // Intentionally let the error be thrown if parseHTML is not present - jQuery.merge( this, jQuery.parseHTML( - match[ 1 ], - context && context.nodeType ? context.ownerDocument || context : document, - true - ) ); - - // HANDLE: $(html, props) - if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { - for ( match in context ) { - - // Properties of context are called as methods if possible - if ( isFunction( this[ match ] ) ) { - this[ match ]( context[ match ] ); - - // ...and otherwise set as attributes - } else { - this.attr( match, context[ match ] ); - } - } - } - - return this; - - // HANDLE: $(#id) - } else { - elem = document.getElementById( match[ 2 ] ); - - if ( elem ) { - - // Inject the element directly into the jQuery object - this[ 0 ] = elem; - this.length = 1; - } - return this; - } - - // HANDLE: $(expr, $(...)) - } else if ( !context || context.jquery ) { - return ( context || root ).find( selector ); - - // HANDLE: $(expr, context) - // (which is just equivalent to: $(context).find(expr) - } else { - return this.constructor( context ).find( selector ); - } - - // HANDLE: $(DOMElement) - } else if ( selector.nodeType ) { - this[ 0 ] = selector; - this.length = 1; - return this; - - // HANDLE: $(function) - // Shortcut for document ready - } else if ( isFunction( selector ) ) { - return root.ready !== undefined ? - root.ready( selector ) : - - // Execute immediately if ready is not present - selector( jQuery ); - } - - return jQuery.makeArray( selector, this ); - }; - -// Give the init function the jQuery prototype for later instantiation -init.prototype = jQuery.fn; - -// Initialize central reference -rootjQuery = jQuery( document ); - - -var rparentsprev = /^(?:parents|prev(?:Until|All))/, - - // Methods guaranteed to produce a unique set when starting from a unique set - guaranteedUnique = { - children: true, - contents: true, - next: true, - prev: true - }; - -jQuery.fn.extend( { - has: function( target ) { - var targets = jQuery( target, this ), - l = targets.length; - - return this.filter( function() { - var i = 0; - for ( ; i < l; i++ ) { - if ( jQuery.contains( this, targets[ i ] ) ) { - return true; - } - } - } ); - }, - - closest: function( selectors, context ) { - var cur, - i = 0, - l = this.length, - matched = [], - targets = typeof selectors !== "string" && jQuery( selectors ); - - // Positional selectors never match, since there's no _selection_ context - if ( !rneedsContext.test( selectors ) ) { - for ( ; i < l; i++ ) { - for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { - - // Always skip document fragments - if ( cur.nodeType < 11 && ( targets ? - targets.index( cur ) > -1 : - - // Don't pass non-elements to Sizzle - cur.nodeType === 1 && - jQuery.find.matchesSelector( cur, selectors ) ) ) { - - matched.push( cur ); - break; - } - } - } - } - - return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); - }, - - // Determine the position of an element within the set - index: function( elem ) { - - // No argument, return index in parent - if ( !elem ) { - return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; - } - - // Index in selector - if ( typeof elem === "string" ) { - return indexOf.call( jQuery( elem ), this[ 0 ] ); - } - - // Locate the position of the desired element - return indexOf.call( this, - - // If it receives a jQuery object, the first element is used - elem.jquery ? elem[ 0 ] : elem - ); - }, - - add: function( selector, context ) { - return this.pushStack( - jQuery.uniqueSort( - jQuery.merge( this.get(), jQuery( selector, context ) ) - ) - ); - }, - - addBack: function( selector ) { - return this.add( selector == null ? - this.prevObject : this.prevObject.filter( selector ) - ); - } -} ); - -function sibling( cur, dir ) { - while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} - return cur; -} - -jQuery.each( { - parent: function( elem ) { - var parent = elem.parentNode; - return parent && parent.nodeType !== 11 ? parent : null; - }, - parents: function( elem ) { - return dir( elem, "parentNode" ); - }, - parentsUntil: function( elem, _i, until ) { - return dir( elem, "parentNode", until ); - }, - next: function( elem ) { - return sibling( elem, "nextSibling" ); - }, - prev: function( elem ) { - return sibling( elem, "previousSibling" ); - }, - nextAll: function( elem ) { - return dir( elem, "nextSibling" ); - }, - prevAll: function( elem ) { - return dir( elem, "previousSibling" ); - }, - nextUntil: function( elem, _i, until ) { - return dir( elem, "nextSibling", until ); - }, - prevUntil: function( elem, _i, until ) { - return dir( elem, "previousSibling", until ); - }, - siblings: function( elem ) { - return siblings( ( elem.parentNode || {} ).firstChild, elem ); - }, - children: function( elem ) { - return siblings( elem.firstChild ); - }, - contents: function( elem ) { - if ( elem.contentDocument != null && - - // Support: IE 11+ - // <object> elements with no `data` attribute has an object - // `contentDocument` with a `null` prototype. - getProto( elem.contentDocument ) ) { - - return elem.contentDocument; - } - - // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only - // Treat the template element as a regular one in browsers that - // don't support it. - if ( nodeName( elem, "template" ) ) { - elem = elem.content || elem; - } - - return jQuery.merge( [], elem.childNodes ); - } -}, function( name, fn ) { - jQuery.fn[ name ] = function( until, selector ) { - var matched = jQuery.map( this, fn, until ); - - if ( name.slice( -5 ) !== "Until" ) { - selector = until; - } - - if ( selector && typeof selector === "string" ) { - matched = jQuery.filter( selector, matched ); - } - - if ( this.length > 1 ) { - - // Remove duplicates - if ( !guaranteedUnique[ name ] ) { - jQuery.uniqueSort( matched ); - } - - // Reverse order for parents* and prev-derivatives - if ( rparentsprev.test( name ) ) { - matched.reverse(); - } - } - - return this.pushStack( matched ); - }; -} ); -var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); - - - -// Convert String-formatted options into Object-formatted ones -function createOptions( options ) { - var object = {}; - jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { - object[ flag ] = true; - } ); - return object; -} - -/* - * Create a callback list using the following parameters: - * - * options: an optional list of space-separated options that will change how - * the callback list behaves or a more traditional option object - * - * By default a callback list will act like an event callback list and can be - * "fired" multiple times. - * - * Possible options: - * - * once: will ensure the callback list can only be fired once (like a Deferred) - * - * memory: will keep track of previous values and will call any callback added - * after the list has been fired right away with the latest "memorized" - * values (like a Deferred) - * - * unique: will ensure a callback can only be added once (no duplicate in the list) - * - * stopOnFalse: interrupt callings when a callback returns false - * - */ -jQuery.Callbacks = function( options ) { - - // Convert options from String-formatted to Object-formatted if needed - // (we check in cache first) - options = typeof options === "string" ? - createOptions( options ) : - jQuery.extend( {}, options ); - - var // Flag to know if list is currently firing - firing, - - // Last fire value for non-forgettable lists - memory, - - // Flag to know if list was already fired - fired, - - // Flag to prevent firing - locked, - - // Actual callback list - list = [], - - // Queue of execution data for repeatable lists - queue = [], - - // Index of currently firing callback (modified by add/remove as needed) - firingIndex = -1, - - // Fire callbacks - fire = function() { - - // Enforce single-firing - locked = locked || options.once; - - // Execute callbacks for all pending executions, - // respecting firingIndex overrides and runtime changes - fired = firing = true; - for ( ; queue.length; firingIndex = -1 ) { - memory = queue.shift(); - while ( ++firingIndex < list.length ) { - - // Run callback and check for early termination - if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && - options.stopOnFalse ) { - - // Jump to end and forget the data so .add doesn't re-fire - firingIndex = list.length; - memory = false; - } - } - } - - // Forget the data if we're done with it - if ( !options.memory ) { - memory = false; - } - - firing = false; - - // Clean up if we're done firing for good - if ( locked ) { - - // Keep an empty list if we have data for future add calls - if ( memory ) { - list = []; - - // Otherwise, this object is spent - } else { - list = ""; - } - } - }, - - // Actual Callbacks object - self = { - - // Add a callback or a collection of callbacks to the list - add: function() { - if ( list ) { - - // If we have memory from a past run, we should fire after adding - if ( memory && !firing ) { - firingIndex = list.length - 1; - queue.push( memory ); - } - - ( function add( args ) { - jQuery.each( args, function( _, arg ) { - if ( isFunction( arg ) ) { - if ( !options.unique || !self.has( arg ) ) { - list.push( arg ); - } - } else if ( arg && arg.length && toType( arg ) !== "string" ) { - - // Inspect recursively - add( arg ); - } - } ); - } )( arguments ); - - if ( memory && !firing ) { - fire(); - } - } - return this; - }, - - // Remove a callback from the list - remove: function() { - jQuery.each( arguments, function( _, arg ) { - var index; - while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { - list.splice( index, 1 ); - - // Handle firing indexes - if ( index <= firingIndex ) { - firingIndex--; - } - } - } ); - return this; - }, - - // Check if a given callback is in the list. - // If no argument is given, return whether or not list has callbacks attached. - has: function( fn ) { - return fn ? - jQuery.inArray( fn, list ) > -1 : - list.length > 0; - }, - - // Remove all callbacks from the list - empty: function() { - if ( list ) { - list = []; - } - return this; - }, - - // Disable .fire and .add - // Abort any current/pending executions - // Clear all callbacks and values - disable: function() { - locked = queue = []; - list = memory = ""; - return this; - }, - disabled: function() { - return !list; - }, - - // Disable .fire - // Also disable .add unless we have memory (since it would have no effect) - // Abort any pending executions - lock: function() { - locked = queue = []; - if ( !memory && !firing ) { - list = memory = ""; - } - return this; - }, - locked: function() { - return !!locked; - }, - - // Call all callbacks with the given context and arguments - fireWith: function( context, args ) { - if ( !locked ) { - args = args || []; - args = [ context, args.slice ? args.slice() : args ]; - queue.push( args ); - if ( !firing ) { - fire(); - } - } - return this; - }, - - // Call all the callbacks with the given arguments - fire: function() { - self.fireWith( this, arguments ); - return this; - }, - - // To know if the callbacks have already been called at least once - fired: function() { - return !!fired; - } - }; - - return self; -}; - - -function Identity( v ) { - return v; -} -function Thrower( ex ) { - throw ex; -} - -function adoptValue( value, resolve, reject, noValue ) { - var method; - - try { - - // Check for promise aspect first to privilege synchronous behavior - if ( value && isFunction( ( method = value.promise ) ) ) { - method.call( value ).done( resolve ).fail( reject ); - - // Other thenables - } else if ( value && isFunction( ( method = value.then ) ) ) { - method.call( value, resolve, reject ); - - // Other non-thenables - } else { - - // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: - // * false: [ value ].slice( 0 ) => resolve( value ) - // * true: [ value ].slice( 1 ) => resolve() - resolve.apply( undefined, [ value ].slice( noValue ) ); - } - - // For Promises/A+, convert exceptions into rejections - // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in - // Deferred#then to conditionally suppress rejection. - } catch ( value ) { - - // Support: Android 4.0 only - // Strict mode functions invoked without .call/.apply get global-object context - reject.apply( undefined, [ value ] ); - } -} - -jQuery.extend( { - - Deferred: function( func ) { - var tuples = [ - - // action, add listener, callbacks, - // ... .then handlers, argument index, [final state] - [ "notify", "progress", jQuery.Callbacks( "memory" ), - jQuery.Callbacks( "memory" ), 2 ], - [ "resolve", "done", jQuery.Callbacks( "once memory" ), - jQuery.Callbacks( "once memory" ), 0, "resolved" ], - [ "reject", "fail", jQuery.Callbacks( "once memory" ), - jQuery.Callbacks( "once memory" ), 1, "rejected" ] - ], - state = "pending", - promise = { - state: function() { - return state; - }, - always: function() { - deferred.done( arguments ).fail( arguments ); - return this; - }, - "catch": function( fn ) { - return promise.then( null, fn ); - }, - - // Keep pipe for back-compat - pipe: function( /* fnDone, fnFail, fnProgress */ ) { - var fns = arguments; - - return jQuery.Deferred( function( newDefer ) { - jQuery.each( tuples, function( _i, tuple ) { - - // Map tuples (progress, done, fail) to arguments (done, fail, progress) - var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; - - // deferred.progress(function() { bind to newDefer or newDefer.notify }) - // deferred.done(function() { bind to newDefer or newDefer.resolve }) - // deferred.fail(function() { bind to newDefer or newDefer.reject }) - deferred[ tuple[ 1 ] ]( function() { - var returned = fn && fn.apply( this, arguments ); - if ( returned && isFunction( returned.promise ) ) { - returned.promise() - .progress( newDefer.notify ) - .done( newDefer.resolve ) - .fail( newDefer.reject ); - } else { - newDefer[ tuple[ 0 ] + "With" ]( - this, - fn ? [ returned ] : arguments - ); - } - } ); - } ); - fns = null; - } ).promise(); - }, - then: function( onFulfilled, onRejected, onProgress ) { - var maxDepth = 0; - function resolve( depth, deferred, handler, special ) { - return function() { - var that = this, - args = arguments, - mightThrow = function() { - var returned, then; - - // Support: Promises/A+ section 2.3.3.3.3 - // https://promisesaplus.com/#point-59 - // Ignore double-resolution attempts - if ( depth < maxDepth ) { - return; - } - - returned = handler.apply( that, args ); - - // Support: Promises/A+ section 2.3.1 - // https://promisesaplus.com/#point-48 - if ( returned === deferred.promise() ) { - throw new TypeError( "Thenable self-resolution" ); - } - - // Support: Promises/A+ sections 2.3.3.1, 3.5 - // https://promisesaplus.com/#point-54 - // https://promisesaplus.com/#point-75 - // Retrieve `then` only once - then = returned && - - // Support: Promises/A+ section 2.3.4 - // https://promisesaplus.com/#point-64 - // Only check objects and functions for thenability - ( typeof returned === "object" || - typeof returned === "function" ) && - returned.then; - - // Handle a returned thenable - if ( isFunction( then ) ) { - - // Special processors (notify) just wait for resolution - if ( special ) { - then.call( - returned, - resolve( maxDepth, deferred, Identity, special ), - resolve( maxDepth, deferred, Thrower, special ) - ); - - // Normal processors (resolve) also hook into progress - } else { - - // ...and disregard older resolution values - maxDepth++; - - then.call( - returned, - resolve( maxDepth, deferred, Identity, special ), - resolve( maxDepth, deferred, Thrower, special ), - resolve( maxDepth, deferred, Identity, - deferred.notifyWith ) - ); - } - - // Handle all other returned values - } else { - - // Only substitute handlers pass on context - // and multiple values (non-spec behavior) - if ( handler !== Identity ) { - that = undefined; - args = [ returned ]; - } - - // Process the value(s) - // Default process is resolve - ( special || deferred.resolveWith )( that, args ); - } - }, - - // Only normal processors (resolve) catch and reject exceptions - process = special ? - mightThrow : - function() { - try { - mightThrow(); - } catch ( e ) { - - if ( jQuery.Deferred.exceptionHook ) { - jQuery.Deferred.exceptionHook( e, - process.stackTrace ); - } - - // Support: Promises/A+ section 2.3.3.3.4.1 - // https://promisesaplus.com/#point-61 - // Ignore post-resolution exceptions - if ( depth + 1 >= maxDepth ) { - - // Only substitute handlers pass on context - // and multiple values (non-spec behavior) - if ( handler !== Thrower ) { - that = undefined; - args = [ e ]; - } - - deferred.rejectWith( that, args ); - } - } - }; - - // Support: Promises/A+ section 2.3.3.3.1 - // https://promisesaplus.com/#point-57 - // Re-resolve promises immediately to dodge false rejection from - // subsequent errors - if ( depth ) { - process(); - } else { - - // Call an optional hook to record the stack, in case of exception - // since it's otherwise lost when execution goes async - if ( jQuery.Deferred.getStackHook ) { - process.stackTrace = jQuery.Deferred.getStackHook(); - } - window.setTimeout( process ); - } - }; - } - - return jQuery.Deferred( function( newDefer ) { - - // progress_handlers.add( ... ) - tuples[ 0 ][ 3 ].add( - resolve( - 0, - newDefer, - isFunction( onProgress ) ? - onProgress : - Identity, - newDefer.notifyWith - ) - ); - - // fulfilled_handlers.add( ... ) - tuples[ 1 ][ 3 ].add( - resolve( - 0, - newDefer, - isFunction( onFulfilled ) ? - onFulfilled : - Identity - ) - ); - - // rejected_handlers.add( ... ) - tuples[ 2 ][ 3 ].add( - resolve( - 0, - newDefer, - isFunction( onRejected ) ? - onRejected : - Thrower - ) - ); - } ).promise(); - }, - - // Get a promise for this deferred - // If obj is provided, the promise aspect is added to the object - promise: function( obj ) { - return obj != null ? jQuery.extend( obj, promise ) : promise; - } - }, - deferred = {}; - - // Add list-specific methods - jQuery.each( tuples, function( i, tuple ) { - var list = tuple[ 2 ], - stateString = tuple[ 5 ]; - - // promise.progress = list.add - // promise.done = list.add - // promise.fail = list.add - promise[ tuple[ 1 ] ] = list.add; - - // Handle state - if ( stateString ) { - list.add( - function() { - - // state = "resolved" (i.e., fulfilled) - // state = "rejected" - state = stateString; - }, - - // rejected_callbacks.disable - // fulfilled_callbacks.disable - tuples[ 3 - i ][ 2 ].disable, - - // rejected_handlers.disable - // fulfilled_handlers.disable - tuples[ 3 - i ][ 3 ].disable, - - // progress_callbacks.lock - tuples[ 0 ][ 2 ].lock, - - // progress_handlers.lock - tuples[ 0 ][ 3 ].lock - ); - } - - // progress_handlers.fire - // fulfilled_handlers.fire - // rejected_handlers.fire - list.add( tuple[ 3 ].fire ); - - // deferred.notify = function() { deferred.notifyWith(...) } - // deferred.resolve = function() { deferred.resolveWith(...) } - // deferred.reject = function() { deferred.rejectWith(...) } - deferred[ tuple[ 0 ] ] = function() { - deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); - return this; - }; - - // deferred.notifyWith = list.fireWith - // deferred.resolveWith = list.fireWith - // deferred.rejectWith = list.fireWith - deferred[ tuple[ 0 ] + "With" ] = list.fireWith; - } ); - - // Make the deferred a promise - promise.promise( deferred ); - - // Call given func if any - if ( func ) { - func.call( deferred, deferred ); - } - - // All done! - return deferred; - }, - - // Deferred helper - when: function( singleValue ) { - var - - // count of uncompleted subordinates - remaining = arguments.length, - - // count of unprocessed arguments - i = remaining, - - // subordinate fulfillment data - resolveContexts = Array( i ), - resolveValues = slice.call( arguments ), - - // the master Deferred - master = jQuery.Deferred(), - - // subordinate callback factory - updateFunc = function( i ) { - return function( value ) { - resolveContexts[ i ] = this; - resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; - if ( !( --remaining ) ) { - master.resolveWith( resolveContexts, resolveValues ); - } - }; - }; - - // Single- and empty arguments are adopted like Promise.resolve - if ( remaining <= 1 ) { - adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject, - !remaining ); - - // Use .then() to unwrap secondary thenables (cf. gh-3000) - if ( master.state() === "pending" || - isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { - - return master.then(); - } - } - - // Multiple arguments are aggregated like Promise.all array elements - while ( i-- ) { - adoptValue( resolveValues[ i ], updateFunc( i ), master.reject ); - } - - return master.promise(); - } -} ); - - -// These usually indicate a programmer mistake during development, -// warn about them ASAP rather than swallowing them by default. -var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; - -jQuery.Deferred.exceptionHook = function( error, stack ) { - - // Support: IE 8 - 9 only - // Console exists when dev tools are open, which can happen at any time - if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { - window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); - } -}; - - - - -jQuery.readyException = function( error ) { - window.setTimeout( function() { - throw error; - } ); -}; - - - - -// The deferred used on DOM ready -var readyList = jQuery.Deferred(); - -jQuery.fn.ready = function( fn ) { - - readyList - .then( fn ) - - // Wrap jQuery.readyException in a function so that the lookup - // happens at the time of error handling instead of callback - // registration. - .catch( function( error ) { - jQuery.readyException( error ); - } ); - - return this; -}; - -jQuery.extend( { - - // Is the DOM ready to be used? Set to true once it occurs. - isReady: false, - - // A counter to track how many items to wait for before - // the ready event fires. See #6781 - readyWait: 1, - - // Handle when the DOM is ready - ready: function( wait ) { - - // Abort if there are pending holds or we're already ready - if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { - return; - } - - // Remember that the DOM is ready - jQuery.isReady = true; - - // If a normal DOM Ready event fired, decrement, and wait if need be - if ( wait !== true && --jQuery.readyWait > 0 ) { - return; - } - - // If there are functions bound, to execute - readyList.resolveWith( document, [ jQuery ] ); - } -} ); - -jQuery.ready.then = readyList.then; - -// The ready event handler and self cleanup method -function completed() { - document.removeEventListener( "DOMContentLoaded", completed ); - window.removeEventListener( "load", completed ); - jQuery.ready(); -} - -// Catch cases where $(document).ready() is called -// after the browser event has already occurred. -// Support: IE <=9 - 10 only -// Older IE sometimes signals "interactive" too soon -if ( document.readyState === "complete" || - ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { - - // Handle it asynchronously to allow scripts the opportunity to delay ready - window.setTimeout( jQuery.ready ); - -} else { - - // Use the handy event callback - document.addEventListener( "DOMContentLoaded", completed ); - - // A fallback to window.onload, that will always work - window.addEventListener( "load", completed ); -} - - - - -// Multifunctional method to get and set values of a collection -// The value/s can optionally be executed if it's a function -var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { - var i = 0, - len = elems.length, - bulk = key == null; - - // Sets many values - if ( toType( key ) === "object" ) { - chainable = true; - for ( i in key ) { - access( elems, fn, i, key[ i ], true, emptyGet, raw ); - } - - // Sets one value - } else if ( value !== undefined ) { - chainable = true; - - if ( !isFunction( value ) ) { - raw = true; - } - - if ( bulk ) { - - // Bulk operations run against the entire set - if ( raw ) { - fn.call( elems, value ); - fn = null; - - // ...except when executing function values - } else { - bulk = fn; - fn = function( elem, _key, value ) { - return bulk.call( jQuery( elem ), value ); - }; - } - } - - if ( fn ) { - for ( ; i < len; i++ ) { - fn( - elems[ i ], key, raw ? - value : - value.call( elems[ i ], i, fn( elems[ i ], key ) ) - ); - } - } - } - - if ( chainable ) { - return elems; - } - - // Gets - if ( bulk ) { - return fn.call( elems ); - } - - return len ? fn( elems[ 0 ], key ) : emptyGet; -}; - - -// Matches dashed string for camelizing -var rmsPrefix = /^-ms-/, - rdashAlpha = /-([a-z])/g; - -// Used by camelCase as callback to replace() -function fcamelCase( _all, letter ) { - return letter.toUpperCase(); -} - -// Convert dashed to camelCase; used by the css and data modules -// Support: IE <=9 - 11, Edge 12 - 15 -// Microsoft forgot to hump their vendor prefix (#9572) -function camelCase( string ) { - return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); -} -var acceptData = function( owner ) { - - // Accepts only: - // - Node - // - Node.ELEMENT_NODE - // - Node.DOCUMENT_NODE - // - Object - // - Any - return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); -}; - - - - -function Data() { - this.expando = jQuery.expando + Data.uid++; -} - -Data.uid = 1; - -Data.prototype = { - - cache: function( owner ) { - - // Check if the owner object already has a cache - var value = owner[ this.expando ]; - - // If not, create one - if ( !value ) { - value = {}; - - // We can accept data for non-element nodes in modern browsers, - // but we should not, see #8335. - // Always return an empty object. - if ( acceptData( owner ) ) { - - // If it is a node unlikely to be stringify-ed or looped over - // use plain assignment - if ( owner.nodeType ) { - owner[ this.expando ] = value; - - // Otherwise secure it in a non-enumerable property - // configurable must be true to allow the property to be - // deleted when data is removed - } else { - Object.defineProperty( owner, this.expando, { - value: value, - configurable: true - } ); - } - } - } - - return value; - }, - set: function( owner, data, value ) { - var prop, - cache = this.cache( owner ); - - // Handle: [ owner, key, value ] args - // Always use camelCase key (gh-2257) - if ( typeof data === "string" ) { - cache[ camelCase( data ) ] = value; - - // Handle: [ owner, { properties } ] args - } else { - - // Copy the properties one-by-one to the cache object - for ( prop in data ) { - cache[ camelCase( prop ) ] = data[ prop ]; - } - } - return cache; - }, - get: function( owner, key ) { - return key === undefined ? - this.cache( owner ) : - - // Always use camelCase key (gh-2257) - owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ]; - }, - access: function( owner, key, value ) { - - // In cases where either: - // - // 1. No key was specified - // 2. A string key was specified, but no value provided - // - // Take the "read" path and allow the get method to determine - // which value to return, respectively either: - // - // 1. The entire cache object - // 2. The data stored at the key - // - if ( key === undefined || - ( ( key && typeof key === "string" ) && value === undefined ) ) { - - return this.get( owner, key ); - } - - // When the key is not a string, or both a key and value - // are specified, set or extend (existing objects) with either: - // - // 1. An object of properties - // 2. A key and value - // - this.set( owner, key, value ); - - // Since the "set" path can have two possible entry points - // return the expected data based on which path was taken[*] - return value !== undefined ? value : key; - }, - remove: function( owner, key ) { - var i, - cache = owner[ this.expando ]; - - if ( cache === undefined ) { - return; - } - - if ( key !== undefined ) { - - // Support array or space separated string of keys - if ( Array.isArray( key ) ) { - - // If key is an array of keys... - // We always set camelCase keys, so remove that. - key = key.map( camelCase ); - } else { - key = camelCase( key ); - - // If a key with the spaces exists, use it. - // Otherwise, create an array by matching non-whitespace - key = key in cache ? - [ key ] : - ( key.match( rnothtmlwhite ) || [] ); - } - - i = key.length; - - while ( i-- ) { - delete cache[ key[ i ] ]; - } - } - - // Remove the expando if there's no more data - if ( key === undefined || jQuery.isEmptyObject( cache ) ) { - - // Support: Chrome <=35 - 45 - // Webkit & Blink performance suffers when deleting properties - // from DOM nodes, so set to undefined instead - // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) - if ( owner.nodeType ) { - owner[ this.expando ] = undefined; - } else { - delete owner[ this.expando ]; - } - } - }, - hasData: function( owner ) { - var cache = owner[ this.expando ]; - return cache !== undefined && !jQuery.isEmptyObject( cache ); - } -}; -var dataPriv = new Data(); - -var dataUser = new Data(); - - - -// Implementation Summary -// -// 1. Enforce API surface and semantic compatibility with 1.9.x branch -// 2. Improve the module's maintainability by reducing the storage -// paths to a single mechanism. -// 3. Use the same single mechanism to support "private" and "user" data. -// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) -// 5. Avoid exposing implementation details on user objects (eg. expando properties) -// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 - -var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, - rmultiDash = /[A-Z]/g; - -function getData( data ) { - if ( data === "true" ) { - return true; - } - - if ( data === "false" ) { - return false; - } - - if ( data === "null" ) { - return null; - } - - // Only convert to a number if it doesn't change the string - if ( data === +data + "" ) { - return +data; - } - - if ( rbrace.test( data ) ) { - return JSON.parse( data ); - } - - return data; -} - -function dataAttr( elem, key, data ) { - var name; - - // If nothing was found internally, try to fetch any - // data from the HTML5 data-* attribute - if ( data === undefined && elem.nodeType === 1 ) { - name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); - data = elem.getAttribute( name ); - - if ( typeof data === "string" ) { - try { - data = getData( data ); - } catch ( e ) {} - - // Make sure we set the data so it isn't changed later - dataUser.set( elem, key, data ); - } else { - data = undefined; - } - } - return data; -} - -jQuery.extend( { - hasData: function( elem ) { - return dataUser.hasData( elem ) || dataPriv.hasData( elem ); - }, - - data: function( elem, name, data ) { - return dataUser.access( elem, name, data ); - }, - - removeData: function( elem, name ) { - dataUser.remove( elem, name ); - }, - - // TODO: Now that all calls to _data and _removeData have been replaced - // with direct calls to dataPriv methods, these can be deprecated. - _data: function( elem, name, data ) { - return dataPriv.access( elem, name, data ); - }, - - _removeData: function( elem, name ) { - dataPriv.remove( elem, name ); - } -} ); - -jQuery.fn.extend( { - data: function( key, value ) { - var i, name, data, - elem = this[ 0 ], - attrs = elem && elem.attributes; - - // Gets all values - if ( key === undefined ) { - if ( this.length ) { - data = dataUser.get( elem ); - - if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { - i = attrs.length; - while ( i-- ) { - - // Support: IE 11 only - // The attrs elements can be null (#14894) - if ( attrs[ i ] ) { - name = attrs[ i ].name; - if ( name.indexOf( "data-" ) === 0 ) { - name = camelCase( name.slice( 5 ) ); - dataAttr( elem, name, data[ name ] ); - } - } - } - dataPriv.set( elem, "hasDataAttrs", true ); - } - } - - return data; - } - - // Sets multiple values - if ( typeof key === "object" ) { - return this.each( function() { - dataUser.set( this, key ); - } ); - } - - return access( this, function( value ) { - var data; - - // The calling jQuery object (element matches) is not empty - // (and therefore has an element appears at this[ 0 ]) and the - // `value` parameter was not undefined. An empty jQuery object - // will result in `undefined` for elem = this[ 0 ] which will - // throw an exception if an attempt to read a data cache is made. - if ( elem && value === undefined ) { - - // Attempt to get data from the cache - // The key will always be camelCased in Data - data = dataUser.get( elem, key ); - if ( data !== undefined ) { - return data; - } - - // Attempt to "discover" the data in - // HTML5 custom data-* attrs - data = dataAttr( elem, key ); - if ( data !== undefined ) { - return data; - } - - // We tried really hard, but the data doesn't exist. - return; - } - - // Set the data... - this.each( function() { - - // We always store the camelCased key - dataUser.set( this, key, value ); - } ); - }, null, value, arguments.length > 1, null, true ); - }, - - removeData: function( key ) { - return this.each( function() { - dataUser.remove( this, key ); - } ); - } -} ); - - -jQuery.extend( { - queue: function( elem, type, data ) { - var queue; - - if ( elem ) { - type = ( type || "fx" ) + "queue"; - queue = dataPriv.get( elem, type ); - - // Speed up dequeue by getting out quickly if this is just a lookup - if ( data ) { - if ( !queue || Array.isArray( data ) ) { - queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); - } else { - queue.push( data ); - } - } - return queue || []; - } - }, - - dequeue: function( elem, type ) { - type = type || "fx"; - - var queue = jQuery.queue( elem, type ), - startLength = queue.length, - fn = queue.shift(), - hooks = jQuery._queueHooks( elem, type ), - next = function() { - jQuery.dequeue( elem, type ); - }; - - // If the fx queue is dequeued, always remove the progress sentinel - if ( fn === "inprogress" ) { - fn = queue.shift(); - startLength--; - } - - if ( fn ) { - - // Add a progress sentinel to prevent the fx queue from being - // automatically dequeued - if ( type === "fx" ) { - queue.unshift( "inprogress" ); - } - - // Clear up the last queue stop function - delete hooks.stop; - fn.call( elem, next, hooks ); - } - - if ( !startLength && hooks ) { - hooks.empty.fire(); - } - }, - - // Not public - generate a queueHooks object, or return the current one - _queueHooks: function( elem, type ) { - var key = type + "queueHooks"; - return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { - empty: jQuery.Callbacks( "once memory" ).add( function() { - dataPriv.remove( elem, [ type + "queue", key ] ); - } ) - } ); - } -} ); - -jQuery.fn.extend( { - queue: function( type, data ) { - var setter = 2; - - if ( typeof type !== "string" ) { - data = type; - type = "fx"; - setter--; - } - - if ( arguments.length < setter ) { - return jQuery.queue( this[ 0 ], type ); - } - - return data === undefined ? - this : - this.each( function() { - var queue = jQuery.queue( this, type, data ); - - // Ensure a hooks for this queue - jQuery._queueHooks( this, type ); - - if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { - jQuery.dequeue( this, type ); - } - } ); - }, - dequeue: function( type ) { - return this.each( function() { - jQuery.dequeue( this, type ); - } ); - }, - clearQueue: function( type ) { - return this.queue( type || "fx", [] ); - }, - - // Get a promise resolved when queues of a certain type - // are emptied (fx is the type by default) - promise: function( type, obj ) { - var tmp, - count = 1, - defer = jQuery.Deferred(), - elements = this, - i = this.length, - resolve = function() { - if ( !( --count ) ) { - defer.resolveWith( elements, [ elements ] ); - } - }; - - if ( typeof type !== "string" ) { - obj = type; - type = undefined; - } - type = type || "fx"; - - while ( i-- ) { - tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); - if ( tmp && tmp.empty ) { - count++; - tmp.empty.add( resolve ); - } - } - resolve(); - return defer.promise( obj ); - } -} ); -var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; - -var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); - - -var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; - -var documentElement = document.documentElement; - - - - var isAttached = function( elem ) { - return jQuery.contains( elem.ownerDocument, elem ); - }, - composed = { composed: true }; - - // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only - // Check attachment across shadow DOM boundaries when possible (gh-3504) - // Support: iOS 10.0-10.2 only - // Early iOS 10 versions support `attachShadow` but not `getRootNode`, - // leading to errors. We need to check for `getRootNode`. - if ( documentElement.getRootNode ) { - isAttached = function( elem ) { - return jQuery.contains( elem.ownerDocument, elem ) || - elem.getRootNode( composed ) === elem.ownerDocument; - }; - } -var isHiddenWithinTree = function( elem, el ) { - - // isHiddenWithinTree might be called from jQuery#filter function; - // in that case, element will be second argument - elem = el || elem; - - // Inline style trumps all - return elem.style.display === "none" || - elem.style.display === "" && - - // Otherwise, check computed style - // Support: Firefox <=43 - 45 - // Disconnected elements can have computed display: none, so first confirm that elem is - // in the document. - isAttached( elem ) && - - jQuery.css( elem, "display" ) === "none"; - }; - - - -function adjustCSS( elem, prop, valueParts, tween ) { - var adjusted, scale, - maxIterations = 20, - currentValue = tween ? - function() { - return tween.cur(); - } : - function() { - return jQuery.css( elem, prop, "" ); - }, - initial = currentValue(), - unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), - - // Starting value computation is required for potential unit mismatches - initialInUnit = elem.nodeType && - ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && - rcssNum.exec( jQuery.css( elem, prop ) ); - - if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { - - // Support: Firefox <=54 - // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) - initial = initial / 2; - - // Trust units reported by jQuery.css - unit = unit || initialInUnit[ 3 ]; - - // Iteratively approximate from a nonzero starting point - initialInUnit = +initial || 1; - - while ( maxIterations-- ) { - - // Evaluate and update our best guess (doubling guesses that zero out). - // Finish if the scale equals or crosses 1 (making the old*new product non-positive). - jQuery.style( elem, prop, initialInUnit + unit ); - if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) { - maxIterations = 0; - } - initialInUnit = initialInUnit / scale; - - } - - initialInUnit = initialInUnit * 2; - jQuery.style( elem, prop, initialInUnit + unit ); - - // Make sure we update the tween properties later on - valueParts = valueParts || []; - } - - if ( valueParts ) { - initialInUnit = +initialInUnit || +initial || 0; - - // Apply relative offset (+=/-=) if specified - adjusted = valueParts[ 1 ] ? - initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : - +valueParts[ 2 ]; - if ( tween ) { - tween.unit = unit; - tween.start = initialInUnit; - tween.end = adjusted; - } - } - return adjusted; -} - - -var defaultDisplayMap = {}; - -function getDefaultDisplay( elem ) { - var temp, - doc = elem.ownerDocument, - nodeName = elem.nodeName, - display = defaultDisplayMap[ nodeName ]; - - if ( display ) { - return display; - } - - temp = doc.body.appendChild( doc.createElement( nodeName ) ); - display = jQuery.css( temp, "display" ); - - temp.parentNode.removeChild( temp ); - - if ( display === "none" ) { - display = "block"; - } - defaultDisplayMap[ nodeName ] = display; - - return display; -} - -function showHide( elements, show ) { - var display, elem, - values = [], - index = 0, - length = elements.length; - - // Determine new display value for elements that need to change - for ( ; index < length; index++ ) { - elem = elements[ index ]; - if ( !elem.style ) { - continue; - } - - display = elem.style.display; - if ( show ) { - - // Since we force visibility upon cascade-hidden elements, an immediate (and slow) - // check is required in this first loop unless we have a nonempty display value (either - // inline or about-to-be-restored) - if ( display === "none" ) { - values[ index ] = dataPriv.get( elem, "display" ) || null; - if ( !values[ index ] ) { - elem.style.display = ""; - } - } - if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { - values[ index ] = getDefaultDisplay( elem ); - } - } else { - if ( display !== "none" ) { - values[ index ] = "none"; - - // Remember what we're overwriting - dataPriv.set( elem, "display", display ); - } - } - } - - // Set the display of the elements in a second loop to avoid constant reflow - for ( index = 0; index < length; index++ ) { - if ( values[ index ] != null ) { - elements[ index ].style.display = values[ index ]; - } - } - - return elements; -} - -jQuery.fn.extend( { - show: function() { - return showHide( this, true ); - }, - hide: function() { - return showHide( this ); - }, - toggle: function( state ) { - if ( typeof state === "boolean" ) { - return state ? this.show() : this.hide(); - } - - return this.each( function() { - if ( isHiddenWithinTree( this ) ) { - jQuery( this ).show(); - } else { - jQuery( this ).hide(); - } - } ); - } -} ); -var rcheckableType = ( /^(?:checkbox|radio)$/i ); - -var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i ); - -var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); - - - -( function() { - var fragment = document.createDocumentFragment(), - div = fragment.appendChild( document.createElement( "div" ) ), - input = document.createElement( "input" ); - - // Support: Android 4.0 - 4.3 only - // Check state lost if the name is set (#11217) - // Support: Windows Web Apps (WWA) - // `name` and `type` must use .setAttribute for WWA (#14901) - input.setAttribute( "type", "radio" ); - input.setAttribute( "checked", "checked" ); - input.setAttribute( "name", "t" ); - - div.appendChild( input ); - - // Support: Android <=4.1 only - // Older WebKit doesn't clone checked state correctly in fragments - support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; - - // Support: IE <=11 only - // Make sure textarea (and checkbox) defaultValue is properly cloned - div.innerHTML = "<textarea>x</textarea>"; - support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; - - // Support: IE <=9 only - // IE <=9 replaces <option> tags with their contents when inserted outside of - // the select element. - div.innerHTML = "<option></option>"; - support.option = !!div.lastChild; -} )(); - - -// We have to close these tags to support XHTML (#13200) -var wrapMap = { - - // XHTML parsers do not magically insert elements in the - // same way that tag soup parsers do. So we cannot shorten - // this by omitting <tbody> or other required elements. - thead: [ 1, "<table>", "</table>" ], - col: [ 2, "<table><colgroup>", "</colgroup></table>" ], - tr: [ 2, "<table><tbody>", "</tbody></table>" ], - td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ], - - _default: [ 0, "", "" ] -}; - -wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; -wrapMap.th = wrapMap.td; - -// Support: IE <=9 only -if ( !support.option ) { - wrapMap.optgroup = wrapMap.option = [ 1, "<select multiple='multiple'>", "</select>" ]; -} - - -function getAll( context, tag ) { - - // Support: IE <=9 - 11 only - // Use typeof to avoid zero-argument method invocation on host objects (#15151) - var ret; - - if ( typeof context.getElementsByTagName !== "undefined" ) { - ret = context.getElementsByTagName( tag || "*" ); - - } else if ( typeof context.querySelectorAll !== "undefined" ) { - ret = context.querySelectorAll( tag || "*" ); - - } else { - ret = []; - } - - if ( tag === undefined || tag && nodeName( context, tag ) ) { - return jQuery.merge( [ context ], ret ); - } - - return ret; -} - - -// Mark scripts as having already been evaluated -function setGlobalEval( elems, refElements ) { - var i = 0, - l = elems.length; - - for ( ; i < l; i++ ) { - dataPriv.set( - elems[ i ], - "globalEval", - !refElements || dataPriv.get( refElements[ i ], "globalEval" ) - ); - } -} - - -var rhtml = /<|&#?\w+;/; - -function buildFragment( elems, context, scripts, selection, ignored ) { - var elem, tmp, tag, wrap, attached, j, - fragment = context.createDocumentFragment(), - nodes = [], - i = 0, - l = elems.length; - - for ( ; i < l; i++ ) { - elem = elems[ i ]; - - if ( elem || elem === 0 ) { - - // Add nodes directly - if ( toType( elem ) === "object" ) { - - // Support: Android <=4.0 only, PhantomJS 1 only - // push.apply(_, arraylike) throws on ancient WebKit - jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); - - // Convert non-html into a text node - } else if ( !rhtml.test( elem ) ) { - nodes.push( context.createTextNode( elem ) ); - - // Convert html into DOM nodes - } else { - tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); - - // Deserialize a standard representation - tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); - wrap = wrapMap[ tag ] || wrapMap._default; - tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; - - // Descend through wrappers to the right content - j = wrap[ 0 ]; - while ( j-- ) { - tmp = tmp.lastChild; - } - - // Support: Android <=4.0 only, PhantomJS 1 only - // push.apply(_, arraylike) throws on ancient WebKit - jQuery.merge( nodes, tmp.childNodes ); - - // Remember the top-level container - tmp = fragment.firstChild; - - // Ensure the created nodes are orphaned (#12392) - tmp.textContent = ""; - } - } - } - - // Remove wrapper from fragment - fragment.textContent = ""; - - i = 0; - while ( ( elem = nodes[ i++ ] ) ) { - - // Skip elements already in the context collection (trac-4087) - if ( selection && jQuery.inArray( elem, selection ) > -1 ) { - if ( ignored ) { - ignored.push( elem ); - } - continue; - } - - attached = isAttached( elem ); - - // Append to fragment - tmp = getAll( fragment.appendChild( elem ), "script" ); - - // Preserve script evaluation history - if ( attached ) { - setGlobalEval( tmp ); - } - - // Capture executables - if ( scripts ) { - j = 0; - while ( ( elem = tmp[ j++ ] ) ) { - if ( rscriptType.test( elem.type || "" ) ) { - scripts.push( elem ); - } - } - } - } - - return fragment; -} - - -var - rkeyEvent = /^key/, - rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, - rtypenamespace = /^([^.]*)(?:\.(.+)|)/; - -function returnTrue() { - return true; -} - -function returnFalse() { - return false; -} - -// Support: IE <=9 - 11+ -// focus() and blur() are asynchronous, except when they are no-op. -// So expect focus to be synchronous when the element is already active, -// and blur to be synchronous when the element is not already active. -// (focus and blur are always synchronous in other supported browsers, -// this just defines when we can count on it). -function expectSync( elem, type ) { - return ( elem === safeActiveElement() ) === ( type === "focus" ); -} - -// Support: IE <=9 only -// Accessing document.activeElement can throw unexpectedly -// https://bugs.jquery.com/ticket/13393 -function safeActiveElement() { - try { - return document.activeElement; - } catch ( err ) { } -} - -function on( elem, types, selector, data, fn, one ) { - var origFn, type; - - // Types can be a map of types/handlers - if ( typeof types === "object" ) { - - // ( types-Object, selector, data ) - if ( typeof selector !== "string" ) { - - // ( types-Object, data ) - data = data || selector; - selector = undefined; - } - for ( type in types ) { - on( elem, type, selector, data, types[ type ], one ); - } - return elem; - } - - if ( data == null && fn == null ) { - - // ( types, fn ) - fn = selector; - data = selector = undefined; - } else if ( fn == null ) { - if ( typeof selector === "string" ) { - - // ( types, selector, fn ) - fn = data; - data = undefined; - } else { - - // ( types, data, fn ) - fn = data; - data = selector; - selector = undefined; - } - } - if ( fn === false ) { - fn = returnFalse; - } else if ( !fn ) { - return elem; - } - - if ( one === 1 ) { - origFn = fn; - fn = function( event ) { - - // Can use an empty set, since event contains the info - jQuery().off( event ); - return origFn.apply( this, arguments ); - }; - - // Use same guid so caller can remove using origFn - fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); - } - return elem.each( function() { - jQuery.event.add( this, types, fn, data, selector ); - } ); -} - -/* - * Helper functions for managing events -- not part of the public interface. - * Props to Dean Edwards' addEvent library for many of the ideas. - */ -jQuery.event = { - - global: {}, - - add: function( elem, types, handler, data, selector ) { - - var handleObjIn, eventHandle, tmp, - events, t, handleObj, - special, handlers, type, namespaces, origType, - elemData = dataPriv.get( elem ); - - // Only attach events to objects that accept data - if ( !acceptData( elem ) ) { - return; - } - - // Caller can pass in an object of custom data in lieu of the handler - if ( handler.handler ) { - handleObjIn = handler; - handler = handleObjIn.handler; - selector = handleObjIn.selector; - } - - // Ensure that invalid selectors throw exceptions at attach time - // Evaluate against documentElement in case elem is a non-element node (e.g., document) - if ( selector ) { - jQuery.find.matchesSelector( documentElement, selector ); - } - - // Make sure that the handler has a unique ID, used to find/remove it later - if ( !handler.guid ) { - handler.guid = jQuery.guid++; - } - - // Init the element's event structure and main handler, if this is the first - if ( !( events = elemData.events ) ) { - events = elemData.events = Object.create( null ); - } - if ( !( eventHandle = elemData.handle ) ) { - eventHandle = elemData.handle = function( e ) { - - // Discard the second event of a jQuery.event.trigger() and - // when an event is called after a page has unloaded - return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? - jQuery.event.dispatch.apply( elem, arguments ) : undefined; - }; - } - - // Handle multiple events separated by a space - types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; - t = types.length; - while ( t-- ) { - tmp = rtypenamespace.exec( types[ t ] ) || []; - type = origType = tmp[ 1 ]; - namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); - - // There *must* be a type, no attaching namespace-only handlers - if ( !type ) { - continue; - } - - // If event changes its type, use the special event handlers for the changed type - special = jQuery.event.special[ type ] || {}; - - // If selector defined, determine special event api type, otherwise given type - type = ( selector ? special.delegateType : special.bindType ) || type; - - // Update special based on newly reset type - special = jQuery.event.special[ type ] || {}; - - // handleObj is passed to all event handlers - handleObj = jQuery.extend( { - type: type, - origType: origType, - data: data, - handler: handler, - guid: handler.guid, - selector: selector, - needsContext: selector && jQuery.expr.match.needsContext.test( selector ), - namespace: namespaces.join( "." ) - }, handleObjIn ); - - // Init the event handler queue if we're the first - if ( !( handlers = events[ type ] ) ) { - handlers = events[ type ] = []; - handlers.delegateCount = 0; - - // Only use addEventListener if the special events handler returns false - if ( !special.setup || - special.setup.call( elem, data, namespaces, eventHandle ) === false ) { - - if ( elem.addEventListener ) { - elem.addEventListener( type, eventHandle ); - } - } - } - - if ( special.add ) { - special.add.call( elem, handleObj ); - - if ( !handleObj.handler.guid ) { - handleObj.handler.guid = handler.guid; - } - } - - // Add to the element's handler list, delegates in front - if ( selector ) { - handlers.splice( handlers.delegateCount++, 0, handleObj ); - } else { - handlers.push( handleObj ); - } - - // Keep track of which events have ever been used, for event optimization - jQuery.event.global[ type ] = true; - } - - }, - - // Detach an event or set of events from an element - remove: function( elem, types, handler, selector, mappedTypes ) { - - var j, origCount, tmp, - events, t, handleObj, - special, handlers, type, namespaces, origType, - elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); - - if ( !elemData || !( events = elemData.events ) ) { - return; - } - - // Once for each type.namespace in types; type may be omitted - types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; - t = types.length; - while ( t-- ) { - tmp = rtypenamespace.exec( types[ t ] ) || []; - type = origType = tmp[ 1 ]; - namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); - - // Unbind all events (on this namespace, if provided) for the element - if ( !type ) { - for ( type in events ) { - jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); - } - continue; - } - - special = jQuery.event.special[ type ] || {}; - type = ( selector ? special.delegateType : special.bindType ) || type; - handlers = events[ type ] || []; - tmp = tmp[ 2 ] && - new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); - - // Remove matching events - origCount = j = handlers.length; - while ( j-- ) { - handleObj = handlers[ j ]; - - if ( ( mappedTypes || origType === handleObj.origType ) && - ( !handler || handler.guid === handleObj.guid ) && - ( !tmp || tmp.test( handleObj.namespace ) ) && - ( !selector || selector === handleObj.selector || - selector === "**" && handleObj.selector ) ) { - handlers.splice( j, 1 ); - - if ( handleObj.selector ) { - handlers.delegateCount--; - } - if ( special.remove ) { - special.remove.call( elem, handleObj ); - } - } - } - - // Remove generic event handler if we removed something and no more handlers exist - // (avoids potential for endless recursion during removal of special event handlers) - if ( origCount && !handlers.length ) { - if ( !special.teardown || - special.teardown.call( elem, namespaces, elemData.handle ) === false ) { - - jQuery.removeEvent( elem, type, elemData.handle ); - } - - delete events[ type ]; - } - } - - // Remove data and the expando if it's no longer used - if ( jQuery.isEmptyObject( events ) ) { - dataPriv.remove( elem, "handle events" ); - } - }, - - dispatch: function( nativeEvent ) { - - var i, j, ret, matched, handleObj, handlerQueue, - args = new Array( arguments.length ), - - // Make a writable jQuery.Event from the native event object - event = jQuery.event.fix( nativeEvent ), - - handlers = ( - dataPriv.get( this, "events" ) || Object.create( null ) - )[ event.type ] || [], - special = jQuery.event.special[ event.type ] || {}; - - // Use the fix-ed jQuery.Event rather than the (read-only) native event - args[ 0 ] = event; - - for ( i = 1; i < arguments.length; i++ ) { - args[ i ] = arguments[ i ]; - } - - event.delegateTarget = this; - - // Call the preDispatch hook for the mapped type, and let it bail if desired - if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { - return; - } - - // Determine handlers - handlerQueue = jQuery.event.handlers.call( this, event, handlers ); - - // Run delegates first; they may want to stop propagation beneath us - i = 0; - while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { - event.currentTarget = matched.elem; - - j = 0; - while ( ( handleObj = matched.handlers[ j++ ] ) && - !event.isImmediatePropagationStopped() ) { - - // If the event is namespaced, then each handler is only invoked if it is - // specially universal or its namespaces are a superset of the event's. - if ( !event.rnamespace || handleObj.namespace === false || - event.rnamespace.test( handleObj.namespace ) ) { - - event.handleObj = handleObj; - event.data = handleObj.data; - - ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || - handleObj.handler ).apply( matched.elem, args ); - - if ( ret !== undefined ) { - if ( ( event.result = ret ) === false ) { - event.preventDefault(); - event.stopPropagation(); - } - } - } - } - } - - // Call the postDispatch hook for the mapped type - if ( special.postDispatch ) { - special.postDispatch.call( this, event ); - } - - return event.result; - }, - - handlers: function( event, handlers ) { - var i, handleObj, sel, matchedHandlers, matchedSelectors, - handlerQueue = [], - delegateCount = handlers.delegateCount, - cur = event.target; - - // Find delegate handlers - if ( delegateCount && - - // Support: IE <=9 - // Black-hole SVG <use> instance trees (trac-13180) - cur.nodeType && - - // Support: Firefox <=42 - // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) - // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click - // Support: IE 11 only - // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) - !( event.type === "click" && event.button >= 1 ) ) { - - for ( ; cur !== this; cur = cur.parentNode || this ) { - - // Don't check non-elements (#13208) - // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) - if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { - matchedHandlers = []; - matchedSelectors = {}; - for ( i = 0; i < delegateCount; i++ ) { - handleObj = handlers[ i ]; - - // Don't conflict with Object.prototype properties (#13203) - sel = handleObj.selector + " "; - - if ( matchedSelectors[ sel ] === undefined ) { - matchedSelectors[ sel ] = handleObj.needsContext ? - jQuery( sel, this ).index( cur ) > -1 : - jQuery.find( sel, this, null, [ cur ] ).length; - } - if ( matchedSelectors[ sel ] ) { - matchedHandlers.push( handleObj ); - } - } - if ( matchedHandlers.length ) { - handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); - } - } - } - } - - // Add the remaining (directly-bound) handlers - cur = this; - if ( delegateCount < handlers.length ) { - handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); - } - - return handlerQueue; - }, - - addProp: function( name, hook ) { - Object.defineProperty( jQuery.Event.prototype, name, { - enumerable: true, - configurable: true, - - get: isFunction( hook ) ? - function() { - if ( this.originalEvent ) { - return hook( this.originalEvent ); - } - } : - function() { - if ( this.originalEvent ) { - return this.originalEvent[ name ]; - } - }, - - set: function( value ) { - Object.defineProperty( this, name, { - enumerable: true, - configurable: true, - writable: true, - value: value - } ); - } - } ); - }, - - fix: function( originalEvent ) { - return originalEvent[ jQuery.expando ] ? - originalEvent : - new jQuery.Event( originalEvent ); - }, - - special: { - load: { - - // Prevent triggered image.load events from bubbling to window.load - noBubble: true - }, - click: { - - // Utilize native event to ensure correct state for checkable inputs - setup: function( data ) { - - // For mutual compressibility with _default, replace `this` access with a local var. - // `|| data` is dead code meant only to preserve the variable through minification. - var el = this || data; - - // Claim the first handler - if ( rcheckableType.test( el.type ) && - el.click && nodeName( el, "input" ) ) { - - // dataPriv.set( el, "click", ... ) - leverageNative( el, "click", returnTrue ); - } - - // Return false to allow normal processing in the caller - return false; - }, - trigger: function( data ) { - - // For mutual compressibility with _default, replace `this` access with a local var. - // `|| data` is dead code meant only to preserve the variable through minification. - var el = this || data; - - // Force setup before triggering a click - if ( rcheckableType.test( el.type ) && - el.click && nodeName( el, "input" ) ) { - - leverageNative( el, "click" ); - } - - // Return non-false to allow normal event-path propagation - return true; - }, - - // For cross-browser consistency, suppress native .click() on links - // Also prevent it if we're currently inside a leveraged native-event stack - _default: function( event ) { - var target = event.target; - return rcheckableType.test( target.type ) && - target.click && nodeName( target, "input" ) && - dataPriv.get( target, "click" ) || - nodeName( target, "a" ); - } - }, - - beforeunload: { - postDispatch: function( event ) { - - // Support: Firefox 20+ - // Firefox doesn't alert if the returnValue field is not set. - if ( event.result !== undefined && event.originalEvent ) { - event.originalEvent.returnValue = event.result; - } - } - } - } -}; - -// Ensure the presence of an event listener that handles manually-triggered -// synthetic events by interrupting progress until reinvoked in response to -// *native* events that it fires directly, ensuring that state changes have -// already occurred before other listeners are invoked. -function leverageNative( el, type, expectSync ) { - - // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add - if ( !expectSync ) { - if ( dataPriv.get( el, type ) === undefined ) { - jQuery.event.add( el, type, returnTrue ); - } - return; - } - - // Register the controller as a special universal handler for all event namespaces - dataPriv.set( el, type, false ); - jQuery.event.add( el, type, { - namespace: false, - handler: function( event ) { - var notAsync, result, - saved = dataPriv.get( this, type ); - - if ( ( event.isTrigger & 1 ) && this[ type ] ) { - - // Interrupt processing of the outer synthetic .trigger()ed event - // Saved data should be false in such cases, but might be a leftover capture object - // from an async native handler (gh-4350) - if ( !saved.length ) { - - // Store arguments for use when handling the inner native event - // There will always be at least one argument (an event object), so this array - // will not be confused with a leftover capture object. - saved = slice.call( arguments ); - dataPriv.set( this, type, saved ); - - // Trigger the native event and capture its result - // Support: IE <=9 - 11+ - // focus() and blur() are asynchronous - notAsync = expectSync( this, type ); - this[ type ](); - result = dataPriv.get( this, type ); - if ( saved !== result || notAsync ) { - dataPriv.set( this, type, false ); - } else { - result = {}; - } - if ( saved !== result ) { - - // Cancel the outer synthetic event - event.stopImmediatePropagation(); - event.preventDefault(); - return result.value; - } - - // If this is an inner synthetic event for an event with a bubbling surrogate - // (focus or blur), assume that the surrogate already propagated from triggering the - // native event and prevent that from happening again here. - // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the - // bubbling surrogate propagates *after* the non-bubbling base), but that seems - // less bad than duplication. - } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) { - event.stopPropagation(); - } - - // If this is a native event triggered above, everything is now in order - // Fire an inner synthetic event with the original arguments - } else if ( saved.length ) { - - // ...and capture the result - dataPriv.set( this, type, { - value: jQuery.event.trigger( - - // Support: IE <=9 - 11+ - // Extend with the prototype to reset the above stopImmediatePropagation() - jQuery.extend( saved[ 0 ], jQuery.Event.prototype ), - saved.slice( 1 ), - this - ) - } ); - - // Abort handling of the native event - event.stopImmediatePropagation(); - } - } - } ); -} - -jQuery.removeEvent = function( elem, type, handle ) { - - // This "if" is needed for plain objects - if ( elem.removeEventListener ) { - elem.removeEventListener( type, handle ); - } -}; - -jQuery.Event = function( src, props ) { - - // Allow instantiation without the 'new' keyword - if ( !( this instanceof jQuery.Event ) ) { - return new jQuery.Event( src, props ); - } - - // Event object - if ( src && src.type ) { - this.originalEvent = src; - this.type = src.type; - - // Events bubbling up the document may have been marked as prevented - // by a handler lower down the tree; reflect the correct value. - this.isDefaultPrevented = src.defaultPrevented || - src.defaultPrevented === undefined && - - // Support: Android <=2.3 only - src.returnValue === false ? - returnTrue : - returnFalse; - - // Create target properties - // Support: Safari <=6 - 7 only - // Target should not be a text node (#504, #13143) - this.target = ( src.target && src.target.nodeType === 3 ) ? - src.target.parentNode : - src.target; - - this.currentTarget = src.currentTarget; - this.relatedTarget = src.relatedTarget; - - // Event type - } else { - this.type = src; - } - - // Put explicitly provided properties onto the event object - if ( props ) { - jQuery.extend( this, props ); - } - - // Create a timestamp if incoming event doesn't have one - this.timeStamp = src && src.timeStamp || Date.now(); - - // Mark it as fixed - this[ jQuery.expando ] = true; -}; - -// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding -// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html -jQuery.Event.prototype = { - constructor: jQuery.Event, - isDefaultPrevented: returnFalse, - isPropagationStopped: returnFalse, - isImmediatePropagationStopped: returnFalse, - isSimulated: false, - - preventDefault: function() { - var e = this.originalEvent; - - this.isDefaultPrevented = returnTrue; - - if ( e && !this.isSimulated ) { - e.preventDefault(); - } - }, - stopPropagation: function() { - var e = this.originalEvent; - - this.isPropagationStopped = returnTrue; - - if ( e && !this.isSimulated ) { - e.stopPropagation(); - } - }, - stopImmediatePropagation: function() { - var e = this.originalEvent; - - this.isImmediatePropagationStopped = returnTrue; - - if ( e && !this.isSimulated ) { - e.stopImmediatePropagation(); - } - - this.stopPropagation(); - } -}; - -// Includes all common event props including KeyEvent and MouseEvent specific props -jQuery.each( { - altKey: true, - bubbles: true, - cancelable: true, - changedTouches: true, - ctrlKey: true, - detail: true, - eventPhase: true, - metaKey: true, - pageX: true, - pageY: true, - shiftKey: true, - view: true, - "char": true, - code: true, - charCode: true, - key: true, - keyCode: true, - button: true, - buttons: true, - clientX: true, - clientY: true, - offsetX: true, - offsetY: true, - pointerId: true, - pointerType: true, - screenX: true, - screenY: true, - targetTouches: true, - toElement: true, - touches: true, - - which: function( event ) { - var button = event.button; - - // Add which for key events - if ( event.which == null && rkeyEvent.test( event.type ) ) { - return event.charCode != null ? event.charCode : event.keyCode; - } - - // Add which for click: 1 === left; 2 === middle; 3 === right - if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) { - if ( button & 1 ) { - return 1; - } - - if ( button & 2 ) { - return 3; - } - - if ( button & 4 ) { - return 2; - } - - return 0; - } - - return event.which; - } -}, jQuery.event.addProp ); - -jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) { - jQuery.event.special[ type ] = { - - // Utilize native event if possible so blur/focus sequence is correct - setup: function() { - - // Claim the first handler - // dataPriv.set( this, "focus", ... ) - // dataPriv.set( this, "blur", ... ) - leverageNative( this, type, expectSync ); - - // Return false to allow normal processing in the caller - return false; - }, - trigger: function() { - - // Force setup before trigger - leverageNative( this, type ); - - // Return non-false to allow normal event-path propagation - return true; - }, - - delegateType: delegateType - }; -} ); - -// Create mouseenter/leave events using mouseover/out and event-time checks -// so that event delegation works in jQuery. -// Do the same for pointerenter/pointerleave and pointerover/pointerout -// -// Support: Safari 7 only -// Safari sends mouseenter too often; see: -// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 -// for the description of the bug (it existed in older Chrome versions as well). -jQuery.each( { - mouseenter: "mouseover", - mouseleave: "mouseout", - pointerenter: "pointerover", - pointerleave: "pointerout" -}, function( orig, fix ) { - jQuery.event.special[ orig ] = { - delegateType: fix, - bindType: fix, - - handle: function( event ) { - var ret, - target = this, - related = event.relatedTarget, - handleObj = event.handleObj; - - // For mouseenter/leave call the handler if related is outside the target. - // NB: No relatedTarget if the mouse left/entered the browser window - if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { - event.type = handleObj.origType; - ret = handleObj.handler.apply( this, arguments ); - event.type = fix; - } - return ret; - } - }; -} ); - -jQuery.fn.extend( { - - on: function( types, selector, data, fn ) { - return on( this, types, selector, data, fn ); - }, - one: function( types, selector, data, fn ) { - return on( this, types, selector, data, fn, 1 ); - }, - off: function( types, selector, fn ) { - var handleObj, type; - if ( types && types.preventDefault && types.handleObj ) { - - // ( event ) dispatched jQuery.Event - handleObj = types.handleObj; - jQuery( types.delegateTarget ).off( - handleObj.namespace ? - handleObj.origType + "." + handleObj.namespace : - handleObj.origType, - handleObj.selector, - handleObj.handler - ); - return this; - } - if ( typeof types === "object" ) { - - // ( types-object [, selector] ) - for ( type in types ) { - this.off( type, selector, types[ type ] ); - } - return this; - } - if ( selector === false || typeof selector === "function" ) { - - // ( types [, fn] ) - fn = selector; - selector = undefined; - } - if ( fn === false ) { - fn = returnFalse; - } - return this.each( function() { - jQuery.event.remove( this, types, fn, selector ); - } ); - } -} ); - - -var - - // Support: IE <=10 - 11, Edge 12 - 13 only - // In IE/Edge using regex groups here causes severe slowdowns. - // See https://connect.microsoft.com/IE/feedback/details/1736512/ - rnoInnerhtml = /<script|<style|<link/i, - - // checked="checked" or checked - rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, - rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g; - -// Prefer a tbody over its parent table for containing new rows -function manipulationTarget( elem, content ) { - if ( nodeName( elem, "table" ) && - nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { - - return jQuery( elem ).children( "tbody" )[ 0 ] || elem; - } - - return elem; -} - -// Replace/restore the type attribute of script elements for safe DOM manipulation -function disableScript( elem ) { - elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; - return elem; -} -function restoreScript( elem ) { - if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) { - elem.type = elem.type.slice( 5 ); - } else { - elem.removeAttribute( "type" ); - } - - return elem; -} - -function cloneCopyEvent( src, dest ) { - var i, l, type, pdataOld, udataOld, udataCur, events; - - if ( dest.nodeType !== 1 ) { - return; - } - - // 1. Copy private data: events, handlers, etc. - if ( dataPriv.hasData( src ) ) { - pdataOld = dataPriv.get( src ); - events = pdataOld.events; - - if ( events ) { - dataPriv.remove( dest, "handle events" ); - - for ( type in events ) { - for ( i = 0, l = events[ type ].length; i < l; i++ ) { - jQuery.event.add( dest, type, events[ type ][ i ] ); - } - } - } - } - - // 2. Copy user data - if ( dataUser.hasData( src ) ) { - udataOld = dataUser.access( src ); - udataCur = jQuery.extend( {}, udataOld ); - - dataUser.set( dest, udataCur ); - } -} - -// Fix IE bugs, see support tests -function fixInput( src, dest ) { - var nodeName = dest.nodeName.toLowerCase(); - - // Fails to persist the checked state of a cloned checkbox or radio button. - if ( nodeName === "input" && rcheckableType.test( src.type ) ) { - dest.checked = src.checked; - - // Fails to return the selected option to the default selected state when cloning options - } else if ( nodeName === "input" || nodeName === "textarea" ) { - dest.defaultValue = src.defaultValue; - } -} - -function domManip( collection, args, callback, ignored ) { - - // Flatten any nested arrays - args = flat( args ); - - var fragment, first, scripts, hasScripts, node, doc, - i = 0, - l = collection.length, - iNoClone = l - 1, - value = args[ 0 ], - valueIsFunction = isFunction( value ); - - // We can't cloneNode fragments that contain checked, in WebKit - if ( valueIsFunction || - ( l > 1 && typeof value === "string" && - !support.checkClone && rchecked.test( value ) ) ) { - return collection.each( function( index ) { - var self = collection.eq( index ); - if ( valueIsFunction ) { - args[ 0 ] = value.call( this, index, self.html() ); - } - domManip( self, args, callback, ignored ); - } ); - } - - if ( l ) { - fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); - first = fragment.firstChild; - - if ( fragment.childNodes.length === 1 ) { - fragment = first; - } - - // Require either new content or an interest in ignored elements to invoke the callback - if ( first || ignored ) { - scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); - hasScripts = scripts.length; - - // Use the original fragment for the last item - // instead of the first because it can end up - // being emptied incorrectly in certain situations (#8070). - for ( ; i < l; i++ ) { - node = fragment; - - if ( i !== iNoClone ) { - node = jQuery.clone( node, true, true ); - - // Keep references to cloned scripts for later restoration - if ( hasScripts ) { - - // Support: Android <=4.0 only, PhantomJS 1 only - // push.apply(_, arraylike) throws on ancient WebKit - jQuery.merge( scripts, getAll( node, "script" ) ); - } - } - - callback.call( collection[ i ], node, i ); - } - - if ( hasScripts ) { - doc = scripts[ scripts.length - 1 ].ownerDocument; - - // Reenable scripts - jQuery.map( scripts, restoreScript ); - - // Evaluate executable scripts on first document insertion - for ( i = 0; i < hasScripts; i++ ) { - node = scripts[ i ]; - if ( rscriptType.test( node.type || "" ) && - !dataPriv.access( node, "globalEval" ) && - jQuery.contains( doc, node ) ) { - - if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { - - // Optional AJAX dependency, but won't run scripts if not present - if ( jQuery._evalUrl && !node.noModule ) { - jQuery._evalUrl( node.src, { - nonce: node.nonce || node.getAttribute( "nonce" ) - }, doc ); - } - } else { - DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc ); - } - } - } - } - } - } - - return collection; -} - -function remove( elem, selector, keepData ) { - var node, - nodes = selector ? jQuery.filter( selector, elem ) : elem, - i = 0; - - for ( ; ( node = nodes[ i ] ) != null; i++ ) { - if ( !keepData && node.nodeType === 1 ) { - jQuery.cleanData( getAll( node ) ); - } - - if ( node.parentNode ) { - if ( keepData && isAttached( node ) ) { - setGlobalEval( getAll( node, "script" ) ); - } - node.parentNode.removeChild( node ); - } - } - - return elem; -} - -jQuery.extend( { - htmlPrefilter: function( html ) { - return html; - }, - - clone: function( elem, dataAndEvents, deepDataAndEvents ) { - var i, l, srcElements, destElements, - clone = elem.cloneNode( true ), - inPage = isAttached( elem ); - - // Fix IE cloning issues - if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && - !jQuery.isXMLDoc( elem ) ) { - - // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 - destElements = getAll( clone ); - srcElements = getAll( elem ); - - for ( i = 0, l = srcElements.length; i < l; i++ ) { - fixInput( srcElements[ i ], destElements[ i ] ); - } - } - - // Copy the events from the original to the clone - if ( dataAndEvents ) { - if ( deepDataAndEvents ) { - srcElements = srcElements || getAll( elem ); - destElements = destElements || getAll( clone ); - - for ( i = 0, l = srcElements.length; i < l; i++ ) { - cloneCopyEvent( srcElements[ i ], destElements[ i ] ); - } - } else { - cloneCopyEvent( elem, clone ); - } - } - - // Preserve script evaluation history - destElements = getAll( clone, "script" ); - if ( destElements.length > 0 ) { - setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); - } - - // Return the cloned set - return clone; - }, - - cleanData: function( elems ) { - var data, elem, type, - special = jQuery.event.special, - i = 0; - - for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { - if ( acceptData( elem ) ) { - if ( ( data = elem[ dataPriv.expando ] ) ) { - if ( data.events ) { - for ( type in data.events ) { - if ( special[ type ] ) { - jQuery.event.remove( elem, type ); - - // This is a shortcut to avoid jQuery.event.remove's overhead - } else { - jQuery.removeEvent( elem, type, data.handle ); - } - } - } - - // Support: Chrome <=35 - 45+ - // Assign undefined instead of using delete, see Data#remove - elem[ dataPriv.expando ] = undefined; - } - if ( elem[ dataUser.expando ] ) { - - // Support: Chrome <=35 - 45+ - // Assign undefined instead of using delete, see Data#remove - elem[ dataUser.expando ] = undefined; - } - } - } - } -} ); - -jQuery.fn.extend( { - detach: function( selector ) { - return remove( this, selector, true ); - }, - - remove: function( selector ) { - return remove( this, selector ); - }, - - text: function( value ) { - return access( this, function( value ) { - return value === undefined ? - jQuery.text( this ) : - this.empty().each( function() { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - this.textContent = value; - } - } ); - }, null, value, arguments.length ); - }, - - append: function() { - return domManip( this, arguments, function( elem ) { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - var target = manipulationTarget( this, elem ); - target.appendChild( elem ); - } - } ); - }, - - prepend: function() { - return domManip( this, arguments, function( elem ) { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - var target = manipulationTarget( this, elem ); - target.insertBefore( elem, target.firstChild ); - } - } ); - }, - - before: function() { - return domManip( this, arguments, function( elem ) { - if ( this.parentNode ) { - this.parentNode.insertBefore( elem, this ); - } - } ); - }, - - after: function() { - return domManip( this, arguments, function( elem ) { - if ( this.parentNode ) { - this.parentNode.insertBefore( elem, this.nextSibling ); - } - } ); - }, - - empty: function() { - var elem, - i = 0; - - for ( ; ( elem = this[ i ] ) != null; i++ ) { - if ( elem.nodeType === 1 ) { - - // Prevent memory leaks - jQuery.cleanData( getAll( elem, false ) ); - - // Remove any remaining nodes - elem.textContent = ""; - } - } - - return this; - }, - - clone: function( dataAndEvents, deepDataAndEvents ) { - dataAndEvents = dataAndEvents == null ? false : dataAndEvents; - deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; - - return this.map( function() { - return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); - } ); - }, - - html: function( value ) { - return access( this, function( value ) { - var elem = this[ 0 ] || {}, - i = 0, - l = this.length; - - if ( value === undefined && elem.nodeType === 1 ) { - return elem.innerHTML; - } - - // See if we can take a shortcut and just use innerHTML - if ( typeof value === "string" && !rnoInnerhtml.test( value ) && - !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { - - value = jQuery.htmlPrefilter( value ); - - try { - for ( ; i < l; i++ ) { - elem = this[ i ] || {}; - - // Remove element nodes and prevent memory leaks - if ( elem.nodeType === 1 ) { - jQuery.cleanData( getAll( elem, false ) ); - elem.innerHTML = value; - } - } - - elem = 0; - - // If using innerHTML throws an exception, use the fallback method - } catch ( e ) {} - } - - if ( elem ) { - this.empty().append( value ); - } - }, null, value, arguments.length ); - }, - - replaceWith: function() { - var ignored = []; - - // Make the changes, replacing each non-ignored context element with the new content - return domManip( this, arguments, function( elem ) { - var parent = this.parentNode; - - if ( jQuery.inArray( this, ignored ) < 0 ) { - jQuery.cleanData( getAll( this ) ); - if ( parent ) { - parent.replaceChild( elem, this ); - } - } - - // Force callback invocation - }, ignored ); - } -} ); - -jQuery.each( { - appendTo: "append", - prependTo: "prepend", - insertBefore: "before", - insertAfter: "after", - replaceAll: "replaceWith" -}, function( name, original ) { - jQuery.fn[ name ] = function( selector ) { - var elems, - ret = [], - insert = jQuery( selector ), - last = insert.length - 1, - i = 0; - - for ( ; i <= last; i++ ) { - elems = i === last ? this : this.clone( true ); - jQuery( insert[ i ] )[ original ]( elems ); - - // Support: Android <=4.0 only, PhantomJS 1 only - // .get() because push.apply(_, arraylike) throws on ancient WebKit - push.apply( ret, elems.get() ); - } - - return this.pushStack( ret ); - }; -} ); -var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); - -var getStyles = function( elem ) { - - // Support: IE <=11 only, Firefox <=30 (#15098, #14150) - // IE throws on elements created in popups - // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" - var view = elem.ownerDocument.defaultView; - - if ( !view || !view.opener ) { - view = window; - } - - return view.getComputedStyle( elem ); - }; - -var swap = function( elem, options, callback ) { - var ret, name, - old = {}; - - // Remember the old values, and insert the new ones - for ( name in options ) { - old[ name ] = elem.style[ name ]; - elem.style[ name ] = options[ name ]; - } - - ret = callback.call( elem ); - - // Revert the old values - for ( name in options ) { - elem.style[ name ] = old[ name ]; - } - - return ret; -}; - - -var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); - - - -( function() { - - // Executing both pixelPosition & boxSizingReliable tests require only one layout - // so they're executed at the same time to save the second computation. - function computeStyleTests() { - - // This is a singleton, we need to execute it only once - if ( !div ) { - return; - } - - container.style.cssText = "position:absolute;left:-11111px;width:60px;" + - "margin-top:1px;padding:0;border:0"; - div.style.cssText = - "position:relative;display:block;box-sizing:border-box;overflow:scroll;" + - "margin:auto;border:1px;padding:1px;" + - "width:60%;top:1%"; - documentElement.appendChild( container ).appendChild( div ); - - var divStyle = window.getComputedStyle( div ); - pixelPositionVal = divStyle.top !== "1%"; - - // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 - reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12; - - // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3 - // Some styles come back with percentage values, even though they shouldn't - div.style.right = "60%"; - pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36; - - // Support: IE 9 - 11 only - // Detect misreporting of content dimensions for box-sizing:border-box elements - boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36; - - // Support: IE 9 only - // Detect overflow:scroll screwiness (gh-3699) - // Support: Chrome <=64 - // Don't get tricked when zoom affects offsetWidth (gh-4029) - div.style.position = "absolute"; - scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12; - - documentElement.removeChild( container ); - - // Nullify the div so it wouldn't be stored in the memory and - // it will also be a sign that checks already performed - div = null; - } - - function roundPixelMeasures( measure ) { - return Math.round( parseFloat( measure ) ); - } - - var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, - reliableTrDimensionsVal, reliableMarginLeftVal, - container = document.createElement( "div" ), - div = document.createElement( "div" ); - - // Finish early in limited (non-browser) environments - if ( !div.style ) { - return; - } - - // Support: IE <=9 - 11 only - // Style of cloned element affects source element cloned (#8908) - div.style.backgroundClip = "content-box"; - div.cloneNode( true ).style.backgroundClip = ""; - support.clearCloneStyle = div.style.backgroundClip === "content-box"; - - jQuery.extend( support, { - boxSizingReliable: function() { - computeStyleTests(); - return boxSizingReliableVal; - }, - pixelBoxStyles: function() { - computeStyleTests(); - return pixelBoxStylesVal; - }, - pixelPosition: function() { - computeStyleTests(); - return pixelPositionVal; - }, - reliableMarginLeft: function() { - computeStyleTests(); - return reliableMarginLeftVal; - }, - scrollboxSize: function() { - computeStyleTests(); - return scrollboxSizeVal; - }, - - // Support: IE 9 - 11+, Edge 15 - 18+ - // IE/Edge misreport `getComputedStyle` of table rows with width/height - // set in CSS while `offset*` properties report correct values. - // Behavior in IE 9 is more subtle than in newer versions & it passes - // some versions of this test; make sure not to make it pass there! - reliableTrDimensions: function() { - var table, tr, trChild, trStyle; - if ( reliableTrDimensionsVal == null ) { - table = document.createElement( "table" ); - tr = document.createElement( "tr" ); - trChild = document.createElement( "div" ); - - table.style.cssText = "position:absolute;left:-11111px"; - tr.style.height = "1px"; - trChild.style.height = "9px"; - - documentElement - .appendChild( table ) - .appendChild( tr ) - .appendChild( trChild ); - - trStyle = window.getComputedStyle( tr ); - reliableTrDimensionsVal = parseInt( trStyle.height ) > 3; - - documentElement.removeChild( table ); - } - return reliableTrDimensionsVal; - } - } ); -} )(); - - -function curCSS( elem, name, computed ) { - var width, minWidth, maxWidth, ret, - - // Support: Firefox 51+ - // Retrieving style before computed somehow - // fixes an issue with getting wrong values - // on detached elements - style = elem.style; - - computed = computed || getStyles( elem ); - - // getPropertyValue is needed for: - // .css('filter') (IE 9 only, #12537) - // .css('--customProperty) (#3144) - if ( computed ) { - ret = computed.getPropertyValue( name ) || computed[ name ]; - - if ( ret === "" && !isAttached( elem ) ) { - ret = jQuery.style( elem, name ); - } - - // A tribute to the "awesome hack by Dean Edwards" - // Android Browser returns percentage for some values, - // but width seems to be reliably pixels. - // This is against the CSSOM draft spec: - // https://drafts.csswg.org/cssom/#resolved-values - if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) { - - // Remember the original values - width = style.width; - minWidth = style.minWidth; - maxWidth = style.maxWidth; - - // Put in the new values to get a computed value out - style.minWidth = style.maxWidth = style.width = ret; - ret = computed.width; - - // Revert the changed values - style.width = width; - style.minWidth = minWidth; - style.maxWidth = maxWidth; - } - } - - return ret !== undefined ? - - // Support: IE <=9 - 11 only - // IE returns zIndex value as an integer. - ret + "" : - ret; -} - - -function addGetHookIf( conditionFn, hookFn ) { - - // Define the hook, we'll check on the first run if it's really needed. - return { - get: function() { - if ( conditionFn() ) { - - // Hook not needed (or it's not possible to use it due - // to missing dependency), remove it. - delete this.get; - return; - } - - // Hook needed; redefine it so that the support test is not executed again. - return ( this.get = hookFn ).apply( this, arguments ); - } - }; -} - - -var cssPrefixes = [ "Webkit", "Moz", "ms" ], - emptyStyle = document.createElement( "div" ).style, - vendorProps = {}; - -// Return a vendor-prefixed property or undefined -function vendorPropName( name ) { - - // Check for vendor prefixed names - var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), - i = cssPrefixes.length; - - while ( i-- ) { - name = cssPrefixes[ i ] + capName; - if ( name in emptyStyle ) { - return name; - } - } -} - -// Return a potentially-mapped jQuery.cssProps or vendor prefixed property -function finalPropName( name ) { - var final = jQuery.cssProps[ name ] || vendorProps[ name ]; - - if ( final ) { - return final; - } - if ( name in emptyStyle ) { - return name; - } - return vendorProps[ name ] = vendorPropName( name ) || name; -} - - -var - - // Swappable if display is none or starts with table - // except "table", "table-cell", or "table-caption" - // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display - rdisplayswap = /^(none|table(?!-c[ea]).+)/, - rcustomProp = /^--/, - cssShow = { position: "absolute", visibility: "hidden", display: "block" }, - cssNormalTransform = { - letterSpacing: "0", - fontWeight: "400" - }; - -function setPositiveNumber( _elem, value, subtract ) { - - // Any relative (+/-) values have already been - // normalized at this point - var matches = rcssNum.exec( value ); - return matches ? - - // Guard against undefined "subtract", e.g., when used as in cssHooks - Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : - value; -} - -function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) { - var i = dimension === "width" ? 1 : 0, - extra = 0, - delta = 0; - - // Adjustment may not be necessary - if ( box === ( isBorderBox ? "border" : "content" ) ) { - return 0; - } - - for ( ; i < 4; i += 2 ) { - - // Both box models exclude margin - if ( box === "margin" ) { - delta += jQuery.css( elem, box + cssExpand[ i ], true, styles ); - } - - // If we get here with a content-box, we're seeking "padding" or "border" or "margin" - if ( !isBorderBox ) { - - // Add padding - delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); - - // For "border" or "margin", add border - if ( box !== "padding" ) { - delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); - - // But still keep track of it otherwise - } else { - extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); - } - - // If we get here with a border-box (content + padding + border), we're seeking "content" or - // "padding" or "margin" - } else { - - // For "content", subtract padding - if ( box === "content" ) { - delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); - } - - // For "content" or "padding", subtract border - if ( box !== "margin" ) { - delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); - } - } - } - - // Account for positive content-box scroll gutter when requested by providing computedVal - if ( !isBorderBox && computedVal >= 0 ) { - - // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border - // Assuming integer scroll gutter, subtract the rest and round down - delta += Math.max( 0, Math.ceil( - elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - - computedVal - - delta - - extra - - 0.5 - - // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter - // Use an explicit zero to avoid NaN (gh-3964) - ) ) || 0; - } - - return delta; -} - -function getWidthOrHeight( elem, dimension, extra ) { - - // Start with computed style - var styles = getStyles( elem ), - - // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322). - // Fake content-box until we know it's needed to know the true value. - boxSizingNeeded = !support.boxSizingReliable() || extra, - isBorderBox = boxSizingNeeded && - jQuery.css( elem, "boxSizing", false, styles ) === "border-box", - valueIsBorderBox = isBorderBox, - - val = curCSS( elem, dimension, styles ), - offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ); - - // Support: Firefox <=54 - // Return a confounding non-pixel value or feign ignorance, as appropriate. - if ( rnumnonpx.test( val ) ) { - if ( !extra ) { - return val; - } - val = "auto"; - } - - - // Support: IE 9 - 11 only - // Use offsetWidth/offsetHeight for when box sizing is unreliable. - // In those cases, the computed value can be trusted to be border-box. - if ( ( !support.boxSizingReliable() && isBorderBox || - - // Support: IE 10 - 11+, Edge 15 - 18+ - // IE/Edge misreport `getComputedStyle` of table rows with width/height - // set in CSS while `offset*` properties report correct values. - // Interestingly, in some cases IE 9 doesn't suffer from this issue. - !support.reliableTrDimensions() && nodeName( elem, "tr" ) || - - // Fall back to offsetWidth/offsetHeight when value is "auto" - // This happens for inline elements with no explicit setting (gh-3571) - val === "auto" || - - // Support: Android <=4.1 - 4.3 only - // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) - !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) && - - // Make sure the element is visible & connected - elem.getClientRects().length ) { - - isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; - - // Where available, offsetWidth/offsetHeight approximate border box dimensions. - // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the - // retrieved value as a content box dimension. - valueIsBorderBox = offsetProp in elem; - if ( valueIsBorderBox ) { - val = elem[ offsetProp ]; - } - } - - // Normalize "" and auto - val = parseFloat( val ) || 0; - - // Adjust for the element's box model - return ( val + - boxModelAdjustment( - elem, - dimension, - extra || ( isBorderBox ? "border" : "content" ), - valueIsBorderBox, - styles, - - // Provide the current computed size to request scroll gutter calculation (gh-3589) - val - ) - ) + "px"; -} - -jQuery.extend( { - - // Add in style property hooks for overriding the default - // behavior of getting and setting a style property - cssHooks: { - opacity: { - get: function( elem, computed ) { - if ( computed ) { - - // We should always get a number back from opacity - var ret = curCSS( elem, "opacity" ); - return ret === "" ? "1" : ret; - } - } - } - }, - - // Don't automatically add "px" to these possibly-unitless properties - cssNumber: { - "animationIterationCount": true, - "columnCount": true, - "fillOpacity": true, - "flexGrow": true, - "flexShrink": true, - "fontWeight": true, - "gridArea": true, - "gridColumn": true, - "gridColumnEnd": true, - "gridColumnStart": true, - "gridRow": true, - "gridRowEnd": true, - "gridRowStart": true, - "lineHeight": true, - "opacity": true, - "order": true, - "orphans": true, - "widows": true, - "zIndex": true, - "zoom": true - }, - - // Add in properties whose names you wish to fix before - // setting or getting the value - cssProps: {}, - - // Get and set the style property on a DOM Node - style: function( elem, name, value, extra ) { - - // Don't set styles on text and comment nodes - if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { - return; - } - - // Make sure that we're working with the right name - var ret, type, hooks, - origName = camelCase( name ), - isCustomProp = rcustomProp.test( name ), - style = elem.style; - - // Make sure that we're working with the right name. We don't - // want to query the value if it is a CSS custom property - // since they are user-defined. - if ( !isCustomProp ) { - name = finalPropName( origName ); - } - - // Gets hook for the prefixed version, then unprefixed version - hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; - - // Check if we're setting a value - if ( value !== undefined ) { - type = typeof value; - - // Convert "+=" or "-=" to relative numbers (#7345) - if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { - value = adjustCSS( elem, name, ret ); - - // Fixes bug #9237 - type = "number"; - } - - // Make sure that null and NaN values aren't set (#7116) - if ( value == null || value !== value ) { - return; - } - - // If a number was passed in, add the unit (except for certain CSS properties) - // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append - // "px" to a few hardcoded values. - if ( type === "number" && !isCustomProp ) { - value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); - } - - // background-* props affect original clone's values - if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { - style[ name ] = "inherit"; - } - - // If a hook was provided, use that value, otherwise just set the specified value - if ( !hooks || !( "set" in hooks ) || - ( value = hooks.set( elem, value, extra ) ) !== undefined ) { - - if ( isCustomProp ) { - style.setProperty( name, value ); - } else { - style[ name ] = value; - } - } - - } else { - - // If a hook was provided get the non-computed value from there - if ( hooks && "get" in hooks && - ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { - - return ret; - } - - // Otherwise just get the value from the style object - return style[ name ]; - } - }, - - css: function( elem, name, extra, styles ) { - var val, num, hooks, - origName = camelCase( name ), - isCustomProp = rcustomProp.test( name ); - - // Make sure that we're working with the right name. We don't - // want to modify the value if it is a CSS custom property - // since they are user-defined. - if ( !isCustomProp ) { - name = finalPropName( origName ); - } - - // Try prefixed name followed by the unprefixed name - hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; - - // If a hook was provided get the computed value from there - if ( hooks && "get" in hooks ) { - val = hooks.get( elem, true, extra ); - } - - // Otherwise, if a way to get the computed value exists, use that - if ( val === undefined ) { - val = curCSS( elem, name, styles ); - } - - // Convert "normal" to computed value - if ( val === "normal" && name in cssNormalTransform ) { - val = cssNormalTransform[ name ]; - } - - // Make numeric if forced or a qualifier was provided and val looks numeric - if ( extra === "" || extra ) { - num = parseFloat( val ); - return extra === true || isFinite( num ) ? num || 0 : val; - } - - return val; - } -} ); - -jQuery.each( [ "height", "width" ], function( _i, dimension ) { - jQuery.cssHooks[ dimension ] = { - get: function( elem, computed, extra ) { - if ( computed ) { - - // Certain elements can have dimension info if we invisibly show them - // but it must have a current display style that would benefit - return rdisplayswap.test( jQuery.css( elem, "display" ) ) && - - // Support: Safari 8+ - // Table columns in Safari have non-zero offsetWidth & zero - // getBoundingClientRect().width unless display is changed. - // Support: IE <=11 only - // Running getBoundingClientRect on a disconnected node - // in IE throws an error. - ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? - swap( elem, cssShow, function() { - return getWidthOrHeight( elem, dimension, extra ); - } ) : - getWidthOrHeight( elem, dimension, extra ); - } - }, - - set: function( elem, value, extra ) { - var matches, - styles = getStyles( elem ), - - // Only read styles.position if the test has a chance to fail - // to avoid forcing a reflow. - scrollboxSizeBuggy = !support.scrollboxSize() && - styles.position === "absolute", - - // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991) - boxSizingNeeded = scrollboxSizeBuggy || extra, - isBorderBox = boxSizingNeeded && - jQuery.css( elem, "boxSizing", false, styles ) === "border-box", - subtract = extra ? - boxModelAdjustment( - elem, - dimension, - extra, - isBorderBox, - styles - ) : - 0; - - // Account for unreliable border-box dimensions by comparing offset* to computed and - // faking a content-box to get border and padding (gh-3699) - if ( isBorderBox && scrollboxSizeBuggy ) { - subtract -= Math.ceil( - elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - - parseFloat( styles[ dimension ] ) - - boxModelAdjustment( elem, dimension, "border", false, styles ) - - 0.5 - ); - } - - // Convert to pixels if value adjustment is needed - if ( subtract && ( matches = rcssNum.exec( value ) ) && - ( matches[ 3 ] || "px" ) !== "px" ) { - - elem.style[ dimension ] = value; - value = jQuery.css( elem, dimension ); - } - - return setPositiveNumber( elem, value, subtract ); - } - }; -} ); - -jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, - function( elem, computed ) { - if ( computed ) { - return ( parseFloat( curCSS( elem, "marginLeft" ) ) || - elem.getBoundingClientRect().left - - swap( elem, { marginLeft: 0 }, function() { - return elem.getBoundingClientRect().left; - } ) - ) + "px"; - } - } -); - -// These hooks are used by animate to expand properties -jQuery.each( { - margin: "", - padding: "", - border: "Width" -}, function( prefix, suffix ) { - jQuery.cssHooks[ prefix + suffix ] = { - expand: function( value ) { - var i = 0, - expanded = {}, - - // Assumes a single number if not a string - parts = typeof value === "string" ? value.split( " " ) : [ value ]; - - for ( ; i < 4; i++ ) { - expanded[ prefix + cssExpand[ i ] + suffix ] = - parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; - } - - return expanded; - } - }; - - if ( prefix !== "margin" ) { - jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; - } -} ); - -jQuery.fn.extend( { - css: function( name, value ) { - return access( this, function( elem, name, value ) { - var styles, len, - map = {}, - i = 0; - - if ( Array.isArray( name ) ) { - styles = getStyles( elem ); - len = name.length; - - for ( ; i < len; i++ ) { - map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); - } - - return map; - } - - return value !== undefined ? - jQuery.style( elem, name, value ) : - jQuery.css( elem, name ); - }, name, value, arguments.length > 1 ); - } -} ); - - -function Tween( elem, options, prop, end, easing ) { - return new Tween.prototype.init( elem, options, prop, end, easing ); -} -jQuery.Tween = Tween; - -Tween.prototype = { - constructor: Tween, - init: function( elem, options, prop, end, easing, unit ) { - this.elem = elem; - this.prop = prop; - this.easing = easing || jQuery.easing._default; - this.options = options; - this.start = this.now = this.cur(); - this.end = end; - this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); - }, - cur: function() { - var hooks = Tween.propHooks[ this.prop ]; - - return hooks && hooks.get ? - hooks.get( this ) : - Tween.propHooks._default.get( this ); - }, - run: function( percent ) { - var eased, - hooks = Tween.propHooks[ this.prop ]; - - if ( this.options.duration ) { - this.pos = eased = jQuery.easing[ this.easing ]( - percent, this.options.duration * percent, 0, 1, this.options.duration - ); - } else { - this.pos = eased = percent; - } - this.now = ( this.end - this.start ) * eased + this.start; - - if ( this.options.step ) { - this.options.step.call( this.elem, this.now, this ); - } - - if ( hooks && hooks.set ) { - hooks.set( this ); - } else { - Tween.propHooks._default.set( this ); - } - return this; - } -}; - -Tween.prototype.init.prototype = Tween.prototype; - -Tween.propHooks = { - _default: { - get: function( tween ) { - var result; - - // Use a property on the element directly when it is not a DOM element, - // or when there is no matching style property that exists. - if ( tween.elem.nodeType !== 1 || - tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { - return tween.elem[ tween.prop ]; - } - - // Passing an empty string as a 3rd parameter to .css will automatically - // attempt a parseFloat and fallback to a string if the parse fails. - // Simple values such as "10px" are parsed to Float; - // complex values such as "rotate(1rad)" are returned as-is. - result = jQuery.css( tween.elem, tween.prop, "" ); - - // Empty strings, null, undefined and "auto" are converted to 0. - return !result || result === "auto" ? 0 : result; - }, - set: function( tween ) { - - // Use step hook for back compat. - // Use cssHook if its there. - // Use .style if available and use plain properties where available. - if ( jQuery.fx.step[ tween.prop ] ) { - jQuery.fx.step[ tween.prop ]( tween ); - } else if ( tween.elem.nodeType === 1 && ( - jQuery.cssHooks[ tween.prop ] || - tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) { - jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); - } else { - tween.elem[ tween.prop ] = tween.now; - } - } - } -}; - -// Support: IE <=9 only -// Panic based approach to setting things on disconnected nodes -Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { - set: function( tween ) { - if ( tween.elem.nodeType && tween.elem.parentNode ) { - tween.elem[ tween.prop ] = tween.now; - } - } -}; - -jQuery.easing = { - linear: function( p ) { - return p; - }, - swing: function( p ) { - return 0.5 - Math.cos( p * Math.PI ) / 2; - }, - _default: "swing" -}; - -jQuery.fx = Tween.prototype.init; - -// Back compat <1.8 extension point -jQuery.fx.step = {}; - - - - -var - fxNow, inProgress, - rfxtypes = /^(?:toggle|show|hide)$/, - rrun = /queueHooks$/; - -function schedule() { - if ( inProgress ) { - if ( document.hidden === false && window.requestAnimationFrame ) { - window.requestAnimationFrame( schedule ); - } else { - window.setTimeout( schedule, jQuery.fx.interval ); - } - - jQuery.fx.tick(); - } -} - -// Animations created synchronously will run synchronously -function createFxNow() { - window.setTimeout( function() { - fxNow = undefined; - } ); - return ( fxNow = Date.now() ); -} - -// Generate parameters to create a standard animation -function genFx( type, includeWidth ) { - var which, - i = 0, - attrs = { height: type }; - - // If we include width, step value is 1 to do all cssExpand values, - // otherwise step value is 2 to skip over Left and Right - includeWidth = includeWidth ? 1 : 0; - for ( ; i < 4; i += 2 - includeWidth ) { - which = cssExpand[ i ]; - attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; - } - - if ( includeWidth ) { - attrs.opacity = attrs.width = type; - } - - return attrs; -} - -function createTween( value, prop, animation ) { - var tween, - collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), - index = 0, - length = collection.length; - for ( ; index < length; index++ ) { - if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { - - // We're done with this property - return tween; - } - } -} - -function defaultPrefilter( elem, props, opts ) { - var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, - isBox = "width" in props || "height" in props, - anim = this, - orig = {}, - style = elem.style, - hidden = elem.nodeType && isHiddenWithinTree( elem ), - dataShow = dataPriv.get( elem, "fxshow" ); - - // Queue-skipping animations hijack the fx hooks - if ( !opts.queue ) { - hooks = jQuery._queueHooks( elem, "fx" ); - if ( hooks.unqueued == null ) { - hooks.unqueued = 0; - oldfire = hooks.empty.fire; - hooks.empty.fire = function() { - if ( !hooks.unqueued ) { - oldfire(); - } - }; - } - hooks.unqueued++; - - anim.always( function() { - - // Ensure the complete handler is called before this completes - anim.always( function() { - hooks.unqueued--; - if ( !jQuery.queue( elem, "fx" ).length ) { - hooks.empty.fire(); - } - } ); - } ); - } - - // Detect show/hide animations - for ( prop in props ) { - value = props[ prop ]; - if ( rfxtypes.test( value ) ) { - delete props[ prop ]; - toggle = toggle || value === "toggle"; - if ( value === ( hidden ? "hide" : "show" ) ) { - - // Pretend to be hidden if this is a "show" and - // there is still data from a stopped show/hide - if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { - hidden = true; - - // Ignore all other no-op show/hide data - } else { - continue; - } - } - orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); - } - } - - // Bail out if this is a no-op like .hide().hide() - propTween = !jQuery.isEmptyObject( props ); - if ( !propTween && jQuery.isEmptyObject( orig ) ) { - return; - } - - // Restrict "overflow" and "display" styles during box animations - if ( isBox && elem.nodeType === 1 ) { - - // Support: IE <=9 - 11, Edge 12 - 15 - // Record all 3 overflow attributes because IE does not infer the shorthand - // from identically-valued overflowX and overflowY and Edge just mirrors - // the overflowX value there. - opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; - - // Identify a display type, preferring old show/hide data over the CSS cascade - restoreDisplay = dataShow && dataShow.display; - if ( restoreDisplay == null ) { - restoreDisplay = dataPriv.get( elem, "display" ); - } - display = jQuery.css( elem, "display" ); - if ( display === "none" ) { - if ( restoreDisplay ) { - display = restoreDisplay; - } else { - - // Get nonempty value(s) by temporarily forcing visibility - showHide( [ elem ], true ); - restoreDisplay = elem.style.display || restoreDisplay; - display = jQuery.css( elem, "display" ); - showHide( [ elem ] ); - } - } - - // Animate inline elements as inline-block - if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { - if ( jQuery.css( elem, "float" ) === "none" ) { - - // Restore the original display value at the end of pure show/hide animations - if ( !propTween ) { - anim.done( function() { - style.display = restoreDisplay; - } ); - if ( restoreDisplay == null ) { - display = style.display; - restoreDisplay = display === "none" ? "" : display; - } - } - style.display = "inline-block"; - } - } - } - - if ( opts.overflow ) { - style.overflow = "hidden"; - anim.always( function() { - style.overflow = opts.overflow[ 0 ]; - style.overflowX = opts.overflow[ 1 ]; - style.overflowY = opts.overflow[ 2 ]; - } ); - } - - // Implement show/hide animations - propTween = false; - for ( prop in orig ) { - - // General show/hide setup for this element animation - if ( !propTween ) { - if ( dataShow ) { - if ( "hidden" in dataShow ) { - hidden = dataShow.hidden; - } - } else { - dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); - } - - // Store hidden/visible for toggle so `.stop().toggle()` "reverses" - if ( toggle ) { - dataShow.hidden = !hidden; - } - - // Show elements before animating them - if ( hidden ) { - showHide( [ elem ], true ); - } - - /* eslint-disable no-loop-func */ - - anim.done( function() { - - /* eslint-enable no-loop-func */ - - // The final step of a "hide" animation is actually hiding the element - if ( !hidden ) { - showHide( [ elem ] ); - } - dataPriv.remove( elem, "fxshow" ); - for ( prop in orig ) { - jQuery.style( elem, prop, orig[ prop ] ); - } - } ); - } - - // Per-property setup - propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); - if ( !( prop in dataShow ) ) { - dataShow[ prop ] = propTween.start; - if ( hidden ) { - propTween.end = propTween.start; - propTween.start = 0; - } - } - } -} - -function propFilter( props, specialEasing ) { - var index, name, easing, value, hooks; - - // camelCase, specialEasing and expand cssHook pass - for ( index in props ) { - name = camelCase( index ); - easing = specialEasing[ name ]; - value = props[ index ]; - if ( Array.isArray( value ) ) { - easing = value[ 1 ]; - value = props[ index ] = value[ 0 ]; - } - - if ( index !== name ) { - props[ name ] = value; - delete props[ index ]; - } - - hooks = jQuery.cssHooks[ name ]; - if ( hooks && "expand" in hooks ) { - value = hooks.expand( value ); - delete props[ name ]; - - // Not quite $.extend, this won't overwrite existing keys. - // Reusing 'index' because we have the correct "name" - for ( index in value ) { - if ( !( index in props ) ) { - props[ index ] = value[ index ]; - specialEasing[ index ] = easing; - } - } - } else { - specialEasing[ name ] = easing; - } - } -} - -function Animation( elem, properties, options ) { - var result, - stopped, - index = 0, - length = Animation.prefilters.length, - deferred = jQuery.Deferred().always( function() { - - // Don't match elem in the :animated selector - delete tick.elem; - } ), - tick = function() { - if ( stopped ) { - return false; - } - var currentTime = fxNow || createFxNow(), - remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), - - // Support: Android 2.3 only - // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) - temp = remaining / animation.duration || 0, - percent = 1 - temp, - index = 0, - length = animation.tweens.length; - - for ( ; index < length; index++ ) { - animation.tweens[ index ].run( percent ); - } - - deferred.notifyWith( elem, [ animation, percent, remaining ] ); - - // If there's more to do, yield - if ( percent < 1 && length ) { - return remaining; - } - - // If this was an empty animation, synthesize a final progress notification - if ( !length ) { - deferred.notifyWith( elem, [ animation, 1, 0 ] ); - } - - // Resolve the animation and report its conclusion - deferred.resolveWith( elem, [ animation ] ); - return false; - }, - animation = deferred.promise( { - elem: elem, - props: jQuery.extend( {}, properties ), - opts: jQuery.extend( true, { - specialEasing: {}, - easing: jQuery.easing._default - }, options ), - originalProperties: properties, - originalOptions: options, - startTime: fxNow || createFxNow(), - duration: options.duration, - tweens: [], - createTween: function( prop, end ) { - var tween = jQuery.Tween( elem, animation.opts, prop, end, - animation.opts.specialEasing[ prop ] || animation.opts.easing ); - animation.tweens.push( tween ); - return tween; - }, - stop: function( gotoEnd ) { - var index = 0, - - // If we are going to the end, we want to run all the tweens - // otherwise we skip this part - length = gotoEnd ? animation.tweens.length : 0; - if ( stopped ) { - return this; - } - stopped = true; - for ( ; index < length; index++ ) { - animation.tweens[ index ].run( 1 ); - } - - // Resolve when we played the last frame; otherwise, reject - if ( gotoEnd ) { - deferred.notifyWith( elem, [ animation, 1, 0 ] ); - deferred.resolveWith( elem, [ animation, gotoEnd ] ); - } else { - deferred.rejectWith( elem, [ animation, gotoEnd ] ); - } - return this; - } - } ), - props = animation.props; - - propFilter( props, animation.opts.specialEasing ); - - for ( ; index < length; index++ ) { - result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); - if ( result ) { - if ( isFunction( result.stop ) ) { - jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = - result.stop.bind( result ); - } - return result; - } - } - - jQuery.map( props, createTween, animation ); - - if ( isFunction( animation.opts.start ) ) { - animation.opts.start.call( elem, animation ); - } - - // Attach callbacks from options - animation - .progress( animation.opts.progress ) - .done( animation.opts.done, animation.opts.complete ) - .fail( animation.opts.fail ) - .always( animation.opts.always ); - - jQuery.fx.timer( - jQuery.extend( tick, { - elem: elem, - anim: animation, - queue: animation.opts.queue - } ) - ); - - return animation; -} - -jQuery.Animation = jQuery.extend( Animation, { - - tweeners: { - "*": [ function( prop, value ) { - var tween = this.createTween( prop, value ); - adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); - return tween; - } ] - }, - - tweener: function( props, callback ) { - if ( isFunction( props ) ) { - callback = props; - props = [ "*" ]; - } else { - props = props.match( rnothtmlwhite ); - } - - var prop, - index = 0, - length = props.length; - - for ( ; index < length; index++ ) { - prop = props[ index ]; - Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; - Animation.tweeners[ prop ].unshift( callback ); - } - }, - - prefilters: [ defaultPrefilter ], - - prefilter: function( callback, prepend ) { - if ( prepend ) { - Animation.prefilters.unshift( callback ); - } else { - Animation.prefilters.push( callback ); - } - } -} ); - -jQuery.speed = function( speed, easing, fn ) { - var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { - complete: fn || !fn && easing || - isFunction( speed ) && speed, - duration: speed, - easing: fn && easing || easing && !isFunction( easing ) && easing - }; - - // Go to the end state if fx are off - if ( jQuery.fx.off ) { - opt.duration = 0; - - } else { - if ( typeof opt.duration !== "number" ) { - if ( opt.duration in jQuery.fx.speeds ) { - opt.duration = jQuery.fx.speeds[ opt.duration ]; - - } else { - opt.duration = jQuery.fx.speeds._default; - } - } - } - - // Normalize opt.queue - true/undefined/null -> "fx" - if ( opt.queue == null || opt.queue === true ) { - opt.queue = "fx"; - } - - // Queueing - opt.old = opt.complete; - - opt.complete = function() { - if ( isFunction( opt.old ) ) { - opt.old.call( this ); - } - - if ( opt.queue ) { - jQuery.dequeue( this, opt.queue ); - } - }; - - return opt; -}; - -jQuery.fn.extend( { - fadeTo: function( speed, to, easing, callback ) { - - // Show any hidden elements after setting opacity to 0 - return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() - - // Animate to the value specified - .end().animate( { opacity: to }, speed, easing, callback ); - }, - animate: function( prop, speed, easing, callback ) { - var empty = jQuery.isEmptyObject( prop ), - optall = jQuery.speed( speed, easing, callback ), - doAnimation = function() { - - // Operate on a copy of prop so per-property easing won't be lost - var anim = Animation( this, jQuery.extend( {}, prop ), optall ); - - // Empty animations, or finishing resolves immediately - if ( empty || dataPriv.get( this, "finish" ) ) { - anim.stop( true ); - } - }; - doAnimation.finish = doAnimation; - - return empty || optall.queue === false ? - this.each( doAnimation ) : - this.queue( optall.queue, doAnimation ); - }, - stop: function( type, clearQueue, gotoEnd ) { - var stopQueue = function( hooks ) { - var stop = hooks.stop; - delete hooks.stop; - stop( gotoEnd ); - }; - - if ( typeof type !== "string" ) { - gotoEnd = clearQueue; - clearQueue = type; - type = undefined; - } - if ( clearQueue ) { - this.queue( type || "fx", [] ); - } - - return this.each( function() { - var dequeue = true, - index = type != null && type + "queueHooks", - timers = jQuery.timers, - data = dataPriv.get( this ); - - if ( index ) { - if ( data[ index ] && data[ index ].stop ) { - stopQueue( data[ index ] ); - } - } else { - for ( index in data ) { - if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { - stopQueue( data[ index ] ); - } - } - } - - for ( index = timers.length; index--; ) { - if ( timers[ index ].elem === this && - ( type == null || timers[ index ].queue === type ) ) { - - timers[ index ].anim.stop( gotoEnd ); - dequeue = false; - timers.splice( index, 1 ); - } - } - - // Start the next in the queue if the last step wasn't forced. - // Timers currently will call their complete callbacks, which - // will dequeue but only if they were gotoEnd. - if ( dequeue || !gotoEnd ) { - jQuery.dequeue( this, type ); - } - } ); - }, - finish: function( type ) { - if ( type !== false ) { - type = type || "fx"; - } - return this.each( function() { - var index, - data = dataPriv.get( this ), - queue = data[ type + "queue" ], - hooks = data[ type + "queueHooks" ], - timers = jQuery.timers, - length = queue ? queue.length : 0; - - // Enable finishing flag on private data - data.finish = true; - - // Empty the queue first - jQuery.queue( this, type, [] ); - - if ( hooks && hooks.stop ) { - hooks.stop.call( this, true ); - } - - // Look for any active animations, and finish them - for ( index = timers.length; index--; ) { - if ( timers[ index ].elem === this && timers[ index ].queue === type ) { - timers[ index ].anim.stop( true ); - timers.splice( index, 1 ); - } - } - - // Look for any animations in the old queue and finish them - for ( index = 0; index < length; index++ ) { - if ( queue[ index ] && queue[ index ].finish ) { - queue[ index ].finish.call( this ); - } - } - - // Turn off finishing flag - delete data.finish; - } ); - } -} ); - -jQuery.each( [ "toggle", "show", "hide" ], function( _i, name ) { - var cssFn = jQuery.fn[ name ]; - jQuery.fn[ name ] = function( speed, easing, callback ) { - return speed == null || typeof speed === "boolean" ? - cssFn.apply( this, arguments ) : - this.animate( genFx( name, true ), speed, easing, callback ); - }; -} ); - -// Generate shortcuts for custom animations -jQuery.each( { - slideDown: genFx( "show" ), - slideUp: genFx( "hide" ), - slideToggle: genFx( "toggle" ), - fadeIn: { opacity: "show" }, - fadeOut: { opacity: "hide" }, - fadeToggle: { opacity: "toggle" } -}, function( name, props ) { - jQuery.fn[ name ] = function( speed, easing, callback ) { - return this.animate( props, speed, easing, callback ); - }; -} ); - -jQuery.timers = []; -jQuery.fx.tick = function() { - var timer, - i = 0, - timers = jQuery.timers; - - fxNow = Date.now(); - - for ( ; i < timers.length; i++ ) { - timer = timers[ i ]; - - // Run the timer and safely remove it when done (allowing for external removal) - if ( !timer() && timers[ i ] === timer ) { - timers.splice( i--, 1 ); - } - } - - if ( !timers.length ) { - jQuery.fx.stop(); - } - fxNow = undefined; -}; - -jQuery.fx.timer = function( timer ) { - jQuery.timers.push( timer ); - jQuery.fx.start(); -}; - -jQuery.fx.interval = 13; -jQuery.fx.start = function() { - if ( inProgress ) { - return; - } - - inProgress = true; - schedule(); -}; - -jQuery.fx.stop = function() { - inProgress = null; -}; - -jQuery.fx.speeds = { - slow: 600, - fast: 200, - - // Default speed - _default: 400 -}; - - -// Based off of the plugin by Clint Helfers, with permission. -// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ -jQuery.fn.delay = function( time, type ) { - time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; - type = type || "fx"; - - return this.queue( type, function( next, hooks ) { - var timeout = window.setTimeout( next, time ); - hooks.stop = function() { - window.clearTimeout( timeout ); - }; - } ); -}; - - -( function() { - var input = document.createElement( "input" ), - select = document.createElement( "select" ), - opt = select.appendChild( document.createElement( "option" ) ); - - input.type = "checkbox"; - - // Support: Android <=4.3 only - // Default value for a checkbox should be "on" - support.checkOn = input.value !== ""; - - // Support: IE <=11 only - // Must access selectedIndex to make default options select - support.optSelected = opt.selected; - - // Support: IE <=11 only - // An input loses its value after becoming a radio - input = document.createElement( "input" ); - input.value = "t"; - input.type = "radio"; - support.radioValue = input.value === "t"; -} )(); - - -var boolHook, - attrHandle = jQuery.expr.attrHandle; - -jQuery.fn.extend( { - attr: function( name, value ) { - return access( this, jQuery.attr, name, value, arguments.length > 1 ); - }, - - removeAttr: function( name ) { - return this.each( function() { - jQuery.removeAttr( this, name ); - } ); - } -} ); - -jQuery.extend( { - attr: function( elem, name, value ) { - var ret, hooks, - nType = elem.nodeType; - - // Don't get/set attributes on text, comment and attribute nodes - if ( nType === 3 || nType === 8 || nType === 2 ) { - return; - } - - // Fallback to prop when attributes are not supported - if ( typeof elem.getAttribute === "undefined" ) { - return jQuery.prop( elem, name, value ); - } - - // Attribute hooks are determined by the lowercase version - // Grab necessary hook if one is defined - if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { - hooks = jQuery.attrHooks[ name.toLowerCase() ] || - ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); - } - - if ( value !== undefined ) { - if ( value === null ) { - jQuery.removeAttr( elem, name ); - return; - } - - if ( hooks && "set" in hooks && - ( ret = hooks.set( elem, value, name ) ) !== undefined ) { - return ret; - } - - elem.setAttribute( name, value + "" ); - return value; - } - - if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { - return ret; - } - - ret = jQuery.find.attr( elem, name ); - - // Non-existent attributes return null, we normalize to undefined - return ret == null ? undefined : ret; - }, - - attrHooks: { - type: { - set: function( elem, value ) { - if ( !support.radioValue && value === "radio" && - nodeName( elem, "input" ) ) { - var val = elem.value; - elem.setAttribute( "type", value ); - if ( val ) { - elem.value = val; - } - return value; - } - } - } - }, - - removeAttr: function( elem, value ) { - var name, - i = 0, - - // Attribute names can contain non-HTML whitespace characters - // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 - attrNames = value && value.match( rnothtmlwhite ); - - if ( attrNames && elem.nodeType === 1 ) { - while ( ( name = attrNames[ i++ ] ) ) { - elem.removeAttribute( name ); - } - } - } -} ); - -// Hooks for boolean attributes -boolHook = { - set: function( elem, value, name ) { - if ( value === false ) { - - // Remove boolean attributes when set to false - jQuery.removeAttr( elem, name ); - } else { - elem.setAttribute( name, name ); - } - return name; - } -}; - -jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) { - var getter = attrHandle[ name ] || jQuery.find.attr; - - attrHandle[ name ] = function( elem, name, isXML ) { - var ret, handle, - lowercaseName = name.toLowerCase(); - - if ( !isXML ) { - - // Avoid an infinite loop by temporarily removing this function from the getter - handle = attrHandle[ lowercaseName ]; - attrHandle[ lowercaseName ] = ret; - ret = getter( elem, name, isXML ) != null ? - lowercaseName : - null; - attrHandle[ lowercaseName ] = handle; - } - return ret; - }; -} ); - - - - -var rfocusable = /^(?:input|select|textarea|button)$/i, - rclickable = /^(?:a|area)$/i; - -jQuery.fn.extend( { - prop: function( name, value ) { - return access( this, jQuery.prop, name, value, arguments.length > 1 ); - }, - - removeProp: function( name ) { - return this.each( function() { - delete this[ jQuery.propFix[ name ] || name ]; - } ); - } -} ); - -jQuery.extend( { - prop: function( elem, name, value ) { - var ret, hooks, - nType = elem.nodeType; - - // Don't get/set properties on text, comment and attribute nodes - if ( nType === 3 || nType === 8 || nType === 2 ) { - return; - } - - if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { - - // Fix name and attach hooks - name = jQuery.propFix[ name ] || name; - hooks = jQuery.propHooks[ name ]; - } - - if ( value !== undefined ) { - if ( hooks && "set" in hooks && - ( ret = hooks.set( elem, value, name ) ) !== undefined ) { - return ret; - } - - return ( elem[ name ] = value ); - } - - if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { - return ret; - } - - return elem[ name ]; - }, - - propHooks: { - tabIndex: { - get: function( elem ) { - - // Support: IE <=9 - 11 only - // elem.tabIndex doesn't always return the - // correct value when it hasn't been explicitly set - // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ - // Use proper attribute retrieval(#12072) - var tabindex = jQuery.find.attr( elem, "tabindex" ); - - if ( tabindex ) { - return parseInt( tabindex, 10 ); - } - - if ( - rfocusable.test( elem.nodeName ) || - rclickable.test( elem.nodeName ) && - elem.href - ) { - return 0; - } - - return -1; - } - } - }, - - propFix: { - "for": "htmlFor", - "class": "className" - } -} ); - -// Support: IE <=11 only -// Accessing the selectedIndex property -// forces the browser to respect setting selected -// on the option -// The getter ensures a default option is selected -// when in an optgroup -// eslint rule "no-unused-expressions" is disabled for this code -// since it considers such accessions noop -if ( !support.optSelected ) { - jQuery.propHooks.selected = { - get: function( elem ) { - - /* eslint no-unused-expressions: "off" */ - - var parent = elem.parentNode; - if ( parent && parent.parentNode ) { - parent.parentNode.selectedIndex; - } - return null; - }, - set: function( elem ) { - - /* eslint no-unused-expressions: "off" */ - - var parent = elem.parentNode; - if ( parent ) { - parent.selectedIndex; - - if ( parent.parentNode ) { - parent.parentNode.selectedIndex; - } - } - } - }; -} - -jQuery.each( [ - "tabIndex", - "readOnly", - "maxLength", - "cellSpacing", - "cellPadding", - "rowSpan", - "colSpan", - "useMap", - "frameBorder", - "contentEditable" -], function() { - jQuery.propFix[ this.toLowerCase() ] = this; -} ); - - - - - // Strip and collapse whitespace according to HTML spec - // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace - function stripAndCollapse( value ) { - var tokens = value.match( rnothtmlwhite ) || []; - return tokens.join( " " ); - } - - -function getClass( elem ) { - return elem.getAttribute && elem.getAttribute( "class" ) || ""; -} - -function classesToArray( value ) { - if ( Array.isArray( value ) ) { - return value; - } - if ( typeof value === "string" ) { - return value.match( rnothtmlwhite ) || []; - } - return []; -} - -jQuery.fn.extend( { - addClass: function( value ) { - var classes, elem, cur, curValue, clazz, j, finalValue, - i = 0; - - if ( isFunction( value ) ) { - return this.each( function( j ) { - jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); - } ); - } - - classes = classesToArray( value ); - - if ( classes.length ) { - while ( ( elem = this[ i++ ] ) ) { - curValue = getClass( elem ); - cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); - - if ( cur ) { - j = 0; - while ( ( clazz = classes[ j++ ] ) ) { - if ( cur.indexOf( " " + clazz + " " ) < 0 ) { - cur += clazz + " "; - } - } - - // Only assign if different to avoid unneeded rendering. - finalValue = stripAndCollapse( cur ); - if ( curValue !== finalValue ) { - elem.setAttribute( "class", finalValue ); - } - } - } - } - - return this; - }, - - removeClass: function( value ) { - var classes, elem, cur, curValue, clazz, j, finalValue, - i = 0; - - if ( isFunction( value ) ) { - return this.each( function( j ) { - jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); - } ); - } - - if ( !arguments.length ) { - return this.attr( "class", "" ); - } - - classes = classesToArray( value ); - - if ( classes.length ) { - while ( ( elem = this[ i++ ] ) ) { - curValue = getClass( elem ); - - // This expression is here for better compressibility (see addClass) - cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); - - if ( cur ) { - j = 0; - while ( ( clazz = classes[ j++ ] ) ) { - - // Remove *all* instances - while ( cur.indexOf( " " + clazz + " " ) > -1 ) { - cur = cur.replace( " " + clazz + " ", " " ); - } - } - - // Only assign if different to avoid unneeded rendering. - finalValue = stripAndCollapse( cur ); - if ( curValue !== finalValue ) { - elem.setAttribute( "class", finalValue ); - } - } - } - } - - return this; - }, - - toggleClass: function( value, stateVal ) { - var type = typeof value, - isValidValue = type === "string" || Array.isArray( value ); - - if ( typeof stateVal === "boolean" && isValidValue ) { - return stateVal ? this.addClass( value ) : this.removeClass( value ); - } - - if ( isFunction( value ) ) { - return this.each( function( i ) { - jQuery( this ).toggleClass( - value.call( this, i, getClass( this ), stateVal ), - stateVal - ); - } ); - } - - return this.each( function() { - var className, i, self, classNames; - - if ( isValidValue ) { - - // Toggle individual class names - i = 0; - self = jQuery( this ); - classNames = classesToArray( value ); - - while ( ( className = classNames[ i++ ] ) ) { - - // Check each className given, space separated list - if ( self.hasClass( className ) ) { - self.removeClass( className ); - } else { - self.addClass( className ); - } - } - - // Toggle whole class name - } else if ( value === undefined || type === "boolean" ) { - className = getClass( this ); - if ( className ) { - - // Store className if set - dataPriv.set( this, "__className__", className ); - } - - // If the element has a class name or if we're passed `false`, - // then remove the whole classname (if there was one, the above saved it). - // Otherwise bring back whatever was previously saved (if anything), - // falling back to the empty string if nothing was stored. - if ( this.setAttribute ) { - this.setAttribute( "class", - className || value === false ? - "" : - dataPriv.get( this, "__className__" ) || "" - ); - } - } - } ); - }, - - hasClass: function( selector ) { - var className, elem, - i = 0; - - className = " " + selector + " "; - while ( ( elem = this[ i++ ] ) ) { - if ( elem.nodeType === 1 && - ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { - return true; - } - } - - return false; - } -} ); - - - - -var rreturn = /\r/g; - -jQuery.fn.extend( { - val: function( value ) { - var hooks, ret, valueIsFunction, - elem = this[ 0 ]; - - if ( !arguments.length ) { - if ( elem ) { - hooks = jQuery.valHooks[ elem.type ] || - jQuery.valHooks[ elem.nodeName.toLowerCase() ]; - - if ( hooks && - "get" in hooks && - ( ret = hooks.get( elem, "value" ) ) !== undefined - ) { - return ret; - } - - ret = elem.value; - - // Handle most common string cases - if ( typeof ret === "string" ) { - return ret.replace( rreturn, "" ); - } - - // Handle cases where value is null/undef or number - return ret == null ? "" : ret; - } - - return; - } - - valueIsFunction = isFunction( value ); - - return this.each( function( i ) { - var val; - - if ( this.nodeType !== 1 ) { - return; - } - - if ( valueIsFunction ) { - val = value.call( this, i, jQuery( this ).val() ); - } else { - val = value; - } - - // Treat null/undefined as ""; convert numbers to string - if ( val == null ) { - val = ""; - - } else if ( typeof val === "number" ) { - val += ""; - - } else if ( Array.isArray( val ) ) { - val = jQuery.map( val, function( value ) { - return value == null ? "" : value + ""; - } ); - } - - hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; - - // If set returns undefined, fall back to normal setting - if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { - this.value = val; - } - } ); - } -} ); - -jQuery.extend( { - valHooks: { - option: { - get: function( elem ) { - - var val = jQuery.find.attr( elem, "value" ); - return val != null ? - val : - - // Support: IE <=10 - 11 only - // option.text throws exceptions (#14686, #14858) - // Strip and collapse whitespace - // https://html.spec.whatwg.org/#strip-and-collapse-whitespace - stripAndCollapse( jQuery.text( elem ) ); - } - }, - select: { - get: function( elem ) { - var value, option, i, - options = elem.options, - index = elem.selectedIndex, - one = elem.type === "select-one", - values = one ? null : [], - max = one ? index + 1 : options.length; - - if ( index < 0 ) { - i = max; - - } else { - i = one ? index : 0; - } - - // Loop through all the selected options - for ( ; i < max; i++ ) { - option = options[ i ]; - - // Support: IE <=9 only - // IE8-9 doesn't update selected after form reset (#2551) - if ( ( option.selected || i === index ) && - - // Don't return options that are disabled or in a disabled optgroup - !option.disabled && - ( !option.parentNode.disabled || - !nodeName( option.parentNode, "optgroup" ) ) ) { - - // Get the specific value for the option - value = jQuery( option ).val(); - - // We don't need an array for one selects - if ( one ) { - return value; - } - - // Multi-Selects return an array - values.push( value ); - } - } - - return values; - }, - - set: function( elem, value ) { - var optionSet, option, - options = elem.options, - values = jQuery.makeArray( value ), - i = options.length; - - while ( i-- ) { - option = options[ i ]; - - /* eslint-disable no-cond-assign */ - - if ( option.selected = - jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 - ) { - optionSet = true; - } - - /* eslint-enable no-cond-assign */ - } - - // Force browsers to behave consistently when non-matching value is set - if ( !optionSet ) { - elem.selectedIndex = -1; - } - return values; - } - } - } -} ); - -// Radios and checkboxes getter/setter -jQuery.each( [ "radio", "checkbox" ], function() { - jQuery.valHooks[ this ] = { - set: function( elem, value ) { - if ( Array.isArray( value ) ) { - return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); - } - } - }; - if ( !support.checkOn ) { - jQuery.valHooks[ this ].get = function( elem ) { - return elem.getAttribute( "value" ) === null ? "on" : elem.value; - }; - } -} ); - - - - -// Return jQuery for attributes-only inclusion - - -support.focusin = "onfocusin" in window; - - -var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, - stopPropagationCallback = function( e ) { - e.stopPropagation(); - }; - -jQuery.extend( jQuery.event, { - - trigger: function( event, data, elem, onlyHandlers ) { - - var i, cur, tmp, bubbleType, ontype, handle, special, lastElement, - eventPath = [ elem || document ], - type = hasOwn.call( event, "type" ) ? event.type : event, - namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; - - cur = lastElement = tmp = elem = elem || document; - - // Don't do events on text and comment nodes - if ( elem.nodeType === 3 || elem.nodeType === 8 ) { - return; - } - - // focus/blur morphs to focusin/out; ensure we're not firing them right now - if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { - return; - } - - if ( type.indexOf( "." ) > -1 ) { - - // Namespaced trigger; create a regexp to match event type in handle() - namespaces = type.split( "." ); - type = namespaces.shift(); - namespaces.sort(); - } - ontype = type.indexOf( ":" ) < 0 && "on" + type; - - // Caller can pass in a jQuery.Event object, Object, or just an event type string - event = event[ jQuery.expando ] ? - event : - new jQuery.Event( type, typeof event === "object" && event ); - - // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) - event.isTrigger = onlyHandlers ? 2 : 3; - event.namespace = namespaces.join( "." ); - event.rnamespace = event.namespace ? - new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : - null; - - // Clean up the event in case it is being reused - event.result = undefined; - if ( !event.target ) { - event.target = elem; - } - - // Clone any incoming data and prepend the event, creating the handler arg list - data = data == null ? - [ event ] : - jQuery.makeArray( data, [ event ] ); - - // Allow special events to draw outside the lines - special = jQuery.event.special[ type ] || {}; - if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { - return; - } - - // Determine event propagation path in advance, per W3C events spec (#9951) - // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) - if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) { - - bubbleType = special.delegateType || type; - if ( !rfocusMorph.test( bubbleType + type ) ) { - cur = cur.parentNode; - } - for ( ; cur; cur = cur.parentNode ) { - eventPath.push( cur ); - tmp = cur; - } - - // Only add window if we got to document (e.g., not plain obj or detached DOM) - if ( tmp === ( elem.ownerDocument || document ) ) { - eventPath.push( tmp.defaultView || tmp.parentWindow || window ); - } - } - - // Fire handlers on the event path - i = 0; - while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { - lastElement = cur; - event.type = i > 1 ? - bubbleType : - special.bindType || type; - - // jQuery handler - handle = ( - dataPriv.get( cur, "events" ) || Object.create( null ) - )[ event.type ] && - dataPriv.get( cur, "handle" ); - if ( handle ) { - handle.apply( cur, data ); - } - - // Native handler - handle = ontype && cur[ ontype ]; - if ( handle && handle.apply && acceptData( cur ) ) { - event.result = handle.apply( cur, data ); - if ( event.result === false ) { - event.preventDefault(); - } - } - } - event.type = type; - - // If nobody prevented the default action, do it now - if ( !onlyHandlers && !event.isDefaultPrevented() ) { - - if ( ( !special._default || - special._default.apply( eventPath.pop(), data ) === false ) && - acceptData( elem ) ) { - - // Call a native DOM method on the target with the same name as the event. - // Don't do default actions on window, that's where global variables be (#6170) - if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) { - - // Don't re-trigger an onFOO event when we call its FOO() method - tmp = elem[ ontype ]; - - if ( tmp ) { - elem[ ontype ] = null; - } - - // Prevent re-triggering of the same event, since we already bubbled it above - jQuery.event.triggered = type; - - if ( event.isPropagationStopped() ) { - lastElement.addEventListener( type, stopPropagationCallback ); - } - - elem[ type ](); - - if ( event.isPropagationStopped() ) { - lastElement.removeEventListener( type, stopPropagationCallback ); - } - - jQuery.event.triggered = undefined; - - if ( tmp ) { - elem[ ontype ] = tmp; - } - } - } - } - - return event.result; - }, - - // Piggyback on a donor event to simulate a different one - // Used only for `focus(in | out)` events - simulate: function( type, elem, event ) { - var e = jQuery.extend( - new jQuery.Event(), - event, - { - type: type, - isSimulated: true - } - ); - - jQuery.event.trigger( e, null, elem ); - } - -} ); - -jQuery.fn.extend( { - - trigger: function( type, data ) { - return this.each( function() { - jQuery.event.trigger( type, data, this ); - } ); - }, - triggerHandler: function( type, data ) { - var elem = this[ 0 ]; - if ( elem ) { - return jQuery.event.trigger( type, data, elem, true ); - } - } -} ); - - -// Support: Firefox <=44 -// Firefox doesn't have focus(in | out) events -// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 -// -// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 -// focus(in | out) events fire after focus & blur events, -// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order -// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 -if ( !support.focusin ) { - jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { - - // Attach a single capturing handler on the document while someone wants focusin/focusout - var handler = function( event ) { - jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); - }; - - jQuery.event.special[ fix ] = { - setup: function() { - - // Handle: regular nodes (via `this.ownerDocument`), window - // (via `this.document`) & document (via `this`). - var doc = this.ownerDocument || this.document || this, - attaches = dataPriv.access( doc, fix ); - - if ( !attaches ) { - doc.addEventListener( orig, handler, true ); - } - dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); - }, - teardown: function() { - var doc = this.ownerDocument || this.document || this, - attaches = dataPriv.access( doc, fix ) - 1; - - if ( !attaches ) { - doc.removeEventListener( orig, handler, true ); - dataPriv.remove( doc, fix ); - - } else { - dataPriv.access( doc, fix, attaches ); - } - } - }; - } ); -} -var location = window.location; - -var nonce = { guid: Date.now() }; - -var rquery = ( /\?/ ); - - - -// Cross-browser xml parsing -jQuery.parseXML = function( data ) { - var xml; - if ( !data || typeof data !== "string" ) { - return null; - } - - // Support: IE 9 - 11 only - // IE throws on parseFromString with invalid input. - try { - xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); - } catch ( e ) { - xml = undefined; - } - - if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { - jQuery.error( "Invalid XML: " + data ); - } - return xml; -}; - - -var - rbracket = /\[\]$/, - rCRLF = /\r?\n/g, - rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, - rsubmittable = /^(?:input|select|textarea|keygen)/i; - -function buildParams( prefix, obj, traditional, add ) { - var name; - - if ( Array.isArray( obj ) ) { - - // Serialize array item. - jQuery.each( obj, function( i, v ) { - if ( traditional || rbracket.test( prefix ) ) { - - // Treat each array item as a scalar. - add( prefix, v ); - - } else { - - // Item is non-scalar (array or object), encode its numeric index. - buildParams( - prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", - v, - traditional, - add - ); - } - } ); - - } else if ( !traditional && toType( obj ) === "object" ) { - - // Serialize object item. - for ( name in obj ) { - buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); - } - - } else { - - // Serialize scalar item. - add( prefix, obj ); - } -} - -// Serialize an array of form elements or a set of -// key/values into a query string -jQuery.param = function( a, traditional ) { - var prefix, - s = [], - add = function( key, valueOrFunction ) { - - // If value is a function, invoke it and use its return value - var value = isFunction( valueOrFunction ) ? - valueOrFunction() : - valueOrFunction; - - s[ s.length ] = encodeURIComponent( key ) + "=" + - encodeURIComponent( value == null ? "" : value ); - }; - - if ( a == null ) { - return ""; - } - - // If an array was passed in, assume that it is an array of form elements. - if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { - - // Serialize the form elements - jQuery.each( a, function() { - add( this.name, this.value ); - } ); - - } else { - - // If traditional, encode the "old" way (the way 1.3.2 or older - // did it), otherwise encode params recursively. - for ( prefix in a ) { - buildParams( prefix, a[ prefix ], traditional, add ); - } - } - - // Return the resulting serialization - return s.join( "&" ); -}; - -jQuery.fn.extend( { - serialize: function() { - return jQuery.param( this.serializeArray() ); - }, - serializeArray: function() { - return this.map( function() { - - // Can add propHook for "elements" to filter or add form elements - var elements = jQuery.prop( this, "elements" ); - return elements ? jQuery.makeArray( elements ) : this; - } ) - .filter( function() { - var type = this.type; - - // Use .is( ":disabled" ) so that fieldset[disabled] works - return this.name && !jQuery( this ).is( ":disabled" ) && - rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && - ( this.checked || !rcheckableType.test( type ) ); - } ) - .map( function( _i, elem ) { - var val = jQuery( this ).val(); - - if ( val == null ) { - return null; - } - - if ( Array.isArray( val ) ) { - return jQuery.map( val, function( val ) { - return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; - } ); - } - - return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; - } ).get(); - } -} ); - - -var - r20 = /%20/g, - rhash = /#.*$/, - rantiCache = /([?&])_=[^&]*/, - rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, - - // #7653, #8125, #8152: local protocol detection - rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, - rnoContent = /^(?:GET|HEAD)$/, - rprotocol = /^\/\//, - - /* Prefilters - * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) - * 2) These are called: - * - BEFORE asking for a transport - * - AFTER param serialization (s.data is a string if s.processData is true) - * 3) key is the dataType - * 4) the catchall symbol "*" can be used - * 5) execution will start with transport dataType and THEN continue down to "*" if needed - */ - prefilters = {}, - - /* Transports bindings - * 1) key is the dataType - * 2) the catchall symbol "*" can be used - * 3) selection will start with transport dataType and THEN go to "*" if needed - */ - transports = {}, - - // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression - allTypes = "*/".concat( "*" ), - - // Anchor tag for parsing the document origin - originAnchor = document.createElement( "a" ); - originAnchor.href = location.href; - -// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport -function addToPrefiltersOrTransports( structure ) { - - // dataTypeExpression is optional and defaults to "*" - return function( dataTypeExpression, func ) { - - if ( typeof dataTypeExpression !== "string" ) { - func = dataTypeExpression; - dataTypeExpression = "*"; - } - - var dataType, - i = 0, - dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; - - if ( isFunction( func ) ) { - - // For each dataType in the dataTypeExpression - while ( ( dataType = dataTypes[ i++ ] ) ) { - - // Prepend if requested - if ( dataType[ 0 ] === "+" ) { - dataType = dataType.slice( 1 ) || "*"; - ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); - - // Otherwise append - } else { - ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); - } - } - } - }; -} - -// Base inspection function for prefilters and transports -function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { - - var inspected = {}, - seekingTransport = ( structure === transports ); - - function inspect( dataType ) { - var selected; - inspected[ dataType ] = true; - jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { - var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); - if ( typeof dataTypeOrTransport === "string" && - !seekingTransport && !inspected[ dataTypeOrTransport ] ) { - - options.dataTypes.unshift( dataTypeOrTransport ); - inspect( dataTypeOrTransport ); - return false; - } else if ( seekingTransport ) { - return !( selected = dataTypeOrTransport ); - } - } ); - return selected; - } - - return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); -} - -// A special extend for ajax options -// that takes "flat" options (not to be deep extended) -// Fixes #9887 -function ajaxExtend( target, src ) { - var key, deep, - flatOptions = jQuery.ajaxSettings.flatOptions || {}; - - for ( key in src ) { - if ( src[ key ] !== undefined ) { - ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; - } - } - if ( deep ) { - jQuery.extend( true, target, deep ); - } - - return target; -} - -/* Handles responses to an ajax request: - * - finds the right dataType (mediates between content-type and expected dataType) - * - returns the corresponding response - */ -function ajaxHandleResponses( s, jqXHR, responses ) { - - var ct, type, finalDataType, firstDataType, - contents = s.contents, - dataTypes = s.dataTypes; - - // Remove auto dataType and get content-type in the process - while ( dataTypes[ 0 ] === "*" ) { - dataTypes.shift(); - if ( ct === undefined ) { - ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); - } - } - - // Check if we're dealing with a known content-type - if ( ct ) { - for ( type in contents ) { - if ( contents[ type ] && contents[ type ].test( ct ) ) { - dataTypes.unshift( type ); - break; - } - } - } - - // Check to see if we have a response for the expected dataType - if ( dataTypes[ 0 ] in responses ) { - finalDataType = dataTypes[ 0 ]; - } else { - - // Try convertible dataTypes - for ( type in responses ) { - if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { - finalDataType = type; - break; - } - if ( !firstDataType ) { - firstDataType = type; - } - } - - // Or just use first one - finalDataType = finalDataType || firstDataType; - } - - // If we found a dataType - // We add the dataType to the list if needed - // and return the corresponding response - if ( finalDataType ) { - if ( finalDataType !== dataTypes[ 0 ] ) { - dataTypes.unshift( finalDataType ); - } - return responses[ finalDataType ]; - } -} - -/* Chain conversions given the request and the original response - * Also sets the responseXXX fields on the jqXHR instance - */ -function ajaxConvert( s, response, jqXHR, isSuccess ) { - var conv2, current, conv, tmp, prev, - converters = {}, - - // Work with a copy of dataTypes in case we need to modify it for conversion - dataTypes = s.dataTypes.slice(); - - // Create converters map with lowercased keys - if ( dataTypes[ 1 ] ) { - for ( conv in s.converters ) { - converters[ conv.toLowerCase() ] = s.converters[ conv ]; - } - } - - current = dataTypes.shift(); - - // Convert to each sequential dataType - while ( current ) { - - if ( s.responseFields[ current ] ) { - jqXHR[ s.responseFields[ current ] ] = response; - } - - // Apply the dataFilter if provided - if ( !prev && isSuccess && s.dataFilter ) { - response = s.dataFilter( response, s.dataType ); - } - - prev = current; - current = dataTypes.shift(); - - if ( current ) { - - // There's only work to do if current dataType is non-auto - if ( current === "*" ) { - - current = prev; - - // Convert response if prev dataType is non-auto and differs from current - } else if ( prev !== "*" && prev !== current ) { - - // Seek a direct converter - conv = converters[ prev + " " + current ] || converters[ "* " + current ]; - - // If none found, seek a pair - if ( !conv ) { - for ( conv2 in converters ) { - - // If conv2 outputs current - tmp = conv2.split( " " ); - if ( tmp[ 1 ] === current ) { - - // If prev can be converted to accepted input - conv = converters[ prev + " " + tmp[ 0 ] ] || - converters[ "* " + tmp[ 0 ] ]; - if ( conv ) { - - // Condense equivalence converters - if ( conv === true ) { - conv = converters[ conv2 ]; - - // Otherwise, insert the intermediate dataType - } else if ( converters[ conv2 ] !== true ) { - current = tmp[ 0 ]; - dataTypes.unshift( tmp[ 1 ] ); - } - break; - } - } - } - } - - // Apply converter (if not an equivalence) - if ( conv !== true ) { - - // Unless errors are allowed to bubble, catch and return them - if ( conv && s.throws ) { - response = conv( response ); - } else { - try { - response = conv( response ); - } catch ( e ) { - return { - state: "parsererror", - error: conv ? e : "No conversion from " + prev + " to " + current - }; - } - } - } - } - } - } - - return { state: "success", data: response }; -} - -jQuery.extend( { - - // Counter for holding the number of active queries - active: 0, - - // Last-Modified header cache for next request - lastModified: {}, - etag: {}, - - ajaxSettings: { - url: location.href, - type: "GET", - isLocal: rlocalProtocol.test( location.protocol ), - global: true, - processData: true, - async: true, - contentType: "application/x-www-form-urlencoded; charset=UTF-8", - - /* - timeout: 0, - data: null, - dataType: null, - username: null, - password: null, - cache: null, - throws: false, - traditional: false, - headers: {}, - */ - - accepts: { - "*": allTypes, - text: "text/plain", - html: "text/html", - xml: "application/xml, text/xml", - json: "application/json, text/javascript" - }, - - contents: { - xml: /\bxml\b/, - html: /\bhtml/, - json: /\bjson\b/ - }, - - responseFields: { - xml: "responseXML", - text: "responseText", - json: "responseJSON" - }, - - // Data converters - // Keys separate source (or catchall "*") and destination types with a single space - converters: { - - // Convert anything to text - "* text": String, - - // Text to html (true = no transformation) - "text html": true, - - // Evaluate text as a json expression - "text json": JSON.parse, - - // Parse text as xml - "text xml": jQuery.parseXML - }, - - // For options that shouldn't be deep extended: - // you can add your own custom options here if - // and when you create one that shouldn't be - // deep extended (see ajaxExtend) - flatOptions: { - url: true, - context: true - } - }, - - // Creates a full fledged settings object into target - // with both ajaxSettings and settings fields. - // If target is omitted, writes into ajaxSettings. - ajaxSetup: function( target, settings ) { - return settings ? - - // Building a settings object - ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : - - // Extending ajaxSettings - ajaxExtend( jQuery.ajaxSettings, target ); - }, - - ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), - ajaxTransport: addToPrefiltersOrTransports( transports ), - - // Main method - ajax: function( url, options ) { - - // If url is an object, simulate pre-1.5 signature - if ( typeof url === "object" ) { - options = url; - url = undefined; - } - - // Force options to be an object - options = options || {}; - - var transport, - - // URL without anti-cache param - cacheURL, - - // Response headers - responseHeadersString, - responseHeaders, - - // timeout handle - timeoutTimer, - - // Url cleanup var - urlAnchor, - - // Request state (becomes false upon send and true upon completion) - completed, - - // To know if global events are to be dispatched - fireGlobals, - - // Loop variable - i, - - // uncached part of the url - uncached, - - // Create the final options object - s = jQuery.ajaxSetup( {}, options ), - - // Callbacks context - callbackContext = s.context || s, - - // Context for global events is callbackContext if it is a DOM node or jQuery collection - globalEventContext = s.context && - ( callbackContext.nodeType || callbackContext.jquery ) ? - jQuery( callbackContext ) : - jQuery.event, - - // Deferreds - deferred = jQuery.Deferred(), - completeDeferred = jQuery.Callbacks( "once memory" ), - - // Status-dependent callbacks - statusCode = s.statusCode || {}, - - // Headers (they are sent all at once) - requestHeaders = {}, - requestHeadersNames = {}, - - // Default abort message - strAbort = "canceled", - - // Fake xhr - jqXHR = { - readyState: 0, - - // Builds headers hashtable if needed - getResponseHeader: function( key ) { - var match; - if ( completed ) { - if ( !responseHeaders ) { - responseHeaders = {}; - while ( ( match = rheaders.exec( responseHeadersString ) ) ) { - responseHeaders[ match[ 1 ].toLowerCase() + " " ] = - ( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] ) - .concat( match[ 2 ] ); - } - } - match = responseHeaders[ key.toLowerCase() + " " ]; - } - return match == null ? null : match.join( ", " ); - }, - - // Raw string - getAllResponseHeaders: function() { - return completed ? responseHeadersString : null; - }, - - // Caches the header - setRequestHeader: function( name, value ) { - if ( completed == null ) { - name = requestHeadersNames[ name.toLowerCase() ] = - requestHeadersNames[ name.toLowerCase() ] || name; - requestHeaders[ name ] = value; - } - return this; - }, - - // Overrides response content-type header - overrideMimeType: function( type ) { - if ( completed == null ) { - s.mimeType = type; - } - return this; - }, - - // Status-dependent callbacks - statusCode: function( map ) { - var code; - if ( map ) { - if ( completed ) { - - // Execute the appropriate callbacks - jqXHR.always( map[ jqXHR.status ] ); - } else { - - // Lazy-add the new callbacks in a way that preserves old ones - for ( code in map ) { - statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; - } - } - } - return this; - }, - - // Cancel the request - abort: function( statusText ) { - var finalText = statusText || strAbort; - if ( transport ) { - transport.abort( finalText ); - } - done( 0, finalText ); - return this; - } - }; - - // Attach deferreds - deferred.promise( jqXHR ); - - // Add protocol if not provided (prefilters might expect it) - // Handle falsy url in the settings object (#10093: consistency with old signature) - // We also use the url parameter if available - s.url = ( ( url || s.url || location.href ) + "" ) - .replace( rprotocol, location.protocol + "//" ); - - // Alias method option to type as per ticket #12004 - s.type = options.method || options.type || s.method || s.type; - - // Extract dataTypes list - s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; - - // A cross-domain request is in order when the origin doesn't match the current origin. - if ( s.crossDomain == null ) { - urlAnchor = document.createElement( "a" ); - - // Support: IE <=8 - 11, Edge 12 - 15 - // IE throws exception on accessing the href property if url is malformed, - // e.g. http://example.com:80x/ - try { - urlAnchor.href = s.url; - - // Support: IE <=8 - 11 only - // Anchor's host property isn't correctly set when s.url is relative - urlAnchor.href = urlAnchor.href; - s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== - urlAnchor.protocol + "//" + urlAnchor.host; - } catch ( e ) { - - // If there is an error parsing the URL, assume it is crossDomain, - // it can be rejected by the transport if it is invalid - s.crossDomain = true; - } - } - - // Convert data if not already a string - if ( s.data && s.processData && typeof s.data !== "string" ) { - s.data = jQuery.param( s.data, s.traditional ); - } - - // Apply prefilters - inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); - - // If request was aborted inside a prefilter, stop there - if ( completed ) { - return jqXHR; - } - - // We can fire global events as of now if asked to - // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) - fireGlobals = jQuery.event && s.global; - - // Watch for a new set of requests - if ( fireGlobals && jQuery.active++ === 0 ) { - jQuery.event.trigger( "ajaxStart" ); - } - - // Uppercase the type - s.type = s.type.toUpperCase(); - - // Determine if request has content - s.hasContent = !rnoContent.test( s.type ); - - // Save the URL in case we're toying with the If-Modified-Since - // and/or If-None-Match header later on - // Remove hash to simplify url manipulation - cacheURL = s.url.replace( rhash, "" ); - - // More options handling for requests with no content - if ( !s.hasContent ) { - - // Remember the hash so we can put it back - uncached = s.url.slice( cacheURL.length ); - - // If data is available and should be processed, append data to url - if ( s.data && ( s.processData || typeof s.data === "string" ) ) { - cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; - - // #9682: remove data so that it's not used in an eventual retry - delete s.data; - } - - // Add or update anti-cache param if needed - if ( s.cache === false ) { - cacheURL = cacheURL.replace( rantiCache, "$1" ); - uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce.guid++ ) + - uncached; - } - - // Put hash and anti-cache on the URL that will be requested (gh-1732) - s.url = cacheURL + uncached; - - // Change '%20' to '+' if this is encoded form body content (gh-2658) - } else if ( s.data && s.processData && - ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { - s.data = s.data.replace( r20, "+" ); - } - - // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. - if ( s.ifModified ) { - if ( jQuery.lastModified[ cacheURL ] ) { - jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); - } - if ( jQuery.etag[ cacheURL ] ) { - jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); - } - } - - // Set the correct header, if data is being sent - if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { - jqXHR.setRequestHeader( "Content-Type", s.contentType ); - } - - // Set the Accepts header for the server, depending on the dataType - jqXHR.setRequestHeader( - "Accept", - s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? - s.accepts[ s.dataTypes[ 0 ] ] + - ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : - s.accepts[ "*" ] - ); - - // Check for headers option - for ( i in s.headers ) { - jqXHR.setRequestHeader( i, s.headers[ i ] ); - } - - // Allow custom headers/mimetypes and early abort - if ( s.beforeSend && - ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { - - // Abort if not done already and return - return jqXHR.abort(); - } - - // Aborting is no longer a cancellation - strAbort = "abort"; - - // Install callbacks on deferreds - completeDeferred.add( s.complete ); - jqXHR.done( s.success ); - jqXHR.fail( s.error ); - - // Get transport - transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); - - // If no transport, we auto-abort - if ( !transport ) { - done( -1, "No Transport" ); - } else { - jqXHR.readyState = 1; - - // Send global event - if ( fireGlobals ) { - globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); - } - - // If request was aborted inside ajaxSend, stop there - if ( completed ) { - return jqXHR; - } - - // Timeout - if ( s.async && s.timeout > 0 ) { - timeoutTimer = window.setTimeout( function() { - jqXHR.abort( "timeout" ); - }, s.timeout ); - } - - try { - completed = false; - transport.send( requestHeaders, done ); - } catch ( e ) { - - // Rethrow post-completion exceptions - if ( completed ) { - throw e; - } - - // Propagate others as results - done( -1, e ); - } - } - - // Callback for when everything is done - function done( status, nativeStatusText, responses, headers ) { - var isSuccess, success, error, response, modified, - statusText = nativeStatusText; - - // Ignore repeat invocations - if ( completed ) { - return; - } - - completed = true; - - // Clear timeout if it exists - if ( timeoutTimer ) { - window.clearTimeout( timeoutTimer ); - } - - // Dereference transport for early garbage collection - // (no matter how long the jqXHR object will be used) - transport = undefined; - - // Cache response headers - responseHeadersString = headers || ""; - - // Set readyState - jqXHR.readyState = status > 0 ? 4 : 0; - - // Determine if successful - isSuccess = status >= 200 && status < 300 || status === 304; - - // Get response data - if ( responses ) { - response = ajaxHandleResponses( s, jqXHR, responses ); - } - - // Use a noop converter for missing script - if ( !isSuccess && jQuery.inArray( "script", s.dataTypes ) > -1 ) { - s.converters[ "text script" ] = function() {}; - } - - // Convert no matter what (that way responseXXX fields are always set) - response = ajaxConvert( s, response, jqXHR, isSuccess ); - - // If successful, handle type chaining - if ( isSuccess ) { - - // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. - if ( s.ifModified ) { - modified = jqXHR.getResponseHeader( "Last-Modified" ); - if ( modified ) { - jQuery.lastModified[ cacheURL ] = modified; - } - modified = jqXHR.getResponseHeader( "etag" ); - if ( modified ) { - jQuery.etag[ cacheURL ] = modified; - } - } - - // if no content - if ( status === 204 || s.type === "HEAD" ) { - statusText = "nocontent"; - - // if not modified - } else if ( status === 304 ) { - statusText = "notmodified"; - - // If we have data, let's convert it - } else { - statusText = response.state; - success = response.data; - error = response.error; - isSuccess = !error; - } - } else { - - // Extract error from statusText and normalize for non-aborts - error = statusText; - if ( status || !statusText ) { - statusText = "error"; - if ( status < 0 ) { - status = 0; - } - } - } - - // Set data for the fake xhr object - jqXHR.status = status; - jqXHR.statusText = ( nativeStatusText || statusText ) + ""; - - // Success/Error - if ( isSuccess ) { - deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); - } else { - deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); - } - - // Status-dependent callbacks - jqXHR.statusCode( statusCode ); - statusCode = undefined; - - if ( fireGlobals ) { - globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", - [ jqXHR, s, isSuccess ? success : error ] ); - } - - // Complete - completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); - - if ( fireGlobals ) { - globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); - - // Handle the global AJAX counter - if ( !( --jQuery.active ) ) { - jQuery.event.trigger( "ajaxStop" ); - } - } - } - - return jqXHR; - }, - - getJSON: function( url, data, callback ) { - return jQuery.get( url, data, callback, "json" ); - }, - - getScript: function( url, callback ) { - return jQuery.get( url, undefined, callback, "script" ); - } -} ); - -jQuery.each( [ "get", "post" ], function( _i, method ) { - jQuery[ method ] = function( url, data, callback, type ) { - - // Shift arguments if data argument was omitted - if ( isFunction( data ) ) { - type = type || callback; - callback = data; - data = undefined; - } - - // The url can be an options object (which then must have .url) - return jQuery.ajax( jQuery.extend( { - url: url, - type: method, - dataType: type, - data: data, - success: callback - }, jQuery.isPlainObject( url ) && url ) ); - }; -} ); - -jQuery.ajaxPrefilter( function( s ) { - var i; - for ( i in s.headers ) { - if ( i.toLowerCase() === "content-type" ) { - s.contentType = s.headers[ i ] || ""; - } - } -} ); - - -jQuery._evalUrl = function( url, options, doc ) { - return jQuery.ajax( { - url: url, - - // Make this explicit, since user can override this through ajaxSetup (#11264) - type: "GET", - dataType: "script", - cache: true, - async: false, - global: false, - - // Only evaluate the response if it is successful (gh-4126) - // dataFilter is not invoked for failure responses, so using it instead - // of the default converter is kludgy but it works. - converters: { - "text script": function() {} - }, - dataFilter: function( response ) { - jQuery.globalEval( response, options, doc ); - } - } ); -}; - - -jQuery.fn.extend( { - wrapAll: function( html ) { - var wrap; - - if ( this[ 0 ] ) { - if ( isFunction( html ) ) { - html = html.call( this[ 0 ] ); - } - - // The elements to wrap the target around - wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); - - if ( this[ 0 ].parentNode ) { - wrap.insertBefore( this[ 0 ] ); - } - - wrap.map( function() { - var elem = this; - - while ( elem.firstElementChild ) { - elem = elem.firstElementChild; - } - - return elem; - } ).append( this ); - } - - return this; - }, - - wrapInner: function( html ) { - if ( isFunction( html ) ) { - return this.each( function( i ) { - jQuery( this ).wrapInner( html.call( this, i ) ); - } ); - } - - return this.each( function() { - var self = jQuery( this ), - contents = self.contents(); - - if ( contents.length ) { - contents.wrapAll( html ); - - } else { - self.append( html ); - } - } ); - }, - - wrap: function( html ) { - var htmlIsFunction = isFunction( html ); - - return this.each( function( i ) { - jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html ); - } ); - }, - - unwrap: function( selector ) { - this.parent( selector ).not( "body" ).each( function() { - jQuery( this ).replaceWith( this.childNodes ); - } ); - return this; - } -} ); - - -jQuery.expr.pseudos.hidden = function( elem ) { - return !jQuery.expr.pseudos.visible( elem ); -}; -jQuery.expr.pseudos.visible = function( elem ) { - return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); -}; - - - - -jQuery.ajaxSettings.xhr = function() { - try { - return new window.XMLHttpRequest(); - } catch ( e ) {} -}; - -var xhrSuccessStatus = { - - // File protocol always yields status code 0, assume 200 - 0: 200, - - // Support: IE <=9 only - // #1450: sometimes IE returns 1223 when it should be 204 - 1223: 204 - }, - xhrSupported = jQuery.ajaxSettings.xhr(); - -support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); -support.ajax = xhrSupported = !!xhrSupported; - -jQuery.ajaxTransport( function( options ) { - var callback, errorCallback; - - // Cross domain only allowed if supported through XMLHttpRequest - if ( support.cors || xhrSupported && !options.crossDomain ) { - return { - send: function( headers, complete ) { - var i, - xhr = options.xhr(); - - xhr.open( - options.type, - options.url, - options.async, - options.username, - options.password - ); - - // Apply custom fields if provided - if ( options.xhrFields ) { - for ( i in options.xhrFields ) { - xhr[ i ] = options.xhrFields[ i ]; - } - } - - // Override mime type if needed - if ( options.mimeType && xhr.overrideMimeType ) { - xhr.overrideMimeType( options.mimeType ); - } - - // X-Requested-With header - // For cross-domain requests, seeing as conditions for a preflight are - // akin to a jigsaw puzzle, we simply never set it to be sure. - // (it can always be set on a per-request basis or even using ajaxSetup) - // For same-domain requests, won't change header if already provided. - if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { - headers[ "X-Requested-With" ] = "XMLHttpRequest"; - } - - // Set headers - for ( i in headers ) { - xhr.setRequestHeader( i, headers[ i ] ); - } - - // Callback - callback = function( type ) { - return function() { - if ( callback ) { - callback = errorCallback = xhr.onload = - xhr.onerror = xhr.onabort = xhr.ontimeout = - xhr.onreadystatechange = null; - - if ( type === "abort" ) { - xhr.abort(); - } else if ( type === "error" ) { - - // Support: IE <=9 only - // On a manual native abort, IE9 throws - // errors on any property access that is not readyState - if ( typeof xhr.status !== "number" ) { - complete( 0, "error" ); - } else { - complete( - - // File: protocol always yields status 0; see #8605, #14207 - xhr.status, - xhr.statusText - ); - } - } else { - complete( - xhrSuccessStatus[ xhr.status ] || xhr.status, - xhr.statusText, - - // Support: IE <=9 only - // IE9 has no XHR2 but throws on binary (trac-11426) - // For XHR2 non-text, let the caller handle it (gh-2498) - ( xhr.responseType || "text" ) !== "text" || - typeof xhr.responseText !== "string" ? - { binary: xhr.response } : - { text: xhr.responseText }, - xhr.getAllResponseHeaders() - ); - } - } - }; - }; - - // Listen to events - xhr.onload = callback(); - errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" ); - - // Support: IE 9 only - // Use onreadystatechange to replace onabort - // to handle uncaught aborts - if ( xhr.onabort !== undefined ) { - xhr.onabort = errorCallback; - } else { - xhr.onreadystatechange = function() { - - // Check readyState before timeout as it changes - if ( xhr.readyState === 4 ) { - - // Allow onerror to be called first, - // but that will not handle a native abort - // Also, save errorCallback to a variable - // as xhr.onerror cannot be accessed - window.setTimeout( function() { - if ( callback ) { - errorCallback(); - } - } ); - } - }; - } - - // Create the abort callback - callback = callback( "abort" ); - - try { - - // Do send the request (this may raise an exception) - xhr.send( options.hasContent && options.data || null ); - } catch ( e ) { - - // #14683: Only rethrow if this hasn't been notified as an error yet - if ( callback ) { - throw e; - } - } - }, - - abort: function() { - if ( callback ) { - callback(); - } - } - }; - } -} ); - - - - -// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) -jQuery.ajaxPrefilter( function( s ) { - if ( s.crossDomain ) { - s.contents.script = false; - } -} ); - -// Install script dataType -jQuery.ajaxSetup( { - accepts: { - script: "text/javascript, application/javascript, " + - "application/ecmascript, application/x-ecmascript" - }, - contents: { - script: /\b(?:java|ecma)script\b/ - }, - converters: { - "text script": function( text ) { - jQuery.globalEval( text ); - return text; - } - } -} ); - -// Handle cache's special case and crossDomain -jQuery.ajaxPrefilter( "script", function( s ) { - if ( s.cache === undefined ) { - s.cache = false; - } - if ( s.crossDomain ) { - s.type = "GET"; - } -} ); - -// Bind script tag hack transport -jQuery.ajaxTransport( "script", function( s ) { - - // This transport only deals with cross domain or forced-by-attrs requests - if ( s.crossDomain || s.scriptAttrs ) { - var script, callback; - return { - send: function( _, complete ) { - script = jQuery( "<script>" ) - .attr( s.scriptAttrs || {} ) - .prop( { charset: s.scriptCharset, src: s.url } ) - .on( "load error", callback = function( evt ) { - script.remove(); - callback = null; - if ( evt ) { - complete( evt.type === "error" ? 404 : 200, evt.type ); - } - } ); - - // Use native DOM manipulation to avoid our domManip AJAX trickery - document.head.appendChild( script[ 0 ] ); - }, - abort: function() { - if ( callback ) { - callback(); - } - } - }; - } -} ); - - - - -var oldCallbacks = [], - rjsonp = /(=)\?(?=&|$)|\?\?/; - -// Default jsonp settings -jQuery.ajaxSetup( { - jsonp: "callback", - jsonpCallback: function() { - var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce.guid++ ) ); - this[ callback ] = true; - return callback; - } -} ); - -// Detect, normalize options and install callbacks for jsonp requests -jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) { - - var callbackName, overwritten, responseContainer, - jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ? - "url" : - typeof s.data === "string" && - ( s.contentType || "" ) - .indexOf( "application/x-www-form-urlencoded" ) === 0 && - rjsonp.test( s.data ) && "data" - ); - - // Handle iff the expected data type is "jsonp" or we have a parameter to set - if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) { - - // Get callback name, remembering preexisting value associated with it - callbackName = s.jsonpCallback = isFunction( s.jsonpCallback ) ? - s.jsonpCallback() : - s.jsonpCallback; - - // Insert callback into url or form data - if ( jsonProp ) { - s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName ); - } else if ( s.jsonp !== false ) { - s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName; - } - - // Use data converter to retrieve json after script execution - s.converters[ "script json" ] = function() { - if ( !responseContainer ) { - jQuery.error( callbackName + " was not called" ); - } - return responseContainer[ 0 ]; - }; - - // Force json dataType - s.dataTypes[ 0 ] = "json"; - - // Install callback - overwritten = window[ callbackName ]; - window[ callbackName ] = function() { - responseContainer = arguments; - }; - - // Clean-up function (fires after converters) - jqXHR.always( function() { - - // If previous value didn't exist - remove it - if ( overwritten === undefined ) { - jQuery( window ).removeProp( callbackName ); - - // Otherwise restore preexisting value - } else { - window[ callbackName ] = overwritten; - } - - // Save back as free - if ( s[ callbackName ] ) { - - // Make sure that re-using the options doesn't screw things around - s.jsonpCallback = originalSettings.jsonpCallback; - - // Save the callback name for future use - oldCallbacks.push( callbackName ); - } - - // Call if it was a function and we have a response - if ( responseContainer && isFunction( overwritten ) ) { - overwritten( responseContainer[ 0 ] ); - } - - responseContainer = overwritten = undefined; - } ); - - // Delegate to script - return "script"; - } -} ); - - - - -// Support: Safari 8 only -// In Safari 8 documents created via document.implementation.createHTMLDocument -// collapse sibling forms: the second one becomes a child of the first one. -// Because of that, this security measure has to be disabled in Safari 8. -// https://bugs.webkit.org/show_bug.cgi?id=137337 -support.createHTMLDocument = ( function() { - var body = document.implementation.createHTMLDocument( "" ).body; - body.innerHTML = "<form></form><form></form>"; - return body.childNodes.length === 2; -} )(); - - -// Argument "data" should be string of html -// context (optional): If specified, the fragment will be created in this context, -// defaults to document -// keepScripts (optional): If true, will include scripts passed in the html string -jQuery.parseHTML = function( data, context, keepScripts ) { - if ( typeof data !== "string" ) { - return []; - } - if ( typeof context === "boolean" ) { - keepScripts = context; - context = false; - } - - var base, parsed, scripts; - - if ( !context ) { - - // Stop scripts or inline event handlers from being executed immediately - // by using document.implementation - if ( support.createHTMLDocument ) { - context = document.implementation.createHTMLDocument( "" ); - - // Set the base href for the created document - // so any parsed elements with URLs - // are based on the document's URL (gh-2965) - base = context.createElement( "base" ); - base.href = document.location.href; - context.head.appendChild( base ); - } else { - context = document; - } - } - - parsed = rsingleTag.exec( data ); - scripts = !keepScripts && []; - - // Single tag - if ( parsed ) { - return [ context.createElement( parsed[ 1 ] ) ]; - } - - parsed = buildFragment( [ data ], context, scripts ); - - if ( scripts && scripts.length ) { - jQuery( scripts ).remove(); - } - - return jQuery.merge( [], parsed.childNodes ); -}; - - -/** - * Load a url into a page - */ -jQuery.fn.load = function( url, params, callback ) { - var selector, type, response, - self = this, - off = url.indexOf( " " ); - - if ( off > -1 ) { - selector = stripAndCollapse( url.slice( off ) ); - url = url.slice( 0, off ); - } - - // If it's a function - if ( isFunction( params ) ) { - - // We assume that it's the callback - callback = params; - params = undefined; - - // Otherwise, build a param string - } else if ( params && typeof params === "object" ) { - type = "POST"; - } - - // If we have elements to modify, make the request - if ( self.length > 0 ) { - jQuery.ajax( { - url: url, - - // If "type" variable is undefined, then "GET" method will be used. - // Make value of this field explicit since - // user can override it through ajaxSetup method - type: type || "GET", - dataType: "html", - data: params - } ).done( function( responseText ) { - - // Save response for use in complete callback - response = arguments; - - self.html( selector ? - - // If a selector was specified, locate the right elements in a dummy div - // Exclude scripts to avoid IE 'Permission Denied' errors - jQuery( "<div>" ).append( jQuery.parseHTML( responseText ) ).find( selector ) : - - // Otherwise use the full result - responseText ); - - // If the request succeeds, this function gets "data", "status", "jqXHR" - // but they are ignored because response was set above. - // If it fails, this function gets "jqXHR", "status", "error" - } ).always( callback && function( jqXHR, status ) { - self.each( function() { - callback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] ); - } ); - } ); - } - - return this; -}; - - - - -jQuery.expr.pseudos.animated = function( elem ) { - return jQuery.grep( jQuery.timers, function( fn ) { - return elem === fn.elem; - } ).length; -}; - - - - -jQuery.offset = { - setOffset: function( elem, options, i ) { - var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition, - position = jQuery.css( elem, "position" ), - curElem = jQuery( elem ), - props = {}; - - // Set position first, in-case top/left are set even on static elem - if ( position === "static" ) { - elem.style.position = "relative"; - } - - curOffset = curElem.offset(); - curCSSTop = jQuery.css( elem, "top" ); - curCSSLeft = jQuery.css( elem, "left" ); - calculatePosition = ( position === "absolute" || position === "fixed" ) && - ( curCSSTop + curCSSLeft ).indexOf( "auto" ) > -1; - - // Need to be able to calculate position if either - // top or left is auto and position is either absolute or fixed - if ( calculatePosition ) { - curPosition = curElem.position(); - curTop = curPosition.top; - curLeft = curPosition.left; - - } else { - curTop = parseFloat( curCSSTop ) || 0; - curLeft = parseFloat( curCSSLeft ) || 0; - } - - if ( isFunction( options ) ) { - - // Use jQuery.extend here to allow modification of coordinates argument (gh-1848) - options = options.call( elem, i, jQuery.extend( {}, curOffset ) ); - } - - if ( options.top != null ) { - props.top = ( options.top - curOffset.top ) + curTop; - } - if ( options.left != null ) { - props.left = ( options.left - curOffset.left ) + curLeft; - } - - if ( "using" in options ) { - options.using.call( elem, props ); - - } else { - if ( typeof props.top === "number" ) { - props.top += "px"; - } - if ( typeof props.left === "number" ) { - props.left += "px"; - } - curElem.css( props ); - } - } -}; - -jQuery.fn.extend( { - - // offset() relates an element's border box to the document origin - offset: function( options ) { - - // Preserve chaining for setter - if ( arguments.length ) { - return options === undefined ? - this : - this.each( function( i ) { - jQuery.offset.setOffset( this, options, i ); - } ); - } - - var rect, win, - elem = this[ 0 ]; - - if ( !elem ) { - return; - } - - // Return zeros for disconnected and hidden (display: none) elements (gh-2310) - // Support: IE <=11 only - // Running getBoundingClientRect on a - // disconnected node in IE throws an error - if ( !elem.getClientRects().length ) { - return { top: 0, left: 0 }; - } - - // Get document-relative position by adding viewport scroll to viewport-relative gBCR - rect = elem.getBoundingClientRect(); - win = elem.ownerDocument.defaultView; - return { - top: rect.top + win.pageYOffset, - left: rect.left + win.pageXOffset - }; - }, - - // position() relates an element's margin box to its offset parent's padding box - // This corresponds to the behavior of CSS absolute positioning - position: function() { - if ( !this[ 0 ] ) { - return; - } - - var offsetParent, offset, doc, - elem = this[ 0 ], - parentOffset = { top: 0, left: 0 }; - - // position:fixed elements are offset from the viewport, which itself always has zero offset - if ( jQuery.css( elem, "position" ) === "fixed" ) { - - // Assume position:fixed implies availability of getBoundingClientRect - offset = elem.getBoundingClientRect(); - - } else { - offset = this.offset(); - - // Account for the *real* offset parent, which can be the document or its root element - // when a statically positioned element is identified - doc = elem.ownerDocument; - offsetParent = elem.offsetParent || doc.documentElement; - while ( offsetParent && - ( offsetParent === doc.body || offsetParent === doc.documentElement ) && - jQuery.css( offsetParent, "position" ) === "static" ) { - - offsetParent = offsetParent.parentNode; - } - if ( offsetParent && offsetParent !== elem && offsetParent.nodeType === 1 ) { - - // Incorporate borders into its offset, since they are outside its content origin - parentOffset = jQuery( offsetParent ).offset(); - parentOffset.top += jQuery.css( offsetParent, "borderTopWidth", true ); - parentOffset.left += jQuery.css( offsetParent, "borderLeftWidth", true ); - } - } - - // Subtract parent offsets and element margins - return { - top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ), - left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true ) - }; - }, - - // This method will return documentElement in the following cases: - // 1) For the element inside the iframe without offsetParent, this method will return - // documentElement of the parent window - // 2) For the hidden or detached element - // 3) For body or html element, i.e. in case of the html node - it will return itself - // - // but those exceptions were never presented as a real life use-cases - // and might be considered as more preferable results. - // - // This logic, however, is not guaranteed and can change at any point in the future - offsetParent: function() { - return this.map( function() { - var offsetParent = this.offsetParent; - - while ( offsetParent && jQuery.css( offsetParent, "position" ) === "static" ) { - offsetParent = offsetParent.offsetParent; - } - - return offsetParent || documentElement; - } ); - } -} ); - -// Create scrollLeft and scrollTop methods -jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) { - var top = "pageYOffset" === prop; - - jQuery.fn[ method ] = function( val ) { - return access( this, function( elem, method, val ) { - - // Coalesce documents and windows - var win; - if ( isWindow( elem ) ) { - win = elem; - } else if ( elem.nodeType === 9 ) { - win = elem.defaultView; - } - - if ( val === undefined ) { - return win ? win[ prop ] : elem[ method ]; - } - - if ( win ) { - win.scrollTo( - !top ? val : win.pageXOffset, - top ? val : win.pageYOffset - ); - - } else { - elem[ method ] = val; - } - }, method, val, arguments.length ); - }; -} ); - -// Support: Safari <=7 - 9.1, Chrome <=37 - 49 -// Add the top/left cssHooks using jQuery.fn.position -// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084 -// Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347 -// getComputedStyle returns percent when specified for top/left/bottom/right; -// rather than make the css module depend on the offset module, just check for it here -jQuery.each( [ "top", "left" ], function( _i, prop ) { - jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition, - function( elem, computed ) { - if ( computed ) { - computed = curCSS( elem, prop ); - - // If curCSS returns percentage, fallback to offset - return rnumnonpx.test( computed ) ? - jQuery( elem ).position()[ prop ] + "px" : - computed; - } - } - ); -} ); - - -// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods -jQuery.each( { Height: "height", Width: "width" }, function( name, type ) { - jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name }, - function( defaultExtra, funcName ) { - - // Margin is only for outerHeight, outerWidth - jQuery.fn[ funcName ] = function( margin, value ) { - var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ), - extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" ); - - return access( this, function( elem, type, value ) { - var doc; - - if ( isWindow( elem ) ) { - - // $( window ).outerWidth/Height return w/h including scrollbars (gh-1729) - return funcName.indexOf( "outer" ) === 0 ? - elem[ "inner" + name ] : - elem.document.documentElement[ "client" + name ]; - } - - // Get document width or height - if ( elem.nodeType === 9 ) { - doc = elem.documentElement; - - // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], - // whichever is greatest - return Math.max( - elem.body[ "scroll" + name ], doc[ "scroll" + name ], - elem.body[ "offset" + name ], doc[ "offset" + name ], - doc[ "client" + name ] - ); - } - - return value === undefined ? - - // Get width or height on the element, requesting but not forcing parseFloat - jQuery.css( elem, type, extra ) : - - // Set width or height on the element - jQuery.style( elem, type, value, extra ); - }, type, chainable ? margin : undefined, chainable ); - }; - } ); -} ); - - -jQuery.each( [ - "ajaxStart", - "ajaxStop", - "ajaxComplete", - "ajaxError", - "ajaxSuccess", - "ajaxSend" -], function( _i, type ) { - jQuery.fn[ type ] = function( fn ) { - return this.on( type, fn ); - }; -} ); - - - - -jQuery.fn.extend( { - - bind: function( types, data, fn ) { - return this.on( types, null, data, fn ); - }, - unbind: function( types, fn ) { - return this.off( types, null, fn ); - }, - - delegate: function( selector, types, data, fn ) { - return this.on( types, selector, data, fn ); - }, - undelegate: function( selector, types, fn ) { - - // ( namespace ) or ( selector, types [, fn] ) - return arguments.length === 1 ? - this.off( selector, "**" ) : - this.off( types, selector || "**", fn ); - }, - - hover: function( fnOver, fnOut ) { - return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); - } -} ); - -jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " + - "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + - "change select submit keydown keypress keyup contextmenu" ).split( " " ), - function( _i, name ) { - - // Handle event binding - jQuery.fn[ name ] = function( data, fn ) { - return arguments.length > 0 ? - this.on( name, null, data, fn ) : - this.trigger( name ); - }; - } ); - - - - -// Support: Android <=4.0 only -// Make sure we trim BOM and NBSP -var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g; - -// Bind a function to a context, optionally partially applying any -// arguments. -// jQuery.proxy is deprecated to promote standards (specifically Function#bind) -// However, it is not slated for removal any time soon -jQuery.proxy = function( fn, context ) { - var tmp, args, proxy; - - if ( typeof context === "string" ) { - tmp = fn[ context ]; - context = fn; - fn = tmp; - } - - // Quick check to determine if target is callable, in the spec - // this throws a TypeError, but we will just return undefined. - if ( !isFunction( fn ) ) { - return undefined; - } - - // Simulated bind - args = slice.call( arguments, 2 ); - proxy = function() { - return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); - }; - - // Set the guid of unique handler to the same of original handler, so it can be removed - proxy.guid = fn.guid = fn.guid || jQuery.guid++; - - return proxy; -}; - -jQuery.holdReady = function( hold ) { - if ( hold ) { - jQuery.readyWait++; - } else { - jQuery.ready( true ); - } -}; -jQuery.isArray = Array.isArray; -jQuery.parseJSON = JSON.parse; -jQuery.nodeName = nodeName; -jQuery.isFunction = isFunction; -jQuery.isWindow = isWindow; -jQuery.camelCase = camelCase; -jQuery.type = toType; - -jQuery.now = Date.now; - -jQuery.isNumeric = function( obj ) { - - // As of jQuery 3.0, isNumeric is limited to - // strings and numbers (primitives or objects) - // that can be coerced to finite numbers (gh-2662) - var type = jQuery.type( obj ); - return ( type === "number" || type === "string" ) && - - // parseFloat NaNs numeric-cast false positives ("") - // ...but misinterprets leading-number strings, particularly hex literals ("0x...") - // subtraction forces infinities to NaN - !isNaN( obj - parseFloat( obj ) ); -}; - -jQuery.trim = function( text ) { - return text == null ? - "" : - ( text + "" ).replace( rtrim, "" ); -}; - - - -// Register as a named AMD module, since jQuery can be concatenated with other -// files that may use define, but not via a proper concatenation script that -// understands anonymous AMD modules. A named AMD is safest and most robust -// way to register. Lowercase jquery is used because AMD module names are -// derived from file names, and jQuery is normally delivered in a lowercase -// file name. Do this after creating the global so that if an AMD module wants -// to call noConflict to hide this version of jQuery, it will work. - -// Note that for maximum portability, libraries that are not jQuery should -// declare themselves as anonymous modules, and avoid setting a global if an -// AMD loader is present. jQuery is a special case. For more information, see -// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon - -if ( typeof define === "function" && define.amd ) { - define( "jquery", [], function() { - return jQuery; - } ); -} - - - - -var - - // Map over jQuery in case of overwrite - _jQuery = window.jQuery, - - // Map over the $ in case of overwrite - _$ = window.$; - -jQuery.noConflict = function( deep ) { - if ( window.$ === jQuery ) { - window.$ = _$; - } - - if ( deep && window.jQuery === jQuery ) { - window.jQuery = _jQuery; - } - - return jQuery; -}; - -// Expose jQuery and $ identifiers, even in AMD -// (#7102#comment:10, https://github.com/jquery/jquery/pull/557) -// and CommonJS for browser emulators (#13566) -if ( typeof noGlobal === "undefined" ) { - window.jQuery = window.$ = jQuery; -} - - - - -return jQuery; -} ); diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/jquery.min.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/jquery.min.js deleted file mode 100644 index b0614034..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/jquery.min.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! jQuery v3.5.1 | (c) JS Foundation and other contributors | jquery.org/license */ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.5.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}S.fn=S.prototype={jquery:f,constructor:S,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(n){return this.pushStack(S.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(S.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},S.extend=S.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(S.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||S.isPlainObject(n)?n:{},i=!1,a[t]=S.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},S.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?S.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:y}),"function"==typeof Symbol&&(S.fn[Symbol.iterator]=t[Symbol.iterator]),S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,S="sizzle"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",B=new RegExp(M+"+","g"),$=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="<a id='"+S+"'></a><select id='"+S+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!=C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(B," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[k,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[k,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[S]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace($,"$1"));return s[S]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[k,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[S]||(e[S]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===k&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[S]&&(v=Ce(v)),y&&!y[S]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[S]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace($,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace($," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=A[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[S]?i.push(a):o.push(a);(a=A(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=k+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(k=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(k=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=S.split("").sort(D).join("")===S,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);S.find=d,S.expr=d.selectors,S.expr[":"]=S.expr.pseudos,S.uniqueSort=S.unique=d.uniqueSort,S.text=d.getText,S.isXMLDoc=d.isXML,S.contains=d.contains,S.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&S(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=S.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1<i.call(n,e)!==r}):S.filter(n,e,r)}S.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?S.find.matchesSelector(r,e)?[r]:[]:S.find.matches(e,S.grep(t,function(e){return 1===e.nodeType}))},S.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(S(e).filter(function(){for(t=0;t<r;t++)if(S.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)S.find(e,i[t],n);return 1<r?S.uniqueSort(n):n},filter:function(e){return this.pushStack(D(this,e||[],!1))},not:function(e){return this.pushStack(D(this,e||[],!0))},is:function(e){return!!D(this,"string"==typeof e&&k.test(e)?S(e):e||[],!1).length}});var j,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(S.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&S(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&S.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?S.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(S(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(S.uniqueSort(S.merge(this.get(),S(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),S.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return O(e,"nextSibling")},prev:function(e){return O(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,"template")&&(e=e.content||e),S.merge([],e.childNodes))}},function(r,i){S.fn[r]=function(e,t){var n=S.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=S.filter(t,n)),1<this.length&&(H[r]||S.uniqueSort(n),L.test(r)&&n.reverse()),this.pushStack(n)}});var P=/[^\x20\t\r\n\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}S.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},S.each(e.match(P)||[],function(e,t){n[t]=!0}),n):S.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){S.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return S.each(arguments,function(e,t){var n;while(-1<(n=S.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<S.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},S.extend({Deferred:function(e){var o=[["notify","progress",S.Callbacks("memory"),S.Callbacks("memory"),2],["resolve","done",S.Callbacks("once memory"),S.Callbacks("once memory"),0,"resolved"],["reject","fail",S.Callbacks("once memory"),S.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return S.Deferred(function(r){S.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,R,s),l(u,o,M,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,M,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){S.Deferred.exceptionHook&&S.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(S.Deferred.getStackHook&&(t.stackTrace=S.Deferred.getStackHook()),C.setTimeout(t))}}return S.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:R)),o[2][3].add(l(0,e,m(n)?n:M))}).promise()},promise:function(e){return null!=e?S.extend(e,a):a}},s={};return S.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=S.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(I(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)I(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&W.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},S.readyException=function(e){C.setTimeout(function(){throw e})};var F=S.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),S.ready()}S.fn.ready=function(e){return F.then(e)["catch"](function(e){S.readyException(e)}),this},S.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--S.readyWait:S.isReady)||(S.isReady=!0)!==e&&0<--S.readyWait||F.resolveWith(E,[S])}}),S.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(S.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var $=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)$(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(S(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(_,"ms-").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=S.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(P)||[]).length;while(n--)delete r[t[n]]}(void 0===t||S.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!S.isEmptyObject(t)}};var Y=new G,Q=new G,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}S.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),S.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=Q.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){Q.set(this,n)}):$(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=Q.get(o,n))?t:void 0!==(t=Z(o,n))?t:void 0;this.each(function(){Q.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),S.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,S.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=S.queue(e,t),r=n.length,i=n.shift(),o=S._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){S.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:S.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),S.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?S.queue(this[0],t):void 0===n?this:this.each(function(){var e=S.queue(this,t,n);S._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&S.dequeue(this,t)})},dequeue:function(e){return this.each(function(){S.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=S.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=E.documentElement,ie=function(e){return S.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return S.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===S.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return S.css(e,t,"")},u=s(),l=n&&n[3]||(S.cssNumber[t]?"":"px"),c=e.nodeType&&(S.cssNumber[t]||"px"!==l&&+u)&&te.exec(S.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)S.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,S.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ue[s])||(o=a.body.appendChild(a.createElement(s)),u=S.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ue[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}S.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?S(this).show():S(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",y.option=!!ce.lastChild;var ge={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,y.option||(ge.optgroup=ge.option=[1,"<select multiple='multiple'>","</select>"]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))S.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+S.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;S.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<S.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}var be=/^key/,we=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Te=/^([^.]*)(?:\.(.+)|)/;function Ce(){return!0}function Ee(){return!1}function Se(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function ke(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)ke(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Ee;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return S().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=S.guid++)),e.each(function(){S.event.add(this,t,i,r,n)})}function Ae(e,i,o){o?(Y.set(e,i,!1),S.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(S.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Y.set(this,i,{value:S.event.trigger(S.extend(r[0],S.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&S.event.add(e,i,Ce)}S.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.get(t);if(V(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&S.find.matchesSelector(re,i),n.guid||(n.guid=S.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof S&&S.event.triggered!==e.type?S.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(P)||[""]).length;while(l--)d=g=(s=Te.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=S.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=S.event.special[d]||{},c=S.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&S.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),S.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.hasData(e)&&Y.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(P)||[""]).length;while(l--)if(d=g=(s=Te.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=S.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||S.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)S.event.remove(e,d+t[l],n,r,!0);S.isEmptyObject(u)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=S.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=S.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=S.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((S.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<S(i,this).index(l):S.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(S.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[S.expando]?e:new S.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Ae(t,"click",Ce),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Ae(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Y.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},S.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},S.Event=function(e,t){if(!(this instanceof S.Event))return new S.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ce:Ee,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&S.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[S.expando]=!0},S.Event.prototype={constructor:S.Event,isDefaultPrevented:Ee,isPropagationStopped:Ee,isImmediatePropagationStopped:Ee,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ce,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ce,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ce,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},S.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&be.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&we.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},S.event.addProp),S.each({focus:"focusin",blur:"focusout"},function(e,t){S.event.special[e]={setup:function(){return Ae(this,e,Se),!1},trigger:function(){return Ae(this,e),!0},delegateType:t}}),S.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){S.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||S.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),S.fn.extend({on:function(e,t,n,r){return ke(this,e,t,n,r)},one:function(e,t,n,r){return ke(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,S(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Ee),this.each(function(){S.event.remove(this,e,n,t)})}});var Ne=/<script|<style|<link/i,De=/checked\s*(?:[^=]|=\s*.checked.)/i,je=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function qe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)S.event.add(t,i,s[i][n]);Q.hasData(e)&&(o=Q.access(e),a=S.extend({},o),Q.set(t,a))}}function Pe(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&De.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Pe(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=S.map(ve(e,"script"),Le)).length;c<f;c++)u=e,c!==p&&(u=S.clone(u,!0,!0),s&&S.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,S.map(a,He),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Y.access(u,"globalEval")&&S.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?S._evalUrl&&!u.noModule&&S._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):b(u.textContent.replace(je,""),u,l))}return n}function Re(e,t,n){for(var r,i=t?S.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||S.cleanData(ve(r)),r.parentNode&&(n&&ie(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}S.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||S.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Oe(o[r],a[r]);else Oe(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=S.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?S.event.remove(n,r):S.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),S.fn.extend({detach:function(e){return Re(this,e,!0)},remove:function(e){return Re(this,e)},text:function(e){return $(this,function(e){return void 0===e?S.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Pe(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||qe(this,e).appendChild(e)})},prepend:function(){return Pe(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=qe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(S.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return S.clone(this,e,t)})},html:function(e){return $(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ne.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=S.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(S.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Pe(this,arguments,function(e){var t=this.parentNode;S.inArray(this,n)<0&&(S.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),S.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){S.fn[e]=function(e){for(var t,n=[],r=S(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),S(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Me=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Ie=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},We=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Fe=new RegExp(ne.join("|"),"i");function Be(e,t,n){var r,i,o,a,s=e.style;return(n=n||Ie(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=S.style(e,t)),!y.pixelBoxStyles()&&Me.test(a)&&Fe.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function $e(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(u).appendChild(l);var e=C.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=E.createElement("div"),l=E.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===l.style.backgroundClip,S.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=E.createElement("table"),t=E.createElement("tr"),n=E.createElement("div"),e.style.cssText="position:absolute;left:-11111px",t.style.height="1px",n.style.height="9px",re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=3<parseInt(r.height),re.removeChild(e)),a}}))}();var _e=["Webkit","Moz","ms"],ze=E.createElement("div").style,Ue={};function Xe(e){var t=S.cssProps[e]||Ue[e];return t||(e in ze?e:Ue[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=_e.length;while(n--)if((e=_e[n]+t)in ze)return e}(e)||e)}var Ve=/^(none|table(?!-c[ea]).+)/,Ge=/^--/,Ye={position:"absolute",visibility:"hidden",display:"block"},Qe={letterSpacing:"0",fontWeight:"400"};function Je(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ke(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=S.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=S.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=S.css(e,"border"+ne[a]+"Width",!0,i))):(u+=S.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=S.css(e,"border"+ne[a]+"Width",!0,i):s+=S.css(e,"border"+ne[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Ze(e,t,n){var r=Ie(e),i=(!y.boxSizingReliable()||n)&&"border-box"===S.css(e,"boxSizing",!1,r),o=i,a=Be(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Me.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||!y.reliableTrDimensions()&&A(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===S.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===S.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Ke(e,t,n||(i?"border":"content"),o,r,a)+"px"}function et(e,t,n,r,i){return new et.prototype.init(e,t,n,r,i)}S.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Be(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Ge.test(t),l=e.style;if(u||(t=Xe(s)),a=S.cssHooks[t]||S.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(S.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Ge.test(t)||(t=Xe(s)),(a=S.cssHooks[t]||S.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Be(e,t,r)),"normal"===i&&t in Qe&&(i=Qe[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),S.each(["height","width"],function(e,u){S.cssHooks[u]={get:function(e,t,n){if(t)return!Ve.test(S.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Ze(e,u,n):We(e,Ye,function(){return Ze(e,u,n)})},set:function(e,t,n){var r,i=Ie(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===S.css(e,"boxSizing",!1,i),s=n?Ke(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Ke(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=S.css(e,u)),Je(0,t,s)}}}),S.cssHooks.marginLeft=$e(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Be(e,"marginLeft"))||e.getBoundingClientRect().left-We(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),S.each({margin:"",padding:"",border:"Width"},function(i,o){S.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(S.cssHooks[i+o].set=Je)}),S.fn.extend({css:function(e,t){return $(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Ie(e),i=t.length;a<i;a++)o[t[a]]=S.css(e,t[a],!1,r);return o}return void 0!==n?S.style(e,t,n):S.css(e,t)},e,t,1<arguments.length)}}),((S.Tween=et).prototype={constructor:et,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||S.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(S.cssNumber[n]?"":"px")},cur:function(){var e=et.propHooks[this.prop];return e&&e.get?e.get(this):et.propHooks._default.get(this)},run:function(e){var t,n=et.propHooks[this.prop];return this.options.duration?this.pos=t=S.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):et.propHooks._default.set(this),this}}).init.prototype=et.prototype,(et.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=S.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){S.fx.step[e.prop]?S.fx.step[e.prop](e):1!==e.elem.nodeType||!S.cssHooks[e.prop]&&null==e.elem.style[Xe(e.prop)]?e.elem[e.prop]=e.now:S.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=et.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},S.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},S.fx=et.prototype.init,S.fx.step={};var tt,nt,rt,it,ot=/^(?:toggle|show|hide)$/,at=/queueHooks$/;function st(){nt&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(st):C.setTimeout(st,S.fx.interval),S.fx.tick())}function ut(){return C.setTimeout(function(){tt=void 0}),tt=Date.now()}function lt(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ne[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function ct(e,t,n){for(var r,i=(ft.tweeners[t]||[]).concat(ft.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function ft(o,e,t){var n,a,r=0,i=ft.prefilters.length,s=S.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=tt||ut(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:S.extend({},e),opts:S.extend(!0,{specialEasing:{},easing:S.easing._default},t),originalProperties:e,originalOptions:t,startTime:tt||ut(),duration:t.duration,tweens:[],createTween:function(e,t){var n=S.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=S.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=ft.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(S._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return S.map(c,ct,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),S.fx.timer(S.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}S.Animation=S.extend(ft,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],ft.tweeners[n]=ft.tweeners[n]||[],ft.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),v=Y.get(e,"fxshow");for(r in n.queue||(null==(a=S._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,S.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],ot.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||S.style(e,r)}if((u=!S.isEmptyObject(t))||!S.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Y.get(e,"display")),"none"===(c=S.css(e,"display"))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=S.css(e,"display"),le([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===S.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Y.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),Y.remove(e,"fxshow"),d)S.style(e,r,d[r])})),u=ct(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?ft.prefilters.unshift(e):ft.prefilters.push(e)}}),S.speed=function(e,t,n){var r=e&&"object"==typeof e?S.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return S.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in S.fx.speeds?r.duration=S.fx.speeds[r.duration]:r.duration=S.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&S.dequeue(this,r.queue)},r},S.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=S.isEmptyObject(t),o=S.speed(e,n,r),a=function(){var e=ft(this,S.extend({},t),o);(i||Y.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=S.timers,r=Y.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&at.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||S.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Y.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=S.timers,o=n?n.length:0;for(t.finish=!0,S.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),S.each(["toggle","show","hide"],function(e,r){var i=S.fn[r];S.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(lt(r,!0),e,t,n)}}),S.each({slideDown:lt("show"),slideUp:lt("hide"),slideToggle:lt("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){S.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),S.timers=[],S.fx.tick=function(){var e,t=0,n=S.timers;for(tt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||S.fx.stop(),tt=void 0},S.fx.timer=function(e){S.timers.push(e),S.fx.start()},S.fx.interval=13,S.fx.start=function(){nt||(nt=!0,st())},S.fx.stop=function(){nt=null},S.fx.speeds={slow:600,fast:200,_default:400},S.fn.delay=function(r,e){return r=S.fx&&S.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},rt=E.createElement("input"),it=E.createElement("select").appendChild(E.createElement("option")),rt.type="checkbox",y.checkOn=""!==rt.value,y.optSelected=it.selected,(rt=E.createElement("input")).value="t",rt.type="radio",y.radioValue="t"===rt.value;var pt,dt=S.expr.attrHandle;S.fn.extend({attr:function(e,t){return $(this,S.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){S.removeAttr(this,e)})}}),S.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?S.prop(e,t,n):(1===o&&S.isXMLDoc(e)||(i=S.attrHooks[t.toLowerCase()]||(S.expr.match.bool.test(t)?pt:void 0)),void 0!==n?null===n?void S.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=S.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),pt={set:function(e,t,n){return!1===t?S.removeAttr(e,n):e.setAttribute(n,n),n}},S.each(S.expr.match.bool.source.match(/\w+/g),function(e,t){var a=dt[t]||S.find.attr;dt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=dt[o],dt[o]=r,r=null!=a(e,t,n)?o:null,dt[o]=i),r}});var ht=/^(?:input|select|textarea|button)$/i,gt=/^(?:a|area)$/i;function vt(e){return(e.match(P)||[]).join(" ")}function yt(e){return e.getAttribute&&e.getAttribute("class")||""}function mt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}S.fn.extend({prop:function(e,t){return $(this,S.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[S.propFix[e]||e]})}}),S.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&S.isXMLDoc(e)||(t=S.propFix[t]||t,i=S.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=S.find.attr(e,"tabindex");return t?parseInt(t,10):ht.test(e.nodeName)||gt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(S.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),S.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){S.propFix[this.toLowerCase()]=this}),S.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).addClass(t.call(this,e,yt(this)))});if((e=mt(t)).length)while(n=this[u++])if(i=yt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).removeClass(t.call(this,e,yt(this)))});if(!arguments.length)return this.attr("class","");if((e=mt(t)).length)while(n=this[u++])if(i=yt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){S(this).toggleClass(i.call(this,e,yt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=S(this),r=mt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=yt(this))&&Y.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Y.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+vt(yt(n))+" ").indexOf(t))return!0;return!1}});var xt=/\r/g;S.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,S(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=S.map(t,function(e){return null==e?"":e+""})),(r=S.valHooks[this.type]||S.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=S.valHooks[t.type]||S.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(xt,""):null==e?"":e:void 0}}),S.extend({valHooks:{option:{get:function(e){var t=S.find.attr(e,"value");return null!=t?t:vt(S.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=S(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=S.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<S.inArray(S.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),S.each(["radio","checkbox"],function(){S.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<S.inArray(S(e).val(),t)}},y.checkOn||(S.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var bt=/^(?:focusinfocus|focusoutblur)$/,wt=function(e){e.stopPropagation()};S.extend(S.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!bt.test(d+S.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[S.expando]?e:new S.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:S.makeArray(t,[e]),c=S.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,bt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Y.get(o,"events")||Object.create(null))[e.type]&&Y.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&V(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!V(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),S.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,wt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,wt),S.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=S.extend(new S.Event,n,{type:e,isSimulated:!0});S.event.trigger(r,null,t)}}),S.fn.extend({trigger:function(e,t){return this.each(function(){S.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return S.event.trigger(e,t,n,!0)}}),y.focusin||S.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){S.event.simulate(r,e.target,S.event.fix(e))};S.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}});var Tt=C.location,Ct={guid:Date.now()},Et=/\?/;S.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||S.error("Invalid XML: "+e),t};var St=/\[\]$/,kt=/\r?\n/g,At=/^(?:submit|button|image|reset|file)$/i,Nt=/^(?:input|select|textarea|keygen)/i;function Dt(n,e,r,i){var t;if(Array.isArray(e))S.each(e,function(e,t){r||St.test(n)?i(n,t):Dt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)Dt(n+"["+t+"]",e[t],r,i)}S.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!S.isPlainObject(e))S.each(e,function(){i(this.name,this.value)});else for(n in e)Dt(n,e[n],t,i);return r.join("&")},S.fn.extend({serialize:function(){return S.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=S.prop(this,"elements");return e?S.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!S(this).is(":disabled")&&Nt.test(this.nodeName)&&!At.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=S(this).val();return null==n?null:Array.isArray(n)?S.map(n,function(e){return{name:t.name,value:e.replace(kt,"\r\n")}}):{name:t.name,value:n.replace(kt,"\r\n")}}).get()}});var jt=/%20/g,qt=/#.*$/,Lt=/([?&])_=[^&]*/,Ht=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ot=/^(?:GET|HEAD)$/,Pt=/^\/\//,Rt={},Mt={},It="*/".concat("*"),Wt=E.createElement("a");function Ft(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(P)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function Bt(t,i,o,a){var s={},u=t===Mt;function l(e){var r;return s[e]=!0,S.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function $t(e,t){var n,r,i=S.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&S.extend(!0,e,r),e}Wt.href=Tt.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Tt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Tt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":It,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":S.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?$t($t(e,S.ajaxSettings),t):$t(S.ajaxSettings,e)},ajaxPrefilter:Ft(Rt),ajaxTransport:Ft(Mt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=S.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?S(y):S.event,x=S.Deferred(),b=S.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=Ht.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Tt.href)+"").replace(Pt,Tt.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(P)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Wt.protocol+"//"+Wt.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=S.param(v.data,v.traditional)),Bt(Rt,v,t,T),h)return T;for(i in(g=S.event&&v.global)&&0==S.active++&&S.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Ot.test(v.type),f=v.url.replace(qt,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(jt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(Et.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Lt,"$1"),o=(Et.test(f)?"&":"?")+"_="+Ct.guid+++o),v.url=f+o),v.ifModified&&(S.lastModified[f]&&T.setRequestHeader("If-Modified-Since",S.lastModified[f]),S.etag[f]&&T.setRequestHeader("If-None-Match",S.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+It+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=Bt(Mt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),!i&&-1<S.inArray("script",v.dataTypes)&&(v.converters["text script"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(S.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(S.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--S.active||S.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return S.get(e,t,n,"json")},getScript:function(e,t){return S.get(e,void 0,t,"script")}}),S.each(["get","post"],function(e,i){S[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),S.ajax(S.extend({url:e,type:i,dataType:r,data:t,success:n},S.isPlainObject(e)&&e))}}),S.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),S._evalUrl=function(e,t,n){return S.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){S.globalEval(e,t,n)}})},S.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=S(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){S(this).wrapInner(n.call(this,e))}):this.each(function(){var e=S(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){S(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){S(this).replaceWith(this.childNodes)}),this}}),S.expr.pseudos.hidden=function(e){return!S.expr.pseudos.visible(e)},S.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},S.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var _t={0:200,1223:204},zt=S.ajaxSettings.xhr();y.cors=!!zt&&"withCredentials"in zt,y.ajax=zt=!!zt,S.ajaxTransport(function(i){var o,a;if(y.cors||zt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(_t[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),S.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),S.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return S.globalEval(e),e}}}),S.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),S.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=S("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=vt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&S.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?S("<div>").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var Gt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;S.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||S.guid++,i},S.holdReady=function(e){e?S.readyWait++:S.ready(!0)},S.isArray=Array.isArray,S.parseJSON=JSON.parse,S.nodeName=A,S.isFunction=m,S.isWindow=x,S.camelCase=X,S.type=w,S.now=Date.now,S.isNumeric=function(e){var t=S.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},S.trim=function(e){return null==e?"":(e+"").replace(Gt,"")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return S});var Yt=C.jQuery,Qt=C.$;return S.noConflict=function(e){return C.$===S&&(C.$=Qt),e&&C.jQuery===S&&(C.jQuery=Yt),S},"undefined"==typeof e&&(C.jQuery=C.$=S),S}); diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/LICENSE.md b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/LICENSE.md deleted file mode 100644 index 8cb8a2b1..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/LICENSE.md +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2012-2017 Kevin Brown, Igor Vaynberg, and Select2 contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/af.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/af.js deleted file mode 100644 index 32e5ac7d..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/af.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/af",[],function(){return{errorLoading:function(){return"Die resultate kon nie gelaai word nie."},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Verwyders asseblief "+n+" character";return 1!=n&&(r+="s"),r},inputTooShort:function(e){return"Voer asseblief "+(e.minimum-e.input.length)+" of meer karakters"},loadingMore:function(){return"Meer resultate word gelaai…"},maximumSelected:function(e){var n="Kies asseblief net "+e.maximum+" item";return 1!=e.maximum&&(n+="s"),n},noResults:function(){return"Geen resultate gevind"},searching:function(){return"Besig…"},removeAllItems:function(){return"Verwyder alle items"}}}),e.define,e.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ar.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ar.js deleted file mode 100644 index 64e1caad..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ar.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ar",[],function(){return{errorLoading:function(){return"لا يمكن تحميل النتائج"},inputTooLong:function(n){return"الرجاء حذف "+(n.input.length-n.maximum)+" عناصر"},inputTooShort:function(n){return"الرجاء إضافة "+(n.minimum-n.input.length)+" عناصر"},loadingMore:function(){return"جاري تحميل نتائج إضافية..."},maximumSelected:function(n){return"تستطيع إختيار "+n.maximum+" بنود فقط"},noResults:function(){return"لم يتم العثور على أي نتائج"},searching:function(){return"جاري البحث…"},removeAllItems:function(){return"قم بإزالة كل العناصر"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/az.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/az.js deleted file mode 100644 index 1d52c260..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/az.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/az",[],function(){return{inputTooLong:function(n){return n.input.length-n.maximum+" simvol silin"},inputTooShort:function(n){return n.minimum-n.input.length+" simvol daxil edin"},loadingMore:function(){return"Daha çox nəticə yüklənir…"},maximumSelected:function(n){return"Sadəcə "+n.maximum+" element seçə bilərsiniz"},noResults:function(){return"Nəticə tapılmadı"},searching:function(){return"Axtarılır…"},removeAllItems:function(){return"Bütün elementləri sil"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/bg.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/bg.js deleted file mode 100644 index 73b730a7..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/bg.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/bg",[],function(){return{inputTooLong:function(n){var e=n.input.length-n.maximum,u="Моля въведете с "+e+" по-малко символ";return e>1&&(u+="a"),u},inputTooShort:function(n){var e=n.minimum-n.input.length,u="Моля въведете още "+e+" символ";return e>1&&(u+="a"),u},loadingMore:function(){return"Зареждат се още…"},maximumSelected:function(n){var e="Можете да направите до "+n.maximum+" ";return n.maximum>1?e+="избора":e+="избор",e},noResults:function(){return"Няма намерени съвпадения"},searching:function(){return"Търсене…"},removeAllItems:function(){return"Премахнете всички елементи"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/bn.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/bn.js deleted file mode 100644 index 2d17b9d8..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/bn.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/bn",[],function(){return{errorLoading:function(){return"ফলাফলগুলি লোড করা যায়নি।"},inputTooLong:function(n){var e=n.input.length-n.maximum,u="অনুগ্রহ করে "+e+" টি অক্ষর মুছে দিন।";return 1!=e&&(u="অনুগ্রহ করে "+e+" টি অক্ষর মুছে দিন।"),u},inputTooShort:function(n){return n.minimum-n.input.length+" টি অক্ষর অথবা অধিক অক্ষর লিখুন।"},loadingMore:function(){return"আরো ফলাফল লোড হচ্ছে ..."},maximumSelected:function(n){var e=n.maximum+" টি আইটেম নির্বাচন করতে পারবেন।";return 1!=n.maximum&&(e=n.maximum+" টি আইটেম নির্বাচন করতে পারবেন।"),e},noResults:function(){return"কোন ফলাফল পাওয়া যায়নি।"},searching:function(){return"অনুসন্ধান করা হচ্ছে ..."}}}),n.define,n.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/bs.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/bs.js deleted file mode 100644 index 46b084d7..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/bs.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/bs",[],function(){function e(e,n,r,t){return e%10==1&&e%100!=11?n:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?r:t}return{errorLoading:function(){return"Preuzimanje nije uspijelo."},inputTooLong:function(n){var r=n.input.length-n.maximum,t="Obrišite "+r+" simbol";return t+=e(r,"","a","a")},inputTooShort:function(n){var r=n.minimum-n.input.length,t="Ukucajte bar još "+r+" simbol";return t+=e(r,"","a","a")},loadingMore:function(){return"Preuzimanje još rezultata…"},maximumSelected:function(n){var r="Možete izabrati samo "+n.maximum+" stavk";return r+=e(n.maximum,"u","e","i")},noResults:function(){return"Ništa nije pronađeno"},searching:function(){return"Pretraga…"},removeAllItems:function(){return"Uklonite sve stavke"}}}),e.define,e.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ca.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ca.js deleted file mode 100644 index 82dbbb7a..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ca.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/ca",[],function(){return{errorLoading:function(){return"La càrrega ha fallat"},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Si us plau, elimina "+n+" car";return r+=1==n?"àcter":"àcters"},inputTooShort:function(e){var n=e.minimum-e.input.length,r="Si us plau, introdueix "+n+" car";return r+=1==n?"àcter":"àcters"},loadingMore:function(){return"Carregant més resultats…"},maximumSelected:function(e){var n="Només es pot seleccionar "+e.maximum+" element";return 1!=e.maximum&&(n+="s"),n},noResults:function(){return"No s'han trobat resultats"},searching:function(){return"Cercant…"},removeAllItems:function(){return"Treu tots els elements"}}}),e.define,e.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/cs.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/cs.js deleted file mode 100644 index 7116d6c1..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/cs.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/cs",[],function(){function e(e,n){switch(e){case 2:return n?"dva":"dvě";case 3:return"tři";case 4:return"čtyři"}return""}return{errorLoading:function(){return"Výsledky nemohly být načteny."},inputTooLong:function(n){var t=n.input.length-n.maximum;return 1==t?"Prosím, zadejte o jeden znak méně.":t<=4?"Prosím, zadejte o "+e(t,!0)+" znaky méně.":"Prosím, zadejte o "+t+" znaků méně."},inputTooShort:function(n){var t=n.minimum-n.input.length;return 1==t?"Prosím, zadejte ještě jeden znak.":t<=4?"Prosím, zadejte ještě další "+e(t,!0)+" znaky.":"Prosím, zadejte ještě dalších "+t+" znaků."},loadingMore:function(){return"Načítají se další výsledky…"},maximumSelected:function(n){var t=n.maximum;return 1==t?"Můžete zvolit jen jednu položku.":t<=4?"Můžete zvolit maximálně "+e(t,!1)+" položky.":"Můžete zvolit maximálně "+t+" položek."},noResults:function(){return"Nenalezeny žádné položky."},searching:function(){return"Vyhledávání…"},removeAllItems:function(){return"Odstraňte všechny položky"}}}),e.define,e.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/da.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/da.js deleted file mode 100644 index cda32c34..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/da.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/da",[],function(){return{errorLoading:function(){return"Resultaterne kunne ikke indlæses."},inputTooLong:function(e){return"Angiv venligst "+(e.input.length-e.maximum)+" tegn mindre"},inputTooShort:function(e){return"Angiv venligst "+(e.minimum-e.input.length)+" tegn mere"},loadingMore:function(){return"Indlæser flere resultater…"},maximumSelected:function(e){var n="Du kan kun vælge "+e.maximum+" emne";return 1!=e.maximum&&(n+="r"),n},noResults:function(){return"Ingen resultater fundet"},searching:function(){return"Søger…"},removeAllItems:function(){return"Fjern alle elementer"}}}),e.define,e.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/de.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/de.js deleted file mode 100644 index c2e61e58..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/de.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/de",[],function(){return{errorLoading:function(){return"Die Ergebnisse konnten nicht geladen werden."},inputTooLong:function(e){return"Bitte "+(e.input.length-e.maximum)+" Zeichen weniger eingeben"},inputTooShort:function(e){return"Bitte "+(e.minimum-e.input.length)+" Zeichen mehr eingeben"},loadingMore:function(){return"Lade mehr Ergebnisse…"},maximumSelected:function(e){var n="Sie können nur "+e.maximum+" Element";return 1!=e.maximum&&(n+="e"),n+=" auswählen"},noResults:function(){return"Keine Übereinstimmungen gefunden"},searching:function(){return"Suche…"},removeAllItems:function(){return"Entferne alle Elemente"}}}),e.define,e.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/dsb.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/dsb.js deleted file mode 100644 index 02f283ab..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/dsb.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/dsb",[],function(){var n=["znamuško","znamušce","znamuška","znamuškow"],e=["zapisk","zapiska","zapiski","zapiskow"],u=function(n,e){return 1===n?e[0]:2===n?e[1]:n>2&&n<=4?e[2]:n>=5?e[3]:void 0};return{errorLoading:function(){return"Wuslědki njejsu se dali zacytaś."},inputTooLong:function(e){var a=e.input.length-e.maximum;return"Pšosym lašuj "+a+" "+u(a,n)},inputTooShort:function(e){var a=e.minimum-e.input.length;return"Pšosym zapódaj nanejmjenjej "+a+" "+u(a,n)},loadingMore:function(){return"Dalšne wuslědki se zacytaju…"},maximumSelected:function(n){return"Móžoš jano "+n.maximum+" "+u(n.maximum,e)+"wubraś."},noResults:function(){return"Žedne wuslědki namakane"},searching:function(){return"Pyta se…"},removeAllItems:function(){return"Remove all items"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/el.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/el.js deleted file mode 100644 index d4922a1d..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/el.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/el",[],function(){return{errorLoading:function(){return"Τα αποτελέσματα δεν μπόρεσαν να φορτώσουν."},inputTooLong:function(n){var e=n.input.length-n.maximum,u="Παρακαλώ διαγράψτε "+e+" χαρακτήρ";return 1==e&&(u+="α"),1!=e&&(u+="ες"),u},inputTooShort:function(n){return"Παρακαλώ συμπληρώστε "+(n.minimum-n.input.length)+" ή περισσότερους χαρακτήρες"},loadingMore:function(){return"Φόρτωση περισσότερων αποτελεσμάτων…"},maximumSelected:function(n){var e="Μπορείτε να επιλέξετε μόνο "+n.maximum+" επιλογ";return 1==n.maximum&&(e+="ή"),1!=n.maximum&&(e+="ές"),e},noResults:function(){return"Δεν βρέθηκαν αποτελέσματα"},searching:function(){return"Αναζήτηση…"},removeAllItems:function(){return"Καταργήστε όλα τα στοιχεία"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/en.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/en.js deleted file mode 100644 index 3b192857..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/en.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Please delete "+n+" character";return 1!=n&&(r+="s"),r},inputTooShort:function(e){return"Please enter "+(e.minimum-e.input.length)+" or more characters"},loadingMore:function(){return"Loading more results…"},maximumSelected:function(e){var n="You can only select "+e.maximum+" item";return 1!=e.maximum&&(n+="s"),n},noResults:function(){return"No results found"},searching:function(){return"Searching…"},removeAllItems:function(){return"Remove all items"}}}),e.define,e.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/es.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/es.js deleted file mode 100644 index 68afd6d2..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/es.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/es",[],function(){return{errorLoading:function(){return"No se pudieron cargar los resultados"},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Por favor, elimine "+n+" car";return r+=1==n?"ácter":"acteres"},inputTooShort:function(e){var n=e.minimum-e.input.length,r="Por favor, introduzca "+n+" car";return r+=1==n?"ácter":"acteres"},loadingMore:function(){return"Cargando más resultados…"},maximumSelected:function(e){var n="Sólo puede seleccionar "+e.maximum+" elemento";return 1!=e.maximum&&(n+="s"),n},noResults:function(){return"No se encontraron resultados"},searching:function(){return"Buscando…"},removeAllItems:function(){return"Eliminar todos los elementos"}}}),e.define,e.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/et.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/et.js deleted file mode 100644 index 070b61a2..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/et.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/et",[],function(){return{inputTooLong:function(e){var n=e.input.length-e.maximum,t="Sisesta "+n+" täht";return 1!=n&&(t+="e"),t+=" vähem"},inputTooShort:function(e){var n=e.minimum-e.input.length,t="Sisesta "+n+" täht";return 1!=n&&(t+="e"),t+=" rohkem"},loadingMore:function(){return"Laen tulemusi…"},maximumSelected:function(e){var n="Saad vaid "+e.maximum+" tulemus";return 1==e.maximum?n+="e":n+="t",n+=" valida"},noResults:function(){return"Tulemused puuduvad"},searching:function(){return"Otsin…"},removeAllItems:function(){return"Eemalda kõik esemed"}}}),e.define,e.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/eu.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/eu.js deleted file mode 100644 index 90d5e73f..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/eu.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/eu",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Idatzi ";return n+=1==t?"karaktere bat":t+" karaktere",n+=" gutxiago"},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Idatzi ";return n+=1==t?"karaktere bat":t+" karaktere",n+=" gehiago"},loadingMore:function(){return"Emaitza gehiago kargatzen…"},maximumSelected:function(e){return 1===e.maximum?"Elementu bakarra hauta dezakezu":e.maximum+" elementu hauta ditzakezu soilik"},noResults:function(){return"Ez da bat datorrenik aurkitu"},searching:function(){return"Bilatzen…"},removeAllItems:function(){return"Kendu elementu guztiak"}}}),e.define,e.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/fa.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/fa.js deleted file mode 100644 index e1ffdbed..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/fa.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/fa",[],function(){return{errorLoading:function(){return"امکان بارگذاری نتایج وجود ندارد."},inputTooLong:function(n){return"لطفاً "+(n.input.length-n.maximum)+" کاراکتر را حذف نمایید"},inputTooShort:function(n){return"لطفاً تعداد "+(n.minimum-n.input.length)+" کاراکتر یا بیشتر وارد نمایید"},loadingMore:function(){return"در حال بارگذاری نتایج بیشتر..."},maximumSelected:function(n){return"شما تنها می‌توانید "+n.maximum+" آیتم را انتخاب نمایید"},noResults:function(){return"هیچ نتیجه‌ای یافت نشد"},searching:function(){return"در حال جستجو..."},removeAllItems:function(){return"همه موارد را حذف کنید"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/fi.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/fi.js deleted file mode 100644 index ffed1247..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/fi.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/fi",[],function(){return{errorLoading:function(){return"Tuloksia ei saatu ladattua."},inputTooLong:function(n){return"Ole hyvä ja anna "+(n.input.length-n.maximum)+" merkkiä vähemmän"},inputTooShort:function(n){return"Ole hyvä ja anna "+(n.minimum-n.input.length)+" merkkiä lisää"},loadingMore:function(){return"Ladataan lisää tuloksia…"},maximumSelected:function(n){return"Voit valita ainoastaan "+n.maximum+" kpl"},noResults:function(){return"Ei tuloksia"},searching:function(){return"Haetaan…"},removeAllItems:function(){return"Poista kaikki kohteet"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/fr.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/fr.js deleted file mode 100644 index dd02f973..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/fr.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/fr",[],function(){return{errorLoading:function(){return"Les résultats ne peuvent pas être chargés."},inputTooLong:function(e){var n=e.input.length-e.maximum;return"Supprimez "+n+" caractère"+(n>1?"s":"")},inputTooShort:function(e){var n=e.minimum-e.input.length;return"Saisissez au moins "+n+" caractère"+(n>1?"s":"")},loadingMore:function(){return"Chargement de résultats supplémentaires…"},maximumSelected:function(e){return"Vous pouvez seulement sélectionner "+e.maximum+" élément"+(e.maximum>1?"s":"")},noResults:function(){return"Aucun résultat trouvé"},searching:function(){return"Recherche en cours…"},removeAllItems:function(){return"Supprimer tous les éléments"}}}),e.define,e.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/gl.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/gl.js deleted file mode 100644 index 208a0057..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/gl.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/gl",[],function(){return{errorLoading:function(){return"Non foi posíbel cargar os resultados."},inputTooLong:function(e){var n=e.input.length-e.maximum;return 1===n?"Elimine un carácter":"Elimine "+n+" caracteres"},inputTooShort:function(e){var n=e.minimum-e.input.length;return 1===n?"Engada un carácter":"Engada "+n+" caracteres"},loadingMore:function(){return"Cargando máis resultados…"},maximumSelected:function(e){return 1===e.maximum?"Só pode seleccionar un elemento":"Só pode seleccionar "+e.maximum+" elementos"},noResults:function(){return"Non se atoparon resultados"},searching:function(){return"Buscando…"},removeAllItems:function(){return"Elimina todos os elementos"}}}),e.define,e.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/he.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/he.js deleted file mode 100644 index 25a8805a..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/he.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/he",[],function(){return{errorLoading:function(){return"שגיאה בטעינת התוצאות"},inputTooLong:function(n){var e=n.input.length-n.maximum,r="נא למחוק ";return r+=1===e?"תו אחד":e+" תווים"},inputTooShort:function(n){var e=n.minimum-n.input.length,r="נא להכניס ";return r+=1===e?"תו אחד":e+" תווים",r+=" או יותר"},loadingMore:function(){return"טוען תוצאות נוספות…"},maximumSelected:function(n){var e="באפשרותך לבחור עד ";return 1===n.maximum?e+="פריט אחד":e+=n.maximum+" פריטים",e},noResults:function(){return"לא נמצאו תוצאות"},searching:function(){return"מחפש…"},removeAllItems:function(){return"הסר את כל הפריטים"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hi.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hi.js deleted file mode 100644 index f3ed7984..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hi.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/hi",[],function(){return{errorLoading:function(){return"परिणामों को लोड नहीं किया जा सका।"},inputTooLong:function(n){var e=n.input.length-n.maximum,r=e+" अक्षर को हटा दें";return e>1&&(r=e+" अक्षरों को हटा दें "),r},inputTooShort:function(n){return"कृपया "+(n.minimum-n.input.length)+" या अधिक अक्षर दर्ज करें"},loadingMore:function(){return"अधिक परिणाम लोड हो रहे है..."},maximumSelected:function(n){return"आप केवल "+n.maximum+" आइटम का चयन कर सकते हैं"},noResults:function(){return"कोई परिणाम नहीं मिला"},searching:function(){return"खोज रहा है..."},removeAllItems:function(){return"सभी वस्तुओं को हटा दें"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hr.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hr.js deleted file mode 100644 index cb3268db..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hr.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/hr",[],function(){function n(n){var e=" "+n+" znak";return n%10<5&&n%10>0&&(n%100<5||n%100>19)?n%10>1&&(e+="a"):e+="ova",e}return{errorLoading:function(){return"Preuzimanje nije uspjelo."},inputTooLong:function(e){return"Unesite "+n(e.input.length-e.maximum)},inputTooShort:function(e){return"Unesite još "+n(e.minimum-e.input.length)},loadingMore:function(){return"Učitavanje rezultata…"},maximumSelected:function(n){return"Maksimalan broj odabranih stavki je "+n.maximum},noResults:function(){return"Nema rezultata"},searching:function(){return"Pretraga…"},removeAllItems:function(){return"Ukloni sve stavke"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hsb.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hsb.js deleted file mode 100644 index 3d5bf09d..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hsb.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/hsb",[],function(){var n=["znamješko","znamješce","znamješka","znamješkow"],e=["zapisk","zapiskaj","zapiski","zapiskow"],u=function(n,e){return 1===n?e[0]:2===n?e[1]:n>2&&n<=4?e[2]:n>=5?e[3]:void 0};return{errorLoading:function(){return"Wuslědki njedachu so začitać."},inputTooLong:function(e){var a=e.input.length-e.maximum;return"Prošu zhašej "+a+" "+u(a,n)},inputTooShort:function(e){var a=e.minimum-e.input.length;return"Prošu zapodaj znajmjeńša "+a+" "+u(a,n)},loadingMore:function(){return"Dalše wuslědki so začitaja…"},maximumSelected:function(n){return"Móžeš jenož "+n.maximum+" "+u(n.maximum,e)+"wubrać"},noResults:function(){return"Žane wuslědki namakane"},searching:function(){return"Pyta so…"},removeAllItems:function(){return"Remove all items"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hu.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hu.js deleted file mode 100644 index 4893aa2f..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hu.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/hu",[],function(){return{errorLoading:function(){return"Az eredmények betöltése nem sikerült."},inputTooLong:function(e){return"Túl hosszú. "+(e.input.length-e.maximum)+" karakterrel több, mint kellene."},inputTooShort:function(e){return"Túl rövid. Még "+(e.minimum-e.input.length)+" karakter hiányzik."},loadingMore:function(){return"Töltés…"},maximumSelected:function(e){return"Csak "+e.maximum+" elemet lehet kiválasztani."},noResults:function(){return"Nincs találat."},searching:function(){return"Keresés…"},removeAllItems:function(){return"Távolítson el minden elemet"}}}),e.define,e.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hy.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hy.js deleted file mode 100644 index 82300071..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hy.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/hy",[],function(){return{errorLoading:function(){return"Արդյունքները հնարավոր չէ բեռնել։"},inputTooLong:function(n){return"Խնդրում ենք հեռացնել "+(n.input.length-n.maximum)+" նշան"},inputTooShort:function(n){return"Խնդրում ենք մուտքագրել "+(n.minimum-n.input.length)+" կամ ավել նշաններ"},loadingMore:function(){return"Բեռնվում են նոր արդյունքներ․․․"},maximumSelected:function(n){return"Դուք կարող եք ընտրել առավելագույնը "+n.maximum+" կետ"},noResults:function(){return"Արդյունքներ չեն գտնվել"},searching:function(){return"Որոնում․․․"},removeAllItems:function(){return"Հեռացնել բոլոր տարրերը"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/id.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/id.js deleted file mode 100644 index 4a0b3bf0..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/id.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/id",[],function(){return{errorLoading:function(){return"Data tidak boleh diambil."},inputTooLong:function(n){return"Hapuskan "+(n.input.length-n.maximum)+" huruf"},inputTooShort:function(n){return"Masukkan "+(n.minimum-n.input.length)+" huruf lagi"},loadingMore:function(){return"Mengambil data…"},maximumSelected:function(n){return"Anda hanya dapat memilih "+n.maximum+" pilihan"},noResults:function(){return"Tidak ada data yang sesuai"},searching:function(){return"Mencari…"},removeAllItems:function(){return"Hapus semua item"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/is.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/is.js deleted file mode 100644 index cca5bbec..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/is.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/is",[],function(){return{inputTooLong:function(n){var t=n.input.length-n.maximum,e="Vinsamlegast styttið texta um "+t+" staf";return t<=1?e:e+"i"},inputTooShort:function(n){var t=n.minimum-n.input.length,e="Vinsamlegast skrifið "+t+" staf";return t>1&&(e+="i"),e+=" í viðbót"},loadingMore:function(){return"Sæki fleiri niðurstöður…"},maximumSelected:function(n){return"Þú getur aðeins valið "+n.maximum+" atriði"},noResults:function(){return"Ekkert fannst"},searching:function(){return"Leita…"},removeAllItems:function(){return"Fjarlægðu öll atriði"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/it.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/it.js deleted file mode 100644 index 507c7d9f..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/it.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/it",[],function(){return{errorLoading:function(){return"I risultati non possono essere caricati."},inputTooLong:function(e){var n=e.input.length-e.maximum,t="Per favore cancella "+n+" caratter";return t+=1!==n?"i":"e"},inputTooShort:function(e){return"Per favore inserisci "+(e.minimum-e.input.length)+" o più caratteri"},loadingMore:function(){return"Caricando più risultati…"},maximumSelected:function(e){var n="Puoi selezionare solo "+e.maximum+" element";return 1!==e.maximum?n+="i":n+="o",n},noResults:function(){return"Nessun risultato trovato"},searching:function(){return"Sto cercando…"},removeAllItems:function(){return"Rimuovi tutti gli oggetti"}}}),e.define,e.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ja.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ja.js deleted file mode 100644 index 451025e2..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ja.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ja",[],function(){return{errorLoading:function(){return"結果が読み込まれませんでした"},inputTooLong:function(n){return n.input.length-n.maximum+" 文字を削除してください"},inputTooShort:function(n){return"少なくとも "+(n.minimum-n.input.length)+" 文字を入力してください"},loadingMore:function(){return"読み込み中…"},maximumSelected:function(n){return n.maximum+" 件しか選択できません"},noResults:function(){return"対象が見つかりません"},searching:function(){return"検索しています…"},removeAllItems:function(){return"すべてのアイテムを削除"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ka.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ka.js deleted file mode 100644 index 60c593b7..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ka.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ka",[],function(){return{errorLoading:function(){return"მონაცემების ჩატვირთვა შეუძლებელია."},inputTooLong:function(n){return"გთხოვთ აკრიფეთ "+(n.input.length-n.maximum)+" სიმბოლოთი ნაკლები"},inputTooShort:function(n){return"გთხოვთ აკრიფეთ "+(n.minimum-n.input.length)+" სიმბოლო ან მეტი"},loadingMore:function(){return"მონაცემების ჩატვირთვა…"},maximumSelected:function(n){return"თქვენ შეგიძლიათ აირჩიოთ არაუმეტეს "+n.maximum+" ელემენტი"},noResults:function(){return"რეზულტატი არ მოიძებნა"},searching:function(){return"ძიება…"},removeAllItems:function(){return"ამოიღე ყველა ელემენტი"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/km.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/km.js deleted file mode 100644 index 4dca94f4..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/km.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/km",[],function(){return{errorLoading:function(){return"មិនអាចទាញយកទិន្នន័យ"},inputTooLong:function(n){return"សូមលុបចេញ "+(n.input.length-n.maximum)+" អក្សរ"},inputTooShort:function(n){return"សូមបញ្ចូល"+(n.minimum-n.input.length)+" អក្សរ រឺ ច្រើនជាងនេះ"},loadingMore:function(){return"កំពុងទាញយកទិន្នន័យបន្ថែម..."},maximumSelected:function(n){return"អ្នកអាចជ្រើសរើសបានតែ "+n.maximum+" ជម្រើសប៉ុណ្ណោះ"},noResults:function(){return"មិនមានលទ្ធផល"},searching:function(){return"កំពុងស្វែងរក..."},removeAllItems:function(){return"លុបធាតុទាំងអស់"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ko.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ko.js deleted file mode 100644 index f2880fb0..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ko.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ko",[],function(){return{errorLoading:function(){return"결과를 불러올 수 없습니다."},inputTooLong:function(n){return"너무 깁니다. "+(n.input.length-n.maximum)+" 글자 지워주세요."},inputTooShort:function(n){return"너무 짧습니다. "+(n.minimum-n.input.length)+" 글자 더 입력해주세요."},loadingMore:function(){return"불러오는 중…"},maximumSelected:function(n){return"최대 "+n.maximum+"개까지만 선택 가능합니다."},noResults:function(){return"결과가 없습니다."},searching:function(){return"검색 중…"},removeAllItems:function(){return"모든 항목 삭제"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/lt.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/lt.js deleted file mode 100644 index f6a42155..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/lt.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/lt",[],function(){function n(n,e,i,t){return n%10==1&&(n%100<11||n%100>19)?e:n%10>=2&&n%10<=9&&(n%100<11||n%100>19)?i:t}return{inputTooLong:function(e){var i=e.input.length-e.maximum,t="Pašalinkite "+i+" simbol";return t+=n(i,"į","ius","ių")},inputTooShort:function(e){var i=e.minimum-e.input.length,t="Įrašykite dar "+i+" simbol";return t+=n(i,"į","ius","ių")},loadingMore:function(){return"Kraunama daugiau rezultatų…"},maximumSelected:function(e){var i="Jūs galite pasirinkti tik "+e.maximum+" element";return i+=n(e.maximum,"ą","us","ų")},noResults:function(){return"Atitikmenų nerasta"},searching:function(){return"Ieškoma…"},removeAllItems:function(){return"Pašalinti visus elementus"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/lv.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/lv.js deleted file mode 100644 index 806dc5c4..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/lv.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/lv",[],function(){function e(e,n,u,i){return 11===e?n:e%10==1?u:i}return{inputTooLong:function(n){var u=n.input.length-n.maximum,i="Lūdzu ievadiet par "+u;return(i+=" simbol"+e(u,"iem","u","iem"))+" mazāk"},inputTooShort:function(n){var u=n.minimum-n.input.length,i="Lūdzu ievadiet vēl "+u;return i+=" simbol"+e(u,"us","u","us")},loadingMore:function(){return"Datu ielāde…"},maximumSelected:function(n){var u="Jūs varat izvēlēties ne vairāk kā "+n.maximum;return u+=" element"+e(n.maximum,"us","u","us")},noResults:function(){return"Sakritību nav"},searching:function(){return"Meklēšana…"},removeAllItems:function(){return"Noņemt visus vienumus"}}}),e.define,e.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/mk.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/mk.js deleted file mode 100644 index cb7b84a2..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/mk.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/mk",[],function(){return{inputTooLong:function(n){var e=(n.input.length,n.maximum,"Ве молиме внесете "+n.maximum+" помалку карактер");return 1!==n.maximum&&(e+="и"),e},inputTooShort:function(n){var e=(n.minimum,n.input.length,"Ве молиме внесете уште "+n.maximum+" карактер");return 1!==n.maximum&&(e+="и"),e},loadingMore:function(){return"Вчитување резултати…"},maximumSelected:function(n){var e="Можете да изберете само "+n.maximum+" ставк";return 1===n.maximum?e+="а":e+="и",e},noResults:function(){return"Нема пронајдено совпаѓања"},searching:function(){return"Пребарување…"},removeAllItems:function(){return"Отстрани ги сите предмети"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ms.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ms.js deleted file mode 100644 index 6bd7eaa3..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ms.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ms",[],function(){return{errorLoading:function(){return"Keputusan tidak berjaya dimuatkan."},inputTooLong:function(n){return"Sila hapuskan "+(n.input.length-n.maximum)+" aksara"},inputTooShort:function(n){return"Sila masukkan "+(n.minimum-n.input.length)+" atau lebih aksara"},loadingMore:function(){return"Sedang memuatkan keputusan…"},maximumSelected:function(n){return"Anda hanya boleh memilih "+n.maximum+" pilihan"},noResults:function(){return"Tiada padanan yang ditemui"},searching:function(){return"Mencari…"},removeAllItems:function(){return"Keluarkan semua item"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/nb.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/nb.js deleted file mode 100644 index 25d89c68..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/nb.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/nb",[],function(){return{errorLoading:function(){return"Kunne ikke hente resultater."},inputTooLong:function(e){return"Vennligst fjern "+(e.input.length-e.maximum)+" tegn"},inputTooShort:function(e){return"Vennligst skriv inn "+(e.minimum-e.input.length)+" tegn til"},loadingMore:function(){return"Laster flere resultater…"},maximumSelected:function(e){return"Du kan velge maks "+e.maximum+" elementer"},noResults:function(){return"Ingen treff"},searching:function(){return"Søker…"},removeAllItems:function(){return"Fjern alle elementer"}}}),e.define,e.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ne.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ne.js deleted file mode 100644 index 1c39f672..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ne.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ne",[],function(){return{errorLoading:function(){return"नतिजाहरु देखाउन सकिएन।"},inputTooLong:function(n){var e=n.input.length-n.maximum,u="कृपया "+e+" अक्षर मेटाउनुहोस्।";return 1!=e&&(u+="कृपया "+e+" अक्षरहरु मेटाउनुहोस्।"),u},inputTooShort:function(n){return"कृपया बाँकी रहेका "+(n.minimum-n.input.length)+" वा अरु धेरै अक्षरहरु भर्नुहोस्।"},loadingMore:function(){return"अरु नतिजाहरु भरिँदैछन् …"},maximumSelected:function(n){var e="तँपाई "+n.maximum+" वस्तु मात्र छान्न पाउँनुहुन्छ।";return 1!=n.maximum&&(e="तँपाई "+n.maximum+" वस्तुहरु मात्र छान्न पाउँनुहुन्छ।"),e},noResults:function(){return"कुनै पनि नतिजा भेटिएन।"},searching:function(){return"खोजि हुँदैछ…"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/nl.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/nl.js deleted file mode 100644 index 2b74058d..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/nl.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/nl",[],function(){return{errorLoading:function(){return"De resultaten konden niet worden geladen."},inputTooLong:function(e){return"Gelieve "+(e.input.length-e.maximum)+" karakters te verwijderen"},inputTooShort:function(e){return"Gelieve "+(e.minimum-e.input.length)+" of meer karakters in te voeren"},loadingMore:function(){return"Meer resultaten laden…"},maximumSelected:function(e){var n=1==e.maximum?"kan":"kunnen",r="Er "+n+" maar "+e.maximum+" item";return 1!=e.maximum&&(r+="s"),r+=" worden geselecteerd"},noResults:function(){return"Geen resultaten gevonden…"},searching:function(){return"Zoeken…"},removeAllItems:function(){return"Verwijder alle items"}}}),e.define,e.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/pl.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/pl.js deleted file mode 100644 index 4ca5748c..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/pl.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/pl",[],function(){var n=["znak","znaki","znaków"],e=["element","elementy","elementów"],r=function(n,e){return 1===n?e[0]:n>1&&n<=4?e[1]:n>=5?e[2]:void 0};return{errorLoading:function(){return"Nie można załadować wyników."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Usuń "+t+" "+r(t,n)},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Podaj przynajmniej "+t+" "+r(t,n)},loadingMore:function(){return"Trwa ładowanie…"},maximumSelected:function(n){return"Możesz zaznaczyć tylko "+n.maximum+" "+r(n.maximum,e)},noResults:function(){return"Brak wyników"},searching:function(){return"Trwa wyszukiwanie…"},removeAllItems:function(){return"Usuń wszystkie przedmioty"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ps.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ps.js deleted file mode 100644 index 9b008e4c..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ps.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ps",[],function(){return{errorLoading:function(){return"پايلي نه سي ترلاسه کېدای"},inputTooLong:function(n){var e=n.input.length-n.maximum,r="د مهربانۍ لمخي "+e+" توری ړنګ کړئ";return 1!=e&&(r=r.replace("توری","توري")),r},inputTooShort:function(n){return"لږ تر لږه "+(n.minimum-n.input.length)+" يا ډېر توري وليکئ"},loadingMore:function(){return"نوري پايلي ترلاسه کيږي..."},maximumSelected:function(n){var e="تاسو يوازي "+n.maximum+" قلم په نښه کولای سی";return 1!=n.maximum&&(e=e.replace("قلم","قلمونه")),e},noResults:function(){return"پايلي و نه موندل سوې"},searching:function(){return"لټول کيږي..."},removeAllItems:function(){return"ټول توکي لرې کړئ"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/pt-BR.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/pt-BR.js deleted file mode 100644 index c991e255..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/pt-BR.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/pt-BR",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Apague "+n+" caracter";return 1!=n&&(r+="es"),r},inputTooShort:function(e){return"Digite "+(e.minimum-e.input.length)+" ou mais caracteres"},loadingMore:function(){return"Carregando mais resultados…"},maximumSelected:function(e){var n="Você só pode selecionar "+e.maximum+" ite";return 1==e.maximum?n+="m":n+="ns",n},noResults:function(){return"Nenhum resultado encontrado"},searching:function(){return"Buscando…"},removeAllItems:function(){return"Remover todos os itens"}}}),e.define,e.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/pt.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/pt.js deleted file mode 100644 index b5da1a6b..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/pt.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/pt",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var r=e.input.length-e.maximum,n="Por favor apague "+r+" ";return n+=1!=r?"caracteres":"caractere"},inputTooShort:function(e){return"Introduza "+(e.minimum-e.input.length)+" ou mais caracteres"},loadingMore:function(){return"A carregar mais resultados…"},maximumSelected:function(e){var r="Apenas pode seleccionar "+e.maximum+" ";return r+=1!=e.maximum?"itens":"item"},noResults:function(){return"Sem resultados"},searching:function(){return"A procurar…"},removeAllItems:function(){return"Remover todos os itens"}}}),e.define,e.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ro.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ro.js deleted file mode 100644 index 1ba7b40b..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ro.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/ro",[],function(){return{errorLoading:function(){return"Rezultatele nu au putut fi incărcate."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vă rugăm să ștergeți"+t+" caracter";return 1!==t&&(n+="e"),n},inputTooShort:function(e){return"Vă rugăm să introduceți "+(e.minimum-e.input.length)+" sau mai multe caractere"},loadingMore:function(){return"Se încarcă mai multe rezultate…"},maximumSelected:function(e){var t="Aveți voie să selectați cel mult "+e.maximum;return t+=" element",1!==e.maximum&&(t+="e"),t},noResults:function(){return"Nu au fost găsite rezultate"},searching:function(){return"Căutare…"},removeAllItems:function(){return"Eliminați toate elementele"}}}),e.define,e.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ru.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ru.js deleted file mode 100644 index 63a7d66c..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ru.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ru",[],function(){function n(n,e,r,u){return n%10<5&&n%10>0&&n%100<5||n%100>20?n%10>1?r:e:u}return{errorLoading:function(){return"Невозможно загрузить результаты"},inputTooLong:function(e){var r=e.input.length-e.maximum,u="Пожалуйста, введите на "+r+" символ";return u+=n(r,"","a","ов"),u+=" меньше"},inputTooShort:function(e){var r=e.minimum-e.input.length,u="Пожалуйста, введите ещё хотя бы "+r+" символ";return u+=n(r,"","a","ов")},loadingMore:function(){return"Загрузка данных…"},maximumSelected:function(e){var r="Вы можете выбрать не более "+e.maximum+" элемент";return r+=n(e.maximum,"","a","ов")},noResults:function(){return"Совпадений не найдено"},searching:function(){return"Поиск…"},removeAllItems:function(){return"Удалить все элементы"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sk.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sk.js deleted file mode 100644 index 5049528a..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sk.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/sk",[],function(){var e={2:function(e){return e?"dva":"dve"},3:function(){return"tri"},4:function(){return"štyri"}};return{errorLoading:function(){return"Výsledky sa nepodarilo načítať."},inputTooLong:function(n){var t=n.input.length-n.maximum;return 1==t?"Prosím, zadajte o jeden znak menej":t>=2&&t<=4?"Prosím, zadajte o "+e[t](!0)+" znaky menej":"Prosím, zadajte o "+t+" znakov menej"},inputTooShort:function(n){var t=n.minimum-n.input.length;return 1==t?"Prosím, zadajte ešte jeden znak":t<=4?"Prosím, zadajte ešte ďalšie "+e[t](!0)+" znaky":"Prosím, zadajte ešte ďalších "+t+" znakov"},loadingMore:function(){return"Načítanie ďalších výsledkov…"},maximumSelected:function(n){return 1==n.maximum?"Môžete zvoliť len jednu položku":n.maximum>=2&&n.maximum<=4?"Môžete zvoliť najviac "+e[n.maximum](!1)+" položky":"Môžete zvoliť najviac "+n.maximum+" položiek"},noResults:function(){return"Nenašli sa žiadne položky"},searching:function(){return"Vyhľadávanie…"},removeAllItems:function(){return"Odstráňte všetky položky"}}}),e.define,e.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sl.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sl.js deleted file mode 100644 index 4d0b7d3e..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sl.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/sl",[],function(){return{errorLoading:function(){return"Zadetkov iskanja ni bilo mogoče naložiti."},inputTooLong:function(e){var n=e.input.length-e.maximum,t="Prosim zbrišite "+n+" znak";return 2==n?t+="a":1!=n&&(t+="e"),t},inputTooShort:function(e){var n=e.minimum-e.input.length,t="Prosim vpišite še "+n+" znak";return 2==n?t+="a":1!=n&&(t+="e"),t},loadingMore:function(){return"Nalagam več zadetkov…"},maximumSelected:function(e){var n="Označite lahko največ "+e.maximum+" predmet";return 2==e.maximum?n+="a":1!=e.maximum&&(n+="e"),n},noResults:function(){return"Ni zadetkov."},searching:function(){return"Iščem…"},removeAllItems:function(){return"Odstranite vse elemente"}}}),e.define,e.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sq.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sq.js deleted file mode 100644 index 59162024..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sq.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/sq",[],function(){return{errorLoading:function(){return"Rezultatet nuk mund të ngarkoheshin."},inputTooLong:function(e){var n=e.input.length-e.maximum,t="Të lutem fshi "+n+" karakter";return 1!=n&&(t+="e"),t},inputTooShort:function(e){return"Të lutem shkruaj "+(e.minimum-e.input.length)+" ose më shumë karaktere"},loadingMore:function(){return"Duke ngarkuar më shumë rezultate…"},maximumSelected:function(e){var n="Mund të zgjedhësh vetëm "+e.maximum+" element";return 1!=e.maximum&&(n+="e"),n},noResults:function(){return"Nuk u gjet asnjë rezultat"},searching:function(){return"Duke kërkuar…"},removeAllItems:function(){return"Hiq të gjitha sendet"}}}),e.define,e.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sr-Cyrl.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sr-Cyrl.js deleted file mode 100644 index ce13ce8f..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sr-Cyrl.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/sr-Cyrl",[],function(){function n(n,e,r,u){return n%10==1&&n%100!=11?e:n%10>=2&&n%10<=4&&(n%100<12||n%100>14)?r:u}return{errorLoading:function(){return"Преузимање није успело."},inputTooLong:function(e){var r=e.input.length-e.maximum,u="Обришите "+r+" симбол";return u+=n(r,"","а","а")},inputTooShort:function(e){var r=e.minimum-e.input.length,u="Укуцајте бар још "+r+" симбол";return u+=n(r,"","а","а")},loadingMore:function(){return"Преузимање још резултата…"},maximumSelected:function(e){var r="Можете изабрати само "+e.maximum+" ставк";return r+=n(e.maximum,"у","е","и")},noResults:function(){return"Ништа није пронађено"},searching:function(){return"Претрага…"},removeAllItems:function(){return"Уклоните све ставке"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sr.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sr.js deleted file mode 100644 index dd407a06..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sr.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/sr",[],function(){function n(n,e,r,t){return n%10==1&&n%100!=11?e:n%10>=2&&n%10<=4&&(n%100<12||n%100>14)?r:t}return{errorLoading:function(){return"Preuzimanje nije uspelo."},inputTooLong:function(e){var r=e.input.length-e.maximum,t="Obrišite "+r+" simbol";return t+=n(r,"","a","a")},inputTooShort:function(e){var r=e.minimum-e.input.length,t="Ukucajte bar još "+r+" simbol";return t+=n(r,"","a","a")},loadingMore:function(){return"Preuzimanje još rezultata…"},maximumSelected:function(e){var r="Možete izabrati samo "+e.maximum+" stavk";return r+=n(e.maximum,"u","e","i")},noResults:function(){return"Ništa nije pronađeno"},searching:function(){return"Pretraga…"},removeAllItems:function(){return"Уклоните све ставке"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sv.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sv.js deleted file mode 100644 index 1bc8724a..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sv.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/sv",[],function(){return{errorLoading:function(){return"Resultat kunde inte laddas."},inputTooLong:function(n){return"Vänligen sudda ut "+(n.input.length-n.maximum)+" tecken"},inputTooShort:function(n){return"Vänligen skriv in "+(n.minimum-n.input.length)+" eller fler tecken"},loadingMore:function(){return"Laddar fler resultat…"},maximumSelected:function(n){return"Du kan max välja "+n.maximum+" element"},noResults:function(){return"Inga träffar"},searching:function(){return"Söker…"},removeAllItems:function(){return"Ta bort alla objekt"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/th.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/th.js deleted file mode 100644 index 63eab711..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/th.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/th",[],function(){return{errorLoading:function(){return"ไม่สามารถค้นข้อมูลได้"},inputTooLong:function(n){return"โปรดลบออก "+(n.input.length-n.maximum)+" ตัวอักษร"},inputTooShort:function(n){return"โปรดพิมพ์เพิ่มอีก "+(n.minimum-n.input.length)+" ตัวอักษร"},loadingMore:function(){return"กำลังค้นข้อมูลเพิ่ม…"},maximumSelected:function(n){return"คุณสามารถเลือกได้ไม่เกิน "+n.maximum+" รายการ"},noResults:function(){return"ไม่พบข้อมูล"},searching:function(){return"กำลังค้นข้อมูล…"},removeAllItems:function(){return"ลบรายการทั้งหมด"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/tk.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/tk.js deleted file mode 100644 index 30255ff3..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/tk.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/tk",[],function(){return{errorLoading:function(){return"Netije ýüklenmedi."},inputTooLong:function(e){return e.input.length-e.maximum+" harp bozuň."},inputTooShort:function(e){return"Ýene-de iň az "+(e.minimum-e.input.length)+" harp ýazyň."},loadingMore:function(){return"Köpräk netije görkezilýär…"},maximumSelected:function(e){return"Diňe "+e.maximum+" sanysyny saýlaň."},noResults:function(){return"Netije tapylmady."},searching:function(){return"Gözlenýär…"},removeAllItems:function(){return"Remove all items"}}}),e.define,e.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/tr.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/tr.js deleted file mode 100644 index fc4c0bf0..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/tr.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/tr",[],function(){return{errorLoading:function(){return"Sonuç yüklenemedi"},inputTooLong:function(n){return n.input.length-n.maximum+" karakter daha girmelisiniz"},inputTooShort:function(n){return"En az "+(n.minimum-n.input.length)+" karakter daha girmelisiniz"},loadingMore:function(){return"Daha fazla…"},maximumSelected:function(n){return"Sadece "+n.maximum+" seçim yapabilirsiniz"},noResults:function(){return"Sonuç bulunamadı"},searching:function(){return"Aranıyor…"},removeAllItems:function(){return"Tüm öğeleri kaldır"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/uk.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/uk.js deleted file mode 100644 index 63697e38..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/uk.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/uk",[],function(){function n(n,e,u,r){return n%100>10&&n%100<15?r:n%10==1?e:n%10>1&&n%10<5?u:r}return{errorLoading:function(){return"Неможливо завантажити результати"},inputTooLong:function(e){return"Будь ласка, видаліть "+(e.input.length-e.maximum)+" "+n(e.maximum,"літеру","літери","літер")},inputTooShort:function(n){return"Будь ласка, введіть "+(n.minimum-n.input.length)+" або більше літер"},loadingMore:function(){return"Завантаження інших результатів…"},maximumSelected:function(e){return"Ви можете вибрати лише "+e.maximum+" "+n(e.maximum,"пункт","пункти","пунктів")},noResults:function(){return"Нічого не знайдено"},searching:function(){return"Пошук…"},removeAllItems:function(){return"Видалити всі елементи"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/vi.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/vi.js deleted file mode 100644 index 24f3bc2d..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/vi.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/vi",[],function(){return{inputTooLong:function(n){return"Vui lòng xóa bớt "+(n.input.length-n.maximum)+" ký tự"},inputTooShort:function(n){return"Vui lòng nhập thêm từ "+(n.minimum-n.input.length)+" ký tự trở lên"},loadingMore:function(){return"Đang lấy thêm kết quả…"},maximumSelected:function(n){return"Chỉ có thể chọn được "+n.maximum+" lựa chọn"},noResults:function(){return"Không tìm thấy kết quả"},searching:function(){return"Đang tìm…"},removeAllItems:function(){return"Xóa tất cả các mục"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/zh-CN.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/zh-CN.js deleted file mode 100644 index 2c5649d3..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/zh-CN.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/zh-CN",[],function(){return{errorLoading:function(){return"无法载入结果。"},inputTooLong:function(n){return"请删除"+(n.input.length-n.maximum)+"个字符"},inputTooShort:function(n){return"请再输入至少"+(n.minimum-n.input.length)+"个字符"},loadingMore:function(){return"载入更多结果…"},maximumSelected:function(n){return"最多只能选择"+n.maximum+"个项目"},noResults:function(){return"未找到结果"},searching:function(){return"搜索中…"},removeAllItems:function(){return"删除所有项目"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/zh-TW.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/zh-TW.js deleted file mode 100644 index 570a5669..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/zh-TW.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ - -!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/zh-TW",[],function(){return{inputTooLong:function(n){return"請刪掉"+(n.input.length-n.maximum)+"個字元"},inputTooShort:function(n){return"請再輸入"+(n.minimum-n.input.length)+"個字元"},loadingMore:function(){return"載入中…"},maximumSelected:function(n){return"你只能選擇最多"+n.maximum+"項"},noResults:function(){return"沒有找到相符的項目"},searching:function(){return"搜尋中…"},removeAllItems:function(){return"刪除所有項目"}}}),n.define,n.require}(); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/select2.full.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/select2.full.js deleted file mode 100644 index 358572a6..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/select2.full.js +++ /dev/null @@ -1,6820 +0,0 @@ -/*! - * Select2 4.0.13 - * https://select2.github.io - * - * Released under the MIT license - * https://github.com/select2/select2/blob/master/LICENSE.md - */ -;(function (factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['jquery'], factory); - } else if (typeof module === 'object' && module.exports) { - // Node/CommonJS - module.exports = function (root, jQuery) { - if (jQuery === undefined) { - // require('jQuery') returns a factory that requires window to - // build a jQuery instance, we normalize how we use modules - // that require this pattern but the window provided is a noop - // if it's defined (how jquery works) - if (typeof window !== 'undefined') { - jQuery = require('jquery'); - } - else { - jQuery = require('jquery')(root); - } - } - factory(jQuery); - return jQuery; - }; - } else { - // Browser globals - factory(jQuery); - } -} (function (jQuery) { - // This is needed so we can catch the AMD loader configuration and use it - // The inner file should be wrapped (by `banner.start.js`) in a function that - // returns the AMD loader references. - var S2 =(function () { - // Restore the Select2 AMD loader so it can be used - // Needed mostly in the language files, where the loader is not inserted - if (jQuery && jQuery.fn && jQuery.fn.select2 && jQuery.fn.select2.amd) { - var S2 = jQuery.fn.select2.amd; - } -var S2;(function () { if (!S2 || !S2.requirejs) { -if (!S2) { S2 = {}; } else { require = S2; } -/** - * @license almond 0.3.3 Copyright jQuery Foundation and other contributors. - * Released under MIT license, http://github.com/requirejs/almond/LICENSE - */ -//Going sloppy to avoid 'use strict' string cost, but strict practices should -//be followed. -/*global setTimeout: false */ - -var requirejs, require, define; -(function (undef) { - var main, req, makeMap, handlers, - defined = {}, - waiting = {}, - config = {}, - defining = {}, - hasOwn = Object.prototype.hasOwnProperty, - aps = [].slice, - jsSuffixRegExp = /\.js$/; - - function hasProp(obj, prop) { - return hasOwn.call(obj, prop); - } - - /** - * Given a relative module name, like ./something, normalize it to - * a real name that can be mapped to a path. - * @param {String} name the relative name - * @param {String} baseName a real name that the name arg is relative - * to. - * @returns {String} normalized name - */ - function normalize(name, baseName) { - var nameParts, nameSegment, mapValue, foundMap, lastIndex, - foundI, foundStarMap, starI, i, j, part, normalizedBaseParts, - baseParts = baseName && baseName.split("/"), - map = config.map, - starMap = (map && map['*']) || {}; - - //Adjust any relative paths. - if (name) { - name = name.split('/'); - lastIndex = name.length - 1; - - // If wanting node ID compatibility, strip .js from end - // of IDs. Have to do this here, and not in nameToUrl - // because node allows either .js or non .js to map - // to same file. - if (config.nodeIdCompat && jsSuffixRegExp.test(name[lastIndex])) { - name[lastIndex] = name[lastIndex].replace(jsSuffixRegExp, ''); - } - - // Starts with a '.' so need the baseName - if (name[0].charAt(0) === '.' && baseParts) { - //Convert baseName to array, and lop off the last part, - //so that . matches that 'directory' and not name of the baseName's - //module. For instance, baseName of 'one/two/three', maps to - //'one/two/three.js', but we want the directory, 'one/two' for - //this normalization. - normalizedBaseParts = baseParts.slice(0, baseParts.length - 1); - name = normalizedBaseParts.concat(name); - } - - //start trimDots - for (i = 0; i < name.length; i++) { - part = name[i]; - if (part === '.') { - name.splice(i, 1); - i -= 1; - } else if (part === '..') { - // If at the start, or previous value is still .., - // keep them so that when converted to a path it may - // still work when converted to a path, even though - // as an ID it is less than ideal. In larger point - // releases, may be better to just kick out an error. - if (i === 0 || (i === 1 && name[2] === '..') || name[i - 1] === '..') { - continue; - } else if (i > 0) { - name.splice(i - 1, 2); - i -= 2; - } - } - } - //end trimDots - - name = name.join('/'); - } - - //Apply map config if available. - if ((baseParts || starMap) && map) { - nameParts = name.split('/'); - - for (i = nameParts.length; i > 0; i -= 1) { - nameSegment = nameParts.slice(0, i).join("/"); - - if (baseParts) { - //Find the longest baseName segment match in the config. - //So, do joins on the biggest to smallest lengths of baseParts. - for (j = baseParts.length; j > 0; j -= 1) { - mapValue = map[baseParts.slice(0, j).join('/')]; - - //baseName segment has config, find if it has one for - //this name. - if (mapValue) { - mapValue = mapValue[nameSegment]; - if (mapValue) { - //Match, update name to the new value. - foundMap = mapValue; - foundI = i; - break; - } - } - } - } - - if (foundMap) { - break; - } - - //Check for a star map match, but just hold on to it, - //if there is a shorter segment match later in a matching - //config, then favor over this star map. - if (!foundStarMap && starMap && starMap[nameSegment]) { - foundStarMap = starMap[nameSegment]; - starI = i; - } - } - - if (!foundMap && foundStarMap) { - foundMap = foundStarMap; - foundI = starI; - } - - if (foundMap) { - nameParts.splice(0, foundI, foundMap); - name = nameParts.join('/'); - } - } - - return name; - } - - function makeRequire(relName, forceSync) { - return function () { - //A version of a require function that passes a moduleName - //value for items that may need to - //look up paths relative to the moduleName - var args = aps.call(arguments, 0); - - //If first arg is not require('string'), and there is only - //one arg, it is the array form without a callback. Insert - //a null so that the following concat is correct. - if (typeof args[0] !== 'string' && args.length === 1) { - args.push(null); - } - return req.apply(undef, args.concat([relName, forceSync])); - }; - } - - function makeNormalize(relName) { - return function (name) { - return normalize(name, relName); - }; - } - - function makeLoad(depName) { - return function (value) { - defined[depName] = value; - }; - } - - function callDep(name) { - if (hasProp(waiting, name)) { - var args = waiting[name]; - delete waiting[name]; - defining[name] = true; - main.apply(undef, args); - } - - if (!hasProp(defined, name) && !hasProp(defining, name)) { - throw new Error('No ' + name); - } - return defined[name]; - } - - //Turns a plugin!resource to [plugin, resource] - //with the plugin being undefined if the name - //did not have a plugin prefix. - function splitPrefix(name) { - var prefix, - index = name ? name.indexOf('!') : -1; - if (index > -1) { - prefix = name.substring(0, index); - name = name.substring(index + 1, name.length); - } - return [prefix, name]; - } - - //Creates a parts array for a relName where first part is plugin ID, - //second part is resource ID. Assumes relName has already been normalized. - function makeRelParts(relName) { - return relName ? splitPrefix(relName) : []; - } - - /** - * Makes a name map, normalizing the name, and using a plugin - * for normalization if necessary. Grabs a ref to plugin - * too, as an optimization. - */ - makeMap = function (name, relParts) { - var plugin, - parts = splitPrefix(name), - prefix = parts[0], - relResourceName = relParts[1]; - - name = parts[1]; - - if (prefix) { - prefix = normalize(prefix, relResourceName); - plugin = callDep(prefix); - } - - //Normalize according - if (prefix) { - if (plugin && plugin.normalize) { - name = plugin.normalize(name, makeNormalize(relResourceName)); - } else { - name = normalize(name, relResourceName); - } - } else { - name = normalize(name, relResourceName); - parts = splitPrefix(name); - prefix = parts[0]; - name = parts[1]; - if (prefix) { - plugin = callDep(prefix); - } - } - - //Using ridiculous property names for space reasons - return { - f: prefix ? prefix + '!' + name : name, //fullName - n: name, - pr: prefix, - p: plugin - }; - }; - - function makeConfig(name) { - return function () { - return (config && config.config && config.config[name]) || {}; - }; - } - - handlers = { - require: function (name) { - return makeRequire(name); - }, - exports: function (name) { - var e = defined[name]; - if (typeof e !== 'undefined') { - return e; - } else { - return (defined[name] = {}); - } - }, - module: function (name) { - return { - id: name, - uri: '', - exports: defined[name], - config: makeConfig(name) - }; - } - }; - - main = function (name, deps, callback, relName) { - var cjsModule, depName, ret, map, i, relParts, - args = [], - callbackType = typeof callback, - usingExports; - - //Use name if no relName - relName = relName || name; - relParts = makeRelParts(relName); - - //Call the callback to define the module, if necessary. - if (callbackType === 'undefined' || callbackType === 'function') { - //Pull out the defined dependencies and pass the ordered - //values to the callback. - //Default to [require, exports, module] if no deps - deps = !deps.length && callback.length ? ['require', 'exports', 'module'] : deps; - for (i = 0; i < deps.length; i += 1) { - map = makeMap(deps[i], relParts); - depName = map.f; - - //Fast path CommonJS standard dependencies. - if (depName === "require") { - args[i] = handlers.require(name); - } else if (depName === "exports") { - //CommonJS module spec 1.1 - args[i] = handlers.exports(name); - usingExports = true; - } else if (depName === "module") { - //CommonJS module spec 1.1 - cjsModule = args[i] = handlers.module(name); - } else if (hasProp(defined, depName) || - hasProp(waiting, depName) || - hasProp(defining, depName)) { - args[i] = callDep(depName); - } else if (map.p) { - map.p.load(map.n, makeRequire(relName, true), makeLoad(depName), {}); - args[i] = defined[depName]; - } else { - throw new Error(name + ' missing ' + depName); - } - } - - ret = callback ? callback.apply(defined[name], args) : undefined; - - if (name) { - //If setting exports via "module" is in play, - //favor that over return value and exports. After that, - //favor a non-undefined return value over exports use. - if (cjsModule && cjsModule.exports !== undef && - cjsModule.exports !== defined[name]) { - defined[name] = cjsModule.exports; - } else if (ret !== undef || !usingExports) { - //Use the return value from the function. - defined[name] = ret; - } - } - } else if (name) { - //May just be an object definition for the module. Only - //worry about defining if have a module name. - defined[name] = callback; - } - }; - - requirejs = require = req = function (deps, callback, relName, forceSync, alt) { - if (typeof deps === "string") { - if (handlers[deps]) { - //callback in this case is really relName - return handlers[deps](callback); - } - //Just return the module wanted. In this scenario, the - //deps arg is the module name, and second arg (if passed) - //is just the relName. - //Normalize module name, if it contains . or .. - return callDep(makeMap(deps, makeRelParts(callback)).f); - } else if (!deps.splice) { - //deps is a config object, not an array. - config = deps; - if (config.deps) { - req(config.deps, config.callback); - } - if (!callback) { - return; - } - - if (callback.splice) { - //callback is an array, which means it is a dependency list. - //Adjust args if there are dependencies - deps = callback; - callback = relName; - relName = null; - } else { - deps = undef; - } - } - - //Support require(['a']) - callback = callback || function () {}; - - //If relName is a function, it is an errback handler, - //so remove it. - if (typeof relName === 'function') { - relName = forceSync; - forceSync = alt; - } - - //Simulate async callback; - if (forceSync) { - main(undef, deps, callback, relName); - } else { - //Using a non-zero value because of concern for what old browsers - //do, and latest browsers "upgrade" to 4 if lower value is used: - //http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#dom-windowtimers-settimeout: - //If want a value immediately, use require('id') instead -- something - //that works in almond on the global level, but not guaranteed and - //unlikely to work in other AMD implementations. - setTimeout(function () { - main(undef, deps, callback, relName); - }, 4); - } - - return req; - }; - - /** - * Just drops the config on the floor, but returns req in case - * the config return value is used. - */ - req.config = function (cfg) { - return req(cfg); - }; - - /** - * Expose module registry for debugging and tooling - */ - requirejs._defined = defined; - - define = function (name, deps, callback) { - if (typeof name !== 'string') { - throw new Error('See almond README: incorrect module build, no module name'); - } - - //This module may not have dependencies - if (!deps.splice) { - //deps is not an array, so probably means - //an object literal or factory function for - //the value. Adjust args. - callback = deps; - deps = []; - } - - if (!hasProp(defined, name) && !hasProp(waiting, name)) { - waiting[name] = [name, deps, callback]; - } - }; - - define.amd = { - jQuery: true - }; -}()); - -S2.requirejs = requirejs;S2.require = require;S2.define = define; -} -}()); -S2.define("almond", function(){}); - -/* global jQuery:false, $:false */ -S2.define('jquery',[],function () { - var _$ = jQuery || $; - - if (_$ == null && console && console.error) { - console.error( - 'Select2: An instance of jQuery or a jQuery-compatible library was not ' + - 'found. Make sure that you are including jQuery before Select2 on your ' + - 'web page.' - ); - } - - return _$; -}); - -S2.define('select2/utils',[ - 'jquery' -], function ($) { - var Utils = {}; - - Utils.Extend = function (ChildClass, SuperClass) { - var __hasProp = {}.hasOwnProperty; - - function BaseConstructor () { - this.constructor = ChildClass; - } - - for (var key in SuperClass) { - if (__hasProp.call(SuperClass, key)) { - ChildClass[key] = SuperClass[key]; - } - } - - BaseConstructor.prototype = SuperClass.prototype; - ChildClass.prototype = new BaseConstructor(); - ChildClass.__super__ = SuperClass.prototype; - - return ChildClass; - }; - - function getMethods (theClass) { - var proto = theClass.prototype; - - var methods = []; - - for (var methodName in proto) { - var m = proto[methodName]; - - if (typeof m !== 'function') { - continue; - } - - if (methodName === 'constructor') { - continue; - } - - methods.push(methodName); - } - - return methods; - } - - Utils.Decorate = function (SuperClass, DecoratorClass) { - var decoratedMethods = getMethods(DecoratorClass); - var superMethods = getMethods(SuperClass); - - function DecoratedClass () { - var unshift = Array.prototype.unshift; - - var argCount = DecoratorClass.prototype.constructor.length; - - var calledConstructor = SuperClass.prototype.constructor; - - if (argCount > 0) { - unshift.call(arguments, SuperClass.prototype.constructor); - - calledConstructor = DecoratorClass.prototype.constructor; - } - - calledConstructor.apply(this, arguments); - } - - DecoratorClass.displayName = SuperClass.displayName; - - function ctr () { - this.constructor = DecoratedClass; - } - - DecoratedClass.prototype = new ctr(); - - for (var m = 0; m < superMethods.length; m++) { - var superMethod = superMethods[m]; - - DecoratedClass.prototype[superMethod] = - SuperClass.prototype[superMethod]; - } - - var calledMethod = function (methodName) { - // Stub out the original method if it's not decorating an actual method - var originalMethod = function () {}; - - if (methodName in DecoratedClass.prototype) { - originalMethod = DecoratedClass.prototype[methodName]; - } - - var decoratedMethod = DecoratorClass.prototype[methodName]; - - return function () { - var unshift = Array.prototype.unshift; - - unshift.call(arguments, originalMethod); - - return decoratedMethod.apply(this, arguments); - }; - }; - - for (var d = 0; d < decoratedMethods.length; d++) { - var decoratedMethod = decoratedMethods[d]; - - DecoratedClass.prototype[decoratedMethod] = calledMethod(decoratedMethod); - } - - return DecoratedClass; - }; - - var Observable = function () { - this.listeners = {}; - }; - - Observable.prototype.on = function (event, callback) { - this.listeners = this.listeners || {}; - - if (event in this.listeners) { - this.listeners[event].push(callback); - } else { - this.listeners[event] = [callback]; - } - }; - - Observable.prototype.trigger = function (event) { - var slice = Array.prototype.slice; - var params = slice.call(arguments, 1); - - this.listeners = this.listeners || {}; - - // Params should always come in as an array - if (params == null) { - params = []; - } - - // If there are no arguments to the event, use a temporary object - if (params.length === 0) { - params.push({}); - } - - // Set the `_type` of the first object to the event - params[0]._type = event; - - if (event in this.listeners) { - this.invoke(this.listeners[event], slice.call(arguments, 1)); - } - - if ('*' in this.listeners) { - this.invoke(this.listeners['*'], arguments); - } - }; - - Observable.prototype.invoke = function (listeners, params) { - for (var i = 0, len = listeners.length; i < len; i++) { - listeners[i].apply(this, params); - } - }; - - Utils.Observable = Observable; - - Utils.generateChars = function (length) { - var chars = ''; - - for (var i = 0; i < length; i++) { - var randomChar = Math.floor(Math.random() * 36); - chars += randomChar.toString(36); - } - - return chars; - }; - - Utils.bind = function (func, context) { - return function () { - func.apply(context, arguments); - }; - }; - - Utils._convertData = function (data) { - for (var originalKey in data) { - var keys = originalKey.split('-'); - - var dataLevel = data; - - if (keys.length === 1) { - continue; - } - - for (var k = 0; k < keys.length; k++) { - var key = keys[k]; - - // Lowercase the first letter - // By default, dash-separated becomes camelCase - key = key.substring(0, 1).toLowerCase() + key.substring(1); - - if (!(key in dataLevel)) { - dataLevel[key] = {}; - } - - if (k == keys.length - 1) { - dataLevel[key] = data[originalKey]; - } - - dataLevel = dataLevel[key]; - } - - delete data[originalKey]; - } - - return data; - }; - - Utils.hasScroll = function (index, el) { - // Adapted from the function created by @ShadowScripter - // and adapted by @BillBarry on the Stack Exchange Code Review website. - // The original code can be found at - // http://codereview.stackexchange.com/q/13338 - // and was designed to be used with the Sizzle selector engine. - - var $el = $(el); - var overflowX = el.style.overflowX; - var overflowY = el.style.overflowY; - - //Check both x and y declarations - if (overflowX === overflowY && - (overflowY === 'hidden' || overflowY === 'visible')) { - return false; - } - - if (overflowX === 'scroll' || overflowY === 'scroll') { - return true; - } - - return ($el.innerHeight() < el.scrollHeight || - $el.innerWidth() < el.scrollWidth); - }; - - Utils.escapeMarkup = function (markup) { - var replaceMap = { - '\\': '\', - '&': '&', - '<': '<', - '>': '>', - '"': '"', - '\'': ''', - '/': '/' - }; - - // Do not try to escape the markup if it's not a string - if (typeof markup !== 'string') { - return markup; - } - - return String(markup).replace(/[&<>"'\/\\]/g, function (match) { - return replaceMap[match]; - }); - }; - - // Append an array of jQuery nodes to a given element. - Utils.appendMany = function ($element, $nodes) { - // jQuery 1.7.x does not support $.fn.append() with an array - // Fall back to a jQuery object collection using $.fn.add() - if ($.fn.jquery.substr(0, 3) === '1.7') { - var $jqNodes = $(); - - $.map($nodes, function (node) { - $jqNodes = $jqNodes.add(node); - }); - - $nodes = $jqNodes; - } - - $element.append($nodes); - }; - - // Cache objects in Utils.__cache instead of $.data (see #4346) - Utils.__cache = {}; - - var id = 0; - Utils.GetUniqueElementId = function (element) { - // Get a unique element Id. If element has no id, - // creates a new unique number, stores it in the id - // attribute and returns the new id. - // If an id already exists, it simply returns it. - - var select2Id = element.getAttribute('data-select2-id'); - if (select2Id == null) { - // If element has id, use it. - if (element.id) { - select2Id = element.id; - element.setAttribute('data-select2-id', select2Id); - } else { - element.setAttribute('data-select2-id', ++id); - select2Id = id.toString(); - } - } - return select2Id; - }; - - Utils.StoreData = function (element, name, value) { - // Stores an item in the cache for a specified element. - // name is the cache key. - var id = Utils.GetUniqueElementId(element); - if (!Utils.__cache[id]) { - Utils.__cache[id] = {}; - } - - Utils.__cache[id][name] = value; - }; - - Utils.GetData = function (element, name) { - // Retrieves a value from the cache by its key (name) - // name is optional. If no name specified, return - // all cache items for the specified element. - // and for a specified element. - var id = Utils.GetUniqueElementId(element); - if (name) { - if (Utils.__cache[id]) { - if (Utils.__cache[id][name] != null) { - return Utils.__cache[id][name]; - } - return $(element).data(name); // Fallback to HTML5 data attribs. - } - return $(element).data(name); // Fallback to HTML5 data attribs. - } else { - return Utils.__cache[id]; - } - }; - - Utils.RemoveData = function (element) { - // Removes all cached items for a specified element. - var id = Utils.GetUniqueElementId(element); - if (Utils.__cache[id] != null) { - delete Utils.__cache[id]; - } - - element.removeAttribute('data-select2-id'); - }; - - return Utils; -}); - -S2.define('select2/results',[ - 'jquery', - './utils' -], function ($, Utils) { - function Results ($element, options, dataAdapter) { - this.$element = $element; - this.data = dataAdapter; - this.options = options; - - Results.__super__.constructor.call(this); - } - - Utils.Extend(Results, Utils.Observable); - - Results.prototype.render = function () { - var $results = $( - '<ul class="select2-results__options" role="listbox"></ul>' - ); - - if (this.options.get('multiple')) { - $results.attr('aria-multiselectable', 'true'); - } - - this.$results = $results; - - return $results; - }; - - Results.prototype.clear = function () { - this.$results.empty(); - }; - - Results.prototype.displayMessage = function (params) { - var escapeMarkup = this.options.get('escapeMarkup'); - - this.clear(); - this.hideLoading(); - - var $message = $( - '<li role="alert" aria-live="assertive"' + - ' class="select2-results__option"></li>' - ); - - var message = this.options.get('translations').get(params.message); - - $message.append( - escapeMarkup( - message(params.args) - ) - ); - - $message[0].className += ' select2-results__message'; - - this.$results.append($message); - }; - - Results.prototype.hideMessages = function () { - this.$results.find('.select2-results__message').remove(); - }; - - Results.prototype.append = function (data) { - this.hideLoading(); - - var $options = []; - - if (data.results == null || data.results.length === 0) { - if (this.$results.children().length === 0) { - this.trigger('results:message', { - message: 'noResults' - }); - } - - return; - } - - data.results = this.sort(data.results); - - for (var d = 0; d < data.results.length; d++) { - var item = data.results[d]; - - var $option = this.option(item); - - $options.push($option); - } - - this.$results.append($options); - }; - - Results.prototype.position = function ($results, $dropdown) { - var $resultsContainer = $dropdown.find('.select2-results'); - $resultsContainer.append($results); - }; - - Results.prototype.sort = function (data) { - var sorter = this.options.get('sorter'); - - return sorter(data); - }; - - Results.prototype.highlightFirstItem = function () { - var $options = this.$results - .find('.select2-results__option[aria-selected]'); - - var $selected = $options.filter('[aria-selected=true]'); - - // Check if there are any selected options - if ($selected.length > 0) { - // If there are selected options, highlight the first - $selected.first().trigger('mouseenter'); - } else { - // If there are no selected options, highlight the first option - // in the dropdown - $options.first().trigger('mouseenter'); - } - - this.ensureHighlightVisible(); - }; - - Results.prototype.setClasses = function () { - var self = this; - - this.data.current(function (selected) { - var selectedIds = $.map(selected, function (s) { - return s.id.toString(); - }); - - var $options = self.$results - .find('.select2-results__option[aria-selected]'); - - $options.each(function () { - var $option = $(this); - - var item = Utils.GetData(this, 'data'); - - // id needs to be converted to a string when comparing - var id = '' + item.id; - - if ((item.element != null && item.element.selected) || - (item.element == null && $.inArray(id, selectedIds) > -1)) { - $option.attr('aria-selected', 'true'); - } else { - $option.attr('aria-selected', 'false'); - } - }); - - }); - }; - - Results.prototype.showLoading = function (params) { - this.hideLoading(); - - var loadingMore = this.options.get('translations').get('searching'); - - var loading = { - disabled: true, - loading: true, - text: loadingMore(params) - }; - var $loading = this.option(loading); - $loading.className += ' loading-results'; - - this.$results.prepend($loading); - }; - - Results.prototype.hideLoading = function () { - this.$results.find('.loading-results').remove(); - }; - - Results.prototype.option = function (data) { - var option = document.createElement('li'); - option.className = 'select2-results__option'; - - var attrs = { - 'role': 'option', - 'aria-selected': 'false' - }; - - var matches = window.Element.prototype.matches || - window.Element.prototype.msMatchesSelector || - window.Element.prototype.webkitMatchesSelector; - - if ((data.element != null && matches.call(data.element, ':disabled')) || - (data.element == null && data.disabled)) { - delete attrs['aria-selected']; - attrs['aria-disabled'] = 'true'; - } - - if (data.id == null) { - delete attrs['aria-selected']; - } - - if (data._resultId != null) { - option.id = data._resultId; - } - - if (data.title) { - option.title = data.title; - } - - if (data.children) { - attrs.role = 'group'; - attrs['aria-label'] = data.text; - delete attrs['aria-selected']; - } - - for (var attr in attrs) { - var val = attrs[attr]; - - option.setAttribute(attr, val); - } - - if (data.children) { - var $option = $(option); - - var label = document.createElement('strong'); - label.className = 'select2-results__group'; - - var $label = $(label); - this.template(data, label); - - var $children = []; - - for (var c = 0; c < data.children.length; c++) { - var child = data.children[c]; - - var $child = this.option(child); - - $children.push($child); - } - - var $childrenContainer = $('<ul></ul>', { - 'class': 'select2-results__options select2-results__options--nested' - }); - - $childrenContainer.append($children); - - $option.append(label); - $option.append($childrenContainer); - } else { - this.template(data, option); - } - - Utils.StoreData(option, 'data', data); - - return option; - }; - - Results.prototype.bind = function (container, $container) { - var self = this; - - var id = container.id + '-results'; - - this.$results.attr('id', id); - - container.on('results:all', function (params) { - self.clear(); - self.append(params.data); - - if (container.isOpen()) { - self.setClasses(); - self.highlightFirstItem(); - } - }); - - container.on('results:append', function (params) { - self.append(params.data); - - if (container.isOpen()) { - self.setClasses(); - } - }); - - container.on('query', function (params) { - self.hideMessages(); - self.showLoading(params); - }); - - container.on('select', function () { - if (!container.isOpen()) { - return; - } - - self.setClasses(); - - if (self.options.get('scrollAfterSelect')) { - self.highlightFirstItem(); - } - }); - - container.on('unselect', function () { - if (!container.isOpen()) { - return; - } - - self.setClasses(); - - if (self.options.get('scrollAfterSelect')) { - self.highlightFirstItem(); - } - }); - - container.on('open', function () { - // When the dropdown is open, aria-expended="true" - self.$results.attr('aria-expanded', 'true'); - self.$results.attr('aria-hidden', 'false'); - - self.setClasses(); - self.ensureHighlightVisible(); - }); - - container.on('close', function () { - // When the dropdown is closed, aria-expended="false" - self.$results.attr('aria-expanded', 'false'); - self.$results.attr('aria-hidden', 'true'); - self.$results.removeAttr('aria-activedescendant'); - }); - - container.on('results:toggle', function () { - var $highlighted = self.getHighlightedResults(); - - if ($highlighted.length === 0) { - return; - } - - $highlighted.trigger('mouseup'); - }); - - container.on('results:select', function () { - var $highlighted = self.getHighlightedResults(); - - if ($highlighted.length === 0) { - return; - } - - var data = Utils.GetData($highlighted[0], 'data'); - - if ($highlighted.attr('aria-selected') == 'true') { - self.trigger('close', {}); - } else { - self.trigger('select', { - data: data - }); - } - }); - - container.on('results:previous', function () { - var $highlighted = self.getHighlightedResults(); - - var $options = self.$results.find('[aria-selected]'); - - var currentIndex = $options.index($highlighted); - - // If we are already at the top, don't move further - // If no options, currentIndex will be -1 - if (currentIndex <= 0) { - return; - } - - var nextIndex = currentIndex - 1; - - // If none are highlighted, highlight the first - if ($highlighted.length === 0) { - nextIndex = 0; - } - - var $next = $options.eq(nextIndex); - - $next.trigger('mouseenter'); - - var currentOffset = self.$results.offset().top; - var nextTop = $next.offset().top; - var nextOffset = self.$results.scrollTop() + (nextTop - currentOffset); - - if (nextIndex === 0) { - self.$results.scrollTop(0); - } else if (nextTop - currentOffset < 0) { - self.$results.scrollTop(nextOffset); - } - }); - - container.on('results:next', function () { - var $highlighted = self.getHighlightedResults(); - - var $options = self.$results.find('[aria-selected]'); - - var currentIndex = $options.index($highlighted); - - var nextIndex = currentIndex + 1; - - // If we are at the last option, stay there - if (nextIndex >= $options.length) { - return; - } - - var $next = $options.eq(nextIndex); - - $next.trigger('mouseenter'); - - var currentOffset = self.$results.offset().top + - self.$results.outerHeight(false); - var nextBottom = $next.offset().top + $next.outerHeight(false); - var nextOffset = self.$results.scrollTop() + nextBottom - currentOffset; - - if (nextIndex === 0) { - self.$results.scrollTop(0); - } else if (nextBottom > currentOffset) { - self.$results.scrollTop(nextOffset); - } - }); - - container.on('results:focus', function (params) { - params.element.addClass('select2-results__option--highlighted'); - }); - - container.on('results:message', function (params) { - self.displayMessage(params); - }); - - if ($.fn.mousewheel) { - this.$results.on('mousewheel', function (e) { - var top = self.$results.scrollTop(); - - var bottom = self.$results.get(0).scrollHeight - top + e.deltaY; - - var isAtTop = e.deltaY > 0 && top - e.deltaY <= 0; - var isAtBottom = e.deltaY < 0 && bottom <= self.$results.height(); - - if (isAtTop) { - self.$results.scrollTop(0); - - e.preventDefault(); - e.stopPropagation(); - } else if (isAtBottom) { - self.$results.scrollTop( - self.$results.get(0).scrollHeight - self.$results.height() - ); - - e.preventDefault(); - e.stopPropagation(); - } - }); - } - - this.$results.on('mouseup', '.select2-results__option[aria-selected]', - function (evt) { - var $this = $(this); - - var data = Utils.GetData(this, 'data'); - - if ($this.attr('aria-selected') === 'true') { - if (self.options.get('multiple')) { - self.trigger('unselect', { - originalEvent: evt, - data: data - }); - } else { - self.trigger('close', {}); - } - - return; - } - - self.trigger('select', { - originalEvent: evt, - data: data - }); - }); - - this.$results.on('mouseenter', '.select2-results__option[aria-selected]', - function (evt) { - var data = Utils.GetData(this, 'data'); - - self.getHighlightedResults() - .removeClass('select2-results__option--highlighted'); - - self.trigger('results:focus', { - data: data, - element: $(this) - }); - }); - }; - - Results.prototype.getHighlightedResults = function () { - var $highlighted = this.$results - .find('.select2-results__option--highlighted'); - - return $highlighted; - }; - - Results.prototype.destroy = function () { - this.$results.remove(); - }; - - Results.prototype.ensureHighlightVisible = function () { - var $highlighted = this.getHighlightedResults(); - - if ($highlighted.length === 0) { - return; - } - - var $options = this.$results.find('[aria-selected]'); - - var currentIndex = $options.index($highlighted); - - var currentOffset = this.$results.offset().top; - var nextTop = $highlighted.offset().top; - var nextOffset = this.$results.scrollTop() + (nextTop - currentOffset); - - var offsetDelta = nextTop - currentOffset; - nextOffset -= $highlighted.outerHeight(false) * 2; - - if (currentIndex <= 2) { - this.$results.scrollTop(0); - } else if (offsetDelta > this.$results.outerHeight() || offsetDelta < 0) { - this.$results.scrollTop(nextOffset); - } - }; - - Results.prototype.template = function (result, container) { - var template = this.options.get('templateResult'); - var escapeMarkup = this.options.get('escapeMarkup'); - - var content = template(result, container); - - if (content == null) { - container.style.display = 'none'; - } else if (typeof content === 'string') { - container.innerHTML = escapeMarkup(content); - } else { - $(container).append(content); - } - }; - - return Results; -}); - -S2.define('select2/keys',[ - -], function () { - var KEYS = { - BACKSPACE: 8, - TAB: 9, - ENTER: 13, - SHIFT: 16, - CTRL: 17, - ALT: 18, - ESC: 27, - SPACE: 32, - PAGE_UP: 33, - PAGE_DOWN: 34, - END: 35, - HOME: 36, - LEFT: 37, - UP: 38, - RIGHT: 39, - DOWN: 40, - DELETE: 46 - }; - - return KEYS; -}); - -S2.define('select2/selection/base',[ - 'jquery', - '../utils', - '../keys' -], function ($, Utils, KEYS) { - function BaseSelection ($element, options) { - this.$element = $element; - this.options = options; - - BaseSelection.__super__.constructor.call(this); - } - - Utils.Extend(BaseSelection, Utils.Observable); - - BaseSelection.prototype.render = function () { - var $selection = $( - '<span class="select2-selection" role="combobox" ' + - ' aria-haspopup="true" aria-expanded="false">' + - '</span>' - ); - - this._tabindex = 0; - - if (Utils.GetData(this.$element[0], 'old-tabindex') != null) { - this._tabindex = Utils.GetData(this.$element[0], 'old-tabindex'); - } else if (this.$element.attr('tabindex') != null) { - this._tabindex = this.$element.attr('tabindex'); - } - - $selection.attr('title', this.$element.attr('title')); - $selection.attr('tabindex', this._tabindex); - $selection.attr('aria-disabled', 'false'); - - this.$selection = $selection; - - return $selection; - }; - - BaseSelection.prototype.bind = function (container, $container) { - var self = this; - - var resultsId = container.id + '-results'; - - this.container = container; - - this.$selection.on('focus', function (evt) { - self.trigger('focus', evt); - }); - - this.$selection.on('blur', function (evt) { - self._handleBlur(evt); - }); - - this.$selection.on('keydown', function (evt) { - self.trigger('keypress', evt); - - if (evt.which === KEYS.SPACE) { - evt.preventDefault(); - } - }); - - container.on('results:focus', function (params) { - self.$selection.attr('aria-activedescendant', params.data._resultId); - }); - - container.on('selection:update', function (params) { - self.update(params.data); - }); - - container.on('open', function () { - // When the dropdown is open, aria-expanded="true" - self.$selection.attr('aria-expanded', 'true'); - self.$selection.attr('aria-owns', resultsId); - - self._attachCloseHandler(container); - }); - - container.on('close', function () { - // When the dropdown is closed, aria-expanded="false" - self.$selection.attr('aria-expanded', 'false'); - self.$selection.removeAttr('aria-activedescendant'); - self.$selection.removeAttr('aria-owns'); - - self.$selection.trigger('focus'); - - self._detachCloseHandler(container); - }); - - container.on('enable', function () { - self.$selection.attr('tabindex', self._tabindex); - self.$selection.attr('aria-disabled', 'false'); - }); - - container.on('disable', function () { - self.$selection.attr('tabindex', '-1'); - self.$selection.attr('aria-disabled', 'true'); - }); - }; - - BaseSelection.prototype._handleBlur = function (evt) { - var self = this; - - // This needs to be delayed as the active element is the body when the tab - // key is pressed, possibly along with others. - window.setTimeout(function () { - // Don't trigger `blur` if the focus is still in the selection - if ( - (document.activeElement == self.$selection[0]) || - ($.contains(self.$selection[0], document.activeElement)) - ) { - return; - } - - self.trigger('blur', evt); - }, 1); - }; - - BaseSelection.prototype._attachCloseHandler = function (container) { - - $(document.body).on('mousedown.select2.' + container.id, function (e) { - var $target = $(e.target); - - var $select = $target.closest('.select2'); - - var $all = $('.select2.select2-container--open'); - - $all.each(function () { - if (this == $select[0]) { - return; - } - - var $element = Utils.GetData(this, 'element'); - - $element.select2('close'); - }); - }); - }; - - BaseSelection.prototype._detachCloseHandler = function (container) { - $(document.body).off('mousedown.select2.' + container.id); - }; - - BaseSelection.prototype.position = function ($selection, $container) { - var $selectionContainer = $container.find('.selection'); - $selectionContainer.append($selection); - }; - - BaseSelection.prototype.destroy = function () { - this._detachCloseHandler(this.container); - }; - - BaseSelection.prototype.update = function (data) { - throw new Error('The `update` method must be defined in child classes.'); - }; - - /** - * Helper method to abstract the "enabled" (not "disabled") state of this - * object. - * - * @return {true} if the instance is not disabled. - * @return {false} if the instance is disabled. - */ - BaseSelection.prototype.isEnabled = function () { - return !this.isDisabled(); - }; - - /** - * Helper method to abstract the "disabled" state of this object. - * - * @return {true} if the disabled option is true. - * @return {false} if the disabled option is false. - */ - BaseSelection.prototype.isDisabled = function () { - return this.options.get('disabled'); - }; - - return BaseSelection; -}); - -S2.define('select2/selection/single',[ - 'jquery', - './base', - '../utils', - '../keys' -], function ($, BaseSelection, Utils, KEYS) { - function SingleSelection () { - SingleSelection.__super__.constructor.apply(this, arguments); - } - - Utils.Extend(SingleSelection, BaseSelection); - - SingleSelection.prototype.render = function () { - var $selection = SingleSelection.__super__.render.call(this); - - $selection.addClass('select2-selection--single'); - - $selection.html( - '<span class="select2-selection__rendered"></span>' + - '<span class="select2-selection__arrow" role="presentation">' + - '<b role="presentation"></b>' + - '</span>' - ); - - return $selection; - }; - - SingleSelection.prototype.bind = function (container, $container) { - var self = this; - - SingleSelection.__super__.bind.apply(this, arguments); - - var id = container.id + '-container'; - - this.$selection.find('.select2-selection__rendered') - .attr('id', id) - .attr('role', 'textbox') - .attr('aria-readonly', 'true'); - this.$selection.attr('aria-labelledby', id); - - this.$selection.on('mousedown', function (evt) { - // Only respond to left clicks - if (evt.which !== 1) { - return; - } - - self.trigger('toggle', { - originalEvent: evt - }); - }); - - this.$selection.on('focus', function (evt) { - // User focuses on the container - }); - - this.$selection.on('blur', function (evt) { - // User exits the container - }); - - container.on('focus', function (evt) { - if (!container.isOpen()) { - self.$selection.trigger('focus'); - } - }); - }; - - SingleSelection.prototype.clear = function () { - var $rendered = this.$selection.find('.select2-selection__rendered'); - $rendered.empty(); - $rendered.removeAttr('title'); // clear tooltip on empty - }; - - SingleSelection.prototype.display = function (data, container) { - var template = this.options.get('templateSelection'); - var escapeMarkup = this.options.get('escapeMarkup'); - - return escapeMarkup(template(data, container)); - }; - - SingleSelection.prototype.selectionContainer = function () { - return $('<span></span>'); - }; - - SingleSelection.prototype.update = function (data) { - if (data.length === 0) { - this.clear(); - return; - } - - var selection = data[0]; - - var $rendered = this.$selection.find('.select2-selection__rendered'); - var formatted = this.display(selection, $rendered); - - $rendered.empty().append(formatted); - - var title = selection.title || selection.text; - - if (title) { - $rendered.attr('title', title); - } else { - $rendered.removeAttr('title'); - } - }; - - return SingleSelection; -}); - -S2.define('select2/selection/multiple',[ - 'jquery', - './base', - '../utils' -], function ($, BaseSelection, Utils) { - function MultipleSelection ($element, options) { - MultipleSelection.__super__.constructor.apply(this, arguments); - } - - Utils.Extend(MultipleSelection, BaseSelection); - - MultipleSelection.prototype.render = function () { - var $selection = MultipleSelection.__super__.render.call(this); - - $selection.addClass('select2-selection--multiple'); - - $selection.html( - '<ul class="select2-selection__rendered"></ul>' - ); - - return $selection; - }; - - MultipleSelection.prototype.bind = function (container, $container) { - var self = this; - - MultipleSelection.__super__.bind.apply(this, arguments); - - this.$selection.on('click', function (evt) { - self.trigger('toggle', { - originalEvent: evt - }); - }); - - this.$selection.on( - 'click', - '.select2-selection__choice__remove', - function (evt) { - // Ignore the event if it is disabled - if (self.isDisabled()) { - return; - } - - var $remove = $(this); - var $selection = $remove.parent(); - - var data = Utils.GetData($selection[0], 'data'); - - self.trigger('unselect', { - originalEvent: evt, - data: data - }); - } - ); - }; - - MultipleSelection.prototype.clear = function () { - var $rendered = this.$selection.find('.select2-selection__rendered'); - $rendered.empty(); - $rendered.removeAttr('title'); - }; - - MultipleSelection.prototype.display = function (data, container) { - var template = this.options.get('templateSelection'); - var escapeMarkup = this.options.get('escapeMarkup'); - - return escapeMarkup(template(data, container)); - }; - - MultipleSelection.prototype.selectionContainer = function () { - var $container = $( - '<li class="select2-selection__choice">' + - '<span class="select2-selection__choice__remove" role="presentation">' + - '×' + - '</span>' + - '</li>' - ); - - return $container; - }; - - MultipleSelection.prototype.update = function (data) { - this.clear(); - - if (data.length === 0) { - return; - } - - var $selections = []; - - for (var d = 0; d < data.length; d++) { - var selection = data[d]; - - var $selection = this.selectionContainer(); - var formatted = this.display(selection, $selection); - - $selection.append(formatted); - - var title = selection.title || selection.text; - - if (title) { - $selection.attr('title', title); - } - - Utils.StoreData($selection[0], 'data', selection); - - $selections.push($selection); - } - - var $rendered = this.$selection.find('.select2-selection__rendered'); - - Utils.appendMany($rendered, $selections); - }; - - return MultipleSelection; -}); - -S2.define('select2/selection/placeholder',[ - '../utils' -], function (Utils) { - function Placeholder (decorated, $element, options) { - this.placeholder = this.normalizePlaceholder(options.get('placeholder')); - - decorated.call(this, $element, options); - } - - Placeholder.prototype.normalizePlaceholder = function (_, placeholder) { - if (typeof placeholder === 'string') { - placeholder = { - id: '', - text: placeholder - }; - } - - return placeholder; - }; - - Placeholder.prototype.createPlaceholder = function (decorated, placeholder) { - var $placeholder = this.selectionContainer(); - - $placeholder.html(this.display(placeholder)); - $placeholder.addClass('select2-selection__placeholder') - .removeClass('select2-selection__choice'); - - return $placeholder; - }; - - Placeholder.prototype.update = function (decorated, data) { - var singlePlaceholder = ( - data.length == 1 && data[0].id != this.placeholder.id - ); - var multipleSelections = data.length > 1; - - if (multipleSelections || singlePlaceholder) { - return decorated.call(this, data); - } - - this.clear(); - - var $placeholder = this.createPlaceholder(this.placeholder); - - this.$selection.find('.select2-selection__rendered').append($placeholder); - }; - - return Placeholder; -}); - -S2.define('select2/selection/allowClear',[ - 'jquery', - '../keys', - '../utils' -], function ($, KEYS, Utils) { - function AllowClear () { } - - AllowClear.prototype.bind = function (decorated, container, $container) { - var self = this; - - decorated.call(this, container, $container); - - if (this.placeholder == null) { - if (this.options.get('debug') && window.console && console.error) { - console.error( - 'Select2: The `allowClear` option should be used in combination ' + - 'with the `placeholder` option.' - ); - } - } - - this.$selection.on('mousedown', '.select2-selection__clear', - function (evt) { - self._handleClear(evt); - }); - - container.on('keypress', function (evt) { - self._handleKeyboardClear(evt, container); - }); - }; - - AllowClear.prototype._handleClear = function (_, evt) { - // Ignore the event if it is disabled - if (this.isDisabled()) { - return; - } - - var $clear = this.$selection.find('.select2-selection__clear'); - - // Ignore the event if nothing has been selected - if ($clear.length === 0) { - return; - } - - evt.stopPropagation(); - - var data = Utils.GetData($clear[0], 'data'); - - var previousVal = this.$element.val(); - this.$element.val(this.placeholder.id); - - var unselectData = { - data: data - }; - this.trigger('clear', unselectData); - if (unselectData.prevented) { - this.$element.val(previousVal); - return; - } - - for (var d = 0; d < data.length; d++) { - unselectData = { - data: data[d] - }; - - // Trigger the `unselect` event, so people can prevent it from being - // cleared. - this.trigger('unselect', unselectData); - - // If the event was prevented, don't clear it out. - if (unselectData.prevented) { - this.$element.val(previousVal); - return; - } - } - - this.$element.trigger('input').trigger('change'); - - this.trigger('toggle', {}); - }; - - AllowClear.prototype._handleKeyboardClear = function (_, evt, container) { - if (container.isOpen()) { - return; - } - - if (evt.which == KEYS.DELETE || evt.which == KEYS.BACKSPACE) { - this._handleClear(evt); - } - }; - - AllowClear.prototype.update = function (decorated, data) { - decorated.call(this, data); - - if (this.$selection.find('.select2-selection__placeholder').length > 0 || - data.length === 0) { - return; - } - - var removeAll = this.options.get('translations').get('removeAllItems'); - - var $remove = $( - '<span class="select2-selection__clear" title="' + removeAll() +'">' + - '×' + - '</span>' - ); - Utils.StoreData($remove[0], 'data', data); - - this.$selection.find('.select2-selection__rendered').prepend($remove); - }; - - return AllowClear; -}); - -S2.define('select2/selection/search',[ - 'jquery', - '../utils', - '../keys' -], function ($, Utils, KEYS) { - function Search (decorated, $element, options) { - decorated.call(this, $element, options); - } - - Search.prototype.render = function (decorated) { - var $search = $( - '<li class="select2-search select2-search--inline">' + - '<input class="select2-search__field" type="search" tabindex="-1"' + - ' autocomplete="off" autocorrect="off" autocapitalize="none"' + - ' spellcheck="false" role="searchbox" aria-autocomplete="list" />' + - '</li>' - ); - - this.$searchContainer = $search; - this.$search = $search.find('input'); - - var $rendered = decorated.call(this); - - this._transferTabIndex(); - - return $rendered; - }; - - Search.prototype.bind = function (decorated, container, $container) { - var self = this; - - var resultsId = container.id + '-results'; - - decorated.call(this, container, $container); - - container.on('open', function () { - self.$search.attr('aria-controls', resultsId); - self.$search.trigger('focus'); - }); - - container.on('close', function () { - self.$search.val(''); - self.$search.removeAttr('aria-controls'); - self.$search.removeAttr('aria-activedescendant'); - self.$search.trigger('focus'); - }); - - container.on('enable', function () { - self.$search.prop('disabled', false); - - self._transferTabIndex(); - }); - - container.on('disable', function () { - self.$search.prop('disabled', true); - }); - - container.on('focus', function (evt) { - self.$search.trigger('focus'); - }); - - container.on('results:focus', function (params) { - if (params.data._resultId) { - self.$search.attr('aria-activedescendant', params.data._resultId); - } else { - self.$search.removeAttr('aria-activedescendant'); - } - }); - - this.$selection.on('focusin', '.select2-search--inline', function (evt) { - self.trigger('focus', evt); - }); - - this.$selection.on('focusout', '.select2-search--inline', function (evt) { - self._handleBlur(evt); - }); - - this.$selection.on('keydown', '.select2-search--inline', function (evt) { - evt.stopPropagation(); - - self.trigger('keypress', evt); - - self._keyUpPrevented = evt.isDefaultPrevented(); - - var key = evt.which; - - if (key === KEYS.BACKSPACE && self.$search.val() === '') { - var $previousChoice = self.$searchContainer - .prev('.select2-selection__choice'); - - if ($previousChoice.length > 0) { - var item = Utils.GetData($previousChoice[0], 'data'); - - self.searchRemoveChoice(item); - - evt.preventDefault(); - } - } - }); - - this.$selection.on('click', '.select2-search--inline', function (evt) { - if (self.$search.val()) { - evt.stopPropagation(); - } - }); - - // Try to detect the IE version should the `documentMode` property that - // is stored on the document. This is only implemented in IE and is - // slightly cleaner than doing a user agent check. - // This property is not available in Edge, but Edge also doesn't have - // this bug. - var msie = document.documentMode; - var disableInputEvents = msie && msie <= 11; - - // Workaround for browsers which do not support the `input` event - // This will prevent double-triggering of events for browsers which support - // both the `keyup` and `input` events. - this.$selection.on( - 'input.searchcheck', - '.select2-search--inline', - function (evt) { - // IE will trigger the `input` event when a placeholder is used on a - // search box. To get around this issue, we are forced to ignore all - // `input` events in IE and keep using `keyup`. - if (disableInputEvents) { - self.$selection.off('input.search input.searchcheck'); - return; - } - - // Unbind the duplicated `keyup` event - self.$selection.off('keyup.search'); - } - ); - - this.$selection.on( - 'keyup.search input.search', - '.select2-search--inline', - function (evt) { - // IE will trigger the `input` event when a placeholder is used on a - // search box. To get around this issue, we are forced to ignore all - // `input` events in IE and keep using `keyup`. - if (disableInputEvents && evt.type === 'input') { - self.$selection.off('input.search input.searchcheck'); - return; - } - - var key = evt.which; - - // We can freely ignore events from modifier keys - if (key == KEYS.SHIFT || key == KEYS.CTRL || key == KEYS.ALT) { - return; - } - - // Tabbing will be handled during the `keydown` phase - if (key == KEYS.TAB) { - return; - } - - self.handleSearch(evt); - } - ); - }; - - /** - * This method will transfer the tabindex attribute from the rendered - * selection to the search box. This allows for the search box to be used as - * the primary focus instead of the selection container. - * - * @private - */ - Search.prototype._transferTabIndex = function (decorated) { - this.$search.attr('tabindex', this.$selection.attr('tabindex')); - this.$selection.attr('tabindex', '-1'); - }; - - Search.prototype.createPlaceholder = function (decorated, placeholder) { - this.$search.attr('placeholder', placeholder.text); - }; - - Search.prototype.update = function (decorated, data) { - var searchHadFocus = this.$search[0] == document.activeElement; - - this.$search.attr('placeholder', ''); - - decorated.call(this, data); - - this.$selection.find('.select2-selection__rendered') - .append(this.$searchContainer); - - this.resizeSearch(); - if (searchHadFocus) { - this.$search.trigger('focus'); - } - }; - - Search.prototype.handleSearch = function () { - this.resizeSearch(); - - if (!this._keyUpPrevented) { - var input = this.$search.val(); - - this.trigger('query', { - term: input - }); - } - - this._keyUpPrevented = false; - }; - - Search.prototype.searchRemoveChoice = function (decorated, item) { - this.trigger('unselect', { - data: item - }); - - this.$search.val(item.text); - this.handleSearch(); - }; - - Search.prototype.resizeSearch = function () { - this.$search.css('width', '25px'); - - var width = ''; - - if (this.$search.attr('placeholder') !== '') { - width = this.$selection.find('.select2-selection__rendered').width(); - } else { - var minimumWidth = this.$search.val().length + 1; - - width = (minimumWidth * 0.75) + 'em'; - } - - this.$search.css('width', width); - }; - - return Search; -}); - -S2.define('select2/selection/eventRelay',[ - 'jquery' -], function ($) { - function EventRelay () { } - - EventRelay.prototype.bind = function (decorated, container, $container) { - var self = this; - var relayEvents = [ - 'open', 'opening', - 'close', 'closing', - 'select', 'selecting', - 'unselect', 'unselecting', - 'clear', 'clearing' - ]; - - var preventableEvents = [ - 'opening', 'closing', 'selecting', 'unselecting', 'clearing' - ]; - - decorated.call(this, container, $container); - - container.on('*', function (name, params) { - // Ignore events that should not be relayed - if ($.inArray(name, relayEvents) === -1) { - return; - } - - // The parameters should always be an object - params = params || {}; - - // Generate the jQuery event for the Select2 event - var evt = $.Event('select2:' + name, { - params: params - }); - - self.$element.trigger(evt); - - // Only handle preventable events if it was one - if ($.inArray(name, preventableEvents) === -1) { - return; - } - - params.prevented = evt.isDefaultPrevented(); - }); - }; - - return EventRelay; -}); - -S2.define('select2/translation',[ - 'jquery', - 'require' -], function ($, require) { - function Translation (dict) { - this.dict = dict || {}; - } - - Translation.prototype.all = function () { - return this.dict; - }; - - Translation.prototype.get = function (key) { - return this.dict[key]; - }; - - Translation.prototype.extend = function (translation) { - this.dict = $.extend({}, translation.all(), this.dict); - }; - - // Static functions - - Translation._cache = {}; - - Translation.loadPath = function (path) { - if (!(path in Translation._cache)) { - var translations = require(path); - - Translation._cache[path] = translations; - } - - return new Translation(Translation._cache[path]); - }; - - return Translation; -}); - -S2.define('select2/diacritics',[ - -], function () { - var diacritics = { - '\u24B6': 'A', - '\uFF21': 'A', - '\u00C0': 'A', - '\u00C1': 'A', - '\u00C2': 'A', - '\u1EA6': 'A', - '\u1EA4': 'A', - '\u1EAA': 'A', - '\u1EA8': 'A', - '\u00C3': 'A', - '\u0100': 'A', - '\u0102': 'A', - '\u1EB0': 'A', - '\u1EAE': 'A', - '\u1EB4': 'A', - '\u1EB2': 'A', - '\u0226': 'A', - '\u01E0': 'A', - '\u00C4': 'A', - '\u01DE': 'A', - '\u1EA2': 'A', - '\u00C5': 'A', - '\u01FA': 'A', - '\u01CD': 'A', - '\u0200': 'A', - '\u0202': 'A', - '\u1EA0': 'A', - '\u1EAC': 'A', - '\u1EB6': 'A', - '\u1E00': 'A', - '\u0104': 'A', - '\u023A': 'A', - '\u2C6F': 'A', - '\uA732': 'AA', - '\u00C6': 'AE', - '\u01FC': 'AE', - '\u01E2': 'AE', - '\uA734': 'AO', - '\uA736': 'AU', - '\uA738': 'AV', - '\uA73A': 'AV', - '\uA73C': 'AY', - '\u24B7': 'B', - '\uFF22': 'B', - '\u1E02': 'B', - '\u1E04': 'B', - '\u1E06': 'B', - '\u0243': 'B', - '\u0182': 'B', - '\u0181': 'B', - '\u24B8': 'C', - '\uFF23': 'C', - '\u0106': 'C', - '\u0108': 'C', - '\u010A': 'C', - '\u010C': 'C', - '\u00C7': 'C', - '\u1E08': 'C', - '\u0187': 'C', - '\u023B': 'C', - '\uA73E': 'C', - '\u24B9': 'D', - '\uFF24': 'D', - '\u1E0A': 'D', - '\u010E': 'D', - '\u1E0C': 'D', - '\u1E10': 'D', - '\u1E12': 'D', - '\u1E0E': 'D', - '\u0110': 'D', - '\u018B': 'D', - '\u018A': 'D', - '\u0189': 'D', - '\uA779': 'D', - '\u01F1': 'DZ', - '\u01C4': 'DZ', - '\u01F2': 'Dz', - '\u01C5': 'Dz', - '\u24BA': 'E', - '\uFF25': 'E', - '\u00C8': 'E', - '\u00C9': 'E', - '\u00CA': 'E', - '\u1EC0': 'E', - '\u1EBE': 'E', - '\u1EC4': 'E', - '\u1EC2': 'E', - '\u1EBC': 'E', - '\u0112': 'E', - '\u1E14': 'E', - '\u1E16': 'E', - '\u0114': 'E', - '\u0116': 'E', - '\u00CB': 'E', - '\u1EBA': 'E', - '\u011A': 'E', - '\u0204': 'E', - '\u0206': 'E', - '\u1EB8': 'E', - '\u1EC6': 'E', - '\u0228': 'E', - '\u1E1C': 'E', - '\u0118': 'E', - '\u1E18': 'E', - '\u1E1A': 'E', - '\u0190': 'E', - '\u018E': 'E', - '\u24BB': 'F', - '\uFF26': 'F', - '\u1E1E': 'F', - '\u0191': 'F', - '\uA77B': 'F', - '\u24BC': 'G', - '\uFF27': 'G', - '\u01F4': 'G', - '\u011C': 'G', - '\u1E20': 'G', - '\u011E': 'G', - '\u0120': 'G', - '\u01E6': 'G', - '\u0122': 'G', - '\u01E4': 'G', - '\u0193': 'G', - '\uA7A0': 'G', - '\uA77D': 'G', - '\uA77E': 'G', - '\u24BD': 'H', - '\uFF28': 'H', - '\u0124': 'H', - '\u1E22': 'H', - '\u1E26': 'H', - '\u021E': 'H', - '\u1E24': 'H', - '\u1E28': 'H', - '\u1E2A': 'H', - '\u0126': 'H', - '\u2C67': 'H', - '\u2C75': 'H', - '\uA78D': 'H', - '\u24BE': 'I', - '\uFF29': 'I', - '\u00CC': 'I', - '\u00CD': 'I', - '\u00CE': 'I', - '\u0128': 'I', - '\u012A': 'I', - '\u012C': 'I', - '\u0130': 'I', - '\u00CF': 'I', - '\u1E2E': 'I', - '\u1EC8': 'I', - '\u01CF': 'I', - '\u0208': 'I', - '\u020A': 'I', - '\u1ECA': 'I', - '\u012E': 'I', - '\u1E2C': 'I', - '\u0197': 'I', - '\u24BF': 'J', - '\uFF2A': 'J', - '\u0134': 'J', - '\u0248': 'J', - '\u24C0': 'K', - '\uFF2B': 'K', - '\u1E30': 'K', - '\u01E8': 'K', - '\u1E32': 'K', - '\u0136': 'K', - '\u1E34': 'K', - '\u0198': 'K', - '\u2C69': 'K', - '\uA740': 'K', - '\uA742': 'K', - '\uA744': 'K', - '\uA7A2': 'K', - '\u24C1': 'L', - '\uFF2C': 'L', - '\u013F': 'L', - '\u0139': 'L', - '\u013D': 'L', - '\u1E36': 'L', - '\u1E38': 'L', - '\u013B': 'L', - '\u1E3C': 'L', - '\u1E3A': 'L', - '\u0141': 'L', - '\u023D': 'L', - '\u2C62': 'L', - '\u2C60': 'L', - '\uA748': 'L', - '\uA746': 'L', - '\uA780': 'L', - '\u01C7': 'LJ', - '\u01C8': 'Lj', - '\u24C2': 'M', - '\uFF2D': 'M', - '\u1E3E': 'M', - '\u1E40': 'M', - '\u1E42': 'M', - '\u2C6E': 'M', - '\u019C': 'M', - '\u24C3': 'N', - '\uFF2E': 'N', - '\u01F8': 'N', - '\u0143': 'N', - '\u00D1': 'N', - '\u1E44': 'N', - '\u0147': 'N', - '\u1E46': 'N', - '\u0145': 'N', - '\u1E4A': 'N', - '\u1E48': 'N', - '\u0220': 'N', - '\u019D': 'N', - '\uA790': 'N', - '\uA7A4': 'N', - '\u01CA': 'NJ', - '\u01CB': 'Nj', - '\u24C4': 'O', - '\uFF2F': 'O', - '\u00D2': 'O', - '\u00D3': 'O', - '\u00D4': 'O', - '\u1ED2': 'O', - '\u1ED0': 'O', - '\u1ED6': 'O', - '\u1ED4': 'O', - '\u00D5': 'O', - '\u1E4C': 'O', - '\u022C': 'O', - '\u1E4E': 'O', - '\u014C': 'O', - '\u1E50': 'O', - '\u1E52': 'O', - '\u014E': 'O', - '\u022E': 'O', - '\u0230': 'O', - '\u00D6': 'O', - '\u022A': 'O', - '\u1ECE': 'O', - '\u0150': 'O', - '\u01D1': 'O', - '\u020C': 'O', - '\u020E': 'O', - '\u01A0': 'O', - '\u1EDC': 'O', - '\u1EDA': 'O', - '\u1EE0': 'O', - '\u1EDE': 'O', - '\u1EE2': 'O', - '\u1ECC': 'O', - '\u1ED8': 'O', - '\u01EA': 'O', - '\u01EC': 'O', - '\u00D8': 'O', - '\u01FE': 'O', - '\u0186': 'O', - '\u019F': 'O', - '\uA74A': 'O', - '\uA74C': 'O', - '\u0152': 'OE', - '\u01A2': 'OI', - '\uA74E': 'OO', - '\u0222': 'OU', - '\u24C5': 'P', - '\uFF30': 'P', - '\u1E54': 'P', - '\u1E56': 'P', - '\u01A4': 'P', - '\u2C63': 'P', - '\uA750': 'P', - '\uA752': 'P', - '\uA754': 'P', - '\u24C6': 'Q', - '\uFF31': 'Q', - '\uA756': 'Q', - '\uA758': 'Q', - '\u024A': 'Q', - '\u24C7': 'R', - '\uFF32': 'R', - '\u0154': 'R', - '\u1E58': 'R', - '\u0158': 'R', - '\u0210': 'R', - '\u0212': 'R', - '\u1E5A': 'R', - '\u1E5C': 'R', - '\u0156': 'R', - '\u1E5E': 'R', - '\u024C': 'R', - '\u2C64': 'R', - '\uA75A': 'R', - '\uA7A6': 'R', - '\uA782': 'R', - '\u24C8': 'S', - '\uFF33': 'S', - '\u1E9E': 'S', - '\u015A': 'S', - '\u1E64': 'S', - '\u015C': 'S', - '\u1E60': 'S', - '\u0160': 'S', - '\u1E66': 'S', - '\u1E62': 'S', - '\u1E68': 'S', - '\u0218': 'S', - '\u015E': 'S', - '\u2C7E': 'S', - '\uA7A8': 'S', - '\uA784': 'S', - '\u24C9': 'T', - '\uFF34': 'T', - '\u1E6A': 'T', - '\u0164': 'T', - '\u1E6C': 'T', - '\u021A': 'T', - '\u0162': 'T', - '\u1E70': 'T', - '\u1E6E': 'T', - '\u0166': 'T', - '\u01AC': 'T', - '\u01AE': 'T', - '\u023E': 'T', - '\uA786': 'T', - '\uA728': 'TZ', - '\u24CA': 'U', - '\uFF35': 'U', - '\u00D9': 'U', - '\u00DA': 'U', - '\u00DB': 'U', - '\u0168': 'U', - '\u1E78': 'U', - '\u016A': 'U', - '\u1E7A': 'U', - '\u016C': 'U', - '\u00DC': 'U', - '\u01DB': 'U', - '\u01D7': 'U', - '\u01D5': 'U', - '\u01D9': 'U', - '\u1EE6': 'U', - '\u016E': 'U', - '\u0170': 'U', - '\u01D3': 'U', - '\u0214': 'U', - '\u0216': 'U', - '\u01AF': 'U', - '\u1EEA': 'U', - '\u1EE8': 'U', - '\u1EEE': 'U', - '\u1EEC': 'U', - '\u1EF0': 'U', - '\u1EE4': 'U', - '\u1E72': 'U', - '\u0172': 'U', - '\u1E76': 'U', - '\u1E74': 'U', - '\u0244': 'U', - '\u24CB': 'V', - '\uFF36': 'V', - '\u1E7C': 'V', - '\u1E7E': 'V', - '\u01B2': 'V', - '\uA75E': 'V', - '\u0245': 'V', - '\uA760': 'VY', - '\u24CC': 'W', - '\uFF37': 'W', - '\u1E80': 'W', - '\u1E82': 'W', - '\u0174': 'W', - '\u1E86': 'W', - '\u1E84': 'W', - '\u1E88': 'W', - '\u2C72': 'W', - '\u24CD': 'X', - '\uFF38': 'X', - '\u1E8A': 'X', - '\u1E8C': 'X', - '\u24CE': 'Y', - '\uFF39': 'Y', - '\u1EF2': 'Y', - '\u00DD': 'Y', - '\u0176': 'Y', - '\u1EF8': 'Y', - '\u0232': 'Y', - '\u1E8E': 'Y', - '\u0178': 'Y', - '\u1EF6': 'Y', - '\u1EF4': 'Y', - '\u01B3': 'Y', - '\u024E': 'Y', - '\u1EFE': 'Y', - '\u24CF': 'Z', - '\uFF3A': 'Z', - '\u0179': 'Z', - '\u1E90': 'Z', - '\u017B': 'Z', - '\u017D': 'Z', - '\u1E92': 'Z', - '\u1E94': 'Z', - '\u01B5': 'Z', - '\u0224': 'Z', - '\u2C7F': 'Z', - '\u2C6B': 'Z', - '\uA762': 'Z', - '\u24D0': 'a', - '\uFF41': 'a', - '\u1E9A': 'a', - '\u00E0': 'a', - '\u00E1': 'a', - '\u00E2': 'a', - '\u1EA7': 'a', - '\u1EA5': 'a', - '\u1EAB': 'a', - '\u1EA9': 'a', - '\u00E3': 'a', - '\u0101': 'a', - '\u0103': 'a', - '\u1EB1': 'a', - '\u1EAF': 'a', - '\u1EB5': 'a', - '\u1EB3': 'a', - '\u0227': 'a', - '\u01E1': 'a', - '\u00E4': 'a', - '\u01DF': 'a', - '\u1EA3': 'a', - '\u00E5': 'a', - '\u01FB': 'a', - '\u01CE': 'a', - '\u0201': 'a', - '\u0203': 'a', - '\u1EA1': 'a', - '\u1EAD': 'a', - '\u1EB7': 'a', - '\u1E01': 'a', - '\u0105': 'a', - '\u2C65': 'a', - '\u0250': 'a', - '\uA733': 'aa', - '\u00E6': 'ae', - '\u01FD': 'ae', - '\u01E3': 'ae', - '\uA735': 'ao', - '\uA737': 'au', - '\uA739': 'av', - '\uA73B': 'av', - '\uA73D': 'ay', - '\u24D1': 'b', - '\uFF42': 'b', - '\u1E03': 'b', - '\u1E05': 'b', - '\u1E07': 'b', - '\u0180': 'b', - '\u0183': 'b', - '\u0253': 'b', - '\u24D2': 'c', - '\uFF43': 'c', - '\u0107': 'c', - '\u0109': 'c', - '\u010B': 'c', - '\u010D': 'c', - '\u00E7': 'c', - '\u1E09': 'c', - '\u0188': 'c', - '\u023C': 'c', - '\uA73F': 'c', - '\u2184': 'c', - '\u24D3': 'd', - '\uFF44': 'd', - '\u1E0B': 'd', - '\u010F': 'd', - '\u1E0D': 'd', - '\u1E11': 'd', - '\u1E13': 'd', - '\u1E0F': 'd', - '\u0111': 'd', - '\u018C': 'd', - '\u0256': 'd', - '\u0257': 'd', - '\uA77A': 'd', - '\u01F3': 'dz', - '\u01C6': 'dz', - '\u24D4': 'e', - '\uFF45': 'e', - '\u00E8': 'e', - '\u00E9': 'e', - '\u00EA': 'e', - '\u1EC1': 'e', - '\u1EBF': 'e', - '\u1EC5': 'e', - '\u1EC3': 'e', - '\u1EBD': 'e', - '\u0113': 'e', - '\u1E15': 'e', - '\u1E17': 'e', - '\u0115': 'e', - '\u0117': 'e', - '\u00EB': 'e', - '\u1EBB': 'e', - '\u011B': 'e', - '\u0205': 'e', - '\u0207': 'e', - '\u1EB9': 'e', - '\u1EC7': 'e', - '\u0229': 'e', - '\u1E1D': 'e', - '\u0119': 'e', - '\u1E19': 'e', - '\u1E1B': 'e', - '\u0247': 'e', - '\u025B': 'e', - '\u01DD': 'e', - '\u24D5': 'f', - '\uFF46': 'f', - '\u1E1F': 'f', - '\u0192': 'f', - '\uA77C': 'f', - '\u24D6': 'g', - '\uFF47': 'g', - '\u01F5': 'g', - '\u011D': 'g', - '\u1E21': 'g', - '\u011F': 'g', - '\u0121': 'g', - '\u01E7': 'g', - '\u0123': 'g', - '\u01E5': 'g', - '\u0260': 'g', - '\uA7A1': 'g', - '\u1D79': 'g', - '\uA77F': 'g', - '\u24D7': 'h', - '\uFF48': 'h', - '\u0125': 'h', - '\u1E23': 'h', - '\u1E27': 'h', - '\u021F': 'h', - '\u1E25': 'h', - '\u1E29': 'h', - '\u1E2B': 'h', - '\u1E96': 'h', - '\u0127': 'h', - '\u2C68': 'h', - '\u2C76': 'h', - '\u0265': 'h', - '\u0195': 'hv', - '\u24D8': 'i', - '\uFF49': 'i', - '\u00EC': 'i', - '\u00ED': 'i', - '\u00EE': 'i', - '\u0129': 'i', - '\u012B': 'i', - '\u012D': 'i', - '\u00EF': 'i', - '\u1E2F': 'i', - '\u1EC9': 'i', - '\u01D0': 'i', - '\u0209': 'i', - '\u020B': 'i', - '\u1ECB': 'i', - '\u012F': 'i', - '\u1E2D': 'i', - '\u0268': 'i', - '\u0131': 'i', - '\u24D9': 'j', - '\uFF4A': 'j', - '\u0135': 'j', - '\u01F0': 'j', - '\u0249': 'j', - '\u24DA': 'k', - '\uFF4B': 'k', - '\u1E31': 'k', - '\u01E9': 'k', - '\u1E33': 'k', - '\u0137': 'k', - '\u1E35': 'k', - '\u0199': 'k', - '\u2C6A': 'k', - '\uA741': 'k', - '\uA743': 'k', - '\uA745': 'k', - '\uA7A3': 'k', - '\u24DB': 'l', - '\uFF4C': 'l', - '\u0140': 'l', - '\u013A': 'l', - '\u013E': 'l', - '\u1E37': 'l', - '\u1E39': 'l', - '\u013C': 'l', - '\u1E3D': 'l', - '\u1E3B': 'l', - '\u017F': 'l', - '\u0142': 'l', - '\u019A': 'l', - '\u026B': 'l', - '\u2C61': 'l', - '\uA749': 'l', - '\uA781': 'l', - '\uA747': 'l', - '\u01C9': 'lj', - '\u24DC': 'm', - '\uFF4D': 'm', - '\u1E3F': 'm', - '\u1E41': 'm', - '\u1E43': 'm', - '\u0271': 'm', - '\u026F': 'm', - '\u24DD': 'n', - '\uFF4E': 'n', - '\u01F9': 'n', - '\u0144': 'n', - '\u00F1': 'n', - '\u1E45': 'n', - '\u0148': 'n', - '\u1E47': 'n', - '\u0146': 'n', - '\u1E4B': 'n', - '\u1E49': 'n', - '\u019E': 'n', - '\u0272': 'n', - '\u0149': 'n', - '\uA791': 'n', - '\uA7A5': 'n', - '\u01CC': 'nj', - '\u24DE': 'o', - '\uFF4F': 'o', - '\u00F2': 'o', - '\u00F3': 'o', - '\u00F4': 'o', - '\u1ED3': 'o', - '\u1ED1': 'o', - '\u1ED7': 'o', - '\u1ED5': 'o', - '\u00F5': 'o', - '\u1E4D': 'o', - '\u022D': 'o', - '\u1E4F': 'o', - '\u014D': 'o', - '\u1E51': 'o', - '\u1E53': 'o', - '\u014F': 'o', - '\u022F': 'o', - '\u0231': 'o', - '\u00F6': 'o', - '\u022B': 'o', - '\u1ECF': 'o', - '\u0151': 'o', - '\u01D2': 'o', - '\u020D': 'o', - '\u020F': 'o', - '\u01A1': 'o', - '\u1EDD': 'o', - '\u1EDB': 'o', - '\u1EE1': 'o', - '\u1EDF': 'o', - '\u1EE3': 'o', - '\u1ECD': 'o', - '\u1ED9': 'o', - '\u01EB': 'o', - '\u01ED': 'o', - '\u00F8': 'o', - '\u01FF': 'o', - '\u0254': 'o', - '\uA74B': 'o', - '\uA74D': 'o', - '\u0275': 'o', - '\u0153': 'oe', - '\u01A3': 'oi', - '\u0223': 'ou', - '\uA74F': 'oo', - '\u24DF': 'p', - '\uFF50': 'p', - '\u1E55': 'p', - '\u1E57': 'p', - '\u01A5': 'p', - '\u1D7D': 'p', - '\uA751': 'p', - '\uA753': 'p', - '\uA755': 'p', - '\u24E0': 'q', - '\uFF51': 'q', - '\u024B': 'q', - '\uA757': 'q', - '\uA759': 'q', - '\u24E1': 'r', - '\uFF52': 'r', - '\u0155': 'r', - '\u1E59': 'r', - '\u0159': 'r', - '\u0211': 'r', - '\u0213': 'r', - '\u1E5B': 'r', - '\u1E5D': 'r', - '\u0157': 'r', - '\u1E5F': 'r', - '\u024D': 'r', - '\u027D': 'r', - '\uA75B': 'r', - '\uA7A7': 'r', - '\uA783': 'r', - '\u24E2': 's', - '\uFF53': 's', - '\u00DF': 's', - '\u015B': 's', - '\u1E65': 's', - '\u015D': 's', - '\u1E61': 's', - '\u0161': 's', - '\u1E67': 's', - '\u1E63': 's', - '\u1E69': 's', - '\u0219': 's', - '\u015F': 's', - '\u023F': 's', - '\uA7A9': 's', - '\uA785': 's', - '\u1E9B': 's', - '\u24E3': 't', - '\uFF54': 't', - '\u1E6B': 't', - '\u1E97': 't', - '\u0165': 't', - '\u1E6D': 't', - '\u021B': 't', - '\u0163': 't', - '\u1E71': 't', - '\u1E6F': 't', - '\u0167': 't', - '\u01AD': 't', - '\u0288': 't', - '\u2C66': 't', - '\uA787': 't', - '\uA729': 'tz', - '\u24E4': 'u', - '\uFF55': 'u', - '\u00F9': 'u', - '\u00FA': 'u', - '\u00FB': 'u', - '\u0169': 'u', - '\u1E79': 'u', - '\u016B': 'u', - '\u1E7B': 'u', - '\u016D': 'u', - '\u00FC': 'u', - '\u01DC': 'u', - '\u01D8': 'u', - '\u01D6': 'u', - '\u01DA': 'u', - '\u1EE7': 'u', - '\u016F': 'u', - '\u0171': 'u', - '\u01D4': 'u', - '\u0215': 'u', - '\u0217': 'u', - '\u01B0': 'u', - '\u1EEB': 'u', - '\u1EE9': 'u', - '\u1EEF': 'u', - '\u1EED': 'u', - '\u1EF1': 'u', - '\u1EE5': 'u', - '\u1E73': 'u', - '\u0173': 'u', - '\u1E77': 'u', - '\u1E75': 'u', - '\u0289': 'u', - '\u24E5': 'v', - '\uFF56': 'v', - '\u1E7D': 'v', - '\u1E7F': 'v', - '\u028B': 'v', - '\uA75F': 'v', - '\u028C': 'v', - '\uA761': 'vy', - '\u24E6': 'w', - '\uFF57': 'w', - '\u1E81': 'w', - '\u1E83': 'w', - '\u0175': 'w', - '\u1E87': 'w', - '\u1E85': 'w', - '\u1E98': 'w', - '\u1E89': 'w', - '\u2C73': 'w', - '\u24E7': 'x', - '\uFF58': 'x', - '\u1E8B': 'x', - '\u1E8D': 'x', - '\u24E8': 'y', - '\uFF59': 'y', - '\u1EF3': 'y', - '\u00FD': 'y', - '\u0177': 'y', - '\u1EF9': 'y', - '\u0233': 'y', - '\u1E8F': 'y', - '\u00FF': 'y', - '\u1EF7': 'y', - '\u1E99': 'y', - '\u1EF5': 'y', - '\u01B4': 'y', - '\u024F': 'y', - '\u1EFF': 'y', - '\u24E9': 'z', - '\uFF5A': 'z', - '\u017A': 'z', - '\u1E91': 'z', - '\u017C': 'z', - '\u017E': 'z', - '\u1E93': 'z', - '\u1E95': 'z', - '\u01B6': 'z', - '\u0225': 'z', - '\u0240': 'z', - '\u2C6C': 'z', - '\uA763': 'z', - '\u0386': '\u0391', - '\u0388': '\u0395', - '\u0389': '\u0397', - '\u038A': '\u0399', - '\u03AA': '\u0399', - '\u038C': '\u039F', - '\u038E': '\u03A5', - '\u03AB': '\u03A5', - '\u038F': '\u03A9', - '\u03AC': '\u03B1', - '\u03AD': '\u03B5', - '\u03AE': '\u03B7', - '\u03AF': '\u03B9', - '\u03CA': '\u03B9', - '\u0390': '\u03B9', - '\u03CC': '\u03BF', - '\u03CD': '\u03C5', - '\u03CB': '\u03C5', - '\u03B0': '\u03C5', - '\u03CE': '\u03C9', - '\u03C2': '\u03C3', - '\u2019': '\'' - }; - - return diacritics; -}); - -S2.define('select2/data/base',[ - '../utils' -], function (Utils) { - function BaseAdapter ($element, options) { - BaseAdapter.__super__.constructor.call(this); - } - - Utils.Extend(BaseAdapter, Utils.Observable); - - BaseAdapter.prototype.current = function (callback) { - throw new Error('The `current` method must be defined in child classes.'); - }; - - BaseAdapter.prototype.query = function (params, callback) { - throw new Error('The `query` method must be defined in child classes.'); - }; - - BaseAdapter.prototype.bind = function (container, $container) { - // Can be implemented in subclasses - }; - - BaseAdapter.prototype.destroy = function () { - // Can be implemented in subclasses - }; - - BaseAdapter.prototype.generateResultId = function (container, data) { - var id = container.id + '-result-'; - - id += Utils.generateChars(4); - - if (data.id != null) { - id += '-' + data.id.toString(); - } else { - id += '-' + Utils.generateChars(4); - } - return id; - }; - - return BaseAdapter; -}); - -S2.define('select2/data/select',[ - './base', - '../utils', - 'jquery' -], function (BaseAdapter, Utils, $) { - function SelectAdapter ($element, options) { - this.$element = $element; - this.options = options; - - SelectAdapter.__super__.constructor.call(this); - } - - Utils.Extend(SelectAdapter, BaseAdapter); - - SelectAdapter.prototype.current = function (callback) { - var data = []; - var self = this; - - this.$element.find(':selected').each(function () { - var $option = $(this); - - var option = self.item($option); - - data.push(option); - }); - - callback(data); - }; - - SelectAdapter.prototype.select = function (data) { - var self = this; - - data.selected = true; - - // If data.element is a DOM node, use it instead - if ($(data.element).is('option')) { - data.element.selected = true; - - this.$element.trigger('input').trigger('change'); - - return; - } - - if (this.$element.prop('multiple')) { - this.current(function (currentData) { - var val = []; - - data = [data]; - data.push.apply(data, currentData); - - for (var d = 0; d < data.length; d++) { - var id = data[d].id; - - if ($.inArray(id, val) === -1) { - val.push(id); - } - } - - self.$element.val(val); - self.$element.trigger('input').trigger('change'); - }); - } else { - var val = data.id; - - this.$element.val(val); - this.$element.trigger('input').trigger('change'); - } - }; - - SelectAdapter.prototype.unselect = function (data) { - var self = this; - - if (!this.$element.prop('multiple')) { - return; - } - - data.selected = false; - - if ($(data.element).is('option')) { - data.element.selected = false; - - this.$element.trigger('input').trigger('change'); - - return; - } - - this.current(function (currentData) { - var val = []; - - for (var d = 0; d < currentData.length; d++) { - var id = currentData[d].id; - - if (id !== data.id && $.inArray(id, val) === -1) { - val.push(id); - } - } - - self.$element.val(val); - - self.$element.trigger('input').trigger('change'); - }); - }; - - SelectAdapter.prototype.bind = function (container, $container) { - var self = this; - - this.container = container; - - container.on('select', function (params) { - self.select(params.data); - }); - - container.on('unselect', function (params) { - self.unselect(params.data); - }); - }; - - SelectAdapter.prototype.destroy = function () { - // Remove anything added to child elements - this.$element.find('*').each(function () { - // Remove any custom data set by Select2 - Utils.RemoveData(this); - }); - }; - - SelectAdapter.prototype.query = function (params, callback) { - var data = []; - var self = this; - - var $options = this.$element.children(); - - $options.each(function () { - var $option = $(this); - - if (!$option.is('option') && !$option.is('optgroup')) { - return; - } - - var option = self.item($option); - - var matches = self.matches(params, option); - - if (matches !== null) { - data.push(matches); - } - }); - - callback({ - results: data - }); - }; - - SelectAdapter.prototype.addOptions = function ($options) { - Utils.appendMany(this.$element, $options); - }; - - SelectAdapter.prototype.option = function (data) { - var option; - - if (data.children) { - option = document.createElement('optgroup'); - option.label = data.text; - } else { - option = document.createElement('option'); - - if (option.textContent !== undefined) { - option.textContent = data.text; - } else { - option.innerText = data.text; - } - } - - if (data.id !== undefined) { - option.value = data.id; - } - - if (data.disabled) { - option.disabled = true; - } - - if (data.selected) { - option.selected = true; - } - - if (data.title) { - option.title = data.title; - } - - var $option = $(option); - - var normalizedData = this._normalizeItem(data); - normalizedData.element = option; - - // Override the option's data with the combined data - Utils.StoreData(option, 'data', normalizedData); - - return $option; - }; - - SelectAdapter.prototype.item = function ($option) { - var data = {}; - - data = Utils.GetData($option[0], 'data'); - - if (data != null) { - return data; - } - - if ($option.is('option')) { - data = { - id: $option.val(), - text: $option.text(), - disabled: $option.prop('disabled'), - selected: $option.prop('selected'), - title: $option.prop('title') - }; - } else if ($option.is('optgroup')) { - data = { - text: $option.prop('label'), - children: [], - title: $option.prop('title') - }; - - var $children = $option.children('option'); - var children = []; - - for (var c = 0; c < $children.length; c++) { - var $child = $($children[c]); - - var child = this.item($child); - - children.push(child); - } - - data.children = children; - } - - data = this._normalizeItem(data); - data.element = $option[0]; - - Utils.StoreData($option[0], 'data', data); - - return data; - }; - - SelectAdapter.prototype._normalizeItem = function (item) { - if (item !== Object(item)) { - item = { - id: item, - text: item - }; - } - - item = $.extend({}, { - text: '' - }, item); - - var defaults = { - selected: false, - disabled: false - }; - - if (item.id != null) { - item.id = item.id.toString(); - } - - if (item.text != null) { - item.text = item.text.toString(); - } - - if (item._resultId == null && item.id && this.container != null) { - item._resultId = this.generateResultId(this.container, item); - } - - return $.extend({}, defaults, item); - }; - - SelectAdapter.prototype.matches = function (params, data) { - var matcher = this.options.get('matcher'); - - return matcher(params, data); - }; - - return SelectAdapter; -}); - -S2.define('select2/data/array',[ - './select', - '../utils', - 'jquery' -], function (SelectAdapter, Utils, $) { - function ArrayAdapter ($element, options) { - this._dataToConvert = options.get('data') || []; - - ArrayAdapter.__super__.constructor.call(this, $element, options); - } - - Utils.Extend(ArrayAdapter, SelectAdapter); - - ArrayAdapter.prototype.bind = function (container, $container) { - ArrayAdapter.__super__.bind.call(this, container, $container); - - this.addOptions(this.convertToOptions(this._dataToConvert)); - }; - - ArrayAdapter.prototype.select = function (data) { - var $option = this.$element.find('option').filter(function (i, elm) { - return elm.value == data.id.toString(); - }); - - if ($option.length === 0) { - $option = this.option(data); - - this.addOptions($option); - } - - ArrayAdapter.__super__.select.call(this, data); - }; - - ArrayAdapter.prototype.convertToOptions = function (data) { - var self = this; - - var $existing = this.$element.find('option'); - var existingIds = $existing.map(function () { - return self.item($(this)).id; - }).get(); - - var $options = []; - - // Filter out all items except for the one passed in the argument - function onlyItem (item) { - return function () { - return $(this).val() == item.id; - }; - } - - for (var d = 0; d < data.length; d++) { - var item = this._normalizeItem(data[d]); - - // Skip items which were pre-loaded, only merge the data - if ($.inArray(item.id, existingIds) >= 0) { - var $existingOption = $existing.filter(onlyItem(item)); - - var existingData = this.item($existingOption); - var newData = $.extend(true, {}, item, existingData); - - var $newOption = this.option(newData); - - $existingOption.replaceWith($newOption); - - continue; - } - - var $option = this.option(item); - - if (item.children) { - var $children = this.convertToOptions(item.children); - - Utils.appendMany($option, $children); - } - - $options.push($option); - } - - return $options; - }; - - return ArrayAdapter; -}); - -S2.define('select2/data/ajax',[ - './array', - '../utils', - 'jquery' -], function (ArrayAdapter, Utils, $) { - function AjaxAdapter ($element, options) { - this.ajaxOptions = this._applyDefaults(options.get('ajax')); - - if (this.ajaxOptions.processResults != null) { - this.processResults = this.ajaxOptions.processResults; - } - - AjaxAdapter.__super__.constructor.call(this, $element, options); - } - - Utils.Extend(AjaxAdapter, ArrayAdapter); - - AjaxAdapter.prototype._applyDefaults = function (options) { - var defaults = { - data: function (params) { - return $.extend({}, params, { - q: params.term - }); - }, - transport: function (params, success, failure) { - var $request = $.ajax(params); - - $request.then(success); - $request.fail(failure); - - return $request; - } - }; - - return $.extend({}, defaults, options, true); - }; - - AjaxAdapter.prototype.processResults = function (results) { - return results; - }; - - AjaxAdapter.prototype.query = function (params, callback) { - var matches = []; - var self = this; - - if (this._request != null) { - // JSONP requests cannot always be aborted - if ($.isFunction(this._request.abort)) { - this._request.abort(); - } - - this._request = null; - } - - var options = $.extend({ - type: 'GET' - }, this.ajaxOptions); - - if (typeof options.url === 'function') { - options.url = options.url.call(this.$element, params); - } - - if (typeof options.data === 'function') { - options.data = options.data.call(this.$element, params); - } - - function request () { - var $request = options.transport(options, function (data) { - var results = self.processResults(data, params); - - if (self.options.get('debug') && window.console && console.error) { - // Check to make sure that the response included a `results` key. - if (!results || !results.results || !$.isArray(results.results)) { - console.error( - 'Select2: The AJAX results did not return an array in the ' + - '`results` key of the response.' - ); - } - } - - callback(results); - }, function () { - // Attempt to detect if a request was aborted - // Only works if the transport exposes a status property - if ('status' in $request && - ($request.status === 0 || $request.status === '0')) { - return; - } - - self.trigger('results:message', { - message: 'errorLoading' - }); - }); - - self._request = $request; - } - - if (this.ajaxOptions.delay && params.term != null) { - if (this._queryTimeout) { - window.clearTimeout(this._queryTimeout); - } - - this._queryTimeout = window.setTimeout(request, this.ajaxOptions.delay); - } else { - request(); - } - }; - - return AjaxAdapter; -}); - -S2.define('select2/data/tags',[ - 'jquery' -], function ($) { - function Tags (decorated, $element, options) { - var tags = options.get('tags'); - - var createTag = options.get('createTag'); - - if (createTag !== undefined) { - this.createTag = createTag; - } - - var insertTag = options.get('insertTag'); - - if (insertTag !== undefined) { - this.insertTag = insertTag; - } - - decorated.call(this, $element, options); - - if ($.isArray(tags)) { - for (var t = 0; t < tags.length; t++) { - var tag = tags[t]; - var item = this._normalizeItem(tag); - - var $option = this.option(item); - - this.$element.append($option); - } - } - } - - Tags.prototype.query = function (decorated, params, callback) { - var self = this; - - this._removeOldTags(); - - if (params.term == null || params.page != null) { - decorated.call(this, params, callback); - return; - } - - function wrapper (obj, child) { - var data = obj.results; - - for (var i = 0; i < data.length; i++) { - var option = data[i]; - - var checkChildren = ( - option.children != null && - !wrapper({ - results: option.children - }, true) - ); - - var optionText = (option.text || '').toUpperCase(); - var paramsTerm = (params.term || '').toUpperCase(); - - var checkText = optionText === paramsTerm; - - if (checkText || checkChildren) { - if (child) { - return false; - } - - obj.data = data; - callback(obj); - - return; - } - } - - if (child) { - return true; - } - - var tag = self.createTag(params); - - if (tag != null) { - var $option = self.option(tag); - $option.attr('data-select2-tag', true); - - self.addOptions([$option]); - - self.insertTag(data, tag); - } - - obj.results = data; - - callback(obj); - } - - decorated.call(this, params, wrapper); - }; - - Tags.prototype.createTag = function (decorated, params) { - var term = $.trim(params.term); - - if (term === '') { - return null; - } - - return { - id: term, - text: term - }; - }; - - Tags.prototype.insertTag = function (_, data, tag) { - data.unshift(tag); - }; - - Tags.prototype._removeOldTags = function (_) { - var $options = this.$element.find('option[data-select2-tag]'); - - $options.each(function () { - if (this.selected) { - return; - } - - $(this).remove(); - }); - }; - - return Tags; -}); - -S2.define('select2/data/tokenizer',[ - 'jquery' -], function ($) { - function Tokenizer (decorated, $element, options) { - var tokenizer = options.get('tokenizer'); - - if (tokenizer !== undefined) { - this.tokenizer = tokenizer; - } - - decorated.call(this, $element, options); - } - - Tokenizer.prototype.bind = function (decorated, container, $container) { - decorated.call(this, container, $container); - - this.$search = container.dropdown.$search || container.selection.$search || - $container.find('.select2-search__field'); - }; - - Tokenizer.prototype.query = function (decorated, params, callback) { - var self = this; - - function createAndSelect (data) { - // Normalize the data object so we can use it for checks - var item = self._normalizeItem(data); - - // Check if the data object already exists as a tag - // Select it if it doesn't - var $existingOptions = self.$element.find('option').filter(function () { - return $(this).val() === item.id; - }); - - // If an existing option wasn't found for it, create the option - if (!$existingOptions.length) { - var $option = self.option(item); - $option.attr('data-select2-tag', true); - - self._removeOldTags(); - self.addOptions([$option]); - } - - // Select the item, now that we know there is an option for it - select(item); - } - - function select (data) { - self.trigger('select', { - data: data - }); - } - - params.term = params.term || ''; - - var tokenData = this.tokenizer(params, this.options, createAndSelect); - - if (tokenData.term !== params.term) { - // Replace the search term if we have the search box - if (this.$search.length) { - this.$search.val(tokenData.term); - this.$search.trigger('focus'); - } - - params.term = tokenData.term; - } - - decorated.call(this, params, callback); - }; - - Tokenizer.prototype.tokenizer = function (_, params, options, callback) { - var separators = options.get('tokenSeparators') || []; - var term = params.term; - var i = 0; - - var createTag = this.createTag || function (params) { - return { - id: params.term, - text: params.term - }; - }; - - while (i < term.length) { - var termChar = term[i]; - - if ($.inArray(termChar, separators) === -1) { - i++; - - continue; - } - - var part = term.substr(0, i); - var partParams = $.extend({}, params, { - term: part - }); - - var data = createTag(partParams); - - if (data == null) { - i++; - continue; - } - - callback(data); - - // Reset the term to not include the tokenized portion - term = term.substr(i + 1) || ''; - i = 0; - } - - return { - term: term - }; - }; - - return Tokenizer; -}); - -S2.define('select2/data/minimumInputLength',[ - -], function () { - function MinimumInputLength (decorated, $e, options) { - this.minimumInputLength = options.get('minimumInputLength'); - - decorated.call(this, $e, options); - } - - MinimumInputLength.prototype.query = function (decorated, params, callback) { - params.term = params.term || ''; - - if (params.term.length < this.minimumInputLength) { - this.trigger('results:message', { - message: 'inputTooShort', - args: { - minimum: this.minimumInputLength, - input: params.term, - params: params - } - }); - - return; - } - - decorated.call(this, params, callback); - }; - - return MinimumInputLength; -}); - -S2.define('select2/data/maximumInputLength',[ - -], function () { - function MaximumInputLength (decorated, $e, options) { - this.maximumInputLength = options.get('maximumInputLength'); - - decorated.call(this, $e, options); - } - - MaximumInputLength.prototype.query = function (decorated, params, callback) { - params.term = params.term || ''; - - if (this.maximumInputLength > 0 && - params.term.length > this.maximumInputLength) { - this.trigger('results:message', { - message: 'inputTooLong', - args: { - maximum: this.maximumInputLength, - input: params.term, - params: params - } - }); - - return; - } - - decorated.call(this, params, callback); - }; - - return MaximumInputLength; -}); - -S2.define('select2/data/maximumSelectionLength',[ - -], function (){ - function MaximumSelectionLength (decorated, $e, options) { - this.maximumSelectionLength = options.get('maximumSelectionLength'); - - decorated.call(this, $e, options); - } - - MaximumSelectionLength.prototype.bind = - function (decorated, container, $container) { - var self = this; - - decorated.call(this, container, $container); - - container.on('select', function () { - self._checkIfMaximumSelected(); - }); - }; - - MaximumSelectionLength.prototype.query = - function (decorated, params, callback) { - var self = this; - - this._checkIfMaximumSelected(function () { - decorated.call(self, params, callback); - }); - }; - - MaximumSelectionLength.prototype._checkIfMaximumSelected = - function (_, successCallback) { - var self = this; - - this.current(function (currentData) { - var count = currentData != null ? currentData.length : 0; - if (self.maximumSelectionLength > 0 && - count >= self.maximumSelectionLength) { - self.trigger('results:message', { - message: 'maximumSelected', - args: { - maximum: self.maximumSelectionLength - } - }); - return; - } - - if (successCallback) { - successCallback(); - } - }); - }; - - return MaximumSelectionLength; -}); - -S2.define('select2/dropdown',[ - 'jquery', - './utils' -], function ($, Utils) { - function Dropdown ($element, options) { - this.$element = $element; - this.options = options; - - Dropdown.__super__.constructor.call(this); - } - - Utils.Extend(Dropdown, Utils.Observable); - - Dropdown.prototype.render = function () { - var $dropdown = $( - '<span class="select2-dropdown">' + - '<span class="select2-results"></span>' + - '</span>' - ); - - $dropdown.attr('dir', this.options.get('dir')); - - this.$dropdown = $dropdown; - - return $dropdown; - }; - - Dropdown.prototype.bind = function () { - // Should be implemented in subclasses - }; - - Dropdown.prototype.position = function ($dropdown, $container) { - // Should be implemented in subclasses - }; - - Dropdown.prototype.destroy = function () { - // Remove the dropdown from the DOM - this.$dropdown.remove(); - }; - - return Dropdown; -}); - -S2.define('select2/dropdown/search',[ - 'jquery', - '../utils' -], function ($, Utils) { - function Search () { } - - Search.prototype.render = function (decorated) { - var $rendered = decorated.call(this); - - var $search = $( - '<span class="select2-search select2-search--dropdown">' + - '<input class="select2-search__field" type="search" tabindex="-1"' + - ' autocomplete="off" autocorrect="off" autocapitalize="none"' + - ' spellcheck="false" role="searchbox" aria-autocomplete="list" />' + - '</span>' - ); - - this.$searchContainer = $search; - this.$search = $search.find('input'); - - $rendered.prepend($search); - - return $rendered; - }; - - Search.prototype.bind = function (decorated, container, $container) { - var self = this; - - var resultsId = container.id + '-results'; - - decorated.call(this, container, $container); - - this.$search.on('keydown', function (evt) { - self.trigger('keypress', evt); - - self._keyUpPrevented = evt.isDefaultPrevented(); - }); - - // Workaround for browsers which do not support the `input` event - // This will prevent double-triggering of events for browsers which support - // both the `keyup` and `input` events. - this.$search.on('input', function (evt) { - // Unbind the duplicated `keyup` event - $(this).off('keyup'); - }); - - this.$search.on('keyup input', function (evt) { - self.handleSearch(evt); - }); - - container.on('open', function () { - self.$search.attr('tabindex', 0); - self.$search.attr('aria-controls', resultsId); - - self.$search.trigger('focus'); - - window.setTimeout(function () { - self.$search.trigger('focus'); - }, 0); - }); - - container.on('close', function () { - self.$search.attr('tabindex', -1); - self.$search.removeAttr('aria-controls'); - self.$search.removeAttr('aria-activedescendant'); - - self.$search.val(''); - self.$search.trigger('blur'); - }); - - container.on('focus', function () { - if (!container.isOpen()) { - self.$search.trigger('focus'); - } - }); - - container.on('results:all', function (params) { - if (params.query.term == null || params.query.term === '') { - var showSearch = self.showSearch(params); - - if (showSearch) { - self.$searchContainer.removeClass('select2-search--hide'); - } else { - self.$searchContainer.addClass('select2-search--hide'); - } - } - }); - - container.on('results:focus', function (params) { - if (params.data._resultId) { - self.$search.attr('aria-activedescendant', params.data._resultId); - } else { - self.$search.removeAttr('aria-activedescendant'); - } - }); - }; - - Search.prototype.handleSearch = function (evt) { - if (!this._keyUpPrevented) { - var input = this.$search.val(); - - this.trigger('query', { - term: input - }); - } - - this._keyUpPrevented = false; - }; - - Search.prototype.showSearch = function (_, params) { - return true; - }; - - return Search; -}); - -S2.define('select2/dropdown/hidePlaceholder',[ - -], function () { - function HidePlaceholder (decorated, $element, options, dataAdapter) { - this.placeholder = this.normalizePlaceholder(options.get('placeholder')); - - decorated.call(this, $element, options, dataAdapter); - } - - HidePlaceholder.prototype.append = function (decorated, data) { - data.results = this.removePlaceholder(data.results); - - decorated.call(this, data); - }; - - HidePlaceholder.prototype.normalizePlaceholder = function (_, placeholder) { - if (typeof placeholder === 'string') { - placeholder = { - id: '', - text: placeholder - }; - } - - return placeholder; - }; - - HidePlaceholder.prototype.removePlaceholder = function (_, data) { - var modifiedData = data.slice(0); - - for (var d = data.length - 1; d >= 0; d--) { - var item = data[d]; - - if (this.placeholder.id === item.id) { - modifiedData.splice(d, 1); - } - } - - return modifiedData; - }; - - return HidePlaceholder; -}); - -S2.define('select2/dropdown/infiniteScroll',[ - 'jquery' -], function ($) { - function InfiniteScroll (decorated, $element, options, dataAdapter) { - this.lastParams = {}; - - decorated.call(this, $element, options, dataAdapter); - - this.$loadingMore = this.createLoadingMore(); - this.loading = false; - } - - InfiniteScroll.prototype.append = function (decorated, data) { - this.$loadingMore.remove(); - this.loading = false; - - decorated.call(this, data); - - if (this.showLoadingMore(data)) { - this.$results.append(this.$loadingMore); - this.loadMoreIfNeeded(); - } - }; - - InfiniteScroll.prototype.bind = function (decorated, container, $container) { - var self = this; - - decorated.call(this, container, $container); - - container.on('query', function (params) { - self.lastParams = params; - self.loading = true; - }); - - container.on('query:append', function (params) { - self.lastParams = params; - self.loading = true; - }); - - this.$results.on('scroll', this.loadMoreIfNeeded.bind(this)); - }; - - InfiniteScroll.prototype.loadMoreIfNeeded = function () { - var isLoadMoreVisible = $.contains( - document.documentElement, - this.$loadingMore[0] - ); - - if (this.loading || !isLoadMoreVisible) { - return; - } - - var currentOffset = this.$results.offset().top + - this.$results.outerHeight(false); - var loadingMoreOffset = this.$loadingMore.offset().top + - this.$loadingMore.outerHeight(false); - - if (currentOffset + 50 >= loadingMoreOffset) { - this.loadMore(); - } - }; - - InfiniteScroll.prototype.loadMore = function () { - this.loading = true; - - var params = $.extend({}, {page: 1}, this.lastParams); - - params.page++; - - this.trigger('query:append', params); - }; - - InfiniteScroll.prototype.showLoadingMore = function (_, data) { - return data.pagination && data.pagination.more; - }; - - InfiniteScroll.prototype.createLoadingMore = function () { - var $option = $( - '<li ' + - 'class="select2-results__option select2-results__option--load-more"' + - 'role="option" aria-disabled="true"></li>' - ); - - var message = this.options.get('translations').get('loadingMore'); - - $option.html(message(this.lastParams)); - - return $option; - }; - - return InfiniteScroll; -}); - -S2.define('select2/dropdown/attachBody',[ - 'jquery', - '../utils' -], function ($, Utils) { - function AttachBody (decorated, $element, options) { - this.$dropdownParent = $(options.get('dropdownParent') || document.body); - - decorated.call(this, $element, options); - } - - AttachBody.prototype.bind = function (decorated, container, $container) { - var self = this; - - decorated.call(this, container, $container); - - container.on('open', function () { - self._showDropdown(); - self._attachPositioningHandler(container); - - // Must bind after the results handlers to ensure correct sizing - self._bindContainerResultHandlers(container); - }); - - container.on('close', function () { - self._hideDropdown(); - self._detachPositioningHandler(container); - }); - - this.$dropdownContainer.on('mousedown', function (evt) { - evt.stopPropagation(); - }); - }; - - AttachBody.prototype.destroy = function (decorated) { - decorated.call(this); - - this.$dropdownContainer.remove(); - }; - - AttachBody.prototype.position = function (decorated, $dropdown, $container) { - // Clone all of the container classes - $dropdown.attr('class', $container.attr('class')); - - $dropdown.removeClass('select2'); - $dropdown.addClass('select2-container--open'); - - $dropdown.css({ - position: 'absolute', - top: -999999 - }); - - this.$container = $container; - }; - - AttachBody.prototype.render = function (decorated) { - var $container = $('<span></span>'); - - var $dropdown = decorated.call(this); - $container.append($dropdown); - - this.$dropdownContainer = $container; - - return $container; - }; - - AttachBody.prototype._hideDropdown = function (decorated) { - this.$dropdownContainer.detach(); - }; - - AttachBody.prototype._bindContainerResultHandlers = - function (decorated, container) { - - // These should only be bound once - if (this._containerResultsHandlersBound) { - return; - } - - var self = this; - - container.on('results:all', function () { - self._positionDropdown(); - self._resizeDropdown(); - }); - - container.on('results:append', function () { - self._positionDropdown(); - self._resizeDropdown(); - }); - - container.on('results:message', function () { - self._positionDropdown(); - self._resizeDropdown(); - }); - - container.on('select', function () { - self._positionDropdown(); - self._resizeDropdown(); - }); - - container.on('unselect', function () { - self._positionDropdown(); - self._resizeDropdown(); - }); - - this._containerResultsHandlersBound = true; - }; - - AttachBody.prototype._attachPositioningHandler = - function (decorated, container) { - var self = this; - - var scrollEvent = 'scroll.select2.' + container.id; - var resizeEvent = 'resize.select2.' + container.id; - var orientationEvent = 'orientationchange.select2.' + container.id; - - var $watchers = this.$container.parents().filter(Utils.hasScroll); - $watchers.each(function () { - Utils.StoreData(this, 'select2-scroll-position', { - x: $(this).scrollLeft(), - y: $(this).scrollTop() - }); - }); - - $watchers.on(scrollEvent, function (ev) { - var position = Utils.GetData(this, 'select2-scroll-position'); - $(this).scrollTop(position.y); - }); - - $(window).on(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent, - function (e) { - self._positionDropdown(); - self._resizeDropdown(); - }); - }; - - AttachBody.prototype._detachPositioningHandler = - function (decorated, container) { - var scrollEvent = 'scroll.select2.' + container.id; - var resizeEvent = 'resize.select2.' + container.id; - var orientationEvent = 'orientationchange.select2.' + container.id; - - var $watchers = this.$container.parents().filter(Utils.hasScroll); - $watchers.off(scrollEvent); - - $(window).off(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent); - }; - - AttachBody.prototype._positionDropdown = function () { - var $window = $(window); - - var isCurrentlyAbove = this.$dropdown.hasClass('select2-dropdown--above'); - var isCurrentlyBelow = this.$dropdown.hasClass('select2-dropdown--below'); - - var newDirection = null; - - var offset = this.$container.offset(); - - offset.bottom = offset.top + this.$container.outerHeight(false); - - var container = { - height: this.$container.outerHeight(false) - }; - - container.top = offset.top; - container.bottom = offset.top + container.height; - - var dropdown = { - height: this.$dropdown.outerHeight(false) - }; - - var viewport = { - top: $window.scrollTop(), - bottom: $window.scrollTop() + $window.height() - }; - - var enoughRoomAbove = viewport.top < (offset.top - dropdown.height); - var enoughRoomBelow = viewport.bottom > (offset.bottom + dropdown.height); - - var css = { - left: offset.left, - top: container.bottom - }; - - // Determine what the parent element is to use for calculating the offset - var $offsetParent = this.$dropdownParent; - - // For statically positioned elements, we need to get the element - // that is determining the offset - if ($offsetParent.css('position') === 'static') { - $offsetParent = $offsetParent.offsetParent(); - } - - var parentOffset = { - top: 0, - left: 0 - }; - - if ( - $.contains(document.body, $offsetParent[0]) || - $offsetParent[0].isConnected - ) { - parentOffset = $offsetParent.offset(); - } - - css.top -= parentOffset.top; - css.left -= parentOffset.left; - - if (!isCurrentlyAbove && !isCurrentlyBelow) { - newDirection = 'below'; - } - - if (!enoughRoomBelow && enoughRoomAbove && !isCurrentlyAbove) { - newDirection = 'above'; - } else if (!enoughRoomAbove && enoughRoomBelow && isCurrentlyAbove) { - newDirection = 'below'; - } - - if (newDirection == 'above' || - (isCurrentlyAbove && newDirection !== 'below')) { - css.top = container.top - parentOffset.top - dropdown.height; - } - - if (newDirection != null) { - this.$dropdown - .removeClass('select2-dropdown--below select2-dropdown--above') - .addClass('select2-dropdown--' + newDirection); - this.$container - .removeClass('select2-container--below select2-container--above') - .addClass('select2-container--' + newDirection); - } - - this.$dropdownContainer.css(css); - }; - - AttachBody.prototype._resizeDropdown = function () { - var css = { - width: this.$container.outerWidth(false) + 'px' - }; - - if (this.options.get('dropdownAutoWidth')) { - css.minWidth = css.width; - css.position = 'relative'; - css.width = 'auto'; - } - - this.$dropdown.css(css); - }; - - AttachBody.prototype._showDropdown = function (decorated) { - this.$dropdownContainer.appendTo(this.$dropdownParent); - - this._positionDropdown(); - this._resizeDropdown(); - }; - - return AttachBody; -}); - -S2.define('select2/dropdown/minimumResultsForSearch',[ - -], function () { - function countResults (data) { - var count = 0; - - for (var d = 0; d < data.length; d++) { - var item = data[d]; - - if (item.children) { - count += countResults(item.children); - } else { - count++; - } - } - - return count; - } - - function MinimumResultsForSearch (decorated, $element, options, dataAdapter) { - this.minimumResultsForSearch = options.get('minimumResultsForSearch'); - - if (this.minimumResultsForSearch < 0) { - this.minimumResultsForSearch = Infinity; - } - - decorated.call(this, $element, options, dataAdapter); - } - - MinimumResultsForSearch.prototype.showSearch = function (decorated, params) { - if (countResults(params.data.results) < this.minimumResultsForSearch) { - return false; - } - - return decorated.call(this, params); - }; - - return MinimumResultsForSearch; -}); - -S2.define('select2/dropdown/selectOnClose',[ - '../utils' -], function (Utils) { - function SelectOnClose () { } - - SelectOnClose.prototype.bind = function (decorated, container, $container) { - var self = this; - - decorated.call(this, container, $container); - - container.on('close', function (params) { - self._handleSelectOnClose(params); - }); - }; - - SelectOnClose.prototype._handleSelectOnClose = function (_, params) { - if (params && params.originalSelect2Event != null) { - var event = params.originalSelect2Event; - - // Don't select an item if the close event was triggered from a select or - // unselect event - if (event._type === 'select' || event._type === 'unselect') { - return; - } - } - - var $highlightedResults = this.getHighlightedResults(); - - // Only select highlighted results - if ($highlightedResults.length < 1) { - return; - } - - var data = Utils.GetData($highlightedResults[0], 'data'); - - // Don't re-select already selected resulte - if ( - (data.element != null && data.element.selected) || - (data.element == null && data.selected) - ) { - return; - } - - this.trigger('select', { - data: data - }); - }; - - return SelectOnClose; -}); - -S2.define('select2/dropdown/closeOnSelect',[ - -], function () { - function CloseOnSelect () { } - - CloseOnSelect.prototype.bind = function (decorated, container, $container) { - var self = this; - - decorated.call(this, container, $container); - - container.on('select', function (evt) { - self._selectTriggered(evt); - }); - - container.on('unselect', function (evt) { - self._selectTriggered(evt); - }); - }; - - CloseOnSelect.prototype._selectTriggered = function (_, evt) { - var originalEvent = evt.originalEvent; - - // Don't close if the control key is being held - if (originalEvent && (originalEvent.ctrlKey || originalEvent.metaKey)) { - return; - } - - this.trigger('close', { - originalEvent: originalEvent, - originalSelect2Event: evt - }); - }; - - return CloseOnSelect; -}); - -S2.define('select2/i18n/en',[],function () { - // English - return { - errorLoading: function () { - return 'The results could not be loaded.'; - }, - inputTooLong: function (args) { - var overChars = args.input.length - args.maximum; - - var message = 'Please delete ' + overChars + ' character'; - - if (overChars != 1) { - message += 's'; - } - - return message; - }, - inputTooShort: function (args) { - var remainingChars = args.minimum - args.input.length; - - var message = 'Please enter ' + remainingChars + ' or more characters'; - - return message; - }, - loadingMore: function () { - return 'Loading more results…'; - }, - maximumSelected: function (args) { - var message = 'You can only select ' + args.maximum + ' item'; - - if (args.maximum != 1) { - message += 's'; - } - - return message; - }, - noResults: function () { - return 'No results found'; - }, - searching: function () { - return 'Searching…'; - }, - removeAllItems: function () { - return 'Remove all items'; - } - }; -}); - -S2.define('select2/defaults',[ - 'jquery', - 'require', - - './results', - - './selection/single', - './selection/multiple', - './selection/placeholder', - './selection/allowClear', - './selection/search', - './selection/eventRelay', - - './utils', - './translation', - './diacritics', - - './data/select', - './data/array', - './data/ajax', - './data/tags', - './data/tokenizer', - './data/minimumInputLength', - './data/maximumInputLength', - './data/maximumSelectionLength', - - './dropdown', - './dropdown/search', - './dropdown/hidePlaceholder', - './dropdown/infiniteScroll', - './dropdown/attachBody', - './dropdown/minimumResultsForSearch', - './dropdown/selectOnClose', - './dropdown/closeOnSelect', - - './i18n/en' -], function ($, require, - - ResultsList, - - SingleSelection, MultipleSelection, Placeholder, AllowClear, - SelectionSearch, EventRelay, - - Utils, Translation, DIACRITICS, - - SelectData, ArrayData, AjaxData, Tags, Tokenizer, - MinimumInputLength, MaximumInputLength, MaximumSelectionLength, - - Dropdown, DropdownSearch, HidePlaceholder, InfiniteScroll, - AttachBody, MinimumResultsForSearch, SelectOnClose, CloseOnSelect, - - EnglishTranslation) { - function Defaults () { - this.reset(); - } - - Defaults.prototype.apply = function (options) { - options = $.extend(true, {}, this.defaults, options); - - if (options.dataAdapter == null) { - if (options.ajax != null) { - options.dataAdapter = AjaxData; - } else if (options.data != null) { - options.dataAdapter = ArrayData; - } else { - options.dataAdapter = SelectData; - } - - if (options.minimumInputLength > 0) { - options.dataAdapter = Utils.Decorate( - options.dataAdapter, - MinimumInputLength - ); - } - - if (options.maximumInputLength > 0) { - options.dataAdapter = Utils.Decorate( - options.dataAdapter, - MaximumInputLength - ); - } - - if (options.maximumSelectionLength > 0) { - options.dataAdapter = Utils.Decorate( - options.dataAdapter, - MaximumSelectionLength - ); - } - - if (options.tags) { - options.dataAdapter = Utils.Decorate(options.dataAdapter, Tags); - } - - if (options.tokenSeparators != null || options.tokenizer != null) { - options.dataAdapter = Utils.Decorate( - options.dataAdapter, - Tokenizer - ); - } - - if (options.query != null) { - var Query = require(options.amdBase + 'compat/query'); - - options.dataAdapter = Utils.Decorate( - options.dataAdapter, - Query - ); - } - - if (options.initSelection != null) { - var InitSelection = require(options.amdBase + 'compat/initSelection'); - - options.dataAdapter = Utils.Decorate( - options.dataAdapter, - InitSelection - ); - } - } - - if (options.resultsAdapter == null) { - options.resultsAdapter = ResultsList; - - if (options.ajax != null) { - options.resultsAdapter = Utils.Decorate( - options.resultsAdapter, - InfiniteScroll - ); - } - - if (options.placeholder != null) { - options.resultsAdapter = Utils.Decorate( - options.resultsAdapter, - HidePlaceholder - ); - } - - if (options.selectOnClose) { - options.resultsAdapter = Utils.Decorate( - options.resultsAdapter, - SelectOnClose - ); - } - } - - if (options.dropdownAdapter == null) { - if (options.multiple) { - options.dropdownAdapter = Dropdown; - } else { - var SearchableDropdown = Utils.Decorate(Dropdown, DropdownSearch); - - options.dropdownAdapter = SearchableDropdown; - } - - if (options.minimumResultsForSearch !== 0) { - options.dropdownAdapter = Utils.Decorate( - options.dropdownAdapter, - MinimumResultsForSearch - ); - } - - if (options.closeOnSelect) { - options.dropdownAdapter = Utils.Decorate( - options.dropdownAdapter, - CloseOnSelect - ); - } - - if ( - options.dropdownCssClass != null || - options.dropdownCss != null || - options.adaptDropdownCssClass != null - ) { - var DropdownCSS = require(options.amdBase + 'compat/dropdownCss'); - - options.dropdownAdapter = Utils.Decorate( - options.dropdownAdapter, - DropdownCSS - ); - } - - options.dropdownAdapter = Utils.Decorate( - options.dropdownAdapter, - AttachBody - ); - } - - if (options.selectionAdapter == null) { - if (options.multiple) { - options.selectionAdapter = MultipleSelection; - } else { - options.selectionAdapter = SingleSelection; - } - - // Add the placeholder mixin if a placeholder was specified - if (options.placeholder != null) { - options.selectionAdapter = Utils.Decorate( - options.selectionAdapter, - Placeholder - ); - } - - if (options.allowClear) { - options.selectionAdapter = Utils.Decorate( - options.selectionAdapter, - AllowClear - ); - } - - if (options.multiple) { - options.selectionAdapter = Utils.Decorate( - options.selectionAdapter, - SelectionSearch - ); - } - - if ( - options.containerCssClass != null || - options.containerCss != null || - options.adaptContainerCssClass != null - ) { - var ContainerCSS = require(options.amdBase + 'compat/containerCss'); - - options.selectionAdapter = Utils.Decorate( - options.selectionAdapter, - ContainerCSS - ); - } - - options.selectionAdapter = Utils.Decorate( - options.selectionAdapter, - EventRelay - ); - } - - // If the defaults were not previously applied from an element, it is - // possible for the language option to have not been resolved - options.language = this._resolveLanguage(options.language); - - // Always fall back to English since it will always be complete - options.language.push('en'); - - var uniqueLanguages = []; - - for (var l = 0; l < options.language.length; l++) { - var language = options.language[l]; - - if (uniqueLanguages.indexOf(language) === -1) { - uniqueLanguages.push(language); - } - } - - options.language = uniqueLanguages; - - options.translations = this._processTranslations( - options.language, - options.debug - ); - - return options; - }; - - Defaults.prototype.reset = function () { - function stripDiacritics (text) { - // Used 'uni range + named function' from http://jsperf.com/diacritics/18 - function match(a) { - return DIACRITICS[a] || a; - } - - return text.replace(/[^\u0000-\u007E]/g, match); - } - - function matcher (params, data) { - // Always return the object if there is nothing to compare - if ($.trim(params.term) === '') { - return data; - } - - // Do a recursive check for options with children - if (data.children && data.children.length > 0) { - // Clone the data object if there are children - // This is required as we modify the object to remove any non-matches - var match = $.extend(true, {}, data); - - // Check each child of the option - for (var c = data.children.length - 1; c >= 0; c--) { - var child = data.children[c]; - - var matches = matcher(params, child); - - // If there wasn't a match, remove the object in the array - if (matches == null) { - match.children.splice(c, 1); - } - } - - // If any children matched, return the new object - if (match.children.length > 0) { - return match; - } - - // If there were no matching children, check just the plain object - return matcher(params, match); - } - - var original = stripDiacritics(data.text).toUpperCase(); - var term = stripDiacritics(params.term).toUpperCase(); - - // Check if the text contains the term - if (original.indexOf(term) > -1) { - return data; - } - - // If it doesn't contain the term, don't return anything - return null; - } - - this.defaults = { - amdBase: './', - amdLanguageBase: './i18n/', - closeOnSelect: true, - debug: false, - dropdownAutoWidth: false, - escapeMarkup: Utils.escapeMarkup, - language: {}, - matcher: matcher, - minimumInputLength: 0, - maximumInputLength: 0, - maximumSelectionLength: 0, - minimumResultsForSearch: 0, - selectOnClose: false, - scrollAfterSelect: false, - sorter: function (data) { - return data; - }, - templateResult: function (result) { - return result.text; - }, - templateSelection: function (selection) { - return selection.text; - }, - theme: 'default', - width: 'resolve' - }; - }; - - Defaults.prototype.applyFromElement = function (options, $element) { - var optionLanguage = options.language; - var defaultLanguage = this.defaults.language; - var elementLanguage = $element.prop('lang'); - var parentLanguage = $element.closest('[lang]').prop('lang'); - - var languages = Array.prototype.concat.call( - this._resolveLanguage(elementLanguage), - this._resolveLanguage(optionLanguage), - this._resolveLanguage(defaultLanguage), - this._resolveLanguage(parentLanguage) - ); - - options.language = languages; - - return options; - }; - - Defaults.prototype._resolveLanguage = function (language) { - if (!language) { - return []; - } - - if ($.isEmptyObject(language)) { - return []; - } - - if ($.isPlainObject(language)) { - return [language]; - } - - var languages; - - if (!$.isArray(language)) { - languages = [language]; - } else { - languages = language; - } - - var resolvedLanguages = []; - - for (var l = 0; l < languages.length; l++) { - resolvedLanguages.push(languages[l]); - - if (typeof languages[l] === 'string' && languages[l].indexOf('-') > 0) { - // Extract the region information if it is included - var languageParts = languages[l].split('-'); - var baseLanguage = languageParts[0]; - - resolvedLanguages.push(baseLanguage); - } - } - - return resolvedLanguages; - }; - - Defaults.prototype._processTranslations = function (languages, debug) { - var translations = new Translation(); - - for (var l = 0; l < languages.length; l++) { - var languageData = new Translation(); - - var language = languages[l]; - - if (typeof language === 'string') { - try { - // Try to load it with the original name - languageData = Translation.loadPath(language); - } catch (e) { - try { - // If we couldn't load it, check if it wasn't the full path - language = this.defaults.amdLanguageBase + language; - languageData = Translation.loadPath(language); - } catch (ex) { - // The translation could not be loaded at all. Sometimes this is - // because of a configuration problem, other times this can be - // because of how Select2 helps load all possible translation files - if (debug && window.console && console.warn) { - console.warn( - 'Select2: The language file for "' + language + '" could ' + - 'not be automatically loaded. A fallback will be used instead.' - ); - } - } - } - } else if ($.isPlainObject(language)) { - languageData = new Translation(language); - } else { - languageData = language; - } - - translations.extend(languageData); - } - - return translations; - }; - - Defaults.prototype.set = function (key, value) { - var camelKey = $.camelCase(key); - - var data = {}; - data[camelKey] = value; - - var convertedData = Utils._convertData(data); - - $.extend(true, this.defaults, convertedData); - }; - - var defaults = new Defaults(); - - return defaults; -}); - -S2.define('select2/options',[ - 'require', - 'jquery', - './defaults', - './utils' -], function (require, $, Defaults, Utils) { - function Options (options, $element) { - this.options = options; - - if ($element != null) { - this.fromElement($element); - } - - if ($element != null) { - this.options = Defaults.applyFromElement(this.options, $element); - } - - this.options = Defaults.apply(this.options); - - if ($element && $element.is('input')) { - var InputCompat = require(this.get('amdBase') + 'compat/inputData'); - - this.options.dataAdapter = Utils.Decorate( - this.options.dataAdapter, - InputCompat - ); - } - } - - Options.prototype.fromElement = function ($e) { - var excludedData = ['select2']; - - if (this.options.multiple == null) { - this.options.multiple = $e.prop('multiple'); - } - - if (this.options.disabled == null) { - this.options.disabled = $e.prop('disabled'); - } - - if (this.options.dir == null) { - if ($e.prop('dir')) { - this.options.dir = $e.prop('dir'); - } else if ($e.closest('[dir]').prop('dir')) { - this.options.dir = $e.closest('[dir]').prop('dir'); - } else { - this.options.dir = 'ltr'; - } - } - - $e.prop('disabled', this.options.disabled); - $e.prop('multiple', this.options.multiple); - - if (Utils.GetData($e[0], 'select2Tags')) { - if (this.options.debug && window.console && console.warn) { - console.warn( - 'Select2: The `data-select2-tags` attribute has been changed to ' + - 'use the `data-data` and `data-tags="true"` attributes and will be ' + - 'removed in future versions of Select2.' - ); - } - - Utils.StoreData($e[0], 'data', Utils.GetData($e[0], 'select2Tags')); - Utils.StoreData($e[0], 'tags', true); - } - - if (Utils.GetData($e[0], 'ajaxUrl')) { - if (this.options.debug && window.console && console.warn) { - console.warn( - 'Select2: The `data-ajax-url` attribute has been changed to ' + - '`data-ajax--url` and support for the old attribute will be removed' + - ' in future versions of Select2.' - ); - } - - $e.attr('ajax--url', Utils.GetData($e[0], 'ajaxUrl')); - Utils.StoreData($e[0], 'ajax-Url', Utils.GetData($e[0], 'ajaxUrl')); - } - - var dataset = {}; - - function upperCaseLetter(_, letter) { - return letter.toUpperCase(); - } - - // Pre-load all of the attributes which are prefixed with `data-` - for (var attr = 0; attr < $e[0].attributes.length; attr++) { - var attributeName = $e[0].attributes[attr].name; - var prefix = 'data-'; - - if (attributeName.substr(0, prefix.length) == prefix) { - // Get the contents of the attribute after `data-` - var dataName = attributeName.substring(prefix.length); - - // Get the data contents from the consistent source - // This is more than likely the jQuery data helper - var dataValue = Utils.GetData($e[0], dataName); - - // camelCase the attribute name to match the spec - var camelDataName = dataName.replace(/-([a-z])/g, upperCaseLetter); - - // Store the data attribute contents into the dataset since - dataset[camelDataName] = dataValue; - } - } - - // Prefer the element's `dataset` attribute if it exists - // jQuery 1.x does not correctly handle data attributes with multiple dashes - if ($.fn.jquery && $.fn.jquery.substr(0, 2) == '1.' && $e[0].dataset) { - dataset = $.extend(true, {}, $e[0].dataset, dataset); - } - - // Prefer our internal data cache if it exists - var data = $.extend(true, {}, Utils.GetData($e[0]), dataset); - - data = Utils._convertData(data); - - for (var key in data) { - if ($.inArray(key, excludedData) > -1) { - continue; - } - - if ($.isPlainObject(this.options[key])) { - $.extend(this.options[key], data[key]); - } else { - this.options[key] = data[key]; - } - } - - return this; - }; - - Options.prototype.get = function (key) { - return this.options[key]; - }; - - Options.prototype.set = function (key, val) { - this.options[key] = val; - }; - - return Options; -}); - -S2.define('select2/core',[ - 'jquery', - './options', - './utils', - './keys' -], function ($, Options, Utils, KEYS) { - var Select2 = function ($element, options) { - if (Utils.GetData($element[0], 'select2') != null) { - Utils.GetData($element[0], 'select2').destroy(); - } - - this.$element = $element; - - this.id = this._generateId($element); - - options = options || {}; - - this.options = new Options(options, $element); - - Select2.__super__.constructor.call(this); - - // Set up the tabindex - - var tabindex = $element.attr('tabindex') || 0; - Utils.StoreData($element[0], 'old-tabindex', tabindex); - $element.attr('tabindex', '-1'); - - // Set up containers and adapters - - var DataAdapter = this.options.get('dataAdapter'); - this.dataAdapter = new DataAdapter($element, this.options); - - var $container = this.render(); - - this._placeContainer($container); - - var SelectionAdapter = this.options.get('selectionAdapter'); - this.selection = new SelectionAdapter($element, this.options); - this.$selection = this.selection.render(); - - this.selection.position(this.$selection, $container); - - var DropdownAdapter = this.options.get('dropdownAdapter'); - this.dropdown = new DropdownAdapter($element, this.options); - this.$dropdown = this.dropdown.render(); - - this.dropdown.position(this.$dropdown, $container); - - var ResultsAdapter = this.options.get('resultsAdapter'); - this.results = new ResultsAdapter($element, this.options, this.dataAdapter); - this.$results = this.results.render(); - - this.results.position(this.$results, this.$dropdown); - - // Bind events - - var self = this; - - // Bind the container to all of the adapters - this._bindAdapters(); - - // Register any DOM event handlers - this._registerDomEvents(); - - // Register any internal event handlers - this._registerDataEvents(); - this._registerSelectionEvents(); - this._registerDropdownEvents(); - this._registerResultsEvents(); - this._registerEvents(); - - // Set the initial state - this.dataAdapter.current(function (initialData) { - self.trigger('selection:update', { - data: initialData - }); - }); - - // Hide the original select - $element.addClass('select2-hidden-accessible'); - $element.attr('aria-hidden', 'true'); - - // Synchronize any monitored attributes - this._syncAttributes(); - - Utils.StoreData($element[0], 'select2', this); - - // Ensure backwards compatibility with $element.data('select2'). - $element.data('select2', this); - }; - - Utils.Extend(Select2, Utils.Observable); - - Select2.prototype._generateId = function ($element) { - var id = ''; - - if ($element.attr('id') != null) { - id = $element.attr('id'); - } else if ($element.attr('name') != null) { - id = $element.attr('name') + '-' + Utils.generateChars(2); - } else { - id = Utils.generateChars(4); - } - - id = id.replace(/(:|\.|\[|\]|,)/g, ''); - id = 'select2-' + id; - - return id; - }; - - Select2.prototype._placeContainer = function ($container) { - $container.insertAfter(this.$element); - - var width = this._resolveWidth(this.$element, this.options.get('width')); - - if (width != null) { - $container.css('width', width); - } - }; - - Select2.prototype._resolveWidth = function ($element, method) { - var WIDTH = /^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i; - - if (method == 'resolve') { - var styleWidth = this._resolveWidth($element, 'style'); - - if (styleWidth != null) { - return styleWidth; - } - - return this._resolveWidth($element, 'element'); - } - - if (method == 'element') { - var elementWidth = $element.outerWidth(false); - - if (elementWidth <= 0) { - return 'auto'; - } - - return elementWidth + 'px'; - } - - if (method == 'style') { - var style = $element.attr('style'); - - if (typeof(style) !== 'string') { - return null; - } - - var attrs = style.split(';'); - - for (var i = 0, l = attrs.length; i < l; i = i + 1) { - var attr = attrs[i].replace(/\s/g, ''); - var matches = attr.match(WIDTH); - - if (matches !== null && matches.length >= 1) { - return matches[1]; - } - } - - return null; - } - - if (method == 'computedstyle') { - var computedStyle = window.getComputedStyle($element[0]); - - return computedStyle.width; - } - - return method; - }; - - Select2.prototype._bindAdapters = function () { - this.dataAdapter.bind(this, this.$container); - this.selection.bind(this, this.$container); - - this.dropdown.bind(this, this.$container); - this.results.bind(this, this.$container); - }; - - Select2.prototype._registerDomEvents = function () { - var self = this; - - this.$element.on('change.select2', function () { - self.dataAdapter.current(function (data) { - self.trigger('selection:update', { - data: data - }); - }); - }); - - this.$element.on('focus.select2', function (evt) { - self.trigger('focus', evt); - }); - - this._syncA = Utils.bind(this._syncAttributes, this); - this._syncS = Utils.bind(this._syncSubtree, this); - - if (this.$element[0].attachEvent) { - this.$element[0].attachEvent('onpropertychange', this._syncA); - } - - var observer = window.MutationObserver || - window.WebKitMutationObserver || - window.MozMutationObserver - ; - - if (observer != null) { - this._observer = new observer(function (mutations) { - self._syncA(); - self._syncS(null, mutations); - }); - this._observer.observe(this.$element[0], { - attributes: true, - childList: true, - subtree: false - }); - } else if (this.$element[0].addEventListener) { - this.$element[0].addEventListener( - 'DOMAttrModified', - self._syncA, - false - ); - this.$element[0].addEventListener( - 'DOMNodeInserted', - self._syncS, - false - ); - this.$element[0].addEventListener( - 'DOMNodeRemoved', - self._syncS, - false - ); - } - }; - - Select2.prototype._registerDataEvents = function () { - var self = this; - - this.dataAdapter.on('*', function (name, params) { - self.trigger(name, params); - }); - }; - - Select2.prototype._registerSelectionEvents = function () { - var self = this; - var nonRelayEvents = ['toggle', 'focus']; - - this.selection.on('toggle', function () { - self.toggleDropdown(); - }); - - this.selection.on('focus', function (params) { - self.focus(params); - }); - - this.selection.on('*', function (name, params) { - if ($.inArray(name, nonRelayEvents) !== -1) { - return; - } - - self.trigger(name, params); - }); - }; - - Select2.prototype._registerDropdownEvents = function () { - var self = this; - - this.dropdown.on('*', function (name, params) { - self.trigger(name, params); - }); - }; - - Select2.prototype._registerResultsEvents = function () { - var self = this; - - this.results.on('*', function (name, params) { - self.trigger(name, params); - }); - }; - - Select2.prototype._registerEvents = function () { - var self = this; - - this.on('open', function () { - self.$container.addClass('select2-container--open'); - }); - - this.on('close', function () { - self.$container.removeClass('select2-container--open'); - }); - - this.on('enable', function () { - self.$container.removeClass('select2-container--disabled'); - }); - - this.on('disable', function () { - self.$container.addClass('select2-container--disabled'); - }); - - this.on('blur', function () { - self.$container.removeClass('select2-container--focus'); - }); - - this.on('query', function (params) { - if (!self.isOpen()) { - self.trigger('open', {}); - } - - this.dataAdapter.query(params, function (data) { - self.trigger('results:all', { - data: data, - query: params - }); - }); - }); - - this.on('query:append', function (params) { - this.dataAdapter.query(params, function (data) { - self.trigger('results:append', { - data: data, - query: params - }); - }); - }); - - this.on('keypress', function (evt) { - var key = evt.which; - - if (self.isOpen()) { - if (key === KEYS.ESC || key === KEYS.TAB || - (key === KEYS.UP && evt.altKey)) { - self.close(evt); - - evt.preventDefault(); - } else if (key === KEYS.ENTER) { - self.trigger('results:select', {}); - - evt.preventDefault(); - } else if ((key === KEYS.SPACE && evt.ctrlKey)) { - self.trigger('results:toggle', {}); - - evt.preventDefault(); - } else if (key === KEYS.UP) { - self.trigger('results:previous', {}); - - evt.preventDefault(); - } else if (key === KEYS.DOWN) { - self.trigger('results:next', {}); - - evt.preventDefault(); - } - } else { - if (key === KEYS.ENTER || key === KEYS.SPACE || - (key === KEYS.DOWN && evt.altKey)) { - self.open(); - - evt.preventDefault(); - } - } - }); - }; - - Select2.prototype._syncAttributes = function () { - this.options.set('disabled', this.$element.prop('disabled')); - - if (this.isDisabled()) { - if (this.isOpen()) { - this.close(); - } - - this.trigger('disable', {}); - } else { - this.trigger('enable', {}); - } - }; - - Select2.prototype._isChangeMutation = function (evt, mutations) { - var changed = false; - var self = this; - - // Ignore any mutation events raised for elements that aren't options or - // optgroups. This handles the case when the select element is destroyed - if ( - evt && evt.target && ( - evt.target.nodeName !== 'OPTION' && evt.target.nodeName !== 'OPTGROUP' - ) - ) { - return; - } - - if (!mutations) { - // If mutation events aren't supported, then we can only assume that the - // change affected the selections - changed = true; - } else if (mutations.addedNodes && mutations.addedNodes.length > 0) { - for (var n = 0; n < mutations.addedNodes.length; n++) { - var node = mutations.addedNodes[n]; - - if (node.selected) { - changed = true; - } - } - } else if (mutations.removedNodes && mutations.removedNodes.length > 0) { - changed = true; - } else if ($.isArray(mutations)) { - $.each(mutations, function(evt, mutation) { - if (self._isChangeMutation(evt, mutation)) { - // We've found a change mutation. - // Let's escape from the loop and continue - changed = true; - return false; - } - }); - } - return changed; - }; - - Select2.prototype._syncSubtree = function (evt, mutations) { - var changed = this._isChangeMutation(evt, mutations); - var self = this; - - // Only re-pull the data if we think there is a change - if (changed) { - this.dataAdapter.current(function (currentData) { - self.trigger('selection:update', { - data: currentData - }); - }); - } - }; - - /** - * Override the trigger method to automatically trigger pre-events when - * there are events that can be prevented. - */ - Select2.prototype.trigger = function (name, args) { - var actualTrigger = Select2.__super__.trigger; - var preTriggerMap = { - 'open': 'opening', - 'close': 'closing', - 'select': 'selecting', - 'unselect': 'unselecting', - 'clear': 'clearing' - }; - - if (args === undefined) { - args = {}; - } - - if (name in preTriggerMap) { - var preTriggerName = preTriggerMap[name]; - var preTriggerArgs = { - prevented: false, - name: name, - args: args - }; - - actualTrigger.call(this, preTriggerName, preTriggerArgs); - - if (preTriggerArgs.prevented) { - args.prevented = true; - - return; - } - } - - actualTrigger.call(this, name, args); - }; - - Select2.prototype.toggleDropdown = function () { - if (this.isDisabled()) { - return; - } - - if (this.isOpen()) { - this.close(); - } else { - this.open(); - } - }; - - Select2.prototype.open = function () { - if (this.isOpen()) { - return; - } - - if (this.isDisabled()) { - return; - } - - this.trigger('query', {}); - }; - - Select2.prototype.close = function (evt) { - if (!this.isOpen()) { - return; - } - - this.trigger('close', { originalEvent : evt }); - }; - - /** - * Helper method to abstract the "enabled" (not "disabled") state of this - * object. - * - * @return {true} if the instance is not disabled. - * @return {false} if the instance is disabled. - */ - Select2.prototype.isEnabled = function () { - return !this.isDisabled(); - }; - - /** - * Helper method to abstract the "disabled" state of this object. - * - * @return {true} if the disabled option is true. - * @return {false} if the disabled option is false. - */ - Select2.prototype.isDisabled = function () { - return this.options.get('disabled'); - }; - - Select2.prototype.isOpen = function () { - return this.$container.hasClass('select2-container--open'); - }; - - Select2.prototype.hasFocus = function () { - return this.$container.hasClass('select2-container--focus'); - }; - - Select2.prototype.focus = function (data) { - // No need to re-trigger focus events if we are already focused - if (this.hasFocus()) { - return; - } - - this.$container.addClass('select2-container--focus'); - this.trigger('focus', {}); - }; - - Select2.prototype.enable = function (args) { - if (this.options.get('debug') && window.console && console.warn) { - console.warn( - 'Select2: The `select2("enable")` method has been deprecated and will' + - ' be removed in later Select2 versions. Use $element.prop("disabled")' + - ' instead.' - ); - } - - if (args == null || args.length === 0) { - args = [true]; - } - - var disabled = !args[0]; - - this.$element.prop('disabled', disabled); - }; - - Select2.prototype.data = function () { - if (this.options.get('debug') && - arguments.length > 0 && window.console && console.warn) { - console.warn( - 'Select2: Data can no longer be set using `select2("data")`. You ' + - 'should consider setting the value instead using `$element.val()`.' - ); - } - - var data = []; - - this.dataAdapter.current(function (currentData) { - data = currentData; - }); - - return data; - }; - - Select2.prototype.val = function (args) { - if (this.options.get('debug') && window.console && console.warn) { - console.warn( - 'Select2: The `select2("val")` method has been deprecated and will be' + - ' removed in later Select2 versions. Use $element.val() instead.' - ); - } - - if (args == null || args.length === 0) { - return this.$element.val(); - } - - var newVal = args[0]; - - if ($.isArray(newVal)) { - newVal = $.map(newVal, function (obj) { - return obj.toString(); - }); - } - - this.$element.val(newVal).trigger('input').trigger('change'); - }; - - Select2.prototype.destroy = function () { - this.$container.remove(); - - if (this.$element[0].detachEvent) { - this.$element[0].detachEvent('onpropertychange', this._syncA); - } - - if (this._observer != null) { - this._observer.disconnect(); - this._observer = null; - } else if (this.$element[0].removeEventListener) { - this.$element[0] - .removeEventListener('DOMAttrModified', this._syncA, false); - this.$element[0] - .removeEventListener('DOMNodeInserted', this._syncS, false); - this.$element[0] - .removeEventListener('DOMNodeRemoved', this._syncS, false); - } - - this._syncA = null; - this._syncS = null; - - this.$element.off('.select2'); - this.$element.attr('tabindex', - Utils.GetData(this.$element[0], 'old-tabindex')); - - this.$element.removeClass('select2-hidden-accessible'); - this.$element.attr('aria-hidden', 'false'); - Utils.RemoveData(this.$element[0]); - this.$element.removeData('select2'); - - this.dataAdapter.destroy(); - this.selection.destroy(); - this.dropdown.destroy(); - this.results.destroy(); - - this.dataAdapter = null; - this.selection = null; - this.dropdown = null; - this.results = null; - }; - - Select2.prototype.render = function () { - var $container = $( - '<span class="select2 select2-container">' + - '<span class="selection"></span>' + - '<span class="dropdown-wrapper" aria-hidden="true"></span>' + - '</span>' - ); - - $container.attr('dir', this.options.get('dir')); - - this.$container = $container; - - this.$container.addClass('select2-container--' + this.options.get('theme')); - - Utils.StoreData($container[0], 'element', this.$element); - - return $container; - }; - - return Select2; -}); - -S2.define('select2/compat/utils',[ - 'jquery' -], function ($) { - function syncCssClasses ($dest, $src, adapter) { - var classes, replacements = [], adapted; - - classes = $.trim($dest.attr('class')); - - if (classes) { - classes = '' + classes; // for IE which returns object - - $(classes.split(/\s+/)).each(function () { - // Save all Select2 classes - if (this.indexOf('select2-') === 0) { - replacements.push(this); - } - }); - } - - classes = $.trim($src.attr('class')); - - if (classes) { - classes = '' + classes; // for IE which returns object - - $(classes.split(/\s+/)).each(function () { - // Only adapt non-Select2 classes - if (this.indexOf('select2-') !== 0) { - adapted = adapter(this); - - if (adapted != null) { - replacements.push(adapted); - } - } - }); - } - - $dest.attr('class', replacements.join(' ')); - } - - return { - syncCssClasses: syncCssClasses - }; -}); - -S2.define('select2/compat/containerCss',[ - 'jquery', - './utils' -], function ($, CompatUtils) { - // No-op CSS adapter that discards all classes by default - function _containerAdapter (clazz) { - return null; - } - - function ContainerCSS () { } - - ContainerCSS.prototype.render = function (decorated) { - var $container = decorated.call(this); - - var containerCssClass = this.options.get('containerCssClass') || ''; - - if ($.isFunction(containerCssClass)) { - containerCssClass = containerCssClass(this.$element); - } - - var containerCssAdapter = this.options.get('adaptContainerCssClass'); - containerCssAdapter = containerCssAdapter || _containerAdapter; - - if (containerCssClass.indexOf(':all:') !== -1) { - containerCssClass = containerCssClass.replace(':all:', ''); - - var _cssAdapter = containerCssAdapter; - - containerCssAdapter = function (clazz) { - var adapted = _cssAdapter(clazz); - - if (adapted != null) { - // Append the old one along with the adapted one - return adapted + ' ' + clazz; - } - - return clazz; - }; - } - - var containerCss = this.options.get('containerCss') || {}; - - if ($.isFunction(containerCss)) { - containerCss = containerCss(this.$element); - } - - CompatUtils.syncCssClasses($container, this.$element, containerCssAdapter); - - $container.css(containerCss); - $container.addClass(containerCssClass); - - return $container; - }; - - return ContainerCSS; -}); - -S2.define('select2/compat/dropdownCss',[ - 'jquery', - './utils' -], function ($, CompatUtils) { - // No-op CSS adapter that discards all classes by default - function _dropdownAdapter (clazz) { - return null; - } - - function DropdownCSS () { } - - DropdownCSS.prototype.render = function (decorated) { - var $dropdown = decorated.call(this); - - var dropdownCssClass = this.options.get('dropdownCssClass') || ''; - - if ($.isFunction(dropdownCssClass)) { - dropdownCssClass = dropdownCssClass(this.$element); - } - - var dropdownCssAdapter = this.options.get('adaptDropdownCssClass'); - dropdownCssAdapter = dropdownCssAdapter || _dropdownAdapter; - - if (dropdownCssClass.indexOf(':all:') !== -1) { - dropdownCssClass = dropdownCssClass.replace(':all:', ''); - - var _cssAdapter = dropdownCssAdapter; - - dropdownCssAdapter = function (clazz) { - var adapted = _cssAdapter(clazz); - - if (adapted != null) { - // Append the old one along with the adapted one - return adapted + ' ' + clazz; - } - - return clazz; - }; - } - - var dropdownCss = this.options.get('dropdownCss') || {}; - - if ($.isFunction(dropdownCss)) { - dropdownCss = dropdownCss(this.$element); - } - - CompatUtils.syncCssClasses($dropdown, this.$element, dropdownCssAdapter); - - $dropdown.css(dropdownCss); - $dropdown.addClass(dropdownCssClass); - - return $dropdown; - }; - - return DropdownCSS; -}); - -S2.define('select2/compat/initSelection',[ - 'jquery' -], function ($) { - function InitSelection (decorated, $element, options) { - if (options.get('debug') && window.console && console.warn) { - console.warn( - 'Select2: The `initSelection` option has been deprecated in favor' + - ' of a custom data adapter that overrides the `current` method. ' + - 'This method is now called multiple times instead of a single ' + - 'time when the instance is initialized. Support will be removed ' + - 'for the `initSelection` option in future versions of Select2' - ); - } - - this.initSelection = options.get('initSelection'); - this._isInitialized = false; - - decorated.call(this, $element, options); - } - - InitSelection.prototype.current = function (decorated, callback) { - var self = this; - - if (this._isInitialized) { - decorated.call(this, callback); - - return; - } - - this.initSelection.call(null, this.$element, function (data) { - self._isInitialized = true; - - if (!$.isArray(data)) { - data = [data]; - } - - callback(data); - }); - }; - - return InitSelection; -}); - -S2.define('select2/compat/inputData',[ - 'jquery', - '../utils' -], function ($, Utils) { - function InputData (decorated, $element, options) { - this._currentData = []; - this._valueSeparator = options.get('valueSeparator') || ','; - - if ($element.prop('type') === 'hidden') { - if (options.get('debug') && console && console.warn) { - console.warn( - 'Select2: Using a hidden input with Select2 is no longer ' + - 'supported and may stop working in the future. It is recommended ' + - 'to use a `<select>` element instead.' - ); - } - } - - decorated.call(this, $element, options); - } - - InputData.prototype.current = function (_, callback) { - function getSelected (data, selectedIds) { - var selected = []; - - if (data.selected || $.inArray(data.id, selectedIds) !== -1) { - data.selected = true; - selected.push(data); - } else { - data.selected = false; - } - - if (data.children) { - selected.push.apply(selected, getSelected(data.children, selectedIds)); - } - - return selected; - } - - var selected = []; - - for (var d = 0; d < this._currentData.length; d++) { - var data = this._currentData[d]; - - selected.push.apply( - selected, - getSelected( - data, - this.$element.val().split( - this._valueSeparator - ) - ) - ); - } - - callback(selected); - }; - - InputData.prototype.select = function (_, data) { - if (!this.options.get('multiple')) { - this.current(function (allData) { - $.map(allData, function (data) { - data.selected = false; - }); - }); - - this.$element.val(data.id); - this.$element.trigger('input').trigger('change'); - } else { - var value = this.$element.val(); - value += this._valueSeparator + data.id; - - this.$element.val(value); - this.$element.trigger('input').trigger('change'); - } - }; - - InputData.prototype.unselect = function (_, data) { - var self = this; - - data.selected = false; - - this.current(function (allData) { - var values = []; - - for (var d = 0; d < allData.length; d++) { - var item = allData[d]; - - if (data.id == item.id) { - continue; - } - - values.push(item.id); - } - - self.$element.val(values.join(self._valueSeparator)); - self.$element.trigger('input').trigger('change'); - }); - }; - - InputData.prototype.query = function (_, params, callback) { - var results = []; - - for (var d = 0; d < this._currentData.length; d++) { - var data = this._currentData[d]; - - var matches = this.matches(params, data); - - if (matches !== null) { - results.push(matches); - } - } - - callback({ - results: results - }); - }; - - InputData.prototype.addOptions = function (_, $options) { - var options = $.map($options, function ($option) { - return Utils.GetData($option[0], 'data'); - }); - - this._currentData.push.apply(this._currentData, options); - }; - - return InputData; -}); - -S2.define('select2/compat/matcher',[ - 'jquery' -], function ($) { - function oldMatcher (matcher) { - function wrappedMatcher (params, data) { - var match = $.extend(true, {}, data); - - if (params.term == null || $.trim(params.term) === '') { - return match; - } - - if (data.children) { - for (var c = data.children.length - 1; c >= 0; c--) { - var child = data.children[c]; - - // Check if the child object matches - // The old matcher returned a boolean true or false - var doesMatch = matcher(params.term, child.text, child); - - // If the child didn't match, pop it off - if (!doesMatch) { - match.children.splice(c, 1); - } - } - - if (match.children.length > 0) { - return match; - } - } - - if (matcher(params.term, data.text, data)) { - return match; - } - - return null; - } - - return wrappedMatcher; - } - - return oldMatcher; -}); - -S2.define('select2/compat/query',[ - -], function () { - function Query (decorated, $element, options) { - if (options.get('debug') && window.console && console.warn) { - console.warn( - 'Select2: The `query` option has been deprecated in favor of a ' + - 'custom data adapter that overrides the `query` method. Support ' + - 'will be removed for the `query` option in future versions of ' + - 'Select2.' - ); - } - - decorated.call(this, $element, options); - } - - Query.prototype.query = function (_, params, callback) { - params.callback = callback; - - var query = this.options.get('query'); - - query.call(null, params); - }; - - return Query; -}); - -S2.define('select2/dropdown/attachContainer',[ - -], function () { - function AttachContainer (decorated, $element, options) { - decorated.call(this, $element, options); - } - - AttachContainer.prototype.position = - function (decorated, $dropdown, $container) { - var $dropdownContainer = $container.find('.dropdown-wrapper'); - $dropdownContainer.append($dropdown); - - $dropdown.addClass('select2-dropdown--below'); - $container.addClass('select2-container--below'); - }; - - return AttachContainer; -}); - -S2.define('select2/dropdown/stopPropagation',[ - -], function () { - function StopPropagation () { } - - StopPropagation.prototype.bind = function (decorated, container, $container) { - decorated.call(this, container, $container); - - var stoppedEvents = [ - 'blur', - 'change', - 'click', - 'dblclick', - 'focus', - 'focusin', - 'focusout', - 'input', - 'keydown', - 'keyup', - 'keypress', - 'mousedown', - 'mouseenter', - 'mouseleave', - 'mousemove', - 'mouseover', - 'mouseup', - 'search', - 'touchend', - 'touchstart' - ]; - - this.$dropdown.on(stoppedEvents.join(' '), function (evt) { - evt.stopPropagation(); - }); - }; - - return StopPropagation; -}); - -S2.define('select2/selection/stopPropagation',[ - -], function () { - function StopPropagation () { } - - StopPropagation.prototype.bind = function (decorated, container, $container) { - decorated.call(this, container, $container); - - var stoppedEvents = [ - 'blur', - 'change', - 'click', - 'dblclick', - 'focus', - 'focusin', - 'focusout', - 'input', - 'keydown', - 'keyup', - 'keypress', - 'mousedown', - 'mouseenter', - 'mouseleave', - 'mousemove', - 'mouseover', - 'mouseup', - 'search', - 'touchend', - 'touchstart' - ]; - - this.$selection.on(stoppedEvents.join(' '), function (evt) { - evt.stopPropagation(); - }); - }; - - return StopPropagation; -}); - -/*! - * jQuery Mousewheel 3.1.13 - * - * Copyright jQuery Foundation and other contributors - * Released under the MIT license - * http://jquery.org/license - */ - -(function (factory) { - if ( typeof S2.define === 'function' && S2.define.amd ) { - // AMD. Register as an anonymous module. - S2.define('jquery-mousewheel',['jquery'], factory); - } else if (typeof exports === 'object') { - // Node/CommonJS style for Browserify - module.exports = factory; - } else { - // Browser globals - factory(jQuery); - } -}(function ($) { - - var toFix = ['wheel', 'mousewheel', 'DOMMouseScroll', 'MozMousePixelScroll'], - toBind = ( 'onwheel' in document || document.documentMode >= 9 ) ? - ['wheel'] : ['mousewheel', 'DomMouseScroll', 'MozMousePixelScroll'], - slice = Array.prototype.slice, - nullLowestDeltaTimeout, lowestDelta; - - if ( $.event.fixHooks ) { - for ( var i = toFix.length; i; ) { - $.event.fixHooks[ toFix[--i] ] = $.event.mouseHooks; - } - } - - var special = $.event.special.mousewheel = { - version: '3.1.12', - - setup: function() { - if ( this.addEventListener ) { - for ( var i = toBind.length; i; ) { - this.addEventListener( toBind[--i], handler, false ); - } - } else { - this.onmousewheel = handler; - } - // Store the line height and page height for this particular element - $.data(this, 'mousewheel-line-height', special.getLineHeight(this)); - $.data(this, 'mousewheel-page-height', special.getPageHeight(this)); - }, - - teardown: function() { - if ( this.removeEventListener ) { - for ( var i = toBind.length; i; ) { - this.removeEventListener( toBind[--i], handler, false ); - } - } else { - this.onmousewheel = null; - } - // Clean up the data we added to the element - $.removeData(this, 'mousewheel-line-height'); - $.removeData(this, 'mousewheel-page-height'); - }, - - getLineHeight: function(elem) { - var $elem = $(elem), - $parent = $elem['offsetParent' in $.fn ? 'offsetParent' : 'parent'](); - if (!$parent.length) { - $parent = $('body'); - } - return parseInt($parent.css('fontSize'), 10) || parseInt($elem.css('fontSize'), 10) || 16; - }, - - getPageHeight: function(elem) { - return $(elem).height(); - }, - - settings: { - adjustOldDeltas: true, // see shouldAdjustOldDeltas() below - normalizeOffset: true // calls getBoundingClientRect for each event - } - }; - - $.fn.extend({ - mousewheel: function(fn) { - return fn ? this.bind('mousewheel', fn) : this.trigger('mousewheel'); - }, - - unmousewheel: function(fn) { - return this.unbind('mousewheel', fn); - } - }); - - - function handler(event) { - var orgEvent = event || window.event, - args = slice.call(arguments, 1), - delta = 0, - deltaX = 0, - deltaY = 0, - absDelta = 0, - offsetX = 0, - offsetY = 0; - event = $.event.fix(orgEvent); - event.type = 'mousewheel'; - - // Old school scrollwheel delta - if ( 'detail' in orgEvent ) { deltaY = orgEvent.detail * -1; } - if ( 'wheelDelta' in orgEvent ) { deltaY = orgEvent.wheelDelta; } - if ( 'wheelDeltaY' in orgEvent ) { deltaY = orgEvent.wheelDeltaY; } - if ( 'wheelDeltaX' in orgEvent ) { deltaX = orgEvent.wheelDeltaX * -1; } - - // Firefox < 17 horizontal scrolling related to DOMMouseScroll event - if ( 'axis' in orgEvent && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) { - deltaX = deltaY * -1; - deltaY = 0; - } - - // Set delta to be deltaY or deltaX if deltaY is 0 for backwards compatabilitiy - delta = deltaY === 0 ? deltaX : deltaY; - - // New school wheel delta (wheel event) - if ( 'deltaY' in orgEvent ) { - deltaY = orgEvent.deltaY * -1; - delta = deltaY; - } - if ( 'deltaX' in orgEvent ) { - deltaX = orgEvent.deltaX; - if ( deltaY === 0 ) { delta = deltaX * -1; } - } - - // No change actually happened, no reason to go any further - if ( deltaY === 0 && deltaX === 0 ) { return; } - - // Need to convert lines and pages to pixels if we aren't already in pixels - // There are three delta modes: - // * deltaMode 0 is by pixels, nothing to do - // * deltaMode 1 is by lines - // * deltaMode 2 is by pages - if ( orgEvent.deltaMode === 1 ) { - var lineHeight = $.data(this, 'mousewheel-line-height'); - delta *= lineHeight; - deltaY *= lineHeight; - deltaX *= lineHeight; - } else if ( orgEvent.deltaMode === 2 ) { - var pageHeight = $.data(this, 'mousewheel-page-height'); - delta *= pageHeight; - deltaY *= pageHeight; - deltaX *= pageHeight; - } - - // Store lowest absolute delta to normalize the delta values - absDelta = Math.max( Math.abs(deltaY), Math.abs(deltaX) ); - - if ( !lowestDelta || absDelta < lowestDelta ) { - lowestDelta = absDelta; - - // Adjust older deltas if necessary - if ( shouldAdjustOldDeltas(orgEvent, absDelta) ) { - lowestDelta /= 40; - } - } - - // Adjust older deltas if necessary - if ( shouldAdjustOldDeltas(orgEvent, absDelta) ) { - // Divide all the things by 40! - delta /= 40; - deltaX /= 40; - deltaY /= 40; - } - - // Get a whole, normalized value for the deltas - delta = Math[ delta >= 1 ? 'floor' : 'ceil' ](delta / lowestDelta); - deltaX = Math[ deltaX >= 1 ? 'floor' : 'ceil' ](deltaX / lowestDelta); - deltaY = Math[ deltaY >= 1 ? 'floor' : 'ceil' ](deltaY / lowestDelta); - - // Normalise offsetX and offsetY properties - if ( special.settings.normalizeOffset && this.getBoundingClientRect ) { - var boundingRect = this.getBoundingClientRect(); - offsetX = event.clientX - boundingRect.left; - offsetY = event.clientY - boundingRect.top; - } - - // Add information to the event object - event.deltaX = deltaX; - event.deltaY = deltaY; - event.deltaFactor = lowestDelta; - event.offsetX = offsetX; - event.offsetY = offsetY; - // Go ahead and set deltaMode to 0 since we converted to pixels - // Although this is a little odd since we overwrite the deltaX/Y - // properties with normalized deltas. - event.deltaMode = 0; - - // Add event and delta to the front of the arguments - args.unshift(event, delta, deltaX, deltaY); - - // Clearout lowestDelta after sometime to better - // handle multiple device types that give different - // a different lowestDelta - // Ex: trackpad = 3 and mouse wheel = 120 - if (nullLowestDeltaTimeout) { clearTimeout(nullLowestDeltaTimeout); } - nullLowestDeltaTimeout = setTimeout(nullLowestDelta, 200); - - return ($.event.dispatch || $.event.handle).apply(this, args); - } - - function nullLowestDelta() { - lowestDelta = null; - } - - function shouldAdjustOldDeltas(orgEvent, absDelta) { - // If this is an older event and the delta is divisable by 120, - // then we are assuming that the browser is treating this as an - // older mouse wheel event and that we should divide the deltas - // by 40 to try and get a more usable deltaFactor. - // Side note, this actually impacts the reported scroll distance - // in older browsers and can cause scrolling to be slower than native. - // Turn this off by setting $.event.special.mousewheel.settings.adjustOldDeltas to false. - return special.settings.adjustOldDeltas && orgEvent.type === 'mousewheel' && absDelta % 120 === 0; - } - -})); - -S2.define('jquery.select2',[ - 'jquery', - 'jquery-mousewheel', - - './select2/core', - './select2/defaults', - './select2/utils' -], function ($, _, Select2, Defaults, Utils) { - if ($.fn.select2 == null) { - // All methods that should return the element - var thisMethods = ['open', 'close', 'destroy']; - - $.fn.select2 = function (options) { - options = options || {}; - - if (typeof options === 'object') { - this.each(function () { - var instanceOptions = $.extend(true, {}, options); - - var instance = new Select2($(this), instanceOptions); - }); - - return this; - } else if (typeof options === 'string') { - var ret; - var args = Array.prototype.slice.call(arguments, 1); - - this.each(function () { - var instance = Utils.GetData(this, 'select2'); - - if (instance == null && window.console && console.error) { - console.error( - 'The select2(\'' + options + '\') method was called on an ' + - 'element that is not using Select2.' - ); - } - - ret = instance[options].apply(instance, args); - }); - - // Check if we should be returning `this` - if ($.inArray(options, thisMethods) > -1) { - return this; - } - - return ret; - } else { - throw new Error('Invalid arguments for Select2: ' + options); - } - }; - } - - if ($.fn.select2.defaults == null) { - $.fn.select2.defaults = Defaults; - } - - return Select2; -}); - - // Return the AMD loader configuration so it can be used outside of this file - return { - define: S2.define, - require: S2.require - }; -}()); - - // Autoload the jQuery bindings - // We know that all of the modules exist above this, so we're safe - var select2 = S2.require('jquery.select2'); - - // Hold the AMD module references on the jQuery function that was just loaded - // This allows Select2 to use the internal loader outside of this file, such - // as in the language files. - jQuery.fn.select2.amd = S2; - - // Return the Select2 instance for anyone who is importing it. - return select2; -})); diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/select2.full.min.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/select2.full.min.js deleted file mode 100644 index fa781916..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/select2/select2.full.min.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ -!function(n){"function"==typeof define&&define.amd?define(["jquery"],n):"object"==typeof module&&module.exports?module.exports=function(e,t){return void 0===t&&(t="undefined"!=typeof window?require("jquery"):require("jquery")(e)),n(t),t}:n(jQuery)}(function(d){var e=function(){if(d&&d.fn&&d.fn.select2&&d.fn.select2.amd)var e=d.fn.select2.amd;var t,n,i,h,o,s,f,g,m,v,y,_,r,a,w,l;function b(e,t){return r.call(e,t)}function c(e,t){var n,i,r,o,s,a,l,c,u,d,p,h=t&&t.split("/"),f=y.map,g=f&&f["*"]||{};if(e){for(s=(e=e.split("/")).length-1,y.nodeIdCompat&&w.test(e[s])&&(e[s]=e[s].replace(w,"")),"."===e[0].charAt(0)&&h&&(e=h.slice(0,h.length-1).concat(e)),u=0;u<e.length;u++)if("."===(p=e[u]))e.splice(u,1),u-=1;else if(".."===p){if(0===u||1===u&&".."===e[2]||".."===e[u-1])continue;0<u&&(e.splice(u-1,2),u-=2)}e=e.join("/")}if((h||g)&&f){for(u=(n=e.split("/")).length;0<u;u-=1){if(i=n.slice(0,u).join("/"),h)for(d=h.length;0<d;d-=1)if(r=(r=f[h.slice(0,d).join("/")])&&r[i]){o=r,a=u;break}if(o)break;!l&&g&&g[i]&&(l=g[i],c=u)}!o&&l&&(o=l,a=c),o&&(n.splice(0,a,o),e=n.join("/"))}return e}function A(t,n){return function(){var e=a.call(arguments,0);return"string"!=typeof e[0]&&1===e.length&&e.push(null),s.apply(h,e.concat([t,n]))}}function x(t){return function(e){m[t]=e}}function D(e){if(b(v,e)){var t=v[e];delete v[e],_[e]=!0,o.apply(h,t)}if(!b(m,e)&&!b(_,e))throw new Error("No "+e);return m[e]}function u(e){var t,n=e?e.indexOf("!"):-1;return-1<n&&(t=e.substring(0,n),e=e.substring(n+1,e.length)),[t,e]}function S(e){return e?u(e):[]}return e&&e.requirejs||(e?n=e:e={},m={},v={},y={},_={},r=Object.prototype.hasOwnProperty,a=[].slice,w=/\.js$/,f=function(e,t){var n,i=u(e),r=i[0],o=t[1];return e=i[1],r&&(n=D(r=c(r,o))),r?e=n&&n.normalize?n.normalize(e,function(t){return function(e){return c(e,t)}}(o)):c(e,o):(r=(i=u(e=c(e,o)))[0],e=i[1],r&&(n=D(r))),{f:r?r+"!"+e:e,n:e,pr:r,p:n}},g={require:function(e){return A(e)},exports:function(e){var t=m[e];return void 0!==t?t:m[e]={}},module:function(e){return{id:e,uri:"",exports:m[e],config:function(e){return function(){return y&&y.config&&y.config[e]||{}}}(e)}}},o=function(e,t,n,i){var r,o,s,a,l,c,u,d=[],p=typeof n;if(c=S(i=i||e),"undefined"==p||"function"==p){for(t=!t.length&&n.length?["require","exports","module"]:t,l=0;l<t.length;l+=1)if("require"===(o=(a=f(t[l],c)).f))d[l]=g.require(e);else if("exports"===o)d[l]=g.exports(e),u=!0;else if("module"===o)r=d[l]=g.module(e);else if(b(m,o)||b(v,o)||b(_,o))d[l]=D(o);else{if(!a.p)throw new Error(e+" missing "+o);a.p.load(a.n,A(i,!0),x(o),{}),d[l]=m[o]}s=n?n.apply(m[e],d):void 0,e&&(r&&r.exports!==h&&r.exports!==m[e]?m[e]=r.exports:s===h&&u||(m[e]=s))}else e&&(m[e]=n)},t=n=s=function(e,t,n,i,r){if("string"==typeof e)return g[e]?g[e](t):D(f(e,S(t)).f);if(!e.splice){if((y=e).deps&&s(y.deps,y.callback),!t)return;t.splice?(e=t,t=n,n=null):e=h}return t=t||function(){},"function"==typeof n&&(n=i,i=r),i?o(h,e,t,n):setTimeout(function(){o(h,e,t,n)},4),s},s.config=function(e){return s(e)},t._defined=m,(i=function(e,t,n){if("string"!=typeof e)throw new Error("See almond README: incorrect module build, no module name");t.splice||(n=t,t=[]),b(m,e)||b(v,e)||(v[e]=[e,t,n])}).amd={jQuery:!0},e.requirejs=t,e.require=n,e.define=i),e.define("almond",function(){}),e.define("jquery",[],function(){var e=d||$;return null==e&&console&&console.error&&console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."),e}),e.define("select2/utils",["jquery"],function(o){var r={};function u(e){var t=e.prototype,n=[];for(var i in t){"function"==typeof t[i]&&"constructor"!==i&&n.push(i)}return n}r.Extend=function(e,t){var n={}.hasOwnProperty;function i(){this.constructor=e}for(var r in t)n.call(t,r)&&(e[r]=t[r]);return i.prototype=t.prototype,e.prototype=new i,e.__super__=t.prototype,e},r.Decorate=function(i,r){var e=u(r),t=u(i);function o(){var e=Array.prototype.unshift,t=r.prototype.constructor.length,n=i.prototype.constructor;0<t&&(e.call(arguments,i.prototype.constructor),n=r.prototype.constructor),n.apply(this,arguments)}r.displayName=i.displayName,o.prototype=new function(){this.constructor=o};for(var n=0;n<t.length;n++){var s=t[n];o.prototype[s]=i.prototype[s]}function a(e){var t=function(){};e in o.prototype&&(t=o.prototype[e]);var n=r.prototype[e];return function(){return Array.prototype.unshift.call(arguments,t),n.apply(this,arguments)}}for(var l=0;l<e.length;l++){var c=e[l];o.prototype[c]=a(c)}return o};function e(){this.listeners={}}e.prototype.on=function(e,t){this.listeners=this.listeners||{},e in this.listeners?this.listeners[e].push(t):this.listeners[e]=[t]},e.prototype.trigger=function(e){var t=Array.prototype.slice,n=t.call(arguments,1);this.listeners=this.listeners||{},null==n&&(n=[]),0===n.length&&n.push({}),(n[0]._type=e)in this.listeners&&this.invoke(this.listeners[e],t.call(arguments,1)),"*"in this.listeners&&this.invoke(this.listeners["*"],arguments)},e.prototype.invoke=function(e,t){for(var n=0,i=e.length;n<i;n++)e[n].apply(this,t)},r.Observable=e,r.generateChars=function(e){for(var t="",n=0;n<e;n++){t+=Math.floor(36*Math.random()).toString(36)}return t},r.bind=function(e,t){return function(){e.apply(t,arguments)}},r._convertData=function(e){for(var t in e){var n=t.split("-"),i=e;if(1!==n.length){for(var r=0;r<n.length;r++){var o=n[r];(o=o.substring(0,1).toLowerCase()+o.substring(1))in i||(i[o]={}),r==n.length-1&&(i[o]=e[t]),i=i[o]}delete e[t]}}return e},r.hasScroll=function(e,t){var n=o(t),i=t.style.overflowX,r=t.style.overflowY;return(i!==r||"hidden"!==r&&"visible"!==r)&&("scroll"===i||"scroll"===r||(n.innerHeight()<t.scrollHeight||n.innerWidth()<t.scrollWidth))},r.escapeMarkup=function(e){var t={"\\":"\","&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};return"string"!=typeof e?e:String(e).replace(/[&<>"'\/\\]/g,function(e){return t[e]})},r.appendMany=function(e,t){if("1.7"===o.fn.jquery.substr(0,3)){var n=o();o.map(t,function(e){n=n.add(e)}),t=n}e.append(t)},r.__cache={};var n=0;return r.GetUniqueElementId=function(e){var t=e.getAttribute("data-select2-id");return null==t&&(e.id?(t=e.id,e.setAttribute("data-select2-id",t)):(e.setAttribute("data-select2-id",++n),t=n.toString())),t},r.StoreData=function(e,t,n){var i=r.GetUniqueElementId(e);r.__cache[i]||(r.__cache[i]={}),r.__cache[i][t]=n},r.GetData=function(e,t){var n=r.GetUniqueElementId(e);return t?r.__cache[n]&&null!=r.__cache[n][t]?r.__cache[n][t]:o(e).data(t):r.__cache[n]},r.RemoveData=function(e){var t=r.GetUniqueElementId(e);null!=r.__cache[t]&&delete r.__cache[t],e.removeAttribute("data-select2-id")},r}),e.define("select2/results",["jquery","./utils"],function(h,f){function i(e,t,n){this.$element=e,this.data=n,this.options=t,i.__super__.constructor.call(this)}return f.Extend(i,f.Observable),i.prototype.render=function(){var e=h('<ul class="select2-results__options" role="listbox"></ul>');return this.options.get("multiple")&&e.attr("aria-multiselectable","true"),this.$results=e},i.prototype.clear=function(){this.$results.empty()},i.prototype.displayMessage=function(e){var t=this.options.get("escapeMarkup");this.clear(),this.hideLoading();var n=h('<li role="alert" aria-live="assertive" class="select2-results__option"></li>'),i=this.options.get("translations").get(e.message);n.append(t(i(e.args))),n[0].className+=" select2-results__message",this.$results.append(n)},i.prototype.hideMessages=function(){this.$results.find(".select2-results__message").remove()},i.prototype.append=function(e){this.hideLoading();var t=[];if(null!=e.results&&0!==e.results.length){e.results=this.sort(e.results);for(var n=0;n<e.results.length;n++){var i=e.results[n],r=this.option(i);t.push(r)}this.$results.append(t)}else 0===this.$results.children().length&&this.trigger("results:message",{message:"noResults"})},i.prototype.position=function(e,t){t.find(".select2-results").append(e)},i.prototype.sort=function(e){return this.options.get("sorter")(e)},i.prototype.highlightFirstItem=function(){var e=this.$results.find(".select2-results__option[aria-selected]"),t=e.filter("[aria-selected=true]");0<t.length?t.first().trigger("mouseenter"):e.first().trigger("mouseenter"),this.ensureHighlightVisible()},i.prototype.setClasses=function(){var t=this;this.data.current(function(e){var i=h.map(e,function(e){return e.id.toString()});t.$results.find(".select2-results__option[aria-selected]").each(function(){var e=h(this),t=f.GetData(this,"data"),n=""+t.id;null!=t.element&&t.element.selected||null==t.element&&-1<h.inArray(n,i)?e.attr("aria-selected","true"):e.attr("aria-selected","false")})})},i.prototype.showLoading=function(e){this.hideLoading();var t={disabled:!0,loading:!0,text:this.options.get("translations").get("searching")(e)},n=this.option(t);n.className+=" loading-results",this.$results.prepend(n)},i.prototype.hideLoading=function(){this.$results.find(".loading-results").remove()},i.prototype.option=function(e){var t=document.createElement("li");t.className="select2-results__option";var n={role:"option","aria-selected":"false"},i=window.Element.prototype.matches||window.Element.prototype.msMatchesSelector||window.Element.prototype.webkitMatchesSelector;for(var r in(null!=e.element&&i.call(e.element,":disabled")||null==e.element&&e.disabled)&&(delete n["aria-selected"],n["aria-disabled"]="true"),null==e.id&&delete n["aria-selected"],null!=e._resultId&&(t.id=e._resultId),e.title&&(t.title=e.title),e.children&&(n.role="group",n["aria-label"]=e.text,delete n["aria-selected"]),n){var o=n[r];t.setAttribute(r,o)}if(e.children){var s=h(t),a=document.createElement("strong");a.className="select2-results__group";h(a);this.template(e,a);for(var l=[],c=0;c<e.children.length;c++){var u=e.children[c],d=this.option(u);l.push(d)}var p=h("<ul></ul>",{class:"select2-results__options select2-results__options--nested"});p.append(l),s.append(a),s.append(p)}else this.template(e,t);return f.StoreData(t,"data",e),t},i.prototype.bind=function(t,e){var l=this,n=t.id+"-results";this.$results.attr("id",n),t.on("results:all",function(e){l.clear(),l.append(e.data),t.isOpen()&&(l.setClasses(),l.highlightFirstItem())}),t.on("results:append",function(e){l.append(e.data),t.isOpen()&&l.setClasses()}),t.on("query",function(e){l.hideMessages(),l.showLoading(e)}),t.on("select",function(){t.isOpen()&&(l.setClasses(),l.options.get("scrollAfterSelect")&&l.highlightFirstItem())}),t.on("unselect",function(){t.isOpen()&&(l.setClasses(),l.options.get("scrollAfterSelect")&&l.highlightFirstItem())}),t.on("open",function(){l.$results.attr("aria-expanded","true"),l.$results.attr("aria-hidden","false"),l.setClasses(),l.ensureHighlightVisible()}),t.on("close",function(){l.$results.attr("aria-expanded","false"),l.$results.attr("aria-hidden","true"),l.$results.removeAttr("aria-activedescendant")}),t.on("results:toggle",function(){var e=l.getHighlightedResults();0!==e.length&&e.trigger("mouseup")}),t.on("results:select",function(){var e=l.getHighlightedResults();if(0!==e.length){var t=f.GetData(e[0],"data");"true"==e.attr("aria-selected")?l.trigger("close",{}):l.trigger("select",{data:t})}}),t.on("results:previous",function(){var e=l.getHighlightedResults(),t=l.$results.find("[aria-selected]"),n=t.index(e);if(!(n<=0)){var i=n-1;0===e.length&&(i=0);var r=t.eq(i);r.trigger("mouseenter");var o=l.$results.offset().top,s=r.offset().top,a=l.$results.scrollTop()+(s-o);0===i?l.$results.scrollTop(0):s-o<0&&l.$results.scrollTop(a)}}),t.on("results:next",function(){var e=l.getHighlightedResults(),t=l.$results.find("[aria-selected]"),n=t.index(e)+1;if(!(n>=t.length)){var i=t.eq(n);i.trigger("mouseenter");var r=l.$results.offset().top+l.$results.outerHeight(!1),o=i.offset().top+i.outerHeight(!1),s=l.$results.scrollTop()+o-r;0===n?l.$results.scrollTop(0):r<o&&l.$results.scrollTop(s)}}),t.on("results:focus",function(e){e.element.addClass("select2-results__option--highlighted")}),t.on("results:message",function(e){l.displayMessage(e)}),h.fn.mousewheel&&this.$results.on("mousewheel",function(e){var t=l.$results.scrollTop(),n=l.$results.get(0).scrollHeight-t+e.deltaY,i=0<e.deltaY&&t-e.deltaY<=0,r=e.deltaY<0&&n<=l.$results.height();i?(l.$results.scrollTop(0),e.preventDefault(),e.stopPropagation()):r&&(l.$results.scrollTop(l.$results.get(0).scrollHeight-l.$results.height()),e.preventDefault(),e.stopPropagation())}),this.$results.on("mouseup",".select2-results__option[aria-selected]",function(e){var t=h(this),n=f.GetData(this,"data");"true"!==t.attr("aria-selected")?l.trigger("select",{originalEvent:e,data:n}):l.options.get("multiple")?l.trigger("unselect",{originalEvent:e,data:n}):l.trigger("close",{})}),this.$results.on("mouseenter",".select2-results__option[aria-selected]",function(e){var t=f.GetData(this,"data");l.getHighlightedResults().removeClass("select2-results__option--highlighted"),l.trigger("results:focus",{data:t,element:h(this)})})},i.prototype.getHighlightedResults=function(){return this.$results.find(".select2-results__option--highlighted")},i.prototype.destroy=function(){this.$results.remove()},i.prototype.ensureHighlightVisible=function(){var e=this.getHighlightedResults();if(0!==e.length){var t=this.$results.find("[aria-selected]").index(e),n=this.$results.offset().top,i=e.offset().top,r=this.$results.scrollTop()+(i-n),o=i-n;r-=2*e.outerHeight(!1),t<=2?this.$results.scrollTop(0):(o>this.$results.outerHeight()||o<0)&&this.$results.scrollTop(r)}},i.prototype.template=function(e,t){var n=this.options.get("templateResult"),i=this.options.get("escapeMarkup"),r=n(e,t);null==r?t.style.display="none":"string"==typeof r?t.innerHTML=i(r):h(t).append(r)},i}),e.define("select2/keys",[],function(){return{BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46}}),e.define("select2/selection/base",["jquery","../utils","../keys"],function(n,i,r){function o(e,t){this.$element=e,this.options=t,o.__super__.constructor.call(this)}return i.Extend(o,i.Observable),o.prototype.render=function(){var e=n('<span class="select2-selection" role="combobox" aria-haspopup="true" aria-expanded="false"></span>');return this._tabindex=0,null!=i.GetData(this.$element[0],"old-tabindex")?this._tabindex=i.GetData(this.$element[0],"old-tabindex"):null!=this.$element.attr("tabindex")&&(this._tabindex=this.$element.attr("tabindex")),e.attr("title",this.$element.attr("title")),e.attr("tabindex",this._tabindex),e.attr("aria-disabled","false"),this.$selection=e},o.prototype.bind=function(e,t){var n=this,i=e.id+"-results";this.container=e,this.$selection.on("focus",function(e){n.trigger("focus",e)}),this.$selection.on("blur",function(e){n._handleBlur(e)}),this.$selection.on("keydown",function(e){n.trigger("keypress",e),e.which===r.SPACE&&e.preventDefault()}),e.on("results:focus",function(e){n.$selection.attr("aria-activedescendant",e.data._resultId)}),e.on("selection:update",function(e){n.update(e.data)}),e.on("open",function(){n.$selection.attr("aria-expanded","true"),n.$selection.attr("aria-owns",i),n._attachCloseHandler(e)}),e.on("close",function(){n.$selection.attr("aria-expanded","false"),n.$selection.removeAttr("aria-activedescendant"),n.$selection.removeAttr("aria-owns"),n.$selection.trigger("focus"),n._detachCloseHandler(e)}),e.on("enable",function(){n.$selection.attr("tabindex",n._tabindex),n.$selection.attr("aria-disabled","false")}),e.on("disable",function(){n.$selection.attr("tabindex","-1"),n.$selection.attr("aria-disabled","true")})},o.prototype._handleBlur=function(e){var t=this;window.setTimeout(function(){document.activeElement==t.$selection[0]||n.contains(t.$selection[0],document.activeElement)||t.trigger("blur",e)},1)},o.prototype._attachCloseHandler=function(e){n(document.body).on("mousedown.select2."+e.id,function(e){var t=n(e.target).closest(".select2");n(".select2.select2-container--open").each(function(){this!=t[0]&&i.GetData(this,"element").select2("close")})})},o.prototype._detachCloseHandler=function(e){n(document.body).off("mousedown.select2."+e.id)},o.prototype.position=function(e,t){t.find(".selection").append(e)},o.prototype.destroy=function(){this._detachCloseHandler(this.container)},o.prototype.update=function(e){throw new Error("The `update` method must be defined in child classes.")},o.prototype.isEnabled=function(){return!this.isDisabled()},o.prototype.isDisabled=function(){return this.options.get("disabled")},o}),e.define("select2/selection/single",["jquery","./base","../utils","../keys"],function(e,t,n,i){function r(){r.__super__.constructor.apply(this,arguments)}return n.Extend(r,t),r.prototype.render=function(){var e=r.__super__.render.call(this);return e.addClass("select2-selection--single"),e.html('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'),e},r.prototype.bind=function(t,e){var n=this;r.__super__.bind.apply(this,arguments);var i=t.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",i).attr("role","textbox").attr("aria-readonly","true"),this.$selection.attr("aria-labelledby",i),this.$selection.on("mousedown",function(e){1===e.which&&n.trigger("toggle",{originalEvent:e})}),this.$selection.on("focus",function(e){}),this.$selection.on("blur",function(e){}),t.on("focus",function(e){t.isOpen()||n.$selection.trigger("focus")})},r.prototype.clear=function(){var e=this.$selection.find(".select2-selection__rendered");e.empty(),e.removeAttr("title")},r.prototype.display=function(e,t){var n=this.options.get("templateSelection");return this.options.get("escapeMarkup")(n(e,t))},r.prototype.selectionContainer=function(){return e("<span></span>")},r.prototype.update=function(e){if(0!==e.length){var t=e[0],n=this.$selection.find(".select2-selection__rendered"),i=this.display(t,n);n.empty().append(i);var r=t.title||t.text;r?n.attr("title",r):n.removeAttr("title")}else this.clear()},r}),e.define("select2/selection/multiple",["jquery","./base","../utils"],function(r,e,l){function n(e,t){n.__super__.constructor.apply(this,arguments)}return l.Extend(n,e),n.prototype.render=function(){var e=n.__super__.render.call(this);return e.addClass("select2-selection--multiple"),e.html('<ul class="select2-selection__rendered"></ul>'),e},n.prototype.bind=function(e,t){var i=this;n.__super__.bind.apply(this,arguments),this.$selection.on("click",function(e){i.trigger("toggle",{originalEvent:e})}),this.$selection.on("click",".select2-selection__choice__remove",function(e){if(!i.isDisabled()){var t=r(this).parent(),n=l.GetData(t[0],"data");i.trigger("unselect",{originalEvent:e,data:n})}})},n.prototype.clear=function(){var e=this.$selection.find(".select2-selection__rendered");e.empty(),e.removeAttr("title")},n.prototype.display=function(e,t){var n=this.options.get("templateSelection");return this.options.get("escapeMarkup")(n(e,t))},n.prototype.selectionContainer=function(){return r('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation">×</span></li>')},n.prototype.update=function(e){if(this.clear(),0!==e.length){for(var t=[],n=0;n<e.length;n++){var i=e[n],r=this.selectionContainer(),o=this.display(i,r);r.append(o);var s=i.title||i.text;s&&r.attr("title",s),l.StoreData(r[0],"data",i),t.push(r)}var a=this.$selection.find(".select2-selection__rendered");l.appendMany(a,t)}},n}),e.define("select2/selection/placeholder",["../utils"],function(e){function t(e,t,n){this.placeholder=this.normalizePlaceholder(n.get("placeholder")),e.call(this,t,n)}return t.prototype.normalizePlaceholder=function(e,t){return"string"==typeof t&&(t={id:"",text:t}),t},t.prototype.createPlaceholder=function(e,t){var n=this.selectionContainer();return n.html(this.display(t)),n.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"),n},t.prototype.update=function(e,t){var n=1==t.length&&t[0].id!=this.placeholder.id;if(1<t.length||n)return e.call(this,t);this.clear();var i=this.createPlaceholder(this.placeholder);this.$selection.find(".select2-selection__rendered").append(i)},t}),e.define("select2/selection/allowClear",["jquery","../keys","../utils"],function(r,i,a){function e(){}return e.prototype.bind=function(e,t,n){var i=this;e.call(this,t,n),null==this.placeholder&&this.options.get("debug")&&window.console&&console.error&&console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),this.$selection.on("mousedown",".select2-selection__clear",function(e){i._handleClear(e)}),t.on("keypress",function(e){i._handleKeyboardClear(e,t)})},e.prototype._handleClear=function(e,t){if(!this.isDisabled()){var n=this.$selection.find(".select2-selection__clear");if(0!==n.length){t.stopPropagation();var i=a.GetData(n[0],"data"),r=this.$element.val();this.$element.val(this.placeholder.id);var o={data:i};if(this.trigger("clear",o),o.prevented)this.$element.val(r);else{for(var s=0;s<i.length;s++)if(o={data:i[s]},this.trigger("unselect",o),o.prevented)return void this.$element.val(r);this.$element.trigger("input").trigger("change"),this.trigger("toggle",{})}}}},e.prototype._handleKeyboardClear=function(e,t,n){n.isOpen()||t.which!=i.DELETE&&t.which!=i.BACKSPACE||this._handleClear(t)},e.prototype.update=function(e,t){if(e.call(this,t),!(0<this.$selection.find(".select2-selection__placeholder").length||0===t.length)){var n=this.options.get("translations").get("removeAllItems"),i=r('<span class="select2-selection__clear" title="'+n()+'">×</span>');a.StoreData(i[0],"data",t),this.$selection.find(".select2-selection__rendered").prepend(i)}},e}),e.define("select2/selection/search",["jquery","../utils","../keys"],function(i,a,l){function e(e,t,n){e.call(this,t,n)}return e.prototype.render=function(e){var t=i('<li class="select2-search select2-search--inline"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="searchbox" aria-autocomplete="list" /></li>');this.$searchContainer=t,this.$search=t.find("input");var n=e.call(this);return this._transferTabIndex(),n},e.prototype.bind=function(e,t,n){var i=this,r=t.id+"-results";e.call(this,t,n),t.on("open",function(){i.$search.attr("aria-controls",r),i.$search.trigger("focus")}),t.on("close",function(){i.$search.val(""),i.$search.removeAttr("aria-controls"),i.$search.removeAttr("aria-activedescendant"),i.$search.trigger("focus")}),t.on("enable",function(){i.$search.prop("disabled",!1),i._transferTabIndex()}),t.on("disable",function(){i.$search.prop("disabled",!0)}),t.on("focus",function(e){i.$search.trigger("focus")}),t.on("results:focus",function(e){e.data._resultId?i.$search.attr("aria-activedescendant",e.data._resultId):i.$search.removeAttr("aria-activedescendant")}),this.$selection.on("focusin",".select2-search--inline",function(e){i.trigger("focus",e)}),this.$selection.on("focusout",".select2-search--inline",function(e){i._handleBlur(e)}),this.$selection.on("keydown",".select2-search--inline",function(e){if(e.stopPropagation(),i.trigger("keypress",e),i._keyUpPrevented=e.isDefaultPrevented(),e.which===l.BACKSPACE&&""===i.$search.val()){var t=i.$searchContainer.prev(".select2-selection__choice");if(0<t.length){var n=a.GetData(t[0],"data");i.searchRemoveChoice(n),e.preventDefault()}}}),this.$selection.on("click",".select2-search--inline",function(e){i.$search.val()&&e.stopPropagation()});var o=document.documentMode,s=o&&o<=11;this.$selection.on("input.searchcheck",".select2-search--inline",function(e){s?i.$selection.off("input.search input.searchcheck"):i.$selection.off("keyup.search")}),this.$selection.on("keyup.search input.search",".select2-search--inline",function(e){if(s&&"input"===e.type)i.$selection.off("input.search input.searchcheck");else{var t=e.which;t!=l.SHIFT&&t!=l.CTRL&&t!=l.ALT&&t!=l.TAB&&i.handleSearch(e)}})},e.prototype._transferTabIndex=function(e){this.$search.attr("tabindex",this.$selection.attr("tabindex")),this.$selection.attr("tabindex","-1")},e.prototype.createPlaceholder=function(e,t){this.$search.attr("placeholder",t.text)},e.prototype.update=function(e,t){var n=this.$search[0]==document.activeElement;this.$search.attr("placeholder",""),e.call(this,t),this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),this.resizeSearch(),n&&this.$search.trigger("focus")},e.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var e=this.$search.val();this.trigger("query",{term:e})}this._keyUpPrevented=!1},e.prototype.searchRemoveChoice=function(e,t){this.trigger("unselect",{data:t}),this.$search.val(t.text),this.handleSearch()},e.prototype.resizeSearch=function(){this.$search.css("width","25px");var e="";""!==this.$search.attr("placeholder")?e=this.$selection.find(".select2-selection__rendered").width():e=.75*(this.$search.val().length+1)+"em";this.$search.css("width",e)},e}),e.define("select2/selection/eventRelay",["jquery"],function(s){function e(){}return e.prototype.bind=function(e,t,n){var i=this,r=["open","opening","close","closing","select","selecting","unselect","unselecting","clear","clearing"],o=["opening","closing","selecting","unselecting","clearing"];e.call(this,t,n),t.on("*",function(e,t){if(-1!==s.inArray(e,r)){t=t||{};var n=s.Event("select2:"+e,{params:t});i.$element.trigger(n),-1!==s.inArray(e,o)&&(t.prevented=n.isDefaultPrevented())}})},e}),e.define("select2/translation",["jquery","require"],function(t,n){function i(e){this.dict=e||{}}return i.prototype.all=function(){return this.dict},i.prototype.get=function(e){return this.dict[e]},i.prototype.extend=function(e){this.dict=t.extend({},e.all(),this.dict)},i._cache={},i.loadPath=function(e){if(!(e in i._cache)){var t=n(e);i._cache[e]=t}return new i(i._cache[e])},i}),e.define("select2/diacritics",[],function(){return{"Ⓐ":"A","A":"A","À":"A","Á":"A","Â":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ã":"A","Ā":"A","Ă":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ǡ":"A","Ä":"A","Ǟ":"A","Ả":"A","Å":"A","Ǻ":"A","Ǎ":"A","Ȁ":"A","Ȃ":"A","Ạ":"A","Ậ":"A","Ặ":"A","Ḁ":"A","Ą":"A","Ⱥ":"A","Ɐ":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ⓑ":"B","B":"B","Ḃ":"B","Ḅ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ɓ":"B","Ⓒ":"C","C":"C","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","Ç":"C","Ḉ":"C","Ƈ":"C","Ȼ":"C","Ꜿ":"C","Ⓓ":"D","D":"D","Ḋ":"D","Ď":"D","Ḍ":"D","Ḑ":"D","Ḓ":"D","Ḏ":"D","Đ":"D","Ƌ":"D","Ɗ":"D","Ɖ":"D","Ꝺ":"D","DZ":"DZ","DŽ":"DZ","Dz":"Dz","Dž":"Dz","Ⓔ":"E","E":"E","È":"E","É":"E","Ê":"E","Ề":"E","Ế":"E","Ễ":"E","Ể":"E","Ẽ":"E","Ē":"E","Ḕ":"E","Ḗ":"E","Ĕ":"E","Ė":"E","Ë":"E","Ẻ":"E","Ě":"E","Ȅ":"E","Ȇ":"E","Ẹ":"E","Ệ":"E","Ȩ":"E","Ḝ":"E","Ę":"E","Ḙ":"E","Ḛ":"E","Ɛ":"E","Ǝ":"E","Ⓕ":"F","F":"F","Ḟ":"F","Ƒ":"F","Ꝼ":"F","Ⓖ":"G","G":"G","Ǵ":"G","Ĝ":"G","Ḡ":"G","Ğ":"G","Ġ":"G","Ǧ":"G","Ģ":"G","Ǥ":"G","Ɠ":"G","Ꞡ":"G","Ᵹ":"G","Ꝿ":"G","Ⓗ":"H","H":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","Ȟ":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","Ⱨ":"H","Ⱶ":"H","Ɥ":"H","Ⓘ":"I","I":"I","Ì":"I","Í":"I","Î":"I","Ĩ":"I","Ī":"I","Ĭ":"I","İ":"I","Ï":"I","Ḯ":"I","Ỉ":"I","Ǐ":"I","Ȉ":"I","Ȋ":"I","Ị":"I","Į":"I","Ḭ":"I","Ɨ":"I","Ⓙ":"J","J":"J","Ĵ":"J","Ɉ":"J","Ⓚ":"K","K":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Ƙ":"K","Ⱪ":"K","Ꝁ":"K","Ꝃ":"K","Ꝅ":"K","Ꞣ":"K","Ⓛ":"L","L":"L","Ŀ":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ļ":"L","Ḽ":"L","Ḻ":"L","Ł":"L","Ƚ":"L","Ɫ":"L","Ⱡ":"L","Ꝉ":"L","Ꝇ":"L","Ꞁ":"L","LJ":"LJ","Lj":"Lj","Ⓜ":"M","M":"M","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ɯ":"M","Ⓝ":"N","N":"N","Ǹ":"N","Ń":"N","Ñ":"N","Ṅ":"N","Ň":"N","Ṇ":"N","Ņ":"N","Ṋ":"N","Ṉ":"N","Ƞ":"N","Ɲ":"N","Ꞑ":"N","Ꞥ":"N","NJ":"NJ","Nj":"Nj","Ⓞ":"O","O":"O","Ò":"O","Ó":"O","Ô":"O","Ồ":"O","Ố":"O","Ỗ":"O","Ổ":"O","Õ":"O","Ṍ":"O","Ȭ":"O","Ṏ":"O","Ō":"O","Ṑ":"O","Ṓ":"O","Ŏ":"O","Ȯ":"O","Ȱ":"O","Ö":"O","Ȫ":"O","Ỏ":"O","Ő":"O","Ǒ":"O","Ȍ":"O","Ȏ":"O","Ơ":"O","Ờ":"O","Ớ":"O","Ỡ":"O","Ở":"O","Ợ":"O","Ọ":"O","Ộ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Ɔ":"O","Ɵ":"O","Ꝋ":"O","Ꝍ":"O","Œ":"OE","Ƣ":"OI","Ꝏ":"OO","Ȣ":"OU","Ⓟ":"P","P":"P","Ṕ":"P","Ṗ":"P","Ƥ":"P","Ᵽ":"P","Ꝑ":"P","Ꝓ":"P","Ꝕ":"P","Ⓠ":"Q","Q":"Q","Ꝗ":"Q","Ꝙ":"Q","Ɋ":"Q","Ⓡ":"R","R":"R","Ŕ":"R","Ṙ":"R","Ř":"R","Ȑ":"R","Ȓ":"R","Ṛ":"R","Ṝ":"R","Ŗ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꝛ":"R","Ꞧ":"R","Ꞃ":"R","Ⓢ":"S","S":"S","ẞ":"S","Ś":"S","Ṥ":"S","Ŝ":"S","Ṡ":"S","Š":"S","Ṧ":"S","Ṣ":"S","Ṩ":"S","Ș":"S","Ş":"S","Ȿ":"S","Ꞩ":"S","Ꞅ":"S","Ⓣ":"T","T":"T","Ṫ":"T","Ť":"T","Ṭ":"T","Ț":"T","Ţ":"T","Ṱ":"T","Ṯ":"T","Ŧ":"T","Ƭ":"T","Ʈ":"T","Ⱦ":"T","Ꞇ":"T","Ꜩ":"TZ","Ⓤ":"U","U":"U","Ù":"U","Ú":"U","Û":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ü":"U","Ǜ":"U","Ǘ":"U","Ǖ":"U","Ǚ":"U","Ủ":"U","Ů":"U","Ű":"U","Ǔ":"U","Ȕ":"U","Ȗ":"U","Ư":"U","Ừ":"U","Ứ":"U","Ữ":"U","Ử":"U","Ự":"U","Ụ":"U","Ṳ":"U","Ų":"U","Ṷ":"U","Ṵ":"U","Ʉ":"U","Ⓥ":"V","V":"V","Ṽ":"V","Ṿ":"V","Ʋ":"V","Ꝟ":"V","Ʌ":"V","Ꝡ":"VY","Ⓦ":"W","W":"W","Ẁ":"W","Ẃ":"W","Ŵ":"W","Ẇ":"W","Ẅ":"W","Ẉ":"W","Ⱳ":"W","Ⓧ":"X","X":"X","Ẋ":"X","Ẍ":"X","Ⓨ":"Y","Y":"Y","Ỳ":"Y","Ý":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","Ẏ":"Y","Ÿ":"Y","Ỷ":"Y","Ỵ":"Y","Ƴ":"Y","Ɏ":"Y","Ỿ":"Y","Ⓩ":"Z","Z":"Z","Ź":"Z","Ẑ":"Z","Ż":"Z","Ž":"Z","Ẓ":"Z","Ẕ":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","Ꝣ":"Z","ⓐ":"a","a":"a","ẚ":"a","à":"a","á":"a","â":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","ã":"a","ā":"a","ă":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","ǡ":"a","ä":"a","ǟ":"a","ả":"a","å":"a","ǻ":"a","ǎ":"a","ȁ":"a","ȃ":"a","ạ":"a","ậ":"a","ặ":"a","ḁ":"a","ą":"a","ⱥ":"a","ɐ":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ⓑ":"b","b":"b","ḃ":"b","ḅ":"b","ḇ":"b","ƀ":"b","ƃ":"b","ɓ":"b","ⓒ":"c","c":"c","ć":"c","ĉ":"c","ċ":"c","č":"c","ç":"c","ḉ":"c","ƈ":"c","ȼ":"c","ꜿ":"c","ↄ":"c","ⓓ":"d","d":"d","ḋ":"d","ď":"d","ḍ":"d","ḑ":"d","ḓ":"d","ḏ":"d","đ":"d","ƌ":"d","ɖ":"d","ɗ":"d","ꝺ":"d","dz":"dz","dž":"dz","ⓔ":"e","e":"e","è":"e","é":"e","ê":"e","ề":"e","ế":"e","ễ":"e","ể":"e","ẽ":"e","ē":"e","ḕ":"e","ḗ":"e","ĕ":"e","ė":"e","ë":"e","ẻ":"e","ě":"e","ȅ":"e","ȇ":"e","ẹ":"e","ệ":"e","ȩ":"e","ḝ":"e","ę":"e","ḙ":"e","ḛ":"e","ɇ":"e","ɛ":"e","ǝ":"e","ⓕ":"f","f":"f","ḟ":"f","ƒ":"f","ꝼ":"f","ⓖ":"g","g":"g","ǵ":"g","ĝ":"g","ḡ":"g","ğ":"g","ġ":"g","ǧ":"g","ģ":"g","ǥ":"g","ɠ":"g","ꞡ":"g","ᵹ":"g","ꝿ":"g","ⓗ":"h","h":"h","ĥ":"h","ḣ":"h","ḧ":"h","ȟ":"h","ḥ":"h","ḩ":"h","ḫ":"h","ẖ":"h","ħ":"h","ⱨ":"h","ⱶ":"h","ɥ":"h","ƕ":"hv","ⓘ":"i","i":"i","ì":"i","í":"i","î":"i","ĩ":"i","ī":"i","ĭ":"i","ï":"i","ḯ":"i","ỉ":"i","ǐ":"i","ȉ":"i","ȋ":"i","ị":"i","į":"i","ḭ":"i","ɨ":"i","ı":"i","ⓙ":"j","j":"j","ĵ":"j","ǰ":"j","ɉ":"j","ⓚ":"k","k":"k","ḱ":"k","ǩ":"k","ḳ":"k","ķ":"k","ḵ":"k","ƙ":"k","ⱪ":"k","ꝁ":"k","ꝃ":"k","ꝅ":"k","ꞣ":"k","ⓛ":"l","l":"l","ŀ":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","ſ":"l","ł":"l","ƚ":"l","ɫ":"l","ⱡ":"l","ꝉ":"l","ꞁ":"l","ꝇ":"l","lj":"lj","ⓜ":"m","m":"m","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ɯ":"m","ⓝ":"n","n":"n","ǹ":"n","ń":"n","ñ":"n","ṅ":"n","ň":"n","ṇ":"n","ņ":"n","ṋ":"n","ṉ":"n","ƞ":"n","ɲ":"n","ʼn":"n","ꞑ":"n","ꞥ":"n","nj":"nj","ⓞ":"o","o":"o","ò":"o","ó":"o","ô":"o","ồ":"o","ố":"o","ỗ":"o","ổ":"o","õ":"o","ṍ":"o","ȭ":"o","ṏ":"o","ō":"o","ṑ":"o","ṓ":"o","ŏ":"o","ȯ":"o","ȱ":"o","ö":"o","ȫ":"o","ỏ":"o","ő":"o","ǒ":"o","ȍ":"o","ȏ":"o","ơ":"o","ờ":"o","ớ":"o","ỡ":"o","ở":"o","ợ":"o","ọ":"o","ộ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","ɔ":"o","ꝋ":"o","ꝍ":"o","ɵ":"o","œ":"oe","ƣ":"oi","ȣ":"ou","ꝏ":"oo","ⓟ":"p","p":"p","ṕ":"p","ṗ":"p","ƥ":"p","ᵽ":"p","ꝑ":"p","ꝓ":"p","ꝕ":"p","ⓠ":"q","q":"q","ɋ":"q","ꝗ":"q","ꝙ":"q","ⓡ":"r","r":"r","ŕ":"r","ṙ":"r","ř":"r","ȑ":"r","ȓ":"r","ṛ":"r","ṝ":"r","ŗ":"r","ṟ":"r","ɍ":"r","ɽ":"r","ꝛ":"r","ꞧ":"r","ꞃ":"r","ⓢ":"s","s":"s","ß":"s","ś":"s","ṥ":"s","ŝ":"s","ṡ":"s","š":"s","ṧ":"s","ṣ":"s","ṩ":"s","ș":"s","ş":"s","ȿ":"s","ꞩ":"s","ꞅ":"s","ẛ":"s","ⓣ":"t","t":"t","ṫ":"t","ẗ":"t","ť":"t","ṭ":"t","ț":"t","ţ":"t","ṱ":"t","ṯ":"t","ŧ":"t","ƭ":"t","ʈ":"t","ⱦ":"t","ꞇ":"t","ꜩ":"tz","ⓤ":"u","u":"u","ù":"u","ú":"u","û":"u","ũ":"u","ṹ":"u","ū":"u","ṻ":"u","ŭ":"u","ü":"u","ǜ":"u","ǘ":"u","ǖ":"u","ǚ":"u","ủ":"u","ů":"u","ű":"u","ǔ":"u","ȕ":"u","ȗ":"u","ư":"u","ừ":"u","ứ":"u","ữ":"u","ử":"u","ự":"u","ụ":"u","ṳ":"u","ų":"u","ṷ":"u","ṵ":"u","ʉ":"u","ⓥ":"v","v":"v","ṽ":"v","ṿ":"v","ʋ":"v","ꝟ":"v","ʌ":"v","ꝡ":"vy","ⓦ":"w","w":"w","ẁ":"w","ẃ":"w","ŵ":"w","ẇ":"w","ẅ":"w","ẘ":"w","ẉ":"w","ⱳ":"w","ⓧ":"x","x":"x","ẋ":"x","ẍ":"x","ⓨ":"y","y":"y","ỳ":"y","ý":"y","ŷ":"y","ỹ":"y","ȳ":"y","ẏ":"y","ÿ":"y","ỷ":"y","ẙ":"y","ỵ":"y","ƴ":"y","ɏ":"y","ỿ":"y","ⓩ":"z","z":"z","ź":"z","ẑ":"z","ż":"z","ž":"z","ẓ":"z","ẕ":"z","ƶ":"z","ȥ":"z","ɀ":"z","ⱬ":"z","ꝣ":"z","Ά":"Α","Έ":"Ε","Ή":"Η","Ί":"Ι","Ϊ":"Ι","Ό":"Ο","Ύ":"Υ","Ϋ":"Υ","Ώ":"Ω","ά":"α","έ":"ε","ή":"η","ί":"ι","ϊ":"ι","ΐ":"ι","ό":"ο","ύ":"υ","ϋ":"υ","ΰ":"υ","ώ":"ω","ς":"σ","’":"'"}}),e.define("select2/data/base",["../utils"],function(i){function n(e,t){n.__super__.constructor.call(this)}return i.Extend(n,i.Observable),n.prototype.current=function(e){throw new Error("The `current` method must be defined in child classes.")},n.prototype.query=function(e,t){throw new Error("The `query` method must be defined in child classes.")},n.prototype.bind=function(e,t){},n.prototype.destroy=function(){},n.prototype.generateResultId=function(e,t){var n=e.id+"-result-";return n+=i.generateChars(4),null!=t.id?n+="-"+t.id.toString():n+="-"+i.generateChars(4),n},n}),e.define("select2/data/select",["./base","../utils","jquery"],function(e,a,l){function n(e,t){this.$element=e,this.options=t,n.__super__.constructor.call(this)}return a.Extend(n,e),n.prototype.current=function(e){var n=[],i=this;this.$element.find(":selected").each(function(){var e=l(this),t=i.item(e);n.push(t)}),e(n)},n.prototype.select=function(r){var o=this;if(r.selected=!0,l(r.element).is("option"))return r.element.selected=!0,void this.$element.trigger("input").trigger("change");if(this.$element.prop("multiple"))this.current(function(e){var t=[];(r=[r]).push.apply(r,e);for(var n=0;n<r.length;n++){var i=r[n].id;-1===l.inArray(i,t)&&t.push(i)}o.$element.val(t),o.$element.trigger("input").trigger("change")});else{var e=r.id;this.$element.val(e),this.$element.trigger("input").trigger("change")}},n.prototype.unselect=function(r){var o=this;if(this.$element.prop("multiple")){if(r.selected=!1,l(r.element).is("option"))return r.element.selected=!1,void this.$element.trigger("input").trigger("change");this.current(function(e){for(var t=[],n=0;n<e.length;n++){var i=e[n].id;i!==r.id&&-1===l.inArray(i,t)&&t.push(i)}o.$element.val(t),o.$element.trigger("input").trigger("change")})}},n.prototype.bind=function(e,t){var n=this;(this.container=e).on("select",function(e){n.select(e.data)}),e.on("unselect",function(e){n.unselect(e.data)})},n.prototype.destroy=function(){this.$element.find("*").each(function(){a.RemoveData(this)})},n.prototype.query=function(i,e){var r=[],o=this;this.$element.children().each(function(){var e=l(this);if(e.is("option")||e.is("optgroup")){var t=o.item(e),n=o.matches(i,t);null!==n&&r.push(n)}}),e({results:r})},n.prototype.addOptions=function(e){a.appendMany(this.$element,e)},n.prototype.option=function(e){var t;e.children?(t=document.createElement("optgroup")).label=e.text:void 0!==(t=document.createElement("option")).textContent?t.textContent=e.text:t.innerText=e.text,void 0!==e.id&&(t.value=e.id),e.disabled&&(t.disabled=!0),e.selected&&(t.selected=!0),e.title&&(t.title=e.title);var n=l(t),i=this._normalizeItem(e);return i.element=t,a.StoreData(t,"data",i),n},n.prototype.item=function(e){var t={};if(null!=(t=a.GetData(e[0],"data")))return t;if(e.is("option"))t={id:e.val(),text:e.text(),disabled:e.prop("disabled"),selected:e.prop("selected"),title:e.prop("title")};else if(e.is("optgroup")){t={text:e.prop("label"),children:[],title:e.prop("title")};for(var n=e.children("option"),i=[],r=0;r<n.length;r++){var o=l(n[r]),s=this.item(o);i.push(s)}t.children=i}return(t=this._normalizeItem(t)).element=e[0],a.StoreData(e[0],"data",t),t},n.prototype._normalizeItem=function(e){e!==Object(e)&&(e={id:e,text:e});return null!=(e=l.extend({},{text:""},e)).id&&(e.id=e.id.toString()),null!=e.text&&(e.text=e.text.toString()),null==e._resultId&&e.id&&null!=this.container&&(e._resultId=this.generateResultId(this.container,e)),l.extend({},{selected:!1,disabled:!1},e)},n.prototype.matches=function(e,t){return this.options.get("matcher")(e,t)},n}),e.define("select2/data/array",["./select","../utils","jquery"],function(e,f,g){function i(e,t){this._dataToConvert=t.get("data")||[],i.__super__.constructor.call(this,e,t)}return f.Extend(i,e),i.prototype.bind=function(e,t){i.__super__.bind.call(this,e,t),this.addOptions(this.convertToOptions(this._dataToConvert))},i.prototype.select=function(n){var e=this.$element.find("option").filter(function(e,t){return t.value==n.id.toString()});0===e.length&&(e=this.option(n),this.addOptions(e)),i.__super__.select.call(this,n)},i.prototype.convertToOptions=function(e){var t=this,n=this.$element.find("option"),i=n.map(function(){return t.item(g(this)).id}).get(),r=[];function o(e){return function(){return g(this).val()==e.id}}for(var s=0;s<e.length;s++){var a=this._normalizeItem(e[s]);if(0<=g.inArray(a.id,i)){var l=n.filter(o(a)),c=this.item(l),u=g.extend(!0,{},a,c),d=this.option(u);l.replaceWith(d)}else{var p=this.option(a);if(a.children){var h=this.convertToOptions(a.children);f.appendMany(p,h)}r.push(p)}}return r},i}),e.define("select2/data/ajax",["./array","../utils","jquery"],function(e,t,o){function n(e,t){this.ajaxOptions=this._applyDefaults(t.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),n.__super__.constructor.call(this,e,t)}return t.Extend(n,e),n.prototype._applyDefaults=function(e){var t={data:function(e){return o.extend({},e,{q:e.term})},transport:function(e,t,n){var i=o.ajax(e);return i.then(t),i.fail(n),i}};return o.extend({},t,e,!0)},n.prototype.processResults=function(e){return e},n.prototype.query=function(n,i){var r=this;null!=this._request&&(o.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var t=o.extend({type:"GET"},this.ajaxOptions);function e(){var e=t.transport(t,function(e){var t=r.processResults(e,n);r.options.get("debug")&&window.console&&console.error&&(t&&t.results&&o.isArray(t.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),i(t)},function(){"status"in e&&(0===e.status||"0"===e.status)||r.trigger("results:message",{message:"errorLoading"})});r._request=e}"function"==typeof t.url&&(t.url=t.url.call(this.$element,n)),"function"==typeof t.data&&(t.data=t.data.call(this.$element,n)),this.ajaxOptions.delay&&null!=n.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(e,this.ajaxOptions.delay)):e()},n}),e.define("select2/data/tags",["jquery"],function(u){function e(e,t,n){var i=n.get("tags"),r=n.get("createTag");void 0!==r&&(this.createTag=r);var o=n.get("insertTag");if(void 0!==o&&(this.insertTag=o),e.call(this,t,n),u.isArray(i))for(var s=0;s<i.length;s++){var a=i[s],l=this._normalizeItem(a),c=this.option(l);this.$element.append(c)}}return e.prototype.query=function(e,c,u){var d=this;this._removeOldTags(),null!=c.term&&null==c.page?e.call(this,c,function e(t,n){for(var i=t.results,r=0;r<i.length;r++){var o=i[r],s=null!=o.children&&!e({results:o.children},!0);if((o.text||"").toUpperCase()===(c.term||"").toUpperCase()||s)return!n&&(t.data=i,void u(t))}if(n)return!0;var a=d.createTag(c);if(null!=a){var l=d.option(a);l.attr("data-select2-tag",!0),d.addOptions([l]),d.insertTag(i,a)}t.results=i,u(t)}):e.call(this,c,u)},e.prototype.createTag=function(e,t){var n=u.trim(t.term);return""===n?null:{id:n,text:n}},e.prototype.insertTag=function(e,t,n){t.unshift(n)},e.prototype._removeOldTags=function(e){this.$element.find("option[data-select2-tag]").each(function(){this.selected||u(this).remove()})},e}),e.define("select2/data/tokenizer",["jquery"],function(d){function e(e,t,n){var i=n.get("tokenizer");void 0!==i&&(this.tokenizer=i),e.call(this,t,n)}return e.prototype.bind=function(e,t,n){e.call(this,t,n),this.$search=t.dropdown.$search||t.selection.$search||n.find(".select2-search__field")},e.prototype.query=function(e,t,n){var i=this;t.term=t.term||"";var r=this.tokenizer(t,this.options,function(e){var t=i._normalizeItem(e);if(!i.$element.find("option").filter(function(){return d(this).val()===t.id}).length){var n=i.option(t);n.attr("data-select2-tag",!0),i._removeOldTags(),i.addOptions([n])}!function(e){i.trigger("select",{data:e})}(t)});r.term!==t.term&&(this.$search.length&&(this.$search.val(r.term),this.$search.trigger("focus")),t.term=r.term),e.call(this,t,n)},e.prototype.tokenizer=function(e,t,n,i){for(var r=n.get("tokenSeparators")||[],o=t.term,s=0,a=this.createTag||function(e){return{id:e.term,text:e.term}};s<o.length;){var l=o[s];if(-1!==d.inArray(l,r)){var c=o.substr(0,s),u=a(d.extend({},t,{term:c}));null!=u?(i(u),o=o.substr(s+1)||"",s=0):s++}else s++}return{term:o}},e}),e.define("select2/data/minimumInputLength",[],function(){function e(e,t,n){this.minimumInputLength=n.get("minimumInputLength"),e.call(this,t,n)}return e.prototype.query=function(e,t,n){t.term=t.term||"",t.term.length<this.minimumInputLength?this.trigger("results:message",{message:"inputTooShort",args:{minimum:this.minimumInputLength,input:t.term,params:t}}):e.call(this,t,n)},e}),e.define("select2/data/maximumInputLength",[],function(){function e(e,t,n){this.maximumInputLength=n.get("maximumInputLength"),e.call(this,t,n)}return e.prototype.query=function(e,t,n){t.term=t.term||"",0<this.maximumInputLength&&t.term.length>this.maximumInputLength?this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:t.term,params:t}}):e.call(this,t,n)},e}),e.define("select2/data/maximumSelectionLength",[],function(){function e(e,t,n){this.maximumSelectionLength=n.get("maximumSelectionLength"),e.call(this,t,n)}return e.prototype.bind=function(e,t,n){var i=this;e.call(this,t,n),t.on("select",function(){i._checkIfMaximumSelected()})},e.prototype.query=function(e,t,n){var i=this;this._checkIfMaximumSelected(function(){e.call(i,t,n)})},e.prototype._checkIfMaximumSelected=function(e,n){var i=this;this.current(function(e){var t=null!=e?e.length:0;0<i.maximumSelectionLength&&t>=i.maximumSelectionLength?i.trigger("results:message",{message:"maximumSelected",args:{maximum:i.maximumSelectionLength}}):n&&n()})},e}),e.define("select2/dropdown",["jquery","./utils"],function(t,e){function n(e,t){this.$element=e,this.options=t,n.__super__.constructor.call(this)}return e.Extend(n,e.Observable),n.prototype.render=function(){var e=t('<span class="select2-dropdown"><span class="select2-results"></span></span>');return e.attr("dir",this.options.get("dir")),this.$dropdown=e},n.prototype.bind=function(){},n.prototype.position=function(e,t){},n.prototype.destroy=function(){this.$dropdown.remove()},n}),e.define("select2/dropdown/search",["jquery","../utils"],function(o,e){function t(){}return t.prototype.render=function(e){var t=e.call(this),n=o('<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="searchbox" aria-autocomplete="list" /></span>');return this.$searchContainer=n,this.$search=n.find("input"),t.prepend(n),t},t.prototype.bind=function(e,t,n){var i=this,r=t.id+"-results";e.call(this,t,n),this.$search.on("keydown",function(e){i.trigger("keypress",e),i._keyUpPrevented=e.isDefaultPrevented()}),this.$search.on("input",function(e){o(this).off("keyup")}),this.$search.on("keyup input",function(e){i.handleSearch(e)}),t.on("open",function(){i.$search.attr("tabindex",0),i.$search.attr("aria-controls",r),i.$search.trigger("focus"),window.setTimeout(function(){i.$search.trigger("focus")},0)}),t.on("close",function(){i.$search.attr("tabindex",-1),i.$search.removeAttr("aria-controls"),i.$search.removeAttr("aria-activedescendant"),i.$search.val(""),i.$search.trigger("blur")}),t.on("focus",function(){t.isOpen()||i.$search.trigger("focus")}),t.on("results:all",function(e){null!=e.query.term&&""!==e.query.term||(i.showSearch(e)?i.$searchContainer.removeClass("select2-search--hide"):i.$searchContainer.addClass("select2-search--hide"))}),t.on("results:focus",function(e){e.data._resultId?i.$search.attr("aria-activedescendant",e.data._resultId):i.$search.removeAttr("aria-activedescendant")})},t.prototype.handleSearch=function(e){if(!this._keyUpPrevented){var t=this.$search.val();this.trigger("query",{term:t})}this._keyUpPrevented=!1},t.prototype.showSearch=function(e,t){return!0},t}),e.define("select2/dropdown/hidePlaceholder",[],function(){function e(e,t,n,i){this.placeholder=this.normalizePlaceholder(n.get("placeholder")),e.call(this,t,n,i)}return e.prototype.append=function(e,t){t.results=this.removePlaceholder(t.results),e.call(this,t)},e.prototype.normalizePlaceholder=function(e,t){return"string"==typeof t&&(t={id:"",text:t}),t},e.prototype.removePlaceholder=function(e,t){for(var n=t.slice(0),i=t.length-1;0<=i;i--){var r=t[i];this.placeholder.id===r.id&&n.splice(i,1)}return n},e}),e.define("select2/dropdown/infiniteScroll",["jquery"],function(n){function e(e,t,n,i){this.lastParams={},e.call(this,t,n,i),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return e.prototype.append=function(e,t){this.$loadingMore.remove(),this.loading=!1,e.call(this,t),this.showLoadingMore(t)&&(this.$results.append(this.$loadingMore),this.loadMoreIfNeeded())},e.prototype.bind=function(e,t,n){var i=this;e.call(this,t,n),t.on("query",function(e){i.lastParams=e,i.loading=!0}),t.on("query:append",function(e){i.lastParams=e,i.loading=!0}),this.$results.on("scroll",this.loadMoreIfNeeded.bind(this))},e.prototype.loadMoreIfNeeded=function(){var e=n.contains(document.documentElement,this.$loadingMore[0]);if(!this.loading&&e){var t=this.$results.offset().top+this.$results.outerHeight(!1);this.$loadingMore.offset().top+this.$loadingMore.outerHeight(!1)<=t+50&&this.loadMore()}},e.prototype.loadMore=function(){this.loading=!0;var e=n.extend({},{page:1},this.lastParams);e.page++,this.trigger("query:append",e)},e.prototype.showLoadingMore=function(e,t){return t.pagination&&t.pagination.more},e.prototype.createLoadingMore=function(){var e=n('<li class="select2-results__option select2-results__option--load-more"role="option" aria-disabled="true"></li>'),t=this.options.get("translations").get("loadingMore");return e.html(t(this.lastParams)),e},e}),e.define("select2/dropdown/attachBody",["jquery","../utils"],function(f,a){function e(e,t,n){this.$dropdownParent=f(n.get("dropdownParent")||document.body),e.call(this,t,n)}return e.prototype.bind=function(e,t,n){var i=this;e.call(this,t,n),t.on("open",function(){i._showDropdown(),i._attachPositioningHandler(t),i._bindContainerResultHandlers(t)}),t.on("close",function(){i._hideDropdown(),i._detachPositioningHandler(t)}),this.$dropdownContainer.on("mousedown",function(e){e.stopPropagation()})},e.prototype.destroy=function(e){e.call(this),this.$dropdownContainer.remove()},e.prototype.position=function(e,t,n){t.attr("class",n.attr("class")),t.removeClass("select2"),t.addClass("select2-container--open"),t.css({position:"absolute",top:-999999}),this.$container=n},e.prototype.render=function(e){var t=f("<span></span>"),n=e.call(this);return t.append(n),this.$dropdownContainer=t},e.prototype._hideDropdown=function(e){this.$dropdownContainer.detach()},e.prototype._bindContainerResultHandlers=function(e,t){if(!this._containerResultsHandlersBound){var n=this;t.on("results:all",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("results:append",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("results:message",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("select",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("unselect",function(){n._positionDropdown(),n._resizeDropdown()}),this._containerResultsHandlersBound=!0}},e.prototype._attachPositioningHandler=function(e,t){var n=this,i="scroll.select2."+t.id,r="resize.select2."+t.id,o="orientationchange.select2."+t.id,s=this.$container.parents().filter(a.hasScroll);s.each(function(){a.StoreData(this,"select2-scroll-position",{x:f(this).scrollLeft(),y:f(this).scrollTop()})}),s.on(i,function(e){var t=a.GetData(this,"select2-scroll-position");f(this).scrollTop(t.y)}),f(window).on(i+" "+r+" "+o,function(e){n._positionDropdown(),n._resizeDropdown()})},e.prototype._detachPositioningHandler=function(e,t){var n="scroll.select2."+t.id,i="resize.select2."+t.id,r="orientationchange.select2."+t.id;this.$container.parents().filter(a.hasScroll).off(n),f(window).off(n+" "+i+" "+r)},e.prototype._positionDropdown=function(){var e=f(window),t=this.$dropdown.hasClass("select2-dropdown--above"),n=this.$dropdown.hasClass("select2-dropdown--below"),i=null,r=this.$container.offset();r.bottom=r.top+this.$container.outerHeight(!1);var o={height:this.$container.outerHeight(!1)};o.top=r.top,o.bottom=r.top+o.height;var s=this.$dropdown.outerHeight(!1),a=e.scrollTop(),l=e.scrollTop()+e.height(),c=a<r.top-s,u=l>r.bottom+s,d={left:r.left,top:o.bottom},p=this.$dropdownParent;"static"===p.css("position")&&(p=p.offsetParent());var h={top:0,left:0};(f.contains(document.body,p[0])||p[0].isConnected)&&(h=p.offset()),d.top-=h.top,d.left-=h.left,t||n||(i="below"),u||!c||t?!c&&u&&t&&(i="below"):i="above",("above"==i||t&&"below"!==i)&&(d.top=o.top-h.top-s),null!=i&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+i),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+i)),this.$dropdownContainer.css(d)},e.prototype._resizeDropdown=function(){var e={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(e.minWidth=e.width,e.position="relative",e.width="auto"),this.$dropdown.css(e)},e.prototype._showDropdown=function(e){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},e}),e.define("select2/dropdown/minimumResultsForSearch",[],function(){function e(e,t,n,i){this.minimumResultsForSearch=n.get("minimumResultsForSearch"),this.minimumResultsForSearch<0&&(this.minimumResultsForSearch=1/0),e.call(this,t,n,i)}return e.prototype.showSearch=function(e,t){return!(function e(t){for(var n=0,i=0;i<t.length;i++){var r=t[i];r.children?n+=e(r.children):n++}return n}(t.data.results)<this.minimumResultsForSearch)&&e.call(this,t)},e}),e.define("select2/dropdown/selectOnClose",["../utils"],function(o){function e(){}return e.prototype.bind=function(e,t,n){var i=this;e.call(this,t,n),t.on("close",function(e){i._handleSelectOnClose(e)})},e.prototype._handleSelectOnClose=function(e,t){if(t&&null!=t.originalSelect2Event){var n=t.originalSelect2Event;if("select"===n._type||"unselect"===n._type)return}var i=this.getHighlightedResults();if(!(i.length<1)){var r=o.GetData(i[0],"data");null!=r.element&&r.element.selected||null==r.element&&r.selected||this.trigger("select",{data:r})}},e}),e.define("select2/dropdown/closeOnSelect",[],function(){function e(){}return e.prototype.bind=function(e,t,n){var i=this;e.call(this,t,n),t.on("select",function(e){i._selectTriggered(e)}),t.on("unselect",function(e){i._selectTriggered(e)})},e.prototype._selectTriggered=function(e,t){var n=t.originalEvent;n&&(n.ctrlKey||n.metaKey)||this.trigger("close",{originalEvent:n,originalSelect2Event:t})},e}),e.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Please delete "+t+" character";return 1!=t&&(n+="s"),n},inputTooShort:function(e){return"Please enter "+(e.minimum-e.input.length)+" or more characters"},loadingMore:function(){return"Loading more results…"},maximumSelected:function(e){var t="You can only select "+e.maximum+" item";return 1!=e.maximum&&(t+="s"),t},noResults:function(){return"No results found"},searching:function(){return"Searching…"},removeAllItems:function(){return"Remove all items"}}}),e.define("select2/defaults",["jquery","require","./results","./selection/single","./selection/multiple","./selection/placeholder","./selection/allowClear","./selection/search","./selection/eventRelay","./utils","./translation","./diacritics","./data/select","./data/array","./data/ajax","./data/tags","./data/tokenizer","./data/minimumInputLength","./data/maximumInputLength","./data/maximumSelectionLength","./dropdown","./dropdown/search","./dropdown/hidePlaceholder","./dropdown/infiniteScroll","./dropdown/attachBody","./dropdown/minimumResultsForSearch","./dropdown/selectOnClose","./dropdown/closeOnSelect","./i18n/en"],function(c,u,d,p,h,f,g,m,v,y,s,t,_,w,$,b,A,x,D,S,C,E,O,T,q,j,L,I,e){function n(){this.reset()}return n.prototype.apply=function(e){if(null==(e=c.extend(!0,{},this.defaults,e)).dataAdapter){if(null!=e.ajax?e.dataAdapter=$:null!=e.data?e.dataAdapter=w:e.dataAdapter=_,0<e.minimumInputLength&&(e.dataAdapter=y.Decorate(e.dataAdapter,x)),0<e.maximumInputLength&&(e.dataAdapter=y.Decorate(e.dataAdapter,D)),0<e.maximumSelectionLength&&(e.dataAdapter=y.Decorate(e.dataAdapter,S)),e.tags&&(e.dataAdapter=y.Decorate(e.dataAdapter,b)),null==e.tokenSeparators&&null==e.tokenizer||(e.dataAdapter=y.Decorate(e.dataAdapter,A)),null!=e.query){var t=u(e.amdBase+"compat/query");e.dataAdapter=y.Decorate(e.dataAdapter,t)}if(null!=e.initSelection){var n=u(e.amdBase+"compat/initSelection");e.dataAdapter=y.Decorate(e.dataAdapter,n)}}if(null==e.resultsAdapter&&(e.resultsAdapter=d,null!=e.ajax&&(e.resultsAdapter=y.Decorate(e.resultsAdapter,T)),null!=e.placeholder&&(e.resultsAdapter=y.Decorate(e.resultsAdapter,O)),e.selectOnClose&&(e.resultsAdapter=y.Decorate(e.resultsAdapter,L))),null==e.dropdownAdapter){if(e.multiple)e.dropdownAdapter=C;else{var i=y.Decorate(C,E);e.dropdownAdapter=i}if(0!==e.minimumResultsForSearch&&(e.dropdownAdapter=y.Decorate(e.dropdownAdapter,j)),e.closeOnSelect&&(e.dropdownAdapter=y.Decorate(e.dropdownAdapter,I)),null!=e.dropdownCssClass||null!=e.dropdownCss||null!=e.adaptDropdownCssClass){var r=u(e.amdBase+"compat/dropdownCss");e.dropdownAdapter=y.Decorate(e.dropdownAdapter,r)}e.dropdownAdapter=y.Decorate(e.dropdownAdapter,q)}if(null==e.selectionAdapter){if(e.multiple?e.selectionAdapter=h:e.selectionAdapter=p,null!=e.placeholder&&(e.selectionAdapter=y.Decorate(e.selectionAdapter,f)),e.allowClear&&(e.selectionAdapter=y.Decorate(e.selectionAdapter,g)),e.multiple&&(e.selectionAdapter=y.Decorate(e.selectionAdapter,m)),null!=e.containerCssClass||null!=e.containerCss||null!=e.adaptContainerCssClass){var o=u(e.amdBase+"compat/containerCss");e.selectionAdapter=y.Decorate(e.selectionAdapter,o)}e.selectionAdapter=y.Decorate(e.selectionAdapter,v)}e.language=this._resolveLanguage(e.language),e.language.push("en");for(var s=[],a=0;a<e.language.length;a++){var l=e.language[a];-1===s.indexOf(l)&&s.push(l)}return e.language=s,e.translations=this._processTranslations(e.language,e.debug),e},n.prototype.reset=function(){function a(e){return e.replace(/[^\u0000-\u007E]/g,function(e){return t[e]||e})}this.defaults={amdBase:"./",amdLanguageBase:"./i18n/",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:y.escapeMarkup,language:{},matcher:function e(t,n){if(""===c.trim(t.term))return n;if(n.children&&0<n.children.length){for(var i=c.extend(!0,{},n),r=n.children.length-1;0<=r;r--)null==e(t,n.children[r])&&i.children.splice(r,1);return 0<i.children.length?i:e(t,i)}var o=a(n.text).toUpperCase(),s=a(t.term).toUpperCase();return-1<o.indexOf(s)?n:null},minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,scrollAfterSelect:!1,sorter:function(e){return e},templateResult:function(e){return e.text},templateSelection:function(e){return e.text},theme:"default",width:"resolve"}},n.prototype.applyFromElement=function(e,t){var n=e.language,i=this.defaults.language,r=t.prop("lang"),o=t.closest("[lang]").prop("lang"),s=Array.prototype.concat.call(this._resolveLanguage(r),this._resolveLanguage(n),this._resolveLanguage(i),this._resolveLanguage(o));return e.language=s,e},n.prototype._resolveLanguage=function(e){if(!e)return[];if(c.isEmptyObject(e))return[];if(c.isPlainObject(e))return[e];var t;t=c.isArray(e)?e:[e];for(var n=[],i=0;i<t.length;i++)if(n.push(t[i]),"string"==typeof t[i]&&0<t[i].indexOf("-")){var r=t[i].split("-")[0];n.push(r)}return n},n.prototype._processTranslations=function(e,t){for(var n=new s,i=0;i<e.length;i++){var r=new s,o=e[i];if("string"==typeof o)try{r=s.loadPath(o)}catch(e){try{o=this.defaults.amdLanguageBase+o,r=s.loadPath(o)}catch(e){t&&window.console&&console.warn&&console.warn('Select2: The language file for "'+o+'" could not be automatically loaded. A fallback will be used instead.')}}else r=c.isPlainObject(o)?new s(o):o;n.extend(r)}return n},n.prototype.set=function(e,t){var n={};n[c.camelCase(e)]=t;var i=y._convertData(n);c.extend(!0,this.defaults,i)},new n}),e.define("select2/options",["require","jquery","./defaults","./utils"],function(i,d,r,p){function e(e,t){if(this.options=e,null!=t&&this.fromElement(t),null!=t&&(this.options=r.applyFromElement(this.options,t)),this.options=r.apply(this.options),t&&t.is("input")){var n=i(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=p.Decorate(this.options.dataAdapter,n)}}return e.prototype.fromElement=function(e){var t=["select2"];null==this.options.multiple&&(this.options.multiple=e.prop("multiple")),null==this.options.disabled&&(this.options.disabled=e.prop("disabled")),null==this.options.dir&&(e.prop("dir")?this.options.dir=e.prop("dir"):e.closest("[dir]").prop("dir")?this.options.dir=e.closest("[dir]").prop("dir"):this.options.dir="ltr"),e.prop("disabled",this.options.disabled),e.prop("multiple",this.options.multiple),p.GetData(e[0],"select2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),p.StoreData(e[0],"data",p.GetData(e[0],"select2Tags")),p.StoreData(e[0],"tags",!0)),p.GetData(e[0],"ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),e.attr("ajax--url",p.GetData(e[0],"ajaxUrl")),p.StoreData(e[0],"ajax-Url",p.GetData(e[0],"ajaxUrl")));var n={};function i(e,t){return t.toUpperCase()}for(var r=0;r<e[0].attributes.length;r++){var o=e[0].attributes[r].name,s="data-";if(o.substr(0,s.length)==s){var a=o.substring(s.length),l=p.GetData(e[0],a);n[a.replace(/-([a-z])/g,i)]=l}}d.fn.jquery&&"1."==d.fn.jquery.substr(0,2)&&e[0].dataset&&(n=d.extend(!0,{},e[0].dataset,n));var c=d.extend(!0,{},p.GetData(e[0]),n);for(var u in c=p._convertData(c))-1<d.inArray(u,t)||(d.isPlainObject(this.options[u])?d.extend(this.options[u],c[u]):this.options[u]=c[u]);return this},e.prototype.get=function(e){return this.options[e]},e.prototype.set=function(e,t){this.options[e]=t},e}),e.define("select2/core",["jquery","./options","./utils","./keys"],function(o,c,u,i){var d=function(e,t){null!=u.GetData(e[0],"select2")&&u.GetData(e[0],"select2").destroy(),this.$element=e,this.id=this._generateId(e),t=t||{},this.options=new c(t,e),d.__super__.constructor.call(this);var n=e.attr("tabindex")||0;u.StoreData(e[0],"old-tabindex",n),e.attr("tabindex","-1");var i=this.options.get("dataAdapter");this.dataAdapter=new i(e,this.options);var r=this.render();this._placeContainer(r);var o=this.options.get("selectionAdapter");this.selection=new o(e,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,r);var s=this.options.get("dropdownAdapter");this.dropdown=new s(e,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,r);var a=this.options.get("resultsAdapter");this.results=new a(e,this.options,this.dataAdapter),this.$results=this.results.render(),this.results.position(this.$results,this.$dropdown);var l=this;this._bindAdapters(),this._registerDomEvents(),this._registerDataEvents(),this._registerSelectionEvents(),this._registerDropdownEvents(),this._registerResultsEvents(),this._registerEvents(),this.dataAdapter.current(function(e){l.trigger("selection:update",{data:e})}),e.addClass("select2-hidden-accessible"),e.attr("aria-hidden","true"),this._syncAttributes(),u.StoreData(e[0],"select2",this),e.data("select2",this)};return u.Extend(d,u.Observable),d.prototype._generateId=function(e){return"select2-"+(null!=e.attr("id")?e.attr("id"):null!=e.attr("name")?e.attr("name")+"-"+u.generateChars(2):u.generateChars(4)).replace(/(:|\.|\[|\]|,)/g,"")},d.prototype._placeContainer=function(e){e.insertAfter(this.$element);var t=this._resolveWidth(this.$element,this.options.get("width"));null!=t&&e.css("width",t)},d.prototype._resolveWidth=function(e,t){var n=/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if("resolve"==t){var i=this._resolveWidth(e,"style");return null!=i?i:this._resolveWidth(e,"element")}if("element"==t){var r=e.outerWidth(!1);return r<=0?"auto":r+"px"}if("style"!=t)return"computedstyle"!=t?t:window.getComputedStyle(e[0]).width;var o=e.attr("style");if("string"!=typeof o)return null;for(var s=o.split(";"),a=0,l=s.length;a<l;a+=1){var c=s[a].replace(/\s/g,"").match(n);if(null!==c&&1<=c.length)return c[1]}return null},d.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},d.prototype._registerDomEvents=function(){var t=this;this.$element.on("change.select2",function(){t.dataAdapter.current(function(e){t.trigger("selection:update",{data:e})})}),this.$element.on("focus.select2",function(e){t.trigger("focus",e)}),this._syncA=u.bind(this._syncAttributes,this),this._syncS=u.bind(this._syncSubtree,this),this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._syncA);var e=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=e?(this._observer=new e(function(e){t._syncA(),t._syncS(null,e)}),this._observer.observe(this.$element[0],{attributes:!0,childList:!0,subtree:!1})):this.$element[0].addEventListener&&(this.$element[0].addEventListener("DOMAttrModified",t._syncA,!1),this.$element[0].addEventListener("DOMNodeInserted",t._syncS,!1),this.$element[0].addEventListener("DOMNodeRemoved",t._syncS,!1))},d.prototype._registerDataEvents=function(){var n=this;this.dataAdapter.on("*",function(e,t){n.trigger(e,t)})},d.prototype._registerSelectionEvents=function(){var n=this,i=["toggle","focus"];this.selection.on("toggle",function(){n.toggleDropdown()}),this.selection.on("focus",function(e){n.focus(e)}),this.selection.on("*",function(e,t){-1===o.inArray(e,i)&&n.trigger(e,t)})},d.prototype._registerDropdownEvents=function(){var n=this;this.dropdown.on("*",function(e,t){n.trigger(e,t)})},d.prototype._registerResultsEvents=function(){var n=this;this.results.on("*",function(e,t){n.trigger(e,t)})},d.prototype._registerEvents=function(){var n=this;this.on("open",function(){n.$container.addClass("select2-container--open")}),this.on("close",function(){n.$container.removeClass("select2-container--open")}),this.on("enable",function(){n.$container.removeClass("select2-container--disabled")}),this.on("disable",function(){n.$container.addClass("select2-container--disabled")}),this.on("blur",function(){n.$container.removeClass("select2-container--focus")}),this.on("query",function(t){n.isOpen()||n.trigger("open",{}),this.dataAdapter.query(t,function(e){n.trigger("results:all",{data:e,query:t})})}),this.on("query:append",function(t){this.dataAdapter.query(t,function(e){n.trigger("results:append",{data:e,query:t})})}),this.on("keypress",function(e){var t=e.which;n.isOpen()?t===i.ESC||t===i.TAB||t===i.UP&&e.altKey?(n.close(e),e.preventDefault()):t===i.ENTER?(n.trigger("results:select",{}),e.preventDefault()):t===i.SPACE&&e.ctrlKey?(n.trigger("results:toggle",{}),e.preventDefault()):t===i.UP?(n.trigger("results:previous",{}),e.preventDefault()):t===i.DOWN&&(n.trigger("results:next",{}),e.preventDefault()):(t===i.ENTER||t===i.SPACE||t===i.DOWN&&e.altKey)&&(n.open(),e.preventDefault())})},d.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled")),this.isDisabled()?(this.isOpen()&&this.close(),this.trigger("disable",{})):this.trigger("enable",{})},d.prototype._isChangeMutation=function(e,t){var n=!1,i=this;if(!e||!e.target||"OPTION"===e.target.nodeName||"OPTGROUP"===e.target.nodeName){if(t)if(t.addedNodes&&0<t.addedNodes.length)for(var r=0;r<t.addedNodes.length;r++){t.addedNodes[r].selected&&(n=!0)}else t.removedNodes&&0<t.removedNodes.length?n=!0:o.isArray(t)&&o.each(t,function(e,t){if(i._isChangeMutation(e,t))return!(n=!0)});else n=!0;return n}},d.prototype._syncSubtree=function(e,t){var n=this._isChangeMutation(e,t),i=this;n&&this.dataAdapter.current(function(e){i.trigger("selection:update",{data:e})})},d.prototype.trigger=function(e,t){var n=d.__super__.trigger,i={open:"opening",close:"closing",select:"selecting",unselect:"unselecting",clear:"clearing"};if(void 0===t&&(t={}),e in i){var r=i[e],o={prevented:!1,name:e,args:t};if(n.call(this,r,o),o.prevented)return void(t.prevented=!0)}n.call(this,e,t)},d.prototype.toggleDropdown=function(){this.isDisabled()||(this.isOpen()?this.close():this.open())},d.prototype.open=function(){this.isOpen()||this.isDisabled()||this.trigger("query",{})},d.prototype.close=function(e){this.isOpen()&&this.trigger("close",{originalEvent:e})},d.prototype.isEnabled=function(){return!this.isDisabled()},d.prototype.isDisabled=function(){return this.options.get("disabled")},d.prototype.isOpen=function(){return this.$container.hasClass("select2-container--open")},d.prototype.hasFocus=function(){return this.$container.hasClass("select2-container--focus")},d.prototype.focus=function(e){this.hasFocus()||(this.$container.addClass("select2-container--focus"),this.trigger("focus",{}))},d.prototype.enable=function(e){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),null!=e&&0!==e.length||(e=[!0]);var t=!e[0];this.$element.prop("disabled",t)},d.prototype.data=function(){this.options.get("debug")&&0<arguments.length&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var t=[];return this.dataAdapter.current(function(e){t=e}),t},d.prototype.val=function(e){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==e||0===e.length)return this.$element.val();var t=e[0];o.isArray(t)&&(t=o.map(t,function(e){return e.toString()})),this.$element.val(t).trigger("input").trigger("change")},d.prototype.destroy=function(){this.$container.remove(),this.$element[0].detachEvent&&this.$element[0].detachEvent("onpropertychange",this._syncA),null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&(this.$element[0].removeEventListener("DOMAttrModified",this._syncA,!1),this.$element[0].removeEventListener("DOMNodeInserted",this._syncS,!1),this.$element[0].removeEventListener("DOMNodeRemoved",this._syncS,!1)),this._syncA=null,this._syncS=null,this.$element.off(".select2"),this.$element.attr("tabindex",u.GetData(this.$element[0],"old-tabindex")),this.$element.removeClass("select2-hidden-accessible"),this.$element.attr("aria-hidden","false"),u.RemoveData(this.$element[0]),this.$element.removeData("select2"),this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,this.selection=null,this.dropdown=null,this.results=null},d.prototype.render=function(){var e=o('<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');return e.attr("dir",this.options.get("dir")),this.$container=e,this.$container.addClass("select2-container--"+this.options.get("theme")),u.StoreData(e[0],"element",this.$element),e},d}),e.define("select2/compat/utils",["jquery"],function(s){return{syncCssClasses:function(e,t,n){var i,r,o=[];(i=s.trim(e.attr("class")))&&s((i=""+i).split(/\s+/)).each(function(){0===this.indexOf("select2-")&&o.push(this)}),(i=s.trim(t.attr("class")))&&s((i=""+i).split(/\s+/)).each(function(){0!==this.indexOf("select2-")&&null!=(r=n(this))&&o.push(r)}),e.attr("class",o.join(" "))}}}),e.define("select2/compat/containerCss",["jquery","./utils"],function(s,a){function l(e){return null}function e(){}return e.prototype.render=function(e){var t=e.call(this),n=this.options.get("containerCssClass")||"";s.isFunction(n)&&(n=n(this.$element));var i=this.options.get("adaptContainerCssClass");if(i=i||l,-1!==n.indexOf(":all:")){n=n.replace(":all:","");var r=i;i=function(e){var t=r(e);return null!=t?t+" "+e:e}}var o=this.options.get("containerCss")||{};return s.isFunction(o)&&(o=o(this.$element)),a.syncCssClasses(t,this.$element,i),t.css(o),t.addClass(n),t},e}),e.define("select2/compat/dropdownCss",["jquery","./utils"],function(s,a){function l(e){return null}function e(){}return e.prototype.render=function(e){var t=e.call(this),n=this.options.get("dropdownCssClass")||"";s.isFunction(n)&&(n=n(this.$element));var i=this.options.get("adaptDropdownCssClass");if(i=i||l,-1!==n.indexOf(":all:")){n=n.replace(":all:","");var r=i;i=function(e){var t=r(e);return null!=t?t+" "+e:e}}var o=this.options.get("dropdownCss")||{};return s.isFunction(o)&&(o=o(this.$element)),a.syncCssClasses(t,this.$element,i),t.css(o),t.addClass(n),t},e}),e.define("select2/compat/initSelection",["jquery"],function(i){function e(e,t,n){n.get("debug")&&window.console&&console.warn&&console.warn("Select2: The `initSelection` option has been deprecated in favor of a custom data adapter that overrides the `current` method. This method is now called multiple times instead of a single time when the instance is initialized. Support will be removed for the `initSelection` option in future versions of Select2"),this.initSelection=n.get("initSelection"),this._isInitialized=!1,e.call(this,t,n)}return e.prototype.current=function(e,t){var n=this;this._isInitialized?e.call(this,t):this.initSelection.call(null,this.$element,function(e){n._isInitialized=!0,i.isArray(e)||(e=[e]),t(e)})},e}),e.define("select2/compat/inputData",["jquery","../utils"],function(s,i){function e(e,t,n){this._currentData=[],this._valueSeparator=n.get("valueSeparator")||",","hidden"===t.prop("type")&&n.get("debug")&&console&&console.warn&&console.warn("Select2: Using a hidden input with Select2 is no longer supported and may stop working in the future. It is recommended to use a `<select>` element instead."),e.call(this,t,n)}return e.prototype.current=function(e,t){function i(e,t){var n=[];return e.selected||-1!==s.inArray(e.id,t)?(e.selected=!0,n.push(e)):e.selected=!1,e.children&&n.push.apply(n,i(e.children,t)),n}for(var n=[],r=0;r<this._currentData.length;r++){var o=this._currentData[r];n.push.apply(n,i(o,this.$element.val().split(this._valueSeparator)))}t(n)},e.prototype.select=function(e,t){if(this.options.get("multiple")){var n=this.$element.val();n+=this._valueSeparator+t.id,this.$element.val(n),this.$element.trigger("input").trigger("change")}else this.current(function(e){s.map(e,function(e){e.selected=!1})}),this.$element.val(t.id),this.$element.trigger("input").trigger("change")},e.prototype.unselect=function(e,r){var o=this;r.selected=!1,this.current(function(e){for(var t=[],n=0;n<e.length;n++){var i=e[n];r.id!=i.id&&t.push(i.id)}o.$element.val(t.join(o._valueSeparator)),o.$element.trigger("input").trigger("change")})},e.prototype.query=function(e,t,n){for(var i=[],r=0;r<this._currentData.length;r++){var o=this._currentData[r],s=this.matches(t,o);null!==s&&i.push(s)}n({results:i})},e.prototype.addOptions=function(e,t){var n=s.map(t,function(e){return i.GetData(e[0],"data")});this._currentData.push.apply(this._currentData,n)},e}),e.define("select2/compat/matcher",["jquery"],function(s){return function(o){return function(e,t){var n=s.extend(!0,{},t);if(null==e.term||""===s.trim(e.term))return n;if(t.children){for(var i=t.children.length-1;0<=i;i--){var r=t.children[i];o(e.term,r.text,r)||n.children.splice(i,1)}if(0<n.children.length)return n}return o(e.term,t.text,t)?n:null}}}),e.define("select2/compat/query",[],function(){function e(e,t,n){n.get("debug")&&window.console&&console.warn&&console.warn("Select2: The `query` option has been deprecated in favor of a custom data adapter that overrides the `query` method. Support will be removed for the `query` option in future versions of Select2."),e.call(this,t,n)}return e.prototype.query=function(e,t,n){t.callback=n,this.options.get("query").call(null,t)},e}),e.define("select2/dropdown/attachContainer",[],function(){function e(e,t,n){e.call(this,t,n)}return e.prototype.position=function(e,t,n){n.find(".dropdown-wrapper").append(t),t.addClass("select2-dropdown--below"),n.addClass("select2-container--below")},e}),e.define("select2/dropdown/stopPropagation",[],function(){function e(){}return e.prototype.bind=function(e,t,n){e.call(this,t,n);this.$dropdown.on(["blur","change","click","dblclick","focus","focusin","focusout","input","keydown","keyup","keypress","mousedown","mouseenter","mouseleave","mousemove","mouseover","mouseup","search","touchend","touchstart"].join(" "),function(e){e.stopPropagation()})},e}),e.define("select2/selection/stopPropagation",[],function(){function e(){}return e.prototype.bind=function(e,t,n){e.call(this,t,n);this.$selection.on(["blur","change","click","dblclick","focus","focusin","focusout","input","keydown","keyup","keypress","mousedown","mouseenter","mouseleave","mousemove","mouseover","mouseup","search","touchend","touchstart"].join(" "),function(e){e.stopPropagation()})},e}),l=function(p){var h,f,e=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],t="onwheel"in document||9<=document.documentMode?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],g=Array.prototype.slice;if(p.event.fixHooks)for(var n=e.length;n;)p.event.fixHooks[e[--n]]=p.event.mouseHooks;var m=p.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var e=t.length;e;)this.addEventListener(t[--e],i,!1);else this.onmousewheel=i;p.data(this,"mousewheel-line-height",m.getLineHeight(this)),p.data(this,"mousewheel-page-height",m.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var e=t.length;e;)this.removeEventListener(t[--e],i,!1);else this.onmousewheel=null;p.removeData(this,"mousewheel-line-height"),p.removeData(this,"mousewheel-page-height")},getLineHeight:function(e){var t=p(e),n=t["offsetParent"in p.fn?"offsetParent":"parent"]();return n.length||(n=p("body")),parseInt(n.css("fontSize"),10)||parseInt(t.css("fontSize"),10)||16},getPageHeight:function(e){return p(e).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};function i(e){var t,n=e||window.event,i=g.call(arguments,1),r=0,o=0,s=0,a=0,l=0;if((e=p.event.fix(n)).type="mousewheel","detail"in n&&(s=-1*n.detail),"wheelDelta"in n&&(s=n.wheelDelta),"wheelDeltaY"in n&&(s=n.wheelDeltaY),"wheelDeltaX"in n&&(o=-1*n.wheelDeltaX),"axis"in n&&n.axis===n.HORIZONTAL_AXIS&&(o=-1*s,s=0),r=0===s?o:s,"deltaY"in n&&(r=s=-1*n.deltaY),"deltaX"in n&&(o=n.deltaX,0===s&&(r=-1*o)),0!==s||0!==o){if(1===n.deltaMode){var c=p.data(this,"mousewheel-line-height");r*=c,s*=c,o*=c}else if(2===n.deltaMode){var u=p.data(this,"mousewheel-page-height");r*=u,s*=u,o*=u}if(t=Math.max(Math.abs(s),Math.abs(o)),(!f||t<f)&&y(n,f=t)&&(f/=40),y(n,t)&&(r/=40,o/=40,s/=40),r=Math[1<=r?"floor":"ceil"](r/f),o=Math[1<=o?"floor":"ceil"](o/f),s=Math[1<=s?"floor":"ceil"](s/f),m.settings.normalizeOffset&&this.getBoundingClientRect){var d=this.getBoundingClientRect();a=e.clientX-d.left,l=e.clientY-d.top}return e.deltaX=o,e.deltaY=s,e.deltaFactor=f,e.offsetX=a,e.offsetY=l,e.deltaMode=0,i.unshift(e,r,o,s),h&&clearTimeout(h),h=setTimeout(v,200),(p.event.dispatch||p.event.handle).apply(this,i)}}function v(){f=null}function y(e,t){return m.settings.adjustOldDeltas&&"mousewheel"===e.type&&t%120==0}p.fn.extend({mousewheel:function(e){return e?this.bind("mousewheel",e):this.trigger("mousewheel")},unmousewheel:function(e){return this.unbind("mousewheel",e)}})},"function"==typeof e.define&&e.define.amd?e.define("jquery-mousewheel",["jquery"],l):"object"==typeof exports?module.exports=l:l(d),e.define("jquery.select2",["jquery","jquery-mousewheel","./select2/core","./select2/defaults","./select2/utils"],function(r,e,o,t,s){if(null==r.fn.select2){var a=["open","close","destroy"];r.fn.select2=function(t){if("object"==typeof(t=t||{}))return this.each(function(){var e=r.extend(!0,{},t);new o(r(this),e)}),this;if("string"!=typeof t)throw new Error("Invalid arguments for Select2: "+t);var n,i=Array.prototype.slice.call(arguments,1);return this.each(function(){var e=s.GetData(this,"select2");null==e&&window.console&&console.error&&console.error("The select2('"+t+"') method was called on an element that is not using Select2."),n=e[t].apply(e,i)}),-1<r.inArray(t,a)?this:n}}return null==r.fn.select2.defaults&&(r.fn.select2.defaults=t),o}),{define:e.define,require:e.require}}(),t=e.require("jquery.select2");return d.fn.select2.amd=e,t}); \ No newline at end of file diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/LICENSE.txt b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/LICENSE.txt deleted file mode 100644 index 43f08b4c..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/LICENSE.txt +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License - -Copyright (c) 2007-2017 Steven Levithan <http://xregexp.com/> - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.js deleted file mode 100644 index ded6f6fa..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.js +++ /dev/null @@ -1,4652 +0,0 @@ -(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.XRegExp = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){ -/*! - * XRegExp.build 3.2.0 - * <xregexp.com> - * Steven Levithan (c) 2012-2017 MIT License - * Inspired by Lea Verou's RegExp.create <lea.verou.me> - */ - -module.exports = function(XRegExp) { - 'use strict'; - - var REGEX_DATA = 'xregexp'; - var subParts = /(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*\]/g; - var parts = XRegExp.union([/\({{([\w$]+)}}\)|{{([\w$]+)}}/, subParts], 'g', { - conjunction: 'or' - }); - - /** - * Strips a leading `^` and trailing unescaped `$`, if both are present. - * - * @private - * @param {String} pattern Pattern to process. - * @returns {String} Pattern with edge anchors removed. - */ - function deanchor(pattern) { - // Allow any number of empty noncapturing groups before/after anchors, because regexes - // built/generated by XRegExp sometimes include them - var leadingAnchor = /^(?:\(\?:\))*\^/; - var trailingAnchor = /\$(?:\(\?:\))*$/; - - if ( - leadingAnchor.test(pattern) && - trailingAnchor.test(pattern) && - // Ensure that the trailing `$` isn't escaped - trailingAnchor.test(pattern.replace(/\\[\s\S]/g, '')) - ) { - return pattern.replace(leadingAnchor, '').replace(trailingAnchor, ''); - } - - return pattern; - } - - /** - * Converts the provided value to an XRegExp. Native RegExp flags are not preserved. - * - * @private - * @param {String|RegExp} value Value to convert. - * @param {Boolean} [addFlagX] Whether to apply the `x` flag in cases when `value` is not - * already a regex generated by XRegExp - * @returns {RegExp} XRegExp object with XRegExp syntax applied. - */ - function asXRegExp(value, addFlagX) { - var flags = addFlagX ? 'x' : ''; - return XRegExp.isRegExp(value) ? - (value[REGEX_DATA] && value[REGEX_DATA].captureNames ? - // Don't recompile, to preserve capture names - value : - // Recompile as XRegExp - XRegExp(value.source, flags) - ) : - // Compile string as XRegExp - XRegExp(value, flags); - } - - /** - * Builds regexes using named subpatterns, for readability and pattern reuse. Backreferences in - * the outer pattern and provided subpatterns are automatically renumbered to work correctly. - * Native flags used by provided subpatterns are ignored in favor of the `flags` argument. - * - * @memberOf XRegExp - * @param {String} pattern XRegExp pattern using `{{name}}` for embedded subpatterns. Allows - * `({{name}})` as shorthand for `(?<name>{{name}})`. Patterns cannot be embedded within - * character classes. - * @param {Object} subs Lookup object for named subpatterns. Values can be strings or regexes. A - * leading `^` and trailing unescaped `$` are stripped from subpatterns, if both are present. - * @param {String} [flags] Any combination of XRegExp flags. - * @returns {RegExp} Regex with interpolated subpatterns. - * @example - * - * var time = XRegExp.build('(?x)^ {{hours}} ({{minutes}}) $', { - * hours: XRegExp.build('{{h12}} : | {{h24}}', { - * h12: /1[0-2]|0?[1-9]/, - * h24: /2[0-3]|[01][0-9]/ - * }, 'x'), - * minutes: /^[0-5][0-9]$/ - * }); - * time.test('10:59'); // -> true - * XRegExp.exec('10:59', time).minutes; // -> '59' - */ - XRegExp.build = function(pattern, subs, flags) { - flags = flags || ''; - // Used with `asXRegExp` calls for `pattern` and subpatterns in `subs`, to work around how - // some browsers convert `RegExp('\n')` to a regex that contains the literal characters `\` - // and `n`. See more details at <https://github.com/slevithan/xregexp/pull/163>. - var addFlagX = flags.indexOf('x') > -1; - var inlineFlags = /^\(\?([\w$]+)\)/.exec(pattern); - // Add flags within a leading mode modifier to the overall pattern's flags - if (inlineFlags) { - flags = XRegExp._clipDuplicates(flags + inlineFlags[1]); - } - - var data = {}; - for (var p in subs) { - if (subs.hasOwnProperty(p)) { - // Passing to XRegExp enables extended syntax and ensures independent validity, - // lest an unescaped `(`, `)`, `[`, or trailing `\` breaks the `(?:)` wrapper. For - // subpatterns provided as native regexes, it dies on octals and adds the property - // used to hold extended regex instance data, for simplicity. - var sub = asXRegExp(subs[p], addFlagX); - data[p] = { - // Deanchoring allows embedding independently useful anchored regexes. If you - // really need to keep your anchors, double them (i.e., `^^...$$`). - pattern: deanchor(sub.source), - names: sub[REGEX_DATA].captureNames || [] - }; - } - } - - // Passing to XRegExp dies on octals and ensures the outer pattern is independently valid; - // helps keep this simple. Named captures will be put back. - var patternAsRegex = asXRegExp(pattern, addFlagX); - - // 'Caps' is short for 'captures' - var numCaps = 0; - var numPriorCaps; - var numOuterCaps = 0; - var outerCapsMap = [0]; - var outerCapNames = patternAsRegex[REGEX_DATA].captureNames || []; - var output = patternAsRegex.source.replace(parts, function($0, $1, $2, $3, $4) { - var subName = $1 || $2; - var capName; - var intro; - var localCapIndex; - // Named subpattern - if (subName) { - if (!data.hasOwnProperty(subName)) { - throw new ReferenceError('Undefined property ' + $0); - } - // Named subpattern was wrapped in a capturing group - if ($1) { - capName = outerCapNames[numOuterCaps]; - outerCapsMap[++numOuterCaps] = ++numCaps; - // If it's a named group, preserve the name. Otherwise, use the subpattern name - // as the capture name - intro = '(?<' + (capName || subName) + '>'; - } else { - intro = '(?:'; - } - numPriorCaps = numCaps; - return intro + data[subName].pattern.replace(subParts, function(match, paren, backref) { - // Capturing group - if (paren) { - capName = data[subName].names[numCaps - numPriorCaps]; - ++numCaps; - // If the current capture has a name, preserve the name - if (capName) { - return '(?<' + capName + '>'; - } - // Backreference - } else if (backref) { - localCapIndex = +backref - 1; - // Rewrite the backreference - return data[subName].names[localCapIndex] ? - // Need to preserve the backreference name in case using flag `n` - '\\k<' + data[subName].names[localCapIndex] + '>' : - '\\' + (+backref + numPriorCaps); - } - return match; - }) + ')'; - } - // Capturing group - if ($3) { - capName = outerCapNames[numOuterCaps]; - outerCapsMap[++numOuterCaps] = ++numCaps; - // If the current capture has a name, preserve the name - if (capName) { - return '(?<' + capName + '>'; - } - // Backreference - } else if ($4) { - localCapIndex = +$4 - 1; - // Rewrite the backreference - return outerCapNames[localCapIndex] ? - // Need to preserve the backreference name in case using flag `n` - '\\k<' + outerCapNames[localCapIndex] + '>' : - '\\' + outerCapsMap[+$4]; - } - return $0; - }); - - return XRegExp(output, flags); - }; - -}; - -},{}],2:[function(require,module,exports){ -/*! - * XRegExp.matchRecursive 3.2.0 - * <xregexp.com> - * Steven Levithan (c) 2009-2017 MIT License - */ - -module.exports = function(XRegExp) { - 'use strict'; - - /** - * Returns a match detail object composed of the provided values. - * - * @private - */ - function row(name, value, start, end) { - return { - name: name, - value: value, - start: start, - end: end - }; - } - - /** - * Returns an array of match strings between outermost left and right delimiters, or an array of - * objects with detailed match parts and position data. An error is thrown if delimiters are - * unbalanced within the data. - * - * @memberOf XRegExp - * @param {String} str String to search. - * @param {String} left Left delimiter as an XRegExp pattern. - * @param {String} right Right delimiter as an XRegExp pattern. - * @param {String} [flags] Any native or XRegExp flags, used for the left and right delimiters. - * @param {Object} [options] Lets you specify `valueNames` and `escapeChar` options. - * @returns {Array} Array of matches, or an empty array. - * @example - * - * // Basic usage - * var str = '(t((e))s)t()(ing)'; - * XRegExp.matchRecursive(str, '\\(', '\\)', 'g'); - * // -> ['t((e))s', '', 'ing'] - * - * // Extended information mode with valueNames - * str = 'Here is <div> <div>an</div></div> example'; - * XRegExp.matchRecursive(str, '<div\\s*>', '</div>', 'gi', { - * valueNames: ['between', 'left', 'match', 'right'] - * }); - * // -> [ - * // {name: 'between', value: 'Here is ', start: 0, end: 8}, - * // {name: 'left', value: '<div>', start: 8, end: 13}, - * // {name: 'match', value: ' <div>an</div>', start: 13, end: 27}, - * // {name: 'right', value: '</div>', start: 27, end: 33}, - * // {name: 'between', value: ' example', start: 33, end: 41} - * // ] - * - * // Omitting unneeded parts with null valueNames, and using escapeChar - * str = '...{1}.\\{{function(x,y){return {y:x}}}'; - * XRegExp.matchRecursive(str, '{', '}', 'g', { - * valueNames: ['literal', null, 'value', null], - * escapeChar: '\\' - * }); - * // -> [ - * // {name: 'literal', value: '...', start: 0, end: 3}, - * // {name: 'value', value: '1', start: 4, end: 5}, - * // {name: 'literal', value: '.\\{', start: 6, end: 9}, - * // {name: 'value', value: 'function(x,y){return {y:x}}', start: 10, end: 37} - * // ] - * - * // Sticky mode via flag y - * str = '<1><<<2>>><3>4<5>'; - * XRegExp.matchRecursive(str, '<', '>', 'gy'); - * // -> ['1', '<<2>>', '3'] - */ - XRegExp.matchRecursive = function(str, left, right, flags, options) { - flags = flags || ''; - options = options || {}; - var global = flags.indexOf('g') > -1; - var sticky = flags.indexOf('y') > -1; - // Flag `y` is controlled internally - var basicFlags = flags.replace(/y/g, ''); - var escapeChar = options.escapeChar; - var vN = options.valueNames; - var output = []; - var openTokens = 0; - var delimStart = 0; - var delimEnd = 0; - var lastOuterEnd = 0; - var outerStart; - var innerStart; - var leftMatch; - var rightMatch; - var esc; - left = XRegExp(left, basicFlags); - right = XRegExp(right, basicFlags); - - if (escapeChar) { - if (escapeChar.length > 1) { - throw new Error('Cannot use more than one escape character'); - } - escapeChar = XRegExp.escape(escapeChar); - // Example of concatenated `esc` regex: - // `escapeChar`: '%' - // `left`: '<' - // `right`: '>' - // Regex is: /(?:%[\S\s]|(?:(?!<|>)[^%])+)+/ - esc = new RegExp( - '(?:' + escapeChar + '[\\S\\s]|(?:(?!' + - // Using `XRegExp.union` safely rewrites backreferences in `left` and `right`. - // Intentionally not passing `basicFlags` to `XRegExp.union` since any syntax - // transformation resulting from those flags was already applied to `left` and - // `right` when they were passed through the XRegExp constructor above. - XRegExp.union([left, right], '', {conjunction: 'or'}).source + - ')[^' + escapeChar + '])+)+', - // Flags `gy` not needed here - flags.replace(/[^imu]+/g, '') - ); - } - - while (true) { - // If using an escape character, advance to the delimiter's next starting position, - // skipping any escaped characters in between - if (escapeChar) { - delimEnd += (XRegExp.exec(str, esc, delimEnd, 'sticky') || [''])[0].length; - } - leftMatch = XRegExp.exec(str, left, delimEnd); - rightMatch = XRegExp.exec(str, right, delimEnd); - // Keep the leftmost match only - if (leftMatch && rightMatch) { - if (leftMatch.index <= rightMatch.index) { - rightMatch = null; - } else { - leftMatch = null; - } - } - // Paths (LM: leftMatch, RM: rightMatch, OT: openTokens): - // LM | RM | OT | Result - // 1 | 0 | 1 | loop - // 1 | 0 | 0 | loop - // 0 | 1 | 1 | loop - // 0 | 1 | 0 | throw - // 0 | 0 | 1 | throw - // 0 | 0 | 0 | break - // The paths above don't include the sticky mode special case. The loop ends after the - // first completed match if not `global`. - if (leftMatch || rightMatch) { - delimStart = (leftMatch || rightMatch).index; - delimEnd = delimStart + (leftMatch || rightMatch)[0].length; - } else if (!openTokens) { - break; - } - if (sticky && !openTokens && delimStart > lastOuterEnd) { - break; - } - if (leftMatch) { - if (!openTokens) { - outerStart = delimStart; - innerStart = delimEnd; - } - ++openTokens; - } else if (rightMatch && openTokens) { - if (!--openTokens) { - if (vN) { - if (vN[0] && outerStart > lastOuterEnd) { - output.push(row(vN[0], str.slice(lastOuterEnd, outerStart), lastOuterEnd, outerStart)); - } - if (vN[1]) { - output.push(row(vN[1], str.slice(outerStart, innerStart), outerStart, innerStart)); - } - if (vN[2]) { - output.push(row(vN[2], str.slice(innerStart, delimStart), innerStart, delimStart)); - } - if (vN[3]) { - output.push(row(vN[3], str.slice(delimStart, delimEnd), delimStart, delimEnd)); - } - } else { - output.push(str.slice(innerStart, delimStart)); - } - lastOuterEnd = delimEnd; - if (!global) { - break; - } - } - } else { - throw new Error('Unbalanced delimiter found in string'); - } - // If the delimiter matched an empty string, avoid an infinite loop - if (delimStart === delimEnd) { - ++delimEnd; - } - } - - if (global && !sticky && vN && vN[0] && str.length > lastOuterEnd) { - output.push(row(vN[0], str.slice(lastOuterEnd), lastOuterEnd, str.length)); - } - - return output; - }; - -}; - -},{}],3:[function(require,module,exports){ -/*! - * XRegExp Unicode Base 3.2.0 - * <xregexp.com> - * Steven Levithan (c) 2008-2017 MIT License - */ - -module.exports = function(XRegExp) { - 'use strict'; - - /** - * Adds base support for Unicode matching: - * - Adds syntax `\p{..}` for matching Unicode tokens. Tokens can be inverted using `\P{..}` or - * `\p{^..}`. Token names ignore case, spaces, hyphens, and underscores. You can omit the - * braces for token names that are a single letter (e.g. `\pL` or `PL`). - * - Adds flag A (astral), which enables 21-bit Unicode support. - * - Adds the `XRegExp.addUnicodeData` method used by other addons to provide character data. - * - * Unicode Base relies on externally provided Unicode character data. Official addons are - * available to provide data for Unicode categories, scripts, blocks, and properties. - * - * @requires XRegExp - */ - - // ==--------------------------== - // Private stuff - // ==--------------------------== - - // Storage for Unicode data - var unicode = {}; - - // Reuse utils - var dec = XRegExp._dec; - var hex = XRegExp._hex; - var pad4 = XRegExp._pad4; - - // Generates a token lookup name: lowercase, with hyphens, spaces, and underscores removed - function normalize(name) { - return name.replace(/[- _]+/g, '').toLowerCase(); - } - - // Gets the decimal code of a literal code unit, \xHH, \uHHHH, or a backslash-escaped literal - function charCode(chr) { - var esc = /^\\[xu](.+)/.exec(chr); - return esc ? - dec(esc[1]) : - chr.charCodeAt(chr.charAt(0) === '\\' ? 1 : 0); - } - - // Inverts a list of ordered BMP characters and ranges - function invertBmp(range) { - var output = ''; - var lastEnd = -1; - - XRegExp.forEach( - range, - /(\\x..|\\u....|\\?[\s\S])(?:-(\\x..|\\u....|\\?[\s\S]))?/, - function(m) { - var start = charCode(m[1]); - if (start > (lastEnd + 1)) { - output += '\\u' + pad4(hex(lastEnd + 1)); - if (start > (lastEnd + 2)) { - output += '-\\u' + pad4(hex(start - 1)); - } - } - lastEnd = charCode(m[2] || m[1]); - } - ); - - if (lastEnd < 0xFFFF) { - output += '\\u' + pad4(hex(lastEnd + 1)); - if (lastEnd < 0xFFFE) { - output += '-\\uFFFF'; - } - } - - return output; - } - - // Generates an inverted BMP range on first use - function cacheInvertedBmp(slug) { - var prop = 'b!'; - return ( - unicode[slug][prop] || - (unicode[slug][prop] = invertBmp(unicode[slug].bmp)) - ); - } - - // Combines and optionally negates BMP and astral data - function buildAstral(slug, isNegated) { - var item = unicode[slug]; - var combined = ''; - - if (item.bmp && !item.isBmpLast) { - combined = '[' + item.bmp + ']' + (item.astral ? '|' : ''); - } - if (item.astral) { - combined += item.astral; - } - if (item.isBmpLast && item.bmp) { - combined += (item.astral ? '|' : '') + '[' + item.bmp + ']'; - } - - // Astral Unicode tokens always match a code point, never a code unit - return isNegated ? - '(?:(?!' + combined + ')(?:[\uD800-\uDBFF][\uDC00-\uDFFF]|[\0-\uFFFF]))' : - '(?:' + combined + ')'; - } - - // Builds a complete astral pattern on first use - function cacheAstral(slug, isNegated) { - var prop = isNegated ? 'a!' : 'a='; - return ( - unicode[slug][prop] || - (unicode[slug][prop] = buildAstral(slug, isNegated)) - ); - } - - // ==--------------------------== - // Core functionality - // ==--------------------------== - - /* - * Add astral mode (flag A) and Unicode token syntax: `\p{..}`, `\P{..}`, `\p{^..}`, `\pC`. - */ - XRegExp.addToken( - // Use `*` instead of `+` to avoid capturing `^` as the token name in `\p{^}` - /\\([pP])(?:{(\^?)([^}]*)}|([A-Za-z]))/, - function(match, scope, flags) { - var ERR_DOUBLE_NEG = 'Invalid double negation '; - var ERR_UNKNOWN_NAME = 'Unknown Unicode token '; - var ERR_UNKNOWN_REF = 'Unicode token missing data '; - var ERR_ASTRAL_ONLY = 'Astral mode required for Unicode token '; - var ERR_ASTRAL_IN_CLASS = 'Astral mode does not support Unicode tokens within character classes'; - // Negated via \P{..} or \p{^..} - var isNegated = match[1] === 'P' || !!match[2]; - // Switch from BMP (0-FFFF) to astral (0-10FFFF) mode via flag A - var isAstralMode = flags.indexOf('A') > -1; - // Token lookup name. Check `[4]` first to avoid passing `undefined` via `\p{}` - var slug = normalize(match[4] || match[3]); - // Token data object - var item = unicode[slug]; - - if (match[1] === 'P' && match[2]) { - throw new SyntaxError(ERR_DOUBLE_NEG + match[0]); - } - if (!unicode.hasOwnProperty(slug)) { - throw new SyntaxError(ERR_UNKNOWN_NAME + match[0]); - } - - // Switch to the negated form of the referenced Unicode token - if (item.inverseOf) { - slug = normalize(item.inverseOf); - if (!unicode.hasOwnProperty(slug)) { - throw new ReferenceError(ERR_UNKNOWN_REF + match[0] + ' -> ' + item.inverseOf); - } - item = unicode[slug]; - isNegated = !isNegated; - } - - if (!(item.bmp || isAstralMode)) { - throw new SyntaxError(ERR_ASTRAL_ONLY + match[0]); - } - if (isAstralMode) { - if (scope === 'class') { - throw new SyntaxError(ERR_ASTRAL_IN_CLASS); - } - - return cacheAstral(slug, isNegated); - } - - return scope === 'class' ? - (isNegated ? cacheInvertedBmp(slug) : item.bmp) : - (isNegated ? '[^' : '[') + item.bmp + ']'; - }, - { - scope: 'all', - optionalFlags: 'A', - leadChar: '\\' - } - ); - - /** - * Adds to the list of Unicode tokens that XRegExp regexes can match via `\p` or `\P`. - * - * @memberOf XRegExp - * @param {Array} data Objects with named character ranges. Each object may have properties - * `name`, `alias`, `isBmpLast`, `inverseOf`, `bmp`, and `astral`. All but `name` are - * optional, although one of `bmp` or `astral` is required (unless `inverseOf` is set). If - * `astral` is absent, the `bmp` data is used for BMP and astral modes. If `bmp` is absent, - * the name errors in BMP mode but works in astral mode. If both `bmp` and `astral` are - * provided, the `bmp` data only is used in BMP mode, and the combination of `bmp` and - * `astral` data is used in astral mode. `isBmpLast` is needed when a token matches orphan - * high surrogates *and* uses surrogate pairs to match astral code points. The `bmp` and - * `astral` data should be a combination of literal characters and `\xHH` or `\uHHHH` escape - * sequences, with hyphens to create ranges. Any regex metacharacters in the data should be - * escaped, apart from range-creating hyphens. The `astral` data can additionally use - * character classes and alternation, and should use surrogate pairs to represent astral code - * points. `inverseOf` can be used to avoid duplicating character data if a Unicode token is - * defined as the exact inverse of another token. - * @example - * - * // Basic use - * XRegExp.addUnicodeData([{ - * name: 'XDigit', - * alias: 'Hexadecimal', - * bmp: '0-9A-Fa-f' - * }]); - * XRegExp('\\p{XDigit}:\\p{Hexadecimal}+').test('0:3D'); // -> true - */ - XRegExp.addUnicodeData = function(data) { - var ERR_NO_NAME = 'Unicode token requires name'; - var ERR_NO_DATA = 'Unicode token has no character data '; - var item; - - for (var i = 0; i < data.length; ++i) { - item = data[i]; - if (!item.name) { - throw new Error(ERR_NO_NAME); - } - if (!(item.inverseOf || item.bmp || item.astral)) { - throw new Error(ERR_NO_DATA + item.name); - } - unicode[normalize(item.name)] = item; - if (item.alias) { - unicode[normalize(item.alias)] = item; - } - } - - // Reset the pattern cache used by the `XRegExp` constructor, since the same pattern and - // flags might now produce different results - XRegExp.cache.flush('patterns'); - }; - - /** - * @ignore - * - * Return a reference to the internal Unicode definition structure for the given Unicode - * Property if the given name is a legal Unicode Property for use in XRegExp `\p` or `\P` regex - * constructs. - * - * @memberOf XRegExp - * @param {String} name Name by which the Unicode Property may be recognized (case-insensitive), - * e.g. `'N'` or `'Number'`. The given name is matched against all registered Unicode - * Properties and Property Aliases. - * @returns {Object} Reference to definition structure when the name matches a Unicode Property. - * - * @note - * For more info on Unicode Properties, see also http://unicode.org/reports/tr18/#Categories. - * - * @note - * This method is *not* part of the officially documented API and may change or be removed in - * the future. It is meant for userland code that wishes to reuse the (large) internal Unicode - * structures set up by XRegExp. - */ - XRegExp._getUnicodeProperty = function(name) { - var slug = normalize(name); - return unicode[slug]; - }; - -}; - -},{}],4:[function(require,module,exports){ -/*! - * XRegExp Unicode Blocks 3.2.0 - * <xregexp.com> - * Steven Levithan (c) 2010-2017 MIT License - * Unicode data by Mathias Bynens <mathiasbynens.be> - */ - -module.exports = function(XRegExp) { - 'use strict'; - - /** - * Adds support for all Unicode blocks. Block names use the prefix 'In'. E.g., - * `\p{InBasicLatin}`. Token names are case insensitive, and any spaces, hyphens, and - * underscores are ignored. - * - * Uses Unicode 9.0.0. - * - * @requires XRegExp, Unicode Base - */ - - if (!XRegExp.addUnicodeData) { - throw new ReferenceError('Unicode Base must be loaded before Unicode Blocks'); - } - - XRegExp.addUnicodeData([ - { - name: 'InAdlam', - astral: '\uD83A[\uDD00-\uDD5F]' - }, - { - name: 'InAegean_Numbers', - astral: '\uD800[\uDD00-\uDD3F]' - }, - { - name: 'InAhom', - astral: '\uD805[\uDF00-\uDF3F]' - }, - { - name: 'InAlchemical_Symbols', - astral: '\uD83D[\uDF00-\uDF7F]' - }, - { - name: 'InAlphabetic_Presentation_Forms', - bmp: '\uFB00-\uFB4F' - }, - { - name: 'InAnatolian_Hieroglyphs', - astral: '\uD811[\uDC00-\uDE7F]' - }, - { - name: 'InAncient_Greek_Musical_Notation', - astral: '\uD834[\uDE00-\uDE4F]' - }, - { - name: 'InAncient_Greek_Numbers', - astral: '\uD800[\uDD40-\uDD8F]' - }, - { - name: 'InAncient_Symbols', - astral: '\uD800[\uDD90-\uDDCF]' - }, - { - name: 'InArabic', - bmp: '\u0600-\u06FF' - }, - { - name: 'InArabic_Extended_A', - bmp: '\u08A0-\u08FF' - }, - { - name: 'InArabic_Mathematical_Alphabetic_Symbols', - astral: '\uD83B[\uDE00-\uDEFF]' - }, - { - name: 'InArabic_Presentation_Forms_A', - bmp: '\uFB50-\uFDFF' - }, - { - name: 'InArabic_Presentation_Forms_B', - bmp: '\uFE70-\uFEFF' - }, - { - name: 'InArabic_Supplement', - bmp: '\u0750-\u077F' - }, - { - name: 'InArmenian', - bmp: '\u0530-\u058F' - }, - { - name: 'InArrows', - bmp: '\u2190-\u21FF' - }, - { - name: 'InAvestan', - astral: '\uD802[\uDF00-\uDF3F]' - }, - { - name: 'InBalinese', - bmp: '\u1B00-\u1B7F' - }, - { - name: 'InBamum', - bmp: '\uA6A0-\uA6FF' - }, - { - name: 'InBamum_Supplement', - astral: '\uD81A[\uDC00-\uDE3F]' - }, - { - name: 'InBasic_Latin', - bmp: '\0-\x7F' - }, - { - name: 'InBassa_Vah', - astral: '\uD81A[\uDED0-\uDEFF]' - }, - { - name: 'InBatak', - bmp: '\u1BC0-\u1BFF' - }, - { - name: 'InBengali', - bmp: '\u0980-\u09FF' - }, - { - name: 'InBhaiksuki', - astral: '\uD807[\uDC00-\uDC6F]' - }, - { - name: 'InBlock_Elements', - bmp: '\u2580-\u259F' - }, - { - name: 'InBopomofo', - bmp: '\u3100-\u312F' - }, - { - name: 'InBopomofo_Extended', - bmp: '\u31A0-\u31BF' - }, - { - name: 'InBox_Drawing', - bmp: '\u2500-\u257F' - }, - { - name: 'InBrahmi', - astral: '\uD804[\uDC00-\uDC7F]' - }, - { - name: 'InBraille_Patterns', - bmp: '\u2800-\u28FF' - }, - { - name: 'InBuginese', - bmp: '\u1A00-\u1A1F' - }, - { - name: 'InBuhid', - bmp: '\u1740-\u175F' - }, - { - name: 'InByzantine_Musical_Symbols', - astral: '\uD834[\uDC00-\uDCFF]' - }, - { - name: 'InCJK_Compatibility', - bmp: '\u3300-\u33FF' - }, - { - name: 'InCJK_Compatibility_Forms', - bmp: '\uFE30-\uFE4F' - }, - { - name: 'InCJK_Compatibility_Ideographs', - bmp: '\uF900-\uFAFF' - }, - { - name: 'InCJK_Compatibility_Ideographs_Supplement', - astral: '\uD87E[\uDC00-\uDE1F]' - }, - { - name: 'InCJK_Radicals_Supplement', - bmp: '\u2E80-\u2EFF' - }, - { - name: 'InCJK_Strokes', - bmp: '\u31C0-\u31EF' - }, - { - name: 'InCJK_Symbols_and_Punctuation', - bmp: '\u3000-\u303F' - }, - { - name: 'InCJK_Unified_Ideographs', - bmp: '\u4E00-\u9FFF' - }, - { - name: 'InCJK_Unified_Ideographs_Extension_A', - bmp: '\u3400-\u4DBF' - }, - { - name: 'InCJK_Unified_Ideographs_Extension_B', - astral: '[\uD840-\uD868][\uDC00-\uDFFF]|\uD869[\uDC00-\uDEDF]' - }, - { - name: 'InCJK_Unified_Ideographs_Extension_C', - astral: '\uD869[\uDF00-\uDFFF]|[\uD86A-\uD86C][\uDC00-\uDFFF]|\uD86D[\uDC00-\uDF3F]' - }, - { - name: 'InCJK_Unified_Ideographs_Extension_D', - astral: '\uD86D[\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1F]' - }, - { - name: 'InCJK_Unified_Ideographs_Extension_E', - astral: '\uD86E[\uDC20-\uDFFF]|[\uD86F-\uD872][\uDC00-\uDFFF]|\uD873[\uDC00-\uDEAF]' - }, - { - name: 'InCarian', - astral: '\uD800[\uDEA0-\uDEDF]' - }, - { - name: 'InCaucasian_Albanian', - astral: '\uD801[\uDD30-\uDD6F]' - }, - { - name: 'InChakma', - astral: '\uD804[\uDD00-\uDD4F]' - }, - { - name: 'InCham', - bmp: '\uAA00-\uAA5F' - }, - { - name: 'InCherokee', - bmp: '\u13A0-\u13FF' - }, - { - name: 'InCherokee_Supplement', - bmp: '\uAB70-\uABBF' - }, - { - name: 'InCombining_Diacritical_Marks', - bmp: '\u0300-\u036F' - }, - { - name: 'InCombining_Diacritical_Marks_Extended', - bmp: '\u1AB0-\u1AFF' - }, - { - name: 'InCombining_Diacritical_Marks_Supplement', - bmp: '\u1DC0-\u1DFF' - }, - { - name: 'InCombining_Diacritical_Marks_for_Symbols', - bmp: '\u20D0-\u20FF' - }, - { - name: 'InCombining_Half_Marks', - bmp: '\uFE20-\uFE2F' - }, - { - name: 'InCommon_Indic_Number_Forms', - bmp: '\uA830-\uA83F' - }, - { - name: 'InControl_Pictures', - bmp: '\u2400-\u243F' - }, - { - name: 'InCoptic', - bmp: '\u2C80-\u2CFF' - }, - { - name: 'InCoptic_Epact_Numbers', - astral: '\uD800[\uDEE0-\uDEFF]' - }, - { - name: 'InCounting_Rod_Numerals', - astral: '\uD834[\uDF60-\uDF7F]' - }, - { - name: 'InCuneiform', - astral: '\uD808[\uDC00-\uDFFF]' - }, - { - name: 'InCuneiform_Numbers_and_Punctuation', - astral: '\uD809[\uDC00-\uDC7F]' - }, - { - name: 'InCurrency_Symbols', - bmp: '\u20A0-\u20CF' - }, - { - name: 'InCypriot_Syllabary', - astral: '\uD802[\uDC00-\uDC3F]' - }, - { - name: 'InCyrillic', - bmp: '\u0400-\u04FF' - }, - { - name: 'InCyrillic_Extended_A', - bmp: '\u2DE0-\u2DFF' - }, - { - name: 'InCyrillic_Extended_B', - bmp: '\uA640-\uA69F' - }, - { - name: 'InCyrillic_Extended_C', - bmp: '\u1C80-\u1C8F' - }, - { - name: 'InCyrillic_Supplement', - bmp: '\u0500-\u052F' - }, - { - name: 'InDeseret', - astral: '\uD801[\uDC00-\uDC4F]' - }, - { - name: 'InDevanagari', - bmp: '\u0900-\u097F' - }, - { - name: 'InDevanagari_Extended', - bmp: '\uA8E0-\uA8FF' - }, - { - name: 'InDingbats', - bmp: '\u2700-\u27BF' - }, - { - name: 'InDomino_Tiles', - astral: '\uD83C[\uDC30-\uDC9F]' - }, - { - name: 'InDuployan', - astral: '\uD82F[\uDC00-\uDC9F]' - }, - { - name: 'InEarly_Dynastic_Cuneiform', - astral: '\uD809[\uDC80-\uDD4F]' - }, - { - name: 'InEgyptian_Hieroglyphs', - astral: '\uD80C[\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F]' - }, - { - name: 'InElbasan', - astral: '\uD801[\uDD00-\uDD2F]' - }, - { - name: 'InEmoticons', - astral: '\uD83D[\uDE00-\uDE4F]' - }, - { - name: 'InEnclosed_Alphanumeric_Supplement', - astral: '\uD83C[\uDD00-\uDDFF]' - }, - { - name: 'InEnclosed_Alphanumerics', - bmp: '\u2460-\u24FF' - }, - { - name: 'InEnclosed_CJK_Letters_and_Months', - bmp: '\u3200-\u32FF' - }, - { - name: 'InEnclosed_Ideographic_Supplement', - astral: '\uD83C[\uDE00-\uDEFF]' - }, - { - name: 'InEthiopic', - bmp: '\u1200-\u137F' - }, - { - name: 'InEthiopic_Extended', - bmp: '\u2D80-\u2DDF' - }, - { - name: 'InEthiopic_Extended_A', - bmp: '\uAB00-\uAB2F' - }, - { - name: 'InEthiopic_Supplement', - bmp: '\u1380-\u139F' - }, - { - name: 'InGeneral_Punctuation', - bmp: '\u2000-\u206F' - }, - { - name: 'InGeometric_Shapes', - bmp: '\u25A0-\u25FF' - }, - { - name: 'InGeometric_Shapes_Extended', - astral: '\uD83D[\uDF80-\uDFFF]' - }, - { - name: 'InGeorgian', - bmp: '\u10A0-\u10FF' - }, - { - name: 'InGeorgian_Supplement', - bmp: '\u2D00-\u2D2F' - }, - { - name: 'InGlagolitic', - bmp: '\u2C00-\u2C5F' - }, - { - name: 'InGlagolitic_Supplement', - astral: '\uD838[\uDC00-\uDC2F]' - }, - { - name: 'InGothic', - astral: '\uD800[\uDF30-\uDF4F]' - }, - { - name: 'InGrantha', - astral: '\uD804[\uDF00-\uDF7F]' - }, - { - name: 'InGreek_Extended', - bmp: '\u1F00-\u1FFF' - }, - { - name: 'InGreek_and_Coptic', - bmp: '\u0370-\u03FF' - }, - { - name: 'InGujarati', - bmp: '\u0A80-\u0AFF' - }, - { - name: 'InGurmukhi', - bmp: '\u0A00-\u0A7F' - }, - { - name: 'InHalfwidth_and_Fullwidth_Forms', - bmp: '\uFF00-\uFFEF' - }, - { - name: 'InHangul_Compatibility_Jamo', - bmp: '\u3130-\u318F' - }, - { - name: 'InHangul_Jamo', - bmp: '\u1100-\u11FF' - }, - { - name: 'InHangul_Jamo_Extended_A', - bmp: '\uA960-\uA97F' - }, - { - name: 'InHangul_Jamo_Extended_B', - bmp: '\uD7B0-\uD7FF' - }, - { - name: 'InHangul_Syllables', - bmp: '\uAC00-\uD7AF' - }, - { - name: 'InHanunoo', - bmp: '\u1720-\u173F' - }, - { - name: 'InHatran', - astral: '\uD802[\uDCE0-\uDCFF]' - }, - { - name: 'InHebrew', - bmp: '\u0590-\u05FF' - }, - { - name: 'InHigh_Private_Use_Surrogates', - bmp: '\uDB80-\uDBFF' - }, - { - name: 'InHigh_Surrogates', - bmp: '\uD800-\uDB7F' - }, - { - name: 'InHiragana', - bmp: '\u3040-\u309F' - }, - { - name: 'InIPA_Extensions', - bmp: '\u0250-\u02AF' - }, - { - name: 'InIdeographic_Description_Characters', - bmp: '\u2FF0-\u2FFF' - }, - { - name: 'InIdeographic_Symbols_and_Punctuation', - astral: '\uD81B[\uDFE0-\uDFFF]' - }, - { - name: 'InImperial_Aramaic', - astral: '\uD802[\uDC40-\uDC5F]' - }, - { - name: 'InInscriptional_Pahlavi', - astral: '\uD802[\uDF60-\uDF7F]' - }, - { - name: 'InInscriptional_Parthian', - astral: '\uD802[\uDF40-\uDF5F]' - }, - { - name: 'InJavanese', - bmp: '\uA980-\uA9DF' - }, - { - name: 'InKaithi', - astral: '\uD804[\uDC80-\uDCCF]' - }, - { - name: 'InKana_Supplement', - astral: '\uD82C[\uDC00-\uDCFF]' - }, - { - name: 'InKanbun', - bmp: '\u3190-\u319F' - }, - { - name: 'InKangxi_Radicals', - bmp: '\u2F00-\u2FDF' - }, - { - name: 'InKannada', - bmp: '\u0C80-\u0CFF' - }, - { - name: 'InKatakana', - bmp: '\u30A0-\u30FF' - }, - { - name: 'InKatakana_Phonetic_Extensions', - bmp: '\u31F0-\u31FF' - }, - { - name: 'InKayah_Li', - bmp: '\uA900-\uA92F' - }, - { - name: 'InKharoshthi', - astral: '\uD802[\uDE00-\uDE5F]' - }, - { - name: 'InKhmer', - bmp: '\u1780-\u17FF' - }, - { - name: 'InKhmer_Symbols', - bmp: '\u19E0-\u19FF' - }, - { - name: 'InKhojki', - astral: '\uD804[\uDE00-\uDE4F]' - }, - { - name: 'InKhudawadi', - astral: '\uD804[\uDEB0-\uDEFF]' - }, - { - name: 'InLao', - bmp: '\u0E80-\u0EFF' - }, - { - name: 'InLatin_Extended_Additional', - bmp: '\u1E00-\u1EFF' - }, - { - name: 'InLatin_Extended_A', - bmp: '\u0100-\u017F' - }, - { - name: 'InLatin_Extended_B', - bmp: '\u0180-\u024F' - }, - { - name: 'InLatin_Extended_C', - bmp: '\u2C60-\u2C7F' - }, - { - name: 'InLatin_Extended_D', - bmp: '\uA720-\uA7FF' - }, - { - name: 'InLatin_Extended_E', - bmp: '\uAB30-\uAB6F' - }, - { - name: 'InLatin_1_Supplement', - bmp: '\x80-\xFF' - }, - { - name: 'InLepcha', - bmp: '\u1C00-\u1C4F' - }, - { - name: 'InLetterlike_Symbols', - bmp: '\u2100-\u214F' - }, - { - name: 'InLimbu', - bmp: '\u1900-\u194F' - }, - { - name: 'InLinear_A', - astral: '\uD801[\uDE00-\uDF7F]' - }, - { - name: 'InLinear_B_Ideograms', - astral: '\uD800[\uDC80-\uDCFF]' - }, - { - name: 'InLinear_B_Syllabary', - astral: '\uD800[\uDC00-\uDC7F]' - }, - { - name: 'InLisu', - bmp: '\uA4D0-\uA4FF' - }, - { - name: 'InLow_Surrogates', - bmp: '\uDC00-\uDFFF' - }, - { - name: 'InLycian', - astral: '\uD800[\uDE80-\uDE9F]' - }, - { - name: 'InLydian', - astral: '\uD802[\uDD20-\uDD3F]' - }, - { - name: 'InMahajani', - astral: '\uD804[\uDD50-\uDD7F]' - }, - { - name: 'InMahjong_Tiles', - astral: '\uD83C[\uDC00-\uDC2F]' - }, - { - name: 'InMalayalam', - bmp: '\u0D00-\u0D7F' - }, - { - name: 'InMandaic', - bmp: '\u0840-\u085F' - }, - { - name: 'InManichaean', - astral: '\uD802[\uDEC0-\uDEFF]' - }, - { - name: 'InMarchen', - astral: '\uD807[\uDC70-\uDCBF]' - }, - { - name: 'InMathematical_Alphanumeric_Symbols', - astral: '\uD835[\uDC00-\uDFFF]' - }, - { - name: 'InMathematical_Operators', - bmp: '\u2200-\u22FF' - }, - { - name: 'InMeetei_Mayek', - bmp: '\uABC0-\uABFF' - }, - { - name: 'InMeetei_Mayek_Extensions', - bmp: '\uAAE0-\uAAFF' - }, - { - name: 'InMende_Kikakui', - astral: '\uD83A[\uDC00-\uDCDF]' - }, - { - name: 'InMeroitic_Cursive', - astral: '\uD802[\uDDA0-\uDDFF]' - }, - { - name: 'InMeroitic_Hieroglyphs', - astral: '\uD802[\uDD80-\uDD9F]' - }, - { - name: 'InMiao', - astral: '\uD81B[\uDF00-\uDF9F]' - }, - { - name: 'InMiscellaneous_Mathematical_Symbols_A', - bmp: '\u27C0-\u27EF' - }, - { - name: 'InMiscellaneous_Mathematical_Symbols_B', - bmp: '\u2980-\u29FF' - }, - { - name: 'InMiscellaneous_Symbols', - bmp: '\u2600-\u26FF' - }, - { - name: 'InMiscellaneous_Symbols_and_Arrows', - bmp: '\u2B00-\u2BFF' - }, - { - name: 'InMiscellaneous_Symbols_and_Pictographs', - astral: '\uD83C[\uDF00-\uDFFF]|\uD83D[\uDC00-\uDDFF]' - }, - { - name: 'InMiscellaneous_Technical', - bmp: '\u2300-\u23FF' - }, - { - name: 'InModi', - astral: '\uD805[\uDE00-\uDE5F]' - }, - { - name: 'InModifier_Tone_Letters', - bmp: '\uA700-\uA71F' - }, - { - name: 'InMongolian', - bmp: '\u1800-\u18AF' - }, - { - name: 'InMongolian_Supplement', - astral: '\uD805[\uDE60-\uDE7F]' - }, - { - name: 'InMro', - astral: '\uD81A[\uDE40-\uDE6F]' - }, - { - name: 'InMultani', - astral: '\uD804[\uDE80-\uDEAF]' - }, - { - name: 'InMusical_Symbols', - astral: '\uD834[\uDD00-\uDDFF]' - }, - { - name: 'InMyanmar', - bmp: '\u1000-\u109F' - }, - { - name: 'InMyanmar_Extended_A', - bmp: '\uAA60-\uAA7F' - }, - { - name: 'InMyanmar_Extended_B', - bmp: '\uA9E0-\uA9FF' - }, - { - name: 'InNKo', - bmp: '\u07C0-\u07FF' - }, - { - name: 'InNabataean', - astral: '\uD802[\uDC80-\uDCAF]' - }, - { - name: 'InNew_Tai_Lue', - bmp: '\u1980-\u19DF' - }, - { - name: 'InNewa', - astral: '\uD805[\uDC00-\uDC7F]' - }, - { - name: 'InNumber_Forms', - bmp: '\u2150-\u218F' - }, - { - name: 'InOgham', - bmp: '\u1680-\u169F' - }, - { - name: 'InOl_Chiki', - bmp: '\u1C50-\u1C7F' - }, - { - name: 'InOld_Hungarian', - astral: '\uD803[\uDC80-\uDCFF]' - }, - { - name: 'InOld_Italic', - astral: '\uD800[\uDF00-\uDF2F]' - }, - { - name: 'InOld_North_Arabian', - astral: '\uD802[\uDE80-\uDE9F]' - }, - { - name: 'InOld_Permic', - astral: '\uD800[\uDF50-\uDF7F]' - }, - { - name: 'InOld_Persian', - astral: '\uD800[\uDFA0-\uDFDF]' - }, - { - name: 'InOld_South_Arabian', - astral: '\uD802[\uDE60-\uDE7F]' - }, - { - name: 'InOld_Turkic', - astral: '\uD803[\uDC00-\uDC4F]' - }, - { - name: 'InOptical_Character_Recognition', - bmp: '\u2440-\u245F' - }, - { - name: 'InOriya', - bmp: '\u0B00-\u0B7F' - }, - { - name: 'InOrnamental_Dingbats', - astral: '\uD83D[\uDE50-\uDE7F]' - }, - { - name: 'InOsage', - astral: '\uD801[\uDCB0-\uDCFF]' - }, - { - name: 'InOsmanya', - astral: '\uD801[\uDC80-\uDCAF]' - }, - { - name: 'InPahawh_Hmong', - astral: '\uD81A[\uDF00-\uDF8F]' - }, - { - name: 'InPalmyrene', - astral: '\uD802[\uDC60-\uDC7F]' - }, - { - name: 'InPau_Cin_Hau', - astral: '\uD806[\uDEC0-\uDEFF]' - }, - { - name: 'InPhags_pa', - bmp: '\uA840-\uA87F' - }, - { - name: 'InPhaistos_Disc', - astral: '\uD800[\uDDD0-\uDDFF]' - }, - { - name: 'InPhoenician', - astral: '\uD802[\uDD00-\uDD1F]' - }, - { - name: 'InPhonetic_Extensions', - bmp: '\u1D00-\u1D7F' - }, - { - name: 'InPhonetic_Extensions_Supplement', - bmp: '\u1D80-\u1DBF' - }, - { - name: 'InPlaying_Cards', - astral: '\uD83C[\uDCA0-\uDCFF]' - }, - { - name: 'InPrivate_Use_Area', - bmp: '\uE000-\uF8FF' - }, - { - name: 'InPsalter_Pahlavi', - astral: '\uD802[\uDF80-\uDFAF]' - }, - { - name: 'InRejang', - bmp: '\uA930-\uA95F' - }, - { - name: 'InRumi_Numeral_Symbols', - astral: '\uD803[\uDE60-\uDE7F]' - }, - { - name: 'InRunic', - bmp: '\u16A0-\u16FF' - }, - { - name: 'InSamaritan', - bmp: '\u0800-\u083F' - }, - { - name: 'InSaurashtra', - bmp: '\uA880-\uA8DF' - }, - { - name: 'InSharada', - astral: '\uD804[\uDD80-\uDDDF]' - }, - { - name: 'InShavian', - astral: '\uD801[\uDC50-\uDC7F]' - }, - { - name: 'InShorthand_Format_Controls', - astral: '\uD82F[\uDCA0-\uDCAF]' - }, - { - name: 'InSiddham', - astral: '\uD805[\uDD80-\uDDFF]' - }, - { - name: 'InSinhala', - bmp: '\u0D80-\u0DFF' - }, - { - name: 'InSinhala_Archaic_Numbers', - astral: '\uD804[\uDDE0-\uDDFF]' - }, - { - name: 'InSmall_Form_Variants', - bmp: '\uFE50-\uFE6F' - }, - { - name: 'InSora_Sompeng', - astral: '\uD804[\uDCD0-\uDCFF]' - }, - { - name: 'InSpacing_Modifier_Letters', - bmp: '\u02B0-\u02FF' - }, - { - name: 'InSpecials', - bmp: '\uFFF0-\uFFFF' - }, - { - name: 'InSundanese', - bmp: '\u1B80-\u1BBF' - }, - { - name: 'InSundanese_Supplement', - bmp: '\u1CC0-\u1CCF' - }, - { - name: 'InSuperscripts_and_Subscripts', - bmp: '\u2070-\u209F' - }, - { - name: 'InSupplemental_Arrows_A', - bmp: '\u27F0-\u27FF' - }, - { - name: 'InSupplemental_Arrows_B', - bmp: '\u2900-\u297F' - }, - { - name: 'InSupplemental_Arrows_C', - astral: '\uD83E[\uDC00-\uDCFF]' - }, - { - name: 'InSupplemental_Mathematical_Operators', - bmp: '\u2A00-\u2AFF' - }, - { - name: 'InSupplemental_Punctuation', - bmp: '\u2E00-\u2E7F' - }, - { - name: 'InSupplemental_Symbols_and_Pictographs', - astral: '\uD83E[\uDD00-\uDDFF]' - }, - { - name: 'InSupplementary_Private_Use_Area_A', - astral: '[\uDB80-\uDBBF][\uDC00-\uDFFF]' - }, - { - name: 'InSupplementary_Private_Use_Area_B', - astral: '[\uDBC0-\uDBFF][\uDC00-\uDFFF]' - }, - { - name: 'InSutton_SignWriting', - astral: '\uD836[\uDC00-\uDEAF]' - }, - { - name: 'InSyloti_Nagri', - bmp: '\uA800-\uA82F' - }, - { - name: 'InSyriac', - bmp: '\u0700-\u074F' - }, - { - name: 'InTagalog', - bmp: '\u1700-\u171F' - }, - { - name: 'InTagbanwa', - bmp: '\u1760-\u177F' - }, - { - name: 'InTags', - astral: '\uDB40[\uDC00-\uDC7F]' - }, - { - name: 'InTai_Le', - bmp: '\u1950-\u197F' - }, - { - name: 'InTai_Tham', - bmp: '\u1A20-\u1AAF' - }, - { - name: 'InTai_Viet', - bmp: '\uAA80-\uAADF' - }, - { - name: 'InTai_Xuan_Jing_Symbols', - astral: '\uD834[\uDF00-\uDF5F]' - }, - { - name: 'InTakri', - astral: '\uD805[\uDE80-\uDECF]' - }, - { - name: 'InTamil', - bmp: '\u0B80-\u0BFF' - }, - { - name: 'InTangut', - astral: '[\uD81C-\uD821][\uDC00-\uDFFF]' - }, - { - name: 'InTangut_Components', - astral: '\uD822[\uDC00-\uDEFF]' - }, - { - name: 'InTelugu', - bmp: '\u0C00-\u0C7F' - }, - { - name: 'InThaana', - bmp: '\u0780-\u07BF' - }, - { - name: 'InThai', - bmp: '\u0E00-\u0E7F' - }, - { - name: 'InTibetan', - bmp: '\u0F00-\u0FFF' - }, - { - name: 'InTifinagh', - bmp: '\u2D30-\u2D7F' - }, - { - name: 'InTirhuta', - astral: '\uD805[\uDC80-\uDCDF]' - }, - { - name: 'InTransport_and_Map_Symbols', - astral: '\uD83D[\uDE80-\uDEFF]' - }, - { - name: 'InUgaritic', - astral: '\uD800[\uDF80-\uDF9F]' - }, - { - name: 'InUnified_Canadian_Aboriginal_Syllabics', - bmp: '\u1400-\u167F' - }, - { - name: 'InUnified_Canadian_Aboriginal_Syllabics_Extended', - bmp: '\u18B0-\u18FF' - }, - { - name: 'InVai', - bmp: '\uA500-\uA63F' - }, - { - name: 'InVariation_Selectors', - bmp: '\uFE00-\uFE0F' - }, - { - name: 'InVariation_Selectors_Supplement', - astral: '\uDB40[\uDD00-\uDDEF]' - }, - { - name: 'InVedic_Extensions', - bmp: '\u1CD0-\u1CFF' - }, - { - name: 'InVertical_Forms', - bmp: '\uFE10-\uFE1F' - }, - { - name: 'InWarang_Citi', - astral: '\uD806[\uDCA0-\uDCFF]' - }, - { - name: 'InYi_Radicals', - bmp: '\uA490-\uA4CF' - }, - { - name: 'InYi_Syllables', - bmp: '\uA000-\uA48F' - }, - { - name: 'InYijing_Hexagram_Symbols', - bmp: '\u4DC0-\u4DFF' - } - ]); - -}; - -},{}],5:[function(require,module,exports){ -/*! - * XRegExp Unicode Categories 3.2.0 - * <xregexp.com> - * Steven Levithan (c) 2010-2017 MIT License - * Unicode data by Mathias Bynens <mathiasbynens.be> - */ - -module.exports = function(XRegExp) { - 'use strict'; - - /** - * Adds support for Unicode's general categories. E.g., `\p{Lu}` or `\p{Uppercase Letter}`. See - * category descriptions in UAX #44 <http://unicode.org/reports/tr44/#GC_Values_Table>. Token - * names are case insensitive, and any spaces, hyphens, and underscores are ignored. - * - * Uses Unicode 9.0.0. - * - * @requires XRegExp, Unicode Base - */ - - if (!XRegExp.addUnicodeData) { - throw new ReferenceError('Unicode Base must be loaded before Unicode Categories'); - } - - XRegExp.addUnicodeData([ - { - name: 'C', - alias: 'Other', - isBmpLast: true, - bmp: '\0-\x1F\x7F-\x9F\xAD\u0378\u0379\u0380-\u0383\u038B\u038D\u03A2\u0530\u0557\u0558\u0560\u0588\u058B\u058C\u0590\u05C8-\u05CF\u05EB-\u05EF\u05F5-\u0605\u061C\u061D\u06DD\u070E\u070F\u074B\u074C\u07B2-\u07BF\u07FB-\u07FF\u082E\u082F\u083F\u085C\u085D\u085F-\u089F\u08B5\u08BE-\u08D3\u08E2\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09FC-\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A76-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF2-\u0AF8\u0AFA-\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B55\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B78-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BFB-\u0BFF\u0C04\u0C0D\u0C11\u0C29\u0C3A-\u0C3C\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5B-\u0C5F\u0C64\u0C65\u0C70-\u0C77\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDD\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0D00\u0D04\u0D0D\u0D11\u0D3B\u0D3C\u0D45\u0D49\u0D50-\u0D53\u0D64\u0D65\u0D80\u0D81\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DE5\u0DF0\u0DF1\u0DF5-\u0E00\u0E3B-\u0E3E\u0E5C-\u0E80\u0E83\u0E85\u0E86\u0E89\u0E8B\u0E8C\u0E8E-\u0E93\u0E98\u0EA0\u0EA4\u0EA6\u0EA8\u0EA9\u0EAC\u0EBA\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F48\u0F6D-\u0F70\u0F98\u0FBD\u0FCD\u0FDB-\u0FFF\u10C6\u10C8-\u10CC\u10CE\u10CF\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u137D-\u137F\u139A-\u139F\u13F6\u13F7\u13FE\u13FF\u169D-\u169F\u16F9-\u16FF\u170D\u1715-\u171F\u1737-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17DE\u17DF\u17EA-\u17EF\u17FA-\u17FF\u180E\u180F\u181A-\u181F\u1878-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191F\u192C-\u192F\u193C-\u193F\u1941-\u1943\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DB-\u19DD\u1A1C\u1A1D\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1A9F\u1AAE\u1AAF\u1ABF-\u1AFF\u1B4C-\u1B4F\u1B7D-\u1B7F\u1BF4-\u1BFB\u1C38-\u1C3A\u1C4A-\u1C4C\u1C89-\u1CBF\u1CC8-\u1CCF\u1CF7\u1CFA-\u1CFF\u1DF6-\u1DFA\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FC5\u1FD4\u1FD5\u1FDC\u1FF0\u1FF1\u1FF5\u1FFF\u200B-\u200F\u202A-\u202E\u2060-\u206F\u2072\u2073\u208F\u209D-\u209F\u20BF-\u20CF\u20F1-\u20FF\u218C-\u218F\u23FF\u2427-\u243F\u244B-\u245F\u2B74\u2B75\u2B96\u2B97\u2BBA-\u2BBC\u2BC9\u2BD2-\u2BEB\u2BF0-\u2BFF\u2C2F\u2C5F\u2CF4-\u2CF8\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D71-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E45-\u2E7F\u2E9A\u2EF4-\u2EFF\u2FD6-\u2FEF\u2FFC-\u2FFF\u3040\u3097\u3098\u3100-\u3104\u312E-\u3130\u318F\u31BB-\u31BF\u31E4-\u31EF\u321F\u32FF\u4DB6-\u4DBF\u9FD6-\u9FFF\uA48D-\uA48F\uA4C7-\uA4CF\uA62C-\uA63F\uA6F8-\uA6FF\uA7AF\uA7B8-\uA7F6\uA82C-\uA82F\uA83A-\uA83F\uA878-\uA87F\uA8C6-\uA8CD\uA8DA-\uA8DF\uA8FE\uA8FF\uA954-\uA95E\uA97D-\uA97F\uA9CE\uA9DA-\uA9DD\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A\uAA5B\uAAC3-\uAADA\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F\uAB66-\uAB6F\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBC2-\uFBD2\uFD40-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFE\uFDFF\uFE1A-\uFE1F\uFE53\uFE67\uFE6C-\uFE6F\uFE75\uFEFD-\uFF00\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFDF\uFFE7\uFFEF-\uFFFB\uFFFE\uFFFF', - astral: '\uD800[\uDC0C\uDC27\uDC3B\uDC3E\uDC4E\uDC4F\uDC5E-\uDC7F\uDCFB-\uDCFF\uDD03-\uDD06\uDD34-\uDD36\uDD8F\uDD9C-\uDD9F\uDDA1-\uDDCF\uDDFE-\uDE7F\uDE9D-\uDE9F\uDED1-\uDEDF\uDEFC-\uDEFF\uDF24-\uDF2F\uDF4B-\uDF4F\uDF7B-\uDF7F\uDF9E\uDFC4-\uDFC7\uDFD6-\uDFFF]|\uD801[\uDC9E\uDC9F\uDCAA-\uDCAF\uDCD4-\uDCD7\uDCFC-\uDCFF\uDD28-\uDD2F\uDD64-\uDD6E\uDD70-\uDDFF\uDF37-\uDF3F\uDF56-\uDF5F\uDF68-\uDFFF]|\uD802[\uDC06\uDC07\uDC09\uDC36\uDC39-\uDC3B\uDC3D\uDC3E\uDC56\uDC9F-\uDCA6\uDCB0-\uDCDF\uDCF3\uDCF6-\uDCFA\uDD1C-\uDD1E\uDD3A-\uDD3E\uDD40-\uDD7F\uDDB8-\uDDBB\uDDD0\uDDD1\uDE04\uDE07-\uDE0B\uDE14\uDE18\uDE34-\uDE37\uDE3B-\uDE3E\uDE48-\uDE4F\uDE59-\uDE5F\uDEA0-\uDEBF\uDEE7-\uDEEA\uDEF7-\uDEFF\uDF36-\uDF38\uDF56\uDF57\uDF73-\uDF77\uDF92-\uDF98\uDF9D-\uDFA8\uDFB0-\uDFFF]|\uD803[\uDC49-\uDC7F\uDCB3-\uDCBF\uDCF3-\uDCF9\uDD00-\uDE5F\uDE7F-\uDFFF]|\uD804[\uDC4E-\uDC51\uDC70-\uDC7E\uDCBD\uDCC2-\uDCCF\uDCE9-\uDCEF\uDCFA-\uDCFF\uDD35\uDD44-\uDD4F\uDD77-\uDD7F\uDDCE\uDDCF\uDDE0\uDDF5-\uDDFF\uDE12\uDE3F-\uDE7F\uDE87\uDE89\uDE8E\uDE9E\uDEAA-\uDEAF\uDEEB-\uDEEF\uDEFA-\uDEFF\uDF04\uDF0D\uDF0E\uDF11\uDF12\uDF29\uDF31\uDF34\uDF3A\uDF3B\uDF45\uDF46\uDF49\uDF4A\uDF4E\uDF4F\uDF51-\uDF56\uDF58-\uDF5C\uDF64\uDF65\uDF6D-\uDF6F\uDF75-\uDFFF]|\uD805[\uDC5A\uDC5C\uDC5E-\uDC7F\uDCC8-\uDCCF\uDCDA-\uDD7F\uDDB6\uDDB7\uDDDE-\uDDFF\uDE45-\uDE4F\uDE5A-\uDE5F\uDE6D-\uDE7F\uDEB8-\uDEBF\uDECA-\uDEFF\uDF1A-\uDF1C\uDF2C-\uDF2F\uDF40-\uDFFF]|\uD806[\uDC00-\uDC9F\uDCF3-\uDCFE\uDD00-\uDEBF\uDEF9-\uDFFF]|\uD807[\uDC09\uDC37\uDC46-\uDC4F\uDC6D-\uDC6F\uDC90\uDC91\uDCA8\uDCB7-\uDFFF]|\uD808[\uDF9A-\uDFFF]|\uD809[\uDC6F\uDC75-\uDC7F\uDD44-\uDFFF]|[\uD80A\uD80B\uD80E-\uD810\uD812-\uD819\uD823-\uD82B\uD82D\uD82E\uD830-\uD833\uD837\uD839\uD83F\uD874-\uD87D\uD87F-\uDB3F\uDB41-\uDBFF][\uDC00-\uDFFF]|\uD80D[\uDC2F-\uDFFF]|\uD811[\uDE47-\uDFFF]|\uD81A[\uDE39-\uDE3F\uDE5F\uDE6A-\uDE6D\uDE70-\uDECF\uDEEE\uDEEF\uDEF6-\uDEFF\uDF46-\uDF4F\uDF5A\uDF62\uDF78-\uDF7C\uDF90-\uDFFF]|\uD81B[\uDC00-\uDEFF\uDF45-\uDF4F\uDF7F-\uDF8E\uDFA0-\uDFDF\uDFE1-\uDFFF]|\uD821[\uDFED-\uDFFF]|\uD822[\uDEF3-\uDFFF]|\uD82C[\uDC02-\uDFFF]|\uD82F[\uDC6B-\uDC6F\uDC7D-\uDC7F\uDC89-\uDC8F\uDC9A\uDC9B\uDCA0-\uDFFF]|\uD834[\uDCF6-\uDCFF\uDD27\uDD28\uDD73-\uDD7A\uDDE9-\uDDFF\uDE46-\uDEFF\uDF57-\uDF5F\uDF72-\uDFFF]|\uD835[\uDC55\uDC9D\uDCA0\uDCA1\uDCA3\uDCA4\uDCA7\uDCA8\uDCAD\uDCBA\uDCBC\uDCC4\uDD06\uDD0B\uDD0C\uDD15\uDD1D\uDD3A\uDD3F\uDD45\uDD47-\uDD49\uDD51\uDEA6\uDEA7\uDFCC\uDFCD]|\uD836[\uDE8C-\uDE9A\uDEA0\uDEB0-\uDFFF]|\uD838[\uDC07\uDC19\uDC1A\uDC22\uDC25\uDC2B-\uDFFF]|\uD83A[\uDCC5\uDCC6\uDCD7-\uDCFF\uDD4B-\uDD4F\uDD5A-\uDD5D\uDD60-\uDFFF]|\uD83B[\uDC00-\uDDFF\uDE04\uDE20\uDE23\uDE25\uDE26\uDE28\uDE33\uDE38\uDE3A\uDE3C-\uDE41\uDE43-\uDE46\uDE48\uDE4A\uDE4C\uDE50\uDE53\uDE55\uDE56\uDE58\uDE5A\uDE5C\uDE5E\uDE60\uDE63\uDE65\uDE66\uDE6B\uDE73\uDE78\uDE7D\uDE7F\uDE8A\uDE9C-\uDEA0\uDEA4\uDEAA\uDEBC-\uDEEF\uDEF2-\uDFFF]|\uD83C[\uDC2C-\uDC2F\uDC94-\uDC9F\uDCAF\uDCB0\uDCC0\uDCD0\uDCF6-\uDCFF\uDD0D-\uDD0F\uDD2F\uDD6C-\uDD6F\uDDAD-\uDDE5\uDE03-\uDE0F\uDE3C-\uDE3F\uDE49-\uDE4F\uDE52-\uDEFF]|\uD83D[\uDED3-\uDEDF\uDEED-\uDEEF\uDEF7-\uDEFF\uDF74-\uDF7F\uDFD5-\uDFFF]|\uD83E[\uDC0C-\uDC0F\uDC48-\uDC4F\uDC5A-\uDC5F\uDC88-\uDC8F\uDCAE-\uDD0F\uDD1F\uDD28-\uDD2F\uDD31\uDD32\uDD3F\uDD4C-\uDD4F\uDD5F-\uDD7F\uDD92-\uDDBF\uDDC1-\uDFFF]|\uD869[\uDED7-\uDEFF]|\uD86D[\uDF35-\uDF3F]|\uD86E[\uDC1E\uDC1F]|\uD873[\uDEA2-\uDFFF]|\uD87E[\uDE1E-\uDFFF]|\uDB40[\uDC00-\uDCFF\uDDF0-\uDFFF]' - }, - { - name: 'Cc', - alias: 'Control', - bmp: '\0-\x1F\x7F-\x9F' - }, - { - name: 'Cf', - alias: 'Format', - bmp: '\xAD\u0600-\u0605\u061C\u06DD\u070F\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB', - astral: '\uD804\uDCBD|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]' - }, - { - name: 'Cn', - alias: 'Unassigned', - bmp: '\u0378\u0379\u0380-\u0383\u038B\u038D\u03A2\u0530\u0557\u0558\u0560\u0588\u058B\u058C\u0590\u05C8-\u05CF\u05EB-\u05EF\u05F5-\u05FF\u061D\u070E\u074B\u074C\u07B2-\u07BF\u07FB-\u07FF\u082E\u082F\u083F\u085C\u085D\u085F-\u089F\u08B5\u08BE-\u08D3\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09FC-\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A76-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF2-\u0AF8\u0AFA-\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B55\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B78-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BFB-\u0BFF\u0C04\u0C0D\u0C11\u0C29\u0C3A-\u0C3C\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5B-\u0C5F\u0C64\u0C65\u0C70-\u0C77\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDD\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0D00\u0D04\u0D0D\u0D11\u0D3B\u0D3C\u0D45\u0D49\u0D50-\u0D53\u0D64\u0D65\u0D80\u0D81\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DE5\u0DF0\u0DF1\u0DF5-\u0E00\u0E3B-\u0E3E\u0E5C-\u0E80\u0E83\u0E85\u0E86\u0E89\u0E8B\u0E8C\u0E8E-\u0E93\u0E98\u0EA0\u0EA4\u0EA6\u0EA8\u0EA9\u0EAC\u0EBA\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F48\u0F6D-\u0F70\u0F98\u0FBD\u0FCD\u0FDB-\u0FFF\u10C6\u10C8-\u10CC\u10CE\u10CF\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u137D-\u137F\u139A-\u139F\u13F6\u13F7\u13FE\u13FF\u169D-\u169F\u16F9-\u16FF\u170D\u1715-\u171F\u1737-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17DE\u17DF\u17EA-\u17EF\u17FA-\u17FF\u180F\u181A-\u181F\u1878-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191F\u192C-\u192F\u193C-\u193F\u1941-\u1943\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DB-\u19DD\u1A1C\u1A1D\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1A9F\u1AAE\u1AAF\u1ABF-\u1AFF\u1B4C-\u1B4F\u1B7D-\u1B7F\u1BF4-\u1BFB\u1C38-\u1C3A\u1C4A-\u1C4C\u1C89-\u1CBF\u1CC8-\u1CCF\u1CF7\u1CFA-\u1CFF\u1DF6-\u1DFA\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FC5\u1FD4\u1FD5\u1FDC\u1FF0\u1FF1\u1FF5\u1FFF\u2065\u2072\u2073\u208F\u209D-\u209F\u20BF-\u20CF\u20F1-\u20FF\u218C-\u218F\u23FF\u2427-\u243F\u244B-\u245F\u2B74\u2B75\u2B96\u2B97\u2BBA-\u2BBC\u2BC9\u2BD2-\u2BEB\u2BF0-\u2BFF\u2C2F\u2C5F\u2CF4-\u2CF8\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D71-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E45-\u2E7F\u2E9A\u2EF4-\u2EFF\u2FD6-\u2FEF\u2FFC-\u2FFF\u3040\u3097\u3098\u3100-\u3104\u312E-\u3130\u318F\u31BB-\u31BF\u31E4-\u31EF\u321F\u32FF\u4DB6-\u4DBF\u9FD6-\u9FFF\uA48D-\uA48F\uA4C7-\uA4CF\uA62C-\uA63F\uA6F8-\uA6FF\uA7AF\uA7B8-\uA7F6\uA82C-\uA82F\uA83A-\uA83F\uA878-\uA87F\uA8C6-\uA8CD\uA8DA-\uA8DF\uA8FE\uA8FF\uA954-\uA95E\uA97D-\uA97F\uA9CE\uA9DA-\uA9DD\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A\uAA5B\uAAC3-\uAADA\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F\uAB66-\uAB6F\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uD7FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBC2-\uFBD2\uFD40-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFE\uFDFF\uFE1A-\uFE1F\uFE53\uFE67\uFE6C-\uFE6F\uFE75\uFEFD\uFEFE\uFF00\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFDF\uFFE7\uFFEF-\uFFF8\uFFFE\uFFFF', - astral: '\uD800[\uDC0C\uDC27\uDC3B\uDC3E\uDC4E\uDC4F\uDC5E-\uDC7F\uDCFB-\uDCFF\uDD03-\uDD06\uDD34-\uDD36\uDD8F\uDD9C-\uDD9F\uDDA1-\uDDCF\uDDFE-\uDE7F\uDE9D-\uDE9F\uDED1-\uDEDF\uDEFC-\uDEFF\uDF24-\uDF2F\uDF4B-\uDF4F\uDF7B-\uDF7F\uDF9E\uDFC4-\uDFC7\uDFD6-\uDFFF]|\uD801[\uDC9E\uDC9F\uDCAA-\uDCAF\uDCD4-\uDCD7\uDCFC-\uDCFF\uDD28-\uDD2F\uDD64-\uDD6E\uDD70-\uDDFF\uDF37-\uDF3F\uDF56-\uDF5F\uDF68-\uDFFF]|\uD802[\uDC06\uDC07\uDC09\uDC36\uDC39-\uDC3B\uDC3D\uDC3E\uDC56\uDC9F-\uDCA6\uDCB0-\uDCDF\uDCF3\uDCF6-\uDCFA\uDD1C-\uDD1E\uDD3A-\uDD3E\uDD40-\uDD7F\uDDB8-\uDDBB\uDDD0\uDDD1\uDE04\uDE07-\uDE0B\uDE14\uDE18\uDE34-\uDE37\uDE3B-\uDE3E\uDE48-\uDE4F\uDE59-\uDE5F\uDEA0-\uDEBF\uDEE7-\uDEEA\uDEF7-\uDEFF\uDF36-\uDF38\uDF56\uDF57\uDF73-\uDF77\uDF92-\uDF98\uDF9D-\uDFA8\uDFB0-\uDFFF]|\uD803[\uDC49-\uDC7F\uDCB3-\uDCBF\uDCF3-\uDCF9\uDD00-\uDE5F\uDE7F-\uDFFF]|\uD804[\uDC4E-\uDC51\uDC70-\uDC7E\uDCC2-\uDCCF\uDCE9-\uDCEF\uDCFA-\uDCFF\uDD35\uDD44-\uDD4F\uDD77-\uDD7F\uDDCE\uDDCF\uDDE0\uDDF5-\uDDFF\uDE12\uDE3F-\uDE7F\uDE87\uDE89\uDE8E\uDE9E\uDEAA-\uDEAF\uDEEB-\uDEEF\uDEFA-\uDEFF\uDF04\uDF0D\uDF0E\uDF11\uDF12\uDF29\uDF31\uDF34\uDF3A\uDF3B\uDF45\uDF46\uDF49\uDF4A\uDF4E\uDF4F\uDF51-\uDF56\uDF58-\uDF5C\uDF64\uDF65\uDF6D-\uDF6F\uDF75-\uDFFF]|\uD805[\uDC5A\uDC5C\uDC5E-\uDC7F\uDCC8-\uDCCF\uDCDA-\uDD7F\uDDB6\uDDB7\uDDDE-\uDDFF\uDE45-\uDE4F\uDE5A-\uDE5F\uDE6D-\uDE7F\uDEB8-\uDEBF\uDECA-\uDEFF\uDF1A-\uDF1C\uDF2C-\uDF2F\uDF40-\uDFFF]|\uD806[\uDC00-\uDC9F\uDCF3-\uDCFE\uDD00-\uDEBF\uDEF9-\uDFFF]|\uD807[\uDC09\uDC37\uDC46-\uDC4F\uDC6D-\uDC6F\uDC90\uDC91\uDCA8\uDCB7-\uDFFF]|\uD808[\uDF9A-\uDFFF]|\uD809[\uDC6F\uDC75-\uDC7F\uDD44-\uDFFF]|[\uD80A\uD80B\uD80E-\uD810\uD812-\uD819\uD823-\uD82B\uD82D\uD82E\uD830-\uD833\uD837\uD839\uD83F\uD874-\uD87D\uD87F-\uDB3F\uDB41-\uDB7F][\uDC00-\uDFFF]|\uD80D[\uDC2F-\uDFFF]|\uD811[\uDE47-\uDFFF]|\uD81A[\uDE39-\uDE3F\uDE5F\uDE6A-\uDE6D\uDE70-\uDECF\uDEEE\uDEEF\uDEF6-\uDEFF\uDF46-\uDF4F\uDF5A\uDF62\uDF78-\uDF7C\uDF90-\uDFFF]|\uD81B[\uDC00-\uDEFF\uDF45-\uDF4F\uDF7F-\uDF8E\uDFA0-\uDFDF\uDFE1-\uDFFF]|\uD821[\uDFED-\uDFFF]|\uD822[\uDEF3-\uDFFF]|\uD82C[\uDC02-\uDFFF]|\uD82F[\uDC6B-\uDC6F\uDC7D-\uDC7F\uDC89-\uDC8F\uDC9A\uDC9B\uDCA4-\uDFFF]|\uD834[\uDCF6-\uDCFF\uDD27\uDD28\uDDE9-\uDDFF\uDE46-\uDEFF\uDF57-\uDF5F\uDF72-\uDFFF]|\uD835[\uDC55\uDC9D\uDCA0\uDCA1\uDCA3\uDCA4\uDCA7\uDCA8\uDCAD\uDCBA\uDCBC\uDCC4\uDD06\uDD0B\uDD0C\uDD15\uDD1D\uDD3A\uDD3F\uDD45\uDD47-\uDD49\uDD51\uDEA6\uDEA7\uDFCC\uDFCD]|\uD836[\uDE8C-\uDE9A\uDEA0\uDEB0-\uDFFF]|\uD838[\uDC07\uDC19\uDC1A\uDC22\uDC25\uDC2B-\uDFFF]|\uD83A[\uDCC5\uDCC6\uDCD7-\uDCFF\uDD4B-\uDD4F\uDD5A-\uDD5D\uDD60-\uDFFF]|\uD83B[\uDC00-\uDDFF\uDE04\uDE20\uDE23\uDE25\uDE26\uDE28\uDE33\uDE38\uDE3A\uDE3C-\uDE41\uDE43-\uDE46\uDE48\uDE4A\uDE4C\uDE50\uDE53\uDE55\uDE56\uDE58\uDE5A\uDE5C\uDE5E\uDE60\uDE63\uDE65\uDE66\uDE6B\uDE73\uDE78\uDE7D\uDE7F\uDE8A\uDE9C-\uDEA0\uDEA4\uDEAA\uDEBC-\uDEEF\uDEF2-\uDFFF]|\uD83C[\uDC2C-\uDC2F\uDC94-\uDC9F\uDCAF\uDCB0\uDCC0\uDCD0\uDCF6-\uDCFF\uDD0D-\uDD0F\uDD2F\uDD6C-\uDD6F\uDDAD-\uDDE5\uDE03-\uDE0F\uDE3C-\uDE3F\uDE49-\uDE4F\uDE52-\uDEFF]|\uD83D[\uDED3-\uDEDF\uDEED-\uDEEF\uDEF7-\uDEFF\uDF74-\uDF7F\uDFD5-\uDFFF]|\uD83E[\uDC0C-\uDC0F\uDC48-\uDC4F\uDC5A-\uDC5F\uDC88-\uDC8F\uDCAE-\uDD0F\uDD1F\uDD28-\uDD2F\uDD31\uDD32\uDD3F\uDD4C-\uDD4F\uDD5F-\uDD7F\uDD92-\uDDBF\uDDC1-\uDFFF]|\uD869[\uDED7-\uDEFF]|\uD86D[\uDF35-\uDF3F]|\uD86E[\uDC1E\uDC1F]|\uD873[\uDEA2-\uDFFF]|\uD87E[\uDE1E-\uDFFF]|\uDB40[\uDC00\uDC02-\uDC1F\uDC80-\uDCFF\uDDF0-\uDFFF]|[\uDBBF\uDBFF][\uDFFE\uDFFF]' - }, - { - name: 'Co', - alias: 'Private_Use', - bmp: '\uE000-\uF8FF', - astral: '[\uDB80-\uDBBE\uDBC0-\uDBFE][\uDC00-\uDFFF]|[\uDBBF\uDBFF][\uDC00-\uDFFD]' - }, - { - name: 'Cs', - alias: 'Surrogate', - bmp: '\uD800-\uDFFF' - }, - { - name: 'L', - alias: 'Letter', - bmp: 'A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC', - astral: '\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]' - }, - { - name: 'Ll', - alias: 'Lowercase_Letter', - bmp: 'a-z\xB5\xDF-\xF6\xF8-\xFF\u0101\u0103\u0105\u0107\u0109\u010B\u010D\u010F\u0111\u0113\u0115\u0117\u0119\u011B\u011D\u011F\u0121\u0123\u0125\u0127\u0129\u012B\u012D\u012F\u0131\u0133\u0135\u0137\u0138\u013A\u013C\u013E\u0140\u0142\u0144\u0146\u0148\u0149\u014B\u014D\u014F\u0151\u0153\u0155\u0157\u0159\u015B\u015D\u015F\u0161\u0163\u0165\u0167\u0169\u016B\u016D\u016F\u0171\u0173\u0175\u0177\u017A\u017C\u017E-\u0180\u0183\u0185\u0188\u018C\u018D\u0192\u0195\u0199-\u019B\u019E\u01A1\u01A3\u01A5\u01A8\u01AA\u01AB\u01AD\u01B0\u01B4\u01B6\u01B9\u01BA\u01BD-\u01BF\u01C6\u01C9\u01CC\u01CE\u01D0\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC\u01DD\u01DF\u01E1\u01E3\u01E5\u01E7\u01E9\u01EB\u01ED\u01EF\u01F0\u01F3\u01F5\u01F9\u01FB\u01FD\u01FF\u0201\u0203\u0205\u0207\u0209\u020B\u020D\u020F\u0211\u0213\u0215\u0217\u0219\u021B\u021D\u021F\u0221\u0223\u0225\u0227\u0229\u022B\u022D\u022F\u0231\u0233-\u0239\u023C\u023F\u0240\u0242\u0247\u0249\u024B\u024D\u024F-\u0293\u0295-\u02AF\u0371\u0373\u0377\u037B-\u037D\u0390\u03AC-\u03CE\u03D0\u03D1\u03D5-\u03D7\u03D9\u03DB\u03DD\u03DF\u03E1\u03E3\u03E5\u03E7\u03E9\u03EB\u03ED\u03EF-\u03F3\u03F5\u03F8\u03FB\u03FC\u0430-\u045F\u0461\u0463\u0465\u0467\u0469\u046B\u046D\u046F\u0471\u0473\u0475\u0477\u0479\u047B\u047D\u047F\u0481\u048B\u048D\u048F\u0491\u0493\u0495\u0497\u0499\u049B\u049D\u049F\u04A1\u04A3\u04A5\u04A7\u04A9\u04AB\u04AD\u04AF\u04B1\u04B3\u04B5\u04B7\u04B9\u04BB\u04BD\u04BF\u04C2\u04C4\u04C6\u04C8\u04CA\u04CC\u04CE\u04CF\u04D1\u04D3\u04D5\u04D7\u04D9\u04DB\u04DD\u04DF\u04E1\u04E3\u04E5\u04E7\u04E9\u04EB\u04ED\u04EF\u04F1\u04F3\u04F5\u04F7\u04F9\u04FB\u04FD\u04FF\u0501\u0503\u0505\u0507\u0509\u050B\u050D\u050F\u0511\u0513\u0515\u0517\u0519\u051B\u051D\u051F\u0521\u0523\u0525\u0527\u0529\u052B\u052D\u052F\u0561-\u0587\u13F8-\u13FD\u1C80-\u1C88\u1D00-\u1D2B\u1D6B-\u1D77\u1D79-\u1D9A\u1E01\u1E03\u1E05\u1E07\u1E09\u1E0B\u1E0D\u1E0F\u1E11\u1E13\u1E15\u1E17\u1E19\u1E1B\u1E1D\u1E1F\u1E21\u1E23\u1E25\u1E27\u1E29\u1E2B\u1E2D\u1E2F\u1E31\u1E33\u1E35\u1E37\u1E39\u1E3B\u1E3D\u1E3F\u1E41\u1E43\u1E45\u1E47\u1E49\u1E4B\u1E4D\u1E4F\u1E51\u1E53\u1E55\u1E57\u1E59\u1E5B\u1E5D\u1E5F\u1E61\u1E63\u1E65\u1E67\u1E69\u1E6B\u1E6D\u1E6F\u1E71\u1E73\u1E75\u1E77\u1E79\u1E7B\u1E7D\u1E7F\u1E81\u1E83\u1E85\u1E87\u1E89\u1E8B\u1E8D\u1E8F\u1E91\u1E93\u1E95-\u1E9D\u1E9F\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EB9\u1EBB\u1EBD\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1EC9\u1ECB\u1ECD\u1ECF\u1ED1\u1ED3\u1ED5\u1ED7\u1ED9\u1EDB\u1EDD\u1EDF\u1EE1\u1EE3\u1EE5\u1EE7\u1EE9\u1EEB\u1EED\u1EEF\u1EF1\u1EF3\u1EF5\u1EF7\u1EF9\u1EFB\u1EFD\u1EFF-\u1F07\u1F10-\u1F15\u1F20-\u1F27\u1F30-\u1F37\u1F40-\u1F45\u1F50-\u1F57\u1F60-\u1F67\u1F70-\u1F7D\u1F80-\u1F87\u1F90-\u1F97\u1FA0-\u1FA7\u1FB0-\u1FB4\u1FB6\u1FB7\u1FBE\u1FC2-\u1FC4\u1FC6\u1FC7\u1FD0-\u1FD3\u1FD6\u1FD7\u1FE0-\u1FE7\u1FF2-\u1FF4\u1FF6\u1FF7\u210A\u210E\u210F\u2113\u212F\u2134\u2139\u213C\u213D\u2146-\u2149\u214E\u2184\u2C30-\u2C5E\u2C61\u2C65\u2C66\u2C68\u2C6A\u2C6C\u2C71\u2C73\u2C74\u2C76-\u2C7B\u2C81\u2C83\u2C85\u2C87\u2C89\u2C8B\u2C8D\u2C8F\u2C91\u2C93\u2C95\u2C97\u2C99\u2C9B\u2C9D\u2C9F\u2CA1\u2CA3\u2CA5\u2CA7\u2CA9\u2CAB\u2CAD\u2CAF\u2CB1\u2CB3\u2CB5\u2CB7\u2CB9\u2CBB\u2CBD\u2CBF\u2CC1\u2CC3\u2CC5\u2CC7\u2CC9\u2CCB\u2CCD\u2CCF\u2CD1\u2CD3\u2CD5\u2CD7\u2CD9\u2CDB\u2CDD\u2CDF\u2CE1\u2CE3\u2CE4\u2CEC\u2CEE\u2CF3\u2D00-\u2D25\u2D27\u2D2D\uA641\uA643\uA645\uA647\uA649\uA64B\uA64D\uA64F\uA651\uA653\uA655\uA657\uA659\uA65B\uA65D\uA65F\uA661\uA663\uA665\uA667\uA669\uA66B\uA66D\uA681\uA683\uA685\uA687\uA689\uA68B\uA68D\uA68F\uA691\uA693\uA695\uA697\uA699\uA69B\uA723\uA725\uA727\uA729\uA72B\uA72D\uA72F-\uA731\uA733\uA735\uA737\uA739\uA73B\uA73D\uA73F\uA741\uA743\uA745\uA747\uA749\uA74B\uA74D\uA74F\uA751\uA753\uA755\uA757\uA759\uA75B\uA75D\uA75F\uA761\uA763\uA765\uA767\uA769\uA76B\uA76D\uA76F\uA771-\uA778\uA77A\uA77C\uA77F\uA781\uA783\uA785\uA787\uA78C\uA78E\uA791\uA793-\uA795\uA797\uA799\uA79B\uA79D\uA79F\uA7A1\uA7A3\uA7A5\uA7A7\uA7A9\uA7B5\uA7B7\uA7FA\uAB30-\uAB5A\uAB60-\uAB65\uAB70-\uABBF\uFB00-\uFB06\uFB13-\uFB17\uFF41-\uFF5A', - astral: '\uD801[\uDC28-\uDC4F\uDCD8-\uDCFB]|\uD803[\uDCC0-\uDCF2]|\uD806[\uDCC0-\uDCDF]|\uD835[\uDC1A-\uDC33\uDC4E-\uDC54\uDC56-\uDC67\uDC82-\uDC9B\uDCB6-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDCEA-\uDD03\uDD1E-\uDD37\uDD52-\uDD6B\uDD86-\uDD9F\uDDBA-\uDDD3\uDDEE-\uDE07\uDE22-\uDE3B\uDE56-\uDE6F\uDE8A-\uDEA5\uDEC2-\uDEDA\uDEDC-\uDEE1\uDEFC-\uDF14\uDF16-\uDF1B\uDF36-\uDF4E\uDF50-\uDF55\uDF70-\uDF88\uDF8A-\uDF8F\uDFAA-\uDFC2\uDFC4-\uDFC9\uDFCB]|\uD83A[\uDD22-\uDD43]' - }, - { - name: 'Lm', - alias: 'Modifier_Letter', - bmp: '\u02B0-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0374\u037A\u0559\u0640\u06E5\u06E6\u07F4\u07F5\u07FA\u081A\u0824\u0828\u0971\u0E46\u0EC6\u10FC\u17D7\u1843\u1AA7\u1C78-\u1C7D\u1D2C-\u1D6A\u1D78\u1D9B-\u1DBF\u2071\u207F\u2090-\u209C\u2C7C\u2C7D\u2D6F\u2E2F\u3005\u3031-\u3035\u303B\u309D\u309E\u30FC-\u30FE\uA015\uA4F8-\uA4FD\uA60C\uA67F\uA69C\uA69D\uA717-\uA71F\uA770\uA788\uA7F8\uA7F9\uA9CF\uA9E6\uAA70\uAADD\uAAF3\uAAF4\uAB5C-\uAB5F\uFF70\uFF9E\uFF9F', - astral: '\uD81A[\uDF40-\uDF43]|\uD81B[\uDF93-\uDF9F\uDFE0]' - }, - { - name: 'Lo', - alias: 'Other_Letter', - bmp: '\xAA\xBA\u01BB\u01C0-\u01C3\u0294\u05D0-\u05EA\u05F0-\u05F2\u0620-\u063F\u0641-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u0800-\u0815\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0972-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E45\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10D0-\u10FA\u10FD-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17DC\u1820-\u1842\u1844-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C77\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u2135-\u2138\u2D30-\u2D67\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3006\u303C\u3041-\u3096\u309F\u30A1-\u30FA\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA014\uA016-\uA48C\uA4D0-\uA4F7\uA500-\uA60B\uA610-\uA61F\uA62A\uA62B\uA66E\uA6A0-\uA6E5\uA78F\uA7F7\uA7FB-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9E0-\uA9E4\uA9E7-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA6F\uAA71-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB\uAADC\uAAE0-\uAAEA\uAAF2\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF66-\uFF6F\uFF71-\uFF9D\uFFA0-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC', - astral: '\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC50-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]' - }, - { - name: 'Lt', - alias: 'Titlecase_Letter', - bmp: '\u01C5\u01C8\u01CB\u01F2\u1F88-\u1F8F\u1F98-\u1F9F\u1FA8-\u1FAF\u1FBC\u1FCC\u1FFC' - }, - { - name: 'Lu', - alias: 'Uppercase_Letter', - bmp: 'A-Z\xC0-\xD6\xD8-\xDE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178\u0179\u017B\u017D\u0181\u0182\u0184\u0186\u0187\u0189-\u018B\u018E-\u0191\u0193\u0194\u0196-\u0198\u019C\u019D\u019F\u01A0\u01A2\u01A4\u01A6\u01A7\u01A9\u01AC\u01AE\u01AF\u01B1-\u01B3\u01B5\u01B7\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A\u023B\u023D\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u0370\u0372\u0376\u037F\u0386\u0388-\u038A\u038C\u038E\u038F\u0391-\u03A1\u03A3-\u03AB\u03CF\u03D2-\u03D4\u03D8\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F4\u03F7\u03F9\u03FA\u03FD-\u042F\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048A\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C0\u04C1\u04C3\u04C5\u04C7\u04C9\u04CB\u04CD\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F6\u04F8\u04FA\u04FC\u04FE\u0500\u0502\u0504\u0506\u0508\u050A\u050C\u050E\u0510\u0512\u0514\u0516\u0518\u051A\u051C\u051E\u0520\u0522\u0524\u0526\u0528\u052A\u052C\u052E\u0531-\u0556\u10A0-\u10C5\u10C7\u10CD\u13A0-\u13F5\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFE\u1F08-\u1F0F\u1F18-\u1F1D\u1F28-\u1F2F\u1F38-\u1F3F\u1F48-\u1F4D\u1F59\u1F5B\u1F5D\u1F5F\u1F68-\u1F6F\u1FB8-\u1FBB\u1FC8-\u1FCB\u1FD8-\u1FDB\u1FE8-\u1FEC\u1FF8-\u1FFB\u2102\u2107\u210B-\u210D\u2110-\u2112\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u2130-\u2133\u213E\u213F\u2145\u2183\u2C00-\u2C2E\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E-\u2C80\u2C82\u2C84\u2C86\u2C88\u2C8A\u2C8C\u2C8E\u2C90\u2C92\u2C94\u2C96\u2C98\u2C9A\u2C9C\u2C9E\u2CA0\u2CA2\u2CA4\u2CA6\u2CA8\u2CAA\u2CAC\u2CAE\u2CB0\u2CB2\u2CB4\u2CB6\u2CB8\u2CBA\u2CBC\u2CBE\u2CC0\u2CC2\u2CC4\u2CC6\u2CC8\u2CCA\u2CCC\u2CCE\u2CD0\u2CD2\u2CD4\u2CD6\u2CD8\u2CDA\u2CDC\u2CDE\u2CE0\u2CE2\u2CEB\u2CED\u2CF2\uA640\uA642\uA644\uA646\uA648\uA64A\uA64C\uA64E\uA650\uA652\uA654\uA656\uA658\uA65A\uA65C\uA65E\uA660\uA662\uA664\uA666\uA668\uA66A\uA66C\uA680\uA682\uA684\uA686\uA688\uA68A\uA68C\uA68E\uA690\uA692\uA694\uA696\uA698\uA69A\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AE\uA7B0-\uA7B4\uA7B6\uFF21-\uFF3A', - astral: '\uD801[\uDC00-\uDC27\uDCB0-\uDCD3]|\uD803[\uDC80-\uDCB2]|\uD806[\uDCA0-\uDCBF]|\uD835[\uDC00-\uDC19\uDC34-\uDC4D\uDC68-\uDC81\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB5\uDCD0-\uDCE9\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD38\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD6C-\uDD85\uDDA0-\uDDB9\uDDD4-\uDDED\uDE08-\uDE21\uDE3C-\uDE55\uDE70-\uDE89\uDEA8-\uDEC0\uDEE2-\uDEFA\uDF1C-\uDF34\uDF56-\uDF6E\uDF90-\uDFA8\uDFCA]|\uD83A[\uDD00-\uDD21]' - }, - { - name: 'M', - alias: 'Mark', - bmp: '\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D4-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F', - astral: '\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC7F-\uDC82\uDCB0-\uDCBA\uDD00-\uDD02\uDD27-\uDD34\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDDCA-\uDDCC\uDE2C-\uDE37\uDE3E\uDEDF-\uDEEA\uDF00-\uDF03\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC35-\uDC46\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDDDC\uDDDD\uDE30-\uDE40\uDEAB-\uDEB7\uDF1D-\uDF2B]|\uD807[\uDC2F-\uDC36\uDC38-\uDC3F\uDC92-\uDCA7\uDCA9-\uDCB6]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF51-\uDF7E\uDF8F-\uDF92]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uDB40[\uDD00-\uDDEF]' - }, - { - name: 'Mc', - alias: 'Spacing_Mark', - bmp: '\u0903\u093B\u093E-\u0940\u0949-\u094C\u094E\u094F\u0982\u0983\u09BE-\u09C0\u09C7\u09C8\u09CB\u09CC\u09D7\u0A03\u0A3E-\u0A40\u0A83\u0ABE-\u0AC0\u0AC9\u0ACB\u0ACC\u0B02\u0B03\u0B3E\u0B40\u0B47\u0B48\u0B4B\u0B4C\u0B57\u0BBE\u0BBF\u0BC1\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCC\u0BD7\u0C01-\u0C03\u0C41-\u0C44\u0C82\u0C83\u0CBE\u0CC0-\u0CC4\u0CC7\u0CC8\u0CCA\u0CCB\u0CD5\u0CD6\u0D02\u0D03\u0D3E-\u0D40\u0D46-\u0D48\u0D4A-\u0D4C\u0D57\u0D82\u0D83\u0DCF-\u0DD1\u0DD8-\u0DDF\u0DF2\u0DF3\u0F3E\u0F3F\u0F7F\u102B\u102C\u1031\u1038\u103B\u103C\u1056\u1057\u1062-\u1064\u1067-\u106D\u1083\u1084\u1087-\u108C\u108F\u109A-\u109C\u17B6\u17BE-\u17C5\u17C7\u17C8\u1923-\u1926\u1929-\u192B\u1930\u1931\u1933-\u1938\u1A19\u1A1A\u1A55\u1A57\u1A61\u1A63\u1A64\u1A6D-\u1A72\u1B04\u1B35\u1B3B\u1B3D-\u1B41\u1B43\u1B44\u1B82\u1BA1\u1BA6\u1BA7\u1BAA\u1BE7\u1BEA-\u1BEC\u1BEE\u1BF2\u1BF3\u1C24-\u1C2B\u1C34\u1C35\u1CE1\u1CF2\u1CF3\u302E\u302F\uA823\uA824\uA827\uA880\uA881\uA8B4-\uA8C3\uA952\uA953\uA983\uA9B4\uA9B5\uA9BA\uA9BB\uA9BD-\uA9C0\uAA2F\uAA30\uAA33\uAA34\uAA4D\uAA7B\uAA7D\uAAEB\uAAEE\uAAEF\uAAF5\uABE3\uABE4\uABE6\uABE7\uABE9\uABEA\uABEC', - astral: '\uD804[\uDC00\uDC02\uDC82\uDCB0-\uDCB2\uDCB7\uDCB8\uDD2C\uDD82\uDDB3-\uDDB5\uDDBF\uDDC0\uDE2C-\uDE2E\uDE32\uDE33\uDE35\uDEE0-\uDEE2\uDF02\uDF03\uDF3E\uDF3F\uDF41-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63]|\uD805[\uDC35-\uDC37\uDC40\uDC41\uDC45\uDCB0-\uDCB2\uDCB9\uDCBB-\uDCBE\uDCC1\uDDAF-\uDDB1\uDDB8-\uDDBB\uDDBE\uDE30-\uDE32\uDE3B\uDE3C\uDE3E\uDEAC\uDEAE\uDEAF\uDEB6\uDF20\uDF21\uDF26]|\uD807[\uDC2F\uDC3E\uDCA9\uDCB1\uDCB4]|\uD81B[\uDF51-\uDF7E]|\uD834[\uDD65\uDD66\uDD6D-\uDD72]' - }, - { - name: 'Me', - alias: 'Enclosing_Mark', - bmp: '\u0488\u0489\u1ABE\u20DD-\u20E0\u20E2-\u20E4\uA670-\uA672' - }, - { - name: 'Mn', - alias: 'Nonspacing_Mark', - bmp: '\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D4-\u08E1\u08E3-\u0902\u093A\u093C\u0941-\u0948\u094D\u0951-\u0957\u0962\u0963\u0981\u09BC\u09C1-\u09C4\u09CD\u09E2\u09E3\u0A01\u0A02\u0A3C\u0A41\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81\u0A82\u0ABC\u0AC1-\u0AC5\u0AC7\u0AC8\u0ACD\u0AE2\u0AE3\u0B01\u0B3C\u0B3F\u0B41-\u0B44\u0B4D\u0B56\u0B62\u0B63\u0B82\u0BC0\u0BCD\u0C00\u0C3E-\u0C40\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81\u0CBC\u0CBF\u0CC6\u0CCC\u0CCD\u0CE2\u0CE3\u0D01\u0D41-\u0D44\u0D4D\u0D62\u0D63\u0DCA\u0DD2-\u0DD4\u0DD6\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037\u1039\u103A\u103D\u103E\u1058\u1059\u105E-\u1060\u1071-\u1074\u1082\u1085\u1086\u108D\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4\u17B5\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193B\u1A17\u1A18\u1A1B\u1A56\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1AB0-\u1ABD\u1B00-\u1B03\u1B34\u1B36-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80\u1B81\u1BA2-\u1BA5\u1BA8\u1BA9\u1BAB-\u1BAD\u1BE6\u1BE8\u1BE9\u1BED\u1BEF-\u1BF1\u1C2C-\u1C33\u1C36\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFB-\u1DFF\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302D\u3099\u309A\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA825\uA826\uA8C4\uA8C5\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9\uA9BC\uA9E5\uAA29-\uAA2E\uAA31\uAA32\uAA35\uAA36\uAA43\uAA4C\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEC\uAAED\uAAF6\uABE5\uABE8\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F', - astral: '\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD804[\uDC01\uDC38-\uDC46\uDC7F-\uDC81\uDCB3-\uDCB6\uDCB9\uDCBA\uDD00-\uDD02\uDD27-\uDD2B\uDD2D-\uDD34\uDD73\uDD80\uDD81\uDDB6-\uDDBE\uDDCA-\uDDCC\uDE2F-\uDE31\uDE34\uDE36\uDE37\uDE3E\uDEDF\uDEE3-\uDEEA\uDF00\uDF01\uDF3C\uDF40\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC38-\uDC3F\uDC42-\uDC44\uDC46\uDCB3-\uDCB8\uDCBA\uDCBF\uDCC0\uDCC2\uDCC3\uDDB2-\uDDB5\uDDBC\uDDBD\uDDBF\uDDC0\uDDDC\uDDDD\uDE33-\uDE3A\uDE3D\uDE3F\uDE40\uDEAB\uDEAD\uDEB0-\uDEB5\uDEB7\uDF1D-\uDF1F\uDF22-\uDF25\uDF27-\uDF2B]|\uD807[\uDC30-\uDC36\uDC38-\uDC3D\uDC3F\uDC92-\uDCA7\uDCAA-\uDCB0\uDCB2\uDCB3\uDCB5\uDCB6]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF8F-\uDF92]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD67-\uDD69\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uDB40[\uDD00-\uDDEF]' - }, - { - name: 'N', - alias: 'Number', - bmp: '0-9\xB2\xB3\xB9\xBC-\xBE\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u09F4-\u09F9\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0B72-\u0B77\u0BE6-\u0BF2\u0C66-\u0C6F\u0C78-\u0C7E\u0CE6-\u0CEF\u0D58-\u0D5E\u0D66-\u0D78\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F33\u1040-\u1049\u1090-\u1099\u1369-\u137C\u16EE-\u16F0\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1946-\u194F\u19D0-\u19DA\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\u2070\u2074-\u2079\u2080-\u2089\u2150-\u2182\u2185-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2CFD\u3007\u3021-\u3029\u3038-\u303A\u3192-\u3195\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\uA620-\uA629\uA6E6-\uA6EF\uA830-\uA835\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19', - astral: '\uD800[\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDEE1-\uDEFB\uDF20-\uDF23\uDF41\uDF4A\uDFD1-\uDFD5]|\uD801[\uDCA0-\uDCA9]|\uD802[\uDC58-\uDC5F\uDC79-\uDC7F\uDCA7-\uDCAF\uDCFB-\uDCFF\uDD16-\uDD1B\uDDBC\uDDBD\uDDC0-\uDDCF\uDDD2-\uDDFF\uDE40-\uDE47\uDE7D\uDE7E\uDE9D-\uDE9F\uDEEB-\uDEEF\uDF58-\uDF5F\uDF78-\uDF7F\uDFA9-\uDFAF]|\uD803[\uDCFA-\uDCFF\uDE60-\uDE7E]|\uD804[\uDC52-\uDC6F\uDCF0-\uDCF9\uDD36-\uDD3F\uDDD0-\uDDD9\uDDE1-\uDDF4\uDEF0-\uDEF9]|\uD805[\uDC50-\uDC59\uDCD0-\uDCD9\uDE50-\uDE59\uDEC0-\uDEC9\uDF30-\uDF3B]|\uD806[\uDCE0-\uDCF2]|\uD807[\uDC50-\uDC6C]|\uD809[\uDC00-\uDC6E]|\uD81A[\uDE60-\uDE69\uDF50-\uDF59\uDF5B-\uDF61]|\uD834[\uDF60-\uDF71]|\uD835[\uDFCE-\uDFFF]|\uD83A[\uDCC7-\uDCCF\uDD50-\uDD59]|\uD83C[\uDD00-\uDD0C]' - }, - { - name: 'Nd', - alias: 'Decimal_Number', - bmp: '0-9\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819\u1946-\u194F\u19D0-\u19D9\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19', - astral: '\uD801[\uDCA0-\uDCA9]|\uD804[\uDC66-\uDC6F\uDCF0-\uDCF9\uDD36-\uDD3F\uDDD0-\uDDD9\uDEF0-\uDEF9]|\uD805[\uDC50-\uDC59\uDCD0-\uDCD9\uDE50-\uDE59\uDEC0-\uDEC9\uDF30-\uDF39]|\uD806[\uDCE0-\uDCE9]|\uD807[\uDC50-\uDC59]|\uD81A[\uDE60-\uDE69\uDF50-\uDF59]|\uD835[\uDFCE-\uDFFF]|\uD83A[\uDD50-\uDD59]' - }, - { - name: 'Nl', - alias: 'Letter_Number', - bmp: '\u16EE-\u16F0\u2160-\u2182\u2185-\u2188\u3007\u3021-\u3029\u3038-\u303A\uA6E6-\uA6EF', - astral: '\uD800[\uDD40-\uDD74\uDF41\uDF4A\uDFD1-\uDFD5]|\uD809[\uDC00-\uDC6E]' - }, - { - name: 'No', - alias: 'Other_Number', - bmp: '\xB2\xB3\xB9\xBC-\xBE\u09F4-\u09F9\u0B72-\u0B77\u0BF0-\u0BF2\u0C78-\u0C7E\u0D58-\u0D5E\u0D70-\u0D78\u0F2A-\u0F33\u1369-\u137C\u17F0-\u17F9\u19DA\u2070\u2074-\u2079\u2080-\u2089\u2150-\u215F\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2CFD\u3192-\u3195\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\uA830-\uA835', - astral: '\uD800[\uDD07-\uDD33\uDD75-\uDD78\uDD8A\uDD8B\uDEE1-\uDEFB\uDF20-\uDF23]|\uD802[\uDC58-\uDC5F\uDC79-\uDC7F\uDCA7-\uDCAF\uDCFB-\uDCFF\uDD16-\uDD1B\uDDBC\uDDBD\uDDC0-\uDDCF\uDDD2-\uDDFF\uDE40-\uDE47\uDE7D\uDE7E\uDE9D-\uDE9F\uDEEB-\uDEEF\uDF58-\uDF5F\uDF78-\uDF7F\uDFA9-\uDFAF]|\uD803[\uDCFA-\uDCFF\uDE60-\uDE7E]|\uD804[\uDC52-\uDC65\uDDE1-\uDDF4]|\uD805[\uDF3A\uDF3B]|\uD806[\uDCEA-\uDCF2]|\uD807[\uDC5A-\uDC6C]|\uD81A[\uDF5B-\uDF61]|\uD834[\uDF60-\uDF71]|\uD83A[\uDCC7-\uDCCF]|\uD83C[\uDD00-\uDD0C]' - }, - { - name: 'P', - alias: 'Punctuation', - bmp: '\x21-\x23\x25-\\x2A\x2C-\x2F\x3A\x3B\\x3F\x40\\x5B-\\x5D\x5F\\x7B\x7D\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E44\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65', - astral: '\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC9\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDF3C-\uDF3E]|\uD807[\uDC41-\uDC45\uDC70\uDC71]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]' - }, - { - name: 'Pc', - alias: 'Connector_Punctuation', - bmp: '\x5F\u203F\u2040\u2054\uFE33\uFE34\uFE4D-\uFE4F\uFF3F' - }, - { - name: 'Pd', - alias: 'Dash_Punctuation', - bmp: '\\x2D\u058A\u05BE\u1400\u1806\u2010-\u2015\u2E17\u2E1A\u2E3A\u2E3B\u2E40\u301C\u3030\u30A0\uFE31\uFE32\uFE58\uFE63\uFF0D' - }, - { - name: 'Pe', - alias: 'Close_Punctuation', - bmp: '\\x29\\x5D\x7D\u0F3B\u0F3D\u169C\u2046\u207E\u208E\u2309\u230B\u232A\u2769\u276B\u276D\u276F\u2771\u2773\u2775\u27C6\u27E7\u27E9\u27EB\u27ED\u27EF\u2984\u2986\u2988\u298A\u298C\u298E\u2990\u2992\u2994\u2996\u2998\u29D9\u29DB\u29FD\u2E23\u2E25\u2E27\u2E29\u3009\u300B\u300D\u300F\u3011\u3015\u3017\u3019\u301B\u301E\u301F\uFD3E\uFE18\uFE36\uFE38\uFE3A\uFE3C\uFE3E\uFE40\uFE42\uFE44\uFE48\uFE5A\uFE5C\uFE5E\uFF09\uFF3D\uFF5D\uFF60\uFF63' - }, - { - name: 'Pf', - alias: 'Final_Punctuation', - bmp: '\xBB\u2019\u201D\u203A\u2E03\u2E05\u2E0A\u2E0D\u2E1D\u2E21' - }, - { - name: 'Pi', - alias: 'Initial_Punctuation', - bmp: '\xAB\u2018\u201B\u201C\u201F\u2039\u2E02\u2E04\u2E09\u2E0C\u2E1C\u2E20' - }, - { - name: 'Po', - alias: 'Other_Punctuation', - bmp: '\x21-\x23\x25-\x27\\x2A\x2C\\x2E\x2F\x3A\x3B\\x3F\x40\\x5C\xA1\xA7\xB6\xB7\xBF\u037E\u0387\u055A-\u055F\u0589\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u166D\u166E\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u1805\u1807-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2016\u2017\u2020-\u2027\u2030-\u2038\u203B-\u203E\u2041-\u2043\u2047-\u2051\u2053\u2055-\u205E\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00\u2E01\u2E06-\u2E08\u2E0B\u2E0E-\u2E16\u2E18\u2E19\u2E1B\u2E1E\u2E1F\u2E2A-\u2E2E\u2E30-\u2E39\u2E3C-\u2E3F\u2E41\u2E43\u2E44\u3001-\u3003\u303D\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFE10-\uFE16\uFE19\uFE30\uFE45\uFE46\uFE49-\uFE4C\uFE50-\uFE52\uFE54-\uFE57\uFE5F-\uFE61\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF07\uFF0A\uFF0C\uFF0E\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3C\uFF61\uFF64\uFF65', - astral: '\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC9\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDF3C-\uDF3E]|\uD807[\uDC41-\uDC45\uDC70\uDC71]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]' - }, - { - name: 'Ps', - alias: 'Open_Punctuation', - bmp: '\\x28\\x5B\\x7B\u0F3A\u0F3C\u169B\u201A\u201E\u2045\u207D\u208D\u2308\u230A\u2329\u2768\u276A\u276C\u276E\u2770\u2772\u2774\u27C5\u27E6\u27E8\u27EA\u27EC\u27EE\u2983\u2985\u2987\u2989\u298B\u298D\u298F\u2991\u2993\u2995\u2997\u29D8\u29DA\u29FC\u2E22\u2E24\u2E26\u2E28\u2E42\u3008\u300A\u300C\u300E\u3010\u3014\u3016\u3018\u301A\u301D\uFD3F\uFE17\uFE35\uFE37\uFE39\uFE3B\uFE3D\uFE3F\uFE41\uFE43\uFE47\uFE59\uFE5B\uFE5D\uFF08\uFF3B\uFF5B\uFF5F\uFF62' - }, - { - name: 'S', - alias: 'Symbol', - bmp: '\\x24\\x2B\x3C-\x3E\\x5E\x60\\x7C\x7E\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20BE\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u23FE\u2400-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2B95\u2B98-\u2BB9\u2BBD-\u2BC8\u2BCA-\u2BD1\u2BEC-\u2BEF\u2CE5-\u2CEA\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u32FE\u3300-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uFB29\uFBB2-\uFBC1\uFDFC\uFDFD\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD', - astral: '\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9B\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD805\uDF3F|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDE8\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD83B[\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD10-\uDD2E\uDD30-\uDD6B\uDD70-\uDDAC\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED2\uDEE0-\uDEEC\uDEF0-\uDEF6\uDF00-\uDF73\uDF80-\uDFD4]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDD10-\uDD1E\uDD20-\uDD27\uDD30\uDD33-\uDD3E\uDD40-\uDD4B\uDD50-\uDD5E\uDD80-\uDD91\uDDC0]' - }, - { - name: 'Sc', - alias: 'Currency_Symbol', - bmp: '\\x24\xA2-\xA5\u058F\u060B\u09F2\u09F3\u09FB\u0AF1\u0BF9\u0E3F\u17DB\u20A0-\u20BE\uA838\uFDFC\uFE69\uFF04\uFFE0\uFFE1\uFFE5\uFFE6' - }, - { - name: 'Sk', - alias: 'Modifier_Symbol', - bmp: '\\x5E\x60\xA8\xAF\xB4\xB8\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u309B\u309C\uA700-\uA716\uA720\uA721\uA789\uA78A\uAB5B\uFBB2-\uFBC1\uFF3E\uFF40\uFFE3', - astral: '\uD83C[\uDFFB-\uDFFF]' - }, - { - name: 'Sm', - alias: 'Math_Symbol', - bmp: '\\x2B\x3C-\x3E\\x7C\x7E\xAC\xB1\xD7\xF7\u03F6\u0606-\u0608\u2044\u2052\u207A-\u207C\u208A-\u208C\u2118\u2140-\u2144\u214B\u2190-\u2194\u219A\u219B\u21A0\u21A3\u21A6\u21AE\u21CE\u21CF\u21D2\u21D4\u21F4-\u22FF\u2320\u2321\u237C\u239B-\u23B3\u23DC-\u23E1\u25B7\u25C1\u25F8-\u25FF\u266F\u27C0-\u27C4\u27C7-\u27E5\u27F0-\u27FF\u2900-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2AFF\u2B30-\u2B44\u2B47-\u2B4C\uFB29\uFE62\uFE64-\uFE66\uFF0B\uFF1C-\uFF1E\uFF5C\uFF5E\uFFE2\uFFE9-\uFFEC', - astral: '\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD83B[\uDEF0\uDEF1]' - }, - { - name: 'So', - alias: 'Other_Symbol', - bmp: '\xA6\xA9\xAE\xB0\u0482\u058D\u058E\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u09FA\u0B70\u0BF3-\u0BF8\u0BFA\u0C7F\u0D4F\u0D79\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116\u2117\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u214A\u214C\u214D\u214F\u218A\u218B\u2195-\u2199\u219C-\u219F\u21A1\u21A2\u21A4\u21A5\u21A7-\u21AD\u21AF-\u21CD\u21D0\u21D1\u21D3\u21D5-\u21F3\u2300-\u2307\u230C-\u231F\u2322-\u2328\u232B-\u237B\u237D-\u239A\u23B4-\u23DB\u23E2-\u23FE\u2400-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u25B6\u25B8-\u25C0\u25C2-\u25F7\u2600-\u266E\u2670-\u2767\u2794-\u27BF\u2800-\u28FF\u2B00-\u2B2F\u2B45\u2B46\u2B4D-\u2B73\u2B76-\u2B95\u2B98-\u2BB9\u2BBD-\u2BC8\u2BCA-\u2BD1\u2BEC-\u2BEF\u2CE5-\u2CEA\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u32FE\u3300-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA828-\uA82B\uA836\uA837\uA839\uAA77-\uAA79\uFDFD\uFFE4\uFFE8\uFFED\uFFEE\uFFFC\uFFFD', - astral: '\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9B\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD805\uDF3F|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDE8\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD10-\uDD2E\uDD30-\uDD6B\uDD70-\uDDAC\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDF00-\uDFFA]|\uD83D[\uDC00-\uDED2\uDEE0-\uDEEC\uDEF0-\uDEF6\uDF00-\uDF73\uDF80-\uDFD4]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDD10-\uDD1E\uDD20-\uDD27\uDD30\uDD33-\uDD3E\uDD40-\uDD4B\uDD50-\uDD5E\uDD80-\uDD91\uDDC0]' - }, - { - name: 'Z', - alias: 'Separator', - bmp: '\x20\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000' - }, - { - name: 'Zl', - alias: 'Line_Separator', - bmp: '\u2028' - }, - { - name: 'Zp', - alias: 'Paragraph_Separator', - bmp: '\u2029' - }, - { - name: 'Zs', - alias: 'Space_Separator', - bmp: '\x20\xA0\u1680\u2000-\u200A\u202F\u205F\u3000' - } - ]); - -}; - -},{}],6:[function(require,module,exports){ -/*! - * XRegExp Unicode Properties 3.2.0 - * <xregexp.com> - * Steven Levithan (c) 2012-2017 MIT License - * Unicode data by Mathias Bynens <mathiasbynens.be> - */ - -module.exports = function(XRegExp) { - 'use strict'; - - /** - * Adds properties to meet the UTS #18 Level 1 RL1.2 requirements for Unicode regex support. See - * <http://unicode.org/reports/tr18/#RL1.2>. Following are definitions of these properties from - * UAX #44 <http://unicode.org/reports/tr44/>: - * - * - Alphabetic - * Characters with the Alphabetic property. Generated from: Lowercase + Uppercase + Lt + Lm + - * Lo + Nl + Other_Alphabetic. - * - * - Default_Ignorable_Code_Point - * For programmatic determination of default ignorable code points. New characters that should - * be ignored in rendering (unless explicitly supported) will be assigned in these ranges, - * permitting programs to correctly handle the default rendering of such characters when not - * otherwise supported. - * - * - Lowercase - * Characters with the Lowercase property. Generated from: Ll + Other_Lowercase. - * - * - Noncharacter_Code_Point - * Code points permanently reserved for internal use. - * - * - Uppercase - * Characters with the Uppercase property. Generated from: Lu + Other_Uppercase. - * - * - White_Space - * Spaces, separator characters and other control characters which should be treated by - * programming languages as "white space" for the purpose of parsing elements. - * - * The properties ASCII, Any, and Assigned are also included but are not defined in UAX #44. UTS - * #18 RL1.2 additionally requires support for Unicode scripts and general categories. These are - * included in XRegExp's Unicode Categories and Unicode Scripts addons. - * - * Token names are case insensitive, and any spaces, hyphens, and underscores are ignored. - * - * Uses Unicode 9.0.0. - * - * @requires XRegExp, Unicode Base - */ - - if (!XRegExp.addUnicodeData) { - throw new ReferenceError('Unicode Base must be loaded before Unicode Properties'); - } - - var unicodeData = [ - { - name: 'ASCII', - bmp: '\0-\x7F' - }, - { - name: 'Alphabetic', - bmp: 'A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0345\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05B0-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0657\u0659-\u065F\u066E-\u06D3\u06D5-\u06DC\u06E1-\u06E8\u06ED-\u06EF\u06FA-\u06FC\u06FF\u0710-\u073F\u074D-\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0817\u081A-\u082C\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08DF\u08E3-\u08E9\u08F0-\u093B\u093D-\u094C\u094E-\u0950\u0955-\u0963\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD-\u09C4\u09C7\u09C8\u09CB\u09CC\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09F0\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3E-\u0A42\u0A47\u0A48\u0A4B\u0A4C\u0A51\u0A59-\u0A5C\u0A5E\u0A70-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD-\u0AC5\u0AC7-\u0AC9\u0ACB\u0ACC\u0AD0\u0AE0-\u0AE3\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D-\u0B44\u0B47\u0B48\u0B4B\u0B4C\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCC\u0BD0\u0BD7\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4C\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCC\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4C\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E46\u0E4D\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0ECD\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F71-\u0F81\u0F88-\u0F97\u0F99-\u0FBC\u1000-\u1036\u1038\u103B-\u103F\u1050-\u1062\u1065-\u1068\u106E-\u1086\u108E\u109C\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1713\u1720-\u1733\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17B3\u17B6-\u17C8\u17D7\u17DC\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u1938\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A1B\u1A20-\u1A5E\u1A61-\u1A74\u1AA7\u1B00-\u1B33\u1B35-\u1B43\u1B45-\u1B4B\u1B80-\u1BA9\u1BAC-\u1BAF\u1BBA-\u1BE5\u1BE7-\u1BF1\u1C00-\u1C35\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1D00-\u1DBF\u1DE7-\u1DF4\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u24B6-\u24E9\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA674-\uA67B\uA67F-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA827\uA840-\uA873\uA880-\uA8C3\uA8C5\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA92A\uA930-\uA952\uA960-\uA97C\uA980-\uA9B2\uA9B4-\uA9BF\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA60-\uAA76\uAA7A\uAA7E-\uAABE\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF5\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC', - astral: '\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC45\uDC82-\uDCB8\uDCD0-\uDCE8\uDD00-\uDD32\uDD50-\uDD72\uDD76\uDD80-\uDDBF\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE34\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEE8\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D-\uDF44\uDF47\uDF48\uDF4B\uDF4C\uDF50\uDF57\uDF5D-\uDF63]|\uD805[\uDC00-\uDC41\uDC43-\uDC45\uDC47-\uDC4A\uDC80-\uDCC1\uDCC4\uDCC5\uDCC7\uDD80-\uDDB5\uDDB8-\uDDBE\uDDD8-\uDDDD\uDE00-\uDE3E\uDE40\uDE44\uDE80-\uDEB5\uDF00-\uDF19\uDF1D-\uDF2A]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC3E\uDC40\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF36\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF93-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9E]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD47]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD30-\uDD49\uDD50-\uDD69\uDD70-\uDD89]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]' - }, - { - name: 'Any', - isBmpLast: true, - bmp: '\0-\uFFFF', - astral: '[\uD800-\uDBFF][\uDC00-\uDFFF]' - }, - { - name: 'Default_Ignorable_Code_Point', - bmp: '\xAD\u034F\u061C\u115F\u1160\u17B4\u17B5\u180B-\u180E\u200B-\u200F\u202A-\u202E\u2060-\u206F\u3164\uFE00-\uFE0F\uFEFF\uFFA0\uFFF0-\uFFF8', - astral: '\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|[\uDB40-\uDB43][\uDC00-\uDFFF]' - }, - { - name: 'Lowercase', - bmp: 'a-z\xAA\xB5\xBA\xDF-\xF6\xF8-\xFF\u0101\u0103\u0105\u0107\u0109\u010B\u010D\u010F\u0111\u0113\u0115\u0117\u0119\u011B\u011D\u011F\u0121\u0123\u0125\u0127\u0129\u012B\u012D\u012F\u0131\u0133\u0135\u0137\u0138\u013A\u013C\u013E\u0140\u0142\u0144\u0146\u0148\u0149\u014B\u014D\u014F\u0151\u0153\u0155\u0157\u0159\u015B\u015D\u015F\u0161\u0163\u0165\u0167\u0169\u016B\u016D\u016F\u0171\u0173\u0175\u0177\u017A\u017C\u017E-\u0180\u0183\u0185\u0188\u018C\u018D\u0192\u0195\u0199-\u019B\u019E\u01A1\u01A3\u01A5\u01A8\u01AA\u01AB\u01AD\u01B0\u01B4\u01B6\u01B9\u01BA\u01BD-\u01BF\u01C6\u01C9\u01CC\u01CE\u01D0\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC\u01DD\u01DF\u01E1\u01E3\u01E5\u01E7\u01E9\u01EB\u01ED\u01EF\u01F0\u01F3\u01F5\u01F9\u01FB\u01FD\u01FF\u0201\u0203\u0205\u0207\u0209\u020B\u020D\u020F\u0211\u0213\u0215\u0217\u0219\u021B\u021D\u021F\u0221\u0223\u0225\u0227\u0229\u022B\u022D\u022F\u0231\u0233-\u0239\u023C\u023F\u0240\u0242\u0247\u0249\u024B\u024D\u024F-\u0293\u0295-\u02B8\u02C0\u02C1\u02E0-\u02E4\u0345\u0371\u0373\u0377\u037A-\u037D\u0390\u03AC-\u03CE\u03D0\u03D1\u03D5-\u03D7\u03D9\u03DB\u03DD\u03DF\u03E1\u03E3\u03E5\u03E7\u03E9\u03EB\u03ED\u03EF-\u03F3\u03F5\u03F8\u03FB\u03FC\u0430-\u045F\u0461\u0463\u0465\u0467\u0469\u046B\u046D\u046F\u0471\u0473\u0475\u0477\u0479\u047B\u047D\u047F\u0481\u048B\u048D\u048F\u0491\u0493\u0495\u0497\u0499\u049B\u049D\u049F\u04A1\u04A3\u04A5\u04A7\u04A9\u04AB\u04AD\u04AF\u04B1\u04B3\u04B5\u04B7\u04B9\u04BB\u04BD\u04BF\u04C2\u04C4\u04C6\u04C8\u04CA\u04CC\u04CE\u04CF\u04D1\u04D3\u04D5\u04D7\u04D9\u04DB\u04DD\u04DF\u04E1\u04E3\u04E5\u04E7\u04E9\u04EB\u04ED\u04EF\u04F1\u04F3\u04F5\u04F7\u04F9\u04FB\u04FD\u04FF\u0501\u0503\u0505\u0507\u0509\u050B\u050D\u050F\u0511\u0513\u0515\u0517\u0519\u051B\u051D\u051F\u0521\u0523\u0525\u0527\u0529\u052B\u052D\u052F\u0561-\u0587\u13F8-\u13FD\u1C80-\u1C88\u1D00-\u1DBF\u1E01\u1E03\u1E05\u1E07\u1E09\u1E0B\u1E0D\u1E0F\u1E11\u1E13\u1E15\u1E17\u1E19\u1E1B\u1E1D\u1E1F\u1E21\u1E23\u1E25\u1E27\u1E29\u1E2B\u1E2D\u1E2F\u1E31\u1E33\u1E35\u1E37\u1E39\u1E3B\u1E3D\u1E3F\u1E41\u1E43\u1E45\u1E47\u1E49\u1E4B\u1E4D\u1E4F\u1E51\u1E53\u1E55\u1E57\u1E59\u1E5B\u1E5D\u1E5F\u1E61\u1E63\u1E65\u1E67\u1E69\u1E6B\u1E6D\u1E6F\u1E71\u1E73\u1E75\u1E77\u1E79\u1E7B\u1E7D\u1E7F\u1E81\u1E83\u1E85\u1E87\u1E89\u1E8B\u1E8D\u1E8F\u1E91\u1E93\u1E95-\u1E9D\u1E9F\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EB9\u1EBB\u1EBD\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1EC9\u1ECB\u1ECD\u1ECF\u1ED1\u1ED3\u1ED5\u1ED7\u1ED9\u1EDB\u1EDD\u1EDF\u1EE1\u1EE3\u1EE5\u1EE7\u1EE9\u1EEB\u1EED\u1EEF\u1EF1\u1EF3\u1EF5\u1EF7\u1EF9\u1EFB\u1EFD\u1EFF-\u1F07\u1F10-\u1F15\u1F20-\u1F27\u1F30-\u1F37\u1F40-\u1F45\u1F50-\u1F57\u1F60-\u1F67\u1F70-\u1F7D\u1F80-\u1F87\u1F90-\u1F97\u1FA0-\u1FA7\u1FB0-\u1FB4\u1FB6\u1FB7\u1FBE\u1FC2-\u1FC4\u1FC6\u1FC7\u1FD0-\u1FD3\u1FD6\u1FD7\u1FE0-\u1FE7\u1FF2-\u1FF4\u1FF6\u1FF7\u2071\u207F\u2090-\u209C\u210A\u210E\u210F\u2113\u212F\u2134\u2139\u213C\u213D\u2146-\u2149\u214E\u2170-\u217F\u2184\u24D0-\u24E9\u2C30-\u2C5E\u2C61\u2C65\u2C66\u2C68\u2C6A\u2C6C\u2C71\u2C73\u2C74\u2C76-\u2C7D\u2C81\u2C83\u2C85\u2C87\u2C89\u2C8B\u2C8D\u2C8F\u2C91\u2C93\u2C95\u2C97\u2C99\u2C9B\u2C9D\u2C9F\u2CA1\u2CA3\u2CA5\u2CA7\u2CA9\u2CAB\u2CAD\u2CAF\u2CB1\u2CB3\u2CB5\u2CB7\u2CB9\u2CBB\u2CBD\u2CBF\u2CC1\u2CC3\u2CC5\u2CC7\u2CC9\u2CCB\u2CCD\u2CCF\u2CD1\u2CD3\u2CD5\u2CD7\u2CD9\u2CDB\u2CDD\u2CDF\u2CE1\u2CE3\u2CE4\u2CEC\u2CEE\u2CF3\u2D00-\u2D25\u2D27\u2D2D\uA641\uA643\uA645\uA647\uA649\uA64B\uA64D\uA64F\uA651\uA653\uA655\uA657\uA659\uA65B\uA65D\uA65F\uA661\uA663\uA665\uA667\uA669\uA66B\uA66D\uA681\uA683\uA685\uA687\uA689\uA68B\uA68D\uA68F\uA691\uA693\uA695\uA697\uA699\uA69B-\uA69D\uA723\uA725\uA727\uA729\uA72B\uA72D\uA72F-\uA731\uA733\uA735\uA737\uA739\uA73B\uA73D\uA73F\uA741\uA743\uA745\uA747\uA749\uA74B\uA74D\uA74F\uA751\uA753\uA755\uA757\uA759\uA75B\uA75D\uA75F\uA761\uA763\uA765\uA767\uA769\uA76B\uA76D\uA76F-\uA778\uA77A\uA77C\uA77F\uA781\uA783\uA785\uA787\uA78C\uA78E\uA791\uA793-\uA795\uA797\uA799\uA79B\uA79D\uA79F\uA7A1\uA7A3\uA7A5\uA7A7\uA7A9\uA7B5\uA7B7\uA7F8-\uA7FA\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABBF\uFB00-\uFB06\uFB13-\uFB17\uFF41-\uFF5A', - astral: '\uD801[\uDC28-\uDC4F\uDCD8-\uDCFB]|\uD803[\uDCC0-\uDCF2]|\uD806[\uDCC0-\uDCDF]|\uD835[\uDC1A-\uDC33\uDC4E-\uDC54\uDC56-\uDC67\uDC82-\uDC9B\uDCB6-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDCEA-\uDD03\uDD1E-\uDD37\uDD52-\uDD6B\uDD86-\uDD9F\uDDBA-\uDDD3\uDDEE-\uDE07\uDE22-\uDE3B\uDE56-\uDE6F\uDE8A-\uDEA5\uDEC2-\uDEDA\uDEDC-\uDEE1\uDEFC-\uDF14\uDF16-\uDF1B\uDF36-\uDF4E\uDF50-\uDF55\uDF70-\uDF88\uDF8A-\uDF8F\uDFAA-\uDFC2\uDFC4-\uDFC9\uDFCB]|\uD83A[\uDD22-\uDD43]' - }, - { - name: 'Noncharacter_Code_Point', - bmp: '\uFDD0-\uFDEF\uFFFE\uFFFF', - astral: '[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]' - }, - { - name: 'Uppercase', - bmp: 'A-Z\xC0-\xD6\xD8-\xDE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178\u0179\u017B\u017D\u0181\u0182\u0184\u0186\u0187\u0189-\u018B\u018E-\u0191\u0193\u0194\u0196-\u0198\u019C\u019D\u019F\u01A0\u01A2\u01A4\u01A6\u01A7\u01A9\u01AC\u01AE\u01AF\u01B1-\u01B3\u01B5\u01B7\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A\u023B\u023D\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u0370\u0372\u0376\u037F\u0386\u0388-\u038A\u038C\u038E\u038F\u0391-\u03A1\u03A3-\u03AB\u03CF\u03D2-\u03D4\u03D8\u03DA\u03DC\u03DE\u03E0\u03E2\u03E4\u03E6\u03E8\u03EA\u03EC\u03EE\u03F4\u03F7\u03F9\u03FA\u03FD-\u042F\u0460\u0462\u0464\u0466\u0468\u046A\u046C\u046E\u0470\u0472\u0474\u0476\u0478\u047A\u047C\u047E\u0480\u048A\u048C\u048E\u0490\u0492\u0494\u0496\u0498\u049A\u049C\u049E\u04A0\u04A2\u04A4\u04A6\u04A8\u04AA\u04AC\u04AE\u04B0\u04B2\u04B4\u04B6\u04B8\u04BA\u04BC\u04BE\u04C0\u04C1\u04C3\u04C5\u04C7\u04C9\u04CB\u04CD\u04D0\u04D2\u04D4\u04D6\u04D8\u04DA\u04DC\u04DE\u04E0\u04E2\u04E4\u04E6\u04E8\u04EA\u04EC\u04EE\u04F0\u04F2\u04F4\u04F6\u04F8\u04FA\u04FC\u04FE\u0500\u0502\u0504\u0506\u0508\u050A\u050C\u050E\u0510\u0512\u0514\u0516\u0518\u051A\u051C\u051E\u0520\u0522\u0524\u0526\u0528\u052A\u052C\u052E\u0531-\u0556\u10A0-\u10C5\u10C7\u10CD\u13A0-\u13F5\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFE\u1F08-\u1F0F\u1F18-\u1F1D\u1F28-\u1F2F\u1F38-\u1F3F\u1F48-\u1F4D\u1F59\u1F5B\u1F5D\u1F5F\u1F68-\u1F6F\u1FB8-\u1FBB\u1FC8-\u1FCB\u1FD8-\u1FDB\u1FE8-\u1FEC\u1FF8-\u1FFB\u2102\u2107\u210B-\u210D\u2110-\u2112\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u2130-\u2133\u213E\u213F\u2145\u2160-\u216F\u2183\u24B6-\u24CF\u2C00-\u2C2E\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E-\u2C80\u2C82\u2C84\u2C86\u2C88\u2C8A\u2C8C\u2C8E\u2C90\u2C92\u2C94\u2C96\u2C98\u2C9A\u2C9C\u2C9E\u2CA0\u2CA2\u2CA4\u2CA6\u2CA8\u2CAA\u2CAC\u2CAE\u2CB0\u2CB2\u2CB4\u2CB6\u2CB8\u2CBA\u2CBC\u2CBE\u2CC0\u2CC2\u2CC4\u2CC6\u2CC8\u2CCA\u2CCC\u2CCE\u2CD0\u2CD2\u2CD4\u2CD6\u2CD8\u2CDA\u2CDC\u2CDE\u2CE0\u2CE2\u2CEB\u2CED\u2CF2\uA640\uA642\uA644\uA646\uA648\uA64A\uA64C\uA64E\uA650\uA652\uA654\uA656\uA658\uA65A\uA65C\uA65E\uA660\uA662\uA664\uA666\uA668\uA66A\uA66C\uA680\uA682\uA684\uA686\uA688\uA68A\uA68C\uA68E\uA690\uA692\uA694\uA696\uA698\uA69A\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AE\uA7B0-\uA7B4\uA7B6\uFF21-\uFF3A', - astral: '\uD801[\uDC00-\uDC27\uDCB0-\uDCD3]|\uD803[\uDC80-\uDCB2]|\uD806[\uDCA0-\uDCBF]|\uD835[\uDC00-\uDC19\uDC34-\uDC4D\uDC68-\uDC81\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB5\uDCD0-\uDCE9\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD38\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD6C-\uDD85\uDDA0-\uDDB9\uDDD4-\uDDED\uDE08-\uDE21\uDE3C-\uDE55\uDE70-\uDE89\uDEA8-\uDEC0\uDEE2-\uDEFA\uDF1C-\uDF34\uDF56-\uDF6E\uDF90-\uDFA8\uDFCA]|\uD83A[\uDD00-\uDD21]|\uD83C[\uDD30-\uDD49\uDD50-\uDD69\uDD70-\uDD89]' - }, - { - name: 'White_Space', - bmp: '\x09-\x0D\x20\x85\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000' - } - ]; - - // Add non-generated data - unicodeData.push({ - name: 'Assigned', - // Since this is defined as the inverse of Unicode category Cn (Unassigned), the Unicode - // Categories addon is required to use this property - inverseOf: 'Cn' - }); - - XRegExp.addUnicodeData(unicodeData); - -}; - -},{}],7:[function(require,module,exports){ -/*! - * XRegExp Unicode Scripts 3.2.0 - * <xregexp.com> - * Steven Levithan (c) 2010-2017 MIT License - * Unicode data by Mathias Bynens <mathiasbynens.be> - */ - -module.exports = function(XRegExp) { - 'use strict'; - - /** - * Adds support for all Unicode scripts. E.g., `\p{Latin}`. Token names are case insensitive, - * and any spaces, hyphens, and underscores are ignored. - * - * Uses Unicode 9.0.0. - * - * @requires XRegExp, Unicode Base - */ - - if (!XRegExp.addUnicodeData) { - throw new ReferenceError('Unicode Base must be loaded before Unicode Scripts'); - } - - XRegExp.addUnicodeData([ - { - name: 'Adlam', - astral: '\uD83A[\uDD00-\uDD4A\uDD50-\uDD59\uDD5E\uDD5F]' - }, - { - name: 'Ahom', - astral: '\uD805[\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF3F]' - }, - { - name: 'Anatolian_Hieroglyphs', - astral: '\uD811[\uDC00-\uDE46]' - }, - { - name: 'Arabic', - bmp: '\u0600-\u0604\u0606-\u060B\u060D-\u061A\u061E\u0620-\u063F\u0641-\u064A\u0656-\u066F\u0671-\u06DC\u06DE-\u06FF\u0750-\u077F\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u08FF\uFB50-\uFBC1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFD\uFE70-\uFE74\uFE76-\uFEFC', - astral: '\uD803[\uDE60-\uDE7E]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB\uDEF0\uDEF1]' - }, - { - name: 'Armenian', - bmp: '\u0531-\u0556\u0559-\u055F\u0561-\u0587\u058A\u058D-\u058F\uFB13-\uFB17' - }, - { - name: 'Avestan', - astral: '\uD802[\uDF00-\uDF35\uDF39-\uDF3F]' - }, - { - name: 'Balinese', - bmp: '\u1B00-\u1B4B\u1B50-\u1B7C' - }, - { - name: 'Bamum', - bmp: '\uA6A0-\uA6F7', - astral: '\uD81A[\uDC00-\uDE38]' - }, - { - name: 'Bassa_Vah', - astral: '\uD81A[\uDED0-\uDEED\uDEF0-\uDEF5]' - }, - { - name: 'Batak', - bmp: '\u1BC0-\u1BF3\u1BFC-\u1BFF' - }, - { - name: 'Bengali', - bmp: '\u0980-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09FB' - }, - { - name: 'Bhaiksuki', - astral: '\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC45\uDC50-\uDC6C]' - }, - { - name: 'Bopomofo', - bmp: '\u02EA\u02EB\u3105-\u312D\u31A0-\u31BA' - }, - { - name: 'Brahmi', - astral: '\uD804[\uDC00-\uDC4D\uDC52-\uDC6F\uDC7F]' - }, - { - name: 'Braille', - bmp: '\u2800-\u28FF' - }, - { - name: 'Buginese', - bmp: '\u1A00-\u1A1B\u1A1E\u1A1F' - }, - { - name: 'Buhid', - bmp: '\u1740-\u1753' - }, - { - name: 'Canadian_Aboriginal', - bmp: '\u1400-\u167F\u18B0-\u18F5' - }, - { - name: 'Carian', - astral: '\uD800[\uDEA0-\uDED0]' - }, - { - name: 'Caucasian_Albanian', - astral: '\uD801[\uDD30-\uDD63\uDD6F]' - }, - { - name: 'Chakma', - astral: '\uD804[\uDD00-\uDD34\uDD36-\uDD43]' - }, - { - name: 'Cham', - bmp: '\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA5C-\uAA5F' - }, - { - name: 'Cherokee', - bmp: '\u13A0-\u13F5\u13F8-\u13FD\uAB70-\uABBF' - }, - { - name: 'Common', - bmp: '\0-\x40\\x5B-\x60\\x7B-\xA9\xAB-\xB9\xBB-\xBF\xD7\xF7\u02B9-\u02DF\u02E5-\u02E9\u02EC-\u02FF\u0374\u037E\u0385\u0387\u0589\u0605\u060C\u061B\u061C\u061F\u0640\u06DD\u08E2\u0964\u0965\u0E3F\u0FD5-\u0FD8\u10FB\u16EB-\u16ED\u1735\u1736\u1802\u1803\u1805\u1CD3\u1CE1\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u2000-\u200B\u200E-\u2064\u2066-\u2070\u2074-\u207E\u2080-\u208E\u20A0-\u20BE\u2100-\u2125\u2127-\u2129\u212C-\u2131\u2133-\u214D\u214F-\u215F\u2189-\u218B\u2190-\u23FE\u2400-\u2426\u2440-\u244A\u2460-\u27FF\u2900-\u2B73\u2B76-\u2B95\u2B98-\u2BB9\u2BBD-\u2BC8\u2BCA-\u2BD1\u2BEC-\u2BEF\u2E00-\u2E44\u2FF0-\u2FFB\u3000-\u3004\u3006\u3008-\u3020\u3030-\u3037\u303C-\u303F\u309B\u309C\u30A0\u30FB\u30FC\u3190-\u319F\u31C0-\u31E3\u3220-\u325F\u327F-\u32CF\u3358-\u33FF\u4DC0-\u4DFF\uA700-\uA721\uA788-\uA78A\uA830-\uA839\uA92E\uA9CF\uAB5B\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFEFF\uFF01-\uFF20\uFF3B-\uFF40\uFF5B-\uFF65\uFF70\uFF9E\uFF9F\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFF9-\uFFFD', - astral: '\uD800[\uDD00-\uDD02\uDD07-\uDD33\uDD37-\uDD3F\uDD90-\uDD9B\uDDD0-\uDDFC\uDEE1-\uDEFB]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD66\uDD6A-\uDD7A\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDE8\uDF00-\uDF56\uDF60-\uDF71]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDFCB\uDFCE-\uDFFF]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD00-\uDD0C\uDD10-\uDD2E\uDD30-\uDD6B\uDD70-\uDDAC\uDDE6-\uDDFF\uDE01\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED2\uDEE0-\uDEEC\uDEF0-\uDEF6\uDF00-\uDF73\uDF80-\uDFD4]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDD10-\uDD1E\uDD20-\uDD27\uDD30\uDD33-\uDD3E\uDD40-\uDD4B\uDD50-\uDD5E\uDD80-\uDD91\uDDC0]|\uDB40[\uDC01\uDC20-\uDC7F]' - }, - { - name: 'Coptic', - bmp: '\u03E2-\u03EF\u2C80-\u2CF3\u2CF9-\u2CFF' - }, - { - name: 'Cuneiform', - astral: '\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC70-\uDC74\uDC80-\uDD43]' - }, - { - name: 'Cypriot', - astral: '\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F]' - }, - { - name: 'Cyrillic', - bmp: '\u0400-\u0484\u0487-\u052F\u1C80-\u1C88\u1D2B\u1D78\u2DE0-\u2DFF\uA640-\uA69F\uFE2E\uFE2F' - }, - { - name: 'Deseret', - astral: '\uD801[\uDC00-\uDC4F]' - }, - { - name: 'Devanagari', - bmp: '\u0900-\u0950\u0953-\u0963\u0966-\u097F\uA8E0-\uA8FD' - }, - { - name: 'Duployan', - astral: '\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9C-\uDC9F]' - }, - { - name: 'Egyptian_Hieroglyphs', - astral: '\uD80C[\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]' - }, - { - name: 'Elbasan', - astral: '\uD801[\uDD00-\uDD27]' - }, - { - name: 'Ethiopic', - bmp: '\u1200-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u137C\u1380-\u1399\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E' - }, - { - name: 'Georgian', - bmp: '\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u10FF\u2D00-\u2D25\u2D27\u2D2D' - }, - { - name: 'Glagolitic', - bmp: '\u2C00-\u2C2E\u2C30-\u2C5E', - astral: '\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]' - }, - { - name: 'Gothic', - astral: '\uD800[\uDF30-\uDF4A]' - }, - { - name: 'Grantha', - astral: '\uD804[\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]' - }, - { - name: 'Greek', - bmp: '\u0370-\u0373\u0375-\u0377\u037A-\u037D\u037F\u0384\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03E1\u03F0-\u03FF\u1D26-\u1D2A\u1D5D-\u1D61\u1D66-\u1D6A\u1DBF\u1F00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FC4\u1FC6-\u1FD3\u1FD6-\u1FDB\u1FDD-\u1FEF\u1FF2-\u1FF4\u1FF6-\u1FFE\u2126\uAB65', - astral: '\uD800[\uDD40-\uDD8E\uDDA0]|\uD834[\uDE00-\uDE45]' - }, - { - name: 'Gujarati', - bmp: '\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AF1\u0AF9' - }, - { - name: 'Gurmukhi', - bmp: '\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75' - }, - { - name: 'Han', - bmp: '\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u3005\u3007\u3021-\u3029\u3038-\u303B\u3400-\u4DB5\u4E00-\u9FD5\uF900-\uFA6D\uFA70-\uFAD9', - astral: '[\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]' - }, - { - name: 'Hangul', - bmp: '\u1100-\u11FF\u302E\u302F\u3131-\u318E\u3200-\u321E\u3260-\u327E\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uFFA0-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC' - }, - { - name: 'Hanunoo', - bmp: '\u1720-\u1734' - }, - { - name: 'Hatran', - astral: '\uD802[\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDCFF]' - }, - { - name: 'Hebrew', - bmp: '\u0591-\u05C7\u05D0-\u05EA\u05F0-\u05F4\uFB1D-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFB4F' - }, - { - name: 'Hiragana', - bmp: '\u3041-\u3096\u309D-\u309F', - astral: '\uD82C\uDC01|\uD83C\uDE00' - }, - { - name: 'Imperial_Aramaic', - astral: '\uD802[\uDC40-\uDC55\uDC57-\uDC5F]' - }, - { - name: 'Inherited', - bmp: '\u0300-\u036F\u0485\u0486\u064B-\u0655\u0670\u0951\u0952\u1AB0-\u1ABE\u1CD0-\u1CD2\u1CD4-\u1CE0\u1CE2-\u1CE8\u1CED\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFB-\u1DFF\u200C\u200D\u20D0-\u20F0\u302A-\u302D\u3099\u309A\uFE00-\uFE0F\uFE20-\uFE2D', - astral: '\uD800[\uDDFD\uDEE0]|\uD834[\uDD67-\uDD69\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD]|\uDB40[\uDD00-\uDDEF]' - }, - { - name: 'Inscriptional_Pahlavi', - astral: '\uD802[\uDF60-\uDF72\uDF78-\uDF7F]' - }, - { - name: 'Inscriptional_Parthian', - astral: '\uD802[\uDF40-\uDF55\uDF58-\uDF5F]' - }, - { - name: 'Javanese', - bmp: '\uA980-\uA9CD\uA9D0-\uA9D9\uA9DE\uA9DF' - }, - { - name: 'Kaithi', - astral: '\uD804[\uDC80-\uDCC1]' - }, - { - name: 'Kannada', - bmp: '\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2' - }, - { - name: 'Katakana', - bmp: '\u30A1-\u30FA\u30FD-\u30FF\u31F0-\u31FF\u32D0-\u32FE\u3300-\u3357\uFF66-\uFF6F\uFF71-\uFF9D', - astral: '\uD82C\uDC00' - }, - { - name: 'Kayah_Li', - bmp: '\uA900-\uA92D\uA92F' - }, - { - name: 'Kharoshthi', - astral: '\uD802[\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F-\uDE47\uDE50-\uDE58]' - }, - { - name: 'Khmer', - bmp: '\u1780-\u17DD\u17E0-\u17E9\u17F0-\u17F9\u19E0-\u19FF' - }, - { - name: 'Khojki', - astral: '\uD804[\uDE00-\uDE11\uDE13-\uDE3E]' - }, - { - name: 'Khudawadi', - astral: '\uD804[\uDEB0-\uDEEA\uDEF0-\uDEF9]' - }, - { - name: 'Lao', - bmp: '\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF' - }, - { - name: 'Latin', - bmp: 'A-Za-z\xAA\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02B8\u02E0-\u02E4\u1D00-\u1D25\u1D2C-\u1D5C\u1D62-\u1D65\u1D6B-\u1D77\u1D79-\u1DBE\u1E00-\u1EFF\u2071\u207F\u2090-\u209C\u212A\u212B\u2132\u214E\u2160-\u2188\u2C60-\u2C7F\uA722-\uA787\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA7FF\uAB30-\uAB5A\uAB5C-\uAB64\uFB00-\uFB06\uFF21-\uFF3A\uFF41-\uFF5A' - }, - { - name: 'Lepcha', - bmp: '\u1C00-\u1C37\u1C3B-\u1C49\u1C4D-\u1C4F' - }, - { - name: 'Limbu', - bmp: '\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1940\u1944-\u194F' - }, - { - name: 'Linear_A', - astral: '\uD801[\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]' - }, - { - name: 'Linear_B', - astral: '\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA]' - }, - { - name: 'Lisu', - bmp: '\uA4D0-\uA4FF' - }, - { - name: 'Lycian', - astral: '\uD800[\uDE80-\uDE9C]' - }, - { - name: 'Lydian', - astral: '\uD802[\uDD20-\uDD39\uDD3F]' - }, - { - name: 'Mahajani', - astral: '\uD804[\uDD50-\uDD76]' - }, - { - name: 'Malayalam', - bmp: '\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4F\u0D54-\u0D63\u0D66-\u0D7F' - }, - { - name: 'Mandaic', - bmp: '\u0840-\u085B\u085E' - }, - { - name: 'Manichaean', - astral: '\uD802[\uDEC0-\uDEE6\uDEEB-\uDEF6]' - }, - { - name: 'Marchen', - astral: '\uD807[\uDC70-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6]' - }, - { - name: 'Meetei_Mayek', - bmp: '\uAAE0-\uAAF6\uABC0-\uABED\uABF0-\uABF9' - }, - { - name: 'Mende_Kikakui', - astral: '\uD83A[\uDC00-\uDCC4\uDCC7-\uDCD6]' - }, - { - name: 'Meroitic_Cursive', - astral: '\uD802[\uDDA0-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDDFF]' - }, - { - name: 'Meroitic_Hieroglyphs', - astral: '\uD802[\uDD80-\uDD9F]' - }, - { - name: 'Miao', - astral: '\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F]' - }, - { - name: 'Modi', - astral: '\uD805[\uDE00-\uDE44\uDE50-\uDE59]' - }, - { - name: 'Mongolian', - bmp: '\u1800\u1801\u1804\u1806-\u180E\u1810-\u1819\u1820-\u1877\u1880-\u18AA', - astral: '\uD805[\uDE60-\uDE6C]' - }, - { - name: 'Mro', - astral: '\uD81A[\uDE40-\uDE5E\uDE60-\uDE69\uDE6E\uDE6F]' - }, - { - name: 'Multani', - astral: '\uD804[\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA9]' - }, - { - name: 'Myanmar', - bmp: '\u1000-\u109F\uA9E0-\uA9FE\uAA60-\uAA7F' - }, - { - name: 'Nabataean', - astral: '\uD802[\uDC80-\uDC9E\uDCA7-\uDCAF]' - }, - { - name: 'New_Tai_Lue', - bmp: '\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u19DE\u19DF' - }, - { - name: 'Newa', - astral: '\uD805[\uDC00-\uDC59\uDC5B\uDC5D]' - }, - { - name: 'Nko', - bmp: '\u07C0-\u07FA' - }, - { - name: 'Ogham', - bmp: '\u1680-\u169C' - }, - { - name: 'Ol_Chiki', - bmp: '\u1C50-\u1C7F' - }, - { - name: 'Old_Hungarian', - astral: '\uD803[\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDCFF]' - }, - { - name: 'Old_Italic', - astral: '\uD800[\uDF00-\uDF23]' - }, - { - name: 'Old_North_Arabian', - astral: '\uD802[\uDE80-\uDE9F]' - }, - { - name: 'Old_Permic', - astral: '\uD800[\uDF50-\uDF7A]' - }, - { - name: 'Old_Persian', - astral: '\uD800[\uDFA0-\uDFC3\uDFC8-\uDFD5]' - }, - { - name: 'Old_South_Arabian', - astral: '\uD802[\uDE60-\uDE7F]' - }, - { - name: 'Old_Turkic', - astral: '\uD803[\uDC00-\uDC48]' - }, - { - name: 'Oriya', - bmp: '\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B77' - }, - { - name: 'Osage', - astral: '\uD801[\uDCB0-\uDCD3\uDCD8-\uDCFB]' - }, - { - name: 'Osmanya', - astral: '\uD801[\uDC80-\uDC9D\uDCA0-\uDCA9]' - }, - { - name: 'Pahawh_Hmong', - astral: '\uD81A[\uDF00-\uDF45\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]' - }, - { - name: 'Palmyrene', - astral: '\uD802[\uDC60-\uDC7F]' - }, - { - name: 'Pau_Cin_Hau', - astral: '\uD806[\uDEC0-\uDEF8]' - }, - { - name: 'Phags_Pa', - bmp: '\uA840-\uA877' - }, - { - name: 'Phoenician', - astral: '\uD802[\uDD00-\uDD1B\uDD1F]' - }, - { - name: 'Psalter_Pahlavi', - astral: '\uD802[\uDF80-\uDF91\uDF99-\uDF9C\uDFA9-\uDFAF]' - }, - { - name: 'Rejang', - bmp: '\uA930-\uA953\uA95F' - }, - { - name: 'Runic', - bmp: '\u16A0-\u16EA\u16EE-\u16F8' - }, - { - name: 'Samaritan', - bmp: '\u0800-\u082D\u0830-\u083E' - }, - { - name: 'Saurashtra', - bmp: '\uA880-\uA8C5\uA8CE-\uA8D9' - }, - { - name: 'Sharada', - astral: '\uD804[\uDD80-\uDDCD\uDDD0-\uDDDF]' - }, - { - name: 'Shavian', - astral: '\uD801[\uDC50-\uDC7F]' - }, - { - name: 'Siddham', - astral: '\uD805[\uDD80-\uDDB5\uDDB8-\uDDDD]' - }, - { - name: 'SignWriting', - astral: '\uD836[\uDC00-\uDE8B\uDE9B-\uDE9F\uDEA1-\uDEAF]' - }, - { - name: 'Sinhala', - bmp: '\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2-\u0DF4', - astral: '\uD804[\uDDE1-\uDDF4]' - }, - { - name: 'Sora_Sompeng', - astral: '\uD804[\uDCD0-\uDCE8\uDCF0-\uDCF9]' - }, - { - name: 'Sundanese', - bmp: '\u1B80-\u1BBF\u1CC0-\u1CC7' - }, - { - name: 'Syloti_Nagri', - bmp: '\uA800-\uA82B' - }, - { - name: 'Syriac', - bmp: '\u0700-\u070D\u070F-\u074A\u074D-\u074F' - }, - { - name: 'Tagalog', - bmp: '\u1700-\u170C\u170E-\u1714' - }, - { - name: 'Tagbanwa', - bmp: '\u1760-\u176C\u176E-\u1770\u1772\u1773' - }, - { - name: 'Tai_Le', - bmp: '\u1950-\u196D\u1970-\u1974' - }, - { - name: 'Tai_Tham', - bmp: '\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA0-\u1AAD' - }, - { - name: 'Tai_Viet', - bmp: '\uAA80-\uAAC2\uAADB-\uAADF' - }, - { - name: 'Takri', - astral: '\uD805[\uDE80-\uDEB7\uDEC0-\uDEC9]' - }, - { - name: 'Tamil', - bmp: '\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BFA' - }, - { - name: 'Tangut', - astral: '\uD81B\uDFE0|[\uD81C-\uD820][\uDC00-\uDFFF]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]' - }, - { - name: 'Telugu', - bmp: '\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C78-\u0C7F' - }, - { - name: 'Thaana', - bmp: '\u0780-\u07B1' - }, - { - name: 'Thai', - bmp: '\u0E01-\u0E3A\u0E40-\u0E5B' - }, - { - name: 'Tibetan', - bmp: '\u0F00-\u0F47\u0F49-\u0F6C\u0F71-\u0F97\u0F99-\u0FBC\u0FBE-\u0FCC\u0FCE-\u0FD4\u0FD9\u0FDA' - }, - { - name: 'Tifinagh', - bmp: '\u2D30-\u2D67\u2D6F\u2D70\u2D7F' - }, - { - name: 'Tirhuta', - astral: '\uD805[\uDC80-\uDCC7\uDCD0-\uDCD9]' - }, - { - name: 'Ugaritic', - astral: '\uD800[\uDF80-\uDF9D\uDF9F]' - }, - { - name: 'Vai', - bmp: '\uA500-\uA62B' - }, - { - name: 'Warang_Citi', - astral: '\uD806[\uDCA0-\uDCF2\uDCFF]' - }, - { - name: 'Yi', - bmp: '\uA000-\uA48C\uA490-\uA4C6' - } - ]); - -}; - -},{}],8:[function(require,module,exports){ -var XRegExp = require('./xregexp'); - -require('./addons/build')(XRegExp); -require('./addons/matchrecursive')(XRegExp); -require('./addons/unicode-base')(XRegExp); -require('./addons/unicode-blocks')(XRegExp); -require('./addons/unicode-categories')(XRegExp); -require('./addons/unicode-properties')(XRegExp); -require('./addons/unicode-scripts')(XRegExp); - -module.exports = XRegExp; - -},{"./addons/build":1,"./addons/matchrecursive":2,"./addons/unicode-base":3,"./addons/unicode-blocks":4,"./addons/unicode-categories":5,"./addons/unicode-properties":6,"./addons/unicode-scripts":7,"./xregexp":9}],9:[function(require,module,exports){ -/*! - * XRegExp 3.2.0 - * <xregexp.com> - * Steven Levithan (c) 2007-2017 MIT License - */ - -'use strict'; - -/** - * XRegExp provides augmented, extensible regular expressions. You get additional regex syntax and - * flags, beyond what browsers support natively. XRegExp is also a regex utility belt with tools to - * make your client-side grepping simpler and more powerful, while freeing you from related - * cross-browser inconsistencies. - */ - -// ==--------------------------== -// Private stuff -// ==--------------------------== - -// Property name used for extended regex instance data -var REGEX_DATA = 'xregexp'; -// Optional features that can be installed and uninstalled -var features = { - astral: false, - natives: false -}; -// Native methods to use and restore ('native' is an ES3 reserved keyword) -var nativ = { - exec: RegExp.prototype.exec, - test: RegExp.prototype.test, - match: String.prototype.match, - replace: String.prototype.replace, - split: String.prototype.split -}; -// Storage for fixed/extended native methods -var fixed = {}; -// Storage for regexes cached by `XRegExp.cache` -var regexCache = {}; -// Storage for pattern details cached by the `XRegExp` constructor -var patternCache = {}; -// Storage for regex syntax tokens added internally or by `XRegExp.addToken` -var tokens = []; -// Token scopes -var defaultScope = 'default'; -var classScope = 'class'; -// Regexes that match native regex syntax, including octals -var nativeTokens = { - // Any native multicharacter token in default scope, or any single character - 'default': /\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\d*|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|\(\?(?:[:=!]|<[=!])|[?*+]\?|{\d+(?:,\d*)?}\??|[\s\S]/, - // Any native multicharacter token in character class scope, or any single character - 'class': /\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|[\s\S]/ -}; -// Any backreference or dollar-prefixed character in replacement strings -var replacementToken = /\$(?:{([\w$]+)}|(\d\d?|[\s\S]))/g; -// Check for correct `exec` handling of nonparticipating capturing groups -var correctExecNpcg = nativ.exec.call(/()??/, '')[1] === undefined; -// Check for ES6 `flags` prop support -var hasFlagsProp = /x/.flags !== undefined; -// Shortcut to `Object.prototype.toString` -var toString = {}.toString; - -function hasNativeFlag(flag) { - // Can't check based on the presence of properties/getters since browsers might support such - // properties even when they don't support the corresponding flag in regex construction (tested - // in Chrome 48, where `'unicode' in /x/` is true but trying to construct a regex with flag `u` - // throws an error) - var isSupported = true; - try { - // Can't use regex literals for testing even in a `try` because regex literals with - // unsupported flags cause a compilation error in IE - new RegExp('', flag); - } catch (exception) { - isSupported = false; - } - return isSupported; -} -// Check for ES6 `u` flag support -var hasNativeU = hasNativeFlag('u'); -// Check for ES6 `y` flag support -var hasNativeY = hasNativeFlag('y'); -// Tracker for known flags, including addon flags -var registeredFlags = { - g: true, - i: true, - m: true, - u: hasNativeU, - y: hasNativeY -}; - -/** - * Attaches extended data and `XRegExp.prototype` properties to a regex object. - * - * @private - * @param {RegExp} regex Regex to augment. - * @param {Array} captureNames Array with capture names, or `null`. - * @param {String} xSource XRegExp pattern used to generate `regex`, or `null` if N/A. - * @param {String} xFlags XRegExp flags used to generate `regex`, or `null` if N/A. - * @param {Boolean} [isInternalOnly=false] Whether the regex will be used only for internal - * operations, and never exposed to users. For internal-only regexes, we can improve perf by - * skipping some operations like attaching `XRegExp.prototype` properties. - * @returns {RegExp} Augmented regex. - */ -function augment(regex, captureNames, xSource, xFlags, isInternalOnly) { - var p; - - regex[REGEX_DATA] = { - captureNames: captureNames - }; - - if (isInternalOnly) { - return regex; - } - - // Can't auto-inherit these since the XRegExp constructor returns a nonprimitive value - if (regex.__proto__) { - regex.__proto__ = XRegExp.prototype; - } else { - for (p in XRegExp.prototype) { - // An `XRegExp.prototype.hasOwnProperty(p)` check wouldn't be worth it here, since this - // is performance sensitive, and enumerable `Object.prototype` or `RegExp.prototype` - // extensions exist on `regex.prototype` anyway - regex[p] = XRegExp.prototype[p]; - } - } - - regex[REGEX_DATA].source = xSource; - // Emulate the ES6 `flags` prop by ensuring flags are in alphabetical order - regex[REGEX_DATA].flags = xFlags ? xFlags.split('').sort().join('') : xFlags; - - return regex; -} - -/** - * Removes any duplicate characters from the provided string. - * - * @private - * @param {String} str String to remove duplicate characters from. - * @returns {String} String with any duplicate characters removed. - */ -function clipDuplicates(str) { - return nativ.replace.call(str, /([\s\S])(?=[\s\S]*\1)/g, ''); -} - -/** - * Copies a regex object while preserving extended data and augmenting with `XRegExp.prototype` - * properties. The copy has a fresh `lastIndex` property (set to zero). Allows adding and removing - * flags g and y while copying the regex. - * - * @private - * @param {RegExp} regex Regex to copy. - * @param {Object} [options] Options object with optional properties: - * - `addG` {Boolean} Add flag g while copying the regex. - * - `addY` {Boolean} Add flag y while copying the regex. - * - `removeG` {Boolean} Remove flag g while copying the regex. - * - `removeY` {Boolean} Remove flag y while copying the regex. - * - `isInternalOnly` {Boolean} Whether the copied regex will be used only for internal - * operations, and never exposed to users. For internal-only regexes, we can improve perf by - * skipping some operations like attaching `XRegExp.prototype` properties. - * - `source` {String} Overrides `<regex>.source`, for special cases. - * @returns {RegExp} Copy of the provided regex, possibly with modified flags. - */ -function copyRegex(regex, options) { - if (!XRegExp.isRegExp(regex)) { - throw new TypeError('Type RegExp expected'); - } - - var xData = regex[REGEX_DATA] || {}; - var flags = getNativeFlags(regex); - var flagsToAdd = ''; - var flagsToRemove = ''; - var xregexpSource = null; - var xregexpFlags = null; - - options = options || {}; - - if (options.removeG) {flagsToRemove += 'g';} - if (options.removeY) {flagsToRemove += 'y';} - if (flagsToRemove) { - flags = nativ.replace.call(flags, new RegExp('[' + flagsToRemove + ']+', 'g'), ''); - } - - if (options.addG) {flagsToAdd += 'g';} - if (options.addY) {flagsToAdd += 'y';} - if (flagsToAdd) { - flags = clipDuplicates(flags + flagsToAdd); - } - - if (!options.isInternalOnly) { - if (xData.source !== undefined) { - xregexpSource = xData.source; - } - // null or undefined; don't want to add to `flags` if the previous value was null, since - // that indicates we're not tracking original precompilation flags - if (xData.flags != null) { - // Flags are only added for non-internal regexes by `XRegExp.globalize`. Flags are never - // removed for non-internal regexes, so don't need to handle it - xregexpFlags = flagsToAdd ? clipDuplicates(xData.flags + flagsToAdd) : xData.flags; - } - } - - // Augment with `XRegExp.prototype` properties, but use the native `RegExp` constructor to avoid - // searching for special tokens. That would be wrong for regexes constructed by `RegExp`, and - // unnecessary for regexes constructed by `XRegExp` because the regex has already undergone the - // translation to native regex syntax - regex = augment( - new RegExp(options.source || regex.source, flags), - hasNamedCapture(regex) ? xData.captureNames.slice(0) : null, - xregexpSource, - xregexpFlags, - options.isInternalOnly - ); - - return regex; -} - -/** - * Converts hexadecimal to decimal. - * - * @private - * @param {String} hex - * @returns {Number} - */ -function dec(hex) { - return parseInt(hex, 16); -} - -/** - * Returns a pattern that can be used in a native RegExp in place of an ignorable token such as an - * inline comment or whitespace with flag x. This is used directly as a token handler function - * passed to `XRegExp.addToken`. - * - * @private - * @param {String} match Match arg of `XRegExp.addToken` handler - * @param {String} scope Scope arg of `XRegExp.addToken` handler - * @param {String} flags Flags arg of `XRegExp.addToken` handler - * @returns {String} Either '' or '(?:)', depending on which is needed in the context of the match. - */ -function getContextualTokenSeparator(match, scope, flags) { - if ( - // No need to separate tokens if at the beginning or end of a group - match.input.charAt(match.index - 1) === '(' || - match.input.charAt(match.index + match[0].length) === ')' || - // Avoid separating tokens when the following token is a quantifier - isPatternNext(match.input, match.index + match[0].length, flags, '[?*+]|{\\d+(?:,\\d*)?}') - ) { - return ''; - } - // Keep tokens separated. This avoids e.g. inadvertedly changing `\1 1` or `\1(?#)1` to `\11`. - // This also ensures all tokens remain as discrete atoms, e.g. it avoids converting the syntax - // error `(? :` into `(?:`. - return '(?:)'; -} - -/** - * Returns native `RegExp` flags used by a regex object. - * - * @private - * @param {RegExp} regex Regex to check. - * @returns {String} Native flags in use. - */ -function getNativeFlags(regex) { - return hasFlagsProp ? - regex.flags : - // Explicitly using `RegExp.prototype.toString` (rather than e.g. `String` or concatenation - // with an empty string) allows this to continue working predictably when - // `XRegExp.proptotype.toString` is overridden - nativ.exec.call(/\/([a-z]*)$/i, RegExp.prototype.toString.call(regex))[1]; -} - -/** - * Determines whether a regex has extended instance data used to track capture names. - * - * @private - * @param {RegExp} regex Regex to check. - * @returns {Boolean} Whether the regex uses named capture. - */ -function hasNamedCapture(regex) { - return !!(regex[REGEX_DATA] && regex[REGEX_DATA].captureNames); -} - -/** - * Converts decimal to hexadecimal. - * - * @private - * @param {Number|String} dec - * @returns {String} - */ -function hex(dec) { - return parseInt(dec, 10).toString(16); -} - -/** - * Returns the first index at which a given value can be found in an array. - * - * @private - * @param {Array} array Array to search. - * @param {*} value Value to locate in the array. - * @returns {Number} Zero-based index at which the item is found, or -1. - */ -function indexOf(array, value) { - var len = array.length; - var i; - - for (i = 0; i < len; ++i) { - if (array[i] === value) { - return i; - } - } - - return -1; -} - -/** - * Checks whether the next nonignorable token after the specified position matches the - * `needlePattern` - * - * @private - * @param {String} pattern Pattern to search within. - * @param {Number} pos Index in `pattern` to search at. - * @param {String} flags Flags used by the pattern. - * @param {String} needlePattern Pattern to match the next token against. - * @returns {Boolean} Whether the next nonignorable token matches `needlePattern` - */ -function isPatternNext(pattern, pos, flags, needlePattern) { - var inlineCommentPattern = '\\(\\?#[^)]*\\)'; - var lineCommentPattern = '#[^#\\n]*'; - var patternsToIgnore = flags.indexOf('x') > -1 ? - // Ignore any leading whitespace, line comments, and inline comments - ['\\s', lineCommentPattern, inlineCommentPattern] : - // Ignore any leading inline comments - [inlineCommentPattern]; - return nativ.test.call( - new RegExp('^(?:' + patternsToIgnore.join('|') + ')*(?:' + needlePattern + ')'), - pattern.slice(pos) - ); -} - -/** - * Determines whether a value is of the specified type, by resolving its internal [[Class]]. - * - * @private - * @param {*} value Object to check. - * @param {String} type Type to check for, in TitleCase. - * @returns {Boolean} Whether the object matches the type. - */ -function isType(value, type) { - return toString.call(value) === '[object ' + type + ']'; -} - -/** - * Adds leading zeros if shorter than four characters. Used for fixed-length hexadecimal values. - * - * @private - * @param {String} str - * @returns {String} - */ -function pad4(str) { - while (str.length < 4) { - str = '0' + str; - } - return str; -} - -/** - * Checks for flag-related errors, and strips/applies flags in a leading mode modifier. Offloads - * the flag preparation logic from the `XRegExp` constructor. - * - * @private - * @param {String} pattern Regex pattern, possibly with a leading mode modifier. - * @param {String} flags Any combination of flags. - * @returns {Object} Object with properties `pattern` and `flags`. - */ -function prepareFlags(pattern, flags) { - var i; - - // Recent browsers throw on duplicate flags, so copy this behavior for nonnative flags - if (clipDuplicates(flags) !== flags) { - throw new SyntaxError('Invalid duplicate regex flag ' + flags); - } - - // Strip and apply a leading mode modifier with any combination of flags except g or y - pattern = nativ.replace.call(pattern, /^\(\?([\w$]+)\)/, function($0, $1) { - if (nativ.test.call(/[gy]/, $1)) { - throw new SyntaxError('Cannot use flag g or y in mode modifier ' + $0); - } - // Allow duplicate flags within the mode modifier - flags = clipDuplicates(flags + $1); - return ''; - }); - - // Throw on unknown native or nonnative flags - for (i = 0; i < flags.length; ++i) { - if (!registeredFlags[flags.charAt(i)]) { - throw new SyntaxError('Unknown regex flag ' + flags.charAt(i)); - } - } - - return { - pattern: pattern, - flags: flags - }; -} - -/** - * Prepares an options object from the given value. - * - * @private - * @param {String|Object} value Value to convert to an options object. - * @returns {Object} Options object. - */ -function prepareOptions(value) { - var options = {}; - - if (isType(value, 'String')) { - XRegExp.forEach(value, /[^\s,]+/, function(match) { - options[match] = true; - }); - - return options; - } - - return value; -} - -/** - * Registers a flag so it doesn't throw an 'unknown flag' error. - * - * @private - * @param {String} flag Single-character flag to register. - */ -function registerFlag(flag) { - if (!/^[\w$]$/.test(flag)) { - throw new Error('Flag must be a single character A-Za-z0-9_$'); - } - - registeredFlags[flag] = true; -} - -/** - * Runs built-in and custom regex syntax tokens in reverse insertion order at the specified - * position, until a match is found. - * - * @private - * @param {String} pattern Original pattern from which an XRegExp object is being built. - * @param {String} flags Flags being used to construct the regex. - * @param {Number} pos Position to search for tokens within `pattern`. - * @param {Number} scope Regex scope to apply: 'default' or 'class'. - * @param {Object} context Context object to use for token handler functions. - * @returns {Object} Object with properties `matchLength`, `output`, and `reparse`; or `null`. - */ -function runTokens(pattern, flags, pos, scope, context) { - var i = tokens.length; - var leadChar = pattern.charAt(pos); - var result = null; - var match; - var t; - - // Run in reverse insertion order - while (i--) { - t = tokens[i]; - if ( - (t.leadChar && t.leadChar !== leadChar) || - (t.scope !== scope && t.scope !== 'all') || - (t.flag && flags.indexOf(t.flag) === -1) - ) { - continue; - } - - match = XRegExp.exec(pattern, t.regex, pos, 'sticky'); - if (match) { - result = { - matchLength: match[0].length, - output: t.handler.call(context, match, scope, flags), - reparse: t.reparse - }; - // Finished with token tests - break; - } - } - - return result; -} - -/** - * Enables or disables implicit astral mode opt-in. When enabled, flag A is automatically added to - * all new regexes created by XRegExp. This causes an error to be thrown when creating regexes if - * the Unicode Base addon is not available, since flag A is registered by that addon. - * - * @private - * @param {Boolean} on `true` to enable; `false` to disable. - */ -function setAstral(on) { - features.astral = on; -} - -/** - * Enables or disables native method overrides. - * - * @private - * @param {Boolean} on `true` to enable; `false` to disable. - */ -function setNatives(on) { - RegExp.prototype.exec = (on ? fixed : nativ).exec; - RegExp.prototype.test = (on ? fixed : nativ).test; - String.prototype.match = (on ? fixed : nativ).match; - String.prototype.replace = (on ? fixed : nativ).replace; - String.prototype.split = (on ? fixed : nativ).split; - - features.natives = on; -} - -/** - * Returns the object, or throws an error if it is `null` or `undefined`. This is used to follow - * the ES5 abstract operation `ToObject`. - * - * @private - * @param {*} value Object to check and return. - * @returns {*} The provided object. - */ -function toObject(value) { - // null or undefined - if (value == null) { - throw new TypeError('Cannot convert null or undefined to object'); - } - - return value; -} - -// ==--------------------------== -// Constructor -// ==--------------------------== - -/** - * Creates an extended regular expression object for matching text with a pattern. Differs from a - * native regular expression in that additional syntax and flags are supported. The returned object - * is in fact a native `RegExp` and works with all native methods. - * - * @class XRegExp - * @constructor - * @param {String|RegExp} pattern Regex pattern string, or an existing regex object to copy. - * @param {String} [flags] Any combination of flags. - * Native flags: - * - `g` - global - * - `i` - ignore case - * - `m` - multiline anchors - * - `u` - unicode (ES6) - * - `y` - sticky (Firefox 3+, ES6) - * Additional XRegExp flags: - * - `n` - explicit capture - * - `s` - dot matches all (aka singleline) - * - `x` - free-spacing and line comments (aka extended) - * - `A` - astral (requires the Unicode Base addon) - * Flags cannot be provided when constructing one `RegExp` from another. - * @returns {RegExp} Extended regular expression object. - * @example - * - * // With named capture and flag x - * XRegExp('(?<year> [0-9]{4} ) -? # year \n\ - * (?<month> [0-9]{2} ) -? # month \n\ - * (?<day> [0-9]{2} ) # day ', 'x'); - * - * // Providing a regex object copies it. Native regexes are recompiled using native (not XRegExp) - * // syntax. Copies maintain extended data, are augmented with `XRegExp.prototype` properties, and - * // have fresh `lastIndex` properties (set to zero). - * XRegExp(/regex/); - */ -function XRegExp(pattern, flags) { - if (XRegExp.isRegExp(pattern)) { - if (flags !== undefined) { - throw new TypeError('Cannot supply flags when copying a RegExp'); - } - return copyRegex(pattern); - } - - // Copy the argument behavior of `RegExp` - pattern = pattern === undefined ? '' : String(pattern); - flags = flags === undefined ? '' : String(flags); - - if (XRegExp.isInstalled('astral') && flags.indexOf('A') === -1) { - // This causes an error to be thrown if the Unicode Base addon is not available - flags += 'A'; - } - - if (!patternCache[pattern]) { - patternCache[pattern] = {}; - } - - if (!patternCache[pattern][flags]) { - var context = { - hasNamedCapture: false, - captureNames: [] - }; - var scope = defaultScope; - var output = ''; - var pos = 0; - var result; - - // Check for flag-related errors, and strip/apply flags in a leading mode modifier - var applied = prepareFlags(pattern, flags); - var appliedPattern = applied.pattern; - var appliedFlags = applied.flags; - - // Use XRegExp's tokens to translate the pattern to a native regex pattern. - // `appliedPattern.length` may change on each iteration if tokens use `reparse` - while (pos < appliedPattern.length) { - do { - // Check for custom tokens at the current position - result = runTokens(appliedPattern, appliedFlags, pos, scope, context); - // If the matched token used the `reparse` option, splice its output into the - // pattern before running tokens again at the same position - if (result && result.reparse) { - appliedPattern = appliedPattern.slice(0, pos) + - result.output + - appliedPattern.slice(pos + result.matchLength); - } - } while (result && result.reparse); - - if (result) { - output += result.output; - pos += (result.matchLength || 1); - } else { - // Get the native token at the current position - var token = XRegExp.exec(appliedPattern, nativeTokens[scope], pos, 'sticky')[0]; - output += token; - pos += token.length; - if (token === '[' && scope === defaultScope) { - scope = classScope; - } else if (token === ']' && scope === classScope) { - scope = defaultScope; - } - } - } - - patternCache[pattern][flags] = { - // Use basic cleanup to collapse repeated empty groups like `(?:)(?:)` to `(?:)`. Empty - // groups are sometimes inserted during regex transpilation in order to keep tokens - // separated. However, more than one empty group in a row is never needed. - pattern: nativ.replace.call(output, /(?:\(\?:\))+/g, '(?:)'), - // Strip all but native flags - flags: nativ.replace.call(appliedFlags, /[^gimuy]+/g, ''), - // `context.captureNames` has an item for each capturing group, even if unnamed - captures: context.hasNamedCapture ? context.captureNames : null - }; - } - - var generated = patternCache[pattern][flags]; - return augment( - new RegExp(generated.pattern, generated.flags), - generated.captures, - pattern, - flags - ); -} - -// Add `RegExp.prototype` to the prototype chain -XRegExp.prototype = new RegExp(); - -// ==--------------------------== -// Public properties -// ==--------------------------== - -/** - * The XRegExp version number as a string containing three dot-separated parts. For example, - * '2.0.0-beta-3'. - * - * @static - * @memberOf XRegExp - * @type String - */ -XRegExp.version = '3.2.0'; - -// ==--------------------------== -// Public methods -// ==--------------------------== - -// Intentionally undocumented; used in tests and addons -XRegExp._clipDuplicates = clipDuplicates; -XRegExp._hasNativeFlag = hasNativeFlag; -XRegExp._dec = dec; -XRegExp._hex = hex; -XRegExp._pad4 = pad4; - -/** - * Extends XRegExp syntax and allows custom flags. This is used internally and can be used to - * create XRegExp addons. If more than one token can match the same string, the last added wins. - * - * @memberOf XRegExp - * @param {RegExp} regex Regex object that matches the new token. - * @param {Function} handler Function that returns a new pattern string (using native regex syntax) - * to replace the matched token within all future XRegExp regexes. Has access to persistent - * properties of the regex being built, through `this`. Invoked with three arguments: - * - The match array, with named backreference properties. - * - The regex scope where the match was found: 'default' or 'class'. - * - The flags used by the regex, including any flags in a leading mode modifier. - * The handler function becomes part of the XRegExp construction process, so be careful not to - * construct XRegExps within the function or you will trigger infinite recursion. - * @param {Object} [options] Options object with optional properties: - * - `scope` {String} Scope where the token applies: 'default', 'class', or 'all'. - * - `flag` {String} Single-character flag that triggers the token. This also registers the - * flag, which prevents XRegExp from throwing an 'unknown flag' error when the flag is used. - * - `optionalFlags` {String} Any custom flags checked for within the token `handler` that are - * not required to trigger the token. This registers the flags, to prevent XRegExp from - * throwing an 'unknown flag' error when any of the flags are used. - * - `reparse` {Boolean} Whether the `handler` function's output should not be treated as - * final, and instead be reparseable by other tokens (including the current token). Allows - * token chaining or deferring. - * - `leadChar` {String} Single character that occurs at the beginning of any successful match - * of the token (not always applicable). This doesn't change the behavior of the token unless - * you provide an erroneous value. However, providing it can increase the token's performance - * since the token can be skipped at any positions where this character doesn't appear. - * @example - * - * // Basic usage: Add \a for the ALERT control code - * XRegExp.addToken( - * /\\a/, - * function() {return '\\x07';}, - * {scope: 'all'} - * ); - * XRegExp('\\a[\\a-\\n]+').test('\x07\n\x07'); // -> true - * - * // Add the U (ungreedy) flag from PCRE and RE2, which reverses greedy and lazy quantifiers. - * // Since `scope` is not specified, it uses 'default' (i.e., transformations apply outside of - * // character classes only) - * XRegExp.addToken( - * /([?*+]|{\d+(?:,\d*)?})(\??)/, - * function(match) {return match[1] + (match[2] ? '' : '?');}, - * {flag: 'U'} - * ); - * XRegExp('a+', 'U').exec('aaa')[0]; // -> 'a' - * XRegExp('a+?', 'U').exec('aaa')[0]; // -> 'aaa' - */ -XRegExp.addToken = function(regex, handler, options) { - options = options || {}; - var optionalFlags = options.optionalFlags; - var i; - - if (options.flag) { - registerFlag(options.flag); - } - - if (optionalFlags) { - optionalFlags = nativ.split.call(optionalFlags, ''); - for (i = 0; i < optionalFlags.length; ++i) { - registerFlag(optionalFlags[i]); - } - } - - // Add to the private list of syntax tokens - tokens.push({ - regex: copyRegex(regex, { - addG: true, - addY: hasNativeY, - isInternalOnly: true - }), - handler: handler, - scope: options.scope || defaultScope, - flag: options.flag, - reparse: options.reparse, - leadChar: options.leadChar - }); - - // Reset the pattern cache used by the `XRegExp` constructor, since the same pattern and flags - // might now produce different results - XRegExp.cache.flush('patterns'); -}; - -/** - * Caches and returns the result of calling `XRegExp(pattern, flags)`. On any subsequent call with - * the same pattern and flag combination, the cached copy of the regex is returned. - * - * @memberOf XRegExp - * @param {String} pattern Regex pattern string. - * @param {String} [flags] Any combination of XRegExp flags. - * @returns {RegExp} Cached XRegExp object. - * @example - * - * while (match = XRegExp.cache('.', 'gs').exec(str)) { - * // The regex is compiled once only - * } - */ -XRegExp.cache = function(pattern, flags) { - if (!regexCache[pattern]) { - regexCache[pattern] = {}; - } - return regexCache[pattern][flags] || ( - regexCache[pattern][flags] = XRegExp(pattern, flags) - ); -}; - -// Intentionally undocumented; used in tests -XRegExp.cache.flush = function(cacheName) { - if (cacheName === 'patterns') { - // Flush the pattern cache used by the `XRegExp` constructor - patternCache = {}; - } else { - // Flush the regex cache populated by `XRegExp.cache` - regexCache = {}; - } -}; - -/** - * Escapes any regular expression metacharacters, for use when matching literal strings. The result - * can safely be used at any point within a regex that uses any flags. - * - * @memberOf XRegExp - * @param {String} str String to escape. - * @returns {String} String with regex metacharacters escaped. - * @example - * - * XRegExp.escape('Escaped? <.>'); - * // -> 'Escaped\?\ <\.>' - */ -XRegExp.escape = function(str) { - return nativ.replace.call(toObject(str), /[-\[\]{}()*+?.,\\^$|#\s]/g, '\\$&'); -}; - -/** - * Executes a regex search in a specified string. Returns a match array or `null`. If the provided - * regex uses named capture, named backreference properties are included on the match array. - * Optional `pos` and `sticky` arguments specify the search start position, and whether the match - * must start at the specified position only. The `lastIndex` property of the provided regex is not - * used, but is updated for compatibility. Also fixes browser bugs compared to the native - * `RegExp.prototype.exec` and can be used reliably cross-browser. - * - * @memberOf XRegExp - * @param {String} str String to search. - * @param {RegExp} regex Regex to search with. - * @param {Number} [pos=0] Zero-based index at which to start the search. - * @param {Boolean|String} [sticky=false] Whether the match must start at the specified position - * only. The string `'sticky'` is accepted as an alternative to `true`. - * @returns {Array} Match array with named backreference properties, or `null`. - * @example - * - * // Basic use, with named backreference - * var match = XRegExp.exec('U+2620', XRegExp('U\\+(?<hex>[0-9A-F]{4})')); - * match.hex; // -> '2620' - * - * // With pos and sticky, in a loop - * var pos = 2, result = [], match; - * while (match = XRegExp.exec('<1><2><3><4>5<6>', /<(\d)>/, pos, 'sticky')) { - * result.push(match[1]); - * pos = match.index + match[0].length; - * } - * // result -> ['2', '3', '4'] - */ -XRegExp.exec = function(str, regex, pos, sticky) { - var cacheKey = 'g'; - var addY = false; - var fakeY = false; - var match; - var r2; - - addY = hasNativeY && !!(sticky || (regex.sticky && sticky !== false)); - if (addY) { - cacheKey += 'y'; - } else if (sticky) { - // Simulate sticky matching by appending an empty capture to the original regex. The - // resulting regex will succeed no matter what at the current index (set with `lastIndex`), - // and will not search the rest of the subject string. We'll know that the original regex - // has failed if that last capture is `''` rather than `undefined` (i.e., if that last - // capture participated in the match). - fakeY = true; - cacheKey += 'FakeY'; - } - - regex[REGEX_DATA] = regex[REGEX_DATA] || {}; - - // Shares cached copies with `XRegExp.match`/`replace` - r2 = regex[REGEX_DATA][cacheKey] || ( - regex[REGEX_DATA][cacheKey] = copyRegex(regex, { - addG: true, - addY: addY, - source: fakeY ? regex.source + '|()' : undefined, - removeY: sticky === false, - isInternalOnly: true - }) - ); - - pos = pos || 0; - r2.lastIndex = pos; - - // Fixed `exec` required for `lastIndex` fix, named backreferences, etc. - match = fixed.exec.call(r2, str); - - // Get rid of the capture added by the pseudo-sticky matcher if needed. An empty string means - // the original regexp failed (see above). - if (fakeY && match && match.pop() === '') { - match = null; - } - - if (regex.global) { - regex.lastIndex = match ? r2.lastIndex : 0; - } - - return match; -}; - -/** - * Executes a provided function once per regex match. Searches always start at the beginning of the - * string and continue until the end, regardless of the state of the regex's `global` property and - * initial `lastIndex`. - * - * @memberOf XRegExp - * @param {String} str String to search. - * @param {RegExp} regex Regex to search with. - * @param {Function} callback Function to execute for each match. Invoked with four arguments: - * - The match array, with named backreference properties. - * - The zero-based match index. - * - The string being traversed. - * - The regex object being used to traverse the string. - * @example - * - * // Extracts every other digit from a string - * var evens = []; - * XRegExp.forEach('1a2345', /\d/, function(match, i) { - * if (i % 2) evens.push(+match[0]); - * }); - * // evens -> [2, 4] - */ -XRegExp.forEach = function(str, regex, callback) { - var pos = 0; - var i = -1; - var match; - - while ((match = XRegExp.exec(str, regex, pos))) { - // Because `regex` is provided to `callback`, the function could use the deprecated/ - // nonstandard `RegExp.prototype.compile` to mutate the regex. However, since `XRegExp.exec` - // doesn't use `lastIndex` to set the search position, this can't lead to an infinite loop, - // at least. Actually, because of the way `XRegExp.exec` caches globalized versions of - // regexes, mutating the regex will not have any effect on the iteration or matched strings, - // which is a nice side effect that brings extra safety. - callback(match, ++i, str, regex); - - pos = match.index + (match[0].length || 1); - } -}; - -/** - * Copies a regex object and adds flag `g`. The copy maintains extended data, is augmented with - * `XRegExp.prototype` properties, and has a fresh `lastIndex` property (set to zero). Native - * regexes are not recompiled using XRegExp syntax. - * - * @memberOf XRegExp - * @param {RegExp} regex Regex to globalize. - * @returns {RegExp} Copy of the provided regex with flag `g` added. - * @example - * - * var globalCopy = XRegExp.globalize(/regex/); - * globalCopy.global; // -> true - */ -XRegExp.globalize = function(regex) { - return copyRegex(regex, {addG: true}); -}; - -/** - * Installs optional features according to the specified options. Can be undone using - * `XRegExp.uninstall`. - * - * @memberOf XRegExp - * @param {Object|String} options Options object or string. - * @example - * - * // With an options object - * XRegExp.install({ - * // Enables support for astral code points in Unicode addons (implicitly sets flag A) - * astral: true, - * - * // DEPRECATED: Overrides native regex methods with fixed/extended versions - * natives: true - * }); - * - * // With an options string - * XRegExp.install('astral natives'); - */ -XRegExp.install = function(options) { - options = prepareOptions(options); - - if (!features.astral && options.astral) { - setAstral(true); - } - - if (!features.natives && options.natives) { - setNatives(true); - } -}; - -/** - * Checks whether an individual optional feature is installed. - * - * @memberOf XRegExp - * @param {String} feature Name of the feature to check. One of: - * - `astral` - * - `natives` - * @returns {Boolean} Whether the feature is installed. - * @example - * - * XRegExp.isInstalled('astral'); - */ -XRegExp.isInstalled = function(feature) { - return !!(features[feature]); -}; - -/** - * Returns `true` if an object is a regex; `false` if it isn't. This works correctly for regexes - * created in another frame, when `instanceof` and `constructor` checks would fail. - * - * @memberOf XRegExp - * @param {*} value Object to check. - * @returns {Boolean} Whether the object is a `RegExp` object. - * @example - * - * XRegExp.isRegExp('string'); // -> false - * XRegExp.isRegExp(/regex/i); // -> true - * XRegExp.isRegExp(RegExp('^', 'm')); // -> true - * XRegExp.isRegExp(XRegExp('(?s).')); // -> true - */ -XRegExp.isRegExp = function(value) { - return toString.call(value) === '[object RegExp]'; - //return isType(value, 'RegExp'); -}; - -/** - * Returns the first matched string, or in global mode, an array containing all matched strings. - * This is essentially a more convenient re-implementation of `String.prototype.match` that gives - * the result types you actually want (string instead of `exec`-style array in match-first mode, - * and an empty array instead of `null` when no matches are found in match-all mode). It also lets - * you override flag g and ignore `lastIndex`, and fixes browser bugs. - * - * @memberOf XRegExp - * @param {String} str String to search. - * @param {RegExp} regex Regex to search with. - * @param {String} [scope='one'] Use 'one' to return the first match as a string. Use 'all' to - * return an array of all matched strings. If not explicitly specified and `regex` uses flag g, - * `scope` is 'all'. - * @returns {String|Array} In match-first mode: First match as a string, or `null`. In match-all - * mode: Array of all matched strings, or an empty array. - * @example - * - * // Match first - * XRegExp.match('abc', /\w/); // -> 'a' - * XRegExp.match('abc', /\w/g, 'one'); // -> 'a' - * XRegExp.match('abc', /x/g, 'one'); // -> null - * - * // Match all - * XRegExp.match('abc', /\w/g); // -> ['a', 'b', 'c'] - * XRegExp.match('abc', /\w/, 'all'); // -> ['a', 'b', 'c'] - * XRegExp.match('abc', /x/, 'all'); // -> [] - */ -XRegExp.match = function(str, regex, scope) { - var global = (regex.global && scope !== 'one') || scope === 'all'; - var cacheKey = ((global ? 'g' : '') + (regex.sticky ? 'y' : '')) || 'noGY'; - var result; - var r2; - - regex[REGEX_DATA] = regex[REGEX_DATA] || {}; - - // Shares cached copies with `XRegExp.exec`/`replace` - r2 = regex[REGEX_DATA][cacheKey] || ( - regex[REGEX_DATA][cacheKey] = copyRegex(regex, { - addG: !!global, - removeG: scope === 'one', - isInternalOnly: true - }) - ); - - result = nativ.match.call(toObject(str), r2); - - if (regex.global) { - regex.lastIndex = ( - (scope === 'one' && result) ? - // Can't use `r2.lastIndex` since `r2` is nonglobal in this case - (result.index + result[0].length) : 0 - ); - } - - return global ? (result || []) : (result && result[0]); -}; - -/** - * Retrieves the matches from searching a string using a chain of regexes that successively search - * within previous matches. The provided `chain` array can contain regexes and or objects with - * `regex` and `backref` properties. When a backreference is specified, the named or numbered - * backreference is passed forward to the next regex or returned. - * - * @memberOf XRegExp - * @param {String} str String to search. - * @param {Array} chain Regexes that each search for matches within preceding results. - * @returns {Array} Matches by the last regex in the chain, or an empty array. - * @example - * - * // Basic usage; matches numbers within <b> tags - * XRegExp.matchChain('1 <b>2</b> 3 <b>4 a 56</b>', [ - * XRegExp('(?is)<b>.*?</b>'), - * /\d+/ - * ]); - * // -> ['2', '4', '56'] - * - * // Passing forward and returning specific backreferences - * html = '<a href="http://xregexp.com/api/">XRegExp</a>\ - * <a href="http://www.google.com/">Google</a>'; - * XRegExp.matchChain(html, [ - * {regex: /<a href="([^"]+)">/i, backref: 1}, - * {regex: XRegExp('(?i)^https?://(?<domain>[^/?#]+)'), backref: 'domain'} - * ]); - * // -> ['xregexp.com', 'www.google.com'] - */ -XRegExp.matchChain = function(str, chain) { - return (function recurseChain(values, level) { - var item = chain[level].regex ? chain[level] : {regex: chain[level]}; - var matches = []; - - function addMatch(match) { - if (item.backref) { - // Safari 4.0.5 (but not 5.0.5+) inappropriately uses sparse arrays to hold the - // `undefined`s for backreferences to nonparticipating capturing groups. In such - // cases, a `hasOwnProperty` or `in` check on its own would inappropriately throw - // the exception, so also check if the backreference is a number that is within the - // bounds of the array. - if (!(match.hasOwnProperty(item.backref) || +item.backref < match.length)) { - throw new ReferenceError('Backreference to undefined group: ' + item.backref); - } - - matches.push(match[item.backref] || ''); - } else { - matches.push(match[0]); - } - } - - for (var i = 0; i < values.length; ++i) { - XRegExp.forEach(values[i], item.regex, addMatch); - } - - return ((level === chain.length - 1) || !matches.length) ? - matches : - recurseChain(matches, level + 1); - }([str], 0)); -}; - -/** - * Returns a new string with one or all matches of a pattern replaced. The pattern can be a string - * or regex, and the replacement can be a string or a function to be called for each match. To - * perform a global search and replace, use the optional `scope` argument or include flag g if using - * a regex. Replacement strings can use `${n}` for named and numbered backreferences. Replacement - * functions can use named backreferences via `arguments[0].name`. Also fixes browser bugs compared - * to the native `String.prototype.replace` and can be used reliably cross-browser. - * - * @memberOf XRegExp - * @param {String} str String to search. - * @param {RegExp|String} search Search pattern to be replaced. - * @param {String|Function} replacement Replacement string or a function invoked to create it. - * Replacement strings can include special replacement syntax: - * - $$ - Inserts a literal $ character. - * - $&, $0 - Inserts the matched substring. - * - $` - Inserts the string that precedes the matched substring (left context). - * - $' - Inserts the string that follows the matched substring (right context). - * - $n, $nn - Where n/nn are digits referencing an existent capturing group, inserts - * backreference n/nn. - * - ${n} - Where n is a name or any number of digits that reference an existent capturing - * group, inserts backreference n. - * Replacement functions are invoked with three or more arguments: - * - The matched substring (corresponds to $& above). Named backreferences are accessible as - * properties of this first argument. - * - 0..n arguments, one for each backreference (corresponding to $1, $2, etc. above). - * - The zero-based index of the match within the total search string. - * - The total string being searched. - * @param {String} [scope='one'] Use 'one' to replace the first match only, or 'all'. If not - * explicitly specified and using a regex with flag g, `scope` is 'all'. - * @returns {String} New string with one or all matches replaced. - * @example - * - * // Regex search, using named backreferences in replacement string - * var name = XRegExp('(?<first>\\w+) (?<last>\\w+)'); - * XRegExp.replace('John Smith', name, '${last}, ${first}'); - * // -> 'Smith, John' - * - * // Regex search, using named backreferences in replacement function - * XRegExp.replace('John Smith', name, function(match) { - * return match.last + ', ' + match.first; - * }); - * // -> 'Smith, John' - * - * // String search, with replace-all - * XRegExp.replace('RegExp builds RegExps', 'RegExp', 'XRegExp', 'all'); - * // -> 'XRegExp builds XRegExps' - */ -XRegExp.replace = function(str, search, replacement, scope) { - var isRegex = XRegExp.isRegExp(search); - var global = (search.global && scope !== 'one') || scope === 'all'; - var cacheKey = ((global ? 'g' : '') + (search.sticky ? 'y' : '')) || 'noGY'; - var s2 = search; - var result; - - if (isRegex) { - search[REGEX_DATA] = search[REGEX_DATA] || {}; - - // Shares cached copies with `XRegExp.exec`/`match`. Since a copy is used, `search`'s - // `lastIndex` isn't updated *during* replacement iterations - s2 = search[REGEX_DATA][cacheKey] || ( - search[REGEX_DATA][cacheKey] = copyRegex(search, { - addG: !!global, - removeG: scope === 'one', - isInternalOnly: true - }) - ); - } else if (global) { - s2 = new RegExp(XRegExp.escape(String(search)), 'g'); - } - - // Fixed `replace` required for named backreferences, etc. - result = fixed.replace.call(toObject(str), s2, replacement); - - if (isRegex && search.global) { - // Fixes IE, Safari bug (last tested IE 9, Safari 5.1) - search.lastIndex = 0; - } - - return result; -}; - -/** - * Performs batch processing of string replacements. Used like `XRegExp.replace`, but accepts an - * array of replacement details. Later replacements operate on the output of earlier replacements. - * Replacement details are accepted as an array with a regex or string to search for, the - * replacement string or function, and an optional scope of 'one' or 'all'. Uses the XRegExp - * replacement text syntax, which supports named backreference properties via `${name}`. - * - * @memberOf XRegExp - * @param {String} str String to search. - * @param {Array} replacements Array of replacement detail arrays. - * @returns {String} New string with all replacements. - * @example - * - * str = XRegExp.replaceEach(str, [ - * [XRegExp('(?<name>a)'), 'z${name}'], - * [/b/gi, 'y'], - * [/c/g, 'x', 'one'], // scope 'one' overrides /g - * [/d/, 'w', 'all'], // scope 'all' overrides lack of /g - * ['e', 'v', 'all'], // scope 'all' allows replace-all for strings - * [/f/g, function($0) { - * return $0.toUpperCase(); - * }] - * ]); - */ -XRegExp.replaceEach = function(str, replacements) { - var i; - var r; - - for (i = 0; i < replacements.length; ++i) { - r = replacements[i]; - str = XRegExp.replace(str, r[0], r[1], r[2]); - } - - return str; -}; - -/** - * Splits a string into an array of strings using a regex or string separator. Matches of the - * separator are not included in the result array. However, if `separator` is a regex that contains - * capturing groups, backreferences are spliced into the result each time `separator` is matched. - * Fixes browser bugs compared to the native `String.prototype.split` and can be used reliably - * cross-browser. - * - * @memberOf XRegExp - * @param {String} str String to split. - * @param {RegExp|String} separator Regex or string to use for separating the string. - * @param {Number} [limit] Maximum number of items to include in the result array. - * @returns {Array} Array of substrings. - * @example - * - * // Basic use - * XRegExp.split('a b c', ' '); - * // -> ['a', 'b', 'c'] - * - * // With limit - * XRegExp.split('a b c', ' ', 2); - * // -> ['a', 'b'] - * - * // Backreferences in result array - * XRegExp.split('..word1..', /([a-z]+)(\d+)/i); - * // -> ['..', 'word', '1', '..'] - */ -XRegExp.split = function(str, separator, limit) { - return fixed.split.call(toObject(str), separator, limit); -}; - -/** - * Executes a regex search in a specified string. Returns `true` or `false`. Optional `pos` and - * `sticky` arguments specify the search start position, and whether the match must start at the - * specified position only. The `lastIndex` property of the provided regex is not used, but is - * updated for compatibility. Also fixes browser bugs compared to the native - * `RegExp.prototype.test` and can be used reliably cross-browser. - * - * @memberOf XRegExp - * @param {String} str String to search. - * @param {RegExp} regex Regex to search with. - * @param {Number} [pos=0] Zero-based index at which to start the search. - * @param {Boolean|String} [sticky=false] Whether the match must start at the specified position - * only. The string `'sticky'` is accepted as an alternative to `true`. - * @returns {Boolean} Whether the regex matched the provided value. - * @example - * - * // Basic use - * XRegExp.test('abc', /c/); // -> true - * - * // With pos and sticky - * XRegExp.test('abc', /c/, 0, 'sticky'); // -> false - * XRegExp.test('abc', /c/, 2, 'sticky'); // -> true - */ -XRegExp.test = function(str, regex, pos, sticky) { - // Do this the easy way :-) - return !!XRegExp.exec(str, regex, pos, sticky); -}; - -/** - * Uninstalls optional features according to the specified options. All optional features start out - * uninstalled, so this is used to undo the actions of `XRegExp.install`. - * - * @memberOf XRegExp - * @param {Object|String} options Options object or string. - * @example - * - * // With an options object - * XRegExp.uninstall({ - * // Disables support for astral code points in Unicode addons - * astral: true, - * - * // DEPRECATED: Restores native regex methods - * natives: true - * }); - * - * // With an options string - * XRegExp.uninstall('astral natives'); - */ -XRegExp.uninstall = function(options) { - options = prepareOptions(options); - - if (features.astral && options.astral) { - setAstral(false); - } - - if (features.natives && options.natives) { - setNatives(false); - } -}; - -/** - * Returns an XRegExp object that is the union of the given patterns. Patterns can be provided as - * regex objects or strings. Metacharacters are escaped in patterns provided as strings. - * Backreferences in provided regex objects are automatically renumbered to work correctly within - * the larger combined pattern. Native flags used by provided regexes are ignored in favor of the - * `flags` argument. - * - * @memberOf XRegExp - * @param {Array} patterns Regexes and strings to combine. - * @param {String} [flags] Any combination of XRegExp flags. - * @param {Object} [options] Options object with optional properties: - * - `conjunction` {String} Type of conjunction to use: 'or' (default) or 'none'. - * @returns {RegExp} Union of the provided regexes and strings. - * @example - * - * XRegExp.union(['a+b*c', /(dogs)\1/, /(cats)\1/], 'i'); - * // -> /a\+b\*c|(dogs)\1|(cats)\2/i - * - * XRegExp.union([/man/, /bear/, /pig/], 'i', {conjunction: 'none'}); - * // -> /manbearpig/i - */ -XRegExp.union = function(patterns, flags, options) { - options = options || {}; - var conjunction = options.conjunction || 'or'; - var numCaptures = 0; - var numPriorCaptures; - var captureNames; - - function rewrite(match, paren, backref) { - var name = captureNames[numCaptures - numPriorCaptures]; - - // Capturing group - if (paren) { - ++numCaptures; - // If the current capture has a name, preserve the name - if (name) { - return '(?<' + name + '>'; - } - // Backreference - } else if (backref) { - // Rewrite the backreference - return '\\' + (+backref + numPriorCaptures); - } - - return match; - } - - if (!(isType(patterns, 'Array') && patterns.length)) { - throw new TypeError('Must provide a nonempty array of patterns to merge'); - } - - var parts = /(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*\]/g; - var output = []; - var pattern; - for (var i = 0; i < patterns.length; ++i) { - pattern = patterns[i]; - - if (XRegExp.isRegExp(pattern)) { - numPriorCaptures = numCaptures; - captureNames = (pattern[REGEX_DATA] && pattern[REGEX_DATA].captureNames) || []; - - // Rewrite backreferences. Passing to XRegExp dies on octals and ensures patterns are - // independently valid; helps keep this simple. Named captures are put back - output.push(nativ.replace.call(XRegExp(pattern.source).source, parts, rewrite)); - } else { - output.push(XRegExp.escape(pattern)); - } - } - - var separator = conjunction === 'none' ? '' : '|'; - return XRegExp(output.join(separator), flags); -}; - -// ==--------------------------== -// Fixed/extended native methods -// ==--------------------------== - -/** - * Adds named capture support (with backreferences returned as `result.name`), and fixes browser - * bugs in the native `RegExp.prototype.exec`. Calling `XRegExp.install('natives')` uses this to - * override the native method. Use via `XRegExp.exec` without overriding natives. - * - * @memberOf RegExp - * @param {String} str String to search. - * @returns {Array} Match array with named backreference properties, or `null`. - */ -fixed.exec = function(str) { - var origLastIndex = this.lastIndex; - var match = nativ.exec.apply(this, arguments); - var name; - var r2; - var i; - - if (match) { - // Fix browsers whose `exec` methods don't return `undefined` for nonparticipating capturing - // groups. This fixes IE 5.5-8, but not IE 9's quirks mode or emulation of older IEs. IE 9 - // in standards mode follows the spec. - if (!correctExecNpcg && match.length > 1 && indexOf(match, '') > -1) { - r2 = copyRegex(this, { - removeG: true, - isInternalOnly: true - }); - // Using `str.slice(match.index)` rather than `match[0]` in case lookahead allowed - // matching due to characters outside the match - nativ.replace.call(String(str).slice(match.index), r2, function() { - var len = arguments.length; - var i; - // Skip index 0 and the last 2 - for (i = 1; i < len - 2; ++i) { - if (arguments[i] === undefined) { - match[i] = undefined; - } - } - }); - } - - // Attach named capture properties - if (this[REGEX_DATA] && this[REGEX_DATA].captureNames) { - // Skip index 0 - for (i = 1; i < match.length; ++i) { - name = this[REGEX_DATA].captureNames[i - 1]; - if (name) { - match[name] = match[i]; - } - } - } - - // Fix browsers that increment `lastIndex` after zero-length matches - if (this.global && !match[0].length && (this.lastIndex > match.index)) { - this.lastIndex = match.index; - } - } - - if (!this.global) { - // Fixes IE, Opera bug (last tested IE 9, Opera 11.6) - this.lastIndex = origLastIndex; - } - - return match; -}; - -/** - * Fixes browser bugs in the native `RegExp.prototype.test`. Calling `XRegExp.install('natives')` - * uses this to override the native method. - * - * @memberOf RegExp - * @param {String} str String to search. - * @returns {Boolean} Whether the regex matched the provided value. - */ -fixed.test = function(str) { - // Do this the easy way :-) - return !!fixed.exec.call(this, str); -}; - -/** - * Adds named capture support (with backreferences returned as `result.name`), and fixes browser - * bugs in the native `String.prototype.match`. Calling `XRegExp.install('natives')` uses this to - * override the native method. - * - * @memberOf String - * @param {RegExp|*} regex Regex to search with. If not a regex object, it is passed to `RegExp`. - * @returns {Array} If `regex` uses flag g, an array of match strings or `null`. Without flag g, - * the result of calling `regex.exec(this)`. - */ -fixed.match = function(regex) { - var result; - - if (!XRegExp.isRegExp(regex)) { - // Use the native `RegExp` rather than `XRegExp` - regex = new RegExp(regex); - } else if (regex.global) { - result = nativ.match.apply(this, arguments); - // Fixes IE bug - regex.lastIndex = 0; - - return result; - } - - return fixed.exec.call(regex, toObject(this)); -}; - -/** - * Adds support for `${n}` tokens for named and numbered backreferences in replacement text, and - * provides named backreferences to replacement functions as `arguments[0].name`. Also fixes browser - * bugs in replacement text syntax when performing a replacement using a nonregex search value, and - * the value of a replacement regex's `lastIndex` property during replacement iterations and upon - * completion. Calling `XRegExp.install('natives')` uses this to override the native method. Note - * that this doesn't support SpiderMonkey's proprietary third (`flags`) argument. Use via - * `XRegExp.replace` without overriding natives. - * - * @memberOf String - * @param {RegExp|String} search Search pattern to be replaced. - * @param {String|Function} replacement Replacement string or a function invoked to create it. - * @returns {String} New string with one or all matches replaced. - */ -fixed.replace = function(search, replacement) { - var isRegex = XRegExp.isRegExp(search); - var origLastIndex; - var captureNames; - var result; - - if (isRegex) { - if (search[REGEX_DATA]) { - captureNames = search[REGEX_DATA].captureNames; - } - // Only needed if `search` is nonglobal - origLastIndex = search.lastIndex; - } else { - search += ''; // Type-convert - } - - // Don't use `typeof`; some older browsers return 'function' for regex objects - if (isType(replacement, 'Function')) { - // Stringifying `this` fixes a bug in IE < 9 where the last argument in replacement - // functions isn't type-converted to a string - result = nativ.replace.call(String(this), search, function() { - var args = arguments; - var i; - if (captureNames) { - // Change the `arguments[0]` string primitive to a `String` object that can store - // properties. This really does need to use `String` as a constructor - args[0] = new String(args[0]); - // Store named backreferences on the first argument - for (i = 0; i < captureNames.length; ++i) { - if (captureNames[i]) { - args[0][captureNames[i]] = args[i + 1]; - } - } - } - // Update `lastIndex` before calling `replacement`. Fixes IE, Chrome, Firefox, Safari - // bug (last tested IE 9, Chrome 17, Firefox 11, Safari 5.1) - if (isRegex && search.global) { - search.lastIndex = args[args.length - 2] + args[0].length; - } - // ES6 specs the context for replacement functions as `undefined` - return replacement.apply(undefined, args); - }); - } else { - // Ensure that the last value of `args` will be a string when given nonstring `this`, - // while still throwing on null or undefined context - result = nativ.replace.call(this == null ? this : String(this), search, function() { - // Keep this function's `arguments` available through closure - var args = arguments; - return nativ.replace.call(String(replacement), replacementToken, function($0, $1, $2) { - var n; - // Named or numbered backreference with curly braces - if ($1) { - // XRegExp behavior for `${n}`: - // 1. Backreference to numbered capture, if `n` is an integer. Use `0` for the - // entire match. Any number of leading zeros may be used. - // 2. Backreference to named capture `n`, if it exists and is not an integer - // overridden by numbered capture. In practice, this does not overlap with - // numbered capture since XRegExp does not allow named capture to use a bare - // integer as the name. - // 3. If the name or number does not refer to an existing capturing group, it's - // an error. - n = +$1; // Type-convert; drop leading zeros - if (n <= args.length - 3) { - return args[n] || ''; - } - // Groups with the same name is an error, else would need `lastIndexOf` - n = captureNames ? indexOf(captureNames, $1) : -1; - if (n < 0) { - throw new SyntaxError('Backreference to undefined group ' + $0); - } - return args[n + 1] || ''; - } - // Else, special variable or numbered backreference without curly braces - if ($2 === '$') { // $$ - return '$'; - } - if ($2 === '&' || +$2 === 0) { // $&, $0 (not followed by 1-9), $00 - return args[0]; - } - if ($2 === '`') { // $` (left context) - return args[args.length - 1].slice(0, args[args.length - 2]); - } - if ($2 === "'") { // $' (right context) - return args[args.length - 1].slice(args[args.length - 2] + args[0].length); - } - // Else, numbered backreference without curly braces - $2 = +$2; // Type-convert; drop leading zero - // XRegExp behavior for `$n` and `$nn`: - // - Backrefs end after 1 or 2 digits. Use `${..}` for more digits. - // - `$1` is an error if no capturing groups. - // - `$10` is an error if less than 10 capturing groups. Use `${1}0` instead. - // - `$01` is `$1` if at least one capturing group, else it's an error. - // - `$0` (not followed by 1-9) and `$00` are the entire match. - // Native behavior, for comparison: - // - Backrefs end after 1 or 2 digits. Cannot reference capturing group 100+. - // - `$1` is a literal `$1` if no capturing groups. - // - `$10` is `$1` followed by a literal `0` if less than 10 capturing groups. - // - `$01` is `$1` if at least one capturing group, else it's a literal `$01`. - // - `$0` is a literal `$0`. - if (!isNaN($2)) { - if ($2 > args.length - 3) { - throw new SyntaxError('Backreference to undefined group ' + $0); - } - return args[$2] || ''; - } - // `$` followed by an unsupported char is an error, unlike native JS - throw new SyntaxError('Invalid token ' + $0); - }); - }); - } - - if (isRegex) { - if (search.global) { - // Fixes IE, Safari bug (last tested IE 9, Safari 5.1) - search.lastIndex = 0; - } else { - // Fixes IE, Opera bug (last tested IE 9, Opera 11.6) - search.lastIndex = origLastIndex; - } - } - - return result; -}; - -/** - * Fixes browser bugs in the native `String.prototype.split`. Calling `XRegExp.install('natives')` - * uses this to override the native method. Use via `XRegExp.split` without overriding natives. - * - * @memberOf String - * @param {RegExp|String} separator Regex or string to use for separating the string. - * @param {Number} [limit] Maximum number of items to include in the result array. - * @returns {Array} Array of substrings. - */ -fixed.split = function(separator, limit) { - if (!XRegExp.isRegExp(separator)) { - // Browsers handle nonregex split correctly, so use the faster native method - return nativ.split.apply(this, arguments); - } - - var str = String(this); - var output = []; - var origLastIndex = separator.lastIndex; - var lastLastIndex = 0; - var lastLength; - - // Values for `limit`, per the spec: - // If undefined: pow(2,32) - 1 - // If 0, Infinity, or NaN: 0 - // If positive number: limit = floor(limit); if (limit >= pow(2,32)) limit -= pow(2,32); - // If negative number: pow(2,32) - floor(abs(limit)) - // If other: Type-convert, then use the above rules - // This line fails in very strange ways for some values of `limit` in Opera 10.5-10.63, unless - // Opera Dragonfly is open (go figure). It works in at least Opera 9.5-10.1 and 11+ - limit = (limit === undefined ? -1 : limit) >>> 0; - - XRegExp.forEach(str, separator, function(match) { - // This condition is not the same as `if (match[0].length)` - if ((match.index + match[0].length) > lastLastIndex) { - output.push(str.slice(lastLastIndex, match.index)); - if (match.length > 1 && match.index < str.length) { - Array.prototype.push.apply(output, match.slice(1)); - } - lastLength = match[0].length; - lastLastIndex = match.index + lastLength; - } - }); - - if (lastLastIndex === str.length) { - if (!nativ.test.call(separator, '') || lastLength) { - output.push(''); - } - } else { - output.push(str.slice(lastLastIndex)); - } - - separator.lastIndex = origLastIndex; - return output.length > limit ? output.slice(0, limit) : output; -}; - -// ==--------------------------== -// Built-in syntax/flag tokens -// ==--------------------------== - -/* - * Letter escapes that natively match literal characters: `\a`, `\A`, etc. These should be - * SyntaxErrors but are allowed in web reality. XRegExp makes them errors for cross-browser - * consistency and to reserve their syntax, but lets them be superseded by addons. - */ -XRegExp.addToken( - /\\([ABCE-RTUVXYZaeg-mopqyz]|c(?![A-Za-z])|u(?![\dA-Fa-f]{4}|{[\dA-Fa-f]+})|x(?![\dA-Fa-f]{2}))/, - function(match, scope) { - // \B is allowed in default scope only - if (match[1] === 'B' && scope === defaultScope) { - return match[0]; - } - throw new SyntaxError('Invalid escape ' + match[0]); - }, - { - scope: 'all', - leadChar: '\\' - } -); - -/* - * Unicode code point escape with curly braces: `\u{N..}`. `N..` is any one or more digit - * hexadecimal number from 0-10FFFF, and can include leading zeros. Requires the native ES6 `u` flag - * to support code points greater than U+FFFF. Avoids converting code points above U+FFFF to - * surrogate pairs (which could be done without flag `u`), since that could lead to broken behavior - * if you follow a `\u{N..}` token that references a code point above U+FFFF with a quantifier, or - * if you use the same in a character class. - */ -XRegExp.addToken( - /\\u{([\dA-Fa-f]+)}/, - function(match, scope, flags) { - var code = dec(match[1]); - if (code > 0x10FFFF) { - throw new SyntaxError('Invalid Unicode code point ' + match[0]); - } - if (code <= 0xFFFF) { - // Converting to \uNNNN avoids needing to escape the literal character and keep it - // separate from preceding tokens - return '\\u' + pad4(hex(code)); - } - // If `code` is between 0xFFFF and 0x10FFFF, require and defer to native handling - if (hasNativeU && flags.indexOf('u') > -1) { - return match[0]; - } - throw new SyntaxError('Cannot use Unicode code point above \\u{FFFF} without flag u'); - }, - { - scope: 'all', - leadChar: '\\' - } -); - -/* - * Empty character class: `[]` or `[^]`. This fixes a critical cross-browser syntax inconsistency. - * Unless this is standardized (per the ES spec), regex syntax can't be accurately parsed because - * character class endings can't be determined. - */ -XRegExp.addToken( - /\[(\^?)\]/, - function(match) { - // For cross-browser compatibility with ES3, convert [] to \b\B and [^] to [\s\S]. - // (?!) should work like \b\B, but is unreliable in some versions of Firefox - return match[1] ? '[\\s\\S]' : '\\b\\B'; - }, - {leadChar: '['} -); - -/* - * Comment pattern: `(?# )`. Inline comments are an alternative to the line comments allowed in - * free-spacing mode (flag x). - */ -XRegExp.addToken( - /\(\?#[^)]*\)/, - getContextualTokenSeparator, - {leadChar: '('} -); - -/* - * Whitespace and line comments, in free-spacing mode (aka extended mode, flag x) only. - */ -XRegExp.addToken( - /\s+|#[^\n]*\n?/, - getContextualTokenSeparator, - {flag: 'x'} -); - -/* - * Dot, in dotall mode (aka singleline mode, flag s) only. - */ -XRegExp.addToken( - /\./, - function() { - return '[\\s\\S]'; - }, - { - flag: 's', - leadChar: '.' - } -); - -/* - * Named backreference: `\k<name>`. Backreference names can use the characters A-Z, a-z, 0-9, _, - * and $ only. Also allows numbered backreferences as `\k<n>`. - */ -XRegExp.addToken( - /\\k<([\w$]+)>/, - function(match) { - // Groups with the same name is an error, else would need `lastIndexOf` - var index = isNaN(match[1]) ? (indexOf(this.captureNames, match[1]) + 1) : +match[1]; - var endIndex = match.index + match[0].length; - if (!index || index > this.captureNames.length) { - throw new SyntaxError('Backreference to undefined group ' + match[0]); - } - // Keep backreferences separate from subsequent literal numbers. This avoids e.g. - // inadvertedly changing `(?<n>)\k<n>1` to `()\11`. - return '\\' + index + ( - endIndex === match.input.length || isNaN(match.input.charAt(endIndex)) ? - '' : '(?:)' - ); - }, - {leadChar: '\\'} -); - -/* - * Numbered backreference or octal, plus any following digits: `\0`, `\11`, etc. Octals except `\0` - * not followed by 0-9 and backreferences to unopened capture groups throw an error. Other matches - * are returned unaltered. IE < 9 doesn't support backreferences above `\99` in regex syntax. - */ -XRegExp.addToken( - /\\(\d+)/, - function(match, scope) { - if ( - !( - scope === defaultScope && - /^[1-9]/.test(match[1]) && - +match[1] <= this.captureNames.length - ) && - match[1] !== '0' - ) { - throw new SyntaxError('Cannot use octal escape or backreference to undefined group ' + - match[0]); - } - return match[0]; - }, - { - scope: 'all', - leadChar: '\\' - } -); - -/* - * Named capturing group; match the opening delimiter only: `(?<name>`. Capture names can use the - * characters A-Z, a-z, 0-9, _, and $ only. Names can't be integers. Supports Python-style - * `(?P<name>` as an alternate syntax to avoid issues in some older versions of Opera which natively - * supported the Python-style syntax. Otherwise, XRegExp might treat numbered backreferences to - * Python-style named capture as octals. - */ -XRegExp.addToken( - /\(\?P?<([\w$]+)>/, - function(match) { - // Disallow bare integers as names because named backreferences are added to match arrays - // and therefore numeric properties may lead to incorrect lookups - if (!isNaN(match[1])) { - throw new SyntaxError('Cannot use integer as capture name ' + match[0]); - } - if (match[1] === 'length' || match[1] === '__proto__') { - throw new SyntaxError('Cannot use reserved word as capture name ' + match[0]); - } - if (indexOf(this.captureNames, match[1]) > -1) { - throw new SyntaxError('Cannot use same name for multiple groups ' + match[0]); - } - this.captureNames.push(match[1]); - this.hasNamedCapture = true; - return '('; - }, - {leadChar: '('} -); - -/* - * Capturing group; match the opening parenthesis only. Required for support of named capturing - * groups. Also adds explicit capture mode (flag n). - */ -XRegExp.addToken( - /\((?!\?)/, - function(match, scope, flags) { - if (flags.indexOf('n') > -1) { - return '(?:'; - } - this.captureNames.push(null); - return '('; - }, - { - optionalFlags: 'n', - leadChar: '(' - } -); - -module.exports = XRegExp; - -},{}]},{},[8])(8) -}); diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.min.js b/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.min.js deleted file mode 100644 index 6d56b1bd..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.min.js +++ /dev/null @@ -1,160 +0,0 @@ -/* - XRegExp.build 3.2.0 - <xregexp.com> - Steven Levithan (c) 2012-2017 MIT License - Inspired by Lea Verou's RegExp.create <lea.verou.me> - XRegExp.matchRecursive 3.2.0 - <xregexp.com> - Steven Levithan (c) 2009-2017 MIT License - XRegExp Unicode Base 3.2.0 - <xregexp.com> - Steven Levithan (c) 2008-2017 MIT License - XRegExp Unicode Blocks 3.2.0 - <xregexp.com> - Steven Levithan (c) 2010-2017 MIT License - Unicode data by Mathias Bynens <mathiasbynens.be> - XRegExp Unicode Categories 3.2.0 - <xregexp.com> - Steven Levithan (c) 2010-2017 MIT License - Unicode data by Mathias Bynens <mathiasbynens.be> - XRegExp Unicode Properties 3.2.0 - <xregexp.com> - Steven Levithan (c) 2012-2017 MIT License - Unicode data by Mathias Bynens <mathiasbynens.be> - XRegExp Unicode Scripts 3.2.0 - <xregexp.com> - Steven Levithan (c) 2010-2017 MIT License - Unicode data by Mathias Bynens <mathiasbynens.be> - XRegExp 3.2.0 - <xregexp.com> - Steven Levithan (c) 2007-2017 MIT License -*/ -(function(H){"object"===typeof exports&&"undefined"!==typeof module?module.exports=H():"function"===typeof define&&define.amd?define([],H):("undefined"!==typeof window?window:"undefined"!==typeof global?global:"undefined"!==typeof self?self:this).XRegExp=H()})(function(){return function c(d,g,p){function A(l,b){if(!g[l]){if(!d[l]){var k="function"==typeof require&&require;if(!b&&k)return k(l,!0);if(B)return B(l,!0);b=Error("Cannot find module '"+l+"'");throw b.code="MODULE_NOT_FOUND",b;}b=g[l]={exports:{}}; -d[l][0].call(b.exports,function(b){var c=d[l][1][b];return A(c?c:b)},b,b.exports,c,d,g,p)}return g[l].exports}for(var B="function"==typeof require&&require,z=0;z<p.length;z++)A(p[z]);return A}({1:[function(d,g,p){g.exports=function(c){function A(b){var c=/^(?:\(\?:\))*\^/,l=/\$(?:\(\?:\))*$/;return c.test(b)&&l.test(b)&&l.test(b.replace(/\\[\s\S]/g,""))?b.replace(c,"").replace(l,""):b}function B(b,l){l=l?"x":"";return c.isRegExp(b)?b.xregexp&&b.xregexp.captureNames?b:c(b.source,l):c(b,l)}var z=/(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*\]/g, -l=c.union([/\({{([\w$]+)}}\)|{{([\w$]+)}}/,z],"g",{conjunction:"or"});c.build=function(b,k,g){g=g||"";var y=-1<g.indexOf("x"),m=/^\(\?([\w$]+)\)/.exec(b);m&&(g=c._clipDuplicates(g+m[1]));var h={},w;for(w in k)k.hasOwnProperty(w)&&(m=B(k[w],y),h[w]={pattern:A(m.source),names:m.xregexp.captureNames||[]});b=B(b,y);var x=0,v,q=0,f=[0],d=b.xregexp.captureNames||[];b=b.source.replace(l,function(b,c,m,l,y){var n=c||m;if(n){if(!h.hasOwnProperty(n))throw new ReferenceError("Undefined property "+b);if(c){var k= -d[q];f[++q]=++x;b="(?<"+(k||n)+">"}else b="(?:";v=x;return b+h[n].pattern.replace(z,function(f,b,c){if(b){if(k=h[n].names[x-v],++x,k)return"(?<"+k+">"}else if(c)return g=+c-1,h[n].names[g]?"\\k<"+h[n].names[g]+">":"\\"+(+c+v);return f})+")"}if(l){if(k=d[q],f[++q]=++x,k)return"(?<"+k+">"}else if(y){var g=+y-1;return d[g]?"\\k<"+d[g]+">":"\\"+f[+y]}return b});return c(b,g)}}},{}],2:[function(d,g,p){g.exports=function(c){function g(c,g,l,b){return{name:c,value:g,start:l,end:b}}c.matchRecursive=function(d, -p,l,b,k){b=b||"";k=k||{};var A=-1<b.indexOf("g"),y=-1<b.indexOf("y"),m=b.replace(/y/g,""),h=k.escapeChar;k=k.valueNames;var w=[],x=0,v=0,q=0,f=0;p=c(p,m);l=c(l,m);if(h){if(1<h.length)throw Error("Cannot use more than one escape character");h=c.escape(h);var z=new RegExp("(?:"+h+"[\\S\\s]|(?:(?!"+c.union([p,l],"",{conjunction:"or"}).source+")[^"+h+"])+)+",b.replace(/[^imu]+/g,""))}for(;;){h&&(q+=(c.exec(d,z,q,"sticky")||[""])[0].length);b=c.exec(d,p,q);m=c.exec(d,l,q);b&&m&&(b.index<=m.index?m=null: -b=null);if(b||m)v=(b||m).index,q=v+(b||m)[0].length;else if(!x)break;if(y&&!x&&v>f)break;if(b){if(!x){var n=v;var r=q}++x}else if(m&&x){if(!--x&&(k?(k[0]&&n>f&&w.push(g(k[0],d.slice(f,n),f,n)),k[1]&&w.push(g(k[1],d.slice(n,r),n,r)),k[2]&&w.push(g(k[2],d.slice(r,v),r,v)),k[3]&&w.push(g(k[3],d.slice(v,q),v,q))):w.push(d.slice(r,v)),f=q,!A))break}else throw Error("Unbalanced delimiter found in string");v===q&&++q}A&&!y&&k&&k[0]&&d.length>f&&w.push(g(k[0],d.slice(f),f,d.length));return w}}},{}],3:[function(d, -g,p){g.exports=function(c){function g(b){return b.replace(/[- _]+/g,"").toLowerCase()}function d(c){var m=/^\\[xu](.+)/.exec(c);return m?b(m[1]):c.charCodeAt("\\"===c.charAt(0)?1:0)}function p(b){var m="",h=-1;c.forEach(b,/(\\x..|\\u....|\\?[\s\S])(?:-(\\x..|\\u....|\\?[\s\S]))?/,function(b){var c=d(b[1]);c>h+1&&(m+="\\u"+C(k(h+1)),c>h+2&&(m+="-\\u"+C(k(c-1))));h=d(b[2]||b[1])});65535>h&&(m+="\\u"+C(k(h+1)),65534>h&&(m+="-\\uFFFF"));return m}var l={},b=c._dec,k=c._hex,C=c._pad4;c.addToken(/\\([pP])(?:{(\^?)([^}]*)}|([A-Za-z]))/, -function(b,c,h){var m="P"===b[1]||!!b[2],d=-1<h.indexOf("A");h=g(b[4]||b[3]);var k=l[h];if("P"===b[1]&&b[2])throw new SyntaxError("Invalid double negation "+b[0]);if(!l.hasOwnProperty(h))throw new SyntaxError("Unknown Unicode token "+b[0]);if(k.inverseOf){h=g(k.inverseOf);if(!l.hasOwnProperty(h))throw new ReferenceError("Unicode token missing data "+b[0]+" -> "+k.inverseOf);k=l[h];m=!m}if(!k.bmp&&!d)throw new SyntaxError("Astral mode required for Unicode token "+b[0]);if(d){if("class"===c)throw new SyntaxError("Astral mode does not support Unicode tokens within character classes"); -b=m?"a!":"a=";(c=l[h][b])||(c=l[h],h=l[h],d="",h.bmp&&!h.isBmpLast&&(d="["+h.bmp+"]"+(h.astral?"|":"")),h.astral&&(d+=h.astral),h.isBmpLast&&h.bmp&&(d+=(h.astral?"|":"")+"["+h.bmp+"]"),c=c[b]=m?"(?:(?!"+d+")(?:[\ud800-\udbff][\udc00-\udfff]|[\x00-\uffff]))":"(?:"+d+")");return c}return"class"===c?m?l[h]["b!"]||(l[h]["b!"]=p(l[h].bmp)):k.bmp:(m?"[^":"[")+k.bmp+"]"},{scope:"all",optionalFlags:"A",leadChar:"\\"});c.addUnicodeData=function(b){for(var d,h=0;h<b.length;++h){d=b[h];if(!d.name)throw Error("Unicode token requires name"); -if(!(d.inverseOf||d.bmp||d.astral))throw Error("Unicode token has no character data "+d.name);l[g(d.name)]=d;d.alias&&(l[g(d.alias)]=d)}c.cache.flush("patterns")};c._getUnicodeProperty=function(b){b=g(b);return l[b]}}},{}],4:[function(d,g,p){g.exports=function(c){if(!c.addUnicodeData)throw new ReferenceError("Unicode Base must be loaded before Unicode Blocks");c.addUnicodeData([{name:"InAdlam",astral:"\ud83a[\udd00-\udd5f]"},{name:"InAegean_Numbers",astral:"\ud800[\udd00-\udd3f]"},{name:"InAhom", -astral:"\ud805[\udf00-\udf3f]"},{name:"InAlchemical_Symbols",astral:"\ud83d[\udf00-\udf7f]"},{name:"InAlphabetic_Presentation_Forms",bmp:"\ufb00-\ufb4f"},{name:"InAnatolian_Hieroglyphs",astral:"\ud811[\udc00-\ude7f]"},{name:"InAncient_Greek_Musical_Notation",astral:"\ud834[\ude00-\ude4f]"},{name:"InAncient_Greek_Numbers",astral:"\ud800[\udd40-\udd8f]"},{name:"InAncient_Symbols",astral:"\ud800[\udd90-\uddcf]"},{name:"InArabic",bmp:"\u0600-\u06ff"},{name:"InArabic_Extended_A",bmp:"\u08a0-\u08ff"},{name:"InArabic_Mathematical_Alphabetic_Symbols", -astral:"\ud83b[\ude00-\udeff]"},{name:"InArabic_Presentation_Forms_A",bmp:"\ufb50-\ufdff"},{name:"InArabic_Presentation_Forms_B",bmp:"\ufe70-\ufeff"},{name:"InArabic_Supplement",bmp:"\u0750-\u077f"},{name:"InArmenian",bmp:"\u0530-\u058f"},{name:"InArrows",bmp:"\u2190-\u21ff"},{name:"InAvestan",astral:"\ud802[\udf00-\udf3f]"},{name:"InBalinese",bmp:"\u1b00-\u1b7f"},{name:"InBamum",bmp:"\ua6a0-\ua6ff"},{name:"InBamum_Supplement",astral:"\ud81a[\udc00-\ude3f]"},{name:"InBasic_Latin",bmp:"\x00-\u007f"}, -{name:"InBassa_Vah",astral:"\ud81a[\uded0-\udeff]"},{name:"InBatak",bmp:"\u1bc0-\u1bff"},{name:"InBengali",bmp:"\u0980-\u09ff"},{name:"InBhaiksuki",astral:"\ud807[\udc00-\udc6f]"},{name:"InBlock_Elements",bmp:"\u2580-\u259f"},{name:"InBopomofo",bmp:"\u3100-\u312f"},{name:"InBopomofo_Extended",bmp:"\u31a0-\u31bf"},{name:"InBox_Drawing",bmp:"\u2500-\u257f"},{name:"InBrahmi",astral:"\ud804[\udc00-\udc7f]"},{name:"InBraille_Patterns",bmp:"\u2800-\u28ff"},{name:"InBuginese",bmp:"\u1a00-\u1a1f"},{name:"InBuhid", -bmp:"\u1740-\u175f"},{name:"InByzantine_Musical_Symbols",astral:"\ud834[\udc00-\udcff]"},{name:"InCJK_Compatibility",bmp:"\u3300-\u33ff"},{name:"InCJK_Compatibility_Forms",bmp:"\ufe30-\ufe4f"},{name:"InCJK_Compatibility_Ideographs",bmp:"\uf900-\ufaff"},{name:"InCJK_Compatibility_Ideographs_Supplement",astral:"\ud87e[\udc00-\ude1f]"},{name:"InCJK_Radicals_Supplement",bmp:"\u2e80-\u2eff"},{name:"InCJK_Strokes",bmp:"\u31c0-\u31ef"},{name:"InCJK_Symbols_and_Punctuation",bmp:"\u3000-\u303f"},{name:"InCJK_Unified_Ideographs", -bmp:"\u4e00-\u9fff"},{name:"InCJK_Unified_Ideographs_Extension_A",bmp:"\u3400-\u4dbf"},{name:"InCJK_Unified_Ideographs_Extension_B",astral:"[\ud840-\ud868][\udc00-\udfff]|\ud869[\udc00-\udedf]"},{name:"InCJK_Unified_Ideographs_Extension_C",astral:"\ud869[\udf00-\udfff]|[\ud86a-\ud86c][\udc00-\udfff]|\ud86d[\udc00-\udf3f]"},{name:"InCJK_Unified_Ideographs_Extension_D",astral:"\ud86d[\udf40-\udfff]|\ud86e[\udc00-\udc1f]"},{name:"InCJK_Unified_Ideographs_Extension_E",astral:"\ud86e[\udc20-\udfff]|[\ud86f-\ud872][\udc00-\udfff]|\ud873[\udc00-\udeaf]"}, -{name:"InCarian",astral:"\ud800[\udea0-\udedf]"},{name:"InCaucasian_Albanian",astral:"\ud801[\udd30-\udd6f]"},{name:"InChakma",astral:"\ud804[\udd00-\udd4f]"},{name:"InCham",bmp:"\uaa00-\uaa5f"},{name:"InCherokee",bmp:"\u13a0-\u13ff"},{name:"InCherokee_Supplement",bmp:"\uab70-\uabbf"},{name:"InCombining_Diacritical_Marks",bmp:"\u0300-\u036f"},{name:"InCombining_Diacritical_Marks_Extended",bmp:"\u1ab0-\u1aff"},{name:"InCombining_Diacritical_Marks_Supplement",bmp:"\u1dc0-\u1dff"},{name:"InCombining_Diacritical_Marks_for_Symbols", -bmp:"\u20d0-\u20ff"},{name:"InCombining_Half_Marks",bmp:"\ufe20-\ufe2f"},{name:"InCommon_Indic_Number_Forms",bmp:"\ua830-\ua83f"},{name:"InControl_Pictures",bmp:"\u2400-\u243f"},{name:"InCoptic",bmp:"\u2c80-\u2cff"},{name:"InCoptic_Epact_Numbers",astral:"\ud800[\udee0-\udeff]"},{name:"InCounting_Rod_Numerals",astral:"\ud834[\udf60-\udf7f]"},{name:"InCuneiform",astral:"\ud808[\udc00-\udfff]"},{name:"InCuneiform_Numbers_and_Punctuation",astral:"\ud809[\udc00-\udc7f]"},{name:"InCurrency_Symbols",bmp:"\u20a0-\u20cf"}, -{name:"InCypriot_Syllabary",astral:"\ud802[\udc00-\udc3f]"},{name:"InCyrillic",bmp:"\u0400-\u04ff"},{name:"InCyrillic_Extended_A",bmp:"\u2de0-\u2dff"},{name:"InCyrillic_Extended_B",bmp:"\ua640-\ua69f"},{name:"InCyrillic_Extended_C",bmp:"\u1c80-\u1c8f"},{name:"InCyrillic_Supplement",bmp:"\u0500-\u052f"},{name:"InDeseret",astral:"\ud801[\udc00-\udc4f]"},{name:"InDevanagari",bmp:"\u0900-\u097f"},{name:"InDevanagari_Extended",bmp:"\ua8e0-\ua8ff"},{name:"InDingbats",bmp:"\u2700-\u27bf"},{name:"InDomino_Tiles", -astral:"\ud83c[\udc30-\udc9f]"},{name:"InDuployan",astral:"\ud82f[\udc00-\udc9f]"},{name:"InEarly_Dynastic_Cuneiform",astral:"\ud809[\udc80-\udd4f]"},{name:"InEgyptian_Hieroglyphs",astral:"\ud80c[\udc00-\udfff]|\ud80d[\udc00-\udc2f]"},{name:"InElbasan",astral:"\ud801[\udd00-\udd2f]"},{name:"InEmoticons",astral:"\ud83d[\ude00-\ude4f]"},{name:"InEnclosed_Alphanumeric_Supplement",astral:"\ud83c[\udd00-\uddff]"},{name:"InEnclosed_Alphanumerics",bmp:"\u2460-\u24ff"},{name:"InEnclosed_CJK_Letters_and_Months", -bmp:"\u3200-\u32ff"},{name:"InEnclosed_Ideographic_Supplement",astral:"\ud83c[\ude00-\udeff]"},{name:"InEthiopic",bmp:"\u1200-\u137f"},{name:"InEthiopic_Extended",bmp:"\u2d80-\u2ddf"},{name:"InEthiopic_Extended_A",bmp:"\uab00-\uab2f"},{name:"InEthiopic_Supplement",bmp:"\u1380-\u139f"},{name:"InGeneral_Punctuation",bmp:"\u2000-\u206f"},{name:"InGeometric_Shapes",bmp:"\u25a0-\u25ff"},{name:"InGeometric_Shapes_Extended",astral:"\ud83d[\udf80-\udfff]"},{name:"InGeorgian",bmp:"\u10a0-\u10ff"},{name:"InGeorgian_Supplement", -bmp:"\u2d00-\u2d2f"},{name:"InGlagolitic",bmp:"\u2c00-\u2c5f"},{name:"InGlagolitic_Supplement",astral:"\ud838[\udc00-\udc2f]"},{name:"InGothic",astral:"\ud800[\udf30-\udf4f]"},{name:"InGrantha",astral:"\ud804[\udf00-\udf7f]"},{name:"InGreek_Extended",bmp:"\u1f00-\u1fff"},{name:"InGreek_and_Coptic",bmp:"\u0370-\u03ff"},{name:"InGujarati",bmp:"\u0a80-\u0aff"},{name:"InGurmukhi",bmp:"\u0a00-\u0a7f"},{name:"InHalfwidth_and_Fullwidth_Forms",bmp:"\uff00-\uffef"},{name:"InHangul_Compatibility_Jamo",bmp:"\u3130-\u318f"}, -{name:"InHangul_Jamo",bmp:"\u1100-\u11ff"},{name:"InHangul_Jamo_Extended_A",bmp:"\ua960-\ua97f"},{name:"InHangul_Jamo_Extended_B",bmp:"\ud7b0-\ud7ff"},{name:"InHangul_Syllables",bmp:"\uac00-\ud7af"},{name:"InHanunoo",bmp:"\u1720-\u173f"},{name:"InHatran",astral:"\ud802[\udce0-\udcff]"},{name:"InHebrew",bmp:"\u0590-\u05ff"},{name:"InHigh_Private_Use_Surrogates",bmp:"\udb80-\udbff"},{name:"InHigh_Surrogates",bmp:"\ud800-\udb7f"},{name:"InHiragana",bmp:"\u3040-\u309f"},{name:"InIPA_Extensions",bmp:"\u0250-\u02af"}, -{name:"InIdeographic_Description_Characters",bmp:"\u2ff0-\u2fff"},{name:"InIdeographic_Symbols_and_Punctuation",astral:"\ud81b[\udfe0-\udfff]"},{name:"InImperial_Aramaic",astral:"\ud802[\udc40-\udc5f]"},{name:"InInscriptional_Pahlavi",astral:"\ud802[\udf60-\udf7f]"},{name:"InInscriptional_Parthian",astral:"\ud802[\udf40-\udf5f]"},{name:"InJavanese",bmp:"\ua980-\ua9df"},{name:"InKaithi",astral:"\ud804[\udc80-\udccf]"},{name:"InKana_Supplement",astral:"\ud82c[\udc00-\udcff]"},{name:"InKanbun",bmp:"\u3190-\u319f"}, -{name:"InKangxi_Radicals",bmp:"\u2f00-\u2fdf"},{name:"InKannada",bmp:"\u0c80-\u0cff"},{name:"InKatakana",bmp:"\u30a0-\u30ff"},{name:"InKatakana_Phonetic_Extensions",bmp:"\u31f0-\u31ff"},{name:"InKayah_Li",bmp:"\ua900-\ua92f"},{name:"InKharoshthi",astral:"\ud802[\ude00-\ude5f]"},{name:"InKhmer",bmp:"\u1780-\u17ff"},{name:"InKhmer_Symbols",bmp:"\u19e0-\u19ff"},{name:"InKhojki",astral:"\ud804[\ude00-\ude4f]"},{name:"InKhudawadi",astral:"\ud804[\udeb0-\udeff]"},{name:"InLao",bmp:"\u0e80-\u0eff"},{name:"InLatin_Extended_Additional", -bmp:"\u1e00-\u1eff"},{name:"InLatin_Extended_A",bmp:"\u0100-\u017f"},{name:"InLatin_Extended_B",bmp:"\u0180-\u024f"},{name:"InLatin_Extended_C",bmp:"\u2c60-\u2c7f"},{name:"InLatin_Extended_D",bmp:"\ua720-\ua7ff"},{name:"InLatin_Extended_E",bmp:"\uab30-\uab6f"},{name:"InLatin_1_Supplement",bmp:"\u0080-\u00ff"},{name:"InLepcha",bmp:"\u1c00-\u1c4f"},{name:"InLetterlike_Symbols",bmp:"\u2100-\u214f"},{name:"InLimbu",bmp:"\u1900-\u194f"},{name:"InLinear_A",astral:"\ud801[\ude00-\udf7f]"},{name:"InLinear_B_Ideograms", -astral:"\ud800[\udc80-\udcff]"},{name:"InLinear_B_Syllabary",astral:"\ud800[\udc00-\udc7f]"},{name:"InLisu",bmp:"\ua4d0-\ua4ff"},{name:"InLow_Surrogates",bmp:"\udc00-\udfff"},{name:"InLycian",astral:"\ud800[\ude80-\ude9f]"},{name:"InLydian",astral:"\ud802[\udd20-\udd3f]"},{name:"InMahajani",astral:"\ud804[\udd50-\udd7f]"},{name:"InMahjong_Tiles",astral:"\ud83c[\udc00-\udc2f]"},{name:"InMalayalam",bmp:"\u0d00-\u0d7f"},{name:"InMandaic",bmp:"\u0840-\u085f"},{name:"InManichaean",astral:"\ud802[\udec0-\udeff]"}, -{name:"InMarchen",astral:"\ud807[\udc70-\udcbf]"},{name:"InMathematical_Alphanumeric_Symbols",astral:"\ud835[\udc00-\udfff]"},{name:"InMathematical_Operators",bmp:"\u2200-\u22ff"},{name:"InMeetei_Mayek",bmp:"\uabc0-\uabff"},{name:"InMeetei_Mayek_Extensions",bmp:"\uaae0-\uaaff"},{name:"InMende_Kikakui",astral:"\ud83a[\udc00-\udcdf]"},{name:"InMeroitic_Cursive",astral:"\ud802[\udda0-\uddff]"},{name:"InMeroitic_Hieroglyphs",astral:"\ud802[\udd80-\udd9f]"},{name:"InMiao",astral:"\ud81b[\udf00-\udf9f]"}, -{name:"InMiscellaneous_Mathematical_Symbols_A",bmp:"\u27c0-\u27ef"},{name:"InMiscellaneous_Mathematical_Symbols_B",bmp:"\u2980-\u29ff"},{name:"InMiscellaneous_Symbols",bmp:"\u2600-\u26ff"},{name:"InMiscellaneous_Symbols_and_Arrows",bmp:"\u2b00-\u2bff"},{name:"InMiscellaneous_Symbols_and_Pictographs",astral:"\ud83c[\udf00-\udfff]|\ud83d[\udc00-\uddff]"},{name:"InMiscellaneous_Technical",bmp:"\u2300-\u23ff"},{name:"InModi",astral:"\ud805[\ude00-\ude5f]"},{name:"InModifier_Tone_Letters",bmp:"\ua700-\ua71f"}, -{name:"InMongolian",bmp:"\u1800-\u18af"},{name:"InMongolian_Supplement",astral:"\ud805[\ude60-\ude7f]"},{name:"InMro",astral:"\ud81a[\ude40-\ude6f]"},{name:"InMultani",astral:"\ud804[\ude80-\udeaf]"},{name:"InMusical_Symbols",astral:"\ud834[\udd00-\uddff]"},{name:"InMyanmar",bmp:"\u1000-\u109f"},{name:"InMyanmar_Extended_A",bmp:"\uaa60-\uaa7f"},{name:"InMyanmar_Extended_B",bmp:"\ua9e0-\ua9ff"},{name:"InNKo",bmp:"\u07c0-\u07ff"},{name:"InNabataean",astral:"\ud802[\udc80-\udcaf]"},{name:"InNew_Tai_Lue", -bmp:"\u1980-\u19df"},{name:"InNewa",astral:"\ud805[\udc00-\udc7f]"},{name:"InNumber_Forms",bmp:"\u2150-\u218f"},{name:"InOgham",bmp:"\u1680-\u169f"},{name:"InOl_Chiki",bmp:"\u1c50-\u1c7f"},{name:"InOld_Hungarian",astral:"\ud803[\udc80-\udcff]"},{name:"InOld_Italic",astral:"\ud800[\udf00-\udf2f]"},{name:"InOld_North_Arabian",astral:"\ud802[\ude80-\ude9f]"},{name:"InOld_Permic",astral:"\ud800[\udf50-\udf7f]"},{name:"InOld_Persian",astral:"\ud800[\udfa0-\udfdf]"},{name:"InOld_South_Arabian",astral:"\ud802[\ude60-\ude7f]"}, -{name:"InOld_Turkic",astral:"\ud803[\udc00-\udc4f]"},{name:"InOptical_Character_Recognition",bmp:"\u2440-\u245f"},{name:"InOriya",bmp:"\u0b00-\u0b7f"},{name:"InOrnamental_Dingbats",astral:"\ud83d[\ude50-\ude7f]"},{name:"InOsage",astral:"\ud801[\udcb0-\udcff]"},{name:"InOsmanya",astral:"\ud801[\udc80-\udcaf]"},{name:"InPahawh_Hmong",astral:"\ud81a[\udf00-\udf8f]"},{name:"InPalmyrene",astral:"\ud802[\udc60-\udc7f]"},{name:"InPau_Cin_Hau",astral:"\ud806[\udec0-\udeff]"},{name:"InPhags_pa",bmp:"\ua840-\ua87f"}, -{name:"InPhaistos_Disc",astral:"\ud800[\uddd0-\uddff]"},{name:"InPhoenician",astral:"\ud802[\udd00-\udd1f]"},{name:"InPhonetic_Extensions",bmp:"\u1d00-\u1d7f"},{name:"InPhonetic_Extensions_Supplement",bmp:"\u1d80-\u1dbf"},{name:"InPlaying_Cards",astral:"\ud83c[\udca0-\udcff]"},{name:"InPrivate_Use_Area",bmp:"\ue000-\uf8ff"},{name:"InPsalter_Pahlavi",astral:"\ud802[\udf80-\udfaf]"},{name:"InRejang",bmp:"\ua930-\ua95f"},{name:"InRumi_Numeral_Symbols",astral:"\ud803[\ude60-\ude7f]"},{name:"InRunic", -bmp:"\u16a0-\u16ff"},{name:"InSamaritan",bmp:"\u0800-\u083f"},{name:"InSaurashtra",bmp:"\ua880-\ua8df"},{name:"InSharada",astral:"\ud804[\udd80-\udddf]"},{name:"InShavian",astral:"\ud801[\udc50-\udc7f]"},{name:"InShorthand_Format_Controls",astral:"\ud82f[\udca0-\udcaf]"},{name:"InSiddham",astral:"\ud805[\udd80-\uddff]"},{name:"InSinhala",bmp:"\u0d80-\u0dff"},{name:"InSinhala_Archaic_Numbers",astral:"\ud804[\udde0-\uddff]"},{name:"InSmall_Form_Variants",bmp:"\ufe50-\ufe6f"},{name:"InSora_Sompeng", -astral:"\ud804[\udcd0-\udcff]"},{name:"InSpacing_Modifier_Letters",bmp:"\u02b0-\u02ff"},{name:"InSpecials",bmp:"\ufff0-\uffff"},{name:"InSundanese",bmp:"\u1b80-\u1bbf"},{name:"InSundanese_Supplement",bmp:"\u1cc0-\u1ccf"},{name:"InSuperscripts_and_Subscripts",bmp:"\u2070-\u209f"},{name:"InSupplemental_Arrows_A",bmp:"\u27f0-\u27ff"},{name:"InSupplemental_Arrows_B",bmp:"\u2900-\u297f"},{name:"InSupplemental_Arrows_C",astral:"\ud83e[\udc00-\udcff]"},{name:"InSupplemental_Mathematical_Operators",bmp:"\u2a00-\u2aff"}, -{name:"InSupplemental_Punctuation",bmp:"\u2e00-\u2e7f"},{name:"InSupplemental_Symbols_and_Pictographs",astral:"\ud83e[\udd00-\uddff]"},{name:"InSupplementary_Private_Use_Area_A",astral:"[\udb80-\udbbf][\udc00-\udfff]"},{name:"InSupplementary_Private_Use_Area_B",astral:"[\udbc0-\udbff][\udc00-\udfff]"},{name:"InSutton_SignWriting",astral:"\ud836[\udc00-\udeaf]"},{name:"InSyloti_Nagri",bmp:"\ua800-\ua82f"},{name:"InSyriac",bmp:"\u0700-\u074f"},{name:"InTagalog",bmp:"\u1700-\u171f"},{name:"InTagbanwa", -bmp:"\u1760-\u177f"},{name:"InTags",astral:"\udb40[\udc00-\udc7f]"},{name:"InTai_Le",bmp:"\u1950-\u197f"},{name:"InTai_Tham",bmp:"\u1a20-\u1aaf"},{name:"InTai_Viet",bmp:"\uaa80-\uaadf"},{name:"InTai_Xuan_Jing_Symbols",astral:"\ud834[\udf00-\udf5f]"},{name:"InTakri",astral:"\ud805[\ude80-\udecf]"},{name:"InTamil",bmp:"\u0b80-\u0bff"},{name:"InTangut",astral:"[\ud81c-\ud821][\udc00-\udfff]"},{name:"InTangut_Components",astral:"\ud822[\udc00-\udeff]"},{name:"InTelugu",bmp:"\u0c00-\u0c7f"},{name:"InThaana", -bmp:"\u0780-\u07bf"},{name:"InThai",bmp:"\u0e00-\u0e7f"},{name:"InTibetan",bmp:"\u0f00-\u0fff"},{name:"InTifinagh",bmp:"\u2d30-\u2d7f"},{name:"InTirhuta",astral:"\ud805[\udc80-\udcdf]"},{name:"InTransport_and_Map_Symbols",astral:"\ud83d[\ude80-\udeff]"},{name:"InUgaritic",astral:"\ud800[\udf80-\udf9f]"},{name:"InUnified_Canadian_Aboriginal_Syllabics",bmp:"\u1400-\u167f"},{name:"InUnified_Canadian_Aboriginal_Syllabics_Extended",bmp:"\u18b0-\u18ff"},{name:"InVai",bmp:"\ua500-\ua63f"},{name:"InVariation_Selectors", -bmp:"\ufe00-\ufe0f"},{name:"InVariation_Selectors_Supplement",astral:"\udb40[\udd00-\uddef]"},{name:"InVedic_Extensions",bmp:"\u1cd0-\u1cff"},{name:"InVertical_Forms",bmp:"\ufe10-\ufe1f"},{name:"InWarang_Citi",astral:"\ud806[\udca0-\udcff]"},{name:"InYi_Radicals",bmp:"\ua490-\ua4cf"},{name:"InYi_Syllables",bmp:"\ua000-\ua48f"},{name:"InYijing_Hexagram_Symbols",bmp:"\u4dc0-\u4dff"}])}},{}],5:[function(d,g,p){g.exports=function(c){if(!c.addUnicodeData)throw new ReferenceError("Unicode Base must be loaded before Unicode Categories"); -c.addUnicodeData([{name:"C",alias:"Other",isBmpLast:!0,bmp:"\x00-\u001f\u007f-\u009f\u00ad\u0378\u0379\u0380-\u0383\u038b\u038d\u03a2\u0530\u0557\u0558\u0560\u0588\u058b\u058c\u0590\u05c8-\u05cf\u05eb-\u05ef\u05f5-\u0605\u061c\u061d\u06dd\u070e\u070f\u074b\u074c\u07b2-\u07bf\u07fb-\u07ff\u082e\u082f\u083f\u085c\u085d\u085f-\u089f\u08b5\u08be-\u08d3\u08e2\u0984\u098d\u098e\u0991\u0992\u09a9\u09b1\u09b3-\u09b5\u09ba\u09bb\u09c5\u09c6\u09c9\u09ca\u09cf-\u09d6\u09d8-\u09db\u09de\u09e4\u09e5\u09fc-\u0a00\u0a04\u0a0b-\u0a0e\u0a11\u0a12\u0a29\u0a31\u0a34\u0a37\u0a3a\u0a3b\u0a3d\u0a43-\u0a46\u0a49\u0a4a\u0a4e-\u0a50\u0a52-\u0a58\u0a5d\u0a5f-\u0a65\u0a76-\u0a80\u0a84\u0a8e\u0a92\u0aa9\u0ab1\u0ab4\u0aba\u0abb\u0ac6\u0aca\u0ace\u0acf\u0ad1-\u0adf\u0ae4\u0ae5\u0af2-\u0af8\u0afa-\u0b00\u0b04\u0b0d\u0b0e\u0b11\u0b12\u0b29\u0b31\u0b34\u0b3a\u0b3b\u0b45\u0b46\u0b49\u0b4a\u0b4e-\u0b55\u0b58-\u0b5b\u0b5e\u0b64\u0b65\u0b78-\u0b81\u0b84\u0b8b-\u0b8d\u0b91\u0b96-\u0b98\u0b9b\u0b9d\u0ba0-\u0ba2\u0ba5-\u0ba7\u0bab-\u0bad\u0bba-\u0bbd\u0bc3-\u0bc5\u0bc9\u0bce\u0bcf\u0bd1-\u0bd6\u0bd8-\u0be5\u0bfb-\u0bff\u0c04\u0c0d\u0c11\u0c29\u0c3a-\u0c3c\u0c45\u0c49\u0c4e-\u0c54\u0c57\u0c5b-\u0c5f\u0c64\u0c65\u0c70-\u0c77\u0c84\u0c8d\u0c91\u0ca9\u0cb4\u0cba\u0cbb\u0cc5\u0cc9\u0cce-\u0cd4\u0cd7-\u0cdd\u0cdf\u0ce4\u0ce5\u0cf0\u0cf3-\u0d00\u0d04\u0d0d\u0d11\u0d3b\u0d3c\u0d45\u0d49\u0d50-\u0d53\u0d64\u0d65\u0d80\u0d81\u0d84\u0d97-\u0d99\u0db2\u0dbc\u0dbe\u0dbf\u0dc7-\u0dc9\u0dcb-\u0dce\u0dd5\u0dd7\u0de0-\u0de5\u0df0\u0df1\u0df5-\u0e00\u0e3b-\u0e3e\u0e5c-\u0e80\u0e83\u0e85\u0e86\u0e89\u0e8b\u0e8c\u0e8e-\u0e93\u0e98\u0ea0\u0ea4\u0ea6\u0ea8\u0ea9\u0eac\u0eba\u0ebe\u0ebf\u0ec5\u0ec7\u0ece\u0ecf\u0eda\u0edb\u0ee0-\u0eff\u0f48\u0f6d-\u0f70\u0f98\u0fbd\u0fcd\u0fdb-\u0fff\u10c6\u10c8-\u10cc\u10ce\u10cf\u1249\u124e\u124f\u1257\u1259\u125e\u125f\u1289\u128e\u128f\u12b1\u12b6\u12b7\u12bf\u12c1\u12c6\u12c7\u12d7\u1311\u1316\u1317\u135b\u135c\u137d-\u137f\u139a-\u139f\u13f6\u13f7\u13fe\u13ff\u169d-\u169f\u16f9-\u16ff\u170d\u1715-\u171f\u1737-\u173f\u1754-\u175f\u176d\u1771\u1774-\u177f\u17de\u17df\u17ea-\u17ef\u17fa-\u17ff\u180e\u180f\u181a-\u181f\u1878-\u187f\u18ab-\u18af\u18f6-\u18ff\u191f\u192c-\u192f\u193c-\u193f\u1941-\u1943\u196e\u196f\u1975-\u197f\u19ac-\u19af\u19ca-\u19cf\u19db-\u19dd\u1a1c\u1a1d\u1a5f\u1a7d\u1a7e\u1a8a-\u1a8f\u1a9a-\u1a9f\u1aae\u1aaf\u1abf-\u1aff\u1b4c-\u1b4f\u1b7d-\u1b7f\u1bf4-\u1bfb\u1c38-\u1c3a\u1c4a-\u1c4c\u1c89-\u1cbf\u1cc8-\u1ccf\u1cf7\u1cfa-\u1cff\u1df6-\u1dfa\u1f16\u1f17\u1f1e\u1f1f\u1f46\u1f47\u1f4e\u1f4f\u1f58\u1f5a\u1f5c\u1f5e\u1f7e\u1f7f\u1fb5\u1fc5\u1fd4\u1fd5\u1fdc\u1ff0\u1ff1\u1ff5\u1fff\u200b-\u200f\u202a-\u202e\u2060-\u206f\u2072\u2073\u208f\u209d-\u209f\u20bf-\u20cf\u20f1-\u20ff\u218c-\u218f\u23ff\u2427-\u243f\u244b-\u245f\u2b74\u2b75\u2b96\u2b97\u2bba-\u2bbc\u2bc9\u2bd2-\u2beb\u2bf0-\u2bff\u2c2f\u2c5f\u2cf4-\u2cf8\u2d26\u2d28-\u2d2c\u2d2e\u2d2f\u2d68-\u2d6e\u2d71-\u2d7e\u2d97-\u2d9f\u2da7\u2daf\u2db7\u2dbf\u2dc7\u2dcf\u2dd7\u2ddf\u2e45-\u2e7f\u2e9a\u2ef4-\u2eff\u2fd6-\u2fef\u2ffc-\u2fff\u3040\u3097\u3098\u3100-\u3104\u312e-\u3130\u318f\u31bb-\u31bf\u31e4-\u31ef\u321f\u32ff\u4db6-\u4dbf\u9fd6-\u9fff\ua48d-\ua48f\ua4c7-\ua4cf\ua62c-\ua63f\ua6f8-\ua6ff\ua7af\ua7b8-\ua7f6\ua82c-\ua82f\ua83a-\ua83f\ua878-\ua87f\ua8c6-\ua8cd\ua8da-\ua8df\ua8fe\ua8ff\ua954-\ua95e\ua97d-\ua97f\ua9ce\ua9da-\ua9dd\ua9ff\uaa37-\uaa3f\uaa4e\uaa4f\uaa5a\uaa5b\uaac3-\uaada\uaaf7-\uab00\uab07\uab08\uab0f\uab10\uab17-\uab1f\uab27\uab2f\uab66-\uab6f\uabee\uabef\uabfa-\uabff\ud7a4-\ud7af\ud7c7-\ud7ca\ud7fc-\uf8ff\ufa6e\ufa6f\ufada-\ufaff\ufb07-\ufb12\ufb18-\ufb1c\ufb37\ufb3d\ufb3f\ufb42\ufb45\ufbc2-\ufbd2\ufd40-\ufd4f\ufd90\ufd91\ufdc8-\ufdef\ufdfe\ufdff\ufe1a-\ufe1f\ufe53\ufe67\ufe6c-\ufe6f\ufe75\ufefd-\uff00\uffbf-\uffc1\uffc8\uffc9\uffd0\uffd1\uffd8\uffd9\uffdd-\uffdf\uffe7\uffef-\ufffb\ufffe\uffff", -astral:"\ud800[\udc0c\udc27\udc3b\udc3e\udc4e\udc4f\udc5e-\udc7f\udcfb-\udcff\udd03-\udd06\udd34-\udd36\udd8f\udd9c-\udd9f\udda1-\uddcf\uddfe-\ude7f\ude9d-\ude9f\uded1-\udedf\udefc-\udeff\udf24-\udf2f\udf4b-\udf4f\udf7b-\udf7f\udf9e\udfc4-\udfc7\udfd6-\udfff]|\ud801[\udc9e\udc9f\udcaa-\udcaf\udcd4-\udcd7\udcfc-\udcff\udd28-\udd2f\udd64-\udd6e\udd70-\uddff\udf37-\udf3f\udf56-\udf5f\udf68-\udfff]|\ud802[\udc06\udc07\udc09\udc36\udc39-\udc3b\udc3d\udc3e\udc56\udc9f-\udca6\udcb0-\udcdf\udcf3\udcf6-\udcfa\udd1c-\udd1e\udd3a-\udd3e\udd40-\udd7f\uddb8-\uddbb\uddd0\uddd1\ude04\ude07-\ude0b\ude14\ude18\ude34-\ude37\ude3b-\ude3e\ude48-\ude4f\ude59-\ude5f\udea0-\udebf\udee7-\udeea\udef7-\udeff\udf36-\udf38\udf56\udf57\udf73-\udf77\udf92-\udf98\udf9d-\udfa8\udfb0-\udfff]|\ud803[\udc49-\udc7f\udcb3-\udcbf\udcf3-\udcf9\udd00-\ude5f\ude7f-\udfff]|\ud804[\udc4e-\udc51\udc70-\udc7e\udcbd\udcc2-\udccf\udce9-\udcef\udcfa-\udcff\udd35\udd44-\udd4f\udd77-\udd7f\uddce\uddcf\udde0\uddf5-\uddff\ude12\ude3f-\ude7f\ude87\ude89\ude8e\ude9e\udeaa-\udeaf\udeeb-\udeef\udefa-\udeff\udf04\udf0d\udf0e\udf11\udf12\udf29\udf31\udf34\udf3a\udf3b\udf45\udf46\udf49\udf4a\udf4e\udf4f\udf51-\udf56\udf58-\udf5c\udf64\udf65\udf6d-\udf6f\udf75-\udfff]|\ud805[\udc5a\udc5c\udc5e-\udc7f\udcc8-\udccf\udcda-\udd7f\uddb6\uddb7\uddde-\uddff\ude45-\ude4f\ude5a-\ude5f\ude6d-\ude7f\udeb8-\udebf\udeca-\udeff\udf1a-\udf1c\udf2c-\udf2f\udf40-\udfff]|\ud806[\udc00-\udc9f\udcf3-\udcfe\udd00-\udebf\udef9-\udfff]|\ud807[\udc09\udc37\udc46-\udc4f\udc6d-\udc6f\udc90\udc91\udca8\udcb7-\udfff]|\ud808[\udf9a-\udfff]|\ud809[\udc6f\udc75-\udc7f\udd44-\udfff]|[\ud80a\ud80b\ud80e-\ud810\ud812-\ud819\ud823-\ud82b\ud82d\ud82e\ud830-\ud833\ud837\ud839\ud83f\ud874-\ud87d\ud87f-\udb3f\udb41-\udbff][\udc00-\udfff]|\ud80d[\udc2f-\udfff]|\ud811[\ude47-\udfff]|\ud81a[\ude39-\ude3f\ude5f\ude6a-\ude6d\ude70-\udecf\udeee\udeef\udef6-\udeff\udf46-\udf4f\udf5a\udf62\udf78-\udf7c\udf90-\udfff]|\ud81b[\udc00-\udeff\udf45-\udf4f\udf7f-\udf8e\udfa0-\udfdf\udfe1-\udfff]|\ud821[\udfed-\udfff]|\ud822[\udef3-\udfff]|\ud82c[\udc02-\udfff]|\ud82f[\udc6b-\udc6f\udc7d-\udc7f\udc89-\udc8f\udc9a\udc9b\udca0-\udfff]|\ud834[\udcf6-\udcff\udd27\udd28\udd73-\udd7a\udde9-\uddff\ude46-\udeff\udf57-\udf5f\udf72-\udfff]|\ud835[\udc55\udc9d\udca0\udca1\udca3\udca4\udca7\udca8\udcad\udcba\udcbc\udcc4\udd06\udd0b\udd0c\udd15\udd1d\udd3a\udd3f\udd45\udd47-\udd49\udd51\udea6\udea7\udfcc\udfcd]|\ud836[\ude8c-\ude9a\udea0\udeb0-\udfff]|\ud838[\udc07\udc19\udc1a\udc22\udc25\udc2b-\udfff]|\ud83a[\udcc5\udcc6\udcd7-\udcff\udd4b-\udd4f\udd5a-\udd5d\udd60-\udfff]|\ud83b[\udc00-\uddff\ude04\ude20\ude23\ude25\ude26\ude28\ude33\ude38\ude3a\ude3c-\ude41\ude43-\ude46\ude48\ude4a\ude4c\ude50\ude53\ude55\ude56\ude58\ude5a\ude5c\ude5e\ude60\ude63\ude65\ude66\ude6b\ude73\ude78\ude7d\ude7f\ude8a\ude9c-\udea0\udea4\udeaa\udebc-\udeef\udef2-\udfff]|\ud83c[\udc2c-\udc2f\udc94-\udc9f\udcaf\udcb0\udcc0\udcd0\udcf6-\udcff\udd0d-\udd0f\udd2f\udd6c-\udd6f\uddad-\udde5\ude03-\ude0f\ude3c-\ude3f\ude49-\ude4f\ude52-\udeff]|\ud83d[\uded3-\udedf\udeed-\udeef\udef7-\udeff\udf74-\udf7f\udfd5-\udfff]|\ud83e[\udc0c-\udc0f\udc48-\udc4f\udc5a-\udc5f\udc88-\udc8f\udcae-\udd0f\udd1f\udd28-\udd2f\udd31\udd32\udd3f\udd4c-\udd4f\udd5f-\udd7f\udd92-\uddbf\uddc1-\udfff]|\ud869[\uded7-\udeff]|\ud86d[\udf35-\udf3f]|\ud86e[\udc1e\udc1f]|\ud873[\udea2-\udfff]|\ud87e[\ude1e-\udfff]|\udb40[\udc00-\udcff\uddf0-\udfff]"}, -{name:"Cc",alias:"Control",bmp:"\x00-\u001f\u007f-\u009f"},{name:"Cf",alias:"Format",bmp:"\u00ad\u0600-\u0605\u061c\u06dd\u070f\u08e2\u180e\u200b-\u200f\u202a-\u202e\u2060-\u2064\u2066-\u206f\ufeff\ufff9-\ufffb",astral:"\ud804\udcbd|\ud82f[\udca0-\udca3]|\ud834[\udd73-\udd7a]|\udb40[\udc01\udc20-\udc7f]"},{name:"Cn",alias:"Unassigned",bmp:"\u0378\u0379\u0380-\u0383\u038b\u038d\u03a2\u0530\u0557\u0558\u0560\u0588\u058b\u058c\u0590\u05c8-\u05cf\u05eb-\u05ef\u05f5-\u05ff\u061d\u070e\u074b\u074c\u07b2-\u07bf\u07fb-\u07ff\u082e\u082f\u083f\u085c\u085d\u085f-\u089f\u08b5\u08be-\u08d3\u0984\u098d\u098e\u0991\u0992\u09a9\u09b1\u09b3-\u09b5\u09ba\u09bb\u09c5\u09c6\u09c9\u09ca\u09cf-\u09d6\u09d8-\u09db\u09de\u09e4\u09e5\u09fc-\u0a00\u0a04\u0a0b-\u0a0e\u0a11\u0a12\u0a29\u0a31\u0a34\u0a37\u0a3a\u0a3b\u0a3d\u0a43-\u0a46\u0a49\u0a4a\u0a4e-\u0a50\u0a52-\u0a58\u0a5d\u0a5f-\u0a65\u0a76-\u0a80\u0a84\u0a8e\u0a92\u0aa9\u0ab1\u0ab4\u0aba\u0abb\u0ac6\u0aca\u0ace\u0acf\u0ad1-\u0adf\u0ae4\u0ae5\u0af2-\u0af8\u0afa-\u0b00\u0b04\u0b0d\u0b0e\u0b11\u0b12\u0b29\u0b31\u0b34\u0b3a\u0b3b\u0b45\u0b46\u0b49\u0b4a\u0b4e-\u0b55\u0b58-\u0b5b\u0b5e\u0b64\u0b65\u0b78-\u0b81\u0b84\u0b8b-\u0b8d\u0b91\u0b96-\u0b98\u0b9b\u0b9d\u0ba0-\u0ba2\u0ba5-\u0ba7\u0bab-\u0bad\u0bba-\u0bbd\u0bc3-\u0bc5\u0bc9\u0bce\u0bcf\u0bd1-\u0bd6\u0bd8-\u0be5\u0bfb-\u0bff\u0c04\u0c0d\u0c11\u0c29\u0c3a-\u0c3c\u0c45\u0c49\u0c4e-\u0c54\u0c57\u0c5b-\u0c5f\u0c64\u0c65\u0c70-\u0c77\u0c84\u0c8d\u0c91\u0ca9\u0cb4\u0cba\u0cbb\u0cc5\u0cc9\u0cce-\u0cd4\u0cd7-\u0cdd\u0cdf\u0ce4\u0ce5\u0cf0\u0cf3-\u0d00\u0d04\u0d0d\u0d11\u0d3b\u0d3c\u0d45\u0d49\u0d50-\u0d53\u0d64\u0d65\u0d80\u0d81\u0d84\u0d97-\u0d99\u0db2\u0dbc\u0dbe\u0dbf\u0dc7-\u0dc9\u0dcb-\u0dce\u0dd5\u0dd7\u0de0-\u0de5\u0df0\u0df1\u0df5-\u0e00\u0e3b-\u0e3e\u0e5c-\u0e80\u0e83\u0e85\u0e86\u0e89\u0e8b\u0e8c\u0e8e-\u0e93\u0e98\u0ea0\u0ea4\u0ea6\u0ea8\u0ea9\u0eac\u0eba\u0ebe\u0ebf\u0ec5\u0ec7\u0ece\u0ecf\u0eda\u0edb\u0ee0-\u0eff\u0f48\u0f6d-\u0f70\u0f98\u0fbd\u0fcd\u0fdb-\u0fff\u10c6\u10c8-\u10cc\u10ce\u10cf\u1249\u124e\u124f\u1257\u1259\u125e\u125f\u1289\u128e\u128f\u12b1\u12b6\u12b7\u12bf\u12c1\u12c6\u12c7\u12d7\u1311\u1316\u1317\u135b\u135c\u137d-\u137f\u139a-\u139f\u13f6\u13f7\u13fe\u13ff\u169d-\u169f\u16f9-\u16ff\u170d\u1715-\u171f\u1737-\u173f\u1754-\u175f\u176d\u1771\u1774-\u177f\u17de\u17df\u17ea-\u17ef\u17fa-\u17ff\u180f\u181a-\u181f\u1878-\u187f\u18ab-\u18af\u18f6-\u18ff\u191f\u192c-\u192f\u193c-\u193f\u1941-\u1943\u196e\u196f\u1975-\u197f\u19ac-\u19af\u19ca-\u19cf\u19db-\u19dd\u1a1c\u1a1d\u1a5f\u1a7d\u1a7e\u1a8a-\u1a8f\u1a9a-\u1a9f\u1aae\u1aaf\u1abf-\u1aff\u1b4c-\u1b4f\u1b7d-\u1b7f\u1bf4-\u1bfb\u1c38-\u1c3a\u1c4a-\u1c4c\u1c89-\u1cbf\u1cc8-\u1ccf\u1cf7\u1cfa-\u1cff\u1df6-\u1dfa\u1f16\u1f17\u1f1e\u1f1f\u1f46\u1f47\u1f4e\u1f4f\u1f58\u1f5a\u1f5c\u1f5e\u1f7e\u1f7f\u1fb5\u1fc5\u1fd4\u1fd5\u1fdc\u1ff0\u1ff1\u1ff5\u1fff\u2065\u2072\u2073\u208f\u209d-\u209f\u20bf-\u20cf\u20f1-\u20ff\u218c-\u218f\u23ff\u2427-\u243f\u244b-\u245f\u2b74\u2b75\u2b96\u2b97\u2bba-\u2bbc\u2bc9\u2bd2-\u2beb\u2bf0-\u2bff\u2c2f\u2c5f\u2cf4-\u2cf8\u2d26\u2d28-\u2d2c\u2d2e\u2d2f\u2d68-\u2d6e\u2d71-\u2d7e\u2d97-\u2d9f\u2da7\u2daf\u2db7\u2dbf\u2dc7\u2dcf\u2dd7\u2ddf\u2e45-\u2e7f\u2e9a\u2ef4-\u2eff\u2fd6-\u2fef\u2ffc-\u2fff\u3040\u3097\u3098\u3100-\u3104\u312e-\u3130\u318f\u31bb-\u31bf\u31e4-\u31ef\u321f\u32ff\u4db6-\u4dbf\u9fd6-\u9fff\ua48d-\ua48f\ua4c7-\ua4cf\ua62c-\ua63f\ua6f8-\ua6ff\ua7af\ua7b8-\ua7f6\ua82c-\ua82f\ua83a-\ua83f\ua878-\ua87f\ua8c6-\ua8cd\ua8da-\ua8df\ua8fe\ua8ff\ua954-\ua95e\ua97d-\ua97f\ua9ce\ua9da-\ua9dd\ua9ff\uaa37-\uaa3f\uaa4e\uaa4f\uaa5a\uaa5b\uaac3-\uaada\uaaf7-\uab00\uab07\uab08\uab0f\uab10\uab17-\uab1f\uab27\uab2f\uab66-\uab6f\uabee\uabef\uabfa-\uabff\ud7a4-\ud7af\ud7c7-\ud7ca\ud7fc-\ud7ff\ufa6e\ufa6f\ufada-\ufaff\ufb07-\ufb12\ufb18-\ufb1c\ufb37\ufb3d\ufb3f\ufb42\ufb45\ufbc2-\ufbd2\ufd40-\ufd4f\ufd90\ufd91\ufdc8-\ufdef\ufdfe\ufdff\ufe1a-\ufe1f\ufe53\ufe67\ufe6c-\ufe6f\ufe75\ufefd\ufefe\uff00\uffbf-\uffc1\uffc8\uffc9\uffd0\uffd1\uffd8\uffd9\uffdd-\uffdf\uffe7\uffef-\ufff8\ufffe\uffff", -astral:"\ud800[\udc0c\udc27\udc3b\udc3e\udc4e\udc4f\udc5e-\udc7f\udcfb-\udcff\udd03-\udd06\udd34-\udd36\udd8f\udd9c-\udd9f\udda1-\uddcf\uddfe-\ude7f\ude9d-\ude9f\uded1-\udedf\udefc-\udeff\udf24-\udf2f\udf4b-\udf4f\udf7b-\udf7f\udf9e\udfc4-\udfc7\udfd6-\udfff]|\ud801[\udc9e\udc9f\udcaa-\udcaf\udcd4-\udcd7\udcfc-\udcff\udd28-\udd2f\udd64-\udd6e\udd70-\uddff\udf37-\udf3f\udf56-\udf5f\udf68-\udfff]|\ud802[\udc06\udc07\udc09\udc36\udc39-\udc3b\udc3d\udc3e\udc56\udc9f-\udca6\udcb0-\udcdf\udcf3\udcf6-\udcfa\udd1c-\udd1e\udd3a-\udd3e\udd40-\udd7f\uddb8-\uddbb\uddd0\uddd1\ude04\ude07-\ude0b\ude14\ude18\ude34-\ude37\ude3b-\ude3e\ude48-\ude4f\ude59-\ude5f\udea0-\udebf\udee7-\udeea\udef7-\udeff\udf36-\udf38\udf56\udf57\udf73-\udf77\udf92-\udf98\udf9d-\udfa8\udfb0-\udfff]|\ud803[\udc49-\udc7f\udcb3-\udcbf\udcf3-\udcf9\udd00-\ude5f\ude7f-\udfff]|\ud804[\udc4e-\udc51\udc70-\udc7e\udcc2-\udccf\udce9-\udcef\udcfa-\udcff\udd35\udd44-\udd4f\udd77-\udd7f\uddce\uddcf\udde0\uddf5-\uddff\ude12\ude3f-\ude7f\ude87\ude89\ude8e\ude9e\udeaa-\udeaf\udeeb-\udeef\udefa-\udeff\udf04\udf0d\udf0e\udf11\udf12\udf29\udf31\udf34\udf3a\udf3b\udf45\udf46\udf49\udf4a\udf4e\udf4f\udf51-\udf56\udf58-\udf5c\udf64\udf65\udf6d-\udf6f\udf75-\udfff]|\ud805[\udc5a\udc5c\udc5e-\udc7f\udcc8-\udccf\udcda-\udd7f\uddb6\uddb7\uddde-\uddff\ude45-\ude4f\ude5a-\ude5f\ude6d-\ude7f\udeb8-\udebf\udeca-\udeff\udf1a-\udf1c\udf2c-\udf2f\udf40-\udfff]|\ud806[\udc00-\udc9f\udcf3-\udcfe\udd00-\udebf\udef9-\udfff]|\ud807[\udc09\udc37\udc46-\udc4f\udc6d-\udc6f\udc90\udc91\udca8\udcb7-\udfff]|\ud808[\udf9a-\udfff]|\ud809[\udc6f\udc75-\udc7f\udd44-\udfff]|[\ud80a\ud80b\ud80e-\ud810\ud812-\ud819\ud823-\ud82b\ud82d\ud82e\ud830-\ud833\ud837\ud839\ud83f\ud874-\ud87d\ud87f-\udb3f\udb41-\udb7f][\udc00-\udfff]|\ud80d[\udc2f-\udfff]|\ud811[\ude47-\udfff]|\ud81a[\ude39-\ude3f\ude5f\ude6a-\ude6d\ude70-\udecf\udeee\udeef\udef6-\udeff\udf46-\udf4f\udf5a\udf62\udf78-\udf7c\udf90-\udfff]|\ud81b[\udc00-\udeff\udf45-\udf4f\udf7f-\udf8e\udfa0-\udfdf\udfe1-\udfff]|\ud821[\udfed-\udfff]|\ud822[\udef3-\udfff]|\ud82c[\udc02-\udfff]|\ud82f[\udc6b-\udc6f\udc7d-\udc7f\udc89-\udc8f\udc9a\udc9b\udca4-\udfff]|\ud834[\udcf6-\udcff\udd27\udd28\udde9-\uddff\ude46-\udeff\udf57-\udf5f\udf72-\udfff]|\ud835[\udc55\udc9d\udca0\udca1\udca3\udca4\udca7\udca8\udcad\udcba\udcbc\udcc4\udd06\udd0b\udd0c\udd15\udd1d\udd3a\udd3f\udd45\udd47-\udd49\udd51\udea6\udea7\udfcc\udfcd]|\ud836[\ude8c-\ude9a\udea0\udeb0-\udfff]|\ud838[\udc07\udc19\udc1a\udc22\udc25\udc2b-\udfff]|\ud83a[\udcc5\udcc6\udcd7-\udcff\udd4b-\udd4f\udd5a-\udd5d\udd60-\udfff]|\ud83b[\udc00-\uddff\ude04\ude20\ude23\ude25\ude26\ude28\ude33\ude38\ude3a\ude3c-\ude41\ude43-\ude46\ude48\ude4a\ude4c\ude50\ude53\ude55\ude56\ude58\ude5a\ude5c\ude5e\ude60\ude63\ude65\ude66\ude6b\ude73\ude78\ude7d\ude7f\ude8a\ude9c-\udea0\udea4\udeaa\udebc-\udeef\udef2-\udfff]|\ud83c[\udc2c-\udc2f\udc94-\udc9f\udcaf\udcb0\udcc0\udcd0\udcf6-\udcff\udd0d-\udd0f\udd2f\udd6c-\udd6f\uddad-\udde5\ude03-\ude0f\ude3c-\ude3f\ude49-\ude4f\ude52-\udeff]|\ud83d[\uded3-\udedf\udeed-\udeef\udef7-\udeff\udf74-\udf7f\udfd5-\udfff]|\ud83e[\udc0c-\udc0f\udc48-\udc4f\udc5a-\udc5f\udc88-\udc8f\udcae-\udd0f\udd1f\udd28-\udd2f\udd31\udd32\udd3f\udd4c-\udd4f\udd5f-\udd7f\udd92-\uddbf\uddc1-\udfff]|\ud869[\uded7-\udeff]|\ud86d[\udf35-\udf3f]|\ud86e[\udc1e\udc1f]|\ud873[\udea2-\udfff]|\ud87e[\ude1e-\udfff]|\udb40[\udc00\udc02-\udc1f\udc80-\udcff\uddf0-\udfff]|[\udbbf\udbff][\udffe\udfff]"}, -{name:"Co",alias:"Private_Use",bmp:"\ue000-\uf8ff",astral:"[\udb80-\udbbe\udbc0-\udbfe][\udc00-\udfff]|[\udbbf\udbff][\udc00-\udffd]"},{name:"Cs",alias:"Surrogate",bmp:"\ud800-\udfff"},{name:"L",alias:"Letter",bmp:"A-Za-z\u00aa\u00b5\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u08a0-\u08b4\u08b6-\u08bd\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16f1-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u1884\u1887-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1ce9-\u1cec\u1cee-\u1cf1\u1cf5\u1cf6\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2183\u2184\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2e2f\u3005\u3006\u3031-\u3035\u303b\u303c\u3041-\u3096\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fd5\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6e5\ua717-\ua71f\ua722-\ua788\ua78b-\ua7ae\ua7b0-\ua7b7\ua7f7-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab65\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc", -astral:"\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\ude80-\ude9c\udea0-\uded0\udf00-\udf1f\udf30-\udf40\udf42-\udf49\udf50-\udf75\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf]|\ud801[\udc00-\udc9d\udcb0-\udcd3\udcd8-\udcfb\udd00-\udd27\udd30-\udd63\ude00-\udf36\udf40-\udf55\udf60-\udf67]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe\uddbf\ude00\ude10-\ude13\ude15-\ude17\ude19-\ude33\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee4\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udc80-\udcb2\udcc0-\udcf2]|\ud804[\udc03-\udc37\udc83-\udcaf\udcd0-\udce8\udd03-\udd26\udd50-\udd72\udd76\udd83-\uddb2\uddc1-\uddc4\uddda\udddc\ude00-\ude11\ude13-\ude2b\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udede\udf05-\udf0c\udf0f\udf10\udf13-\udf28\udf2a-\udf30\udf32\udf33\udf35-\udf39\udf3d\udf50\udf5d-\udf61]|\ud805[\udc00-\udc34\udc47-\udc4a\udc80-\udcaf\udcc4\udcc5\udcc7\udd80-\uddae\uddd8-\udddb\ude00-\ude2f\ude44\ude80-\udeaa\udf00-\udf19]|\ud806[\udca0-\udcdf\udcff\udec0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc2e\udc40\udc72-\udc8f]|\ud808[\udc00-\udf99]|\ud809[\udc80-\udd43]|[\ud80c\ud81c-\ud820\ud840-\ud868\ud86a-\ud86c\ud86f-\ud872][\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\uded0-\udeed\udf00-\udf2f\udf40-\udf43\udf63-\udf77\udf7d-\udf8f]|\ud81b[\udf00-\udf44\udf50\udf93-\udf9f\udfe0]|\ud821[\udc00-\udfec]|\ud822[\udc00-\udef2]|\ud82c[\udc00\udc01]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e\udc9f\udca2\udca5\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb]|\ud83a[\udc00-\udcc4\udd00-\udd43]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud869[\udc00-\uded6\udf00-\udfff]|\ud86d[\udc00-\udf34\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud873[\udc00-\udea1]|\ud87e[\udc00-\ude1d]"}, -{name:"Ll",alias:"Lowercase_Letter",bmp:"a-z\u00b5\u00df-\u00f6\u00f8-\u00ff\u0101\u0103\u0105\u0107\u0109\u010b\u010d\u010f\u0111\u0113\u0115\u0117\u0119\u011b\u011d\u011f\u0121\u0123\u0125\u0127\u0129\u012b\u012d\u012f\u0131\u0133\u0135\u0137\u0138\u013a\u013c\u013e\u0140\u0142\u0144\u0146\u0148\u0149\u014b\u014d\u014f\u0151\u0153\u0155\u0157\u0159\u015b\u015d\u015f\u0161\u0163\u0165\u0167\u0169\u016b\u016d\u016f\u0171\u0173\u0175\u0177\u017a\u017c\u017e-\u0180\u0183\u0185\u0188\u018c\u018d\u0192\u0195\u0199-\u019b\u019e\u01a1\u01a3\u01a5\u01a8\u01aa\u01ab\u01ad\u01b0\u01b4\u01b6\u01b9\u01ba\u01bd-\u01bf\u01c6\u01c9\u01cc\u01ce\u01d0\u01d2\u01d4\u01d6\u01d8\u01da\u01dc\u01dd\u01df\u01e1\u01e3\u01e5\u01e7\u01e9\u01eb\u01ed\u01ef\u01f0\u01f3\u01f5\u01f9\u01fb\u01fd\u01ff\u0201\u0203\u0205\u0207\u0209\u020b\u020d\u020f\u0211\u0213\u0215\u0217\u0219\u021b\u021d\u021f\u0221\u0223\u0225\u0227\u0229\u022b\u022d\u022f\u0231\u0233-\u0239\u023c\u023f\u0240\u0242\u0247\u0249\u024b\u024d\u024f-\u0293\u0295-\u02af\u0371\u0373\u0377\u037b-\u037d\u0390\u03ac-\u03ce\u03d0\u03d1\u03d5-\u03d7\u03d9\u03db\u03dd\u03df\u03e1\u03e3\u03e5\u03e7\u03e9\u03eb\u03ed\u03ef-\u03f3\u03f5\u03f8\u03fb\u03fc\u0430-\u045f\u0461\u0463\u0465\u0467\u0469\u046b\u046d\u046f\u0471\u0473\u0475\u0477\u0479\u047b\u047d\u047f\u0481\u048b\u048d\u048f\u0491\u0493\u0495\u0497\u0499\u049b\u049d\u049f\u04a1\u04a3\u04a5\u04a7\u04a9\u04ab\u04ad\u04af\u04b1\u04b3\u04b5\u04b7\u04b9\u04bb\u04bd\u04bf\u04c2\u04c4\u04c6\u04c8\u04ca\u04cc\u04ce\u04cf\u04d1\u04d3\u04d5\u04d7\u04d9\u04db\u04dd\u04df\u04e1\u04e3\u04e5\u04e7\u04e9\u04eb\u04ed\u04ef\u04f1\u04f3\u04f5\u04f7\u04f9\u04fb\u04fd\u04ff\u0501\u0503\u0505\u0507\u0509\u050b\u050d\u050f\u0511\u0513\u0515\u0517\u0519\u051b\u051d\u051f\u0521\u0523\u0525\u0527\u0529\u052b\u052d\u052f\u0561-\u0587\u13f8-\u13fd\u1c80-\u1c88\u1d00-\u1d2b\u1d6b-\u1d77\u1d79-\u1d9a\u1e01\u1e03\u1e05\u1e07\u1e09\u1e0b\u1e0d\u1e0f\u1e11\u1e13\u1e15\u1e17\u1e19\u1e1b\u1e1d\u1e1f\u1e21\u1e23\u1e25\u1e27\u1e29\u1e2b\u1e2d\u1e2f\u1e31\u1e33\u1e35\u1e37\u1e39\u1e3b\u1e3d\u1e3f\u1e41\u1e43\u1e45\u1e47\u1e49\u1e4b\u1e4d\u1e4f\u1e51\u1e53\u1e55\u1e57\u1e59\u1e5b\u1e5d\u1e5f\u1e61\u1e63\u1e65\u1e67\u1e69\u1e6b\u1e6d\u1e6f\u1e71\u1e73\u1e75\u1e77\u1e79\u1e7b\u1e7d\u1e7f\u1e81\u1e83\u1e85\u1e87\u1e89\u1e8b\u1e8d\u1e8f\u1e91\u1e93\u1e95-\u1e9d\u1e9f\u1ea1\u1ea3\u1ea5\u1ea7\u1ea9\u1eab\u1ead\u1eaf\u1eb1\u1eb3\u1eb5\u1eb7\u1eb9\u1ebb\u1ebd\u1ebf\u1ec1\u1ec3\u1ec5\u1ec7\u1ec9\u1ecb\u1ecd\u1ecf\u1ed1\u1ed3\u1ed5\u1ed7\u1ed9\u1edb\u1edd\u1edf\u1ee1\u1ee3\u1ee5\u1ee7\u1ee9\u1eeb\u1eed\u1eef\u1ef1\u1ef3\u1ef5\u1ef7\u1ef9\u1efb\u1efd\u1eff-\u1f07\u1f10-\u1f15\u1f20-\u1f27\u1f30-\u1f37\u1f40-\u1f45\u1f50-\u1f57\u1f60-\u1f67\u1f70-\u1f7d\u1f80-\u1f87\u1f90-\u1f97\u1fa0-\u1fa7\u1fb0-\u1fb4\u1fb6\u1fb7\u1fbe\u1fc2-\u1fc4\u1fc6\u1fc7\u1fd0-\u1fd3\u1fd6\u1fd7\u1fe0-\u1fe7\u1ff2-\u1ff4\u1ff6\u1ff7\u210a\u210e\u210f\u2113\u212f\u2134\u2139\u213c\u213d\u2146-\u2149\u214e\u2184\u2c30-\u2c5e\u2c61\u2c65\u2c66\u2c68\u2c6a\u2c6c\u2c71\u2c73\u2c74\u2c76-\u2c7b\u2c81\u2c83\u2c85\u2c87\u2c89\u2c8b\u2c8d\u2c8f\u2c91\u2c93\u2c95\u2c97\u2c99\u2c9b\u2c9d\u2c9f\u2ca1\u2ca3\u2ca5\u2ca7\u2ca9\u2cab\u2cad\u2caf\u2cb1\u2cb3\u2cb5\u2cb7\u2cb9\u2cbb\u2cbd\u2cbf\u2cc1\u2cc3\u2cc5\u2cc7\u2cc9\u2ccb\u2ccd\u2ccf\u2cd1\u2cd3\u2cd5\u2cd7\u2cd9\u2cdb\u2cdd\u2cdf\u2ce1\u2ce3\u2ce4\u2cec\u2cee\u2cf3\u2d00-\u2d25\u2d27\u2d2d\ua641\ua643\ua645\ua647\ua649\ua64b\ua64d\ua64f\ua651\ua653\ua655\ua657\ua659\ua65b\ua65d\ua65f\ua661\ua663\ua665\ua667\ua669\ua66b\ua66d\ua681\ua683\ua685\ua687\ua689\ua68b\ua68d\ua68f\ua691\ua693\ua695\ua697\ua699\ua69b\ua723\ua725\ua727\ua729\ua72b\ua72d\ua72f-\ua731\ua733\ua735\ua737\ua739\ua73b\ua73d\ua73f\ua741\ua743\ua745\ua747\ua749\ua74b\ua74d\ua74f\ua751\ua753\ua755\ua757\ua759\ua75b\ua75d\ua75f\ua761\ua763\ua765\ua767\ua769\ua76b\ua76d\ua76f\ua771-\ua778\ua77a\ua77c\ua77f\ua781\ua783\ua785\ua787\ua78c\ua78e\ua791\ua793-\ua795\ua797\ua799\ua79b\ua79d\ua79f\ua7a1\ua7a3\ua7a5\ua7a7\ua7a9\ua7b5\ua7b7\ua7fa\uab30-\uab5a\uab60-\uab65\uab70-\uabbf\ufb00-\ufb06\ufb13-\ufb17\uff41-\uff5a", -astral:"\ud801[\udc28-\udc4f\udcd8-\udcfb]|\ud803[\udcc0-\udcf2]|\ud806[\udcc0-\udcdf]|\ud835[\udc1a-\udc33\udc4e-\udc54\udc56-\udc67\udc82-\udc9b\udcb6-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udccf\udcea-\udd03\udd1e-\udd37\udd52-\udd6b\udd86-\udd9f\uddba-\uddd3\uddee-\ude07\ude22-\ude3b\ude56-\ude6f\ude8a-\udea5\udec2-\udeda\udedc-\udee1\udefc-\udf14\udf16-\udf1b\udf36-\udf4e\udf50-\udf55\udf70-\udf88\udf8a-\udf8f\udfaa-\udfc2\udfc4-\udfc9\udfcb]|\ud83a[\udd22-\udd43]"},{name:"Lm",alias:"Modifier_Letter", -bmp:"\u02b0-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0374\u037a\u0559\u0640\u06e5\u06e6\u07f4\u07f5\u07fa\u081a\u0824\u0828\u0971\u0e46\u0ec6\u10fc\u17d7\u1843\u1aa7\u1c78-\u1c7d\u1d2c-\u1d6a\u1d78\u1d9b-\u1dbf\u2071\u207f\u2090-\u209c\u2c7c\u2c7d\u2d6f\u2e2f\u3005\u3031-\u3035\u303b\u309d\u309e\u30fc-\u30fe\ua015\ua4f8-\ua4fd\ua60c\ua67f\ua69c\ua69d\ua717-\ua71f\ua770\ua788\ua7f8\ua7f9\ua9cf\ua9e6\uaa70\uaadd\uaaf3\uaaf4\uab5c-\uab5f\uff70\uff9e\uff9f",astral:"\ud81a[\udf40-\udf43]|\ud81b[\udf93-\udf9f\udfe0]"}, -{name:"Lo",alias:"Other_Letter",bmp:"\u00aa\u00ba\u01bb\u01c0-\u01c3\u0294\u05d0-\u05ea\u05f0-\u05f2\u0620-\u063f\u0641-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u0800-\u0815\u0840-\u0858\u08a0-\u08b4\u08b6-\u08bd\u0904-\u0939\u093d\u0950\u0958-\u0961\u0972-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e45\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10d0-\u10fa\u10fd-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16f1-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17dc\u1820-\u1842\u1844-\u1877\u1880-\u1884\u1887-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c77\u1ce9-\u1cec\u1cee-\u1cf1\u1cf5\u1cf6\u2135-\u2138\u2d30-\u2d67\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3006\u303c\u3041-\u3096\u309f\u30a1-\u30fa\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fd5\ua000-\ua014\ua016-\ua48c\ua4d0-\ua4f7\ua500-\ua60b\ua610-\ua61f\ua62a\ua62b\ua66e\ua6a0-\ua6e5\ua78f\ua7f7\ua7fb-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9e0-\ua9e4\ua9e7-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa6f\uaa71-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb\uaadc\uaae0-\uaaea\uaaf2\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff66-\uff6f\uff71-\uff9d\uffa0-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc", -astral:"\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\ude80-\ude9c\udea0-\uded0\udf00-\udf1f\udf30-\udf40\udf42-\udf49\udf50-\udf75\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf]|\ud801[\udc50-\udc9d\udd00-\udd27\udd30-\udd63\ude00-\udf36\udf40-\udf55\udf60-\udf67]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe\uddbf\ude00\ude10-\ude13\ude15-\ude17\ude19-\ude33\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee4\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48]|\ud804[\udc03-\udc37\udc83-\udcaf\udcd0-\udce8\udd03-\udd26\udd50-\udd72\udd76\udd83-\uddb2\uddc1-\uddc4\uddda\udddc\ude00-\ude11\ude13-\ude2b\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udede\udf05-\udf0c\udf0f\udf10\udf13-\udf28\udf2a-\udf30\udf32\udf33\udf35-\udf39\udf3d\udf50\udf5d-\udf61]|\ud805[\udc00-\udc34\udc47-\udc4a\udc80-\udcaf\udcc4\udcc5\udcc7\udd80-\uddae\uddd8-\udddb\ude00-\ude2f\ude44\ude80-\udeaa\udf00-\udf19]|\ud806[\udcff\udec0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc2e\udc40\udc72-\udc8f]|\ud808[\udc00-\udf99]|\ud809[\udc80-\udd43]|[\ud80c\ud81c-\ud820\ud840-\ud868\ud86a-\ud86c\ud86f-\ud872][\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\uded0-\udeed\udf00-\udf2f\udf63-\udf77\udf7d-\udf8f]|\ud81b[\udf00-\udf44\udf50]|\ud821[\udc00-\udfec]|\ud822[\udc00-\udef2]|\ud82c[\udc00\udc01]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99]|\ud83a[\udc00-\udcc4]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud869[\udc00-\uded6\udf00-\udfff]|\ud86d[\udc00-\udf34\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud873[\udc00-\udea1]|\ud87e[\udc00-\ude1d]"}, -{name:"Lt",alias:"Titlecase_Letter",bmp:"\u01c5\u01c8\u01cb\u01f2\u1f88-\u1f8f\u1f98-\u1f9f\u1fa8-\u1faf\u1fbc\u1fcc\u1ffc"},{name:"Lu",alias:"Uppercase_Letter",bmp:"A-Z\u00c0-\u00d6\u00d8-\u00de\u0100\u0102\u0104\u0106\u0108\u010a\u010c\u010e\u0110\u0112\u0114\u0116\u0118\u011a\u011c\u011e\u0120\u0122\u0124\u0126\u0128\u012a\u012c\u012e\u0130\u0132\u0134\u0136\u0139\u013b\u013d\u013f\u0141\u0143\u0145\u0147\u014a\u014c\u014e\u0150\u0152\u0154\u0156\u0158\u015a\u015c\u015e\u0160\u0162\u0164\u0166\u0168\u016a\u016c\u016e\u0170\u0172\u0174\u0176\u0178\u0179\u017b\u017d\u0181\u0182\u0184\u0186\u0187\u0189-\u018b\u018e-\u0191\u0193\u0194\u0196-\u0198\u019c\u019d\u019f\u01a0\u01a2\u01a4\u01a6\u01a7\u01a9\u01ac\u01ae\u01af\u01b1-\u01b3\u01b5\u01b7\u01b8\u01bc\u01c4\u01c7\u01ca\u01cd\u01cf\u01d1\u01d3\u01d5\u01d7\u01d9\u01db\u01de\u01e0\u01e2\u01e4\u01e6\u01e8\u01ea\u01ec\u01ee\u01f1\u01f4\u01f6-\u01f8\u01fa\u01fc\u01fe\u0200\u0202\u0204\u0206\u0208\u020a\u020c\u020e\u0210\u0212\u0214\u0216\u0218\u021a\u021c\u021e\u0220\u0222\u0224\u0226\u0228\u022a\u022c\u022e\u0230\u0232\u023a\u023b\u023d\u023e\u0241\u0243-\u0246\u0248\u024a\u024c\u024e\u0370\u0372\u0376\u037f\u0386\u0388-\u038a\u038c\u038e\u038f\u0391-\u03a1\u03a3-\u03ab\u03cf\u03d2-\u03d4\u03d8\u03da\u03dc\u03de\u03e0\u03e2\u03e4\u03e6\u03e8\u03ea\u03ec\u03ee\u03f4\u03f7\u03f9\u03fa\u03fd-\u042f\u0460\u0462\u0464\u0466\u0468\u046a\u046c\u046e\u0470\u0472\u0474\u0476\u0478\u047a\u047c\u047e\u0480\u048a\u048c\u048e\u0490\u0492\u0494\u0496\u0498\u049a\u049c\u049e\u04a0\u04a2\u04a4\u04a6\u04a8\u04aa\u04ac\u04ae\u04b0\u04b2\u04b4\u04b6\u04b8\u04ba\u04bc\u04be\u04c0\u04c1\u04c3\u04c5\u04c7\u04c9\u04cb\u04cd\u04d0\u04d2\u04d4\u04d6\u04d8\u04da\u04dc\u04de\u04e0\u04e2\u04e4\u04e6\u04e8\u04ea\u04ec\u04ee\u04f0\u04f2\u04f4\u04f6\u04f8\u04fa\u04fc\u04fe\u0500\u0502\u0504\u0506\u0508\u050a\u050c\u050e\u0510\u0512\u0514\u0516\u0518\u051a\u051c\u051e\u0520\u0522\u0524\u0526\u0528\u052a\u052c\u052e\u0531-\u0556\u10a0-\u10c5\u10c7\u10cd\u13a0-\u13f5\u1e00\u1e02\u1e04\u1e06\u1e08\u1e0a\u1e0c\u1e0e\u1e10\u1e12\u1e14\u1e16\u1e18\u1e1a\u1e1c\u1e1e\u1e20\u1e22\u1e24\u1e26\u1e28\u1e2a\u1e2c\u1e2e\u1e30\u1e32\u1e34\u1e36\u1e38\u1e3a\u1e3c\u1e3e\u1e40\u1e42\u1e44\u1e46\u1e48\u1e4a\u1e4c\u1e4e\u1e50\u1e52\u1e54\u1e56\u1e58\u1e5a\u1e5c\u1e5e\u1e60\u1e62\u1e64\u1e66\u1e68\u1e6a\u1e6c\u1e6e\u1e70\u1e72\u1e74\u1e76\u1e78\u1e7a\u1e7c\u1e7e\u1e80\u1e82\u1e84\u1e86\u1e88\u1e8a\u1e8c\u1e8e\u1e90\u1e92\u1e94\u1e9e\u1ea0\u1ea2\u1ea4\u1ea6\u1ea8\u1eaa\u1eac\u1eae\u1eb0\u1eb2\u1eb4\u1eb6\u1eb8\u1eba\u1ebc\u1ebe\u1ec0\u1ec2\u1ec4\u1ec6\u1ec8\u1eca\u1ecc\u1ece\u1ed0\u1ed2\u1ed4\u1ed6\u1ed8\u1eda\u1edc\u1ede\u1ee0\u1ee2\u1ee4\u1ee6\u1ee8\u1eea\u1eec\u1eee\u1ef0\u1ef2\u1ef4\u1ef6\u1ef8\u1efa\u1efc\u1efe\u1f08-\u1f0f\u1f18-\u1f1d\u1f28-\u1f2f\u1f38-\u1f3f\u1f48-\u1f4d\u1f59\u1f5b\u1f5d\u1f5f\u1f68-\u1f6f\u1fb8-\u1fbb\u1fc8-\u1fcb\u1fd8-\u1fdb\u1fe8-\u1fec\u1ff8-\u1ffb\u2102\u2107\u210b-\u210d\u2110-\u2112\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u2130-\u2133\u213e\u213f\u2145\u2183\u2c00-\u2c2e\u2c60\u2c62-\u2c64\u2c67\u2c69\u2c6b\u2c6d-\u2c70\u2c72\u2c75\u2c7e-\u2c80\u2c82\u2c84\u2c86\u2c88\u2c8a\u2c8c\u2c8e\u2c90\u2c92\u2c94\u2c96\u2c98\u2c9a\u2c9c\u2c9e\u2ca0\u2ca2\u2ca4\u2ca6\u2ca8\u2caa\u2cac\u2cae\u2cb0\u2cb2\u2cb4\u2cb6\u2cb8\u2cba\u2cbc\u2cbe\u2cc0\u2cc2\u2cc4\u2cc6\u2cc8\u2cca\u2ccc\u2cce\u2cd0\u2cd2\u2cd4\u2cd6\u2cd8\u2cda\u2cdc\u2cde\u2ce0\u2ce2\u2ceb\u2ced\u2cf2\ua640\ua642\ua644\ua646\ua648\ua64a\ua64c\ua64e\ua650\ua652\ua654\ua656\ua658\ua65a\ua65c\ua65e\ua660\ua662\ua664\ua666\ua668\ua66a\ua66c\ua680\ua682\ua684\ua686\ua688\ua68a\ua68c\ua68e\ua690\ua692\ua694\ua696\ua698\ua69a\ua722\ua724\ua726\ua728\ua72a\ua72c\ua72e\ua732\ua734\ua736\ua738\ua73a\ua73c\ua73e\ua740\ua742\ua744\ua746\ua748\ua74a\ua74c\ua74e\ua750\ua752\ua754\ua756\ua758\ua75a\ua75c\ua75e\ua760\ua762\ua764\ua766\ua768\ua76a\ua76c\ua76e\ua779\ua77b\ua77d\ua77e\ua780\ua782\ua784\ua786\ua78b\ua78d\ua790\ua792\ua796\ua798\ua79a\ua79c\ua79e\ua7a0\ua7a2\ua7a4\ua7a6\ua7a8\ua7aa-\ua7ae\ua7b0-\ua7b4\ua7b6\uff21-\uff3a", -astral:"\ud801[\udc00-\udc27\udcb0-\udcd3]|\ud803[\udc80-\udcb2]|\ud806[\udca0-\udcbf]|\ud835[\udc00-\udc19\udc34-\udc4d\udc68-\udc81\udc9c\udc9e\udc9f\udca2\udca5\udca6\udca9-\udcac\udcae-\udcb5\udcd0-\udce9\udd04\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd38\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd6c-\udd85\udda0-\uddb9\uddd4-\udded\ude08-\ude21\ude3c-\ude55\ude70-\ude89\udea8-\udec0\udee2-\udefa\udf1c-\udf34\udf56-\udf6e\udf90-\udfa8\udfca]|\ud83a[\udd00-\udd21]"},{name:"M", -alias:"Mark",bmp:"\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065f\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08d4-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0c00-\u0c03\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d01-\u0d03\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d82\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f\u109a-\u109d\u135d-\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u180b-\u180d\u1885\u1886\u18a9\u1920-\u192b\u1930-\u193b\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f\u1ab0-\u1abe\u1b00-\u1b04\u1b34-\u1b44\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1be6-\u1bf3\u1c24-\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf2-\u1cf4\u1cf8\u1cf9\u1dc0-\u1df5\u1dfb-\u1dff\u20d0-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua880\ua881\ua8b4-\ua8c5\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9e5\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f", -astral:"\ud800[\uddfd\udee0\udf76-\udf7a]|\ud802[\ude01-\ude03\ude05\ude06\ude0c-\ude0f\ude38-\ude3a\ude3f\udee5\udee6]|\ud804[\udc00-\udc02\udc38-\udc46\udc7f-\udc82\udcb0-\udcba\udd00-\udd02\udd27-\udd34\udd73\udd80-\udd82\uddb3-\uddc0\uddca-\uddcc\ude2c-\ude37\ude3e\udedf-\udeea\udf00-\udf03\udf3c\udf3e-\udf44\udf47\udf48\udf4b-\udf4d\udf57\udf62\udf63\udf66-\udf6c\udf70-\udf74]|\ud805[\udc35-\udc46\udcb0-\udcc3\uddaf-\uddb5\uddb8-\uddc0\udddc\udddd\ude30-\ude40\udeab-\udeb7\udf1d-\udf2b]|\ud807[\udc2f-\udc36\udc38-\udc3f\udc92-\udca7\udca9-\udcb6]|\ud81a[\udef0-\udef4\udf30-\udf36]|\ud81b[\udf51-\udf7e\udf8f-\udf92]|\ud82f[\udc9d\udc9e]|\ud834[\udd65-\udd69\udd6d-\udd72\udd7b-\udd82\udd85-\udd8b\uddaa-\uddad\ude42-\ude44]|\ud836[\ude00-\ude36\ude3b-\ude6c\ude75\ude84\ude9b-\ude9f\udea1-\udeaf]|\ud838[\udc00-\udc06\udc08-\udc18\udc1b-\udc21\udc23\udc24\udc26-\udc2a]|\ud83a[\udcd0-\udcd6\udd44-\udd4a]|\udb40[\udd00-\uddef]"}, -{name:"Mc",alias:"Spacing_Mark",bmp:"\u0903\u093b\u093e-\u0940\u0949-\u094c\u094e\u094f\u0982\u0983\u09be-\u09c0\u09c7\u09c8\u09cb\u09cc\u09d7\u0a03\u0a3e-\u0a40\u0a83\u0abe-\u0ac0\u0ac9\u0acb\u0acc\u0b02\u0b03\u0b3e\u0b40\u0b47\u0b48\u0b4b\u0b4c\u0b57\u0bbe\u0bbf\u0bc1\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcc\u0bd7\u0c01-\u0c03\u0c41-\u0c44\u0c82\u0c83\u0cbe\u0cc0-\u0cc4\u0cc7\u0cc8\u0cca\u0ccb\u0cd5\u0cd6\u0d02\u0d03\u0d3e-\u0d40\u0d46-\u0d48\u0d4a-\u0d4c\u0d57\u0d82\u0d83\u0dcf-\u0dd1\u0dd8-\u0ddf\u0df2\u0df3\u0f3e\u0f3f\u0f7f\u102b\u102c\u1031\u1038\u103b\u103c\u1056\u1057\u1062-\u1064\u1067-\u106d\u1083\u1084\u1087-\u108c\u108f\u109a-\u109c\u17b6\u17be-\u17c5\u17c7\u17c8\u1923-\u1926\u1929-\u192b\u1930\u1931\u1933-\u1938\u1a19\u1a1a\u1a55\u1a57\u1a61\u1a63\u1a64\u1a6d-\u1a72\u1b04\u1b35\u1b3b\u1b3d-\u1b41\u1b43\u1b44\u1b82\u1ba1\u1ba6\u1ba7\u1baa\u1be7\u1bea-\u1bec\u1bee\u1bf2\u1bf3\u1c24-\u1c2b\u1c34\u1c35\u1ce1\u1cf2\u1cf3\u302e\u302f\ua823\ua824\ua827\ua880\ua881\ua8b4-\ua8c3\ua952\ua953\ua983\ua9b4\ua9b5\ua9ba\ua9bb\ua9bd-\ua9c0\uaa2f\uaa30\uaa33\uaa34\uaa4d\uaa7b\uaa7d\uaaeb\uaaee\uaaef\uaaf5\uabe3\uabe4\uabe6\uabe7\uabe9\uabea\uabec", -astral:"\ud804[\udc00\udc02\udc82\udcb0-\udcb2\udcb7\udcb8\udd2c\udd82\uddb3-\uddb5\uddbf\uddc0\ude2c-\ude2e\ude32\ude33\ude35\udee0-\udee2\udf02\udf03\udf3e\udf3f\udf41-\udf44\udf47\udf48\udf4b-\udf4d\udf57\udf62\udf63]|\ud805[\udc35-\udc37\udc40\udc41\udc45\udcb0-\udcb2\udcb9\udcbb-\udcbe\udcc1\uddaf-\uddb1\uddb8-\uddbb\uddbe\ude30-\ude32\ude3b\ude3c\ude3e\udeac\udeae\udeaf\udeb6\udf20\udf21\udf26]|\ud807[\udc2f\udc3e\udca9\udcb1\udcb4]|\ud81b[\udf51-\udf7e]|\ud834[\udd65\udd66\udd6d-\udd72]"}, -{name:"Me",alias:"Enclosing_Mark",bmp:"\u0488\u0489\u1abe\u20dd-\u20e0\u20e2-\u20e4\ua670-\ua672"},{name:"Mn",alias:"Nonspacing_Mark",bmp:"\u0300-\u036f\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065f\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08d4-\u08e1\u08e3-\u0902\u093a\u093c\u0941-\u0948\u094d\u0951-\u0957\u0962\u0963\u0981\u09bc\u09c1-\u09c4\u09cd\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b62\u0b63\u0b82\u0bc0\u0bcd\u0c00\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c81\u0cbc\u0cbf\u0cc6\u0ccc\u0ccd\u0ce2\u0ce3\u0d01\u0d41-\u0d44\u0d4d\u0d62\u0d63\u0dca\u0dd2-\u0dd4\u0dd6\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135d-\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4\u17b5\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u1885\u1886\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a1b\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1ab0-\u1abd\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1bab-\u1bad\u1be6\u1be8\u1be9\u1bed\u1bef-\u1bf1\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1cf4\u1cf8\u1cf9\u1dc0-\u1df5\u1dfb-\u1dff\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302d\u3099\u309a\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8c5\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\ua9e5\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaa7c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaec\uaaed\uaaf6\uabe5\uabe8\uabed\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f", -astral:"\ud800[\uddfd\udee0\udf76-\udf7a]|\ud802[\ude01-\ude03\ude05\ude06\ude0c-\ude0f\ude38-\ude3a\ude3f\udee5\udee6]|\ud804[\udc01\udc38-\udc46\udc7f-\udc81\udcb3-\udcb6\udcb9\udcba\udd00-\udd02\udd27-\udd2b\udd2d-\udd34\udd73\udd80\udd81\uddb6-\uddbe\uddca-\uddcc\ude2f-\ude31\ude34\ude36\ude37\ude3e\udedf\udee3-\udeea\udf00\udf01\udf3c\udf40\udf66-\udf6c\udf70-\udf74]|\ud805[\udc38-\udc3f\udc42-\udc44\udc46\udcb3-\udcb8\udcba\udcbf\udcc0\udcc2\udcc3\uddb2-\uddb5\uddbc\uddbd\uddbf\uddc0\udddc\udddd\ude33-\ude3a\ude3d\ude3f\ude40\udeab\udead\udeb0-\udeb5\udeb7\udf1d-\udf1f\udf22-\udf25\udf27-\udf2b]|\ud807[\udc30-\udc36\udc38-\udc3d\udc3f\udc92-\udca7\udcaa-\udcb0\udcb2\udcb3\udcb5\udcb6]|\ud81a[\udef0-\udef4\udf30-\udf36]|\ud81b[\udf8f-\udf92]|\ud82f[\udc9d\udc9e]|\ud834[\udd67-\udd69\udd7b-\udd82\udd85-\udd8b\uddaa-\uddad\ude42-\ude44]|\ud836[\ude00-\ude36\ude3b-\ude6c\ude75\ude84\ude9b-\ude9f\udea1-\udeaf]|\ud838[\udc00-\udc06\udc08-\udc18\udc1b-\udc21\udc23\udc24\udc26-\udc2a]|\ud83a[\udcd0-\udcd6\udd44-\udd4a]|\udb40[\udd00-\uddef]"}, -{name:"N",alias:"Number",bmp:"0-9\u00b2\u00b3\u00b9\u00bc-\u00be\u0660-\u0669\u06f0-\u06f9\u07c0-\u07c9\u0966-\u096f\u09e6-\u09ef\u09f4-\u09f9\u0a66-\u0a6f\u0ae6-\u0aef\u0b66-\u0b6f\u0b72-\u0b77\u0be6-\u0bf2\u0c66-\u0c6f\u0c78-\u0c7e\u0ce6-\u0cef\u0d58-\u0d5e\u0d66-\u0d78\u0de6-\u0def\u0e50-\u0e59\u0ed0-\u0ed9\u0f20-\u0f33\u1040-\u1049\u1090-\u1099\u1369-\u137c\u16ee-\u16f0\u17e0-\u17e9\u17f0-\u17f9\u1810-\u1819\u1946-\u194f\u19d0-\u19da\u1a80-\u1a89\u1a90-\u1a99\u1b50-\u1b59\u1bb0-\u1bb9\u1c40-\u1c49\u1c50-\u1c59\u2070\u2074-\u2079\u2080-\u2089\u2150-\u2182\u2185-\u2189\u2460-\u249b\u24ea-\u24ff\u2776-\u2793\u2cfd\u3007\u3021-\u3029\u3038-\u303a\u3192-\u3195\u3220-\u3229\u3248-\u324f\u3251-\u325f\u3280-\u3289\u32b1-\u32bf\ua620-\ua629\ua6e6-\ua6ef\ua830-\ua835\ua8d0-\ua8d9\ua900-\ua909\ua9d0-\ua9d9\ua9f0-\ua9f9\uaa50-\uaa59\uabf0-\uabf9\uff10-\uff19", -astral:"\ud800[\udd07-\udd33\udd40-\udd78\udd8a\udd8b\udee1-\udefb\udf20-\udf23\udf41\udf4a\udfd1-\udfd5]|\ud801[\udca0-\udca9]|\ud802[\udc58-\udc5f\udc79-\udc7f\udca7-\udcaf\udcfb-\udcff\udd16-\udd1b\uddbc\uddbd\uddc0-\uddcf\uddd2-\uddff\ude40-\ude47\ude7d\ude7e\ude9d-\ude9f\udeeb-\udeef\udf58-\udf5f\udf78-\udf7f\udfa9-\udfaf]|\ud803[\udcfa-\udcff\ude60-\ude7e]|\ud804[\udc52-\udc6f\udcf0-\udcf9\udd36-\udd3f\uddd0-\uddd9\udde1-\uddf4\udef0-\udef9]|\ud805[\udc50-\udc59\udcd0-\udcd9\ude50-\ude59\udec0-\udec9\udf30-\udf3b]|\ud806[\udce0-\udcf2]|\ud807[\udc50-\udc6c]|\ud809[\udc00-\udc6e]|\ud81a[\ude60-\ude69\udf50-\udf59\udf5b-\udf61]|\ud834[\udf60-\udf71]|\ud835[\udfce-\udfff]|\ud83a[\udcc7-\udccf\udd50-\udd59]|\ud83c[\udd00-\udd0c]"}, -{name:"Nd",alias:"Decimal_Number",bmp:"0-9\u0660-\u0669\u06f0-\u06f9\u07c0-\u07c9\u0966-\u096f\u09e6-\u09ef\u0a66-\u0a6f\u0ae6-\u0aef\u0b66-\u0b6f\u0be6-\u0bef\u0c66-\u0c6f\u0ce6-\u0cef\u0d66-\u0d6f\u0de6-\u0def\u0e50-\u0e59\u0ed0-\u0ed9\u0f20-\u0f29\u1040-\u1049\u1090-\u1099\u17e0-\u17e9\u1810-\u1819\u1946-\u194f\u19d0-\u19d9\u1a80-\u1a89\u1a90-\u1a99\u1b50-\u1b59\u1bb0-\u1bb9\u1c40-\u1c49\u1c50-\u1c59\ua620-\ua629\ua8d0-\ua8d9\ua900-\ua909\ua9d0-\ua9d9\ua9f0-\ua9f9\uaa50-\uaa59\uabf0-\uabf9\uff10-\uff19", -astral:"\ud801[\udca0-\udca9]|\ud804[\udc66-\udc6f\udcf0-\udcf9\udd36-\udd3f\uddd0-\uddd9\udef0-\udef9]|\ud805[\udc50-\udc59\udcd0-\udcd9\ude50-\ude59\udec0-\udec9\udf30-\udf39]|\ud806[\udce0-\udce9]|\ud807[\udc50-\udc59]|\ud81a[\ude60-\ude69\udf50-\udf59]|\ud835[\udfce-\udfff]|\ud83a[\udd50-\udd59]"},{name:"Nl",alias:"Letter_Number",bmp:"\u16ee-\u16f0\u2160-\u2182\u2185-\u2188\u3007\u3021-\u3029\u3038-\u303a\ua6e6-\ua6ef",astral:"\ud800[\udd40-\udd74\udf41\udf4a\udfd1-\udfd5]|\ud809[\udc00-\udc6e]"}, -{name:"No",alias:"Other_Number",bmp:"\u00b2\u00b3\u00b9\u00bc-\u00be\u09f4-\u09f9\u0b72-\u0b77\u0bf0-\u0bf2\u0c78-\u0c7e\u0d58-\u0d5e\u0d70-\u0d78\u0f2a-\u0f33\u1369-\u137c\u17f0-\u17f9\u19da\u2070\u2074-\u2079\u2080-\u2089\u2150-\u215f\u2189\u2460-\u249b\u24ea-\u24ff\u2776-\u2793\u2cfd\u3192-\u3195\u3220-\u3229\u3248-\u324f\u3251-\u325f\u3280-\u3289\u32b1-\u32bf\ua830-\ua835",astral:"\ud800[\udd07-\udd33\udd75-\udd78\udd8a\udd8b\udee1-\udefb\udf20-\udf23]|\ud802[\udc58-\udc5f\udc79-\udc7f\udca7-\udcaf\udcfb-\udcff\udd16-\udd1b\uddbc\uddbd\uddc0-\uddcf\uddd2-\uddff\ude40-\ude47\ude7d\ude7e\ude9d-\ude9f\udeeb-\udeef\udf58-\udf5f\udf78-\udf7f\udfa9-\udfaf]|\ud803[\udcfa-\udcff\ude60-\ude7e]|\ud804[\udc52-\udc65\udde1-\uddf4]|\ud805[\udf3a\udf3b]|\ud806[\udcea-\udcf2]|\ud807[\udc5a-\udc6c]|\ud81a[\udf5b-\udf61]|\ud834[\udf60-\udf71]|\ud83a[\udcc7-\udccf]|\ud83c[\udd00-\udd0c]"}, -{name:"P",alias:"Punctuation",bmp:"!-#%-\\x2A,-/:;\\x3F@\\x5B-\\x5D_\\x7B}\u00a1\u00a7\u00ab\u00b6\u00b7\u00bb\u00bf\u037e\u0387\u055a-\u055f\u0589\u058a\u05be\u05c0\u05c3\u05c6\u05f3\u05f4\u0609\u060a\u060c\u060d\u061b\u061e\u061f\u066a-\u066d\u06d4\u0700-\u070d\u07f7-\u07f9\u0830-\u083e\u085e\u0964\u0965\u0970\u0af0\u0df4\u0e4f\u0e5a\u0e5b\u0f04-\u0f12\u0f14\u0f3a-\u0f3d\u0f85\u0fd0-\u0fd4\u0fd9\u0fda\u104a-\u104f\u10fb\u1360-\u1368\u1400\u166d\u166e\u169b\u169c\u16eb-\u16ed\u1735\u1736\u17d4-\u17d6\u17d8-\u17da\u1800-\u180a\u1944\u1945\u1a1e\u1a1f\u1aa0-\u1aa6\u1aa8-\u1aad\u1b5a-\u1b60\u1bfc-\u1bff\u1c3b-\u1c3f\u1c7e\u1c7f\u1cc0-\u1cc7\u1cd3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205e\u207d\u207e\u208d\u208e\u2308-\u230b\u2329\u232a\u2768-\u2775\u27c5\u27c6\u27e6-\u27ef\u2983-\u2998\u29d8-\u29db\u29fc\u29fd\u2cf9-\u2cfc\u2cfe\u2cff\u2d70\u2e00-\u2e2e\u2e30-\u2e44\u3001-\u3003\u3008-\u3011\u3014-\u301f\u3030\u303d\u30a0\u30fb\ua4fe\ua4ff\ua60d-\ua60f\ua673\ua67e\ua6f2-\ua6f7\ua874-\ua877\ua8ce\ua8cf\ua8f8-\ua8fa\ua8fc\ua92e\ua92f\ua95f\ua9c1-\ua9cd\ua9de\ua9df\uaa5c-\uaa5f\uaade\uaadf\uaaf0\uaaf1\uabeb\ufd3e\ufd3f\ufe10-\ufe19\ufe30-\ufe52\ufe54-\ufe61\ufe63\ufe68\ufe6a\ufe6b\uff01-\uff03\uff05-\uff0a\uff0c-\uff0f\uff1a\uff1b\uff1f\uff20\uff3b-\uff3d\uff3f\uff5b\uff5d\uff5f-\uff65", -astral:"\ud800[\udd00-\udd02\udf9f\udfd0]|\ud801\udd6f|\ud802[\udc57\udd1f\udd3f\ude50-\ude58\ude7f\udef0-\udef6\udf39-\udf3f\udf99-\udf9c]|\ud804[\udc47-\udc4d\udcbb\udcbc\udcbe-\udcc1\udd40-\udd43\udd74\udd75\uddc5-\uddc9\uddcd\udddb\udddd-\udddf\ude38-\ude3d\udea9]|\ud805[\udc4b-\udc4f\udc5b\udc5d\udcc6\uddc1-\uddd7\ude41-\ude43\ude60-\ude6c\udf3c-\udf3e]|\ud807[\udc41-\udc45\udc70\udc71]|\ud809[\udc70-\udc74]|\ud81a[\ude6e\ude6f\udef5\udf37-\udf3b\udf44]|\ud82f\udc9f|\ud836[\ude87-\ude8b]|\ud83a[\udd5e\udd5f]"}, -{name:"Pc",alias:"Connector_Punctuation",bmp:"_\u203f\u2040\u2054\ufe33\ufe34\ufe4d-\ufe4f\uff3f"},{name:"Pd",alias:"Dash_Punctuation",bmp:"\\x2D\u058a\u05be\u1400\u1806\u2010-\u2015\u2e17\u2e1a\u2e3a\u2e3b\u2e40\u301c\u3030\u30a0\ufe31\ufe32\ufe58\ufe63\uff0d"},{name:"Pe",alias:"Close_Punctuation",bmp:"\\x29\\x5D}\u0f3b\u0f3d\u169c\u2046\u207e\u208e\u2309\u230b\u232a\u2769\u276b\u276d\u276f\u2771\u2773\u2775\u27c6\u27e7\u27e9\u27eb\u27ed\u27ef\u2984\u2986\u2988\u298a\u298c\u298e\u2990\u2992\u2994\u2996\u2998\u29d9\u29db\u29fd\u2e23\u2e25\u2e27\u2e29\u3009\u300b\u300d\u300f\u3011\u3015\u3017\u3019\u301b\u301e\u301f\ufd3e\ufe18\ufe36\ufe38\ufe3a\ufe3c\ufe3e\ufe40\ufe42\ufe44\ufe48\ufe5a\ufe5c\ufe5e\uff09\uff3d\uff5d\uff60\uff63"}, -{name:"Pf",alias:"Final_Punctuation",bmp:"\u00bb\u2019\u201d\u203a\u2e03\u2e05\u2e0a\u2e0d\u2e1d\u2e21"},{name:"Pi",alias:"Initial_Punctuation",bmp:"\u00ab\u2018\u201b\u201c\u201f\u2039\u2e02\u2e04\u2e09\u2e0c\u2e1c\u2e20"},{name:"Po",alias:"Other_Punctuation",bmp:"!-#%-'\\x2A,\\x2E/:;\\x3F@\\x5C\u00a1\u00a7\u00b6\u00b7\u00bf\u037e\u0387\u055a-\u055f\u0589\u05c0\u05c3\u05c6\u05f3\u05f4\u0609\u060a\u060c\u060d\u061b\u061e\u061f\u066a-\u066d\u06d4\u0700-\u070d\u07f7-\u07f9\u0830-\u083e\u085e\u0964\u0965\u0970\u0af0\u0df4\u0e4f\u0e5a\u0e5b\u0f04-\u0f12\u0f14\u0f85\u0fd0-\u0fd4\u0fd9\u0fda\u104a-\u104f\u10fb\u1360-\u1368\u166d\u166e\u16eb-\u16ed\u1735\u1736\u17d4-\u17d6\u17d8-\u17da\u1800-\u1805\u1807-\u180a\u1944\u1945\u1a1e\u1a1f\u1aa0-\u1aa6\u1aa8-\u1aad\u1b5a-\u1b60\u1bfc-\u1bff\u1c3b-\u1c3f\u1c7e\u1c7f\u1cc0-\u1cc7\u1cd3\u2016\u2017\u2020-\u2027\u2030-\u2038\u203b-\u203e\u2041-\u2043\u2047-\u2051\u2053\u2055-\u205e\u2cf9-\u2cfc\u2cfe\u2cff\u2d70\u2e00\u2e01\u2e06-\u2e08\u2e0b\u2e0e-\u2e16\u2e18\u2e19\u2e1b\u2e1e\u2e1f\u2e2a-\u2e2e\u2e30-\u2e39\u2e3c-\u2e3f\u2e41\u2e43\u2e44\u3001-\u3003\u303d\u30fb\ua4fe\ua4ff\ua60d-\ua60f\ua673\ua67e\ua6f2-\ua6f7\ua874-\ua877\ua8ce\ua8cf\ua8f8-\ua8fa\ua8fc\ua92e\ua92f\ua95f\ua9c1-\ua9cd\ua9de\ua9df\uaa5c-\uaa5f\uaade\uaadf\uaaf0\uaaf1\uabeb\ufe10-\ufe16\ufe19\ufe30\ufe45\ufe46\ufe49-\ufe4c\ufe50-\ufe52\ufe54-\ufe57\ufe5f-\ufe61\ufe68\ufe6a\ufe6b\uff01-\uff03\uff05-\uff07\uff0a\uff0c\uff0e\uff0f\uff1a\uff1b\uff1f\uff20\uff3c\uff61\uff64\uff65", -astral:"\ud800[\udd00-\udd02\udf9f\udfd0]|\ud801\udd6f|\ud802[\udc57\udd1f\udd3f\ude50-\ude58\ude7f\udef0-\udef6\udf39-\udf3f\udf99-\udf9c]|\ud804[\udc47-\udc4d\udcbb\udcbc\udcbe-\udcc1\udd40-\udd43\udd74\udd75\uddc5-\uddc9\uddcd\udddb\udddd-\udddf\ude38-\ude3d\udea9]|\ud805[\udc4b-\udc4f\udc5b\udc5d\udcc6\uddc1-\uddd7\ude41-\ude43\ude60-\ude6c\udf3c-\udf3e]|\ud807[\udc41-\udc45\udc70\udc71]|\ud809[\udc70-\udc74]|\ud81a[\ude6e\ude6f\udef5\udf37-\udf3b\udf44]|\ud82f\udc9f|\ud836[\ude87-\ude8b]|\ud83a[\udd5e\udd5f]"}, -{name:"Ps",alias:"Open_Punctuation",bmp:"\\x28\\x5B\\x7B\u0f3a\u0f3c\u169b\u201a\u201e\u2045\u207d\u208d\u2308\u230a\u2329\u2768\u276a\u276c\u276e\u2770\u2772\u2774\u27c5\u27e6\u27e8\u27ea\u27ec\u27ee\u2983\u2985\u2987\u2989\u298b\u298d\u298f\u2991\u2993\u2995\u2997\u29d8\u29da\u29fc\u2e22\u2e24\u2e26\u2e28\u2e42\u3008\u300a\u300c\u300e\u3010\u3014\u3016\u3018\u301a\u301d\ufd3f\ufe17\ufe35\ufe37\ufe39\ufe3b\ufe3d\ufe3f\ufe41\ufe43\ufe47\ufe59\ufe5b\ufe5d\uff08\uff3b\uff5b\uff5f\uff62"},{name:"S", -alias:"Symbol",bmp:"\\x24\\x2B<->\\x5E`\\x7C~\u00a2-\u00a6\u00a8\u00a9\u00ac\u00ae-\u00b1\u00b4\u00b8\u00d7\u00f7\u02c2-\u02c5\u02d2-\u02df\u02e5-\u02eb\u02ed\u02ef-\u02ff\u0375\u0384\u0385\u03f6\u0482\u058d-\u058f\u0606-\u0608\u060b\u060e\u060f\u06de\u06e9\u06fd\u06fe\u07f6\u09f2\u09f3\u09fa\u09fb\u0af1\u0b70\u0bf3-\u0bfa\u0c7f\u0d4f\u0d79\u0e3f\u0f01-\u0f03\u0f13\u0f15-\u0f17\u0f1a-\u0f1f\u0f34\u0f36\u0f38\u0fbe-\u0fc5\u0fc7-\u0fcc\u0fce\u0fcf\u0fd5-\u0fd8\u109e\u109f\u1390-\u1399\u17db\u1940\u19de-\u19ff\u1b61-\u1b6a\u1b74-\u1b7c\u1fbd\u1fbf-\u1fc1\u1fcd-\u1fcf\u1fdd-\u1fdf\u1fed-\u1fef\u1ffd\u1ffe\u2044\u2052\u207a-\u207c\u208a-\u208c\u20a0-\u20be\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211e-\u2123\u2125\u2127\u2129\u212e\u213a\u213b\u2140-\u2144\u214a-\u214d\u214f\u218a\u218b\u2190-\u2307\u230c-\u2328\u232b-\u23fe\u2400-\u2426\u2440-\u244a\u249c-\u24e9\u2500-\u2767\u2794-\u27c4\u27c7-\u27e5\u27f0-\u2982\u2999-\u29d7\u29dc-\u29fb\u29fe-\u2b73\u2b76-\u2b95\u2b98-\u2bb9\u2bbd-\u2bc8\u2bca-\u2bd1\u2bec-\u2bef\u2ce5-\u2cea\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3004\u3012\u3013\u3020\u3036\u3037\u303e\u303f\u309b\u309c\u3190\u3191\u3196-\u319f\u31c0-\u31e3\u3200-\u321e\u322a-\u3247\u3250\u3260-\u327f\u328a-\u32b0\u32c0-\u32fe\u3300-\u33ff\u4dc0-\u4dff\ua490-\ua4c6\ua700-\ua716\ua720\ua721\ua789\ua78a\ua828-\ua82b\ua836-\ua839\uaa77-\uaa79\uab5b\ufb29\ufbb2-\ufbc1\ufdfc\ufdfd\ufe62\ufe64-\ufe66\ufe69\uff04\uff0b\uff1c-\uff1e\uff3e\uff40\uff5c\uff5e\uffe0-\uffe6\uffe8-\uffee\ufffc\ufffd", -astral:"\ud800[\udd37-\udd3f\udd79-\udd89\udd8c-\udd8e\udd90-\udd9b\udda0\uddd0-\uddfc]|\ud802[\udc77\udc78\udec8]|\ud805\udf3f|\ud81a[\udf3c-\udf3f\udf45]|\ud82f\udc9c|\ud834[\udc00-\udcf5\udd00-\udd26\udd29-\udd64\udd6a-\udd6c\udd83\udd84\udd8c-\udda9\uddae-\udde8\ude00-\ude41\ude45\udf00-\udf56]|\ud835[\udec1\udedb\udefb\udf15\udf35\udf4f\udf6f\udf89\udfa9\udfc3]|\ud836[\udc00-\uddff\ude37-\ude3a\ude6d-\ude74\ude76-\ude83\ude85\ude86]|\ud83b[\udef0\udef1]|\ud83c[\udc00-\udc2b\udc30-\udc93\udca0-\udcae\udcb1-\udcbf\udcc1-\udccf\udcd1-\udcf5\udd10-\udd2e\udd30-\udd6b\udd70-\uddac\udde6-\ude02\ude10-\ude3b\ude40-\ude48\ude50\ude51\udf00-\udfff]|\ud83d[\udc00-\uded2\udee0-\udeec\udef0-\udef6\udf00-\udf73\udf80-\udfd4]|\ud83e[\udc00-\udc0b\udc10-\udc47\udc50-\udc59\udc60-\udc87\udc90-\udcad\udd10-\udd1e\udd20-\udd27\udd30\udd33-\udd3e\udd40-\udd4b\udd50-\udd5e\udd80-\udd91\uddc0]"}, -{name:"Sc",alias:"Currency_Symbol",bmp:"\\x24\u00a2-\u00a5\u058f\u060b\u09f2\u09f3\u09fb\u0af1\u0bf9\u0e3f\u17db\u20a0-\u20be\ua838\ufdfc\ufe69\uff04\uffe0\uffe1\uffe5\uffe6"},{name:"Sk",alias:"Modifier_Symbol",bmp:"\\x5E`\u00a8\u00af\u00b4\u00b8\u02c2-\u02c5\u02d2-\u02df\u02e5-\u02eb\u02ed\u02ef-\u02ff\u0375\u0384\u0385\u1fbd\u1fbf-\u1fc1\u1fcd-\u1fcf\u1fdd-\u1fdf\u1fed-\u1fef\u1ffd\u1ffe\u309b\u309c\ua700-\ua716\ua720\ua721\ua789\ua78a\uab5b\ufbb2-\ufbc1\uff3e\uff40\uffe3",astral:"\ud83c[\udffb-\udfff]"}, -{name:"Sm",alias:"Math_Symbol",bmp:"\\x2B<->\\x7C~\u00ac\u00b1\u00d7\u00f7\u03f6\u0606-\u0608\u2044\u2052\u207a-\u207c\u208a-\u208c\u2118\u2140-\u2144\u214b\u2190-\u2194\u219a\u219b\u21a0\u21a3\u21a6\u21ae\u21ce\u21cf\u21d2\u21d4\u21f4-\u22ff\u2320\u2321\u237c\u239b-\u23b3\u23dc-\u23e1\u25b7\u25c1\u25f8-\u25ff\u266f\u27c0-\u27c4\u27c7-\u27e5\u27f0-\u27ff\u2900-\u2982\u2999-\u29d7\u29dc-\u29fb\u29fe-\u2aff\u2b30-\u2b44\u2b47-\u2b4c\ufb29\ufe62\ufe64-\ufe66\uff0b\uff1c-\uff1e\uff5c\uff5e\uffe2\uffe9-\uffec", -astral:"\ud835[\udec1\udedb\udefb\udf15\udf35\udf4f\udf6f\udf89\udfa9\udfc3]|\ud83b[\udef0\udef1]"},{name:"So",alias:"Other_Symbol",bmp:"\u00a6\u00a9\u00ae\u00b0\u0482\u058d\u058e\u060e\u060f\u06de\u06e9\u06fd\u06fe\u07f6\u09fa\u0b70\u0bf3-\u0bf8\u0bfa\u0c7f\u0d4f\u0d79\u0f01-\u0f03\u0f13\u0f15-\u0f17\u0f1a-\u0f1f\u0f34\u0f36\u0f38\u0fbe-\u0fc5\u0fc7-\u0fcc\u0fce\u0fcf\u0fd5-\u0fd8\u109e\u109f\u1390-\u1399\u1940\u19de-\u19ff\u1b61-\u1b6a\u1b74-\u1b7c\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116\u2117\u211e-\u2123\u2125\u2127\u2129\u212e\u213a\u213b\u214a\u214c\u214d\u214f\u218a\u218b\u2195-\u2199\u219c-\u219f\u21a1\u21a2\u21a4\u21a5\u21a7-\u21ad\u21af-\u21cd\u21d0\u21d1\u21d3\u21d5-\u21f3\u2300-\u2307\u230c-\u231f\u2322-\u2328\u232b-\u237b\u237d-\u239a\u23b4-\u23db\u23e2-\u23fe\u2400-\u2426\u2440-\u244a\u249c-\u24e9\u2500-\u25b6\u25b8-\u25c0\u25c2-\u25f7\u2600-\u266e\u2670-\u2767\u2794-\u27bf\u2800-\u28ff\u2b00-\u2b2f\u2b45\u2b46\u2b4d-\u2b73\u2b76-\u2b95\u2b98-\u2bb9\u2bbd-\u2bc8\u2bca-\u2bd1\u2bec-\u2bef\u2ce5-\u2cea\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3004\u3012\u3013\u3020\u3036\u3037\u303e\u303f\u3190\u3191\u3196-\u319f\u31c0-\u31e3\u3200-\u321e\u322a-\u3247\u3250\u3260-\u327f\u328a-\u32b0\u32c0-\u32fe\u3300-\u33ff\u4dc0-\u4dff\ua490-\ua4c6\ua828-\ua82b\ua836\ua837\ua839\uaa77-\uaa79\ufdfd\uffe4\uffe8\uffed\uffee\ufffc\ufffd", -astral:"\ud800[\udd37-\udd3f\udd79-\udd89\udd8c-\udd8e\udd90-\udd9b\udda0\uddd0-\uddfc]|\ud802[\udc77\udc78\udec8]|\ud805\udf3f|\ud81a[\udf3c-\udf3f\udf45]|\ud82f\udc9c|\ud834[\udc00-\udcf5\udd00-\udd26\udd29-\udd64\udd6a-\udd6c\udd83\udd84\udd8c-\udda9\uddae-\udde8\ude00-\ude41\ude45\udf00-\udf56]|\ud836[\udc00-\uddff\ude37-\ude3a\ude6d-\ude74\ude76-\ude83\ude85\ude86]|\ud83c[\udc00-\udc2b\udc30-\udc93\udca0-\udcae\udcb1-\udcbf\udcc1-\udccf\udcd1-\udcf5\udd10-\udd2e\udd30-\udd6b\udd70-\uddac\udde6-\ude02\ude10-\ude3b\ude40-\ude48\ude50\ude51\udf00-\udffa]|\ud83d[\udc00-\uded2\udee0-\udeec\udef0-\udef6\udf00-\udf73\udf80-\udfd4]|\ud83e[\udc00-\udc0b\udc10-\udc47\udc50-\udc59\udc60-\udc87\udc90-\udcad\udd10-\udd1e\udd20-\udd27\udd30\udd33-\udd3e\udd40-\udd4b\udd50-\udd5e\udd80-\udd91\uddc0]"}, -{name:"Z",alias:"Separator",bmp:" \u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000"},{name:"Zl",alias:"Line_Separator",bmp:"\u2028"},{name:"Zp",alias:"Paragraph_Separator",bmp:"\u2029"},{name:"Zs",alias:"Space_Separator",bmp:" \u00a0\u1680\u2000-\u200a\u202f\u205f\u3000"}])}},{}],6:[function(d,g,p){g.exports=function(c){if(!c.addUnicodeData)throw new ReferenceError("Unicode Base must be loaded before Unicode Properties");var d=[{name:"ASCII",bmp:"\x00-\u007f"},{name:"Alphabetic",bmp:"A-Za-z\u00aa\u00b5\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0345\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0561-\u0587\u05b0-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u05d0-\u05ea\u05f0-\u05f2\u0610-\u061a\u0620-\u0657\u0659-\u065f\u066e-\u06d3\u06d5-\u06dc\u06e1-\u06e8\u06ed-\u06ef\u06fa-\u06fc\u06ff\u0710-\u073f\u074d-\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0817\u081a-\u082c\u0840-\u0858\u08a0-\u08b4\u08b6-\u08bd\u08d4-\u08df\u08e3-\u08e9\u08f0-\u093b\u093d-\u094c\u094e-\u0950\u0955-\u0963\u0971-\u0983\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd-\u09c4\u09c7\u09c8\u09cb\u09cc\u09ce\u09d7\u09dc\u09dd\u09df-\u09e3\u09f0\u09f1\u0a01-\u0a03\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a3e-\u0a42\u0a47\u0a48\u0a4b\u0a4c\u0a51\u0a59-\u0a5c\u0a5e\u0a70-\u0a75\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd-\u0ac5\u0ac7-\u0ac9\u0acb\u0acc\u0ad0\u0ae0-\u0ae3\u0af9\u0b01-\u0b03\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d-\u0b44\u0b47\u0b48\u0b4b\u0b4c\u0b56\u0b57\u0b5c\u0b5d\u0b5f-\u0b63\u0b71\u0b82\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcc\u0bd0\u0bd7\u0c00-\u0c03\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d-\u0c44\u0c46-\u0c48\u0c4a-\u0c4c\u0c55\u0c56\u0c58-\u0c5a\u0c60-\u0c63\u0c80-\u0c83\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccc\u0cd5\u0cd6\u0cde\u0ce0-\u0ce3\u0cf1\u0cf2\u0d01-\u0d03\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d-\u0d44\u0d46-\u0d48\u0d4a-\u0d4c\u0d4e\u0d54-\u0d57\u0d5f-\u0d63\u0d7a-\u0d7f\u0d82\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0df2\u0df3\u0e01-\u0e3a\u0e40-\u0e46\u0e4d\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb9\u0ebb-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ecd\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f71-\u0f81\u0f88-\u0f97\u0f99-\u0fbc\u1000-\u1036\u1038\u103b-\u103f\u1050-\u1062\u1065-\u1068\u106e-\u1086\u108e\u109c\u109d\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135f\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1713\u1720-\u1733\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772\u1773\u1780-\u17b3\u17b6-\u17c8\u17d7\u17dc\u1820-\u1877\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u1938\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a1b\u1a20-\u1a5e\u1a61-\u1a74\u1aa7\u1b00-\u1b33\u1b35-\u1b43\u1b45-\u1b4b\u1b80-\u1ba9\u1bac-\u1baf\u1bba-\u1be5\u1be7-\u1bf1\u1c00-\u1c35\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1d00-\u1dbf\u1de7-\u1df4\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u24b6-\u24e9\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2dff\u2e2f\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fd5\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua674-\ua67b\ua67f-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7ae\ua7b0-\ua7b7\ua7f7-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua827\ua840-\ua873\ua880-\ua8c3\ua8c5\ua8f2-\ua8f7\ua8fb\ua8fd\ua90a-\ua92a\ua930-\ua952\ua960-\ua97c\ua980-\ua9b2\ua9b4-\ua9bf\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa60-\uaa76\uaa7a\uaa7e-\uaabe\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaef\uaaf2-\uaaf5\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab65\uab70-\uabea\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc", -astral:"\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\udd40-\udd74\ude80-\ude9c\udea0-\uded0\udf00-\udf1f\udf30-\udf4a\udf50-\udf7a\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf\udfd1-\udfd5]|\ud801[\udc00-\udc9d\udcb0-\udcd3\udcd8-\udcfb\udd00-\udd27\udd30-\udd63\ude00-\udf36\udf40-\udf55\udf60-\udf67]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe\uddbf\ude00-\ude03\ude05\ude06\ude0c-\ude13\ude15-\ude17\ude19-\ude33\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee4\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udc80-\udcb2\udcc0-\udcf2]|\ud804[\udc00-\udc45\udc82-\udcb8\udcd0-\udce8\udd00-\udd32\udd50-\udd72\udd76\udd80-\uddbf\uddc1-\uddc4\uddda\udddc\ude00-\ude11\ude13-\ude34\ude37\ude3e\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udee8\udf00-\udf03\udf05-\udf0c\udf0f\udf10\udf13-\udf28\udf2a-\udf30\udf32\udf33\udf35-\udf39\udf3d-\udf44\udf47\udf48\udf4b\udf4c\udf50\udf57\udf5d-\udf63]|\ud805[\udc00-\udc41\udc43-\udc45\udc47-\udc4a\udc80-\udcc1\udcc4\udcc5\udcc7\udd80-\uddb5\uddb8-\uddbe\uddd8-\udddd\ude00-\ude3e\ude40\ude44\ude80-\udeb5\udf00-\udf19\udf1d-\udf2a]|\ud806[\udca0-\udcdf\udcff\udec0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc36\udc38-\udc3e\udc40\udc72-\udc8f\udc92-\udca7\udca9-\udcb6]|\ud808[\udc00-\udf99]|\ud809[\udc00-\udc6e\udc80-\udd43]|[\ud80c\ud81c-\ud820\ud840-\ud868\ud86a-\ud86c\ud86f-\ud872][\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\uded0-\udeed\udf00-\udf36\udf40-\udf43\udf63-\udf77\udf7d-\udf8f]|\ud81b[\udf00-\udf44\udf50-\udf7e\udf93-\udf9f\udfe0]|\ud821[\udc00-\udfec]|\ud822[\udc00-\udef2]|\ud82c[\udc00\udc01]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99\udc9e]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e\udc9f\udca2\udca5\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb]|\ud838[\udc00-\udc06\udc08-\udc18\udc1b-\udc21\udc23\udc24\udc26-\udc2a]|\ud83a[\udc00-\udcc4\udd00-\udd43\udd47]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud83c[\udd30-\udd49\udd50-\udd69\udd70-\udd89]|\ud869[\udc00-\uded6\udf00-\udfff]|\ud86d[\udc00-\udf34\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud873[\udc00-\udea1]|\ud87e[\udc00-\ude1d]"}, -{name:"Any",isBmpLast:!0,bmp:"\x00-\uffff",astral:"[\ud800-\udbff][\udc00-\udfff]"},{name:"Default_Ignorable_Code_Point",bmp:"\u00ad\u034f\u061c\u115f\u1160\u17b4\u17b5\u180b-\u180e\u200b-\u200f\u202a-\u202e\u2060-\u206f\u3164\ufe00-\ufe0f\ufeff\uffa0\ufff0-\ufff8",astral:"\ud82f[\udca0-\udca3]|\ud834[\udd73-\udd7a]|[\udb40-\udb43][\udc00-\udfff]"},{name:"Lowercase",bmp:"a-z\u00aa\u00b5\u00ba\u00df-\u00f6\u00f8-\u00ff\u0101\u0103\u0105\u0107\u0109\u010b\u010d\u010f\u0111\u0113\u0115\u0117\u0119\u011b\u011d\u011f\u0121\u0123\u0125\u0127\u0129\u012b\u012d\u012f\u0131\u0133\u0135\u0137\u0138\u013a\u013c\u013e\u0140\u0142\u0144\u0146\u0148\u0149\u014b\u014d\u014f\u0151\u0153\u0155\u0157\u0159\u015b\u015d\u015f\u0161\u0163\u0165\u0167\u0169\u016b\u016d\u016f\u0171\u0173\u0175\u0177\u017a\u017c\u017e-\u0180\u0183\u0185\u0188\u018c\u018d\u0192\u0195\u0199-\u019b\u019e\u01a1\u01a3\u01a5\u01a8\u01aa\u01ab\u01ad\u01b0\u01b4\u01b6\u01b9\u01ba\u01bd-\u01bf\u01c6\u01c9\u01cc\u01ce\u01d0\u01d2\u01d4\u01d6\u01d8\u01da\u01dc\u01dd\u01df\u01e1\u01e3\u01e5\u01e7\u01e9\u01eb\u01ed\u01ef\u01f0\u01f3\u01f5\u01f9\u01fb\u01fd\u01ff\u0201\u0203\u0205\u0207\u0209\u020b\u020d\u020f\u0211\u0213\u0215\u0217\u0219\u021b\u021d\u021f\u0221\u0223\u0225\u0227\u0229\u022b\u022d\u022f\u0231\u0233-\u0239\u023c\u023f\u0240\u0242\u0247\u0249\u024b\u024d\u024f-\u0293\u0295-\u02b8\u02c0\u02c1\u02e0-\u02e4\u0345\u0371\u0373\u0377\u037a-\u037d\u0390\u03ac-\u03ce\u03d0\u03d1\u03d5-\u03d7\u03d9\u03db\u03dd\u03df\u03e1\u03e3\u03e5\u03e7\u03e9\u03eb\u03ed\u03ef-\u03f3\u03f5\u03f8\u03fb\u03fc\u0430-\u045f\u0461\u0463\u0465\u0467\u0469\u046b\u046d\u046f\u0471\u0473\u0475\u0477\u0479\u047b\u047d\u047f\u0481\u048b\u048d\u048f\u0491\u0493\u0495\u0497\u0499\u049b\u049d\u049f\u04a1\u04a3\u04a5\u04a7\u04a9\u04ab\u04ad\u04af\u04b1\u04b3\u04b5\u04b7\u04b9\u04bb\u04bd\u04bf\u04c2\u04c4\u04c6\u04c8\u04ca\u04cc\u04ce\u04cf\u04d1\u04d3\u04d5\u04d7\u04d9\u04db\u04dd\u04df\u04e1\u04e3\u04e5\u04e7\u04e9\u04eb\u04ed\u04ef\u04f1\u04f3\u04f5\u04f7\u04f9\u04fb\u04fd\u04ff\u0501\u0503\u0505\u0507\u0509\u050b\u050d\u050f\u0511\u0513\u0515\u0517\u0519\u051b\u051d\u051f\u0521\u0523\u0525\u0527\u0529\u052b\u052d\u052f\u0561-\u0587\u13f8-\u13fd\u1c80-\u1c88\u1d00-\u1dbf\u1e01\u1e03\u1e05\u1e07\u1e09\u1e0b\u1e0d\u1e0f\u1e11\u1e13\u1e15\u1e17\u1e19\u1e1b\u1e1d\u1e1f\u1e21\u1e23\u1e25\u1e27\u1e29\u1e2b\u1e2d\u1e2f\u1e31\u1e33\u1e35\u1e37\u1e39\u1e3b\u1e3d\u1e3f\u1e41\u1e43\u1e45\u1e47\u1e49\u1e4b\u1e4d\u1e4f\u1e51\u1e53\u1e55\u1e57\u1e59\u1e5b\u1e5d\u1e5f\u1e61\u1e63\u1e65\u1e67\u1e69\u1e6b\u1e6d\u1e6f\u1e71\u1e73\u1e75\u1e77\u1e79\u1e7b\u1e7d\u1e7f\u1e81\u1e83\u1e85\u1e87\u1e89\u1e8b\u1e8d\u1e8f\u1e91\u1e93\u1e95-\u1e9d\u1e9f\u1ea1\u1ea3\u1ea5\u1ea7\u1ea9\u1eab\u1ead\u1eaf\u1eb1\u1eb3\u1eb5\u1eb7\u1eb9\u1ebb\u1ebd\u1ebf\u1ec1\u1ec3\u1ec5\u1ec7\u1ec9\u1ecb\u1ecd\u1ecf\u1ed1\u1ed3\u1ed5\u1ed7\u1ed9\u1edb\u1edd\u1edf\u1ee1\u1ee3\u1ee5\u1ee7\u1ee9\u1eeb\u1eed\u1eef\u1ef1\u1ef3\u1ef5\u1ef7\u1ef9\u1efb\u1efd\u1eff-\u1f07\u1f10-\u1f15\u1f20-\u1f27\u1f30-\u1f37\u1f40-\u1f45\u1f50-\u1f57\u1f60-\u1f67\u1f70-\u1f7d\u1f80-\u1f87\u1f90-\u1f97\u1fa0-\u1fa7\u1fb0-\u1fb4\u1fb6\u1fb7\u1fbe\u1fc2-\u1fc4\u1fc6\u1fc7\u1fd0-\u1fd3\u1fd6\u1fd7\u1fe0-\u1fe7\u1ff2-\u1ff4\u1ff6\u1ff7\u2071\u207f\u2090-\u209c\u210a\u210e\u210f\u2113\u212f\u2134\u2139\u213c\u213d\u2146-\u2149\u214e\u2170-\u217f\u2184\u24d0-\u24e9\u2c30-\u2c5e\u2c61\u2c65\u2c66\u2c68\u2c6a\u2c6c\u2c71\u2c73\u2c74\u2c76-\u2c7d\u2c81\u2c83\u2c85\u2c87\u2c89\u2c8b\u2c8d\u2c8f\u2c91\u2c93\u2c95\u2c97\u2c99\u2c9b\u2c9d\u2c9f\u2ca1\u2ca3\u2ca5\u2ca7\u2ca9\u2cab\u2cad\u2caf\u2cb1\u2cb3\u2cb5\u2cb7\u2cb9\u2cbb\u2cbd\u2cbf\u2cc1\u2cc3\u2cc5\u2cc7\u2cc9\u2ccb\u2ccd\u2ccf\u2cd1\u2cd3\u2cd5\u2cd7\u2cd9\u2cdb\u2cdd\u2cdf\u2ce1\u2ce3\u2ce4\u2cec\u2cee\u2cf3\u2d00-\u2d25\u2d27\u2d2d\ua641\ua643\ua645\ua647\ua649\ua64b\ua64d\ua64f\ua651\ua653\ua655\ua657\ua659\ua65b\ua65d\ua65f\ua661\ua663\ua665\ua667\ua669\ua66b\ua66d\ua681\ua683\ua685\ua687\ua689\ua68b\ua68d\ua68f\ua691\ua693\ua695\ua697\ua699\ua69b-\ua69d\ua723\ua725\ua727\ua729\ua72b\ua72d\ua72f-\ua731\ua733\ua735\ua737\ua739\ua73b\ua73d\ua73f\ua741\ua743\ua745\ua747\ua749\ua74b\ua74d\ua74f\ua751\ua753\ua755\ua757\ua759\ua75b\ua75d\ua75f\ua761\ua763\ua765\ua767\ua769\ua76b\ua76d\ua76f-\ua778\ua77a\ua77c\ua77f\ua781\ua783\ua785\ua787\ua78c\ua78e\ua791\ua793-\ua795\ua797\ua799\ua79b\ua79d\ua79f\ua7a1\ua7a3\ua7a5\ua7a7\ua7a9\ua7b5\ua7b7\ua7f8-\ua7fa\uab30-\uab5a\uab5c-\uab65\uab70-\uabbf\ufb00-\ufb06\ufb13-\ufb17\uff41-\uff5a", -astral:"\ud801[\udc28-\udc4f\udcd8-\udcfb]|\ud803[\udcc0-\udcf2]|\ud806[\udcc0-\udcdf]|\ud835[\udc1a-\udc33\udc4e-\udc54\udc56-\udc67\udc82-\udc9b\udcb6-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udccf\udcea-\udd03\udd1e-\udd37\udd52-\udd6b\udd86-\udd9f\uddba-\uddd3\uddee-\ude07\ude22-\ude3b\ude56-\ude6f\ude8a-\udea5\udec2-\udeda\udedc-\udee1\udefc-\udf14\udf16-\udf1b\udf36-\udf4e\udf50-\udf55\udf70-\udf88\udf8a-\udf8f\udfaa-\udfc2\udfc4-\udfc9\udfcb]|\ud83a[\udd22-\udd43]"},{name:"Noncharacter_Code_Point", -bmp:"\ufdd0-\ufdef\ufffe\uffff",astral:"[\ud83f\ud87f\ud8bf\ud8ff\ud93f\ud97f\ud9bf\ud9ff\uda3f\uda7f\udabf\udaff\udb3f\udb7f\udbbf\udbff][\udffe\udfff]"},{name:"Uppercase",bmp:"A-Z\u00c0-\u00d6\u00d8-\u00de\u0100\u0102\u0104\u0106\u0108\u010a\u010c\u010e\u0110\u0112\u0114\u0116\u0118\u011a\u011c\u011e\u0120\u0122\u0124\u0126\u0128\u012a\u012c\u012e\u0130\u0132\u0134\u0136\u0139\u013b\u013d\u013f\u0141\u0143\u0145\u0147\u014a\u014c\u014e\u0150\u0152\u0154\u0156\u0158\u015a\u015c\u015e\u0160\u0162\u0164\u0166\u0168\u016a\u016c\u016e\u0170\u0172\u0174\u0176\u0178\u0179\u017b\u017d\u0181\u0182\u0184\u0186\u0187\u0189-\u018b\u018e-\u0191\u0193\u0194\u0196-\u0198\u019c\u019d\u019f\u01a0\u01a2\u01a4\u01a6\u01a7\u01a9\u01ac\u01ae\u01af\u01b1-\u01b3\u01b5\u01b7\u01b8\u01bc\u01c4\u01c7\u01ca\u01cd\u01cf\u01d1\u01d3\u01d5\u01d7\u01d9\u01db\u01de\u01e0\u01e2\u01e4\u01e6\u01e8\u01ea\u01ec\u01ee\u01f1\u01f4\u01f6-\u01f8\u01fa\u01fc\u01fe\u0200\u0202\u0204\u0206\u0208\u020a\u020c\u020e\u0210\u0212\u0214\u0216\u0218\u021a\u021c\u021e\u0220\u0222\u0224\u0226\u0228\u022a\u022c\u022e\u0230\u0232\u023a\u023b\u023d\u023e\u0241\u0243-\u0246\u0248\u024a\u024c\u024e\u0370\u0372\u0376\u037f\u0386\u0388-\u038a\u038c\u038e\u038f\u0391-\u03a1\u03a3-\u03ab\u03cf\u03d2-\u03d4\u03d8\u03da\u03dc\u03de\u03e0\u03e2\u03e4\u03e6\u03e8\u03ea\u03ec\u03ee\u03f4\u03f7\u03f9\u03fa\u03fd-\u042f\u0460\u0462\u0464\u0466\u0468\u046a\u046c\u046e\u0470\u0472\u0474\u0476\u0478\u047a\u047c\u047e\u0480\u048a\u048c\u048e\u0490\u0492\u0494\u0496\u0498\u049a\u049c\u049e\u04a0\u04a2\u04a4\u04a6\u04a8\u04aa\u04ac\u04ae\u04b0\u04b2\u04b4\u04b6\u04b8\u04ba\u04bc\u04be\u04c0\u04c1\u04c3\u04c5\u04c7\u04c9\u04cb\u04cd\u04d0\u04d2\u04d4\u04d6\u04d8\u04da\u04dc\u04de\u04e0\u04e2\u04e4\u04e6\u04e8\u04ea\u04ec\u04ee\u04f0\u04f2\u04f4\u04f6\u04f8\u04fa\u04fc\u04fe\u0500\u0502\u0504\u0506\u0508\u050a\u050c\u050e\u0510\u0512\u0514\u0516\u0518\u051a\u051c\u051e\u0520\u0522\u0524\u0526\u0528\u052a\u052c\u052e\u0531-\u0556\u10a0-\u10c5\u10c7\u10cd\u13a0-\u13f5\u1e00\u1e02\u1e04\u1e06\u1e08\u1e0a\u1e0c\u1e0e\u1e10\u1e12\u1e14\u1e16\u1e18\u1e1a\u1e1c\u1e1e\u1e20\u1e22\u1e24\u1e26\u1e28\u1e2a\u1e2c\u1e2e\u1e30\u1e32\u1e34\u1e36\u1e38\u1e3a\u1e3c\u1e3e\u1e40\u1e42\u1e44\u1e46\u1e48\u1e4a\u1e4c\u1e4e\u1e50\u1e52\u1e54\u1e56\u1e58\u1e5a\u1e5c\u1e5e\u1e60\u1e62\u1e64\u1e66\u1e68\u1e6a\u1e6c\u1e6e\u1e70\u1e72\u1e74\u1e76\u1e78\u1e7a\u1e7c\u1e7e\u1e80\u1e82\u1e84\u1e86\u1e88\u1e8a\u1e8c\u1e8e\u1e90\u1e92\u1e94\u1e9e\u1ea0\u1ea2\u1ea4\u1ea6\u1ea8\u1eaa\u1eac\u1eae\u1eb0\u1eb2\u1eb4\u1eb6\u1eb8\u1eba\u1ebc\u1ebe\u1ec0\u1ec2\u1ec4\u1ec6\u1ec8\u1eca\u1ecc\u1ece\u1ed0\u1ed2\u1ed4\u1ed6\u1ed8\u1eda\u1edc\u1ede\u1ee0\u1ee2\u1ee4\u1ee6\u1ee8\u1eea\u1eec\u1eee\u1ef0\u1ef2\u1ef4\u1ef6\u1ef8\u1efa\u1efc\u1efe\u1f08-\u1f0f\u1f18-\u1f1d\u1f28-\u1f2f\u1f38-\u1f3f\u1f48-\u1f4d\u1f59\u1f5b\u1f5d\u1f5f\u1f68-\u1f6f\u1fb8-\u1fbb\u1fc8-\u1fcb\u1fd8-\u1fdb\u1fe8-\u1fec\u1ff8-\u1ffb\u2102\u2107\u210b-\u210d\u2110-\u2112\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u2130-\u2133\u213e\u213f\u2145\u2160-\u216f\u2183\u24b6-\u24cf\u2c00-\u2c2e\u2c60\u2c62-\u2c64\u2c67\u2c69\u2c6b\u2c6d-\u2c70\u2c72\u2c75\u2c7e-\u2c80\u2c82\u2c84\u2c86\u2c88\u2c8a\u2c8c\u2c8e\u2c90\u2c92\u2c94\u2c96\u2c98\u2c9a\u2c9c\u2c9e\u2ca0\u2ca2\u2ca4\u2ca6\u2ca8\u2caa\u2cac\u2cae\u2cb0\u2cb2\u2cb4\u2cb6\u2cb8\u2cba\u2cbc\u2cbe\u2cc0\u2cc2\u2cc4\u2cc6\u2cc8\u2cca\u2ccc\u2cce\u2cd0\u2cd2\u2cd4\u2cd6\u2cd8\u2cda\u2cdc\u2cde\u2ce0\u2ce2\u2ceb\u2ced\u2cf2\ua640\ua642\ua644\ua646\ua648\ua64a\ua64c\ua64e\ua650\ua652\ua654\ua656\ua658\ua65a\ua65c\ua65e\ua660\ua662\ua664\ua666\ua668\ua66a\ua66c\ua680\ua682\ua684\ua686\ua688\ua68a\ua68c\ua68e\ua690\ua692\ua694\ua696\ua698\ua69a\ua722\ua724\ua726\ua728\ua72a\ua72c\ua72e\ua732\ua734\ua736\ua738\ua73a\ua73c\ua73e\ua740\ua742\ua744\ua746\ua748\ua74a\ua74c\ua74e\ua750\ua752\ua754\ua756\ua758\ua75a\ua75c\ua75e\ua760\ua762\ua764\ua766\ua768\ua76a\ua76c\ua76e\ua779\ua77b\ua77d\ua77e\ua780\ua782\ua784\ua786\ua78b\ua78d\ua790\ua792\ua796\ua798\ua79a\ua79c\ua79e\ua7a0\ua7a2\ua7a4\ua7a6\ua7a8\ua7aa-\ua7ae\ua7b0-\ua7b4\ua7b6\uff21-\uff3a", -astral:"\ud801[\udc00-\udc27\udcb0-\udcd3]|\ud803[\udc80-\udcb2]|\ud806[\udca0-\udcbf]|\ud835[\udc00-\udc19\udc34-\udc4d\udc68-\udc81\udc9c\udc9e\udc9f\udca2\udca5\udca6\udca9-\udcac\udcae-\udcb5\udcd0-\udce9\udd04\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd38\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd6c-\udd85\udda0-\uddb9\uddd4-\udded\ude08-\ude21\ude3c-\ude55\ude70-\ude89\udea8-\udec0\udee2-\udefa\udf1c-\udf34\udf56-\udf6e\udf90-\udfa8\udfca]|\ud83a[\udd00-\udd21]|\ud83c[\udd30-\udd49\udd50-\udd69\udd70-\udd89]"}, -{name:"White_Space",bmp:"\t-\r \u0085\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000"}];d.push({name:"Assigned",inverseOf:"Cn"});c.addUnicodeData(d)}},{}],7:[function(d,g,p){g.exports=function(c){if(!c.addUnicodeData)throw new ReferenceError("Unicode Base must be loaded before Unicode Scripts");c.addUnicodeData([{name:"Adlam",astral:"\ud83a[\udd00-\udd4a\udd50-\udd59\udd5e\udd5f]"},{name:"Ahom",astral:"\ud805[\udf00-\udf19\udf1d-\udf2b\udf30-\udf3f]"},{name:"Anatolian_Hieroglyphs",astral:"\ud811[\udc00-\ude46]"}, -{name:"Arabic",bmp:"\u0600-\u0604\u0606-\u060b\u060d-\u061a\u061e\u0620-\u063f\u0641-\u064a\u0656-\u066f\u0671-\u06dc\u06de-\u06ff\u0750-\u077f\u08a0-\u08b4\u08b6-\u08bd\u08d4-\u08e1\u08e3-\u08ff\ufb50-\ufbc1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfd\ufe70-\ufe74\ufe76-\ufefc",astral:"\ud803[\ude60-\ude7e]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb\udef0\udef1]"}, -{name:"Armenian",bmp:"\u0531-\u0556\u0559-\u055f\u0561-\u0587\u058a\u058d-\u058f\ufb13-\ufb17"},{name:"Avestan",astral:"\ud802[\udf00-\udf35\udf39-\udf3f]"},{name:"Balinese",bmp:"\u1b00-\u1b4b\u1b50-\u1b7c"},{name:"Bamum",bmp:"\ua6a0-\ua6f7",astral:"\ud81a[\udc00-\ude38]"},{name:"Bassa_Vah",astral:"\ud81a[\uded0-\udeed\udef0-\udef5]"},{name:"Batak",bmp:"\u1bc0-\u1bf3\u1bfc-\u1bff"},{name:"Bengali",bmp:"\u0980-\u0983\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7\u09c8\u09cb-\u09ce\u09d7\u09dc\u09dd\u09df-\u09e3\u09e6-\u09fb"}, -{name:"Bhaiksuki",astral:"\ud807[\udc00-\udc08\udc0a-\udc36\udc38-\udc45\udc50-\udc6c]"},{name:"Bopomofo",bmp:"\u02ea\u02eb\u3105-\u312d\u31a0-\u31ba"},{name:"Brahmi",astral:"\ud804[\udc00-\udc4d\udc52-\udc6f\udc7f]"},{name:"Braille",bmp:"\u2800-\u28ff"},{name:"Buginese",bmp:"\u1a00-\u1a1b\u1a1e\u1a1f"},{name:"Buhid",bmp:"\u1740-\u1753"},{name:"Canadian_Aboriginal",bmp:"\u1400-\u167f\u18b0-\u18f5"},{name:"Carian",astral:"\ud800[\udea0-\uded0]"},{name:"Caucasian_Albanian",astral:"\ud801[\udd30-\udd63\udd6f]"}, -{name:"Chakma",astral:"\ud804[\udd00-\udd34\udd36-\udd43]"},{name:"Cham",bmp:"\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa5c-\uaa5f"},{name:"Cherokee",bmp:"\u13a0-\u13f5\u13f8-\u13fd\uab70-\uabbf"},{name:"Common",bmp:"\x00-@\\x5B-`\\x7B-\u00a9\u00ab-\u00b9\u00bb-\u00bf\u00d7\u00f7\u02b9-\u02df\u02e5-\u02e9\u02ec-\u02ff\u0374\u037e\u0385\u0387\u0589\u0605\u060c\u061b\u061c\u061f\u0640\u06dd\u08e2\u0964\u0965\u0e3f\u0fd5-\u0fd8\u10fb\u16eb-\u16ed\u1735\u1736\u1802\u1803\u1805\u1cd3\u1ce1\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u2000-\u200b\u200e-\u2064\u2066-\u2070\u2074-\u207e\u2080-\u208e\u20a0-\u20be\u2100-\u2125\u2127-\u2129\u212c-\u2131\u2133-\u214d\u214f-\u215f\u2189-\u218b\u2190-\u23fe\u2400-\u2426\u2440-\u244a\u2460-\u27ff\u2900-\u2b73\u2b76-\u2b95\u2b98-\u2bb9\u2bbd-\u2bc8\u2bca-\u2bd1\u2bec-\u2bef\u2e00-\u2e44\u2ff0-\u2ffb\u3000-\u3004\u3006\u3008-\u3020\u3030-\u3037\u303c-\u303f\u309b\u309c\u30a0\u30fb\u30fc\u3190-\u319f\u31c0-\u31e3\u3220-\u325f\u327f-\u32cf\u3358-\u33ff\u4dc0-\u4dff\ua700-\ua721\ua788-\ua78a\ua830-\ua839\ua92e\ua9cf\uab5b\ufd3e\ufd3f\ufe10-\ufe19\ufe30-\ufe52\ufe54-\ufe66\ufe68-\ufe6b\ufeff\uff01-\uff20\uff3b-\uff40\uff5b-\uff65\uff70\uff9e\uff9f\uffe0-\uffe6\uffe8-\uffee\ufff9-\ufffd", -astral:"\ud800[\udd00-\udd02\udd07-\udd33\udd37-\udd3f\udd90-\udd9b\uddd0-\uddfc\udee1-\udefb]|\ud82f[\udca0-\udca3]|\ud834[\udc00-\udcf5\udd00-\udd26\udd29-\udd66\udd6a-\udd7a\udd83\udd84\udd8c-\udda9\uddae-\udde8\udf00-\udf56\udf60-\udf71]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e\udc9f\udca2\udca5\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udfcb\udfce-\udfff]|\ud83c[\udc00-\udc2b\udc30-\udc93\udca0-\udcae\udcb1-\udcbf\udcc1-\udccf\udcd1-\udcf5\udd00-\udd0c\udd10-\udd2e\udd30-\udd6b\udd70-\uddac\udde6-\uddff\ude01\ude02\ude10-\ude3b\ude40-\ude48\ude50\ude51\udf00-\udfff]|\ud83d[\udc00-\uded2\udee0-\udeec\udef0-\udef6\udf00-\udf73\udf80-\udfd4]|\ud83e[\udc00-\udc0b\udc10-\udc47\udc50-\udc59\udc60-\udc87\udc90-\udcad\udd10-\udd1e\udd20-\udd27\udd30\udd33-\udd3e\udd40-\udd4b\udd50-\udd5e\udd80-\udd91\uddc0]|\udb40[\udc01\udc20-\udc7f]"}, -{name:"Coptic",bmp:"\u03e2-\u03ef\u2c80-\u2cf3\u2cf9-\u2cff"},{name:"Cuneiform",astral:"\ud808[\udc00-\udf99]|\ud809[\udc00-\udc6e\udc70-\udc74\udc80-\udd43]"},{name:"Cypriot",astral:"\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37\udc38\udc3c\udc3f]"},{name:"Cyrillic",bmp:"\u0400-\u0484\u0487-\u052f\u1c80-\u1c88\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f"},{name:"Deseret",astral:"\ud801[\udc00-\udc4f]"},{name:"Devanagari",bmp:"\u0900-\u0950\u0953-\u0963\u0966-\u097f\ua8e0-\ua8fd"},{name:"Duployan", -astral:"\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99\udc9c-\udc9f]"},{name:"Egyptian_Hieroglyphs",astral:"\ud80c[\udc00-\udfff]|\ud80d[\udc00-\udc2e]"},{name:"Elbasan",astral:"\ud801[\udd00-\udd27]"},{name:"Ethiopic",bmp:"\u1200-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u137c\u1380-\u1399\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e"}, -{name:"Georgian",bmp:"\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u10ff\u2d00-\u2d25\u2d27\u2d2d"},{name:"Glagolitic",bmp:"\u2c00-\u2c2e\u2c30-\u2c5e",astral:"\ud838[\udc00-\udc06\udc08-\udc18\udc1b-\udc21\udc23\udc24\udc26-\udc2a]"},{name:"Gothic",astral:"\ud800[\udf30-\udf4a]"},{name:"Grantha",astral:"\ud804[\udf00-\udf03\udf05-\udf0c\udf0f\udf10\udf13-\udf28\udf2a-\udf30\udf32\udf33\udf35-\udf39\udf3c-\udf44\udf47\udf48\udf4b-\udf4d\udf50\udf57\udf5d-\udf63\udf66-\udf6c\udf70-\udf74]"},{name:"Greek", -bmp:"\u0370-\u0373\u0375-\u0377\u037a-\u037d\u037f\u0384\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03e1\u03f0-\u03ff\u1d26-\u1d2a\u1d5d-\u1d61\u1d66-\u1d6a\u1dbf\u1f00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fc4\u1fc6-\u1fd3\u1fd6-\u1fdb\u1fdd-\u1fef\u1ff2-\u1ff4\u1ff6-\u1ffe\u2126\uab65",astral:"\ud800[\udd40-\udd8e\udda0]|\ud834[\ude00-\ude45]"},{name:"Gujarati",bmp:"\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0af1\u0af9"}, -{name:"Gurmukhi",bmp:"\u0a01-\u0a03\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a75"},{name:"Han",bmp:"\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u3005\u3007\u3021-\u3029\u3038-\u303b\u3400-\u4db5\u4e00-\u9fd5\uf900-\ufa6d\ufa70-\ufad9",astral:"[\ud840-\ud868\ud86a-\ud86c\ud86f-\ud872][\udc00-\udfff]|\ud869[\udc00-\uded6\udf00-\udfff]|\ud86d[\udc00-\udf34\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud873[\udc00-\udea1]|\ud87e[\udc00-\ude1d]"}, -{name:"Hangul",bmp:"\u1100-\u11ff\u302e\u302f\u3131-\u318e\u3200-\u321e\u3260-\u327e\ua960-\ua97c\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uffa0-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc"},{name:"Hanunoo",bmp:"\u1720-\u1734"},{name:"Hatran",astral:"\ud802[\udce0-\udcf2\udcf4\udcf5\udcfb-\udcff]"},{name:"Hebrew",bmp:"\u0591-\u05c7\u05d0-\u05ea\u05f0-\u05f4\ufb1d-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufb4f"},{name:"Hiragana",bmp:"\u3041-\u3096\u309d-\u309f",astral:"\ud82c\udc01|\ud83c\ude00"}, -{name:"Imperial_Aramaic",astral:"\ud802[\udc40-\udc55\udc57-\udc5f]"},{name:"Inherited",bmp:"\u0300-\u036f\u0485\u0486\u064b-\u0655\u0670\u0951\u0952\u1ab0-\u1abe\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1cf4\u1cf8\u1cf9\u1dc0-\u1df5\u1dfb-\u1dff\u200c\u200d\u20d0-\u20f0\u302a-\u302d\u3099\u309a\ufe00-\ufe0f\ufe20-\ufe2d",astral:"\ud800[\uddfd\udee0]|\ud834[\udd67-\udd69\udd7b-\udd82\udd85-\udd8b\uddaa-\uddad]|\udb40[\udd00-\uddef]"},{name:"Inscriptional_Pahlavi",astral:"\ud802[\udf60-\udf72\udf78-\udf7f]"}, -{name:"Inscriptional_Parthian",astral:"\ud802[\udf40-\udf55\udf58-\udf5f]"},{name:"Javanese",bmp:"\ua980-\ua9cd\ua9d0-\ua9d9\ua9de\ua9df"},{name:"Kaithi",astral:"\ud804[\udc80-\udcc1]"},{name:"Kannada",bmp:"\u0c80-\u0c83\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1\u0cf2"},{name:"Katakana",bmp:"\u30a1-\u30fa\u30fd-\u30ff\u31f0-\u31ff\u32d0-\u32fe\u3300-\u3357\uff66-\uff6f\uff71-\uff9d",astral:"\ud82c\udc00"}, -{name:"Kayah_Li",bmp:"\ua900-\ua92d\ua92f"},{name:"Kharoshthi",astral:"\ud802[\ude00-\ude03\ude05\ude06\ude0c-\ude13\ude15-\ude17\ude19-\ude33\ude38-\ude3a\ude3f-\ude47\ude50-\ude58]"},{name:"Khmer",bmp:"\u1780-\u17dd\u17e0-\u17e9\u17f0-\u17f9\u19e0-\u19ff"},{name:"Khojki",astral:"\ud804[\ude00-\ude11\ude13-\ude3e]"},{name:"Khudawadi",astral:"\ud804[\udeb0-\udeea\udef0-\udef9]"},{name:"Lao",bmp:"\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb9\u0ebb-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ecd\u0ed0-\u0ed9\u0edc-\u0edf"}, -{name:"Latin",bmp:"A-Za-z\u00aa\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02b8\u02e0-\u02e4\u1d00-\u1d25\u1d2c-\u1d5c\u1d62-\u1d65\u1d6b-\u1d77\u1d79-\u1dbe\u1e00-\u1eff\u2071\u207f\u2090-\u209c\u212a\u212b\u2132\u214e\u2160-\u2188\u2c60-\u2c7f\ua722-\ua787\ua78b-\ua7ae\ua7b0-\ua7b7\ua7f7-\ua7ff\uab30-\uab5a\uab5c-\uab64\ufb00-\ufb06\uff21-\uff3a\uff41-\uff5a"},{name:"Lepcha",bmp:"\u1c00-\u1c37\u1c3b-\u1c49\u1c4d-\u1c4f"},{name:"Limbu",bmp:"\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1940\u1944-\u194f"}, -{name:"Linear_A",astral:"\ud801[\ude00-\udf36\udf40-\udf55\udf60-\udf67]"},{name:"Linear_B",astral:"\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa]"},{name:"Lisu",bmp:"\ua4d0-\ua4ff"},{name:"Lycian",astral:"\ud800[\ude80-\ude9c]"},{name:"Lydian",astral:"\ud802[\udd20-\udd39\udd3f]"},{name:"Mahajani",astral:"\ud804[\udd50-\udd76]"},{name:"Malayalam",bmp:"\u0d01-\u0d03\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d-\u0d44\u0d46-\u0d48\u0d4a-\u0d4f\u0d54-\u0d63\u0d66-\u0d7f"}, -{name:"Mandaic",bmp:"\u0840-\u085b\u085e"},{name:"Manichaean",astral:"\ud802[\udec0-\udee6\udeeb-\udef6]"},{name:"Marchen",astral:"\ud807[\udc70-\udc8f\udc92-\udca7\udca9-\udcb6]"},{name:"Meetei_Mayek",bmp:"\uaae0-\uaaf6\uabc0-\uabed\uabf0-\uabf9"},{name:"Mende_Kikakui",astral:"\ud83a[\udc00-\udcc4\udcc7-\udcd6]"},{name:"Meroitic_Cursive",astral:"\ud802[\udda0-\uddb7\uddbc-\uddcf\uddd2-\uddff]"},{name:"Meroitic_Hieroglyphs",astral:"\ud802[\udd80-\udd9f]"},{name:"Miao",astral:"\ud81b[\udf00-\udf44\udf50-\udf7e\udf8f-\udf9f]"}, -{name:"Modi",astral:"\ud805[\ude00-\ude44\ude50-\ude59]"},{name:"Mongolian",bmp:"\u1800\u1801\u1804\u1806-\u180e\u1810-\u1819\u1820-\u1877\u1880-\u18aa",astral:"\ud805[\ude60-\ude6c]"},{name:"Mro",astral:"\ud81a[\ude40-\ude5e\ude60-\ude69\ude6e\ude6f]"},{name:"Multani",astral:"\ud804[\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea9]"},{name:"Myanmar",bmp:"\u1000-\u109f\ua9e0-\ua9fe\uaa60-\uaa7f"},{name:"Nabataean",astral:"\ud802[\udc80-\udc9e\udca7-\udcaf]"},{name:"New_Tai_Lue",bmp:"\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u19de\u19df"}, -{name:"Newa",astral:"\ud805[\udc00-\udc59\udc5b\udc5d]"},{name:"Nko",bmp:"\u07c0-\u07fa"},{name:"Ogham",bmp:"\u1680-\u169c"},{name:"Ol_Chiki",bmp:"\u1c50-\u1c7f"},{name:"Old_Hungarian",astral:"\ud803[\udc80-\udcb2\udcc0-\udcf2\udcfa-\udcff]"},{name:"Old_Italic",astral:"\ud800[\udf00-\udf23]"},{name:"Old_North_Arabian",astral:"\ud802[\ude80-\ude9f]"},{name:"Old_Permic",astral:"\ud800[\udf50-\udf7a]"},{name:"Old_Persian",astral:"\ud800[\udfa0-\udfc3\udfc8-\udfd5]"},{name:"Old_South_Arabian",astral:"\ud802[\ude60-\ude7f]"}, -{name:"Old_Turkic",astral:"\ud803[\udc00-\udc48]"},{name:"Oriya",bmp:"\u0b01-\u0b03\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b5c\u0b5d\u0b5f-\u0b63\u0b66-\u0b77"},{name:"Osage",astral:"\ud801[\udcb0-\udcd3\udcd8-\udcfb]"},{name:"Osmanya",astral:"\ud801[\udc80-\udc9d\udca0-\udca9]"},{name:"Pahawh_Hmong",astral:"\ud81a[\udf00-\udf45\udf50-\udf59\udf5b-\udf61\udf63-\udf77\udf7d-\udf8f]"},{name:"Palmyrene",astral:"\ud802[\udc60-\udc7f]"}, -{name:"Pau_Cin_Hau",astral:"\ud806[\udec0-\udef8]"},{name:"Phags_Pa",bmp:"\ua840-\ua877"},{name:"Phoenician",astral:"\ud802[\udd00-\udd1b\udd1f]"},{name:"Psalter_Pahlavi",astral:"\ud802[\udf80-\udf91\udf99-\udf9c\udfa9-\udfaf]"},{name:"Rejang",bmp:"\ua930-\ua953\ua95f"},{name:"Runic",bmp:"\u16a0-\u16ea\u16ee-\u16f8"},{name:"Samaritan",bmp:"\u0800-\u082d\u0830-\u083e"},{name:"Saurashtra",bmp:"\ua880-\ua8c5\ua8ce-\ua8d9"},{name:"Sharada",astral:"\ud804[\udd80-\uddcd\uddd0-\udddf]"},{name:"Shavian", -astral:"\ud801[\udc50-\udc7f]"},{name:"Siddham",astral:"\ud805[\udd80-\uddb5\uddb8-\udddd]"},{name:"SignWriting",astral:"\ud836[\udc00-\ude8b\ude9b-\ude9f\udea1-\udeaf]"},{name:"Sinhala",bmp:"\u0d82\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df4",astral:"\ud804[\udde1-\uddf4]"},{name:"Sora_Sompeng",astral:"\ud804[\udcd0-\udce8\udcf0-\udcf9]"},{name:"Sundanese",bmp:"\u1b80-\u1bbf\u1cc0-\u1cc7"},{name:"Syloti_Nagri",bmp:"\ua800-\ua82b"}, -{name:"Syriac",bmp:"\u0700-\u070d\u070f-\u074a\u074d-\u074f"},{name:"Tagalog",bmp:"\u1700-\u170c\u170e-\u1714"},{name:"Tagbanwa",bmp:"\u1760-\u176c\u176e-\u1770\u1772\u1773"},{name:"Tai_Le",bmp:"\u1950-\u196d\u1970-\u1974"},{name:"Tai_Tham",bmp:"\u1a20-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa0-\u1aad"},{name:"Tai_Viet",bmp:"\uaa80-\uaac2\uaadb-\uaadf"},{name:"Takri",astral:"\ud805[\ude80-\udeb7\udec0-\udec9]"},{name:"Tamil",bmp:"\u0b82\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bfa"}, -{name:"Tangut",astral:"\ud81b\udfe0|[\ud81c-\ud820][\udc00-\udfff]|\ud821[\udc00-\udfec]|\ud822[\udc00-\udef2]"},{name:"Telugu",bmp:"\u0c00-\u0c03\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c58-\u0c5a\u0c60-\u0c63\u0c66-\u0c6f\u0c78-\u0c7f"},{name:"Thaana",bmp:"\u0780-\u07b1"},{name:"Thai",bmp:"\u0e01-\u0e3a\u0e40-\u0e5b"},{name:"Tibetan",bmp:"\u0f00-\u0f47\u0f49-\u0f6c\u0f71-\u0f97\u0f99-\u0fbc\u0fbe-\u0fcc\u0fce-\u0fd4\u0fd9\u0fda"}, -{name:"Tifinagh",bmp:"\u2d30-\u2d67\u2d6f\u2d70\u2d7f"},{name:"Tirhuta",astral:"\ud805[\udc80-\udcc7\udcd0-\udcd9]"},{name:"Ugaritic",astral:"\ud800[\udf80-\udf9d\udf9f]"},{name:"Vai",bmp:"\ua500-\ua62b"},{name:"Warang_Citi",astral:"\ud806[\udca0-\udcf2\udcff]"},{name:"Yi",bmp:"\ua000-\ua48c\ua490-\ua4c6"}])}},{}],8:[function(d,g,p){p=d("./xregexp");d("./addons/build")(p);d("./addons/matchrecursive")(p);d("./addons/unicode-base")(p);d("./addons/unicode-blocks")(p);d("./addons/unicode-categories")(p); -d("./addons/unicode-properties")(p);d("./addons/unicode-scripts")(p);g.exports=p},{"./addons/build":1,"./addons/matchrecursive":2,"./addons/unicode-base":3,"./addons/unicode-blocks":4,"./addons/unicode-categories":5,"./addons/unicode-properties":6,"./addons/unicode-scripts":7,"./xregexp":9}],9:[function(d,g,p){function c(a){var e=!0;try{RegExp("",a)}catch(u){e=!1}return e}function A(a,e,u,b,c){var J;a.xregexp={captureNames:e};if(c)return a;if(a.__proto__)a.__proto__=f.prototype;else for(J in f.prototype)a[J]= -f.prototype[J];a.xregexp.source=u;a.xregexp.flags=b?b.split("").sort().join(""):b;return a}function B(a){return n.replace.call(a,/([\s\S])(?=[\s\S]*\1)/g,"")}function z(a,e){if(!f.isRegExp(a))throw new TypeError("Type RegExp expected");var u=a.xregexp||{},b=Q?a.flags:n.exec.call(/\/([a-z]*)$/i,RegExp.prototype.toString.call(a))[1],c="",d="",E=null,h=null;e=e||{};e.removeG&&(d+="g");e.removeY&&(d+="y");d&&(b=n.replace.call(b,new RegExp("["+d+"]+","g"),""));e.addG&&(c+="g");e.addY&&(c+="y");c&&(b=B(b+ -c));e.isInternalOnly||(void 0!==u.source&&(E=u.source),null!=u.flags&&(h=c?B(u.flags+c):u.flags));return a=A(new RegExp(e.source||a.source,b),a.xregexp&&a.xregexp.captureNames?u.captureNames.slice(0):null,E,h,e.isInternalOnly)}function l(a){return parseInt(a,16)}function b(a,e,b){(e="("===a.input.charAt(a.index-1)||")"===a.input.charAt(a.index+a[0].length))||(e=a.input,a=a.index+a[0].length,b=-1<b.indexOf("x")?["\\s","#[^#\\n]*","\\(\\?#[^)]*\\)"]:["\\(\\?#[^)]*\\)"],e=n.test.call(new RegExp("^(?:"+ -b.join("|")+")*(?:[?*+]|{\\d+(?:,\\d*)?})"),e.slice(a)));return e?"":"(?:)"}function k(a){return parseInt(a,10).toString(16)}function C(a,e){var b=a.length,c;for(c=0;c<b;++c)if(a[c]===e)return c;return-1}function y(a,e){return L.call(a)==="[object "+e+"]"}function m(a){for(;4>a.length;)a="0"+a;return a}function h(a,e){var b;if(B(e)!==e)throw new SyntaxError("Invalid duplicate regex flag "+e);a=n.replace.call(a,/^\(\?([\w$]+)\)/,function(a,b){if(n.test.call(/[gy]/,b))throw new SyntaxError("Cannot use flag g or y in mode modifier "+ -a);e=B(e+b);return""});for(b=0;b<e.length;++b)if(!N[e.charAt(b)])throw new SyntaxError("Unknown regex flag "+e.charAt(b));return{pattern:a,flags:e}}function w(a){var e={};return y(a,"String")?(f.forEach(a,/[^\s,]+/,function(a){e[a]=!0}),e):a}function x(a){if(!/^[\w$]$/.test(a))throw Error("Flag must be a single character A-Za-z0-9_$");N[a]=!0}function v(a){RegExp.prototype.exec=(a?r:n).exec;RegExp.prototype.test=(a?r:n).test;String.prototype.match=(a?r:n).match;String.prototype.replace=(a?r:n).replace; -String.prototype.split=(a?r:n).split;D.natives=a}function q(a){if(null==a)throw new TypeError("Cannot convert null or undefined to object");return a}function f(a,e){if(f.isRegExp(a)){if(void 0!==e)throw new TypeError("Cannot supply flags when copying a RegExp");return z(a)}a=void 0===a?"":String(a);e=void 0===e?"":String(e);f.isInstalled("astral")&&-1===e.indexOf("A")&&(e+="A");F[a]||(F[a]={});if(!F[a][e]){var b={hasNamedCapture:!1,captureNames:[]},c="default",d="",g=0,E=h(a,e),k=E.pattern;for(E= -E.flags;g<k.length;){do{for(var l,m=k,p=E,q=g,r=c,v=b,w=I.length,x=m.charAt(q),y=null;w--;){var t=I[w];if(!(t.leadChar&&t.leadChar!==x||t.scope!==r&&"all"!==t.scope||t.flag&&-1===p.indexOf(t.flag))&&(l=f.exec(m,t.regex,q,"sticky"))){y={matchLength:l[0].length,output:t.handler.call(v,l,r,p),reparse:t.reparse};break}}(t=y)&&t.reparse&&(k=k.slice(0,g)+t.output+k.slice(g+t.matchLength))}while(t&&t.reparse);t?(d+=t.output,g+=t.matchLength||1):(t=f.exec(k,O[c],g,"sticky")[0],d+=t,g+=t.length,"["===t&&"default"=== -c?c="class":"]"===t&&"class"===c&&(c="default"))}F[a][e]={pattern:n.replace.call(d,/(?:\(\?:\))+/g,"(?:)"),flags:n.replace.call(E,/[^gimuy]+/g,""),captures:b.hasNamedCapture?b.captureNames:null}}b=F[a][e];return A(new RegExp(b.pattern,b.flags),b.captures,a,e)}var D={astral:!1,natives:!1},n={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},r={},G={},F={},I=[],O={"default":/\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\d*|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|\(\?(?:[:=!]|<[=!])|[?*+]\?|{\d+(?:,\d*)?}\??|[\s\S]/, -"class":/\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|[\s\S]/},P=/\$(?:{([\w$]+)}|(\d\d?|[\s\S]))/g,R=void 0===n.exec.call(/()??/,"")[1],Q=void 0!==/x/.flags,L={}.toString,M=c("u"),K=c("y"),N={g:!0,i:!0,m:!0,u:M,y:K};f.prototype=RegExp();f.version="3.2.0";f._clipDuplicates=B;f._hasNativeFlag=c;f._dec=l;f._hex=k;f._pad4=m;f.addToken=function(a,e,b){b=b||{};var c=b.optionalFlags,d;b.flag&&x(b.flag);if(c)for(c=n.split.call(c,""),d=0;d<c.length;++d)x(c[d]); -I.push({regex:z(a,{addG:!0,addY:K,isInternalOnly:!0}),handler:e,scope:b.scope||"default",flag:b.flag,reparse:b.reparse,leadChar:b.leadChar});f.cache.flush("patterns")};f.cache=function(a,b){G[a]||(G[a]={});return G[a][b]||(G[a][b]=f(a,b))};f.cache.flush=function(a){"patterns"===a?F={}:G={}};f.escape=function(a){return n.replace.call(q(a),/[-\[\]{}()*+?.,\\^$|#\s]/g,"\\$&")};f.exec=function(a,b,c,d){var e="g",f,u=!1;(f=K&&!!(d||b.sticky&&!1!==d))?e+="y":d&&(u=!0,e+="FakeY");b.xregexp=b.xregexp||{}; -d=b.xregexp[e]||(b.xregexp[e]=z(b,{addG:!0,addY:f,source:u?b.source+"|()":void 0,removeY:!1===d,isInternalOnly:!0}));d.lastIndex=c||0;a=r.exec.call(d,a);u&&a&&""===a.pop()&&(a=null);b.global&&(b.lastIndex=a?d.lastIndex:0);return a};f.forEach=function(a,b,c){for(var e=0,d=-1;e=f.exec(a,b,e);)c(e,++d,a,b),e=e.index+(e[0].length||1)};f.globalize=function(a){return z(a,{addG:!0})};f.install=function(a){a=w(a);!D.astral&&a.astral&&(D.astral=!0);!D.natives&&a.natives&&v(!0)};f.isInstalled=function(a){return!!D[a]}; -f.isRegExp=function(a){return"[object RegExp]"===L.call(a)};f.match=function(a,b,c){var e=b.global&&"one"!==c||"all"===c,d=(e?"g":"")+(b.sticky?"y":"")||"noGY";b.xregexp=b.xregexp||{};d=b.xregexp[d]||(b.xregexp[d]=z(b,{addG:!!e,removeG:"one"===c,isInternalOnly:!0}));a=n.match.call(q(a),d);b.global&&(b.lastIndex="one"===c&&a?a.index+a[0].length:0);return e?a||[]:a&&a[0]};f.matchChain=function(a,b){return function S(a,e){function c(a){if(d.backref){if(!(a.hasOwnProperty(d.backref)||+d.backref<a.length))throw new ReferenceError("Backreference to undefined group: "+ -d.backref);g.push(a[d.backref]||"")}else g.push(a[0])}for(var d=b[e].regex?b[e]:{regex:b[e]},g=[],h=0;h<a.length;++h)f.forEach(a[h],d.regex,c);return e!==b.length-1&&g.length?S(g,e+1):g}([a],0)};f.replace=function(a,b,c,d){var e=f.isRegExp(b),g=b.global&&"one"!==d||"all"===d,h=(g?"g":"")+(b.sticky?"y":"")||"noGY",u=b;e?(b.xregexp=b.xregexp||{},u=b.xregexp[h]||(b.xregexp[h]=z(b,{addG:!!g,removeG:"one"===d,isInternalOnly:!0}))):g&&(u=new RegExp(f.escape(String(b)),"g"));a=r.replace.call(q(a),u,c);e&& -b.global&&(b.lastIndex=0);return a};f.replaceEach=function(a,b){var c;for(c=0;c<b.length;++c){var e=b[c];a=f.replace(a,e[0],e[1],e[2])}return a};f.split=function(a,b,c){return r.split.call(q(a),b,c)};f.test=function(a,b,c,d){return!!f.exec(a,b,c,d)};f.uninstall=function(a){a=w(a);D.astral&&a.astral&&(D.astral=!1);D.natives&&a.natives&&v(!1)};f.union=function(a,b,c){function d(a,b,c){var d=m[e-u];if(b){if(++e,d)return"(?<"+d+">"}else if(c)return"\\"+(+c+u);return a}c=c||{};c=c.conjunction||"or";var e= -0;if(!y(a,"Array")||!a.length)throw new TypeError("Must provide a nonempty array of patterns to merge");for(var g=/(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*\]/g,h=[],k,l=0;l<a.length;++l)if(k=a[l],f.isRegExp(k)){var u=e;var m=k.xregexp&&k.xregexp.captureNames||[];h.push(n.replace.call(f(k.source).source,g,d))}else h.push(f.escape(k));return f(h.join("none"===c?"":"|"),b)};r.exec=function(a){var b=this.lastIndex,c=n.exec.apply(this,arguments),d;if(c){if(!R&&1<c.length&&-1<C(c,"")){var f= -z(this,{removeG:!0,isInternalOnly:!0});n.replace.call(String(a).slice(c.index),f,function(){var a=arguments.length,b;for(b=1;b<a-2;++b)void 0===arguments[b]&&(c[b]=void 0)})}if(this.xregexp&&this.xregexp.captureNames)for(d=1;d<c.length;++d)(f=this.xregexp.captureNames[d-1])&&(c[f]=c[d]);this.global&&!c[0].length&&this.lastIndex>c.index&&(this.lastIndex=c.index)}this.global||(this.lastIndex=b);return c};r.test=function(a){return!!r.exec.call(this,a)};r.match=function(a){if(!f.isRegExp(a))a=new RegExp(a); -else if(a.global){var b=n.match.apply(this,arguments);a.lastIndex=0;return b}return r.exec.call(a,q(this))};r.replace=function(a,b){var c=f.isRegExp(a);if(c){if(a.xregexp)var d=a.xregexp.captureNames;var e=a.lastIndex}else a+="";var g=y(b,"Function")?n.replace.call(String(this),a,function(){var e=arguments,f;if(d)for(e[0]=new String(e[0]),f=0;f<d.length;++f)d[f]&&(e[0][d[f]]=e[f+1]);c&&a.global&&(a.lastIndex=e[e.length-2]+e[0].length);return b.apply(void 0,e)}):n.replace.call(null==this?this:String(this), -a,function(){var a=arguments;return n.replace.call(String(b),P,function(b,c,e){if(c){e=+c;if(e<=a.length-3)return a[e]||"";e=d?C(d,c):-1;if(0>e)throw new SyntaxError("Backreference to undefined group "+b);return a[e+1]||""}if("$"===e)return"$";if("&"===e||0===+e)return a[0];if("`"===e)return a[a.length-1].slice(0,a[a.length-2]);if("'"===e)return a[a.length-1].slice(a[a.length-2]+a[0].length);e=+e;if(!isNaN(e)){if(e>a.length-3)throw new SyntaxError("Backreference to undefined group "+b);return a[e]|| -""}throw new SyntaxError("Invalid token "+b);})});c&&(a.lastIndex=a.global?0:e);return g};r.split=function(a,b){if(!f.isRegExp(a))return n.split.apply(this,arguments);var c=String(this),d=[],e=a.lastIndex,g=0,h;b=(void 0===b?-1:b)>>>0;f.forEach(c,a,function(a){a.index+a[0].length>g&&(d.push(c.slice(g,a.index)),1<a.length&&a.index<c.length&&Array.prototype.push.apply(d,a.slice(1)),h=a[0].length,g=a.index+h)});g===c.length?(!n.test.call(a,"")||h)&&d.push(""):d.push(c.slice(g));a.lastIndex=e;return d.length> -b?d.slice(0,b):d};f.addToken(/\\([ABCE-RTUVXYZaeg-mopqyz]|c(?![A-Za-z])|u(?![\dA-Fa-f]{4}|{[\dA-Fa-f]+})|x(?![\dA-Fa-f]{2}))/,function(a,b){if("B"===a[1]&&"default"===b)return a[0];throw new SyntaxError("Invalid escape "+a[0]);},{scope:"all",leadChar:"\\"});f.addToken(/\\u{([\dA-Fa-f]+)}/,function(a,b,c){b=l(a[1]);if(1114111<b)throw new SyntaxError("Invalid Unicode code point "+a[0]);if(65535>=b)return"\\u"+m(k(b));if(M&&-1<c.indexOf("u"))return a[0];throw new SyntaxError("Cannot use Unicode code point above \\u{FFFF} without flag u"); -},{scope:"all",leadChar:"\\"});f.addToken(/\[(\^?)\]/,function(a){return a[1]?"[\\s\\S]":"\\b\\B"},{leadChar:"["});f.addToken(/\(\?#[^)]*\)/,b,{leadChar:"("});f.addToken(/\s+|#[^\n]*\n?/,b,{flag:"x"});f.addToken(/\./,function(){return"[\\s\\S]"},{flag:"s",leadChar:"."});f.addToken(/\\k<([\w$]+)>/,function(a){var b=isNaN(a[1])?C(this.captureNames,a[1])+1:+a[1],c=a.index+a[0].length;if(!b||b>this.captureNames.length)throw new SyntaxError("Backreference to undefined group "+a[0]);return"\\"+b+(c===a.input.length|| -isNaN(a.input.charAt(c))?"":"(?:)")},{leadChar:"\\"});f.addToken(/\\(\d+)/,function(a,b){if(!("default"===b&&/^[1-9]/.test(a[1])&&+a[1]<=this.captureNames.length)&&"0"!==a[1])throw new SyntaxError("Cannot use octal escape or backreference to undefined group "+a[0]);return a[0]},{scope:"all",leadChar:"\\"});f.addToken(/\(\?P?<([\w$]+)>/,function(a){if(!isNaN(a[1]))throw new SyntaxError("Cannot use integer as capture name "+a[0]);if("length"===a[1]||"__proto__"===a[1])throw new SyntaxError("Cannot use reserved word as capture name "+ -a[0]);if(-1<C(this.captureNames,a[1]))throw new SyntaxError("Cannot use same name for multiple groups "+a[0]);this.captureNames.push(a[1]);this.hasNamedCapture=!0;return"("},{leadChar:"("});f.addToken(/\((?!\?)/,function(a,b,c){if(-1<c.indexOf("n"))return"(?:";this.captureNames.push(null);return"("},{optionalFlags:"n",leadChar:"("});g.exports=f},{}]},{},[8])(8)}); diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/404.html b/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/404.html deleted file mode 100644 index 19f07492..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/404.html +++ /dev/null @@ -1,12 +0,0 @@ -{% extends "admin/base_site.html" %} -{% load i18n %} - -{% block title %}{% translate 'Page not found' %}{% endblock %} - -{% block content %} - -<h2>{% translate 'Page not found' %}</h2> - -<p>{% translate 'We’re sorry, but the requested page could not be found.' %}</p> - -{% endblock %} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/500.html b/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/500.html deleted file mode 100644 index b5ac5c3b..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/500.html +++ /dev/null @@ -1,17 +0,0 @@ -{% extends "admin/base_site.html" %} -{% load i18n %} - -{% block breadcrumbs %} -<div class="breadcrumbs"> -<a href="{% url 'admin:index' %}">{% translate 'Home' %}</a> -› {% translate 'Server error' %} -</div> -{% endblock %} - -{% block title %}{% translate 'Server error (500)' %}{% endblock %} - -{% block content %} -<h1>{% translate 'Server Error <em>(500)</em>' %}</h1> -<p>{% translate 'There’s been an error. It’s been reported to the site administrators via email and should be fixed shortly. Thanks for your patience.' %}</p> - -{% endblock %} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/actions.html b/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/actions.html deleted file mode 100644 index b912d373..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/actions.html +++ /dev/null @@ -1,23 +0,0 @@ -{% load i18n %} -<div class="actions"> - {% block actions %} - {% block actions-form %} - {% for field in action_form %}{% if field.label %}<label>{{ field.label }} {% endif %}{{ field }}{% if field.label %}</label>{% endif %}{% endfor %} - {% endblock %} - {% block actions-submit %} - <button type="submit" class="button" title="{% translate "Run the selected action" %}" name="index" value="{{ action_index|default:0 }}">{% translate "Go" %}</button> - {% endblock %} - {% block actions-counter %} - {% if actions_selection_counter %} - <span class="action-counter" data-actions-icnt="{{ cl.result_list|length }}">{{ selection_note }}</span> - {% if cl.result_count != cl.result_list|length %} - <span class="all">{{ selection_note_all }}</span> - <span class="question"> - <a href="#" title="{% translate "Click here to select the objects across all pages" %}">{% blocktranslate with cl.result_count as total_count %}Select all {{ total_count }} {{ module_name }}{% endblocktranslate %}</a> - </span> - <span class="clear"><a href="#">{% translate "Clear selection" %}</a></span> - {% endif %} - {% endif %} - {% endblock %} - {% endblock %} -</div> diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/app_index.html b/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/app_index.html deleted file mode 100644 index 886bf6ca..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/app_index.html +++ /dev/null @@ -1,18 +0,0 @@ -{% extends "admin/index.html" %} -{% load i18n %} - -{% block bodyclass %}{{ block.super }} app-{{ app_label }}{% endblock %} - -{% if not is_popup %} -{% block breadcrumbs %} -<div class="breadcrumbs"> -<a href="{% url 'admin:index' %}">{% translate 'Home' %}</a> -› -{% for app in app_list %} -{{ app.name }} -{% endfor %} -</div> -{% endblock %} -{% endif %} - -{% block sidebar %}{% endblock %} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/app_list.html b/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/app_list.html deleted file mode 100644 index ea4a85bd..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/app_list.html +++ /dev/null @@ -1,40 +0,0 @@ -{% load i18n %} - -{% if app_list %} - {% for app in app_list %} - <div class="app-{{ app.app_label }} module{% if app.app_url in request.path %} current-app{% endif %}"> - <table> - <caption> - <a href="{{ app.app_url }}" class="section" title="{% blocktranslate with name=app.name %}Models in the {{ name }} application{% endblocktranslate %}">{{ app.name }}</a> - </caption> - {% for model in app.models %} - <tr class="model-{{ model.object_name|lower }}{% if model.admin_url in request.path %} current-model{% endif %}"> - {% if model.admin_url %} - <th scope="row"><a href="{{ model.admin_url }}"{% if model.admin_url in request.path %} aria-current="page"{% endif %}>{{ model.name }}</a></th> - {% else %} - <th scope="row">{{ model.name }}</th> - {% endif %} - - {% if model.add_url %} - <td><a href="{{ model.add_url }}" class="addlink">{% translate 'Add' %}</a></td> - {% else %} - <td></td> - {% endif %} - - {% if model.admin_url and show_changelinks %} - {% if model.view_only %} - <td><a href="{{ model.admin_url }}" class="viewlink">{% translate 'View' %}</a></td> - {% else %} - <td><a href="{{ model.admin_url }}" class="changelink">{% translate 'Change' %}</a></td> - {% endif %} - {% elif show_changelinks %} - <td></td> - {% endif %} - </tr> - {% endfor %} - </table> - </div> - {% endfor %} -{% else %} - <p>{% translate 'You don’t have permission to view or edit anything.' %}</p> -{% endif %} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/auth/user/add_form.html b/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/auth/user/add_form.html deleted file mode 100644 index 61cf5b1b..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/auth/user/add_form.html +++ /dev/null @@ -1,10 +0,0 @@ -{% extends "admin/change_form.html" %} -{% load i18n %} - -{% block form_top %} - {% if not is_popup %} - <p>{% translate 'First, enter a username and password. Then, you’ll be able to edit more user options.' %}</p> - {% else %} - <p>{% translate "Enter a username and password." %}</p> - {% endif %} -{% endblock %} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/auth/user/change_password.html b/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/auth/user/change_password.html deleted file mode 100644 index 1c3347e6..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/auth/user/change_password.html +++ /dev/null @@ -1,60 +0,0 @@ -{% extends "admin/base_site.html" %} -{% load i18n static %} -{% load admin_urls %} - -{% block extrahead %}{{ block.super }} -<script src="{% url 'admin:jsi18n' %}"></script> -{% endblock %} -{% block extrastyle %}{{ block.super }}<link rel="stylesheet" type="text/css" href="{% static "admin/css/forms.css" %}">{% endblock %} -{% block bodyclass %}{{ block.super }} {{ opts.app_label }}-{{ opts.model_name }} change-form{% endblock %} -{% if not is_popup %} -{% block breadcrumbs %} -<div class="breadcrumbs"> -<a href="{% url 'admin:index' %}">{% translate 'Home' %}</a> -› <a href="{% url 'admin:app_list' app_label=opts.app_label %}">{{ opts.app_config.verbose_name }}</a> -› <a href="{% url opts|admin_urlname:'changelist' %}">{{ opts.verbose_name_plural|capfirst }}</a> -› <a href="{% url opts|admin_urlname:'change' original.pk|admin_urlquote %}">{{ original|truncatewords:"18" }}</a> -› {% translate 'Change password' %} -</div> -{% endblock %} -{% endif %} -{% block content %}<div id="content-main"> -<form{% if form_url %} action="{{ form_url }}"{% endif %} method="post" id="{{ opts.model_name }}_form">{% csrf_token %}{% block form_top %}{% endblock %} -<input type="text" name="username" value="{{ original.get_username }}" style="display: none"> -<div> -{% if is_popup %}<input type="hidden" name="_popup" value="1">{% endif %} -{% if form.errors %} - <p class="errornote"> - {% if form.errors.items|length == 1 %}{% translate "Please correct the error below." %}{% else %}{% translate "Please correct the errors below." %}{% endif %} - </p> -{% endif %} - -<p>{% blocktranslate with username=original %}Enter a new password for the user <strong>{{ username }}</strong>.{% endblocktranslate %}</p> - -<fieldset class="module aligned"> - -<div class="form-row"> - {{ form.password1.errors }} - {{ form.password1.label_tag }} {{ form.password1 }} - {% if form.password1.help_text %} - <div class="help">{{ form.password1.help_text|safe }}</div> - {% endif %} -</div> - -<div class="form-row"> - {{ form.password2.errors }} - {{ form.password2.label_tag }} {{ form.password2 }} - {% if form.password2.help_text %} - <div class="help">{{ form.password2.help_text|safe }}</div> - {% endif %} -</div> - -</fieldset> - -<div class="submit-row"> -<input type="submit" value="{% translate 'Change password' %}" class="default"> -</div> - -</div> -</form></div> -{% endblock %} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/base.html b/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/base.html deleted file mode 100644 index 3f39cd5b..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/base.html +++ /dev/null @@ -1,103 +0,0 @@ -{% load i18n static %}<!DOCTYPE html> -{% get_current_language as LANGUAGE_CODE %}{% get_current_language_bidi as LANGUAGE_BIDI %} -<html lang="{{ LANGUAGE_CODE|default:"en-us" }}" {% if LANGUAGE_BIDI %}dir="rtl"{% endif %}> -<head> -<title>{% block title %}{% endblock %} - -{% if not is_popup and is_nav_sidebar_enabled %} - - -{% endif %} -{% block extrastyle %}{% endblock %} -{% if LANGUAGE_BIDI %}{% endif %} -{% block extrahead %}{% endblock %} -{% block responsive %} - - - {% if LANGUAGE_BIDI %}{% endif %} -{% endblock %} -{% block blockbots %}{% endblock %} - -{% load i18n %} - - - - -
- - {% if not is_popup %} - - - - {% block breadcrumbs %} - - {% endblock %} - {% endif %} - -
- {% if not is_popup and is_nav_sidebar_enabled %} - {% block nav-sidebar %} - {% include "admin/nav_sidebar.html" %} - {% endblock %} - {% endif %} -
- {% block messages %} - {% if messages %} -
    {% for message in messages %} - {{ message|capfirst }} - {% endfor %}
- {% endif %} - {% endblock messages %} - -
- {% block pretitle %}{% endblock %} - {% block content_title %}{% if title %}

{{ title }}

{% endif %}{% endblock %} - {% block content %} - {% block object-tools %}{% endblock %} - {{ content }} - {% endblock %} - {% block sidebar %}{% endblock %} -
-
- - {% block footer %}{% endblock %} -
-
-
- - - diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/base_site.html b/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/base_site.html deleted file mode 100644 index cae0a691..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/base_site.html +++ /dev/null @@ -1,9 +0,0 @@ -{% extends "admin/base.html" %} - -{% block title %}{{ title }} | {{ site_title|default:_('Django site admin') }}{% endblock %} - -{% block branding %} -

{{ site_header|default:_('Django administration') }}

-{% endblock %} - -{% block nav-global %}{% endblock %} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/change_form.html b/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/change_form.html deleted file mode 100644 index 21b1c9bc..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/change_form.html +++ /dev/null @@ -1,81 +0,0 @@ -{% extends "admin/base_site.html" %} -{% load i18n admin_urls static admin_modify %} - -{% block extrahead %}{{ block.super }} - -{{ media }} -{% endblock %} - -{% block extrastyle %}{{ block.super }}{% endblock %} - -{% block coltype %}colM{% endblock %} - -{% block bodyclass %}{{ block.super }} app-{{ opts.app_label }} model-{{ opts.model_name }} change-form{% endblock %} - -{% if not is_popup %} -{% block breadcrumbs %} - -{% endblock %} -{% endif %} - -{% block content %}
-{% block object-tools %} -{% if change %}{% if not is_popup %} -
    - {% block object-tools-items %} - {% change_form_object_tools %} - {% endblock %} -
-{% endif %}{% endif %} -{% endblock %} -
{% csrf_token %}{% block form_top %}{% endblock %} -
-{% if is_popup %}{% endif %} -{% if to_field %}{% endif %} -{% if save_on_top %}{% block submit_buttons_top %}{% submit_row %}{% endblock %}{% endif %} -{% if errors %} -

- {% if errors|length == 1 %}{% translate "Please correct the error below." %}{% else %}{% translate "Please correct the errors below." %}{% endif %} -

- {{ adminform.form.non_field_errors }} -{% endif %} - -{% block field_sets %} -{% for fieldset in adminform %} - {% include "admin/includes/fieldset.html" %} -{% endfor %} -{% endblock %} - -{% block after_field_sets %}{% endblock %} - -{% block inline_field_sets %} -{% for inline_admin_formset in inline_admin_formsets %} - {% include inline_admin_formset.opts.template %} -{% endfor %} -{% endblock %} - -{% block after_related_objects %}{% endblock %} - -{% block submit_buttons_bottom %}{% submit_row %}{% endblock %} - -{% block admin_change_form_document_ready %} - -{% endblock %} - -{# JavaScript for prepopulated fields #} -{% prepopulated_fields_js %} - -
-
-{% endblock %} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/change_form_object_tools.html b/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/change_form_object_tools.html deleted file mode 100644 index 067ae837..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/change_form_object_tools.html +++ /dev/null @@ -1,8 +0,0 @@ -{% load i18n admin_urls %} -{% block object-tools-items %} -
  • - {% url opts|admin_urlname:'history' original.pk|admin_urlquote as history_url %} - {% translate "History" %} -
  • -{% if has_absolute_url %}
  • {% translate "View on site" %}
  • {% endif %} -{% endblock %} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/change_list.html b/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/change_list.html deleted file mode 100644 index 899003cd..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/change_list.html +++ /dev/null @@ -1,86 +0,0 @@ -{% extends "admin/base_site.html" %} -{% load i18n admin_urls static admin_list %} - -{% block extrastyle %} - {{ block.super }} - - {% if cl.formset %} - - {% endif %} - {% if cl.formset or action_form %} - - {% endif %} - {{ media.css }} - {% if not actions_on_top and not actions_on_bottom %} - - {% endif %} -{% endblock %} - -{% block extrahead %} -{{ block.super }} -{{ media.js }} -{% endblock %} - -{% block bodyclass %}{{ block.super }} app-{{ opts.app_label }} model-{{ opts.model_name }} change-list{% endblock %} - -{% if not is_popup %} -{% block breadcrumbs %} - -{% endblock %} -{% endif %} - -{% block coltype %}flex{% endblock %} - -{% block content %} -
    - {% block object-tools %} -
      - {% block object-tools-items %} - {% change_list_object_tools %} - {% endblock %} -
    - {% endblock %} - {% if cl.formset and cl.formset.errors %} -

    - {% if cl.formset.total_error_count == 1 %}{% translate "Please correct the error below." %}{% else %}{% translate "Please correct the errors below." %}{% endif %} -

    - {{ cl.formset.non_form_errors }} - {% endif %} -
    -
    - {% block search %}{% search_form cl %}{% endblock %} - {% block date_hierarchy %}{% if cl.date_hierarchy %}{% date_hierarchy cl %}{% endif %}{% endblock %} - -
    {% csrf_token %} - {% if cl.formset %} -
    {{ cl.formset.management_form }}
    - {% endif %} - - {% block result_list %} - {% if action_form and actions_on_top and cl.show_admin_actions %}{% admin_actions %}{% endif %} - {% result_list cl %} - {% if action_form and actions_on_bottom and cl.show_admin_actions %}{% admin_actions %}{% endif %} - {% endblock %} - {% block pagination %}{% pagination cl %}{% endblock %} -
    -
    - {% block filters %} - {% if cl.has_filters %} -
    -

    {% translate 'Filter' %}

    - {% if cl.has_active_filters %}

    - ✖ {% translate "Clear all filters" %} -

    {% endif %} - {% for spec in cl.filter_specs %}{% admin_list_filter cl spec %}{% endfor %} -
    - {% endif %} - {% endblock %} -
    -
    -{% endblock %} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/change_list_object_tools.html b/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/change_list_object_tools.html deleted file mode 100644 index 11cc6fa4..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/change_list_object_tools.html +++ /dev/null @@ -1,12 +0,0 @@ -{% load i18n admin_urls %} - -{% block object-tools-items %} - {% if has_add_permission %} -
  • - {% url cl.opts|admin_urlname:'add' as add_url %} - - {% blocktranslate with cl.opts.verbose_name as name %}Add {{ name }}{% endblocktranslate %} - -
  • - {% endif %} -{% endblock %} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/change_list_results.html b/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/change_list_results.html deleted file mode 100644 index 7eeba04f..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/change_list_results.html +++ /dev/null @@ -1,38 +0,0 @@ -{% load i18n static %} -{% if result_hidden_fields %} -
    {# DIV for HTML validation #} -{% for item in result_hidden_fields %}{{ item }}{% endfor %} -
    -{% endif %} -{% if results %} -
    - - - -{% for header in result_headers %} -{% endfor %} - - - -{% for result in results %} -{% if result.form and result.form.non_field_errors %} - -{% endif %} -{% for item in result %}{{ item }}{% endfor %} -{% endfor %} - -
    - {% if header.sortable %} - {% if header.sort_priority > 0 %} -
    - - {% if num_sorted_fields > 1 %}{{ header.sort_priority }}{% endif %} - -
    - {% endif %} - {% endif %} -
    {% if header.sortable %}{{ header.text|capfirst }}{% else %}{{ header.text|capfirst }}{% endif %}
    -
    -
    {{ result.form.non_field_errors }}
    -
    -{% endif %} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/date_hierarchy.html b/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/date_hierarchy.html deleted file mode 100644 index 65ae8001..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/date_hierarchy.html +++ /dev/null @@ -1,16 +0,0 @@ -{% if show %} -
    -
    -
    -{% endif %} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/delete_confirmation.html b/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/delete_confirmation.html deleted file mode 100644 index d4c9b295..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/delete_confirmation.html +++ /dev/null @@ -1,52 +0,0 @@ -{% extends "admin/base_site.html" %} -{% load i18n admin_urls static %} - -{% block extrahead %} - {{ block.super }} - {{ media }} - -{% endblock %} - -{% block bodyclass %}{{ block.super }} app-{{ opts.app_label }} model-{{ opts.model_name }} delete-confirmation{% endblock %} - -{% block breadcrumbs %} - -{% endblock %} - -{% block content %} -{% if perms_lacking %} -

    {% blocktranslate with escaped_object=object %}Deleting the {{ object_name }} '{{ escaped_object }}' would result in deleting related objects, but your account doesn't have permission to delete the following types of objects:{% endblocktranslate %}

    -
      - {% for obj in perms_lacking %} -
    • {{ obj }}
    • - {% endfor %} -
    -{% elif protected %} -

    {% blocktranslate with escaped_object=object %}Deleting the {{ object_name }} '{{ escaped_object }}' would require deleting the following protected related objects:{% endblocktranslate %}

    -
      - {% for obj in protected %} -
    • {{ obj }}
    • - {% endfor %} -
    -{% else %} -

    {% blocktranslate with escaped_object=object %}Are you sure you want to delete the {{ object_name }} "{{ escaped_object }}"? All of the following related items will be deleted:{% endblocktranslate %}

    - {% include "admin/includes/object_delete_summary.html" %} -

    {% translate "Objects" %}

    -
      {{ deleted_objects|unordered_list }}
    -
    {% csrf_token %} -
    - - {% if is_popup %}{% endif %} - {% if to_field %}{% endif %} - - {% translate "No, take me back" %} -
    -
    -{% endif %} -{% endblock %} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/delete_selected_confirmation.html b/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/delete_selected_confirmation.html deleted file mode 100644 index a49b6ade..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/delete_selected_confirmation.html +++ /dev/null @@ -1,55 +0,0 @@ -{% extends "admin/base_site.html" %} -{% load i18n l10n admin_urls static %} - -{% block extrahead %} - {{ block.super }} - {{ media }} - -{% endblock %} - -{% block bodyclass %}{{ block.super }} app-{{ opts.app_label }} model-{{ opts.model_name }} delete-confirmation delete-selected-confirmation{% endblock %} - -{% block breadcrumbs %} - -{% endblock %} - -{% block content %} -{% if perms_lacking %} -

    {% blocktranslate %}Deleting the selected {{ objects_name }} would result in deleting related objects, but your account doesn't have permission to delete the following types of objects:{% endblocktranslate %}

    -
      - {% for obj in perms_lacking %} -
    • {{ obj }}
    • - {% endfor %} -
    -{% elif protected %} -

    {% blocktranslate %}Deleting the selected {{ objects_name }} would require deleting the following protected related objects:{% endblocktranslate %}

    -
      - {% for obj in protected %} -
    • {{ obj }}
    • - {% endfor %} -
    -{% else %} -

    {% blocktranslate %}Are you sure you want to delete the selected {{ objects_name }}? All of the following objects and their related items will be deleted:{% endblocktranslate %}

    - {% include "admin/includes/object_delete_summary.html" %} -

    {% translate "Objects" %}

    - {% for deletable_object in deletable_objects %} -
      {{ deletable_object|unordered_list }}
    - {% endfor %} -
    {% csrf_token %} -
    - {% for obj in queryset %} - - {% endfor %} - - - - {% translate "No, take me back" %} -
    -
    -{% endif %} -{% endblock %} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/edit_inline/stacked.html b/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/edit_inline/stacked.html deleted file mode 100644 index 0292c6ef..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/edit_inline/stacked.html +++ /dev/null @@ -1,25 +0,0 @@ -{% load i18n admin_urls static %} -
    -
    -

    {{ inline_admin_formset.opts.verbose_name_plural|capfirst }}

    -{{ inline_admin_formset.formset.management_form }} -{{ inline_admin_formset.formset.non_form_errors }} - -{% for inline_admin_form in inline_admin_formset %}
    -

    {{ inline_admin_formset.opts.verbose_name|capfirst }}: {% if inline_admin_form.original %}{{ inline_admin_form.original }}{% if inline_admin_form.model_admin.show_change_link and inline_admin_form.model_admin.has_registered_model %} {% if inline_admin_formset.has_change_permission %}{% translate "Change" %}{% else %}{% translate "View" %}{% endif %}{% endif %} -{% else %}#{{ forloop.counter }}{% endif %} - {% if inline_admin_form.show_url %}{% translate "View on site" %}{% endif %} - {% if inline_admin_formset.formset.can_delete and inline_admin_formset.has_delete_permission and inline_admin_form.original %}{{ inline_admin_form.deletion_field.field }} {{ inline_admin_form.deletion_field.label_tag }}{% endif %} -

    - {% if inline_admin_form.form.non_field_errors %}{{ inline_admin_form.form.non_field_errors }}{% endif %} - {% for fieldset in inline_admin_form %} - {% include "admin/includes/fieldset.html" %} - {% endfor %} - {% if inline_admin_form.needs_explicit_pk_field %}{{ inline_admin_form.pk_field.field }}{% endif %} - {% if inline_admin_form.fk_field %}{{ inline_admin_form.fk_field.field }}{% endif %} -
    {% endfor %} -
    -
    diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/edit_inline/tabular.html b/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/edit_inline/tabular.html deleted file mode 100644 index c19d2840..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/edit_inline/tabular.html +++ /dev/null @@ -1,75 +0,0 @@ -{% load i18n admin_urls static admin_modify %} -
    - -
    diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/filter.html b/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/filter.html deleted file mode 100644 index 35dc553b..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/filter.html +++ /dev/null @@ -1,8 +0,0 @@ -{% load i18n %} -

    {% blocktranslate with filter_title=title %} By {{ filter_title }} {% endblocktranslate %}

    - diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/includes/fieldset.html b/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/includes/fieldset.html deleted file mode 100644 index 218fd5a4..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/includes/fieldset.html +++ /dev/null @@ -1,29 +0,0 @@ -
    - {% if fieldset.name %}

    {{ fieldset.name }}

    {% endif %} - {% if fieldset.description %} -
    {{ fieldset.description|safe }}
    - {% endif %} - {% for line in fieldset %} -
    - {% if line.fields|length_is:'1' %}{{ line.errors }}{% endif %} - {% for field in line %} - - {% if not line.fields|length_is:'1' and not field.is_readonly %}{{ field.errors }}{% endif %} - {% if field.is_checkbox %} - {{ field.field }}{{ field.label_tag }} - {% else %} - {{ field.label_tag }} - {% if field.is_readonly %} -
    {{ field.contents }}
    - {% else %} - {{ field.field }} - {% endif %} - {% endif %} - {% if field.field.help_text %} -
    {{ field.field.help_text|safe }}
    - {% endif %} -
    - {% endfor %} - - {% endfor %} -
    diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/includes/object_delete_summary.html b/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/includes/object_delete_summary.html deleted file mode 100644 index 9ad97db2..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/includes/object_delete_summary.html +++ /dev/null @@ -1,7 +0,0 @@ -{% load i18n %} -

    {% translate "Summary" %}

    -
      - {% for model_name, object_count in model_count %} -
    • {{ model_name|capfirst }}: {{ object_count }}
    • - {% endfor %} -
    diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/index.html b/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/index.html deleted file mode 100644 index b6e84b64..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/index.html +++ /dev/null @@ -1,50 +0,0 @@ -{% extends "admin/base_site.html" %} -{% load i18n static %} - -{% block extrastyle %}{{ block.super }}{% endblock %} - -{% block coltype %}colMS{% endblock %} - -{% block bodyclass %}{{ block.super }} dashboard{% endblock %} - -{% block breadcrumbs %}{% endblock %} - -{% block nav-sidebar %}{% endblock %} - -{% block content %} -
    - {% include "admin/app_list.html" with app_list=app_list show_changelinks=True %} -
    -{% endblock %} - -{% block sidebar %} - -{% endblock %} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/invalid_setup.html b/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/invalid_setup.html deleted file mode 100644 index 1ef7c714..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/invalid_setup.html +++ /dev/null @@ -1,13 +0,0 @@ -{% extends "admin/base_site.html" %} -{% load i18n %} - -{% block breadcrumbs %} - -{% endblock %} - -{% block content %} -

    {% translate 'Something’s wrong with your database installation. Make sure the appropriate database tables have been created, and make sure the database is readable by the appropriate user.' %}

    -{% endblock %} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/login.html b/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/login.html deleted file mode 100644 index 7a192a4b..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/login.html +++ /dev/null @@ -1,68 +0,0 @@ -{% extends "admin/base_site.html" %} -{% load i18n static %} - -{% block extrastyle %}{{ block.super }} -{{ form.media }} -{% endblock %} - -{% block bodyclass %}{{ block.super }} login{% endblock %} - -{% block usertools %}{% endblock %} - -{% block nav-global %}{% endblock %} - -{% block nav-sidebar %}{% endblock %} - -{% block content_title %}{% endblock %} - -{% block breadcrumbs %}{% endblock %} - -{% block content %} -{% if form.errors and not form.non_field_errors %} -

    -{% if form.errors.items|length == 1 %}{% translate "Please correct the error below." %}{% else %}{% translate "Please correct the errors below." %}{% endif %} -

    -{% endif %} - -{% if form.non_field_errors %} -{% for error in form.non_field_errors %} -

    - {{ error }} -

    -{% endfor %} -{% endif %} - -
    - -{% if user.is_authenticated %} -

    -{% blocktranslate trimmed %} - You are authenticated as {{ username }}, but are not authorized to - access this page. Would you like to login to a different account? -{% endblocktranslate %} -

    -{% endif %} - -
    {% csrf_token %} -
    - {{ form.username.errors }} - {{ form.username.label_tag }} {{ form.username }} -
    -
    - {{ form.password.errors }} - {{ form.password.label_tag }} {{ form.password }} - -
    - {% url 'admin_password_reset' as password_reset_url %} - {% if password_reset_url %} - - {% endif %} -
    - -
    -
    - -
    -{% endblock %} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/nav_sidebar.html b/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/nav_sidebar.html deleted file mode 100644 index 32c5b8f8..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/nav_sidebar.html +++ /dev/null @@ -1,5 +0,0 @@ -{% load i18n %} - - diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/object_history.html b/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/object_history.html deleted file mode 100644 index 3015f36c..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/object_history.html +++ /dev/null @@ -1,42 +0,0 @@ -{% extends "admin/base_site.html" %} -{% load i18n admin_urls %} - -{% block breadcrumbs %} - -{% endblock %} - -{% block content %} -
    -
    - -{% if action_list %} - - - - - - - - - - {% for action in action_list %} - - - - - - {% endfor %} - -
    {% translate 'Date/time' %}{% translate 'User' %}{% translate 'Action' %}
    {{ action.action_time|date:"DATETIME_FORMAT" }}{{ action.user.get_username }}{% if action.user.get_full_name %} ({{ action.user.get_full_name }}){% endif %}{{ action.get_change_message }}
    -{% else %} -

    {% translate 'This object doesn’t have a change history. It probably wasn’t added via this admin site.' %}

    -{% endif %} -
    -
    -{% endblock %} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/pagination.html b/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/pagination.html deleted file mode 100644 index bc3117bf..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/pagination.html +++ /dev/null @@ -1,12 +0,0 @@ -{% load admin_list %} -{% load i18n %} -

    -{% if pagination_required %} -{% for i in page_range %} - {% paginator_number cl i %} -{% endfor %} -{% endif %} -{{ cl.result_count }} {% if cl.result_count == 1 %}{{ cl.opts.verbose_name }}{% else %}{{ cl.opts.verbose_name_plural }}{% endif %} -{% if show_all_url %}{% translate 'Show all' %}{% endif %} -{% if cl.formset and cl.result_count %}{% endif %} -

    diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/popup_response.html b/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/popup_response.html deleted file mode 100644 index 57a1ae36..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/popup_response.html +++ /dev/null @@ -1,10 +0,0 @@ -{% load i18n static %} - - {% translate 'Popup closing…' %} - - - - diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/prepopulated_fields_js.html b/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/prepopulated_fields_js.html deleted file mode 100644 index bbe1916f..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/prepopulated_fields_js.html +++ /dev/null @@ -1,5 +0,0 @@ -{% load l10n static %} - diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/search_form.html b/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/search_form.html deleted file mode 100644 index 3ec37f2e..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/search_form.html +++ /dev/null @@ -1,16 +0,0 @@ -{% load i18n static %} -{% if cl.search_fields %} -
    -{% endif %} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/submit_line.html b/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/submit_line.html deleted file mode 100644 index f401f0d8..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/submit_line.html +++ /dev/null @@ -1,14 +0,0 @@ -{% load i18n admin_urls %} -
    -{% block submit-row %} -{% if show_save %}{% endif %} -{% if show_delete_link and original %} - {% url opts|admin_urlname:'delete' original.pk|admin_urlquote as delete_url %} - -{% endif %} -{% if show_save_as_new %}{% endif %} -{% if show_save_and_add_another %}{% endif %} -{% if show_save_and_continue %}{% endif %} -{% if show_close %}{% translate 'Close' %}{% endif %} -{% endblock %} -
    diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/widgets/clearable_file_input.html b/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/widgets/clearable_file_input.html deleted file mode 100644 index fe71ebdb..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/widgets/clearable_file_input.html +++ /dev/null @@ -1,6 +0,0 @@ -{% if widget.is_initial %}

    {{ widget.initial_text }}: {{ widget.value }}{% if not widget.required %} - - -{% endif %}
    -{{ widget.input_text }}:{% endif %} -{% if widget.is_initial %}

    {% endif %} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/widgets/foreign_key_raw_id.html b/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/widgets/foreign_key_raw_id.html deleted file mode 100644 index ca25b526..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/widgets/foreign_key_raw_id.html +++ /dev/null @@ -1,2 +0,0 @@ -{% include 'django/forms/widgets/input.html' %}{% if related_url %}{% endif %}{% if link_label %} -{% if link_url %}{% endif %}{{ link_label }}{% if link_url %}{% endif %}{% endif %} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/widgets/many_to_many_raw_id.html b/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/widgets/many_to_many_raw_id.html deleted file mode 100644 index 0dd0331d..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/widgets/many_to_many_raw_id.html +++ /dev/null @@ -1 +0,0 @@ -{% include 'admin/widgets/foreign_key_raw_id.html' %} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/widgets/radio.html b/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/widgets/radio.html deleted file mode 100644 index 780899af..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/widgets/radio.html +++ /dev/null @@ -1 +0,0 @@ -{% include "django/forms/widgets/multiple_input.html" %} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/widgets/related_widget_wrapper.html b/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/widgets/related_widget_wrapper.html deleted file mode 100644 index a97bec16..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/widgets/related_widget_wrapper.html +++ /dev/null @@ -1,31 +0,0 @@ -{% load i18n static %} - diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/widgets/split_datetime.html b/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/widgets/split_datetime.html deleted file mode 100644 index 7fc7bf68..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/widgets/split_datetime.html +++ /dev/null @@ -1,4 +0,0 @@ -

    - {{ date_label }} {% with widget=widget.subwidgets.0 %}{% include widget.template_name %}{% endwith %}
    - {{ time_label }} {% with widget=widget.subwidgets.1 %}{% include widget.template_name %}{% endwith %} -

    diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/widgets/url.html b/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/widgets/url.html deleted file mode 100644 index 69dc401b..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/admin/widgets/url.html +++ /dev/null @@ -1 +0,0 @@ -{% if url_valid %}

    {{ current_label }} {{ widget.value }}
    {{ change_label }} {% endif %}{% include "django/forms/widgets/input.html" %}{% if url_valid %}

    {% endif %} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/registration/logged_out.html b/venv/lib/python3.8/site-packages/django/contrib/admin/templates/registration/logged_out.html deleted file mode 100644 index 460e17ea..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/registration/logged_out.html +++ /dev/null @@ -1,14 +0,0 @@ -{% extends "admin/base_site.html" %} -{% load i18n %} - -{% block breadcrumbs %}{% endblock %} - -{% block nav-sidebar %}{% endblock %} - -{% block content %} - -

    {% translate "Thanks for spending some quality time with the Web site today." %}

    - -

    {% translate 'Log in again' %}

    - -{% endblock %} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/registration/password_change_done.html b/venv/lib/python3.8/site-packages/django/contrib/admin/templates/registration/password_change_done.html deleted file mode 100644 index 9cc85f83..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/registration/password_change_done.html +++ /dev/null @@ -1,15 +0,0 @@ -{% extends "admin/base_site.html" %} -{% load i18n %} -{% block userlinks %}{% url 'django-admindocs-docroot' as docsroot %}{% if docsroot %}{% translate 'Documentation' %} / {% endif %}{% translate 'Change password' %} / {% translate 'Log out' %}{% endblock %} -{% block breadcrumbs %} - -{% endblock %} - -{% block title %}{{ title }}{% endblock %} -{% block content_title %}

    {{ title }}

    {% endblock %} -{% block content %} -

    {% translate 'Your password was changed.' %}

    -{% endblock %} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/registration/password_change_form.html b/venv/lib/python3.8/site-packages/django/contrib/admin/templates/registration/password_change_form.html deleted file mode 100644 index d3a9bf30..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/registration/password_change_form.html +++ /dev/null @@ -1,60 +0,0 @@ -{% extends "admin/base_site.html" %} -{% load i18n static %} -{% block extrastyle %}{{ block.super }}{% endblock %} -{% block userlinks %}{% url 'django-admindocs-docroot' as docsroot %}{% if docsroot %}{% translate 'Documentation' %} / {% endif %} {% translate 'Change password' %} / {% translate 'Log out' %}{% endblock %} -{% block breadcrumbs %} - -{% endblock %} - -{% block title %}{{ title }}{% endblock %} -{% block content_title %}

    {{ title }}

    {% endblock %} - -{% block content %}
    - -
    {% csrf_token %} -
    -{% if form.errors %} -

    - {% if form.errors.items|length == 1 %}{% translate "Please correct the error below." %}{% else %}{% translate "Please correct the errors below." %}{% endif %} -

    -{% endif %} - - -

    {% translate 'Please enter your old password, for security’s sake, and then enter your new password twice so we can verify you typed it in correctly.' %}

    - -
    - -
    - {{ form.old_password.errors }} - {{ form.old_password.label_tag }} {{ form.old_password }} -
    - -
    - {{ form.new_password1.errors }} - {{ form.new_password1.label_tag }} {{ form.new_password1 }} - {% if form.new_password1.help_text %} -
    {{ form.new_password1.help_text|safe }}
    - {% endif %} -
    - -
    -{{ form.new_password2.errors }} - {{ form.new_password2.label_tag }} {{ form.new_password2 }} - {% if form.new_password2.help_text %} -
    {{ form.new_password2.help_text|safe }}
    - {% endif %} -
    - -
    - -
    - -
    - -
    -
    - -{% endblock %} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/registration/password_reset_complete.html b/venv/lib/python3.8/site-packages/django/contrib/admin/templates/registration/password_reset_complete.html deleted file mode 100644 index 396f3398..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/registration/password_reset_complete.html +++ /dev/null @@ -1,20 +0,0 @@ -{% extends "admin/base_site.html" %} -{% load i18n %} - -{% block breadcrumbs %} - -{% endblock %} - -{% block title %}{{ title }}{% endblock %} -{% block content_title %}

    {{ title }}

    {% endblock %} - -{% block content %} - -

    {% translate "Your password has been set. You may go ahead and log in now." %}

    - -

    {% translate 'Log in' %}

    - -{% endblock %} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/registration/password_reset_confirm.html b/venv/lib/python3.8/site-packages/django/contrib/admin/templates/registration/password_reset_confirm.html deleted file mode 100644 index 20ef252b..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/registration/password_reset_confirm.html +++ /dev/null @@ -1,42 +0,0 @@ -{% extends "admin/base_site.html" %} -{% load i18n static %} - -{% block extrastyle %}{{ block.super }}{% endblock %} -{% block breadcrumbs %} - -{% endblock %} - -{% block title %}{{ title }}{% endblock %} -{% block content_title %}

    {{ title }}

    {% endblock %} -{% block content %} - -{% if validlink %} - -

    {% translate "Please enter your new password twice so we can verify you typed it in correctly." %}

    - -
    {% csrf_token %} -
    -
    - {{ form.new_password1.errors }} - - {{ form.new_password1 }} -
    -
    - {{ form.new_password2.errors }} - - {{ form.new_password2 }} -
    - -
    -
    - -{% else %} - -

    {% translate "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." %}

    - -{% endif %} - -{% endblock %} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/registration/password_reset_done.html b/venv/lib/python3.8/site-packages/django/contrib/admin/templates/registration/password_reset_done.html deleted file mode 100644 index 1f6e83aa..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/registration/password_reset_done.html +++ /dev/null @@ -1,19 +0,0 @@ -{% extends "admin/base_site.html" %} -{% load i18n %} - -{% block breadcrumbs %} - -{% endblock %} - -{% block title %}{{ title }}{% endblock %} -{% block content_title %}

    {{ title }}

    {% endblock %} -{% block content %} - -

    {% translate 'We’ve emailed you instructions for setting your password, if an account exists with the email you entered. You should receive them shortly.' %}

    - -

    {% translate 'If you don’t receive an email, please make sure you’ve entered the address you registered with, and check your spam folder.' %}

    - -{% endblock %} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/registration/password_reset_email.html b/venv/lib/python3.8/site-packages/django/contrib/admin/templates/registration/password_reset_email.html deleted file mode 100644 index 64822091..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/registration/password_reset_email.html +++ /dev/null @@ -1,14 +0,0 @@ -{% load i18n %}{% autoescape off %} -{% blocktranslate %}You're receiving this email because you requested a password reset for your user account at {{ site_name }}.{% endblocktranslate %} - -{% translate "Please go to the following page and choose a new password:" %} -{% block reset_link %} -{{ protocol }}://{{ domain }}{% url 'password_reset_confirm' uidb64=uid token=token %} -{% endblock %} -{% translate 'Your username, in case you’ve forgotten:' %} {{ user.get_username }} - -{% translate "Thanks for using our site!" %} - -{% blocktranslate %}The {{ site_name }} team{% endblocktranslate %} - -{% endautoescape %} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/registration/password_reset_form.html b/venv/lib/python3.8/site-packages/django/contrib/admin/templates/registration/password_reset_form.html deleted file mode 100644 index d5493d9d..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templates/registration/password_reset_form.html +++ /dev/null @@ -1,29 +0,0 @@ -{% extends "admin/base_site.html" %} -{% load i18n static %} - -{% block extrastyle %}{{ block.super }}{% endblock %} -{% block breadcrumbs %} - -{% endblock %} - -{% block title %}{{ title }}{% endblock %} -{% block content_title %}

    {{ title }}

    {% endblock %} -{% block content %} - -

    {% translate 'Forgotten your password? Enter your email address below, and we’ll email instructions for setting a new one.' %}

    - -
    {% csrf_token %} -
    -
    - {{ form.email.errors }} - - {{ form.email }} -
    - -
    -
    - -{% endblock %} diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templatetags/__init__.py b/venv/lib/python3.8/site-packages/django/contrib/admin/templatetags/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templatetags/__pycache__/__init__.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/contrib/admin/templatetags/__pycache__/__init__.cpython-38.pyc deleted file mode 100644 index 0d29b27d..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/templatetags/__pycache__/__init__.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templatetags/__pycache__/admin_list.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/contrib/admin/templatetags/__pycache__/admin_list.cpython-38.pyc deleted file mode 100644 index 6f90b5e7..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/templatetags/__pycache__/admin_list.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templatetags/__pycache__/admin_modify.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/contrib/admin/templatetags/__pycache__/admin_modify.cpython-38.pyc deleted file mode 100644 index 976ef21c..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/templatetags/__pycache__/admin_modify.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templatetags/__pycache__/admin_urls.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/contrib/admin/templatetags/__pycache__/admin_urls.cpython-38.pyc deleted file mode 100644 index 059161ef..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/templatetags/__pycache__/admin_urls.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templatetags/__pycache__/base.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/contrib/admin/templatetags/__pycache__/base.cpython-38.pyc deleted file mode 100644 index 72dcbf47..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/templatetags/__pycache__/base.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templatetags/__pycache__/log.cpython-38.pyc b/venv/lib/python3.8/site-packages/django/contrib/admin/templatetags/__pycache__/log.cpython-38.pyc deleted file mode 100644 index 46458167..00000000 Binary files a/venv/lib/python3.8/site-packages/django/contrib/admin/templatetags/__pycache__/log.cpython-38.pyc and /dev/null differ diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templatetags/admin_list.py b/venv/lib/python3.8/site-packages/django/contrib/admin/templatetags/admin_list.py deleted file mode 100644 index 55565579..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templatetags/admin_list.py +++ /dev/null @@ -1,499 +0,0 @@ -import datetime - -from django.contrib.admin.templatetags.admin_urls import add_preserved_filters -from django.contrib.admin.utils import ( - display_for_field, display_for_value, get_fields_from_path, - label_for_field, lookup_field, -) -from django.contrib.admin.views.main import ( - ALL_VAR, ORDER_VAR, PAGE_VAR, SEARCH_VAR, -) -from django.core.exceptions import ObjectDoesNotExist -from django.db import models -from django.template import Library -from django.template.loader import get_template -from django.templatetags.static import static -from django.urls import NoReverseMatch -from django.utils import formats, timezone -from django.utils.html import format_html -from django.utils.safestring import mark_safe -from django.utils.text import capfirst -from django.utils.translation import gettext as _ - -from .base import InclusionAdminNode - -register = Library() - -DOT = '.' - - -@register.simple_tag -def paginator_number(cl, i): - """ - Generate an individual page index link in a paginated list. - """ - if i == DOT: - return '… ' - elif i == cl.page_num: - return format_html('{} ', i + 1) - else: - return format_html( - '{} ', - cl.get_query_string({PAGE_VAR: i}), - mark_safe(' class="end"' if i == cl.paginator.num_pages - 1 else ''), - i + 1, - ) - - -def pagination(cl): - """ - Generate the series of links to the pages in a paginated list. - """ - paginator, page_num = cl.paginator, cl.page_num - - pagination_required = (not cl.show_all or not cl.can_show_all) and cl.multi_page - if not pagination_required: - page_range = [] - else: - ON_EACH_SIDE = 3 - ON_ENDS = 2 - - # If there are 10 or fewer pages, display links to every page. - # Otherwise, do some fancy - if paginator.num_pages <= 10: - page_range = range(paginator.num_pages) - else: - # Insert "smart" pagination links, so that there are always ON_ENDS - # links at either end of the list of pages, and there are always - # ON_EACH_SIDE links at either end of the "current page" link. - page_range = [] - if page_num > (ON_EACH_SIDE + ON_ENDS): - page_range += [ - *range(0, ON_ENDS), DOT, - *range(page_num - ON_EACH_SIDE, page_num + 1), - ] - else: - page_range.extend(range(0, page_num + 1)) - if page_num < (paginator.num_pages - ON_EACH_SIDE - ON_ENDS - 1): - page_range += [ - *range(page_num + 1, page_num + ON_EACH_SIDE + 1), DOT, - *range(paginator.num_pages - ON_ENDS, paginator.num_pages) - ] - else: - page_range.extend(range(page_num + 1, paginator.num_pages)) - - need_show_all_link = cl.can_show_all and not cl.show_all and cl.multi_page - return { - 'cl': cl, - 'pagination_required': pagination_required, - 'show_all_url': need_show_all_link and cl.get_query_string({ALL_VAR: ''}), - 'page_range': page_range, - 'ALL_VAR': ALL_VAR, - '1': 1, - } - - -@register.tag(name='pagination') -def pagination_tag(parser, token): - return InclusionAdminNode( - parser, token, - func=pagination, - template_name='pagination.html', - takes_context=False, - ) - - -def result_headers(cl): - """ - Generate the list column headers. - """ - ordering_field_columns = cl.get_ordering_field_columns() - for i, field_name in enumerate(cl.list_display): - text, attr = label_for_field( - field_name, cl.model, - model_admin=cl.model_admin, - return_attr=True - ) - is_field_sortable = cl.sortable_by is None or field_name in cl.sortable_by - if attr: - field_name = _coerce_field_name(field_name, i) - # Potentially not sortable - - # if the field is the action checkbox: no sorting and special class - if field_name == 'action_checkbox': - yield { - "text": text, - "class_attrib": mark_safe(' class="action-checkbox-column"'), - "sortable": False, - } - continue - - admin_order_field = getattr(attr, "admin_order_field", None) - # Set ordering for attr that is a property, if defined. - if isinstance(attr, property) and hasattr(attr, 'fget'): - admin_order_field = getattr(attr.fget, 'admin_order_field', None) - if not admin_order_field: - is_field_sortable = False - - if not is_field_sortable: - # Not sortable - yield { - 'text': text, - 'class_attrib': format_html(' class="column-{}"', field_name), - 'sortable': False, - } - continue - - # OK, it is sortable if we got this far - th_classes = ['sortable', 'column-{}'.format(field_name)] - order_type = '' - new_order_type = 'asc' - sort_priority = 0 - # Is it currently being sorted on? - is_sorted = i in ordering_field_columns - if is_sorted: - order_type = ordering_field_columns.get(i).lower() - sort_priority = list(ordering_field_columns).index(i) + 1 - th_classes.append('sorted %sending' % order_type) - new_order_type = {'asc': 'desc', 'desc': 'asc'}[order_type] - - # build new ordering param - o_list_primary = [] # URL for making this field the primary sort - o_list_remove = [] # URL for removing this field from sort - o_list_toggle = [] # URL for toggling order type for this field - - def make_qs_param(t, n): - return ('-' if t == 'desc' else '') + str(n) - - for j, ot in ordering_field_columns.items(): - if j == i: # Same column - param = make_qs_param(new_order_type, j) - # We want clicking on this header to bring the ordering to the - # front - o_list_primary.insert(0, param) - o_list_toggle.append(param) - # o_list_remove - omit - else: - param = make_qs_param(ot, j) - o_list_primary.append(param) - o_list_toggle.append(param) - o_list_remove.append(param) - - if i not in ordering_field_columns: - o_list_primary.insert(0, make_qs_param(new_order_type, i)) - - yield { - "text": text, - "sortable": True, - "sorted": is_sorted, - "ascending": order_type == "asc", - "sort_priority": sort_priority, - "url_primary": cl.get_query_string({ORDER_VAR: '.'.join(o_list_primary)}), - "url_remove": cl.get_query_string({ORDER_VAR: '.'.join(o_list_remove)}), - "url_toggle": cl.get_query_string({ORDER_VAR: '.'.join(o_list_toggle)}), - "class_attrib": format_html(' class="{}"', ' '.join(th_classes)) if th_classes else '', - } - - -def _boolean_icon(field_val): - icon_url = static('admin/img/icon-%s.svg' % {True: 'yes', False: 'no', None: 'unknown'}[field_val]) - return format_html('{}', icon_url, field_val) - - -def _coerce_field_name(field_name, field_index): - """ - Coerce a field_name (which may be a callable) to a string. - """ - if callable(field_name): - if field_name.__name__ == '': - return 'lambda' + str(field_index) - else: - return field_name.__name__ - return field_name - - -def items_for_result(cl, result, form): - """ - Generate the actual list of data. - """ - - def link_in_col(is_first, field_name, cl): - if cl.list_display_links is None: - return False - if is_first and not cl.list_display_links: - return True - return field_name in cl.list_display_links - - first = True - pk = cl.lookup_opts.pk.attname - for field_index, field_name in enumerate(cl.list_display): - empty_value_display = cl.model_admin.get_empty_value_display() - row_classes = ['field-%s' % _coerce_field_name(field_name, field_index)] - try: - f, attr, value = lookup_field(field_name, result, cl.model_admin) - except ObjectDoesNotExist: - result_repr = empty_value_display - else: - empty_value_display = getattr(attr, 'empty_value_display', empty_value_display) - if f is None or f.auto_created: - if field_name == 'action_checkbox': - row_classes = ['action-checkbox'] - boolean = getattr(attr, 'boolean', False) - result_repr = display_for_value(value, empty_value_display, boolean) - if isinstance(value, (datetime.date, datetime.time)): - row_classes.append('nowrap') - else: - if isinstance(f.remote_field, models.ManyToOneRel): - field_val = getattr(result, f.name) - if field_val is None: - result_repr = empty_value_display - else: - result_repr = field_val - else: - result_repr = display_for_field(value, f, empty_value_display) - if isinstance(f, (models.DateField, models.TimeField, models.ForeignKey)): - row_classes.append('nowrap') - row_class = mark_safe(' class="%s"' % ' '.join(row_classes)) - # If list_display_links not defined, add the link tag to the first field - if link_in_col(first, field_name, cl): - table_tag = 'th' if first else 'td' - first = False - - # Display link to the result's change_view if the url exists, else - # display just the result's representation. - try: - url = cl.url_for_result(result) - except NoReverseMatch: - link_or_text = result_repr - else: - url = add_preserved_filters({'preserved_filters': cl.preserved_filters, 'opts': cl.opts}, url) - # Convert the pk to something that can be used in Javascript. - # Problem cases are non-ASCII strings. - if cl.to_field: - attr = str(cl.to_field) - else: - attr = pk - value = result.serializable_value(attr) - link_or_text = format_html( - '{}', - url, - format_html( - ' data-popup-opener="{}"', value - ) if cl.is_popup else '', - result_repr) - - yield format_html('<{}{}>{}', table_tag, row_class, link_or_text, table_tag) - else: - # By default the fields come from ModelAdmin.list_editable, but if we pull - # the fields out of the form instead of list_editable custom admins - # can provide fields on a per request basis - if (form and field_name in form.fields and not ( - field_name == cl.model._meta.pk.name and - form[cl.model._meta.pk.name].is_hidden)): - bf = form[field_name] - result_repr = mark_safe(str(bf.errors) + str(bf)) - yield format_html('{}', row_class, result_repr) - if form and not form[cl.model._meta.pk.name].is_hidden: - yield format_html('{}', form[cl.model._meta.pk.name]) - - -class ResultList(list): - """ - Wrapper class used to return items in a list_editable changelist, annotated - with the form object for error reporting purposes. Needed to maintain - backwards compatibility with existing admin templates. - """ - def __init__(self, form, *items): - self.form = form - super().__init__(*items) - - -def results(cl): - if cl.formset: - for res, form in zip(cl.result_list, cl.formset.forms): - yield ResultList(form, items_for_result(cl, res, form)) - else: - for res in cl.result_list: - yield ResultList(None, items_for_result(cl, res, None)) - - -def result_hidden_fields(cl): - if cl.formset: - for res, form in zip(cl.result_list, cl.formset.forms): - if form[cl.model._meta.pk.name].is_hidden: - yield mark_safe(form[cl.model._meta.pk.name]) - - -def result_list(cl): - """ - Display the headers and data list together. - """ - headers = list(result_headers(cl)) - num_sorted_fields = 0 - for h in headers: - if h['sortable'] and h['sorted']: - num_sorted_fields += 1 - return { - 'cl': cl, - 'result_hidden_fields': list(result_hidden_fields(cl)), - 'result_headers': headers, - 'num_sorted_fields': num_sorted_fields, - 'results': list(results(cl)), - } - - -@register.tag(name='result_list') -def result_list_tag(parser, token): - return InclusionAdminNode( - parser, token, - func=result_list, - template_name='change_list_results.html', - takes_context=False, - ) - - -def date_hierarchy(cl): - """ - Display the date hierarchy for date drill-down functionality. - """ - if cl.date_hierarchy: - field_name = cl.date_hierarchy - field = get_fields_from_path(cl.model, field_name)[-1] - if isinstance(field, models.DateTimeField): - dates_or_datetimes = 'datetimes' - qs_kwargs = {'is_dst': True} - else: - dates_or_datetimes = 'dates' - qs_kwargs = {} - year_field = '%s__year' % field_name - month_field = '%s__month' % field_name - day_field = '%s__day' % field_name - field_generic = '%s__' % field_name - year_lookup = cl.params.get(year_field) - month_lookup = cl.params.get(month_field) - day_lookup = cl.params.get(day_field) - - def link(filters): - return cl.get_query_string(filters, [field_generic]) - - if not (year_lookup or month_lookup or day_lookup): - # select appropriate start level - date_range = cl.queryset.aggregate(first=models.Min(field_name), - last=models.Max(field_name)) - if date_range['first'] and date_range['last']: - if dates_or_datetimes == 'datetimes': - date_range = { - k: timezone.localtime(v) if timezone.is_aware(v) else v - for k, v in date_range.items() - } - if date_range['first'].year == date_range['last'].year: - year_lookup = date_range['first'].year - if date_range['first'].month == date_range['last'].month: - month_lookup = date_range['first'].month - - if year_lookup and month_lookup and day_lookup: - day = datetime.date(int(year_lookup), int(month_lookup), int(day_lookup)) - return { - 'show': True, - 'back': { - 'link': link({year_field: year_lookup, month_field: month_lookup}), - 'title': capfirst(formats.date_format(day, 'YEAR_MONTH_FORMAT')) - }, - 'choices': [{'title': capfirst(formats.date_format(day, 'MONTH_DAY_FORMAT'))}] - } - elif year_lookup and month_lookup: - days = getattr(cl.queryset, dates_or_datetimes)(field_name, 'day', **qs_kwargs) - return { - 'show': True, - 'back': { - 'link': link({year_field: year_lookup}), - 'title': str(year_lookup) - }, - 'choices': [{ - 'link': link({year_field: year_lookup, month_field: month_lookup, day_field: day.day}), - 'title': capfirst(formats.date_format(day, 'MONTH_DAY_FORMAT')) - } for day in days] - } - elif year_lookup: - months = getattr(cl.queryset, dates_or_datetimes)(field_name, 'month', **qs_kwargs) - return { - 'show': True, - 'back': { - 'link': link({}), - 'title': _('All dates') - }, - 'choices': [{ - 'link': link({year_field: year_lookup, month_field: month.month}), - 'title': capfirst(formats.date_format(month, 'YEAR_MONTH_FORMAT')) - } for month in months] - } - else: - years = getattr(cl.queryset, dates_or_datetimes)(field_name, 'year', **qs_kwargs) - return { - 'show': True, - 'back': None, - 'choices': [{ - 'link': link({year_field: str(year.year)}), - 'title': str(year.year), - } for year in years] - } - - -@register.tag(name='date_hierarchy') -def date_hierarchy_tag(parser, token): - return InclusionAdminNode( - parser, token, - func=date_hierarchy, - template_name='date_hierarchy.html', - takes_context=False, - ) - - -def search_form(cl): - """ - Display a search form for searching the list. - """ - return { - 'cl': cl, - 'show_result_count': cl.result_count != cl.full_result_count, - 'search_var': SEARCH_VAR - } - - -@register.tag(name='search_form') -def search_form_tag(parser, token): - return InclusionAdminNode(parser, token, func=search_form, template_name='search_form.html', takes_context=False) - - -@register.simple_tag -def admin_list_filter(cl, spec): - tpl = get_template(spec.template) - return tpl.render({ - 'title': spec.title, - 'choices': list(spec.choices(cl)), - 'spec': spec, - }) - - -def admin_actions(context): - """ - Track the number of times the action field has been rendered on the page, - so we know which value to use. - """ - context['action_index'] = context.get('action_index', -1) + 1 - return context - - -@register.tag(name='admin_actions') -def admin_actions_tag(parser, token): - return InclusionAdminNode(parser, token, func=admin_actions, template_name='actions.html') - - -@register.tag(name='change_list_object_tools') -def change_list_object_tools_tag(parser, token): - """Display the row of change list object tools.""" - return InclusionAdminNode( - parser, token, - func=lambda context: context, - template_name='change_list_object_tools.html', - ) diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templatetags/admin_modify.py b/venv/lib/python3.8/site-packages/django/contrib/admin/templatetags/admin_modify.py deleted file mode 100644 index ee5f23b8..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templatetags/admin_modify.py +++ /dev/null @@ -1,116 +0,0 @@ -import json - -from django import template -from django.template.context import Context - -from .base import InclusionAdminNode - -register = template.Library() - - -def prepopulated_fields_js(context): - """ - Create a list of prepopulated_fields that should render Javascript for - the prepopulated fields for both the admin form and inlines. - """ - prepopulated_fields = [] - if 'adminform' in context: - prepopulated_fields.extend(context['adminform'].prepopulated_fields) - if 'inline_admin_formsets' in context: - for inline_admin_formset in context['inline_admin_formsets']: - for inline_admin_form in inline_admin_formset: - if inline_admin_form.original is None: - prepopulated_fields.extend(inline_admin_form.prepopulated_fields) - - prepopulated_fields_json = [] - for field in prepopulated_fields: - prepopulated_fields_json.append({ - "id": "#%s" % field["field"].auto_id, - "name": field["field"].name, - "dependency_ids": ["#%s" % dependency.auto_id for dependency in field["dependencies"]], - "dependency_list": [dependency.name for dependency in field["dependencies"]], - "maxLength": field["field"].field.max_length or 50, - "allowUnicode": getattr(field["field"].field, "allow_unicode", False) - }) - - context.update({ - 'prepopulated_fields': prepopulated_fields, - 'prepopulated_fields_json': json.dumps(prepopulated_fields_json), - }) - return context - - -@register.tag(name='prepopulated_fields_js') -def prepopulated_fields_js_tag(parser, token): - return InclusionAdminNode(parser, token, func=prepopulated_fields_js, template_name="prepopulated_fields_js.html") - - -def submit_row(context): - """ - Display the row of buttons for delete and save. - """ - add = context['add'] - change = context['change'] - is_popup = context['is_popup'] - save_as = context['save_as'] - show_save = context.get('show_save', True) - show_save_and_add_another = context.get('show_save_and_add_another', True) - show_save_and_continue = context.get('show_save_and_continue', True) - has_add_permission = context['has_add_permission'] - has_change_permission = context['has_change_permission'] - has_view_permission = context['has_view_permission'] - has_editable_inline_admin_formsets = context['has_editable_inline_admin_formsets'] - can_save = (has_change_permission and change) or (has_add_permission and add) or has_editable_inline_admin_formsets - can_save_and_add_another = ( - has_add_permission and - not is_popup and - (not save_as or add) and - can_save and - show_save_and_add_another - ) - can_save_and_continue = not is_popup and can_save and has_view_permission and show_save_and_continue - can_change = has_change_permission or has_editable_inline_admin_formsets - ctx = Context(context) - ctx.update({ - 'can_change': can_change, - 'show_delete_link': ( - not is_popup and context['has_delete_permission'] and - change and context.get('show_delete', True) - ), - 'show_save_as_new': not is_popup and has_change_permission and change and save_as, - 'show_save_and_add_another': can_save_and_add_another, - 'show_save_and_continue': can_save_and_continue, - 'show_save': show_save and can_save, - 'show_close': not(show_save and can_save) - }) - return ctx - - -@register.tag(name='submit_row') -def submit_row_tag(parser, token): - return InclusionAdminNode(parser, token, func=submit_row, template_name='submit_line.html') - - -@register.tag(name='change_form_object_tools') -def change_form_object_tools_tag(parser, token): - """Display the row of change form object tools.""" - return InclusionAdminNode( - parser, token, - func=lambda context: context, - template_name='change_form_object_tools.html', - ) - - -@register.filter -def cell_count(inline_admin_form): - """Return the number of cells used in a tabular inline.""" - count = 1 # Hidden cell with hidden 'id' field - for fieldset in inline_admin_form: - # Loop through all the fields (one per cell) - for line in fieldset: - for field in line: - count += 1 - if inline_admin_form.formset.can_delete: - # Delete checkbox - count += 1 - return count diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templatetags/admin_urls.py b/venv/lib/python3.8/site-packages/django/contrib/admin/templatetags/admin_urls.py deleted file mode 100644 index f817c254..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templatetags/admin_urls.py +++ /dev/null @@ -1,56 +0,0 @@ -from urllib.parse import parse_qsl, unquote, urlparse, urlunparse - -from django import template -from django.contrib.admin.utils import quote -from django.urls import Resolver404, get_script_prefix, resolve -from django.utils.http import urlencode - -register = template.Library() - - -@register.filter -def admin_urlname(value, arg): - return 'admin:%s_%s_%s' % (value.app_label, value.model_name, arg) - - -@register.filter -def admin_urlquote(value): - return quote(value) - - -@register.simple_tag(takes_context=True) -def add_preserved_filters(context, url, popup=False, to_field=None): - opts = context.get('opts') - preserved_filters = context.get('preserved_filters') - - parsed_url = list(urlparse(url)) - parsed_qs = dict(parse_qsl(parsed_url[4])) - merged_qs = {} - - if opts and preserved_filters: - preserved_filters = dict(parse_qsl(preserved_filters)) - - match_url = '/%s' % unquote(url).partition(get_script_prefix())[2] - try: - match = resolve(match_url) - except Resolver404: - pass - else: - current_url = '%s:%s' % (match.app_name, match.url_name) - changelist_url = 'admin:%s_%s_changelist' % (opts.app_label, opts.model_name) - if changelist_url == current_url and '_changelist_filters' in preserved_filters: - preserved_filters = dict(parse_qsl(preserved_filters['_changelist_filters'])) - - merged_qs.update(preserved_filters) - - if popup: - from django.contrib.admin.options import IS_POPUP_VAR - merged_qs[IS_POPUP_VAR] = 1 - if to_field: - from django.contrib.admin.options import TO_FIELD_VAR - merged_qs[TO_FIELD_VAR] = to_field - - merged_qs.update(parsed_qs) - - parsed_url[4] = urlencode(merged_qs) - return urlunparse(parsed_url) diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templatetags/base.py b/venv/lib/python3.8/site-packages/django/contrib/admin/templatetags/base.py deleted file mode 100644 index e98604ac..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templatetags/base.py +++ /dev/null @@ -1,33 +0,0 @@ -from inspect import getfullargspec - -from django.template.library import InclusionNode, parse_bits - - -class InclusionAdminNode(InclusionNode): - """ - Template tag that allows its template to be overridden per model, per app, - or globally. - """ - - def __init__(self, parser, token, func, template_name, takes_context=True): - self.template_name = template_name - params, varargs, varkw, defaults, kwonly, kwonly_defaults, _ = getfullargspec(func) - bits = token.split_contents() - args, kwargs = parse_bits( - parser, bits[1:], params, varargs, varkw, defaults, kwonly, - kwonly_defaults, takes_context, bits[0], - ) - super().__init__(func, takes_context, args, kwargs, filename=None) - - def render(self, context): - opts = context['opts'] - app_label = opts.app_label.lower() - object_name = opts.object_name.lower() - # Load template for this render call. (Setting self.filename isn't - # thread-safe.) - context.render_context[self] = context.template.engine.select_template([ - 'admin/%s/%s/%s' % (app_label, object_name, self.template_name), - 'admin/%s/%s' % (app_label, self.template_name), - 'admin/%s' % self.template_name, - ]) - return super().render(context) diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/templatetags/log.py b/venv/lib/python3.8/site-packages/django/contrib/admin/templatetags/log.py deleted file mode 100644 index 08c2345e..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/templatetags/log.py +++ /dev/null @@ -1,59 +0,0 @@ -from django import template -from django.contrib.admin.models import LogEntry - -register = template.Library() - - -class AdminLogNode(template.Node): - def __init__(self, limit, varname, user): - self.limit, self.varname, self.user = limit, varname, user - - def __repr__(self): - return "" - - def render(self, context): - if self.user is None: - entries = LogEntry.objects.all() - else: - user_id = self.user - if not user_id.isdigit(): - user_id = context[self.user].pk - entries = LogEntry.objects.filter(user__pk=user_id) - context[self.varname] = entries.select_related('content_type', 'user')[:int(self.limit)] - return '' - - -@register.tag -def get_admin_log(parser, token): - """ - Populate a template variable with the admin log for the given criteria. - - Usage:: - - {% get_admin_log [limit] as [varname] for_user [context_var_containing_user_obj] %} - - Examples:: - - {% get_admin_log 10 as admin_log for_user 23 %} - {% get_admin_log 10 as admin_log for_user user %} - {% get_admin_log 10 as admin_log %} - - Note that ``context_var_containing_user_obj`` can be a hard-coded integer - (user ID) or the name of a template context variable containing the user - object whose ID you want. - """ - tokens = token.contents.split() - if len(tokens) < 4: - raise template.TemplateSyntaxError( - "'get_admin_log' statements require two arguments") - if not tokens[1].isdigit(): - raise template.TemplateSyntaxError( - "First argument to 'get_admin_log' must be an integer") - if tokens[2] != 'as': - raise template.TemplateSyntaxError( - "Second argument to 'get_admin_log' must be 'as'") - if len(tokens) > 4: - if tokens[4] != 'for_user': - raise template.TemplateSyntaxError( - "Fourth argument to 'get_admin_log' must be 'for_user'") - return AdminLogNode(limit=tokens[1], varname=tokens[3], user=(tokens[5] if len(tokens) > 5 else None)) diff --git a/venv/lib/python3.8/site-packages/django/contrib/admin/tests.py b/venv/lib/python3.8/site-packages/django/contrib/admin/tests.py deleted file mode 100644 index 941d030d..00000000 --- a/venv/lib/python3.8/site-packages/django/contrib/admin/tests.py +++ /dev/null @@ -1,193 +0,0 @@ -from contextlib import contextmanager - -from django.contrib.staticfiles.testing import StaticLiveServerTestCase -from django.test import modify_settings -from django.test.selenium import SeleniumTestCase -from django.utils.deprecation import MiddlewareMixin -from django.utils.translation import gettext as _ - - -class CSPMiddleware(MiddlewareMixin): - """The admin's JavaScript should be compatible with CSP.""" - def process_response(self, request, response): - response['Content-Security-Policy'] = "default-src 'self'" - return response - - -@modify_settings(MIDDLEWARE={'append': 'django.contrib.admin.tests.CSPMiddleware'}) -class AdminSeleniumTestCase(SeleniumTestCase, StaticLiveServerTestCase): - - available_apps = [ - 'django.contrib.admin', - 'django.contrib.auth', - 'django.contrib.contenttypes', - 'django.contrib.sessions', - 'django.contrib.sites', - ] - - def wait_until(self, callback, timeout=10): - """ - Block the execution of the tests until the specified callback returns a - value that is not falsy. This method can be called, for example, after - clicking a link or submitting a form. See the other public methods that - call this function for more details. - """ - from selenium.webdriver.support.wait import WebDriverWait - WebDriverWait(self.selenium, timeout).until(callback) - - def wait_for_and_switch_to_popup(self, num_windows=2, timeout=10): - """ - Block until `num_windows` are present and are ready (usually 2, but can - be overridden in the case of pop-ups opening other pop-ups). Switch the - current window to the new pop-up. - """ - self.wait_until(lambda d: len(d.window_handles) == num_windows, timeout) - self.selenium.switch_to.window(self.selenium.window_handles[-1]) - self.wait_page_ready() - - def wait_for(self, css_selector, timeout=10): - """ - Block until a CSS selector is found on the page. - """ - from selenium.webdriver.common.by import By - from selenium.webdriver.support import expected_conditions as ec - self.wait_until( - ec.presence_of_element_located((By.CSS_SELECTOR, css_selector)), - timeout - ) - - def wait_for_text(self, css_selector, text, timeout=10): - """ - Block until the text is found in the CSS selector. - """ - from selenium.webdriver.common.by import By - from selenium.webdriver.support import expected_conditions as ec - self.wait_until( - ec.text_to_be_present_in_element( - (By.CSS_SELECTOR, css_selector), text), - timeout - ) - - def wait_for_value(self, css_selector, text, timeout=10): - """ - Block until the value is found in the CSS selector. - """ - from selenium.webdriver.common.by import By - from selenium.webdriver.support import expected_conditions as ec - self.wait_until( - ec.text_to_be_present_in_element_value( - (By.CSS_SELECTOR, css_selector), text), - timeout - ) - - def wait_until_visible(self, css_selector, timeout=10): - """ - Block until the element described by the CSS selector is visible. - """ - from selenium.webdriver.common.by import By - from selenium.webdriver.support import expected_conditions as ec - self.wait_until( - ec.visibility_of_element_located((By.CSS_SELECTOR, css_selector)), - timeout - ) - - def wait_until_invisible(self, css_selector, timeout=10): - """ - Block until the element described by the CSS selector is invisible. - """ - from selenium.webdriver.common.by import By - from selenium.webdriver.support import expected_conditions as ec - self.wait_until( - ec.invisibility_of_element_located((By.CSS_SELECTOR, css_selector)), - timeout - ) - - def wait_page_ready(self, timeout=10): - """ - Block until the page is ready. - """ - self.wait_until( - lambda driver: driver.execute_script('return document.readyState;') == 'complete', - timeout, - ) - - @contextmanager - def wait_page_loaded(self, timeout=10): - """ - Block until a new page has loaded and is ready. - """ - from selenium.webdriver.support import expected_conditions as ec - old_page = self.selenium.find_element_by_tag_name('html') - yield - # Wait for the next page to be loaded - self.wait_until(ec.staleness_of(old_page), timeout=timeout) - self.wait_page_ready(timeout=timeout) - - def admin_login(self, username, password, login_url='/admin/'): - """ - Log in to the admin. - """ - self.selenium.get('%s%s' % (self.live_server_url, login_url)) - username_input = self.selenium.find_element_by_name('username') - username_input.send_keys(username) - password_input = self.selenium.find_element_by_name('password') - password_input.send_keys(password) - login_text = _('Log in') - with self.wait_page_loaded(): - self.selenium.find_element_by_xpath('//input[@value="%s"]' % login_text).click() - - def select_option(self, selector, value): - """ - Select the